@bitgo/sdk-core 28.24.0 → 29.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +10 -0
  3. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
  4. package/dist/src/bitgo/baseCoin/baseCoin.js +15 -1
  5. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +2 -0
  6. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  7. package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
  8. package/dist/src/bitgo/environments.js +4 -4
  9. package/dist/src/bitgo/index.d.ts +0 -1
  10. package/dist/src/bitgo/index.d.ts.map +1 -1
  11. package/dist/src/bitgo/index.js +1 -2
  12. package/dist/src/bitgo/wallet/iWallet.d.ts +0 -2
  13. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  14. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  15. package/dist/src/bitgo/wallet/wallet.d.ts +0 -5
  16. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  17. package/dist/src/bitgo/wallet/wallet.js +1 -12
  18. package/dist/tsconfig.tsbuildinfo +1 -1
  19. package/package.json +6 -8
  20. package/dist/src/bitgo/lightning/codecs.d.ts +0 -320
  21. package/dist/src/bitgo/lightning/codecs.d.ts.map +0 -1
  22. package/dist/src/bitgo/lightning/codecs.js +0 -211
  23. package/dist/src/bitgo/lightning/index.d.ts +0 -6
  24. package/dist/src/bitgo/lightning/index.d.ts.map +0 -1
  25. package/dist/src/bitgo/lightning/index.js +0 -22
  26. package/dist/src/bitgo/lightning/lightningUtils.d.ts +0 -59
  27. package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +0 -1
  28. package/dist/src/bitgo/lightning/lightningUtils.js +0 -224
  29. package/dist/src/bitgo/lightning/lightningWallet.d.ts +0 -18
  30. package/dist/src/bitgo/lightning/lightningWallet.d.ts.map +0 -1
  31. package/dist/src/bitgo/lightning/lightningWallet.js +0 -65
  32. package/dist/src/bitgo/lightning/signableJson.d.ts +0 -17
  33. package/dist/src/bitgo/lightning/signableJson.d.ts.map +0 -1
  34. package/dist/src/bitgo/lightning/signableJson.js +0 -29
  35. package/dist/src/bitgo/lightning/signature.d.ts +0 -22
  36. package/dist/src/bitgo/lightning/signature.d.ts.map +0 -1
  37. package/dist/src/bitgo/lightning/signature.js +0 -69
  38. package/dist/src/bitgo/wallet/lightning.d.ts +0 -20
  39. package/dist/src/bitgo/wallet/lightning.d.ts.map +0 -1
  40. package/dist/src/bitgo/wallet/lightning.js +0 -16
  41. package/dist/test/unit/bitgo/lightning/codecs.d.ts +0 -2
  42. package/dist/test/unit/bitgo/lightning/codecs.d.ts.map +0 -1
  43. package/dist/test/unit/bitgo/lightning/codecs.js +0 -147
  44. package/dist/test/unit/bitgo/lightning/createWatchOnlyFixture.d.ts +0 -4
  45. package/dist/test/unit/bitgo/lightning/createWatchOnlyFixture.d.ts.map +0 -1
  46. package/dist/test/unit/bitgo/lightning/createWatchOnlyFixture.js +0 -1562
  47. package/dist/test/unit/bitgo/lightning/lightningUtils.d.ts +0 -2
  48. package/dist/test/unit/bitgo/lightning/lightningUtils.d.ts.map +0 -1
  49. package/dist/test/unit/bitgo/lightning/lightningUtils.js +0 -104
  50. package/dist/test/unit/bitgo/lightning/signableJson.d.ts +0 -2
  51. package/dist/test/unit/bitgo/lightning/signableJson.d.ts.map +0 -1
  52. package/dist/test/unit/bitgo/lightning/signableJson.js +0 -52
  53. package/dist/test/unit/bitgo/lightning/signature.d.ts +0 -2
  54. package/dist/test/unit/bitgo/lightning/signature.d.ts.map +0 -1
  55. package/dist/test/unit/bitgo/lightning/signature.js +0 -91
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=lightningUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lightningUtils.d.ts","sourceRoot":"","sources":["../../../../../test/unit/bitgo/lightning/lightningUtils.ts"],"names":[],"mappings":""}
@@ -1,104 +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
- 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 macaroon_1 = require("macaroon");
41
- const utxolib = __importStar(require("@bitgo/utxo-lib"));
42
- const createWatchOnlyFixture_1 = require("./createWatchOnlyFixture");
43
- const lightningUtils_1 = require("./../../../../src/bitgo/lightning/lightningUtils");
44
- const src_1 = require("../../../../src");
45
- describe('lightning utils', function () {
46
- [
47
- { name: 'lnbtc', networkName: 'bitcoin' },
48
- { name: 'tlnbtc', networkName: 'testnet' },
49
- ].forEach(({ name, networkName }) => {
50
- describe(`success - coin ${name} and network ${networkName}`, function () {
51
- it(`isValidLightningNetworkName and getLightningNetwork`, function () {
52
- (0, assert_1.default)((0, lightningUtils_1.isValidLightningNetworkName)(networkName));
53
- const network = (0, lightningUtils_1.getLightningNetwork)(networkName);
54
- assert_1.default.strictEqual(network, utxolib.networks[networkName]);
55
- });
56
- it(`isValidLightningNetwork`, function () {
57
- (0, assert_1.default)((0, lightningUtils_1.isValidLightningNetworkName)(networkName));
58
- (0, assert_1.default)((0, lightningUtils_1.isValidLightningNetwork)(utxolib.networks[networkName]));
59
- });
60
- it(`getStaticsLightningNetwork`, function () {
61
- assert_1.default.strictEqual((0, lightningUtils_1.getStaticsLightningNetwork)(name).family, 'lnbtc');
62
- });
63
- it(`getUtxolibNetwork`, function () {
64
- assert_1.default.strictEqual((0, lightningUtils_1.getUtxolibNetwork)(name), networkName === 'bitcoin' ? utxolib.networks.bitcoin : utxolib.networks.testnet);
65
- });
66
- it(`isLightningCoinName`, function () {
67
- assert_1.default.strictEqual((0, lightningUtils_1.isLightningCoinName)(name), true);
68
- assert_1.default.strictEqual((0, lightningUtils_1.isLightningCoinName)('ltc'), false);
69
- });
70
- });
71
- });
72
- it(`isValidLightningNetworkName should return false for non lightning network name`, function () {
73
- assert_1.default.strictEqual((0, lightningUtils_1.isValidLightningNetworkName)('litecoin'), false);
74
- });
75
- it(`isValidLightningNetwork should return false for non lightning network`, function () {
76
- assert_1.default.strictEqual((0, lightningUtils_1.isValidLightningNetwork)(utxolib.networks['litecoin']), false);
77
- });
78
- it(`getUtxolibNetwork should return fail for invalid lightning coin`, function () {
79
- assert_1.default.throws(() => {
80
- (0, lightningUtils_1.getUtxolibNetwork)('ltc');
81
- }, /ltc is not a lightning coin/);
82
- });
83
- it(`createWatchOnly`, function () {
84
- const watchOnly = (0, lightningUtils_1.createWatchOnly)(createWatchOnlyFixture_1.signerRootKey, utxolib.networks.testnet);
85
- assert_1.default.deepStrictEqual(watchOnly.accounts, createWatchOnlyFixture_1.accounts);
86
- assert_1.default.strictEqual(watchOnly.master_key_fingerprint, utxolib.bip32.fromBase58(createWatchOnlyFixture_1.signerRootKey, utxolib.networks.testnet).fingerprint.toString('hex'));
87
- });
88
- it(`addIPCaveatToMacaroon`, function () {
89
- const macaroon = 'AgEDbG5kAvgBAwoQMgU7rDi802Yqg/tHll24nhIBMBoWCgdhZGRyZXNzEgRyZWFkEgV3cml0ZRoTCgRpbmZvEgRyZWFkEgV3cml0ZRoXCghpbnZvaWNlcxIEcmVhZBIFd3JpdGUaIQoIbWFjYXJvb24SCGdlbmVyYXRlEgRyZWFkEgV3cml0ZRoWCgdtZXNzYWdlEgRyZWFkEgV3cml0ZRoXCghvZmZjaGFpbhIEcmVhZBIFd3JpdGUaFgoHb25jaGFpbhIEcmVhZBIFd3JpdGUaFAoFcGVlcnMSBHJlYWQSBXdyaXRlGhgKBnNpZ25lchIIZ2VuZXJhdGUSBHJlYWQAAAYgZKiUvEzxGd2QKGUS+9R5ZWevG09S06fMJUnt+k1XXXQ=';
90
- const macaroonObj = (0, macaroon_1.importMacaroon)(macaroon).exportJSON();
91
- assert_1.default.strictEqual(macaroonObj.c, undefined);
92
- const macaroonWithCaveat = (0, lightningUtils_1.addIPCaveatToMacaroon)(macaroon, '127.0.0.1');
93
- const macaroonObjWithCaveat = (0, macaroon_1.importMacaroon)(macaroonWithCaveat).exportJSON();
94
- assert_1.default.strictEqual(macaroonObjWithCaveat.c[0].i, 'ipaddr 127.0.0.1');
95
- });
96
- it(`deriveLightningServiceSharedSecret`, function () {
97
- const userAuthXprv = 'xprv9s21ZrQH143K4NPkV8riiTnFf72MRyQDVHMmmpekGF1w5QkS2MfTei9KXYvrZVMop4zQ4arnzSF7TRp3Cy73AWaDdADiYMCi5qpYW1bUa5m';
98
- const lightningServicePubKey = (0, lightningUtils_1.getStaticsLightningNetwork)('tlnbtc').lightningServicePubKey;
99
- const expectedSecret = (0, src_1.getSharedSecret)(utxolib.bip32.fromBase58(userAuthXprv), Buffer.from(lightningServicePubKey, 'hex'));
100
- const secret = (0, lightningUtils_1.deriveLightningServiceSharedSecret)('tlnbtc', userAuthXprv);
101
- assert_1.default.deepStrictEqual(secret, expectedSecret);
102
- });
103
- });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYml0Z28vbGlnaHRuaW5nL2xpZ2h0bmluZ1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLHVDQUEwQztBQUMxQyx5REFBMkM7QUFFM0MscUVBQW1FO0FBQ25FLHFGQVUwRDtBQUUxRCx5Q0FBa0Q7QUFFbEQsUUFBUSxDQUFDLGlCQUFpQixFQUFFO0lBQzFCO1FBQ0UsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUU7UUFDekMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUU7S0FDM0MsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFO1FBQ2xDLFFBQVEsQ0FBQyxrQkFBa0IsSUFBSSxnQkFBZ0IsV0FBVyxFQUFFLEVBQUU7WUFDNUQsRUFBRSxDQUFDLHFEQUFxRCxFQUFFO2dCQUN4RCxJQUFBLGdCQUFNLEVBQUMsSUFBQSw0Q0FBMkIsRUFBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFBLG9DQUFtQixFQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNqRCxnQkFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzdELENBQUMsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLHlCQUF5QixFQUFFO2dCQUM1QixJQUFBLGdCQUFNLEVBQUMsSUFBQSw0Q0FBMkIsRUFBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUNqRCxJQUFBLGdCQUFNLEVBQUMsSUFBQSx3Q0FBdUIsRUFBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqRSxDQUFDLENBQUMsQ0FBQztZQUVILEVBQUUsQ0FBQyw0QkFBNEIsRUFBRTtnQkFDL0IsZ0JBQU0sQ0FBQyxXQUFXLENBQUMsSUFBQSwyQ0FBMEIsRUFBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDdkUsQ0FBQyxDQUFDLENBQUM7WUFFSCxFQUFFLENBQUMsbUJBQW1CLEVBQUU7Z0JBQ3RCLGdCQUFNLENBQUMsV0FBVyxDQUNoQixJQUFBLGtDQUFpQixFQUFDLElBQUksQ0FBQyxFQUN2QixXQUFXLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQ2hGLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztZQUVILEVBQUUsQ0FBQyxxQkFBcUIsRUFBRTtnQkFDeEIsZ0JBQU0sQ0FBQyxXQUFXLENBQUMsSUFBQSxvQ0FBbUIsRUFBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDcEQsZ0JBQU0sQ0FBQyxXQUFXLENBQUMsSUFBQSxvQ0FBbUIsRUFBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN4RCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsZ0ZBQWdGLEVBQUU7UUFDbkYsZ0JBQU0sQ0FBQyxXQUFXLENBQUMsSUFBQSw0Q0FBMkIsRUFBQyxVQUFVLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyRSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx1RUFBdUUsRUFBRTtRQUMxRSxnQkFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFBLHdDQUF1QixFQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxpRUFBaUUsRUFBRTtRQUNwRSxnQkFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDakIsSUFBQSxrQ0FBaUIsRUFBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztJQUNwQyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxpQkFBaUIsRUFBRTtRQUNwQixNQUFNLFNBQVMsR0FBRyxJQUFBLGdDQUFlLEVBQUMsc0NBQWEsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNFLGdCQUFNLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsaUNBQVEsQ0FBQyxDQUFDO1FBQ3JELGdCQUFNLENBQUMsV0FBVyxDQUNoQixTQUFTLENBQUMsc0JBQXNCLEVBQ2hDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLHNDQUFhLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUM5RixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsdUJBQXVCLEVBQUU7UUFDMUIsTUFBTSxRQUFRLEdBQ1osMFlBQTBZLENBQUM7UUFDN1ksTUFBTSxXQUFXLEdBQUcsSUFBQSx5QkFBYyxFQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzFELGdCQUFNLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDN0MsTUFBTSxrQkFBa0IsR0FBRyxJQUFBLHNDQUFxQixFQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN4RSxNQUFNLHFCQUFxQixHQUFHLElBQUEseUJBQWMsRUFBQyxrQkFBa0IsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlFLGdCQUFNLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUN2RSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxvQ0FBb0MsRUFBRTtRQUN2QyxNQUFNLFlBQVksR0FDaEIsaUhBQWlILENBQUM7UUFDcEgsTUFBTSxzQkFBc0IsR0FBRyxJQUFBLDJDQUEwQixFQUFDLFFBQVEsQ0FBQyxDQUFDLHNCQUFzQixDQUFDO1FBRTNGLE1BQU0sY0FBYyxHQUFHLElBQUEscUJBQWUsRUFDcEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLENBQzNDLENBQUM7UUFFRixNQUFNLE1BQU0sR0FBRyxJQUFBLG1EQUFrQyxFQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUUxRSxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDakQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IGltcG9ydE1hY2Fyb29uIH0gZnJvbSAnbWFjYXJvb24nO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG5pbXBvcnQgeyBhY2NvdW50cywgc2lnbmVyUm9vdEtleSB9IGZyb20gJy4vY3JlYXRlV2F0Y2hPbmx5Rml4dHVyZSc7XG5pbXBvcnQge1xuICBpc1ZhbGlkTGlnaHRuaW5nTmV0d29ya05hbWUsXG4gIGdldExpZ2h0bmluZ05ldHdvcmssXG4gIGlzVmFsaWRMaWdodG5pbmdOZXR3b3JrLFxuICBnZXRTdGF0aWNzTGlnaHRuaW5nTmV0d29yayxcbiAgZ2V0VXR4b2xpYk5ldHdvcmssXG4gIGlzTGlnaHRuaW5nQ29pbk5hbWUsXG4gIGNyZWF0ZVdhdGNoT25seSxcbiAgYWRkSVBDYXZlYXRUb01hY2Fyb29uLFxuICBkZXJpdmVMaWdodG5pbmdTZXJ2aWNlU2hhcmVkU2VjcmV0LFxufSBmcm9tICcuLy4uLy4uLy4uLy4uL3NyYy9iaXRnby9saWdodG5pbmcvbGlnaHRuaW5nVXRpbHMnO1xuXG5pbXBvcnQgeyBnZXRTaGFyZWRTZWNyZXQgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMnO1xuXG5kZXNjcmliZSgnbGlnaHRuaW5nIHV0aWxzJywgZnVuY3Rpb24gKCkge1xuICBbXG4gICAgeyBuYW1lOiAnbG5idGMnLCBuZXR3b3JrTmFtZTogJ2JpdGNvaW4nIH0sXG4gICAgeyBuYW1lOiAndGxuYnRjJywgbmV0d29ya05hbWU6ICd0ZXN0bmV0JyB9LFxuICBdLmZvckVhY2goKHsgbmFtZSwgbmV0d29ya05hbWUgfSkgPT4ge1xuICAgIGRlc2NyaWJlKGBzdWNjZXNzIC0gY29pbiAke25hbWV9IGFuZCBuZXR3b3JrICR7bmV0d29ya05hbWV9YCwgZnVuY3Rpb24gKCkge1xuICAgICAgaXQoYGlzVmFsaWRMaWdodG5pbmdOZXR3b3JrTmFtZSBhbmQgZ2V0TGlnaHRuaW5nTmV0d29ya2AsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXNzZXJ0KGlzVmFsaWRMaWdodG5pbmdOZXR3b3JrTmFtZShuZXR3b3JrTmFtZSkpO1xuICAgICAgICBjb25zdCBuZXR3b3JrID0gZ2V0TGlnaHRuaW5nTmV0d29yayhuZXR3b3JrTmFtZSk7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChuZXR3b3JrLCB1dHhvbGliLm5ldHdvcmtzW25ldHdvcmtOYW1lXSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoYGlzVmFsaWRMaWdodG5pbmdOZXR3b3JrYCwgZnVuY3Rpb24gKCkge1xuICAgICAgICBhc3NlcnQoaXNWYWxpZExpZ2h0bmluZ05ldHdvcmtOYW1lKG5ldHdvcmtOYW1lKSk7XG4gICAgICAgIGFzc2VydChpc1ZhbGlkTGlnaHRuaW5nTmV0d29yayh1dHhvbGliLm5ldHdvcmtzW25ldHdvcmtOYW1lXSkpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KGBnZXRTdGF0aWNzTGlnaHRuaW5nTmV0d29ya2AsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGdldFN0YXRpY3NMaWdodG5pbmdOZXR3b3JrKG5hbWUpLmZhbWlseSwgJ2xuYnRjJyk7XG4gICAgICB9KTtcblxuICAgICAgaXQoYGdldFV0eG9saWJOZXR3b3JrYCwgZnVuY3Rpb24gKCkge1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgICAgZ2V0VXR4b2xpYk5ldHdvcmsobmFtZSksXG4gICAgICAgICAgbmV0d29ya05hbWUgPT09ICdiaXRjb2luJyA/IHV0eG9saWIubmV0d29ya3MuYml0Y29pbiA6IHV0eG9saWIubmV0d29ya3MudGVzdG5ldFxuICAgICAgICApO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KGBpc0xpZ2h0bmluZ0NvaW5OYW1lYCwgZnVuY3Rpb24gKCkge1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoaXNMaWdodG5pbmdDb2luTmFtZShuYW1lKSwgdHJ1ZSk7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChpc0xpZ2h0bmluZ0NvaW5OYW1lKCdsdGMnKSwgZmFsc2UpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KGBpc1ZhbGlkTGlnaHRuaW5nTmV0d29ya05hbWUgc2hvdWxkIHJldHVybiBmYWxzZSBmb3Igbm9uIGxpZ2h0bmluZyBuZXR3b3JrIG5hbWVgLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGlzVmFsaWRMaWdodG5pbmdOZXR3b3JrTmFtZSgnbGl0ZWNvaW4nKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdChgaXNWYWxpZExpZ2h0bmluZ05ldHdvcmsgc2hvdWxkIHJldHVybiBmYWxzZSBmb3Igbm9uIGxpZ2h0bmluZyBuZXR3b3JrYCwgZnVuY3Rpb24gKCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChpc1ZhbGlkTGlnaHRuaW5nTmV0d29yayh1dHhvbGliLm5ldHdvcmtzWydsaXRlY29pbiddKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdChgZ2V0VXR4b2xpYk5ldHdvcmsgc2hvdWxkIHJldHVybiBmYWlsIGZvciBpbnZhbGlkIGxpZ2h0bmluZyBjb2luYCwgZnVuY3Rpb24gKCkge1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4ge1xuICAgICAgZ2V0VXR4b2xpYk5ldHdvcmsoJ2x0YycpO1xuICAgIH0sIC9sdGMgaXMgbm90IGEgbGlnaHRuaW5nIGNvaW4vKTtcbiAgfSk7XG5cbiAgaXQoYGNyZWF0ZVdhdGNoT25seWAsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB3YXRjaE9ubHkgPSBjcmVhdGVXYXRjaE9ubHkoc2lnbmVyUm9vdEtleSwgdXR4b2xpYi5uZXR3b3Jrcy50ZXN0bmV0KTtcbiAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHdhdGNoT25seS5hY2NvdW50cywgYWNjb3VudHMpO1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAgIHdhdGNoT25seS5tYXN0ZXJfa2V5X2ZpbmdlcnByaW50LFxuICAgICAgdXR4b2xpYi5iaXAzMi5mcm9tQmFzZTU4KHNpZ25lclJvb3RLZXksIHV0eG9saWIubmV0d29ya3MudGVzdG5ldCkuZmluZ2VycHJpbnQudG9TdHJpbmcoJ2hleCcpXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoYGFkZElQQ2F2ZWF0VG9NYWNhcm9vbmAsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBtYWNhcm9vbiA9XG4gICAgICAnQWdFRGJHNWtBdmdCQXdvUU1nVTdyRGk4MDJZcWcvdEhsbDI0bmhJQk1Cb1dDZ2RoWkdSeVpYTnpFZ1J5WldGa0VnVjNjbWwwWlJvVENnUnBibVp2RWdSeVpXRmtFZ1YzY21sMFpSb1hDZ2hwYm5admFXTmxjeElFY21WaFpCSUZkM0pwZEdVYUlRb0liV0ZqWVhKdmIyNFNDR2RsYm1WeVlYUmxFZ1J5WldGa0VnVjNjbWwwWlJvV0NnZHRaWE56WVdkbEVnUnlaV0ZrRWdWM2NtbDBaUm9YQ2dodlptWmphR0ZwYmhJRWNtVmhaQklGZDNKcGRHVWFGZ29IYjI1amFHRnBiaElFY21WaFpCSUZkM0pwZEdVYUZBb0ZjR1ZsY25NU0JISmxZV1FTQlhkeWFYUmxHaGdLQm5OcFoyNWxjaElJWjJWdVpYSmhkR1VTQkhKbFlXUUFBQVlnWktpVXZFenhHZDJRS0dVUys5UjVaV2V2RzA5UzA2Zk1KVW50K2sxWFhYUT0nO1xuICAgIGNvbnN0IG1hY2Fyb29uT2JqID0gaW1wb3J0TWFjYXJvb24obWFjYXJvb24pLmV4cG9ydEpTT04oKTtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwobWFjYXJvb25PYmouYywgdW5kZWZpbmVkKTtcbiAgICBjb25zdCBtYWNhcm9vbldpdGhDYXZlYXQgPSBhZGRJUENhdmVhdFRvTWFjYXJvb24obWFjYXJvb24sICcxMjcuMC4wLjEnKTtcbiAgICBjb25zdCBtYWNhcm9vbk9ialdpdGhDYXZlYXQgPSBpbXBvcnRNYWNhcm9vbihtYWNhcm9vbldpdGhDYXZlYXQpLmV4cG9ydEpTT04oKTtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwobWFjYXJvb25PYmpXaXRoQ2F2ZWF0LmNbMF0uaSwgJ2lwYWRkciAxMjcuMC4wLjEnKTtcbiAgfSk7XG5cbiAgaXQoYGRlcml2ZUxpZ2h0bmluZ1NlcnZpY2VTaGFyZWRTZWNyZXRgLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdXNlckF1dGhYcHJ2ID1cbiAgICAgICd4cHJ2OXMyMVpyUUgxNDNLNE5Qa1Y4cmlpVG5GZjcyTVJ5UURWSE1tbXBla0dGMXc1UWtTMk1mVGVpOUtYWXZyWlZNb3A0elE0YXJuelNGN1RScDNDeTczQVdhRGRBRGlZTUNpNXFwWVcxYlVhNW0nO1xuICAgIGNvbnN0IGxpZ2h0bmluZ1NlcnZpY2VQdWJLZXkgPSBnZXRTdGF0aWNzTGlnaHRuaW5nTmV0d29yaygndGxuYnRjJykubGlnaHRuaW5nU2VydmljZVB1YktleTtcblxuICAgIGNvbnN0IGV4cGVjdGVkU2VjcmV0ID0gZ2V0U2hhcmVkU2VjcmV0KFxuICAgICAgdXR4b2xpYi5iaXAzMi5mcm9tQmFzZTU4KHVzZXJBdXRoWHBydiksXG4gICAgICBCdWZmZXIuZnJvbShsaWdodG5pbmdTZXJ2aWNlUHViS2V5LCAnaGV4JylcbiAgICApO1xuXG4gICAgY29uc3Qgc2VjcmV0ID0gZGVyaXZlTGlnaHRuaW5nU2VydmljZVNoYXJlZFNlY3JldCgndGxuYnRjJywgdXNlckF1dGhYcHJ2KTtcblxuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoc2VjcmV0LCBleHBlY3RlZFNlY3JldCk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=signableJson.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signableJson.d.ts","sourceRoot":"","sources":["../../../../../test/unit/bitgo/lightning/signableJson.ts"],"names":[],"mappings":""}
@@ -1,52 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const lightning_1 = require("../../../../src/bitgo/lightning");
7
- const assert_1 = __importDefault(require("assert"));
8
- describe('canonicalizeObject', function () {
9
- it('should return the canonicalized object with sorted keys', function () {
10
- const input = { b: 1, a: 2 };
11
- const expected = { a: 2, b: 1 };
12
- const result = (0, lightning_1.canonicalizeObject)(input);
13
- assert_1.default.notDeepStrictEqual(JSON.stringify(input), JSON.stringify(expected));
14
- assert_1.default.deepStrictEqual(JSON.stringify(result), JSON.stringify(expected));
15
- });
16
- it('should handle nested objects and sort their keys', function () {
17
- const input = { b: { d: 4, c: 3 }, a: 2 };
18
- const expected = { a: 2, b: { c: 3, d: 4 } };
19
- const result = (0, lightning_1.canonicalizeObject)(input);
20
- assert_1.default.notDeepStrictEqual(JSON.stringify(input), JSON.stringify(expected));
21
- assert_1.default.deepStrictEqual(JSON.stringify(result), JSON.stringify(expected));
22
- });
23
- it('should handle arrays within objects', function () {
24
- const input = { b: [3, 2, 1], a: 2 };
25
- const expected = { a: 2, b: [3, 2, 1] };
26
- const result = (0, lightning_1.canonicalizeObject)(input);
27
- assert_1.default.notDeepStrictEqual(JSON.stringify(input), JSON.stringify(expected));
28
- assert_1.default.deepStrictEqual(JSON.stringify(result), JSON.stringify(expected));
29
- });
30
- it('should handle arrays of objects and sort their keys', function () {
31
- const input = [
32
- { b: 2, a: 1 },
33
- { d: 4, c: 3 },
34
- ];
35
- const expected = [
36
- { a: 1, b: 2 },
37
- { c: 3, d: 4 },
38
- ];
39
- const result = (0, lightning_1.canonicalizeObject)(input);
40
- assert_1.default.notDeepStrictEqual(JSON.stringify(input), JSON.stringify(expected));
41
- assert_1.default.deepStrictEqual(JSON.stringify(result), JSON.stringify(expected));
42
- });
43
- it('should return primitive values as is', function () {
44
- assert_1.default.strictEqual(JSON.stringify((0, lightning_1.canonicalizeObject)(42)), JSON.stringify(42));
45
- assert_1.default.strictEqual(JSON.stringify((0, lightning_1.canonicalizeObject)('string')), JSON.stringify('string'));
46
- });
47
- it('should throw an error for invalid object types', function () {
48
- assert_1.default.throws(() => (0, lightning_1.canonicalizeObject)(null), /Invalid object type/);
49
- assert_1.default.throws(() => (0, lightning_1.canonicalizeObject)(undefined), /Invalid object type/);
50
- });
51
- });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFibGVKc29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2JpdGdvL2xpZ2h0bmluZy9zaWduYWJsZUpzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrREFBcUU7QUFDckUsb0RBQTRCO0FBRTVCLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRTtJQUM3QixFQUFFLENBQUMseURBQXlELEVBQUU7UUFDNUQsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUM3QixNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sTUFBTSxHQUFHLElBQUEsOEJBQWtCLEVBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsZ0JBQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMzRSxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxrREFBa0QsRUFBRTtRQUNyRCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUMxQyxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUs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QyxHQUFHLEVBQUUsQ0FBQyxJQUFBLDhCQUFrQixFQUFDLFNBQWtCLENBQUMsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3JGLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjYW5vbmljYWxpemVPYmplY3QgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvYml0Z28vbGlnaHRuaW5nJztcbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuZGVzY3JpYmUoJ2Nhbm9uaWNhbGl6ZU9iamVjdCcsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIGNhbm9uaWNhbGl6ZWQgb2JqZWN0IHdpdGggc29ydGVkIGtleXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgaW5wdXQgPSB7IGI6IDEsIGE6IDIgfTtcbiAgICBjb25zdCBleHBlY3RlZCA9IHsgYTogMiwgYjogMSB9O1xuICAgIGNvbnN0IHJlc3VsdCA9IGNhbm9uaWNhbGl6ZU9iamVjdChpbnB1dCk7XG4gICAgYXNzZXJ0Lm5vdERlZXBTdHJpY3RFcXVhbChKU09OLnN0cmluZ2lmeShpbnB1dCksIEpTT04uc3RyaW5naWZ5KGV4cGVjdGVkKSk7XG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChKU09OLnN0cmluZ2lmeShyZXN1bHQpLCBKU09OLnN0cmluZ2lmeShleHBlY3RlZCkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGhhbmRsZSBuZXN0ZWQgb2JqZWN0cyBhbmQgc29ydCB0aGVpciBrZXlzJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IGlucHV0ID0geyBiOiB7IGQ6IDQsIGM6IDMgfSwgYTogMiB9O1xuICAgIGNvbnN0IGV4cGVjdGVkID0geyBhOiAyLCBiOiB7IGM6IDMsIGQ6IDQgfSB9O1xuICAgIGNvbnN0IHJlc3VsdCA9IGNhbm9uaWNhbGl6ZU9iamVjdChpbnB1dCk7XG4gICAgYXNzZXJ0Lm5vdERlZXBTdHJpY3RFcXVhbChKU09OLnN0cmluZ2lmeShpbnB1dCksIEpTT04uc3RyaW5naWZ5KGV4cGVjdGVkKSk7XG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChKU09OLnN0cmluZ2lmeShyZXN1bHQpLCBKU09OLnN0cmluZ2lmeShleHBlY3RlZCkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGhhbmRsZSBhcnJheXMgd2l0aGluIG9iamVjdHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgaW5wdXQgPSB7IGI6IFszLCAyLCAxXSwgYTogMiB9O1xuICAgIGNvbnN0IGV4cGVjdGVkID0geyBhOiAyLCBiOiBbMywgMiwgMV0gfTtcbiAgICBjb25zdCByZXN1bHQgPSBjYW5vbmljYWxpemVPYmplY3QoaW5wdXQpO1xuICAgIGFzc2VydC5ub3REZWVwU3RyaWN0RXF1YWwoSlNPTi5zdHJpbmdpZnkoaW5wdXQpLCBKU09OLnN0cmluZ2lmeShleHBlY3RlZCkpO1xuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoSlNPTi5zdHJpbmdpZnkocmVzdWx0KSwgSlNPTi5zdHJpbmdpZnkoZXhwZWN0ZWQpKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBoYW5kbGUgYXJyYXlzIG9mIG9iamVjdHMgYW5kIHNvcnQgdGhlaXIga2V5cycsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBpbnB1dCA9IFtcbiAgICAgIHsgYjogMiwgYTogMSB9LFxuICAgICAgeyBkOiA0LCBjOiAzIH0sXG4gICAgXTtcbiAgICBjb25zdCBleHBlY3RlZCA9IFtcbiAgICAgIHsgYTogMSwgYjogMiB9LFxuICAgICAgeyBjOiAzLCBkOiA0IH0sXG4gICAgXTtcbiAgICBjb25zdCByZXN1bHQgPSBjYW5vbmljYWxpemVPYmplY3QoaW5wdXQpO1xuICAgIGFzc2VydC5ub3REZWVwU3RyaWN0RXF1YWwoSlNPTi5zdHJpbmdpZnkoaW5wdXQpLCBKU09OLnN0cmluZ2lmeShleHBlY3RlZCkpO1xuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoSlNPTi5zdHJpbmdpZnkocmVzdWx0KSwgSlNPTi5zdHJpbmdpZnkoZXhwZWN0ZWQpKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlcyBhcyBpcycsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoSlNPTi5zdHJpbmdpZnkoY2Fub25pY2FsaXplT2JqZWN0KDQyKSksIEpTT04uc3RyaW5naWZ5KDQyKSk7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKEpTT04uc3RyaW5naWZ5KGNhbm9uaWNhbGl6ZU9iamVjdCgnc3RyaW5nJykpLCBKU09OLnN0cmluZ2lmeSgnc3RyaW5nJykpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIGZvciBpbnZhbGlkIG9iamVjdCB0eXBlcycsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IGNhbm9uaWNhbGl6ZU9iamVjdChudWxsIGFzIG5ldmVyKSwgL0ludmFsaWQgb2JqZWN0IHR5cGUvKTtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IGNhbm9uaWNhbGl6ZU9iamVjdCh1bmRlZmluZWQgYXMgbmV2ZXIpLCAvSW52YWxpZCBvYmplY3QgdHlwZS8pO1xuICB9KTtcbn0pO1xuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=signature.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../../../test/unit/bitgo/lightning/signature.ts"],"names":[],"mappings":""}
@@ -1,91 +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
- 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 utxolib = __importStar(require("@bitgo/utxo-lib"));
41
- const lightning_1 = require("../../../../src/bitgo/lightning");
42
- const crypto_1 = __importDefault(require("crypto"));
43
- function getKey(seed) {
44
- return utxolib.bip32.fromSeed(crypto_1.default.createHash('sha256').update(seed).digest());
45
- }
46
- describe('verifySignature', function () {
47
- const key = getKey('key');
48
- const keyPub = key.neutered();
49
- const wrongKey = getKey('wrongKey');
50
- it('returns true on valid signature', function () {
51
- const request = {
52
- invoice: 'some data',
53
- };
54
- const signature = (0, lightning_1.createMessageSignature)(request, key.toBase58());
55
- const result = (0, lightning_1.verifyMessageSignature)(request, signature, keyPub.toBase58());
56
- (0, assert_1.default)(result);
57
- });
58
- it('returns true on different order', function () {
59
- const request = {
60
- invoice: 'some data',
61
- fee: 123,
62
- };
63
- const otherRequest = {
64
- fee: 123,
65
- invoice: 'some data',
66
- };
67
- const signature = (0, lightning_1.createMessageSignature)(request, key.toBase58());
68
- const result = (0, lightning_1.verifyMessageSignature)(otherRequest, signature, keyPub.toBase58());
69
- (0, assert_1.default)(result);
70
- });
71
- it('returns false on wrong message', function () {
72
- const request = {
73
- invoice: 'some data',
74
- };
75
- const wrongRequest = {
76
- invoice: 'some other data',
77
- };
78
- const signature = (0, lightning_1.createMessageSignature)(request, key.toBase58());
79
- const result = (0, lightning_1.verifyMessageSignature)(wrongRequest, signature, keyPub.toBase58());
80
- (0, assert_1.default)(!result);
81
- });
82
- it('returns false on wrong key', function () {
83
- const request = {
84
- invoice: 'some data',
85
- };
86
- const signature = (0, lightning_1.createMessageSignature)(request, wrongKey.toBase58());
87
- const result = (0, lightning_1.verifyMessageSignature)(request, signature, keyPub.toBase58());
88
- (0, assert_1.default)(!result);
89
- });
90
- });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2JpdGdvL2xpZ2h0bmluZy9zaWduYXR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFFNUIseURBQTJDO0FBRTNDLCtEQUFpRztBQUNqRyxvREFBNEI7QUFPNUIsU0FBUyxNQUFNLENBQUMsSUFBWTtJQUMxQixPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBQ25GLENBQUM7QUFFRCxRQUFRLENBQUMsaUJBQWlCLEVBQUU7SUFDMUIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFcEMsRUFBRSxDQUFDLGlDQUFpQyxFQUFFO1FBQ3BDLE1BQU0sT0FBTyxHQUFZO1lBQ3ZCLE9BQU8sRUFBRSxXQUFXO1NBQ3JCLENBQUM7UUFDRixNQUFNLFNBQVMsR0FBRyxJQUFBLGtDQUFzQixFQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNsRSxNQUFNLE1BQU0sR0FBRyxJQUFBLGtDQUFzQixFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDN0UsSUFBQSxnQkFBTSxFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGlDQUFpQyxFQUFFO1FBQ3BDLE1BQU0sT0FBTyxHQUFZO1lBQ3ZCLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLEdBQUcsRUFBRSxHQUFHO1NBQ1QsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFZO1lBQzVCLEdBQUcsRUFBRSxHQUFHO1lBQ1IsT0FBTyxFQUFFLFdBQVc7U0FDckIsQ0FBQztRQUNGLE1BQU0sU0FBUyxHQUFHLElBQUEsa0NBQXNCLEVBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sTUFBTSxHQUFHLElBQUEsa0NBQXNCLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNsRixJQUFBLGdCQUFNLEVBQUMsTUFBTSxDQUFDLENBQUM7SUFDakIsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsZ0NBQWdDLEVBQUU7UUFDbkMsTUFBTSxPQUFPLEdBQVk7WUFDdkIsT0FBTyxFQUFFLFdBQVc7U0FDckIsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFZO1lBQzVCLE9BQU8sRUFBRSxpQkFBaUI7U0FDM0IsQ0FBQztRQUNGLE1BQU0sU0FBUyxHQUFHLElBQUEsa0NBQXNCLEVBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sTUFBTSxHQUFHLElBQUEsa0NBQXNCLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNsRixJQUFBLGdCQUFNLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw0QkFBNEIsRUFBRTtRQUMvQixNQUFNLE9BQU8sR0FBWTtZQUN2QixPQUFPLEVBQUUsV0FBVztTQUNyQixDQUFDO1FBQ0YsTUFBTSxTQUFTLEdBQUcsSUFBQSxrQ0FBc0IsRUFBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdkUsTUFBTSxNQUFNLEdBQUcsSUFBQSxrQ0FBc0IsRUFBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzdFLElBQUEsZ0JBQU0sRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcblxuaW1wb3J0IHsgY3JlYXRlTWVzc2FnZVNpZ25hdHVyZSwgdmVyaWZ5TWVzc2FnZVNpZ25hdHVyZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9iaXRnby9saWdodG5pbmcnO1xuaW1wb3J0IGNyeXB0byBmcm9tICdjcnlwdG8nO1xuXG50eXBlIFJlcXVlc3QgPSB7XG4gIGludm9pY2U6IHN0cmluZztcbiAgZmVlPzogbnVtYmVyO1xufTtcblxuZnVuY3Rpb24gZ2V0S2V5KHNlZWQ6IHN0cmluZyk6IHV0eG9saWIuQklQMzJJbnRlcmZhY2Uge1xuICByZXR1cm4gdXR4b2xpYi5iaXAzMi5mcm9tU2VlZChjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKHNlZWQpLmRpZ2VzdCgpKTtcbn1cblxuZGVzY3JpYmUoJ3ZlcmlmeVNpZ25hdHVyZScsIGZ1bmN0aW9uICgpIHtcbiAgY29uc3Qga2V5ID0gZ2V0S2V5KCdrZXknKTtcbiAgY29uc3Qga2V5UHViID0ga2V5Lm5ldXRlcmVkKCk7XG4gIGNvbnN0IHdyb25nS2V5ID0gZ2V0S2V5KCd3cm9uZ0tleScpO1xuXG4gIGl0KCdyZXR1cm5zIHRydWUgb24gdmFsaWQgc2lnbmF0dXJlJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlcXVlc3QgPSB7XG4gICAgICBpbnZvaWNlOiAnc29tZSBkYXRhJyxcbiAgICB9O1xuICAgIGNvbnN0IHNpZ25hdHVyZSA9IGNyZWF0ZU1lc3NhZ2VTaWduYXR1cmUocmVxdWVzdCwga2V5LnRvQmFzZTU4KCkpO1xuICAgIGNvbnN0IHJlc3VsdCA9IHZlcmlmeU1lc3NhZ2VTaWduYXR1cmUocmVxdWVzdCwgc2lnbmF0dXJlLCBrZXlQdWIudG9CYXNlNTgoKSk7XG4gICAgYXNzZXJ0KHJlc3VsdCk7XG4gIH0pO1xuXG4gIGl0KCdyZXR1cm5zIHRydWUgb24gZGlmZmVyZW50IG9yZGVyJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHJlcXVlc3Q6IFJlcXVlc3QgPSB7XG4gICAgICBpbnZvaWNlOiAnc29tZSBkYXRhJyxcbiAgICAgIGZlZTogMTIzLFxuICAgIH07XG4gICAgY29uc3Qgb3RoZXJSZXF1ZXN0OiBSZXF1ZXN0ID0ge1xuICAgICAgZmVlOiAxMjMsXG4gICAgICBpbnZvaWNlOiAnc29tZSBkYXRhJyxcbiAgICB9O1xuICAgIGNvbnN0IHNpZ25hdHVyZSA9IGNyZWF0ZU1lc3NhZ2VTaWduYXR1cmUocmVxdWVzdCwga2V5LnRvQmFzZTU4KCkpO1xuICAgIGNvbnN0IHJlc3VsdCA9IHZlcmlmeU1lc3NhZ2VTaWduYXR1cmUob3RoZXJSZXF1ZXN0LCBzaWduYXR1cmUsIGtleVB1Yi50b0Jhc2U1OCgpKTtcbiAgICBhc3NlcnQocmVzdWx0KTtcbiAgfSk7XG5cbiAgaXQoJ3JldHVybnMgZmFsc2Ugb24gd3JvbmcgbWVzc2FnZScsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXF1ZXN0ID0ge1xuICAgICAgaW52b2ljZTogJ3NvbWUgZGF0YScsXG4gICAgfTtcbiAgICBjb25zdCB3cm9uZ1JlcXVlc3Q6IFJlcXVlc3QgPSB7XG4gICAgICBpbnZvaWNlOiAnc29tZSBvdGhlciBkYXRhJyxcbiAgICB9O1xuICAgIGNvbnN0IHNpZ25hdHVyZSA9IGNyZWF0ZU1lc3NhZ2VTaWduYXR1cmUocmVxdWVzdCwga2V5LnRvQmFzZTU4KCkpO1xuICAgIGNvbnN0IHJlc3VsdCA9IHZlcmlmeU1lc3NhZ2VTaWduYXR1cmUod3JvbmdSZXF1ZXN0LCBzaWduYXR1cmUsIGtleVB1Yi50b0Jhc2U1OCgpKTtcbiAgICBhc3NlcnQoIXJlc3VsdCk7XG4gIH0pO1xuXG4gIGl0KCdyZXR1cm5zIGZhbHNlIG9uIHdyb25nIGtleScsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCByZXF1ZXN0OiBSZXF1ZXN0ID0ge1xuICAgICAgaW52b2ljZTogJ3NvbWUgZGF0YScsXG4gICAgfTtcbiAgICBjb25zdCBzaWduYXR1cmUgPSBjcmVhdGVNZXNzYWdlU2lnbmF0dXJlKHJlcXVlc3QsIHdyb25nS2V5LnRvQmFzZTU4KCkpO1xuICAgIGNvbnN0IHJlc3VsdCA9IHZlcmlmeU1lc3NhZ2VTaWduYXR1cmUocmVxdWVzdCwgc2lnbmF0dXJlLCBrZXlQdWIudG9CYXNlNTgoKSk7XG4gICAgYXNzZXJ0KCFyZXN1bHQpO1xuICB9KTtcbn0pO1xuIl19