@bitgo-beta/sdk-core 8.2.1-beta.1546 → 8.2.1-beta.1548
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/dist/src/coins/ofcToken.d.ts +2 -1
- package/dist/src/coins/ofcToken.d.ts.map +1 -1
- package/dist/src/coins/ofcToken.js +27 -1
- package/dist/src/lightning.d.ts +3 -0
- package/dist/src/lightning.d.ts.map +1 -0
- package/dist/src/lightning.js +15 -0
- package/dist/test/unit/lightning.d.ts +2 -0
- package/dist/test/unit/lightning.d.ts.map +1 -0
- package/dist/test/unit/lightning.js +23 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @prettier
|
|
3
3
|
*/
|
|
4
4
|
import { OfcTokenConfig } from '@bitgo-beta/statics';
|
|
5
|
-
import { BitGoBase, CoinConstructor, SignTransactionOptions as BaseSignTransactionOptions, SignedTransaction } from '../';
|
|
5
|
+
import { BitGoBase, CoinConstructor, SignTransactionOptions as BaseSignTransactionOptions, SignedTransaction, ITransactionRecipient } from '../';
|
|
6
6
|
import { Ofc } from './ofc';
|
|
7
7
|
export interface SignTransactionOptions extends BaseSignTransactionOptions {
|
|
8
8
|
txPrebuild: {
|
|
@@ -23,6 +23,7 @@ export declare class OfcToken extends Ofc {
|
|
|
23
23
|
getFullName(): string;
|
|
24
24
|
getBaseFactor(): string;
|
|
25
25
|
get type(): string;
|
|
26
|
+
checkRecipient(recipient: ITransactionRecipient): void;
|
|
26
27
|
/**
|
|
27
28
|
* Flag for sending value of 0
|
|
28
29
|
* @returns {boolean} True if okay to send 0 value, false otherwise
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ofcToken.d.ts","sourceRoot":"","sources":["../../../src/coins/ofcToken.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EACL,SAAS,EACT,eAAe,EACf,sBAAsB,IAAI,0BAA0B,EACpD,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ofcToken.d.ts","sourceRoot":"","sources":["../../../src/coins/ofcToken.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EACL,SAAS,EACT,eAAe,EACf,sBAAsB,IAAI,0BAA0B,EACpD,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,KAAK,CAAC;AAGb,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACxE,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,GAAG,EAAE,MAAM,CAAC;CACb;AAED,OAAO,EAAE,cAAc,EAAE,CAAC;AAI1B,qBAAa,QAAS,SAAQ,GAAG;IAC/B,SAAgB,WAAW,EAAE,cAAc,CAAC;gBAEhC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc;IAKzD,IAAI,IAAI,WAEP;IAED,IAAI,aAAa,WAEhB;IAED,IAAI,IAAI,WAEP;IAED,IAAI,WAAW,WAEd;IAED,IAAI,MAAM,YAET;IAED,QAAQ;IAIR,WAAW;IAIX,aAAa;IAIb,IAAW,IAAI,WAEd;IAED,cAAc,CAAC,SAAS,EAAE,qBAAqB,GAAG,IAAI;IA+BtD;;;OAGG;IACH,wBAAwB;IAIxB,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,eAAe;IAItE;;;;OAIG;IACG,eAAe,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQjF;;;;;;OAMG;IACH,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO;CAa1C"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OfcToken = void 0;
|
|
4
4
|
const lodash_1 = require("lodash");
|
|
5
|
+
const lightning_1 = require("../lightning");
|
|
5
6
|
const ofc_1 = require("./ofc");
|
|
6
7
|
const publicIdRegex = /^[a-f\d]{32}$/i;
|
|
7
8
|
class OfcToken extends ofc_1.Ofc {
|
|
@@ -36,6 +37,31 @@ class OfcToken extends ofc_1.Ofc {
|
|
|
36
37
|
get type() {
|
|
37
38
|
return this.tokenConfig.type;
|
|
38
39
|
}
|
|
40
|
+
checkRecipient(recipient) {
|
|
41
|
+
if ((0, lightning_1.isBolt11Invoice)(recipient.address)) {
|
|
42
|
+
// should throw error if this isnt bitcoin (mainnet or testnet)
|
|
43
|
+
if (this.backingCoin !== 'btc' && this.backingCoin !== 'tbtc') {
|
|
44
|
+
throw new Error(`invalid argument - lightning invoice is only supported for bitcoin`);
|
|
45
|
+
}
|
|
46
|
+
// amount for bolt11 invoices is either 'invoice' or a non-zero bigint
|
|
47
|
+
if (recipient.amount === lightning_1.LIGHTNING_INVOICE) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
// try to parse the amount as a bigint
|
|
51
|
+
let amount;
|
|
52
|
+
try {
|
|
53
|
+
amount = BigInt(recipient.amount);
|
|
54
|
+
}
|
|
55
|
+
catch (e) {
|
|
56
|
+
throw new Error(`invalid argument ${recipient.amount} for amount - lightning invoice amount must be >= 0 or ${lightning_1.LIGHTNING_INVOICE}`);
|
|
57
|
+
}
|
|
58
|
+
if (amount > 0n) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
throw new Error(`invalid argument for amount - lightning invoice amount must be a non-zero bigint or ${lightning_1.LIGHTNING_INVOICE}`);
|
|
62
|
+
}
|
|
63
|
+
super.checkRecipient(recipient);
|
|
64
|
+
}
|
|
39
65
|
/**
|
|
40
66
|
* Flag for sending value of 0
|
|
41
67
|
* @returns {boolean} True if okay to send 0 value, false otherwise
|
|
@@ -81,4 +107,4 @@ class OfcToken extends ofc_1.Ofc {
|
|
|
81
107
|
}
|
|
82
108
|
}
|
|
83
109
|
exports.OfcToken = OfcToken;
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZjVG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29pbnMvb2ZjVG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsbUNBQWtDO0FBUWxDLDRDQUFrRTtBQUVsRSwrQkFBNEI7QUFXNUIsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7QUFFdkMsTUFBYSxRQUFTLFNBQVEsU0FBRztJQUcvQixZQUFZLEtBQWdCLEVBQUUsV0FBMkI7UUFDdkQsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFD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biAqL1xuaW1wb3J0IHsgT2ZjVG9rZW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IGlzU3RyaW5nIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7XG4gIEJpdEdvQmFzZSxcbiAgQ29pbkNvbnN0cnVjdG9yLFxuICBTaWduVHJhbnNhY3Rpb25PcHRpb25zIGFzIEJhc2VTaWduVHJhbnNhY3Rpb25PcHRpb25zLFxuICBTaWduZWRUcmFuc2FjdGlvbixcbiAgSVRyYW5zYWN0aW9uUmVjaXBpZW50LFxufSBmcm9tICcuLi8nO1xuaW1wb3J0IHsgaXNCb2x0MTFJbnZvaWNlLCBMSUdIVE5JTkdfSU5WT0lDRSB9IGZyb20gJy4uL2xpZ2h0bmluZyc7XG5cbmltcG9ydCB7IE9mYyB9IGZyb20gJy4vb2ZjJztcblxuZXhwb3J0IGludGVyZmFjZSBTaWduVHJhbnNhY3Rpb25PcHRpb25zIGV4dGVuZHMgQmFzZVNpZ25UcmFuc2FjdGlvbk9wdGlvbnMge1xuICB0eFByZWJ1aWxkOiB7XG4gICAgcGF5bG9hZDogc3RyaW5nO1xuICB9O1xuICBwcnY6IHN0cmluZztcbn1cblxuZXhwb3J0IHsgT2ZjVG9rZW5Db25maWcgfTtcblxuY29uc3QgcHVibGljSWRSZWdleCA9IC9eW2EtZlxcZF17MzJ9JC9pO1xuXG5leHBvcnQgY2xhc3MgT2ZjVG9rZW4gZXh0ZW5kcyBPZmMge1xuICBwdWJsaWMgcmVhZG9ubHkgdG9rZW5Db25maWc6IE9mY1Rva2VuQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHRva2VuQ29uZmlnOiBPZmNUb2tlbkNvbmZpZykge1xuICAgIHN1cGVyKGJpdGdvKTtcbiAgICB0aGlzLnRva2VuQ29uZmlnID0gdG9rZW5Db25maWc7XG4gIH1cblxuICBnZXQgY29pbigpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy5jb2luO1xuICB9XG5cbiAgZ2V0IGRlY2ltYWxQbGFjZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcuZGVjaW1hbFBsYWNlcztcbiAgfVxuXG4gIGdldCBuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLm5hbWU7XG4gIH1cblxuICBnZXQgYmFja2luZ0NvaW4oKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcuYmFja2luZ0NvaW47XG4gIH1cblxuICBnZXQgaXNGaWF0KCkge1xuICAgIHJldHVybiB0aGlzLnRva2VuQ29uZmlnLmlzRmlhdDtcbiAgfVxuXG4gIGdldENoYWluKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXRGdWxsTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgZ2V0QmFzZUZhY3RvcigpIHtcbiAgICByZXR1cm4gU3RyaW5nKE1hdGgucG93KDEwLCB0aGlzLmRlY2ltYWxQbGFjZXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy50eXBlO1xuICB9XG5cbiAgY2hlY2tSZWNpcGllbnQocmVjaXBpZW50OiBJVHJhbnNhY3Rpb25SZWNpcGllbnQpOiB2b2lkIHtcbiAgICBpZiAoaXNCb2x0MTFJbnZvaWNlKHJlY2lwaWVudC5hZGRyZXNzKSkge1xuICAgICAgLy8gc2hvdWxkIHRocm93IGVycm9yIGlmIHRoaXMgaXNudCBiaXRjb2luIChtYWlubmV0IG9yIHRlc3RuZXQpXG4gICAgICBpZiAodGhpcy5iYWNraW5nQ29pbiAhPT0gJ2J0YycgJiYgdGhpcy5iYWNraW5nQ29pbiAhPT0gJ3RidGMnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCBhcmd1bWVudCAtIGxpZ2h0bmluZyBpbnZvaWNlIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBiaXRjb2luYCk7XG4gICAgICB9XG5cbiAgICAgIC8vIGFtb3VudCBmb3IgYm9sdDExIGludm9pY2VzIGlzIGVpdGhlciAnaW52b2ljZScgb3IgYSBub24temVybyBiaWdpbnRcbiAgICAgIGlmIChyZWNpcGllbnQuYW1vdW50ID09PSBMSUdIVE5JTkdfSU5WT0lDRSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyB0cnkgdG8gcGFyc2UgdGhlIGFtb3VudCBhcyBhIGJpZ2ludFxuICAgICAgbGV0IGFtb3VudDogYmlnaW50O1xuICAgICAgdHJ5IHtcbiAgICAgICAgYW1vdW50ID0gQmlnSW50KHJlY2lwaWVudC5hbW91bnQpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYGludmFsaWQgYXJndW1lbnQgJHtyZWNpcGllbnQuYW1vdW50fSBmb3IgYW1vdW50IC0gbGlnaHRuaW5nIGludm9pY2UgYW1vdW50IG11c3QgYmUgPj0gMCBvciAke0xJR0hUTklOR19JTlZPSUNFfWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChhbW91bnQgPiAwbikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBpbnZhbGlkIGFyZ3VtZW50IGZvciBhbW91bnQgLSBsaWdodG5pbmcgaW52b2ljZSBhbW91bnQgbXVzdCBiZSBhIG5vbi16ZXJvIGJpZ2ludCBvciAke0xJR0hUTklOR19JTlZPSUNFfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgc3VwZXIuY2hlY2tSZWNpcGllbnQocmVjaXBpZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGbGFnIGZvciBzZW5kaW5nIHZhbHVlIG9mIDBcbiAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgb2theSB0byBzZW5kIDAgdmFsdWUsIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgdmFsdWVsZXNzVHJhbnNmZXJBbGxvd2VkKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVUb2tlbkNvbnN0cnVjdG9yKGNvbmZpZzogT2ZjVG9rZW5Db25maWcpOiBDb2luQ29uc3RydWN0b3Ige1xuICAgIHJldHVybiAoYml0Z286IEJpdEdvQmFzZSkgPT4gbmV3IE9mY1Rva2VuKGJpdGdvLCBjb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFzc2VtYmxlIGtleWNoYWluIGFuZCBoYWxmLXNpZ24gcHJlYnVpbHQgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj59XG4gICAqL1xuICBhc3luYyBzaWduVHJhbnNhY3Rpb24ocGFyYW1zOiBTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHR4UHJlYnVpbGQgPSBwYXJhbXMudHhQcmVidWlsZDtcbiAgICBjb25zdCBwYXlsb2FkID0gdHhQcmVidWlsZC5wYXlsb2FkO1xuICAgIGNvbnN0IHNpZ25hdHVyZUJ1ZmZlciA9IChhd2FpdCB0aGlzLnNpZ25NZXNzYWdlKHBhcmFtcywgcGF5bG9hZCkpIGFzIGFueTtcbiAgICBjb25zdCBzaWduYXR1cmU6IHN0cmluZyA9IHNpZ25hdHVyZUJ1ZmZlci50b1N0cmluZygnaGV4Jyk7XG4gICAgcmV0dXJuIHsgaGFsZlNpZ25lZDogeyBwYXlsb2FkLCBzaWduYXR1cmUgfSB9IGFzIGFueTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhbiBhZGRyZXNzIGlzIHZhbGlkIGZvciB0aGlzIG9mYyB0b2tlbi5cbiAgICpcbiAgICogVGhlc2UgYWRkcmVzc2VzIGFyZSBlaXRoZXIgYmctPHB1YmxpY2lkPiwgd2hlcmUgcHVibGljIGlkIGlzIHRoZSBpbnRlcm5hbCBhZGRyZXNzIHRvIHNlbmQgdG8sXG4gICAqIG9yIGFyZSBhbiBhZGRyZXNzIHdoaWNoIGlzIHZhbGlkIG9uIHRoZSBiYWNraW5nIGNvaW4gb2YgdGhpcyBvZmMgdG9rZW4uXG4gICAqIEBwYXJhbSBhZGRyZXNzIGFkZHJlc3MgdG8gY2hlY2sgZm9yIHZhbGlkaXR5XG4gICAqL1xuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKCFpc1N0cmluZyhhZGRyZXNzKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoYWRkcmVzcy5zdGFydHNXaXRoKCdiZy0nKSkge1xuICAgICAgY29uc3QgcGFydHMgPSBhZGRyZXNzLnNwbGl0KCctJyk7XG4gICAgICBjb25zdCBhY2NvdW50SWQgPSBwYXJ0c1sxXTtcbiAgICAgIHJldHVybiBwYXJ0cy5sZW5ndGggPT09IDIgJiYgcHVibGljSWRSZWdleC50ZXN0KGFjY291bnRJZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGJhY2tpbmdDb2luID0gdGhpcy5iaXRnby5jb2luKHRoaXMuYmFja2luZ0NvaW4pO1xuICAgICAgcmV0dXJuIGJhY2tpbmdDb2luLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lightning.d.ts","sourceRoot":"","sources":["../../src/lightning.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAE3C,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAQ/D"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LIGHTNING_INVOICE = void 0;
|
|
4
|
+
exports.isBolt11Invoice = isBolt11Invoice;
|
|
5
|
+
exports.LIGHTNING_INVOICE = 'invoice';
|
|
6
|
+
function isBolt11Invoice(value) {
|
|
7
|
+
if (typeof value !== 'string') {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
if (value.startsWith('lnbc') || value.startsWith('lntb')) {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpZ2h0bmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSwwQ0FRQztBQVZZLFFBQUEsaUJBQWlCLEdBQUcsU0FBUyxDQUFDO0FBRTNDLFNBQWdCLGVBQWUsQ0FBQyxLQUFjO0lBQzVDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN6RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgTElHSFROSU5HX0lOVk9JQ0UgPSAnaW52b2ljZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0JvbHQxMUludm9pY2UodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBzdHJpbmcge1xuICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAodmFsdWUuc3RhcnRzV2l0aCgnbG5iYycpIHx8IHZhbHVlLnN0YXJ0c1dpdGgoJ2xudGInKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lightning.d.ts","sourceRoot":"","sources":["../../../test/unit/lightning.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
require("should");
|
|
4
|
+
const lightning_1 = require("../../src/lightning");
|
|
5
|
+
describe('lightning', () => {
|
|
6
|
+
describe('isBolt11Invoice', () => {
|
|
7
|
+
it('should return true for a valid bolt11 invoice', () => {
|
|
8
|
+
const invoice = 'lnbc500n1p3zv5vkpp5x0thcaz8wep54clc2xt5895azjdzmthyskzzh9yslggy74qtvl6sdpdg3hkuct5d9hkugrxdaezqjn0dphk2fmnypkk2mtsdahkccqzpgxqyz5vqsp5v80q4vq4pwakq2l0hcqgtelgajsymv4ud4jdcrqtnzhvet55qlus9qyyssquqh2wl2m866qs5n72c5vg6wmqx9vzwhs5ypualq4mcu76h2tdkcq3jtjwtggfff7xwtdqxlnwqk8cxpzryjghrmmq3syraswp9vjr7cqry9l96';
|
|
9
|
+
(0, lightning_1.isBolt11Invoice)(invoice).should.equal(true);
|
|
10
|
+
});
|
|
11
|
+
it('should return false for non-string values', () => {
|
|
12
|
+
(0, lightning_1.isBolt11Invoice)(undefined).should.equal(false);
|
|
13
|
+
(0, lightning_1.isBolt11Invoice)(null).should.equal(false);
|
|
14
|
+
(0, lightning_1.isBolt11Invoice)(123).should.equal(false);
|
|
15
|
+
(0, lightning_1.isBolt11Invoice)({}).should.equal(false);
|
|
16
|
+
});
|
|
17
|
+
it('should return false for invalid invoice strings', () => {
|
|
18
|
+
(0, lightning_1.isBolt11Invoice)('').should.equal(false);
|
|
19
|
+
(0, lightning_1.isBolt11Invoice)('not-an-invoice').should.equal(false);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91bml0L2xpZ2h0bmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGtCQUFnQjtBQUVoQixtREFBc0Q7QUFFdEQsUUFBUSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUU7SUFDekIsUUFBUSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRTtRQUMvQixFQUFFLENBQUMsK0NBQStDLEVBQUUsR0FBRyxFQUFFO1lBQ3ZELE1BQU0sT0FBTyxHQUNYLGlUQUFpVCxDQUFDO1lBRXBULElBQUEsMkJBQWUsRUFBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDJDQUEyQyxFQUFFLEdBQUcsRUFBRTtZQUNuRCxJQUFBLDJCQUFlLEVBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQyxJQUFBLDJCQUFlLEVBQUMsSUFBVyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqRCxJQUFBLDJCQUFlLEVBQUMsR0FBVSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoRCxJQUFBLDJCQUFlLEVBQUMsRUFBUyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxpREFBaUQsRUFBRSxHQUFHLEVBQUU7WUFDekQsSUFBQSwyQkFBZSxFQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEMsSUFBQSwyQkFBZSxFQUFDLGdCQUFnQixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3Nob3VsZCc7XG5cbmltcG9ydCB7IGlzQm9sdDExSW52b2ljZSB9IGZyb20gJy4uLy4uL3NyYy9saWdodG5pbmcnO1xuXG5kZXNjcmliZSgnbGlnaHRuaW5nJywgKCkgPT4ge1xuICBkZXNjcmliZSgnaXNCb2x0MTFJbnZvaWNlJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIHRydWUgZm9yIGEgdmFsaWQgYm9sdDExIGludm9pY2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBpbnZvaWNlID1cbiAgICAgICAgJ2xuYmM1MDBuMXAzenY1dmtwcDV4MHRoY2F6OHdlcDU0Y2xjMnh0NTg5NWF6amR6bXRoeXNrenpoOXlzbGdneTc0cXR2bDZzZHBkZzNoa3VjdDVkOWhrdWdyeGRhZXpxam4wZHBoazJmbW55cGtrMm10c2RhaGtjY3F6cGd4cXl6NXZxc3A1djgwcTR2cTRwd2FrcTJsMGhjcWd0ZWxnYWpzeW12NHVkNGpkY3JxdG56aHZldDU1cWx1czlxeXlzc3F1cWgyd2wybTg2NnFzNW43MmM1dmc2d21xeDl2endoczV5cHVhbHE0bWN1NzZoMnRka2NxM2p0and0Z2dmZmY3eHd0ZHF4bG53cWs4Y3hwenJ5amdocm1tcTNzeXJhc3dwOXZqcjdjcXJ5OWw5Nic7XG5cbiAgICAgIGlzQm9sdDExSW52b2ljZShpbnZvaWNlKS5zaG91bGQuZXF1YWwodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBmYWxzZSBmb3Igbm9uLXN0cmluZyB2YWx1ZXMnLCAoKSA9PiB7XG4gICAgICBpc0JvbHQxMUludm9pY2UodW5kZWZpbmVkKS5zaG91bGQuZXF1YWwoZmFsc2UpO1xuICAgICAgaXNCb2x0MTFJbnZvaWNlKG51bGwgYXMgYW55KS5zaG91bGQuZXF1YWwoZmFsc2UpO1xuICAgICAgaXNCb2x0MTFJbnZvaWNlKDEyMyBhcyBhbnkpLnNob3VsZC5lcXVhbChmYWxzZSk7XG4gICAgICBpc0JvbHQxMUludm9pY2Uoe30gYXMgYW55KS5zaG91bGQuZXF1YWwoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gZmFsc2UgZm9yIGludmFsaWQgaW52b2ljZSBzdHJpbmdzJywgKCkgPT4ge1xuICAgICAgaXNCb2x0MTFJbnZvaWNlKCcnKS5zaG91bGQuZXF1YWwoZmFsc2UpO1xuICAgICAgaXNCb2x0MTFJbnZvaWNlKCdub3QtYW4taW52b2ljZScpLnNob3VsZC5lcXVhbChmYWxzZSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|