@bitgo-beta/sdk-core 8.2.1-beta.438 → 8.2.1-beta.439

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 (55) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/src/bitgo/index.d.ts +1 -1
  3. package/dist/src/bitgo/index.d.ts.map +1 -1
  4. package/dist/src/bitgo/index.js +2 -2
  5. package/dist/src/bitgo/lightning/custodial/iLightning.d.ts.map +1 -0
  6. package/dist/src/bitgo/lightning/custodial/iLightning.js +110 -0
  7. package/dist/src/bitgo/lightning/custodial/index.d.ts +5 -0
  8. package/dist/src/bitgo/lightning/custodial/index.d.ts.map +1 -0
  9. package/dist/src/bitgo/lightning/custodial/index.js +21 -0
  10. package/dist/src/bitgo/lightning/{lightning.d.ts → custodial/lightning.d.ts} +2 -2
  11. package/dist/src/bitgo/lightning/custodial/lightning.d.ts.map +1 -0
  12. package/dist/src/bitgo/lightning/custodial/lightning.js +111 -0
  13. package/dist/src/bitgo/lightning/custodial/lightningUtils.d.ts.map +1 -0
  14. package/dist/src/bitgo/lightning/custodial/lightningUtils.js +137 -0
  15. package/dist/src/bitgo/lightning/custodial/lnurlCodec.d.ts.map +1 -0
  16. package/dist/src/bitgo/lightning/custodial/lnurlCodec.js +28 -0
  17. package/dist/src/bitgo/lightning/index.d.ts +2 -4
  18. package/dist/src/bitgo/lightning/index.d.ts.map +1 -1
  19. package/dist/src/bitgo/lightning/index.js +3 -5
  20. package/dist/src/bitgo/lightning/signableJson.d.ts +17 -0
  21. package/dist/src/bitgo/lightning/signableJson.d.ts.map +1 -0
  22. package/dist/src/bitgo/lightning/signableJson.js +30 -0
  23. package/dist/src/bitgo/lightning/signature.d.ts +22 -0
  24. package/dist/src/bitgo/lightning/signature.d.ts.map +1 -0
  25. package/dist/src/bitgo/lightning/signature.js +60 -0
  26. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts.map +1 -1
  27. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.js +39 -45
  28. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +40 -0
  29. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -1
  30. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +90 -6
  31. package/dist/src/bitgo/wallet/iWallet.d.ts +1 -1
  32. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  33. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  34. package/dist/src/bitgo/wallet/wallet.d.ts +1 -1
  35. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  36. package/dist/src/bitgo/wallet/wallet.js +3 -3
  37. package/dist/test/unit/bitgo/lightning/signableJson.d.ts +2 -0
  38. package/dist/test/unit/bitgo/lightning/signableJson.d.ts.map +1 -0
  39. package/dist/test/unit/bitgo/lightning/signableJson.js +52 -0
  40. package/dist/test/unit/bitgo/lightning/signature.d.ts +2 -0
  41. package/dist/test/unit/bitgo/lightning/signature.d.ts.map +1 -0
  42. package/dist/test/unit/bitgo/lightning/signature.js +81 -0
  43. package/dist/tsconfig.tsbuildinfo +1 -1
  44. package/package.json +8 -8
  45. package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
  46. package/dist/src/bitgo/lightning/iLightning.js +0 -110
  47. package/dist/src/bitgo/lightning/lightning.d.ts.map +0 -1
  48. package/dist/src/bitgo/lightning/lightning.js +0 -111
  49. package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +0 -1
  50. package/dist/src/bitgo/lightning/lightningUtils.js +0 -137
  51. package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +0 -1
  52. package/dist/src/bitgo/lightning/lnurlCodec.js +0 -28
  53. /package/dist/src/bitgo/lightning/{iLightning.d.ts → custodial/iLightning.d.ts} +0 -0
  54. /package/dist/src/bitgo/lightning/{lightningUtils.d.ts → custodial/lightningUtils.d.ts} +0 -0
  55. /package/dist/src/bitgo/lightning/{lnurlCodec.d.ts → custodial/lnurlCodec.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,18 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [27.8.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-core@27.7.0...@bitgo/sdk-core@27.8.0) (2024-08-07)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **root:** replace MPCv2 SMC types for public-types ([cb4c68f](https://github.com/BitGo/BitGoJS/commit/cb4c68f08035da7742a740ee7e220117a2143805))
11
+
12
+ ### Features
13
+
14
+ - **abstract-cosmos:** add dkls support for cosmos hot wallet recovery ([da24a55](https://github.com/BitGo/BitGoJS/commit/da24a559d42ac0f2975fd03ec335f5e72bcd8f49))
15
+ - **sdk-coin-sui:** non-bitgo recovery ([a60531a](https://github.com/BitGo/BitGoJS/commit/a60531aabd0708d7f67226a0c5a4a4ea84f83d66))
16
+ - **sdk-lib-mpc:** support dep injection of dkls wasm in dsg ([a8c09ab](https://github.com/BitGo/BitGoJS/commit/a8c09abbe4feef656d80187969121e845f0c6656))
17
+
6
18
  # [27.7.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-core@27.6.0...@bitgo/sdk-core@27.7.0) (2024-07-30)
7
19
 
8
20
  ### Bug Fixes
@@ -14,7 +14,7 @@ export * from './inscriptionBuilder';
14
14
  export * from './internal';
15
15
  export * from './keychain';
16
16
  export * as bitcoin from './legacyBitcoin';
17
- export * from './lightning';
17
+ export * from './lightning/custodial';
18
18
  export * from './market';
19
19
  export * from './pendingApproval';
20
20
  export * from './recovery';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bitgo/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAE7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,EAAE,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bitgo/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAE7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,EAAE,GAAG,EAAE,CAAC"}
@@ -45,7 +45,7 @@ __exportStar(require("./inscriptionBuilder"), exports);
45
45
  __exportStar(require("./internal"), exports);
46
46
  __exportStar(require("./keychain"), exports);
47
47
  exports.bitcoin = __importStar(require("./legacyBitcoin"));
48
- __exportStar(require("./lightning"), exports);
48
+ __exportStar(require("./lightning/custodial"), exports);
49
49
  __exportStar(require("./market"), exports);
50
50
  __exportStar(require("./pendingApproval"), exports);
51
51
  __exportStar(require("./recovery"), exports);
@@ -56,4 +56,4 @@ __exportStar(require("./types"), exports);
56
56
  __exportStar(require("./utils"), exports);
57
57
  __exportStar(require("./wallet"), exports);
58
58
  __exportStar(require("./webhook"), exports);
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYml0Z28vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1REFBeUM7QUE0QmhDLGtDQUFXO0FBM0JwQiwyQ0FBNkI7QUE0QnBCLGtCQUFHO0FBMUJaLDZDQUEyQjtBQUMzQiw4Q0FBNEI7QUFDNUIsNENBQTBCO0FBQzFCLDhDQUE0QjtBQUM1QiwyQ0FBeUI7QUFDekIsZ0RBQThCO0FBQzlCLHlDQUF1QjtBQUN2QiwrQ0FBNkI7QUFDN0IsaURBQStCO0FBQy9CLDJDQUF5QjtBQUN6Qix1REFBcUM7QUFDckMsNkNBQTJCO0FBQzNCLDZDQUEyQjtBQUMzQiwyREFBMkM7QUFDM0MsOENBQTRCO0FBQzVCLDJDQUF5QjtBQUN6QixvREFBa0M7QUFDbEMsNkNBQTJCO0FBQzNCLDRDQUEwQjtBQUMxQiw0Q0FBMEI7QUFDMUIsd0NBQXNCO0FBQ3RCLDBDQUF3QjtBQUN4QiwwQ0FBd0I7QUFDeEIsMkNBQXlCO0FBQ3pCLDRDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGJpdGNvaW5VdGlsIGZyb20gJy4vYml0Y29pbic7XG5pbXBvcnQgKiBhcyB0c3MgZnJvbSAnLi90c3MnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Jhc2VDb2luJztcbmV4cG9ydCAqIGZyb20gJy4vYmlwMzJ1dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vYml0Y29pbic7XG5leHBvcnQgKiBmcm9tICcuL2JpdGdvQmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2NvaW5GYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vZWNkaCc7XG5leHBvcnQgKiBmcm9tICcuL2VudGVycHJpc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnNjcmlwdGlvbkJ1aWxkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcm5hbCc7XG5leHBvcnQgKiBmcm9tICcuL2tleWNoYWluJztcbmV4cG9ydCAqIGFzIGJpdGNvaW4gZnJvbSAnLi9sZWdhY3lCaXRjb2luJztcbmV4cG9ydCAqIGZyb20gJy4vbGlnaHRuaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vbWFya2V0JztcbmV4cG9ydCAqIGZyb20gJy4vcGVuZGluZ0FwcHJvdmFsJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjb3ZlcnknO1xuZXhwb3J0ICogZnJvbSAnLi9zdGFraW5nJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhZGluZyc7XG5leHBvcnQgKiBmcm9tICcuL3Rzcyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi93YWxsZXQnO1xuZXhwb3J0ICogZnJvbSAnLi93ZWJob29rJztcbmV4cG9ydCB7IGJpdGNvaW5VdGlsIH07XG5leHBvcnQgeyB0c3MgfTtcbiJdfQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYml0Z28vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1REFBeUM7QUE0QmhDLGtDQUFXO0FBM0JwQiwyQ0FBNkI7QUE0QnBCLGtCQUFHO0FBMUJaLDZDQUEyQjtBQUMzQiw4Q0FBNEI7QUFDNUIsNENBQTBCO0FBQzFCLDhDQUE0QjtBQUM1QiwyQ0FBeUI7QUFDekIsZ0RBQThCO0FBQzlCLHlDQUF1QjtBQUN2QiwrQ0FBNkI7QUFDN0IsaURBQStCO0FBQy9CLDJDQUF5QjtBQUN6Qix1REFBcUM7QUFDckMsNkNBQTJCO0FBQzNCLDZDQUEyQjtBQUMzQiwyREFBMkM7QUFDM0Msd0RBQXNDO0FBQ3RDLDJDQUF5QjtBQUN6QixvREFBa0M7QUFDbEMsNkNBQTJCO0FBQzNCLDRDQUEwQjtBQUMxQiw0Q0FBMEI7QUFDMUIsd0NBQXNCO0FBQ3RCLDBDQUF3QjtBQUN4QiwwQ0FBd0I7QUFDeEIsMkNBQXlCO0FBQ3pCLDRDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGJpdGNvaW5VdGlsIGZyb20gJy4vYml0Y29pbic7XG5pbXBvcnQgKiBhcyB0c3MgZnJvbSAnLi90c3MnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Jhc2VDb2luJztcbmV4cG9ydCAqIGZyb20gJy4vYmlwMzJ1dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vYml0Y29pbic7XG5leHBvcnQgKiBmcm9tICcuL2JpdGdvQmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2NvaW5GYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vZWNkaCc7XG5leHBvcnQgKiBmcm9tICcuL2VudGVycHJpc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnNjcmlwdGlvbkJ1aWxkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcm5hbCc7XG5leHBvcnQgKiBmcm9tICcuL2tleWNoYWluJztcbmV4cG9ydCAqIGFzIGJpdGNvaW4gZnJvbSAnLi9sZWdhY3lCaXRjb2luJztcbmV4cG9ydCAqIGZyb20gJy4vbGlnaHRuaW5nL2N1c3RvZGlhbCc7XG5leHBvcnQgKiBmcm9tICcuL21hcmtldCc7XG5leHBvcnQgKiBmcm9tICcuL3BlbmRpbmdBcHByb3ZhbCc7XG5leHBvcnQgKiBmcm9tICcuL3JlY292ZXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vc3Rha2luZyc7XG5leHBvcnQgKiBmcm9tICcuL3RyYWRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi90c3MnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vd2FsbGV0JztcbmV4cG9ydCAqIGZyb20gJy4vd2ViaG9vayc7XG5leHBvcnQgeyBiaXRjb2luVXRpbCB9O1xuZXhwb3J0IHsgdHNzIH07XG4iXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iLightning.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/lightning/custodial/iLightning.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
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 (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.LnurlPayResponse = exports.GetPaymentsResponse = exports.GetInvoicesResponse = exports.GetBalanceResponse = exports.PayInvoiceResponse = exports.DepositResponse = exports.CreateDepositAddressResponse = exports.CreateInvoiceResponse = exports.WithdrawResponse = exports.WPTransfer = exports.WPTransferEntry = void 0;
27
+ /* eslint-disable no-redeclare */
28
+ const t = __importStar(require("io-ts"));
29
+ exports.WPTransferEntry = t.partial({
30
+ wallet: t.string,
31
+ address: t.string,
32
+ value: t.number,
33
+ valueString: t.string,
34
+ isChange: t.boolean,
35
+ isPayGo: t.boolean,
36
+ token: t.string,
37
+ }, 'WPTransferEntry');
38
+ exports.WPTransfer = t.type({
39
+ entries: t.array(exports.WPTransferEntry),
40
+ id: t.string,
41
+ heightId: t.string,
42
+ type: t.string,
43
+ value: t.number,
44
+ state: t.string,
45
+ }, 'WPTransfer');
46
+ exports.WithdrawResponse = t.strict({
47
+ txid: t.string,
48
+ }, 'CreateWithdrawalResponse');
49
+ exports.CreateInvoiceResponse = t.strict({
50
+ value: t.number,
51
+ memo: t.union([t.string, t.undefined]),
52
+ paymentHash: t.string,
53
+ invoice: t.string,
54
+ walletId: t.string,
55
+ status: t.string,
56
+ expiresAt: t.string,
57
+ }, 'CreateInvoiceResponse');
58
+ exports.CreateDepositAddressResponse = t.strict({
59
+ address: t.string,
60
+ }, 'CreateDepositAddressResponse');
61
+ exports.DepositResponse = t.strict({
62
+ status: t.string,
63
+ transfer: exports.WPTransfer,
64
+ }, 'DepositResponse');
65
+ exports.PayInvoiceResponse = t.strict({
66
+ paymentHash: t.string,
67
+ transfer: exports.WPTransfer,
68
+ status: t.string,
69
+ }, 'PayInvoiceResponse');
70
+ exports.GetBalanceResponse = t.strict({
71
+ balance: t.number,
72
+ availableBalance: t.number,
73
+ maximumBalance: t.number,
74
+ }, 'GetBalanceResponse');
75
+ const InvoiceInfo = t.strict({
76
+ paymentHash: t.string,
77
+ walletId: t.string,
78
+ status: t.union([t.literal('open'), t.literal('settled'), t.literal('canceled')]),
79
+ value: t.number,
80
+ expiresAt: t.string,
81
+ createdAt: t.string,
82
+ updatedAt: t.string,
83
+ amtPaidSats: t.union([t.number, t.undefined]),
84
+ });
85
+ exports.GetInvoicesResponse = t.array(InvoiceInfo);
86
+ const PaymentInfo = t.strict({
87
+ paymentHash: t.string,
88
+ walletId: t.string,
89
+ status: t.union([t.literal('in_flight'), t.literal('settled'), t.literal('failed')]),
90
+ amount: t.union([t.number, t.undefined]),
91
+ invoice: t.string,
92
+ sendQueueId: t.string,
93
+ failureReason: t.union([t.string, t.undefined]),
94
+ fee: t.union([t.number, t.undefined]),
95
+ feeLimit: t.number,
96
+ paymentPreimage: t.union([t.string, t.undefined]),
97
+ destination: t.string,
98
+ });
99
+ exports.GetPaymentsResponse = t.array(PaymentInfo);
100
+ exports.LnurlPayResponse = t.strict({
101
+ tag: t.literal('payRequest'),
102
+ callback: t.string,
103
+ /** The maximum amount in millisatoshis we can pay for this LNRUL request */
104
+ maxSendable: t.number,
105
+ /** The minimum amount in millisatoshis we can pay for this LNRUL request */
106
+ minSendable: t.number,
107
+ /** A json array in string format describing the payment */
108
+ metadata: t.string,
109
+ });
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaUxpZ2h0bmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby9saWdodG5pbmcvY3VzdG9kaWFsL2lMaWdodG5pbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBaUM7QUFDakMseUNBQTJCO0FBOENkLFFBQUEsZUFBZSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQ3RDO0lBQ0UsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2hCLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNqQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDZixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDckIsUUFBUSxFQUFFLENBQUMsQ0FBQyxPQUFPO0lBQ25CLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTztJQUNsQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU07Q0FDaEIsRUFDRCxpQkFBaUIsQ0FDbEIsQ0FBQztBQUlXLFFBQUEsVUFBVSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzlCO0lBQ0UsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsdUJBQWUsQ0FBQztJQUNqQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDWixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDbEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2QsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2YsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNO0NBQ2hCLEVBQ0QsWUFBWSxDQUNiLENBQUM7QUFJVyxRQUFBLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQ3RDO0lBQ0UsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNO0NBQ2YsRUFDRCwwQkFBMEIsQ0FDM0IsQ0FBQztBQUlXLFFBQUEscUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FDM0M7SUFDRSxL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LEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9DLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckMsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2xCLGVBQWUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakQsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNO0NBQ3RCLENBQUMsQ0FBQztBQUVVLFFBQUEsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUkzQyxRQUFBLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDdkMsR0FBRyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO0lBQzVCLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNsQiw0RUFBNEU7SUFDNUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ3JCLDRFQUE0RTtJQUM1RSxXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDckIsMkRBQTJEO0lBQzNELFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTTtDQUNuQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZWRlY2xhcmUgKi9cbmltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUludm9pY2VQYXJhbXMge1xuICB2YWx1ZTogbnVtYmVyO1xuICBtZW1vPzogc3RyaW5nO1xuICBleHBpcnk/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRuaW5nV2l0aGRyYXdhbFBhcmFtcyB7XG4gIHZhbHVlOiBudW1iZXI7XG4gIGRlc3RpbmF0aW9uPzogc3RyaW5nO1xuICBzZXF1ZW5jZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0bmluZ0RlcG9zaXRQYXJhbXMge1xuICBhbW91bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXlJbnZvaWNlUGFyYW1zIHtcbiAgaW52b2ljZTogc3RyaW5nO1xuICBzZXF1ZW5jZUlkPzogc3RyaW5nO1xuICBjb21tZW50Pzogc3RyaW5nO1xuICBmZWVMaW1pdFJhdGlvPzogbnVtYmVyO1xuICBmZWVMaW1pdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRJbnZvaWNlc1F1ZXJ5IHtcbiAgc3RhdHVzPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbiAgc3RhcnREYXRlPzogc3RyaW5nO1xuICBlbmREYXRlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFBheW1lbnRzUXVlcnkge1xuICBzdGF0dXM/OiBzdHJpbmc7XG4gIGxpbWl0PzogbnVtYmVyO1xuICBzdGFydERhdGU/OiBzdHJpbmc7XG4gIGVuZERhdGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG51cmxQYXlQYXJhbXMge1xuICBjYWxsYmFjazogc3RyaW5nO1xuICBtaWxsaXNhdEFtb3VudDogc3RyaW5nO1xuICBtZXRhZGF0YTogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgV1BUcmFuc2ZlckVudHJ5ID0gdC5wYXJ0aWFsKFxuICB7XG4gICAgd2FsbGV0OiB0LnN0cmluZyxcbiAgICBhZGRyZXNzOiB0LnN0cmluZyxcbiAgICB2YWx1ZTogdC5udW1iZXIsXG4gICAgdmFsdWVTdHJpbmc6IHQuc3RyaW5nLFxuICAgIGlzQ2hhbmdlOiB0LmJvb2xlYW4sXG4gICAgaXNQYXlHbzogdC5ib29sZWFuLFxuICAgIHRva2VuOiB0LnN0cmluZyxcbiAgfSxcbiAgJ1dQVHJhbnNmZXJFbnRyeSdcbik7XG5cbmV4cG9ydCB0eXBlIFdQVHJhbnNmZXJFbnRyeSA9IHQuVHlwZU9mPHR5cGVvZiBXUFRyYW5zZmVyRW50cnk+O1xuXG5leHBvcnQgY29uc3QgV1BUcmFuc2ZlciA9IHQudHlwZShcbiAge1xuICAgIGVudHJpZXM6IHQuYXJyYXkoV1BUcmFuc2ZlckVudHJ5KSxcbiAgICBpZDogdC5zdHJpbmcsXG4gICAgaGVpZ2h0SWQ6IHQuc3RyaW5nLFxuICAgIHR5cGU6IHQuc3RyaW5nLFxuICAgIHZhbHVlOiB0Lm51bWJlcixcbiAgICBzdGF0ZTogdC5zdHJpbmcsXG4gIH0sXG4gICdXUFRyYW5zZmVyJ1xuKTtcblxuZXhwb3J0IHR5cGUgV1BUcmFuc2ZlciA9IHQuVHlwZU9mPHR5cGVvZiBXUFRyYW5zZmVyPjtcblxuZXhwb3J0IGNvbnN0IFdpdGhkcmF3UmVzcG9uc2UgPSB0LnN0cmljdChcbiAge1xuICAgIHR4aWQ6IHQuc3RyaW5nLFxuICB9LFxuICAnQ3JlYXRlV2l0aGRyYXdhbFJlc3BvbnNlJ1xuKTtcblxuZXhwb3J0IHR5cGUgV2l0aGRyYXdSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBXaXRoZHJhd1Jlc3BvbnNlPjtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUludm9pY2VSZXNwb25zZSA9IHQuc3RyaWN0KFxuICB7XG4gICAgdmFsdWU6IHQubnVtYmVyLFxuICAgIG1lbW86IHQudW5pb24oW3Quc3RyaW5nLCB0LnVuZGVmaW5lZF0pLFxuICAgIHBheW1lbnRIYXNoOiB0LnN0cmluZyxcbiAgICBpbnZvaWNlOiB0LnN0cmluZyxcbiAgICB3YWxsZXRJZDogdC5zdHJpbmcsXG4gICAgc3RhdHVzOiB0LnN0cmluZyxcbiAgICBleHBpcmVzQXQ6IHQuc3RyaW5nLFxuICB9LFxuICAnQ3JlYXRlSW52b2ljZVJlc3BvbnNlJ1xuKTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlSW52b2ljZVJlc3BvbnNlID0gdC5UeXBlT2Y8dHlwZW9mIENyZWF0ZUludm9pY2VSZXNwb25zZT47XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVEZXBvc2l0QWRkcmVzc1Jlc3BvbnNlID0gdC5zdHJpY3QoXG4gIHtcbiAgICBhZGRyZXNzOiB0LnN0cmluZyxcbiAgfSxcbiAgJ0NyZWF0ZURlcG9zaXRBZGRyZXNzUmVzcG9uc2UnXG4pO1xuXG5leHBvcnQgdHlwZSBDcmVhdGVEZXBvc2l0QWRkcmVzc1Jlc3BvbnNlID0gdC5UeXBlT2Y8dHlwZW9mIENyZWF0ZURlcG9zaXRBZGRyZXNzUmVzcG9uc2U+O1xuXG5leHBvcnQgY29uc3QgRGVwb3NpdFJlc3BvbnNlID0gdC5zdHJpY3QoXG4gIHtcbiAgICBzdGF0dXM6IHQuc3RyaW5nLFxuICAgIHRyYW5zZmVyOiBXUFRyYW5zZmVyLFxuICB9LFxuICAnRGVwb3NpdFJlc3BvbnNlJ1xuKTtcblxuZXhwb3J0IHR5cGUgRGVwb3NpdFJlc3BvbnNlID0gdC5UeXBlT2Y8dHlwZW9mIERlcG9zaXRSZXNwb25zZT47XG5cbmV4cG9ydCBjb25zdCBQYXlJbnZvaWNlUmVzcG9uc2UgPSB0LnN0cmljdChcbiAge1xuICAgIHBheW1lbnRIYXNoOiB0LnN0cmluZyxcbiAgICB0cmFuc2ZlcjogV1BUcmFuc2ZlcixcbiAgICBzdGF0dXM6IHQuc3RyaW5nLFxuICB9LFxuICAnUGF5SW52b2ljZVJlc3BvbnNlJ1xuKTtcblxuZXhwb3J0IHR5cGUgUGF5SW52b2ljZVJlc3BvbnNlID0gdC5UeXBlT2Y8dHlwZW9mIFBheUludm9pY2VSZXNwb25zZT47XG5cbmV4cG9ydCBjb25zdCBHZXRCYWxhbmNlUmVzcG9uc2UgPSB0LnN0cmljdChcbiAge1xuICAgIGJhbGFuY2U6IHQubnVtYmVyLFxuICAgIGF2YWlsYWJsZUJhbGFuY2U6IHQubnVtYmVyLFxuICAgIG1heGltdW1CYWxhbmNlOiB0Lm51bWJlcixcbiAgfSxcbiAgJ0dldEJhbGFuY2VSZXNwb25zZSdcbik7XG5cbmV4cG9ydCB0eXBlIEdldEJhbGFuY2VSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBHZXRCYWxhbmNlUmVzcG9uc2U+O1xuXG5jb25zdCBJbnZvaWNlSW5mbyA9IHQuc3RyaWN0KHtcbiAgcGF5bWVudEhhc2g6IHQuc3RyaW5nLFxuICB3YWxsZXRJZDogdC5zdHJpbmcsXG4gIHN0YXR1czogdC51bmlvbihbdC5saXRlcmFsKCdvcGVuJyksIHQubGl0ZXJhbCgnc2V0dGxlZCcpLCB0LmxpdGVyYWwoJ2NhbmNlbGVkJyldKSxcbiAgdmFsdWU6IHQubnVtYmVyLFxuICBleHBpcmVzQXQ6IHQuc3RyaW5nLFxuICBjcmVhdGVkQXQ6IHQuc3RyaW5nLFxuICB1cGRhdGVkQXQ6IHQuc3RyaW5nLFxuICBhbXRQYWlkU2F0czogdC51bmlvbihbdC5udW1iZXIsIHQudW5kZWZpbmVkXSksXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldEludm9pY2VzUmVzcG9uc2UgPSB0LmFycmF5KEludm9pY2VJbmZvKTtcblxuZXhwb3J0IHR5cGUgR2V0SW52b2ljZXNSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBHZXRJbnZvaWNlc1Jlc3BvbnNlPjtcblxuY29uc3QgUGF5bWVudEluZm8gPSB0LnN0cmljdCh7XG4gIHBheW1lbnRIYXNoOiB0LnN0cmluZyxcbiAgd2FsbGV0SWQ6IHQuc3RyaW5nLFxuICBzdGF0dXM6IHQudW5pb24oW3QubGl0ZXJhbCgnaW5fZmxpZ2h0JyksIHQubGl0ZXJhbCgnc2V0dGxlZCcpLCB0LmxpdGVyYWwoJ2ZhaWxlZCcpXSksXG4gIGFtb3VudDogdC51bmlvbihbdC5udW1iZXIsIHQudW5kZWZpbmVkXSksXG4gIGludm9pY2U6IHQuc3RyaW5nLFxuICBzZW5kUXVldWVJZDogdC5zdHJpbmcsXG4gIGZhaWx1cmVSZWFzb246IHQudW5pb24oW3Quc3RyaW5nLCB0LnVuZGVmaW5lZF0pLFxuICBmZWU6IHQudW5pb24oW3QubnVtYmVyLCB0LnVuZGVmaW5lZF0pLFxuICBmZWVMaW1pdDogdC5udW1iZXIsXG4gIHBheW1lbnRQcmVpbWFnZTogdC51bmlvbihbdC5zdHJpbmcsIHQudW5kZWZpbmVkXSksXG4gIGRlc3RpbmF0aW9uOiB0LnN0cmluZyxcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0UGF5bWVudHNSZXNwb25zZSA9IHQuYXJyYXkoUGF5bWVudEluZm8pO1xuXG5leHBvcnQgdHlwZSBHZXRQYXltZW50c1Jlc3BvbnNlID0gdC5UeXBlT2Y8dHlwZW9mIEdldFBheW1lbnRzUmVzcG9uc2U+O1xuXG5leHBvcnQgY29uc3QgTG51cmxQYXlSZXNwb25zZSA9IHQuc3RyaWN0KHtcbiAgdGFnOiB0LmxpdGVyYWwoJ3BheVJlcXVlc3QnKSxcbiAgY2FsbGJhY2s6IHQuc3RyaW5nLFxuICAvKiogVGhlIG1heGltdW0gYW1vdW50IGluIG1pbGxpc2F0b3NoaXMgd2UgY2FuIHBheSBmb3IgdGhpcyBMTlJVTCByZXF1ZXN0ICovXG4gIG1heFNlbmRhYmxlOiB0Lm51bWJlcixcbiAgLyoqIFRoZSBtaW5pbXVtIGFtb3VudCBpbiBtaWxsaXNhdG9zaGlzIHdlIGNhbiBwYXkgZm9yIHRoaXMgTE5SVUwgcmVxdWVzdCAqL1xuICBtaW5TZW5kYWJsZTogdC5udW1iZXIsXG4gIC8qKiBBIGpzb24gYXJyYXkgaW4gc3RyaW5nIGZvcm1hdCBkZXNjcmliaW5nIHRoZSBwYXltZW50ICovXG4gIG1ldGFkYXRhOiB0LnN0cmluZyxcbn0pO1xuXG5leHBvcnQgdHlwZSBMbnVybFBheVJlc3BvbnNlID0gdC5UeXBlT2Y8dHlwZW9mIExudXJsUGF5UmVzcG9uc2U+O1xuXG5leHBvcnQgdHlwZSBEZWNvZGVkTG51cmxQYXlSZXF1ZXN0ID0gTG51cmxQYXlSZXNwb25zZSAmIHtcbiAgLyoqXG4gICAqIEZyb20gaHR0cHM6Ly9naXRodWIuY29tL2ZpYXRqYWYvbG51cmwtcmZjL2Jsb2IvbHVkcy8wNi5tZCNwYXktdG8tc3RhdGljLXFybmZjbGlua1xuICAgKiBhIHBheW1lbnQgZGlhbG9nIG11c3QgaW5jbHVkZTogRG9tYWluIG5hbWUgZXh0cmFjdGVkIGZyb20gTE5VUkwgcXVlcnkgc3RyaW5nLlxuICAgKi9cbiAgZG9tYWluOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIElMaWdodG5pbmcge1xuICBjcmVhdGVJbnZvaWNlKHBhcmFtczogQ3JlYXRlSW52b2ljZVBhcmFtcyk6IFByb21pc2U8Q3JlYXRlSW52b2ljZVJlc3BvbnNlPjtcbiAgY3JlYXRlRGVwb3NpdEFkZHJlc3MoKTogUHJvbWlzZTxDcmVhdGVEZXBvc2l0QWRkcmVzc1Jlc3BvbnNlPjtcbiAgcGF5SW52b2ljZShwYXJhbXM6IFBheUludm9pY2VQYXJhbXMpOiBQcm9taXNlPFBheUludm9pY2VSZXNwb25zZT47XG4gIGdldEJhbGFuY2UoKTogUHJvbWlzZTxHZXRCYWxhbmNlUmVzcG9uc2U+O1xuICB3aXRoZHJhdyhwYXJhbXM6IExpZ2h0bmluZ1dpdGhkcmF3YWxQYXJhbXMpOiBQcm9taXNlPFdpdGhkcmF3UmVzcG9uc2U+O1xuICBkZXBvc2l0KHBhcmFtczogTGlnaHRuaW5nRGVwb3NpdFBhcmFtcyk6IFByb21pc2U8RGVwb3NpdFJlc3BvbnNlPjtcbiAgZ2V0SW52b2ljZXMocXVlcnk/OiBHZXRJbnZvaWNlc1F1ZXJ5KTogUHJvbWlzZTxHZXRJbnZvaWNlc1Jlc3BvbnNlPjtcbiAgZGVjb2RlTG51cmxQYXkobG51cmw6IHN0cmluZyk6IFByb21pc2U8RGVjb2RlZExudXJsUGF5UmVxdWVzdD47XG4gIGZldGNoTG51cmxQYXlJbnZvaWNlKHBhcmFtczogTG51cmxQYXlQYXJhbXMpOiBQcm9taXNlPHN0cmluZz47XG4gIGdldFBheW1lbnRzKHF1ZXJ5PzogR2V0UGF5bWVudHNRdWVyeSk6IFByb21pc2U8R2V0UGF5bWVudHNSZXNwb25zZT47XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export * from './iLightning';
2
+ export * from './lightning';
3
+ export * from './lnurlCodec';
4
+ export * from './lightningUtils';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -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 === null || query === void 0 ? void 0 : query.status,
72
+ limit: query === null || query === void 0 ? void 0 : query.limit,
73
+ startDate: query === null || query === void 0 ? void 0 : query.startDate,
74
+ endDate: query === null || query === void 0 ? void 0 : 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 === null || query === void 0 ? void 0 : query.status;
92
+ queryParams.limit = query === null || query === void 0 ? void 0 : query.limit;
93
+ queryParams.startDate = query === null || query === void 0 ? void 0 : query.startDate;
94
+ queryParams.endDate = query === null || query === void 0 ? void 0 : 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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O1FBQ2pDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFNBQVMsQ0FBQztRQUN6QyxXQUFXLENBQUMsT0FBTyxHQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxPQUFPLENBQUM7UUFFckMsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSzthQUMxQixHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUM7YUFDM0IsS0FBSyxDQUFDLFdBQVcsQ0FBQzthQUNsQixNQUFNLEVBQUUsQ0FBQztRQUNaLE9BQU8sSUFBQSxxQkFBWSxFQUFDLGdDQUFtQixDQUFDLElBQUksRUFBRSxnQ0FBbUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNsRixNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFhO1FBQ2pDLE9BQU8sSUFBQSwrQkFBYyxFQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxNQUFzQjtRQUNoRCxPQUFPLElBQUEscUNBQW9CLEVBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQztDQUNGO0FBNUhELDhCQTRIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIElMaWdodG5pbmcsXG4gIENyZWF0ZUludm9pY2VQYXJhbXMsXG4gIFBheUludm9pY2VQYXJhbXMsXG4gIExpZ2h0bmluZ1dpdGhkcmF3YWxQYXJhbXMsXG4gIExpZ2h0bmluZ0RlcG9zaXRQYXJhbXMsXG4gIExudXJsUGF5UGFyYW1zLFxuICBDcmVhdGVJbnZvaWNlUmVzcG9uc2UsXG4gIENyZWF0ZURlcG9zaXRBZGRyZXNzUmVzcG9uc2UsXG4gIFBheUludm9pY2VSZXNwb25zZSxcbiAgR2V0QmFsYW5jZVJlc3BvbnNlLFxuICBXaXRoZHJhd1Jlc3BvbnNlLFxuICBEZXBvc2l0UmVzcG9uc2UsXG4gIEdldEludm9pY2VzUXVlcnksXG4gIEdldEludm9pY2VzUmVzcG9uc2UsXG4gIERlY29kZWRMbnVybFBheVJlcXVlc3QsXG4gIEdldFBheW1lbnRzUXVlcnksXG4gIEdldFBheW1lbnRzUmVzcG9uc2UsXG59IGZyb20gJy4vaUxpZ2h0bmluZyc7XG5pbXBvcnQgeyBkZWNvZGVMbnVybFBheSwgZmV0Y2hMbnVybFBheUludm9pY2UgfSBmcm9tICcuL2xpZ2h0bmluZ1V0aWxzJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uLy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBJV2FsbGV0IH0gZnJvbSAnLi4vLi4vd2FsbGV0JztcbmltcG9ydCB7IGRlY29kZU9yRWxzZSB9IGZyb20gJy4uLy4uL3V0aWxzL2RlY29kZSc7XG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0byc7XG5cbmV4cG9ydCBjbGFzcyBMaWdodG5pbmcgaW1wbGVtZW50cyBJTGlnaHRuaW5nIHtcbiAgcHJpdmF0ZSByZWFkb25seSBiaXRnbzogQml0R29CYXNlO1xuICBwcml2YXRlIHJlYWRvbmx5IHdhbGxldDogSVdhbGxldDtcbiAgcHJpdmF0ZSByZWFkb25seSB1cmw6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCB3YWxsZXQ6IElXYWxsZXQpIHtcbiAgICB0aGlzLmJpdGdvID0gYml0Z287XG4gICAgdGhpcy53YWxsZXQgPSB3YWxsZXQ7XG4gICAgdGhpcy51cmwgPSB0aGlzLmJpdGdvLnVybChgL3dhbGxldC8ke3RoaXMud2FsbGV0LmlkKCl9L2xpZ2h0bmluZ2AsIDIpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNyZWF0ZUludm9pY2UocGFyYW1zOiBDcmVhdGVJbnZvaWNlUGFyYW1zKTogUHJvbWlzZTxDcmVhdGVJbnZvaWNlUmVzcG9uc2U+IHtcbiAgICBjb25zdCBib2R5ID0gYXdhaXQgdGhpcy5iaXRnb1xuICAgICAgLnBvc3QodGhpcy51cmwgKyAnL2ludm9pY2UnKVxuICAgICAgLnNlbmQocGFyYW1zKVxuICAgICAgLnJlc3VsdCgpO1xuXG4gICAgcmV0dXJuIGRlY29kZU9yRWxzZShDcmVhdGVJbnZvaWNlUmVzcG9uc2UubmFtZSwgQ3JlYXRlSW52b2ljZVJlc3BvbnNlLCBib2R5LCAoZXJyb3JzKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGVycm9yKHMpIHBhcnNpbmcgcmVzcG9uc2UgYm9keTogJHtlcnJvcnN9YCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY3JlYXRlRGVwb3NpdEFkZHJlc3MoKTogUHJvbWlzZTxDcmVhdGVEZXBvc2l0QWRkcmVzc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgYm9keSA9IGF3YWl0IHRoaXMuYml0Z28ucG9zdCh0aGlzLnVybCArICcvYWRkcmVzcycpLnJlc3VsdCgpO1xuICAgIHJldHVybiBkZWNvZGVPckVsc2UoQ3JlYXRlRGVwb3NpdEFkZHJlc3NSZXNwb25zZS5uYW1lLCBDcmVhdGVEZXBvc2l0QWRkcmVzc1Jlc3BvbnNlLCBib2R5LCAoZXJyb3JzKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGVycm9yKHMpIHBhcnNpbmcgcmVzcG9uc2UgYm9keTogJHtlcnJvcnN9YCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcGF5SW52b2ljZShwYXJhbXM6IFBheUludm9pY2VQYXJhbXMpOiBQcm9taXNlPFBheUludm9pY2VSZXNwb25zZT4ge1xuICAgIGNvbnN0IGJvZHkgPSBhd2FpdCB0aGlzLmJpdGdvXG4gICAgICAucG9zdCh0aGlzLnVybCArICcvcGF5bWVudCcpXG4gICAgICAuc2VuZChwYXJhbXMpXG4gICAgICAucmVzdWx0KCk7XG5cbiAgICByZXR1cm4gZGVjb2RlT3JFbHNlKFBheUludm9pY2VSZXNwb25zZS5uYW1lLCBQYXlJbnZvaWNlUmVzcG9uc2UsIGJvZHksIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyByZXNwb25zZSBib2R5OiAke2Vycm9yc31gKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRCYWxhbmNlKCk6IFByb21pc2U8R2V0QmFsYW5jZVJlc3BvbnNlPiB7XG4gICAgY29uc3QgYm9keSA9IGF3YWl0IHRoaXMuYml0Z28uZ2V0KHRoaXMudXJsICsgJy9iYWxhbmNlJykucmVzdWx0KCk7XG4gICAgcmV0dXJuIGRlY29kZU9yRWxzZShHZXRCYWxhbmNlUmVzcG9uc2UubmFtZSwgR2V0QmFsYW5jZVJlc3BvbnNlLCBib2R5LCAoZXJyb3JzKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGVycm9yKHMpIHBhcnNpbmcgcmVzcG9uc2UgYm9keTogJHtlcnJvcnN9YCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgd2l0aGRyYXcocGFyYW1zOiBMaWdodG5pbmdXaXRoZHJhd2FsUGFyYW1zKTogUHJvbWlzZTxXaXRoZHJhd1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gcGFyYW1zO1xuICAgIGxldCB7IGRlc3RpbmF0aW9uLCBzZXF1ZW5jZUlkIH0gPSBwYXJhbXM7XG5cbiAgICBpZiAoZGVzdGluYXRpb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgZGVzdGluYXRpb24gPSAoYXdhaXQgdGhpcy53YWxsZXQuY3JlYXRlQWRkcmVzcygpKS5hZGRyZXNzO1xuICAgIH1cblxuICAgIGlmIChzZXF1ZW5jZUlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHNlcXVlbmNlSWQgPSByYW5kb21CeXRlcygxNikudG9TdHJpbmcoJ2hleCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGJvZHkgPSBhd2FpdCB0aGlzLmJpdGdvXG4gICAgICAucG9zdCh0aGlzLnVybCArICcvd2l0aGRyYXdhbCcpXG4gICAgICAuc2VuZCh7IHZhbHVlLCBkZXN0aW5hdGlvbiwgc2VxdWVuY2VJZCB9KVxuICAgICAgLnJlc3VsdCgpO1xuICAgIHJldHVybiBkZWNvZGVPckVsc2UoV2l0aGRyYXdSZXNwb25zZS5uYW1lLCBXaXRoZHJhd1Jlc3BvbnNlLCBib2R5LCAoZXJyb3JzKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGVycm9yKHMpIHBhcnNpbmcgcmVzcG9uc2UgYm9keTogJHtlcnJvcnN9YCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGVwb3NpdChwYXJhbXM6IExpZ2h0bmluZ0RlcG9zaXRQYXJhbXMpOiBQcm9taXNlPERlcG9zaXRSZXNwb25zZT4ge1xuICAgIGNvbnN0IHsgYW1vdW50IH0gPSBwYXJhbXM7XG4gICAgY29uc3QgYWRkcmVzcyA9IChhd2FpdCB0aGlzLmNyZWF0ZURlcG9zaXRBZGRyZXNzKCkpLmFkZHJlc3M7XG5cbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLndhbGxldC5zZW5kKHsgYW1vdW50LCBhZGRyZXNzIH0pO1xuXG4gICAgcmV0dXJuIGRlY29kZU9yRWxzZShEZXBvc2l0UmVzcG9uc2UubmFtZSwgRGVwb3NpdFJlc3BvbnNlLCByZXMsIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyByZXNwb25zZSBib2R5OiAke2Vycm9yc31gKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRJbnZvaWNlcyhxdWVyeT86IEdldEludm9pY2VzUXVlcnkpOiBQcm9taXNlPEdldEludm9pY2VzUmVzcG9uc2U+IHtcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHtcbiAgICAgIHN0YXR1czogcXVlcnk/LnN0YXR1cyxcbiAgICAgIGxpbWl0OiBxdWVyeT8ubGltaXQsXG4gICAgICBzdGFydERhdGU6IHF1ZXJ5Py5zdGFydERhdGUsXG4gICAgICBlbmREYXRlOiBxdWVyeT8uZW5kRGF0ZSxcbiAgICB9O1xuXG4gICAgY29uc3QgYm9keSA9IGF3YWl0IHRoaXMuYml0Z29cbiAgICAgIC5nZXQodGhpcy51cmwgKyAnL2ludm9pY2VzJylcbiAgICAgIC5xdWVyeShxdWVyeVBhcmFtcylcbiAgICAgIC5yZXN1bHQoKTtcbiAgICByZXR1cm4gZGVjb2RlT3JFbHNlKEdldEludm9pY2VzUmVzcG9uc2UubmFtZSwgR2V0SW52b2ljZXNSZXNwb25zZSwgYm9keSwgKGVycm9ycykgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBlcnJvcihzKSBwYXJzaW5nIHJlc3BvbnNlIGJvZHk6ICR7ZXJyb3JzfWApO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGZldGNoZXMgbGlnaHRuaW5nIHBheW1lbnRzIGJ5IHN0YXR1cywgbGltaXQsIHN0YXJ0RGF0ZSBhbmQgZW5kRGF0ZVxuICAgKiBAcGFyYW0gcXVlcnlcbiAgICogQHJldHVybiB7R2V0UGF5bWVudHNSZXNwb25zZX1cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRQYXltZW50cyhxdWVyeT86IEdldFBheW1lbnRzUXVlcnkpOiBQcm9taXNlPEdldFBheW1lbnRzUmVzcG9uc2U+IHtcbiAgICBjb25zdCBxdWVyeVBhcmFtczogeyBzdGF0dXM/OiBzdHJpbmc7IGxpbWl0PzogbnVtYmVyOyBzdGFydERhdGU/OiBzdHJpbmc7IGVuZERhdGU/OiBzdHJpbmcgfSA9IHt9O1xuICAgIHF1ZXJ5UGFyYW1zLnN0YXR1cyA9IHF1ZXJ5Py5zdGF0dXM7XG4gICAgcXVlcnlQYXJhbXMubGltaXQgPSBxdWVyeT8ubGltaXQ7XG4gICAgcXVlcnlQYXJhbXMuc3RhcnREYXRlID0gcXVlcnk/LnN0YXJ0RGF0ZTtcbiAgICBxdWVyeVBhcmFtcy5lbmREYXRlID0gcXVlcnk/LmVuZERhdGU7XG5cbiAgICBjb25zdCBib2R5ID0gYXdhaXQgdGhpcy5iaXRnb1xuICAgICAgLmdldCh0aGlzLnVybCArICcvcGF5bWVudHMnKVxuICAgICAgLnF1ZXJ5KHF1ZXJ5UGFyYW1zKVxuICAgICAgLnJlc3VsdCgpO1xuICAgIHJldHVybiBkZWNvZGVPckVsc2UoR2V0UGF5bWVudHNSZXNwb25zZS5uYW1lLCBHZXRQYXltZW50c1Jlc3BvbnNlLCBib2R5LCAoZXJyb3JzKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGVycm9yKHMpIHBhcnNpbmcgcmVzcG9uc2UgYm9keTogJHtlcnJvcnN9YCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZGVjb2RlTG51cmxQYXkobG51cmw6IHN0cmluZyk6IFByb21pc2U8RGVjb2RlZExudXJsUGF5UmVxdWVzdD4ge1xuICAgIHJldHVybiBkZWNvZGVMbnVybFBheShsbnVybCk7XG4gIH1cblxuICBwdWJsaWMgZmV0Y2hMbnVybFBheUludm9pY2UocGFyYW1zOiBMbnVybFBheVBhcmFtcyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGZldGNoTG51cmxQYXlJbnZvaWNlKHBhcmFtcyk7XG4gIH1cbn1cbiJdfQ==
@@ -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,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"}
@@ -0,0 +1,137 @@
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 (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.parseLightningInvoice = exports.validateLnurlInvoice = exports.fetchLnurlPayInvoice = exports.decodeLnurlPay = void 0;
27
+ const bolt11 = __importStar(require("bolt11"));
28
+ const crypto = __importStar(require("crypto"));
29
+ const request = __importStar(require("superagent"));
30
+ const iLightning_1 = require("./iLightning");
31
+ const lnurlCodec_1 = require("./lnurlCodec");
32
+ const decode_1 = require("../../utils/decode");
33
+ /**
34
+ * Decodes an LNURL-pay request and makes an HTTP request to the decoded url
35
+ * to retrieve details for the requested payment.
36
+ * @param lnurl A bech32 encoded LNURL-pay request string
37
+ * @returns {DecodedLnurlPayRequest} An LNURL-pay request message specifying
38
+ * a min and max amount for the payment, metadata describing what the payment
39
+ * is for, and a callback that can be used to fetch a lightning invoice for
40
+ * the payment.
41
+ */
42
+ async function decodeLnurlPay(lnurl) {
43
+ const url = (0, lnurlCodec_1.decodeLnurl)(lnurl);
44
+ const { body } = await request.get(url);
45
+ const decodedRes = (0, decode_1.decodeOrElse)(iLightning_1.LnurlPayResponse.name, iLightning_1.LnurlPayResponse, body, (errors) => {
46
+ throw new Error(`error(s) parsing lnurl response: ${errors}`);
47
+ });
48
+ const domain = new URL(url).hostname;
49
+ return {
50
+ ...decodedRes,
51
+ domain,
52
+ };
53
+ }
54
+ exports.decodeLnurlPay = decodeLnurlPay;
55
+ /**
56
+ * Fetches a lightning invoice from an LNURL-pay callback server for a specified
57
+ * amount of millisatoshis.
58
+ * @param params {LnurlPayParams} An object specifying an amount and a callback
59
+ * url with which to request a lightning invoice for an LNURL-pay request.
60
+ * @returns {string} A BOLT #11 encoded lightning invoice
61
+ */
62
+ async function fetchLnurlPayInvoice(params) {
63
+ const { callback, millisatAmount, metadata } = params;
64
+ const { pr: invoice } = callback.includes('?')
65
+ ? (await request.get(callback + `&amount=${millisatAmount}`)).body
66
+ : (await request.get(callback).query({ amount: millisatAmount })).body;
67
+ const parsedInvoice = parseLightningInvoice(invoice);
68
+ validateLnurlInvoice(parsedInvoice, millisatAmount, metadata);
69
+ return invoice;
70
+ }
71
+ exports.fetchLnurlPayInvoice = fetchLnurlPayInvoice;
72
+ function getNetworkForInvoice(invoice) {
73
+ if (invoice.startsWith('lntbs')) {
74
+ // signet invoices are not supported by our bolt11 dependency
75
+ // because the `tbs` prefix used for the invoice does not match the `tb`
76
+ // prefix used by on-chain signet addresses
77
+ // see: https://github.com/bitcoinjs/bolt11/pull/58#issuecomment-1106495709
78
+ // we can still decode the invoice however using a custom network
79
+ return {
80
+ bech32: 'tbs',
81
+ pubKeyHash: 0x6f,
82
+ scriptHash: 0xc4,
83
+ validWitnessVersions: [0, 1],
84
+ };
85
+ }
86
+ return undefined;
87
+ }
88
+ /**
89
+ * @param {ParsedLightningInvoice} invoice - a parsed lightning invoice
90
+ * @param {number} amount - amount intended to pay for the invoice
91
+ * @param {string} metadata - metadata that is used to verify the fetched invoice
92
+ * @throws error for invoice that does not match with amount and metadata
93
+ */
94
+ function validateLnurlInvoice(invoice, millisatAmount, metadata) {
95
+ const { millisatoshis, descriptionHash } = invoice;
96
+ if (millisatoshis !== millisatAmount) {
97
+ throw new Error('amount of invoice does not match with given amount');
98
+ }
99
+ const hash = crypto.createHash('sha256').update(metadata).digest('hex');
100
+ if (descriptionHash !== hash) {
101
+ throw new Error('invoice h tag does not match with hash of metadata');
102
+ }
103
+ }
104
+ exports.validateLnurlInvoice = validateLnurlInvoice;
105
+ /**
106
+ * @param {unknown} invoiceStr - a lightning invoice
107
+ * @return {ParsedLightningInvoice}
108
+ * @throws error for invalid lightning invoice
109
+ */
110
+ function parseLightningInvoice(invoiceStr) {
111
+ var _a, _b;
112
+ if (typeof invoiceStr !== 'string') {
113
+ throw new Error('invoice is malformed');
114
+ }
115
+ const decodedInvoice = bolt11.decode(invoiceStr, getNetworkForInvoice(invoiceStr));
116
+ if (decodedInvoice.network === undefined) {
117
+ throw new Error('invoice network is invalid');
118
+ }
119
+ const { millisatoshis, tags, payeeNodeKey } = decodedInvoice;
120
+ const paymentHash = (_a = tags.find((tag) => tag.tagName === 'payment_hash')) === null || _a === void 0 ? void 0 : _a.data;
121
+ if (paymentHash === undefined || typeof paymentHash !== 'string') {
122
+ throw new Error('invoice payment hash is invalid');
123
+ }
124
+ if (payeeNodeKey === undefined) {
125
+ throw new Error('invoice payee pub key is invalid');
126
+ }
127
+ if (millisatoshis === undefined) {
128
+ throw new Error('invoice millisatoshis amount is invalid');
129
+ }
130
+ const descriptionHash = (_b = tags.find((tag) => tag.tagName === 'purpose_commit_hash')) === null || _b === void 0 ? void 0 : _b.data;
131
+ if (descriptionHash !== undefined && typeof descriptionHash !== 'string') {
132
+ throw new Error('invoice description hash is invalid');
133
+ }
134
+ return { millisatoshis, paymentHash, payeeNodeKey, descriptionHash };
135
+ }
136
+ exports.parseLightningInvoice = parseLightningInvoice;
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vbGlnaHRuaW5nL2N1c3RvZGlhbC9saWdodG5pbmdVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQUNqQywrQ0FBaUM7QUFDakMsb0RBQXNDO0FBQ3RDLDZDQUF3RjtBQUN4Riw2Q0FBMkM7QUFDM0MsK0NBQWtEO0FBZ0JsRDs7Ozs7Ozs7R0FRRztBQUNJLEtBQUssVUFBVSxjQUFjLENBQUMsS0FBYTtJQUNoRCxNQUFNLEdBQUcsR0FBRyxJQUFBLHdCQUFXLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QyxNQUFNLFVBQVUsR0FBRyxJQUFBLHFCQUFZLEVBQUMsNkJBQWdCLENBQUMsSUFBSSxFQUFFLDZCQUFnQixFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ3hGLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQyxDQUFDLENBQUM7SUFDSCxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFFckMsT0FBTztRQUNMLEdBQUcsVUFBVTtRQUNiLE1BQU07S0FDUCxDQUFDO0FBQ0osQ0FBQztBQVpELHdDQVlDO0FBRUQ7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLG9CQUFvQixDQUFDLE1BQXNCO0lBQy9ELE1BQU0sRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUN0RCxNQUFNLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsV0FBVyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUNsRSxDQUFDLENBQUMsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDekUsTUFBTSxhQUFhLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckQsb0JBQW9CLENBQUMsYUFBYSxFQUFFLGNBQWMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUU5RCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBVEQsb0RBU0M7QUFFRCxTQUFTLG9CQUFvQixDQUFDLE9BQWU7SUFDM0MsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQy9CLDZEQUE2RDtRQUM3RCx3RUFBd0U7UUFDeEUsMkNBQTJDO1FBQzNDLDJFQUEyRTtRQUMzRSxpRUFBaUU7UUFDakUsT0FBTztZQUNMLE1BQU0sRUFBRSxLQUFLO1lBQ2IsVUFBVSxFQUFFLElBQUk7WUFDaEIsVUFBVSxFQUFFLElBQUk7WUFDaEIsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzdCLENBQUM7S0FDSDtJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLG9CQUFvQixDQUFDLE9BQStCLEVBQUUsY0FBc0IsRUFBRSxRQUFnQjtJQUM1RyxNQUFNLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUNuRCxJQUFJLGFBQWEsS0FBSyxjQUFjLEVBQUU7UUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO0tBQ3ZFO0lBRUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hFLElBQUksZUFBZSxLQUFLLElBQUksRUFBRTtRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7S0FDdkU7QUFDSCxDQUFDO0FBVkQsb0RBVUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsVUFBbUI7O0lBQ3ZELElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFO1FBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztLQUN6QztJQUVELE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFFbkYsSUFBSSxjQUFjLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRTtRQUN4QyxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7S0FDL0M7SUFFRCxNQUFNLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsR0FBRyxjQUFjLENBQUM7SUFFN0QsTUFBTSxXQUFXLEdBQUcsTUFBQSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxLQUFLLGNBQWMsQ0FBQywwQ0FBRSxJQUFJLENBQUM7SUFDN0UsSUFBSSxXQUFXLEtBQUssU0FBUyxJQUFJLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFBRTtRQUNoRSxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7S0FDcEQ7SUFDRCxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7UUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0tBQ3JEO0lBQ0QsSUFBSSxhQUFhLEtBQUssU0FBUyxFQUFFO1FBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztLQUM1RDtJQUVELE1BQU0sZUFBZSxHQUFHLE1BQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sS0FBSyxxQkFBcUIsQ0FBQywwQ0FBRSxJQUFJLENBQUM7SUFDeEYsSUFBSSxlQUFlLEtBQUssU0FBUyxJQUFJLE9BQU8sZUFBZSxLQUFLLFFBQVEsRUFBRTtRQUN4RSxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7S0FDeEQ7SUFFRCxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLENBQUM7QUFDdkUsQ0FBQztBQTlCRCxzREE4QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBib2x0MTEgZnJvbSAnYm9sdDExJztcbmltcG9ydCAqIGFzIGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0ICogYXMgcmVxdWVzdCBmcm9tICdzdXBlcmFnZW50JztcbmltcG9ydCB7IERlY29kZWRMbnVybFBheVJlcXVlc3QsIExudXJsUGF5UGFyYW1zLCBMbnVybFBheVJlc3BvbnNlIH0gZnJvbSAnLi9pTGlnaHRuaW5nJztcbmltcG9ydCB7IGRlY29kZUxudXJsIH0gZnJvbSAnLi9sbnVybENvZGVjJztcbmltcG9ydCB7IGRlY29kZU9yRWxzZSB9IGZyb20gJy4uLy4uL3V0aWxzL2RlY29kZSc7XG5cbmV4cG9ydCB0eXBlIFBhcnNlZExpZ2h0bmluZ0ludm9pY2UgPSB7XG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIG1pbGxpc2F0b3NoaSByZXF1ZXN0ZWQgYnkgdGhpcyBpbnZvaWNlLiBJZiBudWxsIHRoZW5cbiAgICogdGhlIGludm9pY2UgZG9lcyBub3Qgc3BlY2lmeSBhbiBhbW91bnQgYW5kIHdpbGwgYWNjZXB0IGFueSBwYXltZW50LlxuICAgKi9cbiAgbWlsbGlzYXRvc2hpczogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIFRoZSBoZXggZW5jb2RlZCBwYXltZW50IGhhc2ggZm9yIHRoZSBpbnZvaWNlICovXG4gIHBheW1lbnRIYXNoOiBzdHJpbmc7XG4gIC8qKiBUaGUgaGV4IGVuY29kZWQgbm9kZSBwdWIga2V5IG9mIHRoZSBwYXllZSB0aGF0IGNyZWF0ZWQgdGhlIGludm9pY2UgKi9cbiAgcGF5ZWVOb2RlS2V5OiBzdHJpbmc7XG4gIC8qKiBUaGUgaGV4IGVuY29kZWQgU0hBMjU2IGhhc2ggb2YgdGhlIGRlc2NyaXB0aW9uIG9mIHdoYXQgdGhlIGludm9pY2UgaXMgZm9yICovXG4gIGRlc2NyaXB0aW9uSGFzaD86IHN0cmluZztcbn07XG5cbi8qKlxuICogRGVjb2RlcyBhbiBMTlVSTC1wYXkgcmVxdWVzdCBhbmQgbWFrZXMgYW4gSFRUUCByZXF1ZXN0IHRvIHRoZSBkZWNvZGVkIHVybFxuICogdG8gcmV0cmlldmUgZGV0YWlscyBmb3IgdGhlIHJlcXVlc3RlZCBwYXltZW50LlxuICogQHBhcmFtIGxudXJsIEEgYmVjaDMyIGVuY29kZWQgTE5VUkwtcGF5IHJlcXVlc3Qgc3RyaW5nXG4gKiBAcmV0dXJucyB7RGVjb2RlZExudXJsUGF5UmVxdWVzdH0gQW4gTE5VUkwtcGF5IHJlcXVlc3QgbWVzc2FnZSBzcGVjaWZ5aW5nXG4gKiBhIG1pbiBhbmQgbWF4IGFtb3VudCBmb3IgdGhlIHBheW1lbnQsIG1ldGFkYXRhIGRlc2NyaWJpbmcgd2hhdCB0aGUgcGF5bWVudFxuICogaXMgZm9yLCBhbmQgYSBjYWxsYmFjayB0aGF0IGNhbiBiZSB1c2VkIHRvIGZldGNoIGEgbGlnaHRuaW5nIGludm9pY2UgZm9yXG4gKiB0aGUgcGF5bWVudC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRlY29kZUxudXJsUGF5KGxudXJsOiBzdHJpbmcpOiBQcm9taXNlPERlY29kZWRMbnVybFBheVJlcXVlc3Q+IHtcbiAgY29uc3QgdXJsID0gZGVjb2RlTG51cmwobG51cmwpO1xuICBjb25zdCB7IGJvZHkgfSA9IGF3YWl0IHJlcXVlc3QuZ2V0KHVybCk7XG4gIGNvbnN0IGRlY29kZWRSZXMgPSBkZWNvZGVPckVsc2UoTG51cmxQYXlSZXNwb25zZS5uYW1lLCBMbnVybFBheVJlc3BvbnNlLCBib2R5LCAoZXJyb3JzKSA9PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBlcnJvcihzKSBwYXJzaW5nIGxudXJsIHJlc3BvbnNlOiAke2Vycm9yc31gKTtcbiAgfSk7XG4gIGNvbnN0IGRvbWFpbiA9IG5ldyBVUkwodXJsKS5ob3N0bmFtZTtcblxuICByZXR1cm4ge1xuICAgIC4uLmRlY29kZWRSZXMsXG4gICAgZG9tYWluLFxuICB9O1xufVxuXG4vKipcbiAqIEZldGNoZXMgYSBsaWdodG5pbmcgaW52b2ljZSBmcm9tIGFuIExOVVJMLXBheSBjYWxsYmFjayBzZXJ2ZXIgZm9yIGEgc3BlY2lmaWVkXG4gKiBhbW91bnQgb2YgbWlsbGlzYXRvc2hpcy5cbiAqIEBwYXJhbSBwYXJhbXMge0xudXJsUGF5UGFyYW1zfSBBbiBvYmplY3Qgc3BlY2lmeWluZyBhbiBhbW91bnQgYW5kIGEgY2FsbGJhY2tcbiAqIHVybCB3aXRoIHdoaWNoIHRvIHJlcXVlc3QgYSBsaWdodG5pbmcgaW52b2ljZSBmb3IgYW4gTE5VUkwtcGF5IHJlcXVlc3QuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBBIEJPTFQgIzExIGVuY29kZWQgbGlnaHRuaW5nIGludm9pY2VcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoTG51cmxQYXlJbnZvaWNlKHBhcmFtczogTG51cmxQYXlQYXJhbXMpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCB7IGNhbGxiYWNrLCBtaWxsaXNhdEFtb3VudCwgbWV0YWRhdGEgfSA9IHBhcmFtcztcbiAgY29uc3QgeyBwcjogaW52b2ljZSB9ID0gY2FsbGJhY2suaW5jbHVkZXMoJz8nKVxuICAgID8gKGF3YWl0IHJlcXVlc3QuZ2V0KGNhbGxiYWNrICsgYCZhbW91bnQ9JHttaWxsaXNhdEFtb3VudH1gKSkuYm9keVxuICAgIDogKGF3YWl0IHJlcXVlc3QuZ2V0KGNhbGxiYWNrKS5xdWVyeSh7IGFtb3VudDogbWlsbGlzYXRBbW91bnQgfSkpLmJvZHk7XG4gIGNvbnN0IHBhcnNlZEludm9pY2UgPSBwYXJzZUxpZ2h0bmluZ0ludm9pY2UoaW52b2ljZSk7XG4gIHZhbGlkYXRlTG51cmxJbnZvaWNlKHBhcnNlZEludm9pY2UsIG1pbGxpc2F0QW1vdW50LCBtZXRhZGF0YSk7XG5cbiAgcmV0dXJuIGludm9pY2U7XG59XG5cbmZ1bmN0aW9uIGdldE5ldHdvcmtGb3JJbnZvaWNlKGludm9pY2U6IHN0cmluZykge1xuICBpZiAoaW52b2ljZS5zdGFydHNXaXRoKCdsbnRicycpKSB7XG4gICAgLy8gc2lnbmV0IGludm9pY2VzIGFyZSBub3Qgc3VwcG9ydGVkIGJ5IG91ciBib2x0MTEgZGVwZW5kZW5jeVxuICAgIC8vIGJlY2F1c2UgdGhlIGB0YnNgIHByZWZpeCB1c2VkIGZvciB0aGUgaW52b2ljZSBkb2VzIG5vdCBtYXRjaCB0aGUgYHRiYFxuICAgIC8vIHByZWZpeCB1c2VkIGJ5IG9uLWNoYWluIHNpZ25ldCBhZGRyZXNzZXNcbiAgICAvLyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9iaXRjb2luanMvYm9sdDExL3B1bGwvNTgjaXNzdWVjb21tZW50LTExMDY0OTU3MDlcbiAgICAvLyB3ZSBjYW4gc3RpbGwgZGVjb2RlIHRoZSBpbnZvaWNlIGhvd2V2ZXIgdXNpbmcgYSBjdXN0b20gbmV0d29ya1xuICAgIHJldHVybiB7XG4gICAgICBiZWNoMzI6ICd0YnMnLFxuICAgICAgcHViS2V5SGFzaDogMHg2ZixcbiAgICAgIHNjcmlwdEhhc2g6IDB4YzQsXG4gICAgICB2YWxpZFdpdG5lc3NWZXJzaW9uczogWzAsIDFdLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7UGFyc2VkTGlnaHRuaW5nSW52b2ljZX0gaW52b2ljZSAtIGEgcGFyc2VkIGxpZ2h0bmluZyBpbnZvaWNlXG4gKiBAcGFyYW0ge251bWJlcn0gYW1vdW50IC0gYW1vdW50IGludGVuZGVkIHRvIHBheSBmb3IgdGhlIGludm9pY2VcbiAqIEBwYXJhbSB7c3RyaW5nfSBtZXRhZGF0YSAtIG1ldGFkYXRhIHRoYXQgaXMgdXNlZCB0byB2ZXJpZnkgdGhlIGZldGNoZWQgaW52b2ljZVxuICogQHRocm93cyBlcnJvciBmb3IgaW52b2ljZSB0aGF0IGRvZXMgbm90IG1hdGNoIHdpdGggYW1vdW50IGFuZCBtZXRhZGF0YVxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVMbnVybEludm9pY2UoaW52b2ljZTogUGFyc2VkTGlnaHRuaW5nSW52b2ljZSwgbWlsbGlzYXRBbW91bnQ6IHN0cmluZywgbWV0YWRhdGE6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCB7IG1pbGxpc2F0b3NoaXMsIGRlc2NyaXB0aW9uSGFzaCB9ID0gaW52b2ljZTtcbiAgaWYgKG1pbGxpc2F0b3NoaXMgIT09IG1pbGxpc2F0QW1vdW50KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdhbW91bnQgb2YgaW52b2ljZSBkb2VzIG5vdCBtYXRjaCB3aXRoIGdpdmVuIGFtb3VudCcpO1xuICB9XG5cbiAgY29uc3QgaGFzaCA9IGNyeXB0by5jcmVhdGVIYXNoKCdzaGEyNTYnKS51cGRhdGUobWV0YWRhdGEpLmRpZ2VzdCgnaGV4Jyk7XG4gIGlmIChkZXNjcmlwdGlvbkhhc2ggIT09IGhhc2gpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludm9pY2UgaCB0YWcgZG9lcyBub3QgbWF0Y2ggd2l0aCBoYXNoIG9mIG1ldGFkYXRhJyk7XG4gIH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge3Vua25vd259IGludm9pY2VTdHIgLSBhIGxpZ2h0bmluZyBpbnZvaWNlXG4gKiBAcmV0dXJuIHtQYXJzZWRMaWdodG5pbmdJbnZvaWNlfVxuICogQHRocm93cyBlcnJvciBmb3IgaW52YWxpZCBsaWdodG5pbmcgaW52b2ljZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VMaWdodG5pbmdJbnZvaWNlKGludm9pY2VTdHI6IHVua25vd24pOiBQYXJzZWRMaWdodG5pbmdJbnZvaWNlIHtcbiAgaWYgKHR5cGVvZiBpbnZvaWNlU3RyICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52b2ljZSBpcyBtYWxmb3JtZWQnKTtcbiAgfVxuXG4gIGNvbnN0IGRlY29kZWRJbnZvaWNlID0gYm9sdDExLmRlY29kZShpbnZvaWNlU3RyLCBnZXROZXR3b3JrRm9ySW52b2ljZShpbnZvaWNlU3RyKSk7XG5cbiAgaWYgKGRlY29kZWRJbnZvaWNlLm5ldHdvcmsgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52b2ljZSBuZXR3b3JrIGlzIGludmFsaWQnKTtcbiAgfVxuXG4gIGNvbnN0IHsgbWlsbGlzYXRvc2hpcywgdGFncywgcGF5ZWVOb2RlS2V5IH0gPSBkZWNvZGVkSW52b2ljZTtcblxuICBjb25zdCBwYXltZW50SGFzaCA9IHRhZ3MuZmluZCgodGFnKSA9PiB0YWcudGFnTmFtZSA9PT0gJ3BheW1lbnRfaGFzaCcpPy5kYXRhO1xuICBpZiAocGF5bWVudEhhc2ggPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgcGF5bWVudEhhc2ggIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZvaWNlIHBheW1lbnQgaGFzaCBpcyBpbnZhbGlkJyk7XG4gIH1cbiAgaWYgKHBheWVlTm9kZUtleSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZvaWNlIHBheWVlIHB1YiBrZXkgaXMgaW52YWxpZCcpO1xuICB9XG4gIGlmIChtaWxsaXNhdG9zaGlzID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludm9pY2UgbWlsbGlzYXRvc2hpcyBhbW91bnQgaXMgaW52YWxpZCcpO1xuICB9XG5cbiAgY29uc3QgZGVzY3JpcHRpb25IYXNoID0gdGFncy5maW5kKCh0YWcpID0+IHRhZy50YWdOYW1lID09PSAncHVycG9zZV9jb21taXRfaGFzaCcpPy5kYXRhO1xuICBpZiAoZGVzY3JpcHRpb25IYXNoICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIGRlc2NyaXB0aW9uSGFzaCAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludm9pY2UgZGVzY3JpcHRpb24gaGFzaCBpcyBpbnZhbGlkJyk7XG4gIH1cblxuICByZXR1cm4geyBtaWxsaXNhdG9zaGlzLCBwYXltZW50SGFzaCwgcGF5ZWVOb2RlS2V5LCBkZXNjcmlwdGlvbkhhc2ggfTtcbn1cbiJdfQ==
@@ -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,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decodeLnurl = exports.encodeLnurl = void 0;
4
+ const bech32_1 = require("bech32");
5
+ function encodeLnurl(url) {
6
+ return bech32_1.bech32.encode('lnurl', bech32_1.bech32.toWords(Buffer.from(url)));
7
+ }
8
+ exports.encodeLnurl = encodeLnurl;
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
+ exports.decodeLnurl = decodeLnurl;
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG51cmxDb2RlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby9saWdodG5pbmcvY3VzdG9kaWFsL2xudXJsQ29kZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQWdDO0FBRWhDLFNBQWdCLFdBQVcsQ0FBQyxHQUFXO0lBQ3JDLE9BQU8sZUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsZUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDO0FBRkQsa0NBRUM7QUFFRCxTQUFnQixXQUFXLENBQUMsS0FBYTtJQUN2QyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXZDLElBQUksV0FBbUIsQ0FBQztJQUN4QixJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQzlCLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLFdBQVcsRUFBRTtZQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsV0FBVyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNoQztTQUFNO1FBQ0wsV0FBVyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNoQztJQUNELE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsZUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFM0QsSUFBSSxNQUFNLEtBQUssT0FBTyxFQUFFO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7S0FDbEM7SUFFRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ3pELENBQUM7QUFuQkQsa0NBbUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmVjaDMyIH0gZnJvbSAnYmVjaDMyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZUxudXJsKHVybDogc3RyaW5nKSB7XG4gIHJldHVybiBiZWNoMzIuZW5jb2RlKCdsbnVybCcsIGJlY2gzMi50b1dvcmRzKEJ1ZmZlci5mcm9tKHVybCkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZUxudXJsKGxudXJsOiBzdHJpbmcpIHtcbiAgY29uc3Qgc3BsaXR0ZWRMbnVybCA9IGxudXJsLnNwbGl0KCc6Jyk7XG5cbiAgbGV0IHBhcnNlZExudXJsOiBzdHJpbmc7XG4gIGlmIChzcGxpdHRlZExudXJsLmxlbmd0aCA9PT0gMikge1xuICAgIGlmIChzcGxpdHRlZExudXJsWzBdICE9PSAnbGlnaHRuaW5nJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGxudXJsJyk7XG4gICAgfVxuICAgIHBhcnNlZExudXJsID0gc3BsaXR0ZWRMbnVybFsxXTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZWRMbnVybCA9IHNwbGl0dGVkTG51cmxbMF07XG4gIH1cbiAgY29uc3QgeyBwcmVmaXgsIHdvcmRzIH0gPSBiZWNoMzIuZGVjb2RlKHBhcnNlZExudXJsLCAyMDAwKTtcblxuICBpZiAocHJlZml4ICE9PSAnbG51cmwnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGxudXJsJyk7XG4gIH1cblxuICByZXR1cm4gQnVmZmVyLmZyb20oYmVjaDMyLmZyb21Xb3Jkcyh3b3JkcykpLnRvU3RyaW5nKCk7XG59XG4iXX0=
@@ -1,5 +1,3 @@
1
- export * from './iLightning';
2
- export * from './lightning';
3
- export * from './lnurlCodec';
4
- export * from './lightningUtils';
1
+ export * from './signableJson';
2
+ export * from './signature';
5
3
  //# 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"}
@@ -14,8 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vbGlnaHRuaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBNkI7QUFDN0IsOENBQTRCO0FBQzVCLCtDQUE2QjtBQUM3QixtREFBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2lMaWdodG5pbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWdodG5pbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9sbnVybENvZGVjJztcbmV4cG9ydCAqIGZyb20gJy4vbGlnaHRuaW5nVXRpbHMnO1xuIl19
17
+ __exportStar(require("./signableJson"), exports);
18
+ __exportStar(require("./signature"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vbGlnaHRuaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBK0I7QUFDL0IsOENBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaWduYWJsZUpzb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zaWduYXR1cmUnO1xuIl19