@bitgo-beta/abstract-lightning 1.0.1-beta.329 → 1.0.1-beta.330

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,10 @@
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
+ ## [1.2.44](https://github.com/BitGo/BitGoJS/compare/@bitgo/abstract-lightning@1.2.42...@bitgo/abstract-lightning@1.2.44) (2025-02-19)
7
+
8
+ **Note:** Version bump only for package @bitgo/abstract-lightning
9
+
6
10
  ## [1.2.43](https://github.com/BitGo/BitGoJS/compare/@bitgo/abstract-lightning@1.2.42...@bitgo/abstract-lightning@1.2.43) (2025-02-11)
7
11
 
8
12
  **Note:** Version bump only for package @bitgo/abstract-lightning
@@ -1,2 +1,4 @@
1
1
  export * from './abstractLightningCoin';
2
+ export * from './wallet';
3
+ export * from './lightning';
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
package/dist/src/index.js CHANGED
@@ -15,4 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./abstractLightningCoin"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBEQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWJzdHJhY3RMaWdodG5pbmdDb2luJztcbiJdfQ==
18
+ __exportStar(require("./wallet"), exports);
19
+ __exportStar(require("./lightning"), exports);
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBEQUF3QztBQUN4QywyQ0FBeUI7QUFDekIsOENBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdExpZ2h0bmluZ0NvaW4nO1xuZXhwb3J0ICogZnJvbSAnLi93YWxsZXQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWdodG5pbmcnO1xuIl19
@@ -0,0 +1,259 @@
1
+ import * as t from 'io-ts';
2
+ export declare function getCodecPair<C extends t.Mixed>(innerCodec: C): t.UnionC<[t.TypeC<{
3
+ lnbtc: C;
4
+ }>, t.TypeC<{
5
+ tlnbtc: C;
6
+ }>]>;
7
+ export interface IPAddressBrand {
8
+ readonly IPAddress: unique symbol;
9
+ }
10
+ export declare const IPAddress: t.BrandC<t.StringC, IPAddressBrand>;
11
+ export type IPAddress = t.TypeOf<typeof IPAddress>;
12
+ export declare const KeyPurpose: t.UnionC<[t.LiteralC<"userAuth">, t.LiteralC<"nodeAuth">]>;
13
+ export type KeyPurpose = t.TypeOf<typeof KeyPurpose>;
14
+ export declare const LightningAuthKeychainCoinSpecific: t.UnionC<[t.TypeC<{
15
+ lnbtc: t.TypeC<{
16
+ purpose: t.UnionC<[t.LiteralC<"userAuth">, t.LiteralC<"nodeAuth">]>;
17
+ }>;
18
+ }>, t.TypeC<{
19
+ tlnbtc: t.TypeC<{
20
+ purpose: t.UnionC<[t.LiteralC<"userAuth">, t.LiteralC<"nodeAuth">]>;
21
+ }>;
22
+ }>]>;
23
+ export declare const LightningKeychain: t.ExactC<t.TypeC<{
24
+ id: import("io-ts-types").NonEmptyStringC;
25
+ pub: import("io-ts-types").NonEmptyStringC;
26
+ encryptedPrv: import("io-ts-types").NonEmptyStringC;
27
+ source: t.LiteralC<"user">;
28
+ }>>;
29
+ export type LightningKeychain = t.TypeOf<typeof LightningKeychain>;
30
+ export declare const LightningAuthKeychain: t.ExactC<t.TypeC<{
31
+ id: import("io-ts-types").NonEmptyStringC;
32
+ pub: import("io-ts-types").NonEmptyStringC;
33
+ encryptedPrv: import("io-ts-types").NonEmptyStringC;
34
+ coinSpecific: t.UnionC<[t.TypeC<{
35
+ lnbtc: t.TypeC<{
36
+ purpose: t.UnionC<[t.LiteralC<"userAuth">, t.LiteralC<"nodeAuth">]>;
37
+ }>;
38
+ }>, t.TypeC<{
39
+ tlnbtc: t.TypeC<{
40
+ purpose: t.UnionC<[t.LiteralC<"userAuth">, t.LiteralC<"nodeAuth">]>;
41
+ }>;
42
+ }>]>;
43
+ source: t.LiteralC<"user">;
44
+ }>>;
45
+ export type LightningAuthKeychain = t.TypeOf<typeof LightningAuthKeychain>;
46
+ export declare const WatchOnlyAccount: t.TypeC<{
47
+ purpose: t.NumberC;
48
+ coin_type: t.NumberC;
49
+ account: t.NumberC;
50
+ xpub: t.StringC;
51
+ }>;
52
+ export type WatchOnlyAccount = t.TypeOf<typeof WatchOnlyAccount>;
53
+ export declare const WatchOnly: t.TypeC<{
54
+ master_key_birthday_timestamp: t.StringC;
55
+ master_key_fingerprint: t.StringC;
56
+ accounts: t.ArrayC<t.TypeC<{
57
+ purpose: t.NumberC;
58
+ coin_type: t.NumberC;
59
+ account: t.NumberC;
60
+ xpub: t.StringC;
61
+ }>>;
62
+ }>;
63
+ export type WatchOnly = t.TypeOf<typeof WatchOnly>;
64
+ export declare const UpdateLightningWalletSignedRequest: t.PartialC<{
65
+ encryptedSignerMacaroon: t.StringC;
66
+ encryptedSignerAdminMacaroon: t.StringC;
67
+ signerIp: t.StringC;
68
+ encryptedSignerTlsKey: t.StringC;
69
+ signerTlsCert: t.StringC;
70
+ watchOnlyAccounts: t.TypeC<{
71
+ master_key_birthday_timestamp: t.StringC;
72
+ master_key_fingerprint: t.StringC;
73
+ accounts: t.ArrayC<t.TypeC<{
74
+ purpose: t.NumberC;
75
+ coin_type: t.NumberC;
76
+ account: t.NumberC;
77
+ xpub: t.StringC;
78
+ }>>;
79
+ }>;
80
+ }>;
81
+ export type UpdateLightningWalletSignedRequest = t.TypeOf<typeof UpdateLightningWalletSignedRequest>;
82
+ export declare const LndAmount: t.ExactC<t.TypeC<{
83
+ sat: import("io-ts-types").BigIntFromStringC;
84
+ msat: import("io-ts-types").BigIntFromStringC;
85
+ }>>;
86
+ export type LndAmount = t.TypeOf<typeof LndAmount>;
87
+ export declare const ChannelBalance: t.ExactC<t.TypeC<{
88
+ /** The balance on your side of the channel and what you the user can spend. */
89
+ localBalance: t.ExactC<t.TypeC<{
90
+ sat: import("io-ts-types").BigIntFromStringC;
91
+ msat: import("io-ts-types").BigIntFromStringC;
92
+ }>>;
93
+ /** The balance on the other side of the channel, what your channel partner can controls. */
94
+ remoteBalance: t.ExactC<t.TypeC<{
95
+ sat: import("io-ts-types").BigIntFromStringC;
96
+ msat: import("io-ts-types").BigIntFromStringC;
97
+ }>>;
98
+ /** Sum of local unsettled balances. */
99
+ unsettledLocalBalance: t.ExactC<t.TypeC<{
100
+ sat: import("io-ts-types").BigIntFromStringC;
101
+ msat: import("io-ts-types").BigIntFromStringC;
102
+ }>>;
103
+ /** Sum of remote unsettled balances. */
104
+ unsettledRemoteBalance: t.ExactC<t.TypeC<{
105
+ sat: import("io-ts-types").BigIntFromStringC;
106
+ msat: import("io-ts-types").BigIntFromStringC;
107
+ }>>;
108
+ /** Sum of local pending balances. */
109
+ pendingOpenLocalBalance: t.ExactC<t.TypeC<{
110
+ sat: import("io-ts-types").BigIntFromStringC;
111
+ msat: import("io-ts-types").BigIntFromStringC;
112
+ }>>;
113
+ /** Sum of local remote balances. */
114
+ pendingOpenRemoteBalance: t.ExactC<t.TypeC<{
115
+ sat: import("io-ts-types").BigIntFromStringC;
116
+ msat: import("io-ts-types").BigIntFromStringC;
117
+ }>>;
118
+ }>>;
119
+ export type ChannelBalance = t.TypeOf<typeof ChannelBalance>;
120
+ export declare const LndWalletBalance: t.ExactC<t.TypeC<{
121
+ /** Total balance, confirmed and unconfirmed */
122
+ totalBalance: import("io-ts-types").BigIntFromStringC;
123
+ confirmedBalance: import("io-ts-types").BigIntFromStringC;
124
+ unconfirmedBalance: import("io-ts-types").BigIntFromStringC;
125
+ lockedBalance: import("io-ts-types").BigIntFromStringC;
126
+ reservedBalanceAnchorChan: import("io-ts-types").BigIntFromStringC;
127
+ }>>;
128
+ export type LndWalletBalance = t.TypeOf<typeof LndWalletBalance>;
129
+ /**
130
+ The balances as returned from lnd.
131
+
132
+ Wallet Balance
133
+ https://api.lightning.community/api/lnd/lightning/wallet-balance/index.html
134
+
135
+ Channel Balance
136
+ https://api.lightning.community/api/lnd/lightning/channel-balance/index.html
137
+ */
138
+ export declare const LndBalance: t.ExactC<t.TypeC<{
139
+ offchain: t.ExactC<t.TypeC<{
140
+ /** The balance on your side of the channel and what you the user can spend. */
141
+ localBalance: t.ExactC<t.TypeC<{
142
+ sat: import("io-ts-types").BigIntFromStringC;
143
+ msat: import("io-ts-types").BigIntFromStringC;
144
+ }>>;
145
+ /** The balance on the other side of the channel, what your channel partner can controls. */
146
+ remoteBalance: t.ExactC<t.TypeC<{
147
+ sat: import("io-ts-types").BigIntFromStringC;
148
+ msat: import("io-ts-types").BigIntFromStringC;
149
+ }>>;
150
+ /** Sum of local unsettled balances. */
151
+ unsettledLocalBalance: t.ExactC<t.TypeC<{
152
+ sat: import("io-ts-types").BigIntFromStringC;
153
+ msat: import("io-ts-types").BigIntFromStringC;
154
+ }>>;
155
+ /** Sum of remote unsettled balances. */
156
+ unsettledRemoteBalance: t.ExactC<t.TypeC<{
157
+ sat: import("io-ts-types").BigIntFromStringC;
158
+ msat: import("io-ts-types").BigIntFromStringC;
159
+ }>>;
160
+ /** Sum of local pending balances. */
161
+ pendingOpenLocalBalance: t.ExactC<t.TypeC<{
162
+ sat: import("io-ts-types").BigIntFromStringC;
163
+ msat: import("io-ts-types").BigIntFromStringC;
164
+ }>>;
165
+ /** Sum of local remote balances. */
166
+ pendingOpenRemoteBalance: t.ExactC<t.TypeC<{
167
+ sat: import("io-ts-types").BigIntFromStringC;
168
+ msat: import("io-ts-types").BigIntFromStringC;
169
+ }>>;
170
+ }>>;
171
+ onchain: t.ExactC<t.TypeC<{
172
+ /** Total balance, confirmed and unconfirmed */
173
+ totalBalance: import("io-ts-types").BigIntFromStringC;
174
+ confirmedBalance: import("io-ts-types").BigIntFromStringC;
175
+ unconfirmedBalance: import("io-ts-types").BigIntFromStringC;
176
+ lockedBalance: import("io-ts-types").BigIntFromStringC;
177
+ reservedBalanceAnchorChan: import("io-ts-types").BigIntFromStringC;
178
+ }>>;
179
+ totalLimboBalance: import("io-ts-types").BigIntFromStringC;
180
+ }>>;
181
+ export type LndBalance = t.TypeOf<typeof LndBalance>;
182
+ export declare const LndGetBalancesResponse: t.ExactC<t.TypeC<{
183
+ inboundBalance: import("io-ts-types").BigIntFromStringC;
184
+ inboundPendingBalance: import("io-ts-types").BigIntFromStringC;
185
+ inboundUnsettledBalance: import("io-ts-types").BigIntFromStringC;
186
+ outboundBalance: import("io-ts-types").BigIntFromStringC;
187
+ outboundPendingBalance: import("io-ts-types").BigIntFromStringC;
188
+ outboundUnsettledBalance: import("io-ts-types").BigIntFromStringC;
189
+ spendableBalanceString: import("io-ts-types").BigIntFromStringC;
190
+ balanceString: import("io-ts-types").BigIntFromStringC;
191
+ confirmedBalanceString: import("io-ts-types").BigIntFromStringC;
192
+ }>>;
193
+ export type LndGetBalancesResponse = t.TypeOf<typeof LndGetBalancesResponse>;
194
+ export declare const ChanPoints: t.ExactC<t.TypeC<{
195
+ fundingTxid: t.StringC;
196
+ outputIndex: t.NumberC;
197
+ }>>;
198
+ export type ChanPoints = t.TypeOf<typeof ChanPoints>;
199
+ export declare const BackupResponse: t.ExactC<t.TypeC<{
200
+ chanPoints: t.ArrayC<t.ExactC<t.TypeC<{
201
+ fundingTxid: t.StringC;
202
+ outputIndex: t.NumberC;
203
+ }>>>;
204
+ multiChanBackup: t.StringC;
205
+ }>>;
206
+ export type BackupResponse = t.TypeOf<typeof BackupResponse>;
207
+ export declare const InvoiceStatus: t.UnionC<[t.LiteralC<"open">, t.LiteralC<"settled">, t.LiteralC<"canceled">]>;
208
+ export type InvoiceStatus = t.TypeOf<typeof InvoiceStatus>;
209
+ export declare const CreateInvoiceBody: t.IntersectionC<[t.TypeC<{
210
+ valueMsat: import("io-ts-types").BigIntFromStringC;
211
+ }>, t.PartialC<{
212
+ memo: t.StringC;
213
+ expiry: t.NumberC;
214
+ }>]>;
215
+ export type CreateInvoiceBody = t.TypeOf<typeof CreateInvoiceBody>;
216
+ /**
217
+ * A representation of the data tracked by the indexer for an invoice it has
218
+ * created within lnd.
219
+ */
220
+ export declare const Invoice: t.IntersectionC<[t.TypeC<{
221
+ valueMsat: import("io-ts-types").BigIntFromStringC;
222
+ paymentHash: t.StringC;
223
+ /** The BOLT #11 encoded invoice string */
224
+ invoice: t.StringC;
225
+ /** The public BitGo walletId to which this invoice belongs */
226
+ walletId: t.StringC;
227
+ status: t.UnionC<[t.LiteralC<"open">, t.LiteralC<"settled">, t.LiteralC<"canceled">]>;
228
+ /** A date in ISO format representing when this invoice expires. */
229
+ expiresAt: import("io-ts-types").DateFromISOStringC;
230
+ }>, t.PartialC<{
231
+ memo: t.StringC;
232
+ }>]>;
233
+ export type Invoice = t.TypeOf<typeof Invoice>;
234
+ export declare const InvoiceInfo: t.IntersectionC<[t.TypeC<{
235
+ valueMsat: import("io-ts-types").BigIntFromStringC;
236
+ paymentHash: t.StringC;
237
+ invoice: t.StringC;
238
+ walletId: t.StringC;
239
+ status: t.UnionC<[t.LiteralC<"open">, t.LiteralC<"settled">, t.LiteralC<"canceled">]>;
240
+ expiresAt: import("io-ts-types").DateFromISOStringC;
241
+ createdAt: import("io-ts-types").DateFromISOStringC;
242
+ updatedAt: import("io-ts-types").DateFromISOStringC;
243
+ }>, t.PartialC<{
244
+ /**
245
+ * The number of millisats actually paid to this invoice, this may be greater
246
+ * than the amount requested by the invoice, since lightning allows overpaying
247
+ * (but not underpaying) invoices.
248
+ */
249
+ amtPaidMsat: import("io-ts-types").BigIntFromStringC;
250
+ }>]>;
251
+ export type InvoiceInfo = t.TypeOf<typeof InvoiceInfo>;
252
+ export declare const InvoiceQuery: t.PartialC<{
253
+ status: t.UnionC<[t.LiteralC<"open">, t.LiteralC<"settled">, t.LiteralC<"canceled">]>;
254
+ limit: t.StringC;
255
+ startDate: import("io-ts-types").DateFromISOStringC;
256
+ endDate: import("io-ts-types").DateFromISOStringC;
257
+ }>;
258
+ export type InvoiceQuery = t.TypeOf<typeof InvoiceQuery>;
259
+ //# sourceMappingURL=codecs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codecs.d.ts","sourceRoot":"","sources":["../../../src/lightning/codecs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,207 @@
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.InvoiceQuery = exports.InvoiceInfo = exports.Invoice = exports.CreateInvoiceBody = exports.InvoiceStatus = exports.BackupResponse = exports.ChanPoints = exports.LndGetBalancesResponse = exports.LndBalance = exports.LndWalletBalance = exports.ChannelBalance = exports.LndAmount = exports.UpdateLightningWalletSignedRequest = exports.WatchOnly = exports.WatchOnlyAccount = exports.LightningAuthKeychain = exports.LightningKeychain = exports.LightningAuthKeychainCoinSpecific = exports.KeyPurpose = exports.IPAddress = void 0;
37
+ exports.getCodecPair = getCodecPair;
38
+ /* eslint-disable no-redeclare */
39
+ const t = __importStar(require("io-ts"));
40
+ const net_1 = require("net");
41
+ const io_ts_types_1 = require("io-ts-types");
42
+ const BigIntFromString_1 = require("io-ts-types/BigIntFromString");
43
+ const DateFromISOString_1 = require("io-ts-types/DateFromISOString");
44
+ function getCodecPair(innerCodec) {
45
+ return t.union([t.type({ lnbtc: innerCodec }), t.type({ tlnbtc: innerCodec })]);
46
+ }
47
+ exports.IPAddress = t.brand(t.string, (input) => (0, net_1.isIP)(input) !== 0, // Type guard that checks if the string is a valid IP
48
+ 'IPAddress');
49
+ exports.KeyPurpose = t.union([t.literal('userAuth'), t.literal('nodeAuth')], 'KeyPurpose');
50
+ exports.LightningAuthKeychainCoinSpecific = getCodecPair(t.type({ purpose: exports.KeyPurpose }));
51
+ exports.LightningKeychain = t.strict({
52
+ id: io_ts_types_1.NonEmptyString,
53
+ pub: io_ts_types_1.NonEmptyString,
54
+ encryptedPrv: io_ts_types_1.NonEmptyString,
55
+ source: t.literal('user'),
56
+ }, 'LightningKeychain');
57
+ exports.LightningAuthKeychain = t.strict({
58
+ id: io_ts_types_1.NonEmptyString,
59
+ pub: io_ts_types_1.NonEmptyString,
60
+ encryptedPrv: io_ts_types_1.NonEmptyString,
61
+ coinSpecific: exports.LightningAuthKeychainCoinSpecific,
62
+ source: t.literal('user'),
63
+ }, 'LightningAuthKeychain');
64
+ exports.WatchOnlyAccount = t.type({
65
+ purpose: t.number,
66
+ coin_type: t.number,
67
+ account: t.number,
68
+ xpub: t.string,
69
+ });
70
+ exports.WatchOnly = t.type({
71
+ master_key_birthday_timestamp: t.string,
72
+ master_key_fingerprint: t.string,
73
+ accounts: t.array(exports.WatchOnlyAccount),
74
+ });
75
+ exports.UpdateLightningWalletSignedRequest = t.partial({
76
+ encryptedSignerMacaroon: t.string,
77
+ encryptedSignerAdminMacaroon: t.string,
78
+ signerIp: t.string,
79
+ encryptedSignerTlsKey: t.string,
80
+ signerTlsCert: t.string,
81
+ watchOnlyAccounts: exports.WatchOnly,
82
+ });
83
+ exports.LndAmount = t.strict({
84
+ sat: BigIntFromString_1.BigIntFromString,
85
+ msat: BigIntFromString_1.BigIntFromString,
86
+ }, 'LndAmount');
87
+ exports.ChannelBalance = t.strict({
88
+ /** The balance on your side of the channel and what you the user can spend. */
89
+ localBalance: exports.LndAmount,
90
+ /** The balance on the other side of the channel, what your channel partner can controls. */
91
+ remoteBalance: exports.LndAmount,
92
+ /** Sum of local unsettled balances. */
93
+ unsettledLocalBalance: exports.LndAmount,
94
+ /** Sum of remote unsettled balances. */
95
+ unsettledRemoteBalance: exports.LndAmount,
96
+ /** Sum of local pending balances. */
97
+ pendingOpenLocalBalance: exports.LndAmount,
98
+ /** Sum of local remote balances. */
99
+ pendingOpenRemoteBalance: exports.LndAmount,
100
+ }, 'ChannelBalance');
101
+ exports.LndWalletBalance = t.strict({
102
+ /** Total balance, confirmed and unconfirmed */
103
+ totalBalance: BigIntFromString_1.BigIntFromString,
104
+ confirmedBalance: BigIntFromString_1.BigIntFromString,
105
+ unconfirmedBalance: BigIntFromString_1.BigIntFromString,
106
+ lockedBalance: BigIntFromString_1.BigIntFromString,
107
+ reservedBalanceAnchorChan: BigIntFromString_1.BigIntFromString,
108
+ }, 'LndWalletBalance');
109
+ /**
110
+ The balances as returned from lnd.
111
+
112
+ Wallet Balance
113
+ https://api.lightning.community/api/lnd/lightning/wallet-balance/index.html
114
+
115
+ Channel Balance
116
+ https://api.lightning.community/api/lnd/lightning/channel-balance/index.html
117
+ */
118
+ exports.LndBalance = t.strict({
119
+ offchain: exports.ChannelBalance,
120
+ onchain: exports.LndWalletBalance,
121
+ totalLimboBalance: BigIntFromString_1.BigIntFromString,
122
+ }, 'LndBalance');
123
+ exports.LndGetBalancesResponse = t.strict({
124
+ inboundBalance: BigIntFromString_1.BigIntFromString,
125
+ inboundPendingBalance: BigIntFromString_1.BigIntFromString,
126
+ inboundUnsettledBalance: BigIntFromString_1.BigIntFromString,
127
+ outboundBalance: BigIntFromString_1.BigIntFromString,
128
+ outboundPendingBalance: BigIntFromString_1.BigIntFromString,
129
+ outboundUnsettledBalance: BigIntFromString_1.BigIntFromString,
130
+ // wallet balances, names forced by type in AbstractCoin
131
+ spendableBalanceString: BigIntFromString_1.BigIntFromString,
132
+ balanceString: BigIntFromString_1.BigIntFromString,
133
+ confirmedBalanceString: BigIntFromString_1.BigIntFromString,
134
+ }, 'LndGetBalancesResponse');
135
+ exports.ChanPoints = t.strict({
136
+ fundingTxid: t.string,
137
+ outputIndex: t.number,
138
+ }, 'ChanPoints');
139
+ exports.BackupResponse = t.strict({
140
+ chanPoints: t.array(exports.ChanPoints),
141
+ multiChanBackup: t.string,
142
+ }, 'BackupResponse');
143
+ exports.InvoiceStatus = t.union([
144
+ // Initial state.
145
+ // Transitions to 'settled' or 'canceled' on LND notification.
146
+ t.literal('open'),
147
+ // Final state.
148
+ t.literal('settled'),
149
+ // Final state.
150
+ t.literal('canceled'),
151
+ ], 'InvoiceStatus');
152
+ exports.CreateInvoiceBody = t.intersection([
153
+ t.type({
154
+ valueMsat: BigIntFromString_1.BigIntFromString,
155
+ }),
156
+ t.partial({
157
+ memo: t.string,
158
+ expiry: t.number,
159
+ }),
160
+ ], 'CreateInvoiceBody');
161
+ /**
162
+ * A representation of the data tracked by the indexer for an invoice it has
163
+ * created within lnd.
164
+ */
165
+ exports.Invoice = t.intersection([
166
+ t.type({
167
+ valueMsat: BigIntFromString_1.BigIntFromString,
168
+ paymentHash: t.string,
169
+ /** The BOLT #11 encoded invoice string */
170
+ invoice: t.string,
171
+ /** The public BitGo walletId to which this invoice belongs */
172
+ walletId: t.string,
173
+ status: exports.InvoiceStatus,
174
+ /** A date in ISO format representing when this invoice expires. */
175
+ expiresAt: DateFromISOString_1.DateFromISOString,
176
+ }),
177
+ t.partial({
178
+ memo: t.string,
179
+ }),
180
+ ], 'Invoice');
181
+ exports.InvoiceInfo = t.intersection([
182
+ t.type({
183
+ valueMsat: BigIntFromString_1.BigIntFromString,
184
+ paymentHash: t.string,
185
+ invoice: t.string,
186
+ walletId: t.string,
187
+ status: exports.InvoiceStatus,
188
+ expiresAt: DateFromISOString_1.DateFromISOString,
189
+ createdAt: DateFromISOString_1.DateFromISOString,
190
+ updatedAt: DateFromISOString_1.DateFromISOString,
191
+ }),
192
+ t.partial({
193
+ /**
194
+ * The number of millisats actually paid to this invoice, this may be greater
195
+ * than the amount requested by the invoice, since lightning allows overpaying
196
+ * (but not underpaying) invoices.
197
+ */
198
+ amtPaidMsat: BigIntFromString_1.BigIntFromString,
199
+ }),
200
+ ], 'InvoiceInfo');
201
+ exports.InvoiceQuery = t.partial({
202
+ status: exports.InvoiceStatus,
203
+ limit: t.string,
204
+ startDate: DateFromISOString_1.DateFromISOString,
205
+ endDate: DateFromISOString_1.DateFromISOString,
206
+ }, 'InvoiceQuery');
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpZ2h0bmluZy9jb2RlY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT0Esb0NBSUM7QUFYRCxpQ0FBaUM7QUFDakMseUNBQTJCO0FBQzNCLDZCQUEyQjtBQUMzQiw2Q0FBNkM7QUFDN0MsbUVBQWdFO0FBQ2hFLHFFQUFrRTtBQUVsRSxTQUFnQixZQUFZLENBQzFCLFVBQWE7SUFFYixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRixDQUFDO0FBTVksUUFBQSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FDOUIsQ0FBQyxDQUFDLE1BQU0sRUFDUixDQUFDLEtBQUssRUFBOEMsRUFBRSxDQUFDLElBQUEsVUFBSSxFQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxxREFBcUQ7QUFDL0gsV0FBVyxDQUNaLENBQUM7QUFJVyxRQUFBLFVBQVUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFJbkYsUUFBQSxpQ0FBaUMsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxrQkFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRWxGLFFBQUEsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FDdkM7SUFDRSxFQUFFLEVBQUUsNEJBQWM7SUFDbEIsR0FBRyxFQUFF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LENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZWRlY2xhcmUgKi9cbmltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0IHsgaXNJUCB9IGZyb20gJ25ldCc7XG5pbXBvcnQgeyBOb25FbXB0eVN0cmluZyB9IGZyb20gJ2lvLXRzLXR5cGVzJztcbmltcG9ydCB7IEJpZ0ludEZyb21TdHJpbmcgfSBmcm9tICdpby10cy10eXBlcy9CaWdJbnRGcm9tU3RyaW5nJztcbmltcG9ydCB7IERhdGVGcm9tSVNPU3RyaW5nIH0gZnJvbSAnaW8tdHMtdHlwZXMvRGF0ZUZyb21JU09TdHJpbmcnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29kZWNQYWlyPEMgZXh0ZW5kcyB0Lk1peGVkPihcbiAgaW5uZXJDb2RlYzogQ1xuKTogdC5VbmlvbkM8W3QuVHlwZUM8eyBsbmJ0YzogQyB9PiwgdC5UeXBlQzx7IHRsbmJ0YzogQyB9Pl0+IHtcbiAgcmV0dXJuIHQudW5pb24oW3QudHlwZSh7IGxuYnRjOiBpbm5lckNvZGVjIH0pLCB0LnR5cGUoeyB0bG5idGM6IGlubmVyQ29kZWMgfSldKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUEFkZHJlc3NCcmFuZCB7XG4gIHJlYWRvbmx5IElQQWRkcmVzczogdW5pcXVlIHN5bWJvbDsgLy8gRW5zdXJlcyB1bmlxdWVuZXNzIGFjcm9zcyBtb2R1bGVzXG59XG5cbmV4cG9ydCBjb25zdCBJUEFkZHJlc3MgPSB0LmJyYW5kKFxuICB0LnN0cmluZyxcbiAgKGlucHV0KTogaW5wdXQgaXMgdC5CcmFuZGVkPHN0cmluZywgSVBBZGRyZXNzQnJhbmQ+ID0+IGlzSVAoaW5wdXQpICE9PSAwLCAvLyBUeXBlIGd1YXJkIHRoYXQgY2hlY2tzIGlmIHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBJUFxuICAnSVBBZGRyZXNzJ1xuKTtcblxuZXhwb3J0IHR5cGUgSVBBZGRyZXNzID0gdC5UeXBlT2Y8dHlwZW9mIElQQWRkcmVzcz47XG5cbmV4cG9ydCBjb25zdCBLZXlQdXJwb3NlID0gdC51bmlvbihbdC5saXRlcmFsKCd1c2VyQXV0aCcpLCB0LmxpdGVyYWwoJ25vZGVBdXRoJyldLCAnS2V5UHVycG9zZScpO1xuXG5leHBvcnQgdHlwZSBLZXlQdXJwb3NlID0gdC5UeXBlT2Y8dHlwZW9mIEtleVB1cnBvc2U+O1xuXG5leHBvcnQgY29uc3QgTGlnaHRuaW5nQXV0aEtleWNoYWluQ29pblNwZWNpZmljID0gZ2V0Q29kZWNQYWlyKHQudHlwZSh7IHB1cnBvc2U6IEtleVB1cnBvc2UgfSkpO1xuXG5leHBvcnQgY29uc3QgTGlnaHRuaW5nS2V5Y2hhaW4gPSB0LnN0cmljdChcbiAge1xuICAgIGlkOiBOb25FbXB0eVN0cmluZyxcbiAgICBwdWI6IE5vbkVtcHR5U3RyaW5nLFxuICAgIGVuY3J5cHRlZFBydjogTm9uRW1wdHlTdHJpbmcsXG4gICAgc291cmNlOiB0LmxpdGVyYWwoJ3VzZXInKSxcbiAgfSxcbiAgJ0xpZ2h0bmluZ0tleWNoYWluJ1xuKTtcblxuZXhwb3J0IHR5cGUgTGlnaHRuaW5nS2V5Y2hhaW4gPSB0LlR5cGVPZjx0eXBlb2YgTGlnaHRuaW5nS2V5Y2hhaW4+O1xuXG5leHBvcnQgY29uc3QgTGlnaHRuaW5nQXV0aEtleWNoYWluID0gdC5zdHJpY3QoXG4gIHtcbiAgICBpZDogTm9uRW1wdHlTdHJpbmcsXG4gICAgcHViOiBOb25FbXB0eVN0cmluZyxcbiAgICBlbmNyeXB0ZWRQcnY6IE5vbkVtcHR5U3RyaW5nLFxuICAgIGNvaW5TcGVjaWZpYzogTGlnaHRuaW5nQXV0aEtleWNoYWluQ29pblNwZWNpZmljLFxuICAgIHNvdXJjZTogdC5saXRlcmFsKCd1c2VyJyksXG4gIH0sXG4gICdMaWdodG5pbmdBdXRoS2V5Y2hhaW4nXG4pO1xuXG5leHBvcnQgdHlwZSBMaWdodG5pbmdBdXRoS2V5Y2hhaW4gPSB0LlR5cGVPZjx0eXBlb2YgTGlnaHRuaW5nQXV0aEtleWNoYWluPjtcblxuZXhwb3J0IGNvbnN0IFdhdGNoT25seUFjY291bnQgPSB0LnR5cGUoe1xuICBwdXJwb3NlOiB0Lm51bWJlcixcbiAgY29pbl90eXBlOiB0Lm51bWJlcixcbiAgYWNjb3VudDogdC5udW1iZXIsXG4gIHhwdWI6IHQuc3RyaW5nLFxufSk7XG5cbmV4cG9ydCB0eXBlIFdhdGNoT25seUFjY291bnQgPSB0LlR5cGVPZjx0eXBlb2YgV2F0Y2hPbmx5QWNjb3VudD47XG5cbmV4cG9ydCBjb25zdCBXYXRjaE9ubHkgPSB0LnR5cGUoe1xuICBtYXN0ZXJfa2V5X2JpcnRoZGF5X3RpbWVzdGFtcDogdC5zdHJpbmcsXG4gIG1hc3Rlcl9rZXlfZmluZ2VycHJpbnQ6IHQuc3RyaW5nLFxuICBhY2NvdW50czogdC5hcnJheShXYXRjaE9ubHlBY2NvdW50KSxcbn0pO1xuXG5leHBvcnQgdHlwZSBXYXRjaE9ubHkgPSB0LlR5cGVPZjx0eXBlb2YgV2F0Y2hPbmx5PjtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUxpZ2h0bmluZ1dhbGxldFNpZ25lZFJlcXVlc3QgPSB0LnBhcnRpYWwoe1xuICBlbmNyeXB0ZWRTaWduZXJNYWNhcm9vbjogdC5zdHJpbmcsXG4gIGVuY3J5cHRlZFNpZ25lckFkbWluTWFjYXJvb246IHQuc3RyaW5nLFxuICBzaWduZXJJcDogdC5zdHJpbmcsXG4gIGVuY3J5cHRlZFNpZ25lclRsc0tleTogdC5zdHJpbmcsXG4gIHNpZ25lclRsc0NlcnQ6IHQuc3RyaW5nLFxuICB3YXRjaE9ubHlBY2NvdW50czogV2F0Y2hPbmx5LFxufSk7XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUxpZ2h0bmluZ1dhbGxldFNpZ25lZFJlcXVlc3QgPSB0LlR5cGVPZjx0eXBlb2YgVXBkYXRlTGlnaHRuaW5nV2FsbGV0U2lnbmVkUmVxdWVzdD47XG5cbmV4cG9ydCBjb25zdCBMbmRBbW91bnQgPSB0LnN0cmljdChcbiAge1xuICAgIHNhdDogQmlnSW50RnJvbVN0cmluZyxcbiAgICBtc2F0OiBCaWdJbnRGcm9tU3RyaW5nLFxuICB9LFxuICAnTG5kQW1vdW50J1xuKTtcblxuZXhwb3J0IHR5cGUgTG5kQW1vdW50ID0gdC5UeXBlT2Y8dHlwZW9mIExuZEFtb3VudD47XG5cbmV4cG9ydCBjb25zdCBDaGFubmVsQmFsYW5jZSA9IHQuc3RyaWN0KFxuICB7XG4gICAgLyoqIFRoZSBiYWxhbmNlIG9uIHlvdXIgc2lkZSBvZiB0aGUgY2hhbm5lbCBhbmQgd2hhdCB5b3UgdGhlIHVzZXIgY2FuIHNwZW5kLiAqL1xuICAgIGxvY2FsQmFsYW5jZTogTG5kQW1vdW50LFxuICAgIC8qKiBUaGUgYmFsYW5jZSBvbiB0aGUgb3RoZXIgc2lkZSBvZiB0aGUgY2hhbm5lbCwgd2hhdCB5b3VyIGNoYW5uZWwgcGFydG5lciBjYW4gY29udHJvbHMuICovXG4gICAgcmVtb3RlQmFsYW5jZTogTG5kQW1vdW50LFxuICAgIC8qKiBTdW0gb2YgbG9jYWwgdW5zZXR0bGVkIGJhbGFuY2VzLiAqL1xuICAgIHVuc2V0dGxlZExvY2FsQmFsYW5jZTogTG5kQW1vdW50LFxuICAgIC8qKiBTdW0gb2YgcmVtb3RlIHVuc2V0dGxlZCBiYWxhbmNlcy4gKi9cbiAgICB1bnNldHRsZWRSZW1vdGVCYWxhbmNlOiBMbmRBbW91bnQsXG4gICAgLyoqIFN1bSBvZiBsb2NhbCBwZW5kaW5nIGJhbGFuY2VzLiAqL1xuICAgIHBlbmRpbmdPcGVuTG9jYWxCYWxhbmNlOiBMbmRBbW91bnQsXG4gICAgLyoqIFN1bSBvZiBsb2NhbCByZW1vdGUgYmFsYW5jZXMuICovXG4gICAgcGVuZGluZ09wZW5SZW1vdGVCYWxhbmNlOiBMbmRBbW91bnQsXG4gIH0sXG4gICdDaGFubmVsQmFsYW5jZSdcbik7XG5cbmV4cG9ydCB0eXBlIENoYW5uZWxCYWxhbmNlID0gdC5UeXBlT2Y8dHlwZW9mIENoYW5uZWxCYWxhbmNlPjtcblxuZXhwb3J0IGNvbnN0IExuZFdhbGxldEJhbGFuY2UgPSB0LnN0cmljdChcbiAge1xuICAgIC8qKiBUb3RhbCBiYWxhbmNlLCBjb25maXJtZWQgYW5kIHVuY29uZmlybWVkICovXG4gICAgdG90YWxCYWxhbmNlOiBCaWdJbnRGcm9tU3RyaW5nLFxuICAgIGNvbmZpcm1lZEJhbGFuY2U6IEJpZ0ludEZyb21TdHJpbmcsXG4gICAgdW5jb25maXJtZWRCYWxhbmNlOiBCaWdJbnRGcm9tU3RyaW5nLFxuICAgIGxvY2tlZEJhbGFuY2U6IEJpZ0ludEZyb21TdHJpbmcsXG4gICAgcmVzZXJ2ZWRCYWxhbmNlQW5jaG9yQ2hhbjogQmlnSW50RnJvbVN0cmluZyxcbiAgfSxcbiAgJ0xuZFdhbGxldEJhbGFuY2UnXG4pO1xuXG5leHBvcnQgdHlwZSBMbmRXYWxsZXRCYWxhbmNlID0gdC5UeXBlT2Y8dHlwZW9mIExuZFdhbGxldEJhbGFuY2U+O1xuXG4vKipcbiBUaGUgYmFsYW5jZXMgYXMgcmV0dXJuZWQgZnJvbSBsbmQuXG5cbiBXYWxsZXQgQmFsYW5jZVxuIGh0dHBzOi8vYXBpLmxpZ2h0bmluZy5jb21tdW5pdHkvYXBpL2xuZC9saWdodG5pbmcvd2FsbGV0LWJhbGFuY2UvaW5kZXguaHRtbFxuXG4gQ2hhbm5lbCBCYWxhbmNlXG4gaHR0cHM6Ly9hcGkubGlnaHRuaW5nLmNvbW11bml0eS9hcGkvbG5kL2xpZ2h0bmluZy9jaGFubmVsLWJhbGFuY2UvaW5kZXguaHRtbFxuICovXG5leHBvcnQgY29uc3QgTG5kQmFsYW5jZSA9IHQuc3RyaWN0KFxuICB7XG4gICAgb2ZmY2hhaW46IENoYW5uZWxCYWxhbmNlLFxuICAgIG9uY2hhaW46IExuZFdhbGxldEJhbGFuY2UsXG4gICAgdG90YWxMaW1ib0JhbGFuY2U6IEJpZ0ludEZyb21TdHJpbmcsXG4gIH0sXG4gICdMbmRCYWxhbmNlJ1xuKTtcblxuZXhwb3J0IHR5cGUgTG5kQmFsYW5jZSA9IHQuVHlwZU9mPHR5cGVvZiBMbmRCYWxhbmNlPjtcblxuZXhwb3J0IGNvbnN0IExuZEdldEJhbGFuY2VzUmVzcG9uc2UgPSB0LnN0cmljdChcbiAge1xuICAgIGluYm91bmRCYWxhbmNlOiBCaWdJbnRGcm9tU3RyaW5nLFxuICAgIGluYm91bmRQZW5kaW5nQmFsYW5jZTogQmlnSW50RnJvbVN0cmluZyxcbiAgICBpbmJvdW5kVW5zZXR0bGVkQmFsYW5jZTogQmlnSW50RnJvbVN0cmluZyxcbiAgICBvdXRib3VuZEJhbGFuY2U6IEJpZ0ludEZyb21TdHJpbmcsXG4gICAgb3V0Ym91bmRQZW5kaW5nQmFsYW5jZTogQmlnSW50RnJvbVN0cmluZyxcbiAgICBvdXRib3VuZFVuc2V0dGxlZEJhbGFuY2U6IEJpZ0ludEZyb21TdHJpbmcsXG4gICAgLy8gd2FsbGV0IGJhbGFuY2VzLCBuYW1lcyBmb3JjZWQgYnkgdHlwZSBpbiBBYnN0cmFjdENvaW5cbiAgICBzcGVuZGFibGVCYWxhbmNlU3RyaW5nOiBCaWdJbnRGcm9tU3RyaW5nLFxuICAgIGJhbGFuY2VTdHJpbmc6IEJpZ0ludEZyb21TdHJpbmcsXG4gICAgY29uZmlybWVkQmFsYW5jZVN0cmluZzogQmlnSW50RnJvbVN0cmluZyxcbiAgfSxcbiAgJ0xuZEdldEJhbGFuY2VzUmVzcG9uc2UnXG4pO1xuXG5leHBvcnQgdHlwZSBMbmRHZXRCYWxhbmNlc1Jlc3BvbnNlID0gdC5UeXBlT2Y8dHlwZW9mIExuZEdldEJhbGFuY2VzUmVzcG9uc2U+O1xuXG5leHBvcnQgY29uc3QgQ2hhblBvaW50cyA9IHQuc3RyaWN0KFxuICB7XG4gICAgZnVuZGluZ1R4aWQ6IHQuc3RyaW5nLFxuICAgIG91dHB1dEluZGV4OiB0Lm51bWJlcixcbiAgfSxcbiAgJ0NoYW5Qb2ludHMnXG4pO1xuXG5leHBvcnQgdHlwZSBDaGFuUG9pbnRzID0gdC5UeXBlT2Y8dHlwZW9mIENoYW5Qb2ludHM+O1xuXG5leHBvcnQgY29uc3QgQmFja3VwUmVzcG9uc2UgPSB0LnN0cmljdChcbiAge1xuICAgIGNoYW5Qb2ludHM6IHQuYXJyYXkoQ2hhblBvaW50cyksXG4gICAgbXVsdGlDaGFuQmFja3VwOiB0LnN0cmluZyxcbiAgfSxcbiAgJ0JhY2t1cFJlc3BvbnNlJ1xuKTtcblxuZXhwb3J0IHR5cGUgQmFja3VwUmVzcG9uc2UgPSB0LlR5cGVPZjx0eXBlb2YgQmFja3VwUmVzcG9uc2U+O1xuXG5leHBvcnQgY29uc3QgSW52b2ljZVN0YXR1cyA9IHQudW5pb24oXG4gIFtcbiAgICAvLyBJbml0aWFsIHN0YXRlLlxuICAgIC8vIFRyYW5zaXRpb25zIHRvICdzZXR0bGVkJyBvciAnY2FuY2VsZWQnIG9uIExORCBub3RpZmljYXRpb24uXG4gICAgdC5saXRlcmFsKCdvcGVuJyksXG4gICAgLy8gRmluYWwgc3RhdGUuXG4gICAgdC5saXRlcmFsKCdzZXR0bGVkJyksXG4gICAgLy8gRmluYWwgc3RhdGUuXG4gICAgdC5saXRlcmFsKCdjYW5jZWxlZCcpLFxuICBdLFxuICAnSW52b2ljZVN0YXR1cydcbik7XG5leHBvcnQgdHlwZSBJbnZvaWNlU3RhdHVzID0gdC5UeXBlT2Y8dHlwZW9mIEludm9pY2VTdGF0dXM+O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlSW52b2ljZUJvZHkgPSB0LmludGVyc2VjdGlvbihcbiAgW1xuICAgIHQudHlwZSh7XG4gICAgICB2YWx1ZU1zYXQ6IEJpZ0ludEZyb21TdHJpbmcsXG4gICAgfSksXG4gICAgdC5wYXJ0aWFsKHtcbiAgICAgIG1lbW86IHQuc3RyaW5nLFxuICAgICAgZXhwaXJ5OiB0Lm51bWJlcixcbiAgICB9KSxcbiAgXSxcbiAgJ0NyZWF0ZUludm9pY2VCb2R5J1xuKTtcbmV4cG9ydCB0eXBlIENyZWF0ZUludm9pY2VCb2R5ID0gdC5UeXBlT2Y8dHlwZW9mIENyZWF0ZUludm9pY2VCb2R5PjtcblxuLyoqXG4gKiBBIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBkYXRhIHRyYWNrZWQgYnkgdGhlIGluZGV4ZXIgZm9yIGFuIGludm9pY2UgaXQgaGFzXG4gKiBjcmVhdGVkIHdpdGhpbiBsbmQuXG4gKi9cbmV4cG9ydCBjb25zdCBJbnZvaWNlID0gdC5pbnRlcnNlY3Rpb24oXG4gIFtcbiAgICB0LnR5cGUoe1xuICAgICAgdmFsdWVNc2F0OiBCaWdJbnRGcm9tU3RyaW5nLFxuICAgICAgcGF5bWVudEhhc2g6IHQuc3RyaW5nLFxuICAgICAgLyoqIFRoZSBCT0xUICMxMSBlbmNvZGVkIGludm9pY2Ugc3RyaW5nICovXG4gICAgICBpbnZvaWNlOiB0LnN0cmluZyxcbiAgICAgIC8qKiBUaGUgcHVibGljIEJpdEdvIHdhbGxldElkIHRvIHdoaWNoIHRoaXMgaW52b2ljZSBiZWxvbmdzICovXG4gICAgICB3YWxsZXRJZDogdC5zdHJpbmcsXG4gICAgICBzdGF0dXM6IEludm9pY2VTdGF0dXMsXG4gICAgICAvKiogQSBkYXRlIGluIElTTyBmb3JtYXQgcmVwcmVzZW50aW5nIHdoZW4gdGhpcyBpbnZvaWNlIGV4cGlyZXMuICovXG4gICAgICBleHBpcmVzQXQ6IERhdGVGcm9tSVNPU3RyaW5nLFxuICAgIH0pLFxuICAgIHQucGFydGlhbCh7XG4gICAgICBtZW1vOiB0LnN0cmluZyxcbiAgICB9KSxcbiAgXSxcbiAgJ0ludm9pY2UnXG4pO1xuZXhwb3J0IHR5cGUgSW52b2ljZSA9IHQuVHlwZU9mPHR5cGVvZiBJbnZvaWNlPjtcblxuZXhwb3J0IGNvbnN0IEludm9pY2VJbmZvID0gdC5pbnRlcnNlY3Rpb24oXG4gIFtcbiAgICB0LnR5cGUoe1xuICAgICAgdmFsdWVNc2F0OiBCaWdJbnRGcm9tU3RyaW5nLFxuICAgICAgcGF5bWVudEhhc2g6IHQuc3RyaW5nLFxuICAgICAgaW52b2ljZTogdC5zdHJpbmcsXG4gICAgICB3YWxsZXRJZDogdC5zdHJpbmcsXG4gICAgICBzdGF0dXM6IEludm9pY2VTdGF0dXMsXG4gICAgICBleHBpcmVzQXQ6IERhdGVGcm9tSVNPU3RyaW5nLFxuICAgICAgY3JlYXRlZEF0OiBEYXRlRnJvbUlTT1N0cmluZyxcbiAgICAgIHVwZGF0ZWRBdDogRGF0ZUZyb21JU09TdHJpbmcsXG4gICAgfSksXG4gICAgdC5wYXJ0aWFsKHtcbiAgICAgIC8qKlxuICAgICAgICogVGhlIG51bWJlciBvZiBtaWxsaXNhdHMgYWN0dWFsbHkgcGFpZCB0byB0aGlzIGludm9pY2UsIHRoaXMgbWF5IGJlIGdyZWF0ZXJcbiAgICAgICAqIHRoYW4gdGhlIGFtb3VudCByZXF1ZXN0ZWQgYnkgdGhlIGludm9pY2UsIHNpbmNlIGxpZ2h0bmluZyBhbGxvd3Mgb3ZlcnBheWluZ1xuICAgICAgICogKGJ1dCBub3QgdW5kZXJwYXlpbmcpIGludm9pY2VzLlxuICAgICAgICovXG4gICAgICBhbXRQYWlkTXNhdDogQmlnSW50RnJvbVN0cmluZyxcbiAgICB9KSxcbiAgXSxcbiAgJ0ludm9pY2VJbmZvJ1xuKTtcbmV4cG9ydCB0eXBlIEludm9pY2VJbmZvID0gdC5UeXBlT2Y8dHlwZW9mIEludm9pY2VJbmZvPjtcblxuZXhwb3J0IGNvbnN0IEludm9pY2VRdWVyeSA9IHQucGFydGlhbChcbiAge1xuICAgIHN0YXR1czogSW52b2ljZVN0YXR1cyxcbiAgICBsaW1pdDogdC5zdHJpbmcsXG4gICAgc3RhcnREYXRlOiBEYXRlRnJvbUlTT1N0cmluZyxcbiAgICBlbmREYXRlOiBEYXRlRnJvbUlTT1N0cmluZyxcbiAgfSxcbiAgJ0ludm9pY2VRdWVyeSdcbik7XG5cbmV4cG9ydCB0eXBlIEludm9pY2VRdWVyeSA9IHQuVHlwZU9mPHR5cGVvZiBJbnZvaWNlUXVlcnk+O1xuIl19
@@ -0,0 +1,5 @@
1
+ export * from './signableJson';
2
+ export * from './signature';
3
+ export * from './lightningUtils';
4
+ export * from './codecs';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lightning/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./signableJson"), exports);
18
+ __exportStar(require("./signature"), exports);
19
+ __exportStar(require("./lightningUtils"), exports);
20
+ __exportStar(require("./codecs"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGlnaHRuaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBK0I7QUFDL0IsOENBQTRCO0FBQzVCLG1EQUFpQztBQUNqQywyQ0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NpZ25hYmxlSnNvbic7XG5leHBvcnQgKiBmcm9tICcuL3NpZ25hdHVyZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpZ2h0bmluZ1V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vY29kZWNzJztcbiJdfQ==
@@ -0,0 +1,59 @@
1
+ import * as statics from '@bitgo-beta/statics';
2
+ import * as utxolib from '@bitgo-beta/utxo-lib';
3
+ import { WatchOnly } from './codecs';
4
+ export declare const signerMacaroonPermissions: {
5
+ entity: string;
6
+ action: string;
7
+ }[];
8
+ export declare const lightningNetworkName: readonly ["bitcoin", "testnet"];
9
+ export type LightningNetworkName = (typeof lightningNetworkName)[number];
10
+ /**
11
+ * Checks if the coin name is a lightning coin name.
12
+ */
13
+ export declare function isLightningCoinName(coinName: unknown): coinName is 'lnbtc' | 'tlnbtc';
14
+ /**
15
+ * Get the utxolib network for a lightning network.
16
+ */
17
+ export declare function getLightningNetwork(networkName: LightningNetworkName): utxolib.Network;
18
+ /**
19
+ * Get the lightning coin name for a utxolib network.
20
+ */
21
+ export declare function getLightningCoinName(network: utxolib.Network): string;
22
+ /**
23
+ * Checks if the network name is a valid lightning network name.
24
+ */
25
+ export declare function isValidLightningNetworkName(networkName: unknown): networkName is LightningNetworkName;
26
+ /**
27
+ * Checks if the network is a valid lightning network.
28
+ */
29
+ export declare function isValidLightningNetwork(network: unknown): network is utxolib.Network;
30
+ /**
31
+ * Returns the statics network data for a lightning coin.
32
+ */
33
+ export declare function getStaticsLightningNetwork(coinName: string): statics.LightningNetwork;
34
+ /**
35
+ * Returns the utxolib network for a lightning coin.
36
+ */
37
+ export declare function getUtxolibNetwork(coinName: string): utxolib.Network;
38
+ /**
39
+ * Returns coin specific data for a lightning coin.
40
+ */
41
+ export declare function unwrapLightningCoinSpecific<V>(obj: {
42
+ lnbtc: V;
43
+ } | {
44
+ tlnbtc: V;
45
+ }, coinSpecificPath: string): V;
46
+ /**
47
+ * Adds an IP caveat to a macaroon and returns the modified macaroon as a Base64 string.
48
+ */
49
+ export declare function addIPCaveatToMacaroon(macaroonBase64: string, ip: string): string;
50
+ /**
51
+ * Creates a watch-only wallet init data from the provided signer root key and network.
52
+ */
53
+ export declare function createWatchOnly(signerRootKey: string, network: utxolib.Network): WatchOnly;
54
+ /**
55
+ * Derives the shared Elliptic Curve Diffie-Hellman (ECDH) secret between the user's auth extended private key
56
+ * and the Lightning service's public key for secure communication.
57
+ */
58
+ export declare function deriveLightningServiceSharedSecret(coinName: 'lnbtc' | 'tlnbtc', userAuthXprv: string): Buffer;
59
+ //# sourceMappingURL=lightningUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lightningUtils.d.ts","sourceRoot":"","sources":["../../../src/lightning/lightningUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAoB,MAAM,UAAU,CAAC;AAIvD,eAAO,MAAM,yBAAyB;;;GAiBrC,CAAC;AAEF,eAAO,MAAM,oBAAoB,iCAAkC,CAAC;AACpE,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzE;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,OAAO,GAAG,QAAQ,CAErF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAEtF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAErE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,OAAO,GAAG,WAAW,IAAI,oBAAoB,CAErG;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,OAAO,CAEpF;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CASrF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAMnE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,GAAG,EAAE;IAAE,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,EAAE,gBAAgB,EAAE,MAAM,GAAG,CAAC,CAW7G;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAIhF;AAwED;;GAEG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,SAAS,CAS1F;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAI7G"}