@bitgo-beta/abstract-lightning 1.0.0-alpha.31 → 1.0.0-alpha.310

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 (92) 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 +156 -0
  8. package/dist/src/codecs/api/balance.d.ts.map +1 -0
  9. package/dist/src/codecs/api/balance.js +107 -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 +92 -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 +11 -0
  44. package/dist/src/lightning/parseWithdrawPsbt.d.ts.map +1 -0
  45. package/dist/src/lightning/parseWithdrawPsbt.js +159 -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 +141 -0
  59. package/dist/src/wallet/lightning.d.ts.map +1 -0
  60. package/dist/src/wallet/lightning.js +288 -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/createPsbt.d.ts +27 -0
  71. package/dist/test/unit/lightning/createPsbt.d.ts.map +1 -0
  72. package/dist/test/unit/lightning/createPsbt.js +162 -0
  73. package/dist/test/unit/lightning/createWatchOnlyFixture.d.ts +4 -0
  74. package/dist/test/unit/lightning/createWatchOnlyFixture.d.ts.map +1 -0
  75. package/dist/test/unit/lightning/createWatchOnlyFixture.js +1561 -0
  76. package/dist/test/unit/lightning/lightningUtils.d.ts +2 -0
  77. package/dist/test/unit/lightning/lightningUtils.d.ts.map +1 -0
  78. package/dist/test/unit/lightning/lightningUtils.js +123 -0
  79. package/dist/test/unit/lightning/parseWithdrawPsbt.d.ts +2 -0
  80. package/dist/test/unit/lightning/parseWithdrawPsbt.d.ts.map +1 -0
  81. package/dist/test/unit/lightning/parseWithdrawPsbt.js +441 -0
  82. package/dist/test/unit/lightning/signableJson.d.ts +2 -0
  83. package/dist/test/unit/lightning/signableJson.d.ts.map +1 -0
  84. package/dist/test/unit/lightning/signableJson.js +52 -0
  85. package/dist/test/unit/lightning/signature.d.ts +2 -0
  86. package/dist/test/unit/lightning/signature.d.ts.map +1 -0
  87. package/dist/test/unit/lightning/signature.js +91 -0
  88. package/dist/tsconfig.tsbuildinfo +1 -0
  89. package/package.json +19 -6
  90. package/.eslintignore +0 -5
  91. package/.mocharc.yml +0 -8
  92. package/CHANGELOG.md +0 -40
@@ -0,0 +1,151 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const assert_1 = __importDefault(require("assert"));
40
+ const E = __importStar(require("fp-ts/Either"));
41
+ const function_1 = require("fp-ts/function");
42
+ const codecs_1 = require("../../../src/codecs");
43
+ function describeCodec(c, valid, invalid) {
44
+ describe('Codec ' + c.name, function () {
45
+ it('parses valid inputs', function () {
46
+ valid.forEach((v) => {
47
+ assert_1.default.strictEqual(E.isRight(c.decode(v)), true);
48
+ });
49
+ });
50
+ it('rejects invalid inputs', function () {
51
+ invalid.forEach((v) => {
52
+ assert_1.default.strictEqual(E.isRight(c.decode(v)), false);
53
+ });
54
+ });
55
+ it('encode ∘ decode', function () {
56
+ valid.forEach((v) => {
57
+ const roundTripped = (0, function_1.pipe)(v, c.decode, E.map(c.encode));
58
+ assert_1.default.deepStrictEqual(roundTripped, E.right(v));
59
+ });
60
+ });
61
+ });
62
+ }
63
+ describe('Codecs', function () {
64
+ describeCodec(codecs_1.LightningKeychain, [
65
+ {
66
+ id: 'id',
67
+ pub: 'xpub',
68
+ encryptedPrv: 'encryptedPrv',
69
+ source: 'user',
70
+ },
71
+ {
72
+ id: 'id',
73
+ pub: 'xpub',
74
+ source: 'user',
75
+ },
76
+ ], [
77
+ null,
78
+ 'abg',
79
+ 1,
80
+ {
81
+ id: 'id',
82
+ pub: 'xpub',
83
+ encryptedPrv: 'encryptedPrv',
84
+ source: 'backup',
85
+ },
86
+ ]);
87
+ describeCodec(codecs_1.LightningAuthKeychain, [
88
+ {
89
+ id: 'id',
90
+ pub: 'xpub',
91
+ encryptedPrv: 'encryptedPrv',
92
+ source: 'user',
93
+ coinSpecific: {
94
+ lnbtc: {
95
+ purpose: 'userAuth',
96
+ },
97
+ },
98
+ },
99
+ {
100
+ id: 'id',
101
+ pub: 'xpub',
102
+ source: 'user',
103
+ coinSpecific: {
104
+ lnbtc: {
105
+ purpose: 'userAuth',
106
+ },
107
+ },
108
+ },
109
+ ], [
110
+ null,
111
+ 'abg',
112
+ 1,
113
+ {
114
+ id: 'id',
115
+ pub: 'xpub',
116
+ encryptedPrv: 'encryptedPrv',
117
+ source: 'user',
118
+ coinSpecific: {
119
+ lnbtc: {
120
+ purpose: 'dummy',
121
+ },
122
+ },
123
+ },
124
+ {
125
+ id: 'id',
126
+ pub: 'xpub',
127
+ encryptedPrv: 'encryptedPrv',
128
+ },
129
+ ]);
130
+ describeCodec(codecs_1.UpdateLightningWalletClientRequest, [
131
+ {
132
+ signerAdminMacaroon: 'signerAdminMacaroon',
133
+ signerHost: '127.0.0.1',
134
+ signerTlsCert: 'signerTlsCert',
135
+ signerTlsKey: 'signerTlsKey',
136
+ watchOnly: {
137
+ master_key_birthday_timestamp: 'master_key_birthday_timestamp',
138
+ master_key_fingerprint: 'master_key_fingerprint',
139
+ accounts: [{ purpose: 1, coin_type: 1, account: 1, xpub: 'xpub' }],
140
+ },
141
+ signerMacaroon: 'signerMacaroon',
142
+ passphrase: 'passphrase',
143
+ },
144
+ {
145
+ signerAdminMacaroon: 'signerAdminMacaroon',
146
+ passphrase: 'passphrase',
147
+ },
148
+ { passphrase: 'passphrase' },
149
+ ], [null, 'abg', 1]);
150
+ });
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L2xpZ2h0bmluZy9jb2RlY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxvREFBNEI7QUFDNUIsZ0RBQWtDO0FBQ2xDLDZDQUFzQztBQUN0QyxnREFBbUg7QUFFbkgsU0FBUyxhQUFhLENBQUMsQ0FBYyxFQUFFLEtBQWdCLEVBQUUsT0FBa0I7SUFDekUsUUFBUSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFO1FBQzFCLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRTtZQUN4QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2xCLGdCQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ25ELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsd0JBQXdCLEVBQUU7WUFDM0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNwQixnQkFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwRCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGlCQUFpQixFQUFFO1lBQ3BCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDbEIsTUFBTSxZQUFZLEdBQUcsSUFBQSxlQUFJLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDeEQsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsUUFBUSxDQUFDLFFBQVEsRUFBRTtJQUNqQixhQUFhLENBQ1gsMEJBQWlCLEVBQ2pCO1FBQ0U7WUFDRSxFQUFFLEVBQUUsSUFBSTtZQUNSLEdBQUcsRUFBRSxNQUFNO1lBQ1gsWUFBWSxFQUFFLGNBQWM7WUFDNUIsTUFBTSxFQUFFLE1BQU07U0FDZjtRQUNEO1lBQ0UsRUFBRSxFQUFFLElBQUk7WUFDUixHQUFHLEVBQUUsTUFBTTtZQUNYLE1BQU0sRUFBRSxNQUFNO1NBQ2Y7S0FDRixFQUNEO1FBQ0UsSUFBSTtRQUNKLEtBQUs7UUFDTCxDQUFDO1FBQ0Q7WUFDRSxFQUFFLEVBQUUsSUFBSTtZQUNSLEdBQUcsRUFBRSxNQUFNO1lBQ1gsWUFBWSxFQUFFLGNBQWM7WUFDNUIsTUFBTSxFQUFFLFFBQVE7U0FDakI7S0FDRixDQUNGLENBQUM7SUFFRixhQUFhLENBQ1gsOEJBQXFCLEVBQ3JCO1FBQ0U7WUFDRSxFQUFFLEVBQUUsSUFBSTtZQUNSLEdBQUcsRUFBRSxNQUFNO1lBQ1gsWUFBWSxFQUFFLGNBQWM7WUFDNUIsTUFBTSxFQUFFLE1BQU07WUFDZCxZQUFZLEVBQUU7Z0JBQ1osS0FBSyxFQUFFO29CQUNMLE9BQU8sRUFBRSxVQUFVO2lCQUNwQjthQUNGO1NBQ0Y7UUFDRDtZQUNFLEVBQUUsRUFBRSxJQUFJO1lBQ1IsR0FBRyxFQUFFLE1BQU07WUFDWCxNQUFNLEVBQUUsTUFBTTtZQUNkLFlBQVksRUFBRTtnQkFDWixLQUFLLEVBQUU7b0JBQ0wsT0FBTyxFQUFFLFVBQVU7aUJBQ3BCO2FBQ0Y7U0FDRjtLQUNGLEVBQ0Q7UUFDRSxJQUFJO1FBQ0osS0FBSztRQUNMLENBQUM7UUFDRDtZQUNFLEVBQUUsRUFBRSxJQUFJO1lBQ1IsR0FBRyxFQUFFLE1BQU07WUFDWCxZQUFZLEVBQUUsY0FBYztZQUM1QixNQUFNLEVBQUUsTUFBTTtZQUNkLFlBQVksRUFBRTtnQkFDWixLQUFLLEVBQUU7b0JBQ0wsT0FBTyxFQUFFLE9BQU87aUJBQ2pCO2FBQ0Y7U0FDRjtRQUNEO1lBQ0UsRUFBRSxFQUFFLElBQUk7WUFDUixHQUFHLEVBQUUsTUFBTTtZQUNYLFlBQVksRUFBRSxjQUFjO1NBQzdCO0tBQ0YsQ0FDRixDQUFDO0lBRUYsYUFBYSxDQUNYLDJDQUFrQyxFQUNsQztRQUNFO1lBQ0UsbUJBQW1CLEVBQUUscUJBQXFCO1lBQzFDLFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLGFBQWEsRUFBRSxlQUFlO1lBQzlCLFlBQVksRUFBRSxjQUFjO1lBQzVCLFNBQVMsRUFBRTtnQkFDVCw2QkFBNkIsRUFBRSwrQkFBK0I7Z0JBQzlELHNCQUFzQixFQUFFLHdCQUF3QjtnQkFDaEQsUUFBUSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7YUFDbkU7WUFDRCxjQUFjLEVBQUUsZ0JBQWdCO1lBQ2hDLFVBQVUsRUFBRSxZQUFZO1NBQ3pCO1FBQ0Q7WUFDRSxtQkFBbUIsRUFBRSxxQkFBcUI7WUFDMUMsVUFBVSxFQUFFLFlBQVk7U0FDekI7UUFDRCxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUU7S0FDN0IsRUFDRCxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQ2pCLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0ICogYXMgRSBmcm9tICdmcC10cy9FaXRoZXInO1xuaW1wb3J0IHsgcGlwZSB9IGZyb20gJ2ZwLXRzL2Z1bmN0aW9uJztcbmltcG9ydCB7IExpZ2h0bmluZ0F1dGhLZXljaGFpbiwgTGlnaHRuaW5nS2V5Y2hhaW4sIFVwZGF0ZUxpZ2h0bmluZ1dhbGxldENsaWVudFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9zcmMvY29kZWNzJztcblxuZnVuY3Rpb24gZGVzY3JpYmVDb2RlYyhjOiB0LlR5cGU8YW55PiwgdmFsaWQ6IHVua25vd25bXSwgaW52YWxpZDogdW5rbm93bltdKSB7XG4gIGRlc2NyaWJlKCdDb2RlYyAnICsgYy5uYW1lLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3BhcnNlcyB2YWxpZCBpbnB1dHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICB2YWxpZC5mb3JFYWNoKCh2KSA9PiB7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChFLmlzUmlnaHQoYy5kZWNvZGUodikpLCB0cnVlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlamVjdHMgaW52YWxpZCBpbnB1dHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpbnZhbGlkLmZvckVhY2goKHYpID0+IHtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKEUuaXNSaWdodChjLmRlY29kZSh2KSksIGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2VuY29kZSDiiJggZGVjb2RlJywgZnVuY3Rpb24gKCkge1xuICAgICAgdmFsaWQuZm9yRWFjaCgodikgPT4ge1xuICAgICAgICBjb25zdCByb3VuZFRyaXBwZWQgPSBwaXBlKHYsIGMuZGVjb2RlLCBFLm1hcChjLmVuY29kZSkpO1xuICAgICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHJvdW5kVHJpcHBlZCwgRS5yaWdodCh2KSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmRlc2NyaWJlKCdDb2RlY3MnLCBmdW5jdGlvbiAoKSB7XG4gIGRlc2NyaWJlQ29kZWMoXG4gICAgTGlnaHRuaW5nS2V5Y2hhaW4sXG4gICAgW1xuICAgICAge1xuICAgICAgICBpZDogJ2lkJyxcbiAgICAgICAgcHViOiAneHB1YicsXG4gICAgICAgIGVuY3J5cHRlZFBydjogJ2VuY3J5cHRlZFBydicsXG4gICAgICAgIHNvdXJjZTogJ3VzZXInLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdpZCcsXG4gICAgICAgIHB1YjogJ3hwdWInLFxuICAgICAgICBzb3VyY2U6ICd1c2VyJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBudWxsLFxuICAgICAgJ2FiZycsXG4gICAgICAxLFxuICAgICAge1xuICAgICAgICBpZDogJ2lkJyxcbiAgICAgICAgcHViOiAneHB1YicsXG4gICAgICAgIGVuY3J5cHRlZFBydjogJ2VuY3J5cHRlZFBydicsXG4gICAgICAgIHNvdXJjZTogJ2JhY2t1cCcsXG4gICAgICB9LFxuICAgIF1cbiAgKTtcblxuICBkZXNjcmliZUNvZGVjKFxuICAgIExpZ2h0bmluZ0F1dGhLZXljaGFpbixcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnaWQnLFxuICAgICAgICBwdWI6ICd4cHViJyxcbiAgICAgICAgZW5jcnlwdGVkUHJ2OiAnZW5jcnlwdGVkUHJ2JyxcbiAgICAgICAgc291cmNlOiAndXNlcicsXG4gICAgICAgIGNvaW5TcGVjaWZpYzoge1xuICAgICAgICAgIGxuYnRjOiB7XG4gICAgICAgICAgICBwdXJwb3NlOiAndXNlckF1dGgnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ2lkJyxcbiAgICAgICAgcHViOiAneHB1YicsXG4gICAgICAgIHNvdXJjZTogJ3VzZXInLFxuICAgICAgICBjb2luU3BlY2lmaWM6IHtcbiAgICAgICAgICBsbmJ0Yzoge1xuICAgICAgICAgICAgcHVycG9zZTogJ3VzZXJBdXRoJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIG51bGwsXG4gICAgICAnYWJnJyxcbiAgICAgIDEsXG4gICAgICB7XG4gICAgICAgIGlkOiAnaWQnLFxuICAgICAgICBwdWI6ICd4cHViJyxcbiAgICAgICAgZW5jcnlwdGVkUHJ2OiAnZW5jcnlwdGVkUHJ2JyxcbiAgICAgICAgc291cmNlOiAndXNlcicsXG4gICAgICAgIGNvaW5TcGVjaWZpYzoge1xuICAgICAgICAgIGxuYnRjOiB7XG4gICAgICAgICAgICBwdXJwb3NlOiAnZHVtbXknLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ2lkJyxcbiAgICAgICAgcHViOiAneHB1YicsXG4gICAgICAgIGVuY3J5cHRlZFBydjogJ2VuY3J5cHRlZFBydicsXG4gICAgICB9LFxuICAgIF1cbiAgKTtcblxuICBkZXNjcmliZUNvZGVjKFxuICAgIFVwZGF0ZUxpZ2h0bmluZ1dhbGxldENsaWVudFJlcXVlc3QsXG4gICAgW1xuICAgICAge1xuICAgICAgICBzaWduZXJBZG1pbk1hY2Fyb29uOiAnc2lnbmVyQWRtaW5NYWNhcm9vbicsXG4gICAgICAgIHNpZ25lckhvc3Q6ICcxMjcuMC4wLjEnLFxuICAgICAgICBzaWduZXJUbHNDZXJ0OiAnc2lnbmVyVGxzQ2VydCcsXG4gICAgICAgIHNpZ25lclRsc0tleTogJ3NpZ25lclRsc0tleScsXG4gICAgICAgIHdhdGNoT25seToge1xuICAgICAgICAgIG1hc3Rlcl9rZXlfYmlydGhkYXlfdGltZXN0YW1wOiAnbWFzdGVyX2tleV9iaXJ0aGRheV90aW1lc3RhbXAnLFxuICAgICAgICAgIG1hc3Rlcl9rZXlfZmluZ2VycHJpbnQ6ICdtYXN0ZXJfa2V5X2ZpbmdlcnByaW50JyxcbiAgICAgICAgICBhY2NvdW50czogW3sgcHVycG9zZTogMSwgY29pbl90eXBlOiAxLCBhY2NvdW50OiAxLCB4cHViOiAneHB1YicgfV0sXG4gICAgICAgIH0sXG4gICAgICAgIHNpZ25lck1hY2Fyb29uOiAnc2lnbmVyTWFjYXJvb24nLFxuICAgICAgICBwYXNzcGhyYXNlOiAncGFzc3BocmFzZScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzaWduZXJBZG1pbk1hY2Fyb29uOiAnc2lnbmVyQWRtaW5NYWNhcm9vbicsXG4gICAgICAgIHBhc3NwaHJhc2U6ICdwYXNzcGhyYXNlJyxcbiAgICAgIH0sXG4gICAgICB7IHBhc3NwaHJhc2U6ICdwYXNzcGhyYXNlJyB9LFxuICAgIF0sXG4gICAgW251bGwsICdhYmcnLCAxXVxuICApO1xufSk7XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ export interface PsbtCreationOptions {
3
+ network: utxolib.Network;
4
+ inputValue?: number;
5
+ outputValue?: number;
6
+ outputAddress?: string;
7
+ changeValue?: number;
8
+ changeDerivationPath?: string;
9
+ changePurpose?: 49 | 84 | 86;
10
+ includeChangeOutput?: boolean;
11
+ masterKey?: utxolib.BIP32Interface;
12
+ }
13
+ export interface PsbtCreationResult {
14
+ psbt: utxolib.Psbt;
15
+ masterKey: utxolib.BIP32Interface;
16
+ changeDerivationPath: string;
17
+ changePurpose: number;
18
+ }
19
+ /**
20
+ * Creates a PSBT for testing purposes with customizable options.
21
+ * This helper function generates a PSBT with a fake input and configurable outputs.
22
+ *
23
+ * @param options - Configuration options for PSBT creation
24
+ * @returns A constructed PSBT instance and the master key used
25
+ */
26
+ export declare function createTestPsbt(options: PsbtCreationOptions): PsbtCreationResult;
27
+ //# sourceMappingURL=createPsbt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPsbt.d.ts","sourceRoot":"","sources":["../../../../test/unit/lightning/createPsbt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC;IAClC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,CAkJ/E"}
@@ -0,0 +1,162 @@
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.createTestPsbt = createTestPsbt;
37
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
38
+ /**
39
+ * Creates a PSBT for testing purposes with customizable options.
40
+ * This helper function generates a PSBT with a fake input and configurable outputs.
41
+ *
42
+ * @param options - Configuration options for PSBT creation
43
+ * @returns A constructed PSBT instance and the master key used
44
+ */
45
+ function createTestPsbt(options) {
46
+ const { network, inputValue = 500000, outputValue = 100000, outputAddress, changeValue, changeDerivationPath = "m/84'/0'/0'/1/6", changePurpose = 84, includeChangeOutput = true, masterKey, } = options;
47
+ const fixedSeed = Buffer.from('0101010101010101010101010101010101010101010101010101010101010101', 'hex');
48
+ const accountMasterKey = masterKey || utxolib.bip32.fromSeed(fixedSeed, network);
49
+ const inputPrivateKey = Buffer.from('0202020202020202020202020202020202020202020202020202020202020202', 'hex');
50
+ const inputKeyPair = utxolib.ECPair.fromPrivateKey(inputPrivateKey, { network });
51
+ const p2wpkhInput = utxolib.payments.p2wpkh({
52
+ pubkey: Buffer.from(inputKeyPair.publicKey),
53
+ network,
54
+ });
55
+ // Create a new PSBT instance
56
+ const psbt = new utxolib.Psbt({ network });
57
+ // Add a fake input to the PSBT
58
+ const fakeTxId = 'ca6852598b48230ac870814b935b0d982d3968eb00a1d97332dceb6cd9b8505e';
59
+ const fakeVout = 1;
60
+ psbt.addInput({
61
+ hash: fakeTxId,
62
+ index: fakeVout,
63
+ witnessUtxo: {
64
+ script: p2wpkhInput.output,
65
+ value: BigInt(inputValue),
66
+ },
67
+ bip32Derivation: [
68
+ {
69
+ masterFingerprint: Buffer.alloc(4, 0),
70
+ path: "m/84'/0'/0'/0/0",
71
+ pubkey: Buffer.from(inputKeyPair.publicKey),
72
+ },
73
+ ],
74
+ });
75
+ // Add recipient output
76
+ let recipientAddress;
77
+ if (outputAddress) {
78
+ recipientAddress = outputAddress;
79
+ }
80
+ else {
81
+ const recipientPrivateKey = Buffer.from('0303030303030303030303030303030303030303030303030303030303030303', 'hex');
82
+ const recipientKeyPair = utxolib.ECPair.fromPrivateKey(recipientPrivateKey, { network });
83
+ // P2TR requires x-only pubkey (32 bytes, without the prefix byte)
84
+ const xOnlyPubkey = recipientKeyPair.publicKey.length === 33
85
+ ? recipientKeyPair.publicKey.subarray(1, 33)
86
+ : recipientKeyPair.publicKey;
87
+ const recipientP2tr = utxolib.payments.p2tr({
88
+ pubkey: xOnlyPubkey,
89
+ network,
90
+ }, { eccLib: utxolib.ecc });
91
+ recipientAddress = recipientP2tr.address;
92
+ }
93
+ psbt.addOutput({
94
+ address: recipientAddress,
95
+ value: BigInt(outputValue),
96
+ });
97
+ // Add change output if requested
98
+ if (includeChangeOutput) {
99
+ const calculatedChangeValue = changeValue !== undefined ? changeValue : inputValue - outputValue - 10000; // 10k sats fee
100
+ // Parse the derivation path to get the change and address indices
101
+ // Expected format: m/purpose'/coin_type'/account'/change/address_index
102
+ const pathSegments = changeDerivationPath.split('/');
103
+ const changeIndex = Number(pathSegments[pathSegments.length - 2]);
104
+ const addressIndex = Number(pathSegments[pathSegments.length - 1]);
105
+ // Derive the change key from the master key
106
+ const changeNode = accountMasterKey.derive(changeIndex).derive(addressIndex);
107
+ const changePubkey = changeNode.publicKey;
108
+ let changeAddress;
109
+ let changePayment;
110
+ // Create change address based on purpose
111
+ switch (changePurpose) {
112
+ case 49: // P2SH-P2WPKH
113
+ changePayment = utxolib.payments.p2sh({
114
+ redeem: utxolib.payments.p2wpkh({
115
+ pubkey: changePubkey,
116
+ network,
117
+ }),
118
+ network,
119
+ });
120
+ changeAddress = changePayment.address;
121
+ break;
122
+ case 84: // P2WPKH
123
+ changePayment = utxolib.payments.p2wpkh({
124
+ pubkey: changePubkey,
125
+ network,
126
+ });
127
+ changeAddress = changePayment.address;
128
+ break;
129
+ case 86: // P2TR
130
+ const xOnlyChangePubkey = changePubkey.length === 33 ? changePubkey.subarray(1, 33) : changePubkey;
131
+ changePayment = utxolib.payments.p2tr({
132
+ pubkey: xOnlyChangePubkey,
133
+ network,
134
+ }, { eccLib: utxolib.ecc });
135
+ changeAddress = changePayment.address;
136
+ break;
137
+ default:
138
+ throw new Error(`Unsupported purpose: ${changePurpose}`);
139
+ }
140
+ psbt.addOutput({
141
+ address: changeAddress,
142
+ value: BigInt(calculatedChangeValue),
143
+ });
144
+ // Add bip32Derivation to the change output
145
+ psbt.updateOutput(1, {
146
+ bip32Derivation: [
147
+ {
148
+ masterFingerprint: Buffer.alloc(4, 0),
149
+ path: changeDerivationPath,
150
+ pubkey: changePubkey,
151
+ },
152
+ ],
153
+ });
154
+ }
155
+ return {
156
+ psbt,
157
+ masterKey: accountMasterKey,
158
+ changeDerivationPath,
159
+ changePurpose,
160
+ };
161
+ }
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUHNidC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9saWdodG5pbmcvY3JlYXRlUHNidC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTRCQSx3Q0FrSkM7QUE5S0QsOERBQWdEO0FBcUJoRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixjQUFjLENBQUMsT0FBNEI7SUFDekQsTUFBTSxFQUNKLE9BQU8sRUFDUCxVQUFVLEdBQUcsTUFBTSxFQUNuQixXQUFXLEdBQUcsTUFBTSxFQUNwQixhQUFhLEVBQ2IsV0FBVyxFQUNYLG9CQUFvQixHQUFHLGlCQUFpQixFQUN4QyxhQUFhLEdBQUcsRUFBRSxFQUNsQixtQkFBbUIsR0FBRyxJQUFJLEVBQzFCLFNBQVMsR0FDVixHQUFHLE9BQU8sQ0FBQztJQUNaLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0VBQWtFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekcsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRWpGLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0VBQWtFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDL0csTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNqRixNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUMxQyxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO1FBQzNDLE9BQU87S0FDUixDQUFDLENBQUM7SUFFSCw2QkFBNkI7SUFDN0IsTUFBTSxJQUFJLEdBQUcsSUFB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QUMscUJBQXFCLENBQUM7U0FDckMsQ0FBQyxDQUFDO1FBRUgsMkNBQTJDO1FBQzNDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFO1lBQ25CLGVBQWUsRUFBRTtnQkFDZjtvQkFDRSxpQkFBaUIsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ3JDLElBQUksRUFBRSxvQkFBb0I7b0JBQzFCLE1BQU0sRUFBRSxZQUFZO2lCQUNyQjthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJO1FBQ0osU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixvQkFBb0I7UUFDcEIsYUFBYTtLQUNkLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHNidENyZWF0aW9uT3B0aW9ucyB7XG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29yaztcbiAgaW5wdXRWYWx1ZT86IG51bWJlcjtcbiAgb3V0cHV0VmFsdWU/OiBudW1iZXI7XG4gIG91dHB1dEFkZHJlc3M/OiBzdHJpbmc7XG4gIGNoYW5nZVZhbHVlPzogbnVtYmVyO1xuICBjaGFuZ2VEZXJpdmF0aW9uUGF0aD86IHN0cmluZztcbiAgY2hhbmdlUHVycG9zZT86IDQ5IHwgODQgfCA4NjtcbiAgaW5jbHVkZUNoYW5nZU91dHB1dD86IGJvb2xlYW47XG4gIG1hc3RlcktleT86IHV0eG9saWIuQklQMzJJbnRlcmZhY2U7IC8vIE9wdGlvbmFsIG1hc3RlciBrZXkgZm9yIGRlcml2aW5nIGFkZHJlc3Nlc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBzYnRDcmVhdGlvblJlc3VsdCB7XG4gIHBzYnQ6IHV0eG9saWIuUHNidDtcbiAgbWFzdGVyS2V5OiB1dHhvbGliLkJJUDMySW50ZXJmYWNlO1xuICBjaGFuZ2VEZXJpdmF0aW9uUGF0aDogc3RyaW5nO1xuICBjaGFuZ2VQdXJwb3NlOiBudW1iZXI7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIFBTQlQgZm9yIHRlc3RpbmcgcHVycG9zZXMgd2l0aCBjdXN0b21pemFibGUgb3B0aW9ucy5cbiAqIFRoaXMgaGVscGVyIGZ1bmN0aW9uIGdlbmVyYXRlcyBhIFBTQlQgd2l0aCBhIGZha2UgaW5wdXQgYW5kIGNvbmZpZ3VyYWJsZSBvdXRwdXRzLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBQU0JUIGNyZWF0aW9uXG4gKiBAcmV0dXJucyBBIGNvbnN0cnVjdGVkIFBTQlQgaW5zdGFuY2UgYW5kIHRoZSBtYXN0ZXIga2V5IHVzZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRlc3RQc2J0KG9wdGlvbnM6IFBzYnRDcmVhdGlvbk9wdGlvbnMpOiBQc2J0Q3JlYXRpb25SZXN1bHQge1xuICBjb25zdCB7XG4gICAgbmV0d29yayxcbiAgICBpbnB1dFZhbHVlID0gNTAwMDAwLFxuICAgIG91dHB1dFZhbHVlID0gMTAwMDAwLFxuICAgIG91dHB1dEFkZHJlc3MsXG4gICAgY2hhbmdlVmFsdWUsXG4gICAgY2hhbmdlRGVyaXZhdGlvblBhdGggPSBcIm0vODQnLzAnLzAnLzEvNlwiLFxuICAgIGNoYW5nZVB1cnBvc2UgPSA4NCxcbiAgICBpbmNsdWRlQ2hhbmdlT3V0cHV0ID0gdHJ1ZSxcbiAgICBtYXN0ZXJLZXksXG4gIH0gPSBvcHRpb25zO1xuICBjb25zdCBmaXhlZFNlZWQgPSBCdWZmZXIuZnJvbSgnMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMScsICdoZXgnKTtcbiAgY29uc3QgYWNjb3VudE1hc3RlcktleSA9IG1hc3RlcktleSB8fCB1dHhvbGliLmJpcDMyLmZyb21TZWVkKGZpeGVkU2VlZCwgbmV0d29yayk7XG5cbiAgY29uc3QgaW5wdXRQcml2YXRlS2V5ID0gQnVmZmVyLmZyb20oJzAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDInLCAnaGV4Jyk7XG4gIGNvbnN0IGlucHV0S2V5UGFpciA9IHV0eG9saWIuRUNQYWlyLmZyb21Qcml2YXRlS2V5KGlucHV0UHJpdmF0ZUtleSwgeyBuZXR3b3JrIH0pO1xuICBjb25zdCBwMndwa2hJbnB1dCA9IHV0eG9saWIucGF5bWVudHMucDJ3cGtoKHtcbiAgICBwdWJrZXk6IEJ1ZmZlci5mcm9tKGlucHV0S2V5UGFpci5wdWJsaWNLZXkpLFxuICAgIG5ldHdvcmssXG4gIH0pO1xuXG4gIC8vIENyZWF0ZSBhIG5ldyBQU0JUIGluc3RhbmNlXG4gIGNvbnN0IHBzYnQgPSBuZXcgdXR4b2xpYi5Qc2J0KHsgbmV0d29yayB9KTtcblxuICAvLyBBZGQgYSBmYWtlIGlucHV0IHRvIHRoZSBQU0JUXG4gIGNvbnN0IGZha2VUeElkID0gJ2NhNjg1MjU5OGI0ODIzMGFjODcwODE0YjkzNWIwZDk4MmQzOTY4ZWIwMGExZDk3MzMyZGNlYjZjZDliODUwNWUnO1xuICBjb25zdCBmYWtlVm91dCA9IDE7XG5cbiAgcHNidC5hZGRJbnB1dCh7XG4gICAgaGFzaDogZmFrZVR4SWQsXG4gICAgaW5kZXg6IGZha2VWb3V0LFxuICAgIHdpdG5lc3NVdHhvOiB7XG4gICAgICBzY3JpcHQ6IHAyd3BraElucHV0Lm91dHB1dCEsXG4gICAgICB2YWx1ZTogQmlnSW50KGlucHV0VmFsdWUpLFxuICAgIH0sXG4gICAgYmlwMzJEZXJpdmF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIG1hc3RlckZpbmdlcnByaW50OiBCdWZmZXIuYWxsb2MoNCwgMCksXG4gICAgICAgIHBhdGg6IFwibS84NCcvMCcvMCcvMC8wXCIsXG4gICAgICAgIHB1YmtleTogQnVmZmVyLmZyb20oaW5wdXRLZXlQYWlyLnB1YmxpY0tleSksXG4gICAgICB9LFxuICAgIF0sXG4gIH0pO1xuXG4gIC8vIEFkZCByZWNpcGllbnQgb3V0cHV0XG4gIGxldCByZWNpcGllbnRBZGRyZXNzOiBzdHJpbmc7XG4gIGlmIChvdXRwdXRBZGRyZXNzKSB7XG4gICAgcmVjaXBpZW50QWRkcmVzcyA9IG91dHB1dEFkZHJlc3M7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgcmVjaXBpZW50UHJpdmF0ZUtleSA9IEJ1ZmZlci5mcm9tKCcwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzJywgJ2hleCcpO1xuICAgIGNvbnN0IHJlY2lwaWVudEtleVBhaXIgPSB1dHhvbGliLkVDUGFpci5mcm9tUHJpdmF0ZUtleShyZWNpcGllbnRQcml2YXRlS2V5LCB7IG5ldHdvcmsgfSk7XG4gICAgLy8gUDJUUiByZXF1aXJlcyB4LW9ubHkgcHVia2V5ICgzMiBieXRlcywgd2l0aG91dCB0aGUgcHJlZml4IGJ5dGUpXG4gICAgY29uc3QgeE9ubHlQdWJrZXkgPVxuICAgICAgcmVjaXBpZW50S2V5UGFpci5wdWJsaWNLZXkubGVuZ3RoID09PSAzM1xuICAgICAgICA/IHJlY2lwaWVudEtleVBhaXIucHVibGljS2V5LnN1YmFycmF5KDEsIDMzKVxuICAgICAgICA6IHJlY2lwaWVudEtleVBhaXIucHVibGljS2V5O1xuICAgIGNvbnN0IHJlY2lwaWVudFAydHIgPSB1dHhvbGliLnBheW1lbnRzLnAydHIoXG4gICAgICB7XG4gICAgICAgIHB1YmtleTogeE9ubHlQdWJrZXksXG4gICAgICAgIG5ldHdvcmssXG4gICAgICB9LFxuICAgICAgeyBlY2NMaWI6IHV0eG9saWIuZWNjIH1cbiAgICApO1xuICAgIHJlY2lwaWVudEFkZHJlc3MgPSByZWNpcGllbnRQMnRyLmFkZHJlc3MhO1xuICB9XG5cbiAgcHNidC5hZGRPdXRwdXQoe1xuICAgIGFkZHJlc3M6IHJlY2lwaWVudEFkZHJlc3MsXG4gICAgdmFsdWU6IEJpZ0ludChvdXRwdXRWYWx1ZSksXG4gIH0pO1xuXG4gIC8vIEFkZCBjaGFuZ2Ugb3V0cHV0IGlmIHJlcXVlc3RlZFxuICBpZiAoaW5jbHVkZUNoYW5nZU91dHB1dCkge1xuICAgIGNvbnN0IGNhbGN1bGF0ZWRDaGFuZ2VWYWx1ZSA9IGNoYW5nZVZhbHVlICE9PSB1bmRlZmluZWQgPyBjaGFuZ2VWYWx1ZSA6IGlucHV0VmFsdWUgLSBvdXRwdXRWYWx1ZSAtIDEwMDAwOyAvLyAxMGsgc2F0cyBmZWVcblxuICAgIC8vIFBhcnNlIHRoZSBkZXJpdmF0aW9uIHBhdGggdG8gZ2V0IHRoZSBjaGFuZ2UgYW5kIGFkZHJlc3MgaW5kaWNlc1xuICAgIC8vIEV4cGVjdGVkIGZvcm1hdDogbS9wdXJwb3NlJy9jb2luX3R5cGUnL2FjY291bnQnL2NoYW5nZS9hZGRyZXNzX2luZGV4XG4gICAgY29uc3QgcGF0aFNlZ21lbnRzID0gY2hhbmdlRGVyaXZhdGlvblBhdGguc3BsaXQoJy8nKTtcbiAgICBjb25zdCBjaGFuZ2VJbmRleCA9IE51bWJlcihwYXRoU2VnbWVudHNbcGF0aFNlZ21lbnRzLmxlbmd0aCAtIDJdKTtcbiAgICBjb25zdCBhZGRyZXNzSW5kZXggPSBOdW1iZXIocGF0aFNlZ21lbnRzW3BhdGhTZWdtZW50cy5sZW5ndGggLSAxXSk7XG5cbiAgICAvLyBEZXJpdmUgdGhlIGNoYW5nZSBrZXkgZnJvbSB0aGUgbWFzdGVyIGtleVxuICAgIGNvbnN0IGNoYW5nZU5vZGUgPSBhY2NvdW50TWFzdGVyS2V5LmRlcml2ZShjaGFuZ2VJbmRleCkuZGVyaXZlKGFkZHJlc3NJbmRleCk7XG4gICAgY29uc3QgY2hhbmdlUHVia2V5ID0gY2hhbmdlTm9kZS5wdWJsaWNLZXk7XG5cbiAgICBsZXQgY2hhbmdlQWRkcmVzczogc3RyaW5nO1xuICAgIGxldCBjaGFuZ2VQYXltZW50O1xuXG4gICAgLy8gQ3JlYXRlIGNoYW5nZSBhZGRyZXNzIGJhc2VkIG9uIHB1cnBvc2VcbiAgICBzd2l0Y2ggKGNoYW5nZVB1cnBvc2UpIHtcbiAgICAgIGNhc2UgNDk6IC8vIFAyU0gtUDJXUEtIXG4gICAgICAgIGNoYW5nZVBheW1lbnQgPSB1dHhvbGliLnBheW1lbnRzLnAyc2goe1xuICAgICAgICAgIHJlZGVlbTogdXR4b2xpYi5wYXltZW50cy5wMndwa2goe1xuICAgICAgICAgICAgcHVia2V5OiBjaGFuZ2VQdWJrZXksXG4gICAgICAgICAgICBuZXR3b3JrLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIG5ldHdvcmssXG4gICAgICAgIH0pO1xuICAgICAgICBjaGFuZ2VBZGRyZXNzID0gY2hhbmdlUGF5bWVudC5hZGRyZXNzITtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDg0OiAvLyBQMldQS0hcbiAgICAgICAgY2hhbmdlUGF5bWVudCA9IHV0eG9saWIucGF5bWVudHMucDJ3cGtoKHtcbiAgICAgICAgICBwdWJrZXk6IGNoYW5nZVB1YmtleSxcbiAgICAgICAgICBuZXR3b3JrLFxuICAgICAgICB9KTtcbiAgICAgICAgY2hhbmdlQWRkcmVzcyA9IGNoYW5nZVBheW1lbnQuYWRkcmVzcyE7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSA4NjogLy8gUDJUUlxuICAgICAgICBjb25zdCB4T25seUNoYW5nZVB1YmtleSA9IGNoYW5nZVB1YmtleS5sZW5ndGggPT09IDMzID8gY2hhbmdlUHVia2V5LnN1YmFycmF5KDEsIDMzKSA6IGNoYW5nZVB1YmtleTtcbiAgICAgICAgY2hhbmdlUGF5bWVudCA9IHV0eG9saWIucGF5bWVudHMucDJ0cihcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwdWJrZXk6IHhPbmx5Q2hhbmdlUHVia2V5LFxuICAgICAgICAgICAgbmV0d29yayxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgZWNjTGliOiB1dHhvbGliLmVjYyB9XG4gICAgICAgICk7XG4gICAgICAgIGNoYW5nZUFkZHJlc3MgPSBjaGFuZ2VQYXltZW50LmFkZHJlc3MhO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgcHVycG9zZTogJHtjaGFuZ2VQdXJwb3NlfWApO1xuICAgIH1cblxuICAgIHBzYnQuYWRkT3V0cHV0KHtcbiAgICAgIGFkZHJlc3M6IGNoYW5nZUFkZHJlc3MsXG4gICAgICB2YWx1ZTogQmlnSW50KGNhbGN1bGF0ZWRDaGFuZ2VWYWx1ZSksXG4gICAgfSk7XG5cbiAgICAvLyBBZGQgYmlwMzJEZXJpdmF0aW9uIHRvIHRoZSBjaGFuZ2Ugb3V0cHV0XG4gICAgcHNidC51cGRhdGVPdXRwdXQoMSwge1xuICAgICAgYmlwMzJEZXJpdmF0aW9uOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtYXN0ZXJGaW5nZXJwcmludDogQnVmZmVyLmFsbG9jKDQsIDApLFxuICAgICAgICAgIHBhdGg6IGNoYW5nZURlcml2YXRpb25QYXRoLFxuICAgICAgICAgIHB1YmtleTogY2hhbmdlUHVia2V5LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcHNidCxcbiAgICBtYXN0ZXJLZXk6IGFjY291bnRNYXN0ZXJLZXksXG4gICAgY2hhbmdlRGVyaXZhdGlvblBhdGgsXG4gICAgY2hhbmdlUHVycG9zZSxcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ import { WatchOnlyAccount } from '../../../src';
2
+ export declare const signerRootKey = "tprv8ZgxMBicQKsPe6jS4vDm2n7s42Q6MpvghUQqMmSKG7bTZvGKtjrcU3PGzMNG37yzxywrcdvgkwrr8eYXJmbwdvUNVT4Ucv7ris4jvA7BUmg";
3
+ export declare const accounts: WatchOnlyAccount[];
4
+ //# sourceMappingURL=createWatchOnlyFixture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createWatchOnlyFixture.d.ts","sourceRoot":"","sources":["../../../../test/unit/lightning/createWatchOnlyFixture.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,eAAO,MAAM,aAAa,oHACyF,CAAC;AAEpH,eAAO,MAAM,QAAQ,EAAE,gBAAgB,EAmhDtC,CAAC"}