@bitgo-beta/sdk-core 8.2.1-beta.789 → 8.2.1-beta.790

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 (28) hide show
  1. package/dist/src/bitgo/index.d.ts +0 -1
  2. package/dist/src/bitgo/index.d.ts.map +1 -1
  3. package/dist/src/bitgo/index.js +1 -2
  4. package/dist/src/bitgo/wallet/iWallet.d.ts +3 -2
  5. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  6. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  7. package/dist/src/bitgo/wallet/wallet.d.ts +9 -6
  8. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  9. package/dist/src/bitgo/wallet/wallet.js +16 -11
  10. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  11. package/dist/src/bitgo/wallet/wallets.js +4 -1
  12. package/dist/tsconfig.tsbuildinfo +1 -1
  13. package/package.json +9 -11
  14. package/dist/src/bitgo/lightning/custodial/iLightning.d.ts +0 -186
  15. package/dist/src/bitgo/lightning/custodial/iLightning.d.ts.map +0 -1
  16. package/dist/src/bitgo/lightning/custodial/iLightning.js +0 -120
  17. package/dist/src/bitgo/lightning/custodial/index.d.ts +0 -5
  18. package/dist/src/bitgo/lightning/custodial/index.d.ts.map +0 -1
  19. package/dist/src/bitgo/lightning/custodial/index.js +0 -21
  20. package/dist/src/bitgo/lightning/custodial/lightning.d.ts +0 -25
  21. package/dist/src/bitgo/lightning/custodial/lightning.d.ts.map +0 -1
  22. package/dist/src/bitgo/lightning/custodial/lightning.js +0 -111
  23. package/dist/src/bitgo/lightning/custodial/lightningUtils.d.ts +0 -46
  24. package/dist/src/bitgo/lightning/custodial/lightningUtils.d.ts.map +0 -1
  25. package/dist/src/bitgo/lightning/custodial/lightningUtils.js +0 -145
  26. package/dist/src/bitgo/lightning/custodial/lnurlCodec.d.ts +0 -3
  27. package/dist/src/bitgo/lightning/custodial/lnurlCodec.d.ts.map +0 -1
  28. package/dist/src/bitgo/lightning/custodial/lnurlCodec.js +0 -27
@@ -1,145 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.decodeLnurlPay = decodeLnurlPay;
37
- exports.fetchLnurlPayInvoice = fetchLnurlPayInvoice;
38
- exports.validateLnurlInvoice = validateLnurlInvoice;
39
- exports.parseLightningInvoice = parseLightningInvoice;
40
- const bolt11 = __importStar(require("bolt11"));
41
- const crypto = __importStar(require("crypto"));
42
- const request = __importStar(require("superagent"));
43
- const iLightning_1 = require("./iLightning");
44
- const lnurlCodec_1 = require("./lnurlCodec");
45
- const decode_1 = require("../../utils/decode");
46
- /**
47
- * Decodes an LNURL-pay request and makes an HTTP request to the decoded url
48
- * to retrieve details for the requested payment.
49
- * @param lnurl A bech32 encoded LNURL-pay request string
50
- * @returns {DecodedLnurlPayRequest} An LNURL-pay request message specifying
51
- * a min and max amount for the payment, metadata describing what the payment
52
- * is for, and a callback that can be used to fetch a lightning invoice for
53
- * the payment.
54
- */
55
- async function decodeLnurlPay(lnurl) {
56
- const url = (0, lnurlCodec_1.decodeLnurl)(lnurl);
57
- const { body } = await request.get(url);
58
- const decodedRes = (0, decode_1.decodeOrElse)(iLightning_1.LnurlPayResponse.name, iLightning_1.LnurlPayResponse, body, (errors) => {
59
- throw new Error(`error(s) parsing lnurl response: ${errors}`);
60
- });
61
- const domain = new URL(url).hostname;
62
- return {
63
- ...decodedRes,
64
- domain,
65
- };
66
- }
67
- /**
68
- * Fetches a lightning invoice from an LNURL-pay callback server for a specified
69
- * amount of millisatoshis.
70
- * @param params {LnurlPayParams} An object specifying an amount and a callback
71
- * url with which to request a lightning invoice for an LNURL-pay request.
72
- * @returns {string} A BOLT #11 encoded lightning invoice
73
- */
74
- async function fetchLnurlPayInvoice(params) {
75
- const { callback, millisatAmount, metadata } = params;
76
- const { pr: invoice } = callback.includes('?')
77
- ? (await request.get(callback + `&amount=${millisatAmount}`)).body
78
- : (await request.get(callback).query({ amount: millisatAmount })).body;
79
- const parsedInvoice = parseLightningInvoice(invoice);
80
- validateLnurlInvoice(parsedInvoice, millisatAmount, metadata);
81
- return invoice;
82
- }
83
- function getNetworkForInvoice(invoice) {
84
- if (invoice.startsWith('lntbs')) {
85
- // signet invoices are not supported by our bolt11 dependency
86
- // because the `tbs` prefix used for the invoice does not match the `tb`
87
- // prefix used by on-chain signet addresses
88
- // see: https://github.com/bitcoinjs/bolt11/pull/58#issuecomment-1106495709
89
- // we can still decode the invoice however using a custom network
90
- return {
91
- bech32: 'tbs',
92
- pubKeyHash: 0x6f,
93
- scriptHash: 0xc4,
94
- validWitnessVersions: [0, 1],
95
- };
96
- }
97
- return undefined;
98
- }
99
- /**
100
- * @param {ParsedLightningInvoice} invoice - a parsed lightning invoice
101
- * @param {number} amount - amount intended to pay for the invoice
102
- * @param {string} metadata - metadata that is used to verify the fetched invoice
103
- * @throws error for invoice that does not match with amount and metadata
104
- */
105
- function validateLnurlInvoice(invoice, millisatAmount, metadata) {
106
- const { millisatoshis, descriptionHash } = invoice;
107
- if (millisatoshis !== millisatAmount) {
108
- throw new Error('amount of invoice does not match with given amount');
109
- }
110
- const hash = crypto.createHash('sha256').update(metadata).digest('hex');
111
- if (descriptionHash !== hash) {
112
- throw new Error('invoice h tag does not match with hash of metadata');
113
- }
114
- }
115
- /**
116
- * @param {unknown} invoiceStr - a lightning invoice
117
- * @return {ParsedLightningInvoice}
118
- * @throws error for invalid lightning invoice
119
- */
120
- function parseLightningInvoice(invoiceStr) {
121
- if (typeof invoiceStr !== 'string') {
122
- throw new Error('invoice is malformed');
123
- }
124
- const decodedInvoice = bolt11.decode(invoiceStr, getNetworkForInvoice(invoiceStr));
125
- if (decodedInvoice.network === undefined) {
126
- throw new Error('invoice network is invalid');
127
- }
128
- const { millisatoshis, tags, payeeNodeKey } = decodedInvoice;
129
- const paymentHash = tags.find((tag) => tag.tagName === 'payment_hash')?.data;
130
- if (paymentHash === undefined || typeof paymentHash !== 'string') {
131
- throw new Error('invoice payment hash is invalid');
132
- }
133
- if (payeeNodeKey === undefined) {
134
- throw new Error('invoice payee pub key is invalid');
135
- }
136
- if (millisatoshis === undefined) {
137
- throw new Error('invoice millisatoshis amount is invalid');
138
- }
139
- const descriptionHash = tags.find((tag) => tag.tagName === 'purpose_commit_hash')?.data;
140
- if (descriptionHash !== undefined && typeof descriptionHash !== 'string') {
141
- throw new Error('invoice description hash is invalid');
142
- }
143
- return { millisatoshis, paymentHash, payeeNodeKey, descriptionHash };
144
- }
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vbGlnaHRuaW5nL2N1c3RvZGlhbC9saWdodG5pbmdVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThCQSx3Q0FZQztBQVNELG9EQVNDO0FBMEJELG9EQVVDO0FBT0Qsc0RBOEJDO0FBcklELCtDQUFpQztBQUNqQywrQ0FBaUM7QUFDakMsb0RBQXNDO0FBQ3RDLDZDQUF3RjtBQUN4Riw2Q0FBMkM7QUFDM0MsK0NBQWtEO0FBZ0JsRDs7Ozs7Ozs7R0FRRztBQUNJLEtBQUssVUFBVSxjQUFjLENBQUMsS0FBYTtJQUNoRCxNQUFNLEdBQUcsR0FBRyxJQUFBLHdCQUFXLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QyxNQUFNLFVBQVUsR0FBRyxJQUFBLHFCQUFZLEVBQUMsNkJBQWdCLENBQUMsSUFBSSxFQUFFLDZCQUFnQixFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ3hGLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQyxDQUFDLENBQUM7SUFDSCxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFFckMsT0FBTztRQUNMLEdBQUcsVUFBVTtRQUNiLE1BQU07S0FDUCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSxvQkFBb0IsQ0FBQyxNQUFzQjtJQUMvRCxNQUFNLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDdEQsTUFBTSxF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QUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsSUFBSSxhQUFhLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxLQUFLLHFCQUFxQixDQUFDLEVBQUUsSUFBSSxDQUFDO0lBQ3hGLElBQUksZUFBZSxLQUFLLFNBQVMsSUFBSSxPQUFPLGVBQWUsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN6RSxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYm9sdDExIGZyb20gJ2JvbHQxMSc7XG5pbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCAqIGFzIHJlcXVlc3QgZnJvbSAnc3VwZXJhZ2VudCc7XG5pbXBvcnQgeyBEZWNvZGVkTG51cmxQYXlSZXF1ZXN0LCBMbnVybFBheVBhcmFtcywgTG51cmxQYXlSZXNwb25zZSB9IGZyb20gJy4vaUxpZ2h0bmluZyc7XG5pbXBvcnQgeyBkZWNvZGVMbnVybCB9IGZyb20gJy4vbG51cmxDb2RlYyc7XG5pbXBvcnQgeyBkZWNvZGVPckVsc2UgfSBmcm9tICcuLi8uLi91dGlscy9kZWNvZGUnO1xuXG5leHBvcnQgdHlwZSBQYXJzZWRMaWdodG5pbmdJbnZvaWNlID0ge1xuICAvKipcbiAgICogVGhlIGFtb3VudCBvZiBtaWxsaXNhdG9zaGkgcmVxdWVzdGVkIGJ5IHRoaXMgaW52b2ljZS4gSWYgbnVsbCB0aGVuXG4gICAqIHRoZSBpbnZvaWNlIGRvZXMgbm90IHNwZWNpZnkgYW4gYW1vdW50IGFuZCB3aWxsIGFjY2VwdCBhbnkgcGF5bWVudC5cbiAgICovXG4gIG1pbGxpc2F0b3NoaXM6IHN0cmluZyB8IG51bGw7XG4gIC8qKiBUaGUgaGV4IGVuY29kZWQgcGF5bWVudCBoYXNoIGZvciB0aGUgaW52b2ljZSAqL1xuICBwYXltZW50SGFzaDogc3RyaW5nO1xuICAvKiogVGhlIGhleCBlbmNvZGVkIG5vZGUgcHViIGtleSBvZiB0aGUgcGF5ZWUgdGhhdCBjcmVhdGVkIHRoZSBpbnZvaWNlICovXG4gIHBheWVlTm9kZUtleTogc3RyaW5nO1xuICAvKiogVGhlIGhleCBlbmNvZGVkIFNIQTI1NiBoYXNoIG9mIHRoZSBkZXNjcmlwdGlvbiBvZiB3aGF0IHRoZSBpbnZvaWNlIGlzIGZvciAqL1xuICBkZXNjcmlwdGlvbkhhc2g/OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIERlY29kZXMgYW4gTE5VUkwtcGF5IHJlcXVlc3QgYW5kIG1ha2VzIGFuIEhUVFAgcmVxdWVzdCB0byB0aGUgZGVjb2RlZCB1cmxcbiAqIHRvIHJldHJpZXZlIGRldGFpbHMgZm9yIHRoZSByZXF1ZXN0ZWQgcGF5bWVudC5cbiAqIEBwYXJhbSBsbnVybCBBIGJlY2gzMiBlbmNvZGVkIExOVVJMLXBheSByZXF1ZXN0IHN0cmluZ1xuICogQHJldHVybnMge0RlY29kZWRMbnVybFBheVJlcXVlc3R9IEFuIExOVVJMLXBheSByZXF1ZXN0IG1lc3NhZ2Ugc3BlY2lmeWluZ1xuICogYSBtaW4gYW5kIG1heCBhbW91bnQgZm9yIHRoZSBwYXltZW50LCBtZXRhZGF0YSBkZXNjcmliaW5nIHdoYXQgdGhlIHBheW1lbnRcbiAqIGlzIGZvciwgYW5kIGEgY2FsbGJhY2sgdGhhdCBjYW4gYmUgdXNlZCB0byBmZXRjaCBhIGxpZ2h0bmluZyBpbnZvaWNlIGZvclxuICogdGhlIHBheW1lbnQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWNvZGVMbnVybFBheShsbnVybDogc3RyaW5nKTogUHJvbWlzZTxEZWNvZGVkTG51cmxQYXlSZXF1ZXN0PiB7XG4gIGNvbnN0IHVybCA9IGRlY29kZUxudXJsKGxudXJsKTtcbiAgY29uc3QgeyBib2R5IH0gPSBhd2FpdCByZXF1ZXN0LmdldCh1cmwpO1xuICBjb25zdCBkZWNvZGVkUmVzID0gZGVjb2RlT3JFbHNlKExudXJsUGF5UmVzcG9uc2UubmFtZSwgTG51cmxQYXlSZXNwb25zZSwgYm9keSwgKGVycm9ycykgPT4ge1xuICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyBsbnVybCByZXNwb25zZTogJHtlcnJvcnN9YCk7XG4gIH0pO1xuICBjb25zdCBkb21haW4gPSBuZXcgVVJMKHVybCkuaG9zdG5hbWU7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5kZWNvZGVkUmVzLFxuICAgIGRvbWFpbixcbiAgfTtcbn1cblxuLyoqXG4gKiBGZXRjaGVzIGEgbGlnaHRuaW5nIGludm9pY2UgZnJvbSBhbiBMTlVSTC1wYXkgY2FsbGJhY2sgc2VydmVyIGZvciBhIHNwZWNpZmllZFxuICogYW1vdW50IG9mIG1pbGxpc2F0b3NoaXMuXG4gKiBAcGFyYW0gcGFyYW1zIHtMbnVybFBheVBhcmFtc30gQW4gb2JqZWN0IHNwZWNpZnlpbmcgYW4gYW1vdW50IGFuZCBhIGNhbGxiYWNrXG4gKiB1cmwgd2l0aCB3aGljaCB0byByZXF1ZXN0IGEgbGlnaHRuaW5nIGludm9pY2UgZm9yIGFuIExOVVJMLXBheSByZXF1ZXN0LlxuICogQHJldHVybnMge3N0cmluZ30gQSBCT0xUICMxMSBlbmNvZGVkIGxpZ2h0bmluZyBpbnZvaWNlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaExudXJsUGF5SW52b2ljZShwYXJhbXM6IExudXJsUGF5UGFyYW1zKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgeyBjYWxsYmFjaywgbWlsbGlzYXRBbW91bnQsIG1ldGFkYXRhIH0gPSBwYXJhbXM7XG4gIGNvbnN0IHsgcHI6IGludm9pY2UgfSA9IGNhbGxiYWNrLmluY2x1ZGVzKCc/JylcbiAgICA/IChhd2FpdCByZXF1ZXN0LmdldChjYWxsYmFjayArIGAmYW1vdW50PSR7bWlsbGlzYXRBbW91bnR9YCkpLmJvZHlcbiAgICA6IChhd2FpdCByZXF1ZXN0LmdldChjYWxsYmFjaykucXVlcnkoeyBhbW91bnQ6IG1pbGxpc2F0QW1vdW50IH0pKS5ib2R5O1xuICBjb25zdCBwYXJzZWRJbnZvaWNlID0gcGFyc2VMaWdodG5pbmdJbnZvaWNlKGludm9pY2UpO1xuICB2YWxpZGF0ZUxudXJsSW52b2ljZShwYXJzZWRJbnZvaWNlLCBtaWxsaXNhdEFtb3VudCwgbWV0YWRhdGEpO1xuXG4gIHJldHVybiBpbnZvaWNlO1xufVxuXG5mdW5jdGlvbiBnZXROZXR3b3JrRm9ySW52b2ljZShpbnZvaWNlOiBzdHJpbmcpIHtcbiAgaWYgKGludm9pY2Uuc3RhcnRzV2l0aCgnbG50YnMnKSkge1xuICAgIC8vIHNpZ25ldCBpbnZvaWNlcyBhcmUgbm90IHN1cHBvcnRlZCBieSBvdXIgYm9sdDExIGRlcGVuZGVuY3lcbiAgICAvLyBiZWNhdXNlIHRoZSBgdGJzYCBwcmVmaXggdXNlZCBmb3IgdGhlIGludm9pY2UgZG9lcyBub3QgbWF0Y2ggdGhlIGB0YmBcbiAgICAvLyBwcmVmaXggdXNlZCBieSBvbi1jaGFpbiBzaWduZXQgYWRkcmVzc2VzXG4gICAgLy8gc2VlOiBodHRwczovL2dpdGh1Yi5jb20vYml0Y29pbmpzL2JvbHQxMS9wdWxsLzU4I2lzc3VlY29tbWVudC0xMTA2NDk1NzA5XG4gICAgLy8gd2UgY2FuIHN0aWxsIGRlY29kZSB0aGUgaW52b2ljZSBob3dldmVyIHVzaW5nIGEgY3VzdG9tIG5ldHdvcmtcbiAgICByZXR1cm4ge1xuICAgICAgYmVjaDMyOiAndGJzJyxcbiAgICAgIHB1YktleUhhc2g6IDB4NmYsXG4gICAgICBzY3JpcHRIYXNoOiAweGM0LFxuICAgICAgdmFsaWRXaXRuZXNzVmVyc2lvbnM6IFswLCAxXSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge1BhcnNlZExpZ2h0bmluZ0ludm9pY2V9IGludm9pY2UgLSBhIHBhcnNlZCBsaWdodG5pbmcgaW52b2ljZVxuICogQHBhcmFtIHtudW1iZXJ9IGFtb3VudCAtIGFtb3VudCBpbnRlbmRlZCB0byBwYXkgZm9yIHRoZSBpbnZvaWNlXG4gKiBAcGFyYW0ge3N0cmluZ30gbWV0YWRhdGEgLSBtZXRhZGF0YSB0aGF0IGlzIHVzZWQgdG8gdmVyaWZ5IHRoZSBmZXRjaGVkIGludm9pY2VcbiAqIEB0aHJvd3MgZXJyb3IgZm9yIGludm9pY2UgdGhhdCBkb2VzIG5vdCBtYXRjaCB3aXRoIGFtb3VudCBhbmQgbWV0YWRhdGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTG51cmxJbnZvaWNlKGludm9pY2U6IFBhcnNlZExpZ2h0bmluZ0ludm9pY2UsIG1pbGxpc2F0QW1vdW50OiBzdHJpbmcsIG1ldGFkYXRhOiBzdHJpbmcpOiB2b2lkIHtcbiAgY29uc3QgeyBtaWxsaXNhdG9zaGlzLCBkZXNjcmlwdGlvbkhhc2ggfSA9IGludm9pY2U7XG4gIGlmIChtaWxsaXNhdG9zaGlzICE9PSBtaWxsaXNhdEFtb3VudCkge1xuICAgIHRocm93IG5ldyBFcnJvcignYW1vdW50IG9mIGludm9pY2UgZG9lcyBub3QgbWF0Y2ggd2l0aCBnaXZlbiBhbW91bnQnKTtcbiAgfVxuXG4gIGNvbnN0IGhhc2ggPSBjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKG1ldGFkYXRhKS5kaWdlc3QoJ2hleCcpO1xuICBpZiAoZGVzY3JpcHRpb25IYXNoICE9PSBoYXNoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZvaWNlIGggdGFnIGRvZXMgbm90IG1hdGNoIHdpdGggaGFzaCBvZiBtZXRhZGF0YScpO1xuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHt1bmtub3dufSBpbnZvaWNlU3RyIC0gYSBsaWdodG5pbmcgaW52b2ljZVxuICogQHJldHVybiB7UGFyc2VkTGlnaHRuaW5nSW52b2ljZX1cbiAqIEB0aHJvd3MgZXJyb3IgZm9yIGludmFsaWQgbGlnaHRuaW5nIGludm9pY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTGlnaHRuaW5nSW52b2ljZShpbnZvaWNlU3RyOiB1bmtub3duKTogUGFyc2VkTGlnaHRuaW5nSW52b2ljZSB7XG4gIGlmICh0eXBlb2YgaW52b2ljZVN0ciAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludm9pY2UgaXMgbWFsZm9ybWVkJyk7XG4gIH1cblxuICBjb25zdCBkZWNvZGVkSW52b2ljZSA9IGJvbHQxMS5kZWNvZGUoaW52b2ljZVN0ciwgZ2V0TmV0d29ya0Zvckludm9pY2UoaW52b2ljZVN0cikpO1xuXG4gIGlmIChkZWNvZGVkSW52b2ljZS5uZXR3b3JrID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludm9pY2UgbmV0d29yayBpcyBpbnZhbGlkJyk7XG4gIH1cblxuICBjb25zdCB7IG1pbGxpc2F0b3NoaXMsIHRhZ3MsIHBheWVlTm9kZUtleSB9ID0gZGVjb2RlZEludm9pY2U7XG5cbiAgY29uc3QgcGF5bWVudEhhc2ggPSB0YWdzLmZpbmQoKHRhZykgPT4gdGFnLnRhZ05hbWUgPT09ICdwYXltZW50X2hhc2gnKT8uZGF0YTtcbiAgaWYgKHBheW1lbnRIYXNoID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHBheW1lbnRIYXNoICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52b2ljZSBwYXltZW50IGhhc2ggaXMgaW52YWxpZCcpO1xuICB9XG4gIGlmIChwYXllZU5vZGVLZXkgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52b2ljZSBwYXllZSBwdWIga2V5IGlzIGludmFsaWQnKTtcbiAgfVxuICBpZiAobWlsbGlzYXRvc2hpcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZvaWNlIG1pbGxpc2F0b3NoaXMgYW1vdW50IGlzIGludmFsaWQnKTtcbiAgfVxuXG4gIGNvbnN0IGRlc2NyaXB0aW9uSGFzaCA9IHRhZ3MuZmluZCgodGFnKSA9PiB0YWcudGFnTmFtZSA9PT0gJ3B1cnBvc2VfY29tbWl0X2hhc2gnKT8uZGF0YTtcbiAgaWYgKGRlc2NyaXB0aW9uSGFzaCAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiBkZXNjcmlwdGlvbkhhc2ggIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZvaWNlIGRlc2NyaXB0aW9uIGhhc2ggaXMgaW52YWxpZCcpO1xuICB9XG5cbiAgcmV0dXJuIHsgbWlsbGlzYXRvc2hpcywgcGF5bWVudEhhc2gsIHBheWVlTm9kZUtleSwgZGVzY3JpcHRpb25IYXNoIH07XG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- export declare function encodeLnurl(url: string): string;
2
- export declare function decodeLnurl(lnurl: string): string;
3
- //# sourceMappingURL=lnurlCodec.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.encodeLnurl = encodeLnurl;
4
- exports.decodeLnurl = decodeLnurl;
5
- const bech32_1 = require("bech32");
6
- function encodeLnurl(url) {
7
- return bech32_1.bech32.encode('lnurl', bech32_1.bech32.toWords(Buffer.from(url)));
8
- }
9
- function decodeLnurl(lnurl) {
10
- const splittedLnurl = lnurl.split(':');
11
- let parsedLnurl;
12
- if (splittedLnurl.length === 2) {
13
- if (splittedLnurl[0] !== 'lightning') {
14
- throw new Error('invalid lnurl');
15
- }
16
- parsedLnurl = splittedLnurl[1];
17
- }
18
- else {
19
- parsedLnurl = splittedLnurl[0];
20
- }
21
- const { prefix, words } = bech32_1.bech32.decode(parsedLnurl, 2000);
22
- if (prefix !== 'lnurl') {
23
- throw new Error('invalid lnurl');
24
- }
25
- return Buffer.from(bech32_1.bech32.fromWords(words)).toString();
26
- }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG51cmxDb2RlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby9saWdodG5pbmcvY3VzdG9kaWFsL2xudXJsQ29kZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxrQ0FFQztBQUVELGtDQW1CQztBQXpCRCxtQ0FBZ0M7QUFFaEMsU0FBZ0IsV0FBVyxDQUFDLEdBQVc7SUFDckMsT0FBTyxlQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxlQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFFRCxTQUFnQixXQUFXLENBQUMsS0FBYTtJQUN2QyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXZDLElBQUksV0FBbUIsQ0FBQztJQUN4QixJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDL0IsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsV0FBVyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO1NBQU0sQ0FBQztRQUNOLFdBQVcsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsZUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFM0QsSUFBSSxNQUFNLEtBQUssT0FBTyxFQUFFLENBQUM7UUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUN6RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmVjaDMyIH0gZnJvbSAnYmVjaDMyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZUxudXJsKHVybDogc3RyaW5nKSB7XG4gIHJldHVybiBiZWNoMzIuZW5jb2RlKCdsbnVybCcsIGJlY2gzMi50b1dvcmRzKEJ1ZmZlci5mcm9tKHVybCkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZUxudXJsKGxudXJsOiBzdHJpbmcpIHtcbiAgY29uc3Qgc3BsaXR0ZWRMbnVybCA9IGxudXJsLnNwbGl0KCc6Jyk7XG5cbiAgbGV0IHBhcnNlZExudXJsOiBzdHJpbmc7XG4gIGlmIChzcGxpdHRlZExudXJsLmxlbmd0aCA9PT0gMikge1xuICAgIGlmIChzcGxpdHRlZExudXJsWzBdICE9PSAnbGlnaHRuaW5nJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGxudXJsJyk7XG4gICAgfVxuICAgIHBhcnNlZExudXJsID0gc3BsaXR0ZWRMbnVybFsxXTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZWRMbnVybCA9IHNwbGl0dGVkTG51cmxbMF07XG4gIH1cbiAgY29uc3QgeyBwcmVmaXgsIHdvcmRzIH0gPSBiZWNoMzIuZGVjb2RlKHBhcnNlZExudXJsLCAyMDAwKTtcblxuICBpZiAocHJlZml4ICE9PSAnbG51cmwnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGxudXJsJyk7XG4gIH1cblxuICByZXR1cm4gQnVmZmVyLmZyb20oYmVjaDMyLmZyb21Xb3Jkcyh3b3JkcykpLnRvU3RyaW5nKCk7XG59XG4iXX0=