@airgap/bitcoin 0.13.11-beta.0 → 0.13.11-beta.10

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.
@@ -86,8 +86,8 @@ exports.createBitcoinSegwitProtocol = exports.BitcoinSegwitProtocolImpl = void 0
86
86
  var coinlib_core_1 = require("@airgap/coinlib-core");
87
87
  var index_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/axios-0.19.0/index"));
88
88
  var bignumber_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber"));
89
- var index_2 = require("@airgap/coinlib-core/dependencies/src/bip39-2.5.0/index");
90
89
  var errors_1 = require("@airgap/coinlib-core/errors");
90
+ var crypto_1 = require("@airgap/crypto");
91
91
  var module_kit_1 = require("@airgap/module-kit");
92
92
  var bitcoin = __importStar(require("bitcoinjs-lib"));
93
93
  var BitcoinSegwitAddress_1 = require("../data/BitcoinSegwitAddress");
@@ -284,33 +284,23 @@ var BitcoinSegwitProtocolImpl = /** @class */ (function () {
284
284
  });
285
285
  };
286
286
  // Offline
287
- BitcoinSegwitProtocolImpl.prototype.getKeyPairFromSecret = function (secret, derivationPath) {
287
+ BitcoinSegwitProtocolImpl.prototype.getCryptoConfiguration = function () {
288
288
  return __awaiter(this, void 0, void 0, function () {
289
289
  return __generator(this, function (_a) {
290
- switch (secret.type) {
291
- case 'hex':
292
- return [2 /*return*/, this.getKeyPairFromHexSecret(secret.value, derivationPath)];
293
- case 'mnemonic':
294
- return [2 /*return*/, this.getKeyPairFromMnemonic(secret.value, derivationPath, secret.password)];
295
- default:
296
- (0, coinlib_core_1.assertNever)(secret);
297
- throw new errors_1.UnsupportedError(coinlib_core_1.Domain.BITCOIN, 'Unsupported secret type.');
298
- }
299
- return [2 /*return*/];
290
+ return [2 /*return*/, this.legacy.getCryptoConfiguration()];
300
291
  });
301
292
  });
302
293
  };
303
- BitcoinSegwitProtocolImpl.prototype.getKeyPairFromHexSecret = function (secret, derivationPath) {
294
+ BitcoinSegwitProtocolImpl.prototype.getKeyPairFromDerivative = function (derivative) {
304
295
  return __awaiter(this, void 0, void 0, function () {
305
- var bip32, derivedBip32, privateKey, publicKey;
296
+ var bip32, privateKey, publicKey;
306
297
  return __generator(this, function (_a) {
307
- bip32 = this.bitcoinJS.lib.bip32.fromSeed(Buffer.from(secret, 'hex'), this.bitcoinJS.config.network);
308
- derivedBip32 = derivationPath ? bip32.derivePath(derivationPath) : bip32;
309
- privateKey = derivedBip32.privateKey;
298
+ bip32 = this.derivativeToBip32Node(derivative);
299
+ privateKey = bip32.privateKey;
310
300
  if (privateKey === undefined) {
311
301
  throw new Error('No private key!');
312
302
  }
313
- publicKey = derivedBip32.publicKey;
303
+ publicKey = bip32.publicKey;
314
304
  return [2 /*return*/, {
315
305
  secretKey: (0, module_kit_1.newSecretKey)(privateKey.toString('hex'), 'hex'),
316
306
  publicKey: (0, module_kit_1.newPublicKey)(publicKey.toString('hex'), 'hex')
@@ -318,40 +308,14 @@ var BitcoinSegwitProtocolImpl = /** @class */ (function () {
318
308
  });
319
309
  });
320
310
  };
321
- BitcoinSegwitProtocolImpl.prototype.getKeyPairFromMnemonic = function (mnemonic, derivationPath, password) {
311
+ BitcoinSegwitProtocolImpl.prototype.getExtendedKeyPairFromDerivative = function (derivative) {
322
312
  return __awaiter(this, void 0, void 0, function () {
323
- var secret;
313
+ var bip32;
324
314
  return __generator(this, function (_a) {
325
- secret = (0, index_2.mnemonicToSeed)(mnemonic, password);
326
- return [2 /*return*/, this.getKeyPairFromHexSecret(secret.toString('hex'), derivationPath)];
327
- });
328
- });
329
- };
330
- BitcoinSegwitProtocolImpl.prototype.getExtendedKeyPairFromSecret = function (secret, derivationPath) {
331
- return __awaiter(this, void 0, void 0, function () {
332
- return __generator(this, function (_a) {
333
- switch (secret.type) {
334
- case 'hex':
335
- return [2 /*return*/, this.getExtendedKeyPairFromHexSecret(secret.value, derivationPath)];
336
- case 'mnemonic':
337
- return [2 /*return*/, this.getExtendedKeyPairFromMnemonic(secret.value, derivationPath, secret.password)];
338
- default:
339
- (0, coinlib_core_1.assertNever)(secret);
340
- throw new errors_1.UnsupportedError(coinlib_core_1.Domain.BITCOIN, 'Unsupported secret type.');
341
- }
342
- return [2 /*return*/];
343
- });
344
- });
345
- };
346
- BitcoinSegwitProtocolImpl.prototype.getExtendedKeyPairFromHexSecret = function (secret, derivationPath) {
347
- return __awaiter(this, void 0, void 0, function () {
348
- var bip32, derivedBip32;
349
- return __generator(this, function (_a) {
350
- bip32 = this.bitcoinJS.lib.bip32.fromSeed(Buffer.from(secret, 'hex'), this.bitcoinJS.config.network);
351
- derivedBip32 = derivationPath ? bip32.derivePath(derivationPath) : bip32;
315
+ bip32 = this.derivativeToBip32Node(derivative);
352
316
  return [2 /*return*/, {
353
- secretKey: (0, module_kit_1.newExtendedSecretKey)(derivedBip32.toBase58(), 'encoded'),
354
- publicKey: (0, key_1.convertExtendedPublicKey)((0, module_kit_1.newExtendedPublicKey)(derivedBip32.neutered().toBase58(), 'encoded'), {
317
+ secretKey: (0, module_kit_1.newExtendedSecretKey)(bip32.toBase58(), 'encoded'),
318
+ publicKey: (0, key_1.convertExtendedPublicKey)((0, module_kit_1.newExtendedPublicKey)(bip32.neutered().toBase58(), 'encoded'), {
355
319
  format: 'encoded',
356
320
  type: 'zpub'
357
321
  })
@@ -359,20 +323,11 @@ var BitcoinSegwitProtocolImpl = /** @class */ (function () {
359
323
  });
360
324
  });
361
325
  };
362
- BitcoinSegwitProtocolImpl.prototype.getExtendedKeyPairFromMnemonic = function (mnemonic, derivationPath, password) {
363
- return __awaiter(this, void 0, void 0, function () {
364
- var secret;
365
- return __generator(this, function (_a) {
366
- secret = (0, index_2.mnemonicToSeed)(mnemonic, password);
367
- return [2 /*return*/, this.getExtendedKeyPairFromHexSecret(secret.toString('hex'), derivationPath)];
368
- });
369
- });
370
- };
371
326
  BitcoinSegwitProtocolImpl.prototype.deriveFromExtendedSecretKey = function (extendedSecretKey, visibilityIndex, addressIndex) {
372
327
  return __awaiter(this, void 0, void 0, function () {
373
328
  var encodedSecretKey, derivedBip32, privateKey;
374
329
  return __generator(this, function (_a) {
375
- encodedSecretKey = (0, key_1.convertExtendedSecretKey)(extendedSecretKey, 'encoded');
330
+ encodedSecretKey = (0, key_1.convertExtendedSecretKey)(extendedSecretKey, { format: 'encoded', type: 'xprv' });
376
331
  derivedBip32 = this.bitcoinJS.lib.bip32
377
332
  .fromBase58(encodedSecretKey.value, this.bitcoinJS.config.network)
378
333
  .derive(visibilityIndex)
@@ -413,7 +368,7 @@ var BitcoinSegwitProtocolImpl = /** @class */ (function () {
413
368
  return __awaiter(this, void 0, void 0, function () {
414
369
  var encodedExtendedSecretKey, bip32, decodedPSBT;
415
370
  return __generator(this, function (_a) {
416
- encodedExtendedSecretKey = (0, key_1.convertExtendedSecretKey)(extendedSecretKey, 'encoded');
371
+ encodedExtendedSecretKey = (0, key_1.convertExtendedSecretKey)(extendedSecretKey, { format: 'encoded', type: 'xprv' });
417
372
  bip32 = this.bitcoinJS.lib.bip32.fromBase58(encodedExtendedSecretKey.value);
418
373
  decodedPSBT = this.bitcoinJS.lib.Psbt.fromHex(transaction.psbt);
419
374
  decodedPSBT.data.inputs.forEach(function (input, index) {
@@ -739,6 +694,20 @@ var BitcoinSegwitProtocolImpl = /** @class */ (function () {
739
694
  });
740
695
  });
741
696
  };
697
+ // Custom
698
+ BitcoinSegwitProtocolImpl.prototype.convertCryptoDerivative = function (derivative) {
699
+ var hexNode = (0, crypto_1.encodeDerivative)('hex', __assign(__assign({}, derivative), { secretKey: "00".concat(derivative.secretKey) }));
700
+ var extendedSecretKey = {
701
+ type: 'xpriv',
702
+ format: 'hex',
703
+ value: hexNode.secretKey
704
+ };
705
+ return (0, key_1.convertExtendedSecretKey)(extendedSecretKey, { format: 'encoded', type: 'xprv' });
706
+ };
707
+ BitcoinSegwitProtocolImpl.prototype.derivativeToBip32Node = function (derivative) {
708
+ var extendedSecretKey = this.convertCryptoDerivative(derivative);
709
+ return this.bitcoinJS.lib.bip32.fromBase58(extendedSecretKey.value, this.bitcoinJS.config.network);
710
+ };
742
711
  return BitcoinSegwitProtocolImpl;
743
712
  }());
744
713
  exports.BitcoinSegwitProtocolImpl = BitcoinSegwitProtocolImpl;
@@ -1 +1 @@
1
- {"version":3,"file":"BitcoinSegwitProtocol.js","sourceRoot":"","sources":["../../../src/v1/protocol/BitcoinSegwitProtocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BitcoinSegwitProtocol.js","sourceRoot":"","sources":["../../../src/v1/protocol/BitcoinSegwitProtocol.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ExtendedPublicKey, ProtocolMetadata } from '@airgap/module-kit';
1
+ import { ExtendedPublicKey, ExtendedSecretKey, ProtocolMetadata } from '@airgap/module-kit';
2
2
  import { BitcoinUnits } from '../types/protocol';
3
3
  import { BitcoinProtocol, BitcoinProtocolImpl } from './BitcoinProtocol';
4
4
  export interface BitcoinTestnetProtocol extends BitcoinProtocol {
@@ -6,6 +6,7 @@ export interface BitcoinTestnetProtocol extends BitcoinProtocol {
6
6
  export declare class BitcoinTestnetProtocolImpl extends BitcoinProtocolImpl implements BitcoinTestnetProtocol {
7
7
  readonly metadata: ProtocolMetadata<BitcoinUnits>;
8
8
  constructor();
9
+ protected convertExtendedSecretKey(extendedSecretKey: ExtendedSecretKey, targetFormat: ExtendedSecretKey['format']): ExtendedSecretKey;
9
10
  protected convertExtendedPublicKey(extendedPublicKey: ExtendedPublicKey, targetFormat: ExtendedPublicKey['format']): ExtendedPublicKey;
10
11
  }
11
12
  export declare function createBitcoinTestnetProtocol(): BitcoinTestnetProtocol;
@@ -50,6 +50,12 @@ var BitcoinTestnetProtocolImpl = /** @class */ (function (_super) {
50
50
  };
51
51
  return _this;
52
52
  }
53
+ BitcoinTestnetProtocolImpl.prototype.convertExtendedSecretKey = function (extendedSecretKey, targetFormat) {
54
+ return (0, key_1.convertExtendedSecretKey)(extendedSecretKey, {
55
+ format: targetFormat,
56
+ type: 'tprv'
57
+ });
58
+ };
53
59
  BitcoinTestnetProtocolImpl.prototype.convertExtendedPublicKey = function (extendedPublicKey, targetFormat) {
54
60
  return (0, key_1.convertExtendedPublicKey)(extendedPublicKey, {
55
61
  format: targetFormat,
@@ -1 +1 @@
1
- {"version":3,"file":"BitcoinTestnetProtocol.js","sourceRoot":"","sources":["../../../src/v1/protocol/BitcoinTestnetProtocol.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,qDAA0D;AAK1D,oCAAuD;AAEvD,qDAAwE;AAMxE,iBAAiB;AAEjB;IAAgD,8CAAmB;IAsBjE;QAAA,YACE,kBAAM;YACJ,OAAO,EAAE;gBACP,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,EAAE;gBACV,UAAU,EAAE,sCAAsC;aACnD;SACF,CAAC,SACH;QA9Be,cAAQ,GAAmC;YACzD,UAAU,EAAE,kCAAmB,CAAC,GAAG;YACnC,IAAI,EAAE,iBAAiB;YAEvB,KAAK,EAAE,KAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,KAAK;YAEf,GAAG,EAAE;gBACH,QAAQ,EAAE,KAAI,CAAC,WAAW;aAC3B;YAED,OAAO,EAAE;gBACP,sBAAsB,EAAE,aAAa;gBACrC,OAAO,EAAE;oBACP,eAAe,EAAE,IAAI;oBACrB,WAAW,EAAE,SAAS;oBACtB,KAAK,EAAE,qCAAqC;iBAC7C;aACF;SACF,CAAA;;IAWD,CAAC;IAES,6DAAwB,GAAlC,UAAmC,iBAAoC,EAAE,YAAyC;QAChH,OAAO,IAAA,8BAAwB,EAA0C,iBAAiB,EAAE;YAC1F,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,MAAM;SACb,CAAC,CAAA;IACJ,CAAC;IACH,iCAAC;AAAD,CAAC,AAvCD,CAAgD,qCAAmB,GAuClE;AAvCY,gEAA0B;AAyCvC,UAAU;AAEV,SAAgB,4BAA4B;IAC1C,OAAO,IAAI,0BAA0B,EAAE,CAAA;AACzC,CAAC;AAFD,oEAEC"}
1
+ {"version":3,"file":"BitcoinTestnetProtocol.js","sourceRoot":"","sources":["../../../src/v1/protocol/BitcoinTestnetProtocol.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,qDAA0D;AAI1D,oCAAiF;AAEjF,qDAAwE;AAMxE,iBAAiB;AAEjB;IAAgD,8CAAmB;IAsBjE;QAAA,YACE,kBAAM;YACJ,OAAO,EAAE;gBACP,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,EAAE;gBACV,UAAU,EAAE,sCAAsC;aACnD;SACF,CAAC,SACH;QA9Be,cAAQ,GAAmC;YACzD,UAAU,EAAE,kCAAmB,CAAC,GAAG;YACnC,IAAI,EAAE,iBAAiB;YAEvB,KAAK,EAAE,KAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,KAAK;YAEf,GAAG,EAAE;gBACH,QAAQ,EAAE,KAAI,CAAC,WAAW;aAC3B;YAED,OAAO,EAAE;gBACP,sBAAsB,EAAE,aAAa;gBACrC,OAAO,EAAE;oBACP,eAAe,EAAE,IAAI;oBACrB,WAAW,EAAE,SAAS;oBACtB,KAAK,EAAE,qCAAqC;iBAC7C;aACF;SACF,CAAA;;IAWD,CAAC;IAES,6DAAwB,GAAlC,UAAmC,iBAAoC,EAAE,YAAyC;QAChH,OAAO,IAAA,8BAAwB,EAAC,iBAAiB,EAAE;YACjD,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,MAAM;SACb,CAAC,CAAA;IACJ,CAAC;IAES,6DAAwB,GAAlC,UAAmC,iBAAoC,EAAE,YAAyC;QAChH,OAAO,IAAA,8BAAwB,EAAC,iBAAiB,EAAE;YACjD,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,MAAM;SACb,CAAC,CAAA;IACJ,CAAC;IACH,iCAAC;AAAD,CAAC,AA9CD,CAAgD,qCAAmB,GA8ClE;AA9CY,gEAA0B;AAgDvC,UAAU;AAEV,SAAgB,4BAA4B;IAC1C,OAAO,IAAI,0BAA0B,EAAE,CAAA;AACzC,CAAC;AAFD,oEAEC"}
@@ -1,5 +1,5 @@
1
1
  export declare const bitcoinValidators: {
2
- isValidBitcoinInput: (ins: unknown) => Promise<"not an array" | "doesn't have property txId " | "not a valid txId" | "doesn't have property value " | "value not a valid BigNumber" | "doesn't have property vout" | "vout is not a number" | "vout is not a positive value" | "doesn't have property address " | "not a valid bitcoin address" | "doesn't have property derivationPath" | "invalid derivation path" | null>;
2
+ isValidBitcoinInput: (ins: unknown) => Promise<"not an array" | "doesn't have property txId " | "not a valid txId" | "doesn't have property value " | "value not a valid BigNumber" | "doesn't have property vout" | "vout is not a number" | "vout is not a positive value" | "doesn't have property address " | "not a valid bitcoin address" | null>;
3
3
  isValidBitcoinOutput: (outs: unknown) => Promise<"not an array" | "doesn't have property value " | "doesn't have property recipient" | "invalid Bitcoin address" | "doesn't have property isChange " | "change is not a boolean" | "value is not BigNumber" | null>;
4
4
  isValidBitcoinFromArray: (array: unknown) => Promise<"not a valid bitcoin address" | "not an array of Bitcoin addresses" | null>;
5
5
  isBitcoinAccount: (accountIdentifier: string) => Promise<"not a valid Bitcoin account" | null>;
@@ -45,7 +45,7 @@ var module_kit_1 = require("@airgap/module-kit");
45
45
  var BitcoinProtocol_1 = require("../../../protocol/BitcoinProtocol");
46
46
  exports.bitcoinValidators = {
47
47
  isValidBitcoinInput: function (ins) { return __awaiter(void 0, void 0, void 0, function () {
48
- var i, value, pattern, protocol, metadata, pattern, protocol, mnemonic, error_1;
48
+ var i, value, pattern, protocol, metadata, pattern;
49
49
  var _a, _b, _c;
50
50
  return __generator(this, function (_d) {
51
51
  switch (_d.label) {
@@ -59,7 +59,7 @@ exports.bitcoinValidators = {
59
59
  i = 0;
60
60
  _d.label = 1;
61
61
  case 1:
62
- if (!(i < ins.length)) return [3 /*break*/, 10];
62
+ if (!(i < ins.length)) return [3 /*break*/, 5];
63
63
  value = ins[i];
64
64
  if (!value.hasOwnProperty('txId')) {
65
65
  return [2 /*return*/, "doesn't have property txId "];
@@ -102,25 +102,9 @@ exports.bitcoinValidators = {
102
102
  }
103
103
  _d.label = 4;
104
104
  case 4:
105
- if (!!value.hasOwnProperty('derivationPath')) return [3 /*break*/, 5];
106
- return [2 /*return*/, "doesn't have property derivationPath"];
107
- case 5:
108
- protocol = (0, BitcoinProtocol_1.createBitcoinProtocol)();
109
- _d.label = 6;
110
- case 6:
111
- _d.trys.push([6, 8, , 9]);
112
- mnemonic = 'spell device they juice trial skirt amazing boat badge steak usage february virus art survey';
113
- return [4 /*yield*/, protocol.getKeyPairFromSecret({ type: 'mnemonic', value: mnemonic }, value.derivationPath)];
114
- case 7:
115
- _d.sent();
116
- return [3 /*break*/, 9];
117
- case 8:
118
- error_1 = _d.sent();
119
- return [2 /*return*/, 'invalid derivation path'];
120
- case 9:
121
105
  i++;
122
106
  return [3 /*break*/, 1];
123
- case 10: return [2 /*return*/, null];
107
+ case 5: return [2 /*return*/, null];
124
108
  }
125
109
  });
126
110
  }); },
@@ -210,7 +194,7 @@ exports.bitcoinValidators = {
210
194
  });
211
195
  }); },
212
196
  isBitcoinAccount: function (accountIdentifier) { return __awaiter(void 0, void 0, void 0, function () {
213
- var protocol, derivedKey, error_2;
197
+ var protocol, derivedKey, error_1;
214
198
  return __generator(this, function (_a) {
215
199
  switch (_a.label) {
216
200
  case 0:
@@ -229,7 +213,7 @@ exports.bitcoinValidators = {
229
213
  _a.sent();
230
214
  return [2 /*return*/, null];
231
215
  case 4:
232
- error_2 = _a.sent();
216
+ error_1 = _a.sent();
233
217
  return [2 /*return*/, 'not a valid Bitcoin account'];
234
218
  case 5: return [2 /*return*/];
235
219
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../../../src/v1/serializer/v3/validators/validators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../../../src/v1/serializer/v3/validators/validators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Secp256K1CryptoConfiguration } from '@airgap/module-kit';
2
+ export declare type BitcoinCryptoConfiguration = Secp256K1CryptoConfiguration;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../src/v1/types/crypto.ts"],"names":[],"mappings":""}
package/v1/types/key.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export declare type BitcoinExtendedSecretKeyEncoding = 'xpriv';
2
- export declare type BitcoinTestnetExtendedSecretKeyEncoding = 'tpriv';
3
- export declare type BitcoinSegwitSecretKeyEncoding = BitcoinExtendedSecretKeyEncoding | 'ypriv' | 'zpriv';
1
+ export declare type BitcoinExtendedSecretKeyEncoding = 'xprv';
2
+ export declare type BitcoinTestnetExtendedSecretKeyEncoding = 'tprv';
3
+ export declare type BitcoinSegwitExtendedSecretKeyEncoding = BitcoinExtendedSecretKeyEncoding | 'yprv' | 'zprv';
4
4
  export declare type BitcoinExtendedPublicKeyEncoding = 'xpub';
5
5
  export declare type BitcoinTestnetExtendedPublicKeyEncoding = 'tpub';
6
6
  export declare type BitcoinSegwitExtendedPublicKeyEncoding = BitcoinExtendedPublicKeyEncoding | 'ypub' | 'zpub';
package/v1/utils/key.d.ts CHANGED
@@ -1,12 +1,34 @@
1
+ /// <reference types="node" />
1
2
  import { ExtendedPublicKey, ExtendedSecretKey, PublicKey, SecretKey } from '@airgap/module-kit';
3
+ import { ExcludeTyped, ExtractTyped } from '@airgap/module-kit/types/meta/utility-types';
4
+ import { BitcoinExtendedPublicKeyEncoding, BitcoinExtendedSecretKeyEncoding, BitcoinSegwitExtendedPublicKeyEncoding, BitcoinSegwitExtendedSecretKeyEncoding, BitcoinTestnetExtendedPublicKeyEncoding, BitcoinTestnetExtendedSecretKeyEncoding } from '../types/key';
5
+ declare const EXT_SK_PREFIX: Record<BitcoinExtendedSecretKeyEncoding, string>;
6
+ declare const EXT_SK_TESTNET_PREFIX: Record<BitcoinTestnetExtendedSecretKeyEncoding, string>;
7
+ declare const EXT_SK_SEGWIT_PREFIX: Record<BitcoinSegwitExtendedSecretKeyEncoding, string>;
8
+ declare type ExtendedSecretKeyEncoding = keyof typeof EXT_SK_PREFIX | keyof typeof EXT_SK_TESTNET_PREFIX | keyof typeof EXT_SK_SEGWIT_PREFIX;
9
+ declare const EXT_PK_PREFIX: Record<BitcoinExtendedPublicKeyEncoding, string>;
10
+ declare const EXT_PK_TESTNET_PREFIX: Record<BitcoinTestnetExtendedPublicKeyEncoding, string>;
11
+ declare const EXT_PK_SEGWIT_PREFIX: Record<BitcoinSegwitExtendedPublicKeyEncoding, string>;
12
+ declare type ExtendedPublicKeyEncoding = keyof typeof EXT_PK_PREFIX | keyof typeof EXT_PK_TESTNET_PREFIX | keyof typeof EXT_PK_SEGWIT_PREFIX;
13
+ declare type HashFunction = (payload: Buffer) => Buffer;
2
14
  export declare function convertSecretKey(secretKey: SecretKey, targetFormat: SecretKey['format']): SecretKey;
3
- export declare function convertExtendedSecretKey(extendedSecretKey: ExtendedSecretKey, targetFormat: ExtendedSecretKey['format']): ExtendedSecretKey;
15
+ declare type ConvertExtendedSecretKeyTarget = {
16
+ format: ExcludeTyped<ExtendedSecretKey['format'], 'encoded'>;
17
+ hashFunction?: HashFunction;
18
+ } | {
19
+ format: ExtractTyped<ExtendedSecretKey['format'], 'encoded'>;
20
+ type: ExtendedSecretKeyEncoding;
21
+ hashFunction?: HashFunction;
22
+ };
23
+ export declare function convertExtendedSecretKey(extendedSecretKey: ExtendedSecretKey, target: ConvertExtendedSecretKeyTarget): ExtendedSecretKey;
4
24
  export declare function convertPublicKey(publicKey: PublicKey, targetFormat: PublicKey['format']): PublicKey;
5
- declare type ConvertExtendedPublicKeyTarget<Encoding extends string> = {
6
- format: Exclude<ExtendedPublicKey['format'], 'encoded'>;
25
+ declare type ConvertExtendedPublicKeyTarget = {
26
+ format: ExcludeTyped<ExtendedPublicKey['format'], 'encoded'>;
27
+ hashFunction?: HashFunction;
7
28
  } | {
8
- format: Extract<ExtendedPublicKey['format'], 'encoded'>;
9
- type: Encoding;
29
+ format: ExtractTyped<ExtendedPublicKey['format'], 'encoded'>;
30
+ type: ExtendedPublicKeyEncoding;
31
+ hashFunction?: HashFunction;
10
32
  };
11
- export declare function convertExtendedPublicKey<Encoding extends string>(extendedPublicKey: ExtendedPublicKey, target: ConvertExtendedPublicKeyTarget<Encoding>): ExtendedPublicKey;
33
+ export declare function convertExtendedPublicKey(extendedPublicKey: ExtendedPublicKey, target: ConvertExtendedPublicKeyTarget): ExtendedPublicKey;
12
34
  export {};
package/v1/utils/key.js CHANGED
@@ -1,33 +1,27 @@
1
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 (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
4
  };
25
5
  Object.defineProperty(exports, "__esModule", { value: true });
26
6
  exports.convertExtendedPublicKey = exports.convertPublicKey = exports.convertExtendedSecretKey = exports.convertSecretKey = void 0;
27
7
  var coinlib_core_1 = require("@airgap/coinlib-core");
28
- var bs58check = __importStar(require("@airgap/coinlib-core/dependencies/src/bs58check-2.1.2"));
8
+ var bs58check_2_1_2_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bs58check-2.1.2"));
9
+ var base_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bs58check-2.1.2/base"));
29
10
  var errors_1 = require("@airgap/coinlib-core/errors");
30
11
  var module_kit_1 = require("@airgap/module-kit");
12
+ var EXT_SK_PREFIX = {
13
+ xprv: '0488ade4'
14
+ };
15
+ var EXT_SK_TESTNET_PREFIX = {
16
+ tprv: '04358394'
17
+ };
18
+ var EXT_SK_SEGWIT_PREFIX = {
19
+ xprv: '0488ade4',
20
+ yprv: '049d7878',
21
+ zprv: '04b2430c'
22
+ };
23
+ var extendedSecretKeyPrefixes = [EXT_SK_PREFIX, EXT_SK_TESTNET_PREFIX, EXT_SK_SEGWIT_PREFIX];
24
+ var extendedSecretKeyEncodings = createEncodings(extendedSecretKeyPrefixes);
31
25
  var EXT_PK_PREFIX = {
32
26
  xpub: '0488b21e'
33
27
  };
@@ -40,7 +34,7 @@ var EXT_PK_SEGWIT_PREFIX = {
40
34
  zpub: '04b24746'
41
35
  };
42
36
  var extendedPublicKeyPrefixes = [EXT_PK_PREFIX, EXT_PK_TESTNET_PREFIX, EXT_PK_SEGWIT_PREFIX];
43
- var extendedPublicKeyEncodings = extendedPublicKeyPrefixes.reduce(function (acc, next) { return acc.concat(Object.keys(next)); }, []);
37
+ var extendedPublicKeyEncodings = createEncodings(extendedPublicKeyPrefixes);
44
38
  function convertSecretKey(secretKey, targetFormat) {
45
39
  if (secretKey.format === targetFormat) {
46
40
  return secretKey;
@@ -62,26 +56,49 @@ function convertHexSecretKey(secretKey, targetFormat) {
62
56
  }
63
57
  throw new errors_1.UnsupportedError(coinlib_core_1.Domain.BITCOIN, "Unsupported secret key format ".concat(targetFormat, "."));
64
58
  }
65
- function convertExtendedSecretKey(extendedSecretKey, targetFormat) {
66
- if (extendedSecretKey.format === targetFormat) {
67
- return extendedSecretKey;
68
- }
59
+ function convertExtendedSecretKey(extendedSecretKey, target) {
69
60
  switch (extendedSecretKey.format) {
70
61
  case 'encoded':
71
- return (0, module_kit_1.newExtendedSecretKey)(convertEncodedExtendedSecretKey(extendedSecretKey.value, targetFormat));
62
+ return (0, module_kit_1.newExtendedSecretKey)(convertEncodedExtendedSecretKey(extendedSecretKey.value, target));
72
63
  case 'hex':
73
- throw new errors_1.UnsupportedError(coinlib_core_1.Domain.BITCOIN, "Unsupported extended secret key format ".concat(extendedSecretKey.format, "."));
64
+ return (0, module_kit_1.newExtendedSecretKey)(convertHexExtendedSecretKey(extendedSecretKey.value, target));
74
65
  default:
75
66
  (0, coinlib_core_1.assertNever)(extendedSecretKey.format);
76
67
  throw new errors_1.UnsupportedError(coinlib_core_1.Domain.BITCOIN, 'Unuspported extended secret key format.');
77
68
  }
78
69
  }
79
70
  exports.convertExtendedSecretKey = convertExtendedSecretKey;
80
- function convertEncodedExtendedSecretKey(extendedSecretKey, targetFormat) {
81
- if (targetFormat === 'encoded') {
71
+ function convertEncodedExtendedSecretKey(extendedSecretKey, target) {
72
+ if (target.format === 'encoded' && extendedSecretKey.startsWith(target.type)) {
82
73
  return extendedSecretKey;
83
74
  }
84
- throw new errors_1.UnsupportedError(coinlib_core_1.Domain.BITCOIN, "Unsupported extended secret key format ".concat(targetFormat, "."));
75
+ switch (target.format) {
76
+ case 'encoded':
77
+ var hexExtendedSecretKey = convertEncodedExtendedSecretKey(extendedSecretKey, { format: 'hex' });
78
+ return convertHexExtendedSecretKey(hexExtendedSecretKey, target);
79
+ case 'hex':
80
+ var convertedExtendedPublicKey = convertKeyEncodedToHex(extendedSecretKey, extendedSecretKeyEncodings, recognizeExtendedSecretKeyEncoding, target.hashFunction);
81
+ if (convertedExtendedPublicKey === undefined) {
82
+ throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.BITCOIN, 'Unsupported encoded extended secret key.');
83
+ }
84
+ return convertedExtendedPublicKey;
85
+ default:
86
+ (0, coinlib_core_1.assertNever)(target);
87
+ throw new errors_1.UnsupportedError(coinlib_core_1.Domain.BITCOIN, 'Unsupported extended secret key format.');
88
+ }
89
+ }
90
+ function convertHexExtendedSecretKey(extendedSecretKey, target) {
91
+ if (target.format === 'hex') {
92
+ return extendedSecretKey;
93
+ }
94
+ return convertKeyHexToEncoded(extendedSecretKey, target.type, recognizeExtendedSecretKeyEncoding, target.hashFunction);
95
+ }
96
+ function recognizeExtendedSecretKeyEncoding(type) {
97
+ var encoding = recognizeExtendedKeyEncoding(type, extendedSecretKeyPrefixes);
98
+ if (encoding === undefined) {
99
+ throw new errors_1.UnsupportedError(coinlib_core_1.Domain.BITCOIN, 'Unsupported extended secret key encoding,');
100
+ }
101
+ return encoding;
85
102
  }
86
103
  function convertPublicKey(publicKey, targetFormat) {
87
104
  if (publicKey.format === targetFormat) {
@@ -125,13 +142,11 @@ function convertEncodedExtendedPublicKey(extendedPublicKey, target) {
125
142
  var hexExtendedPublicKey = convertEncodedExtendedPublicKey(extendedPublicKey, { format: 'hex' });
126
143
  return convertHexExtendedPublicKey(hexExtendedPublicKey, target);
127
144
  case 'hex':
128
- var prefix = extendedPublicKeyEncodings.find(function (prefix) { return extendedPublicKey.startsWith(prefix); });
129
- if (prefix === undefined) {
145
+ var convertedExtendedPublicKey = convertKeyEncodedToHex(extendedPublicKey, extendedPublicKeyEncodings, recognizeExtendedPublicKeyEncoding, target.hashFunction);
146
+ if (convertedExtendedPublicKey === undefined) {
130
147
  throw new errors_1.ConditionViolationError(coinlib_core_1.Domain.BITCOIN, 'Unsupported encoded extended public key.');
131
148
  }
132
- var encoding = recognizeExtendedPublicKeyEncoding(prefix);
133
- var prefixBytes = Buffer.from(encoding[prefix], 'hex').length;
134
- return bs58check.decode(extendedPublicKey).slice(prefixBytes).toString('hex');
149
+ return convertedExtendedPublicKey;
135
150
  default:
136
151
  (0, coinlib_core_1.assertNever)(target);
137
152
  throw new errors_1.UnsupportedError(coinlib_core_1.Domain.BITCOIN, 'Unsupported extended public key format.');
@@ -141,18 +156,35 @@ function convertHexExtendedPublicKey(extendedPublicKey, target) {
141
156
  if (target.format === 'hex') {
142
157
  return extendedPublicKey;
143
158
  }
144
- var encoding = recognizeExtendedPublicKeyEncoding(target.type);
145
- var prefix = encoding[target.type];
146
- return bs58check.encode(Buffer.concat([Buffer.from(prefix, 'hex'), Buffer.from(extendedPublicKey, 'hex')]));
159
+ return convertKeyHexToEncoded(extendedPublicKey, target.type, recognizeExtendedPublicKeyEncoding, target.hashFunction);
147
160
  }
148
161
  function recognizeExtendedPublicKeyEncoding(type) {
149
- var candidates = extendedPublicKeyPrefixes;
150
- var encoding = candidates.find(function (candidate) {
151
- return Object.keys(candidate).includes(type);
152
- });
162
+ var encoding = recognizeExtendedKeyEncoding(type, extendedPublicKeyPrefixes);
153
163
  if (encoding === undefined) {
154
164
  throw new errors_1.UnsupportedError(coinlib_core_1.Domain.BITCOIN, 'Unsupported extended public key encoding,');
155
165
  }
156
166
  return encoding;
157
167
  }
168
+ function convertKeyEncodedToHex(key, encodings, recognizeEncoding, hashFunction) {
169
+ var prefix = encodings.find(function (prefix) { return key.startsWith(prefix); });
170
+ if (prefix === undefined) {
171
+ return undefined;
172
+ }
173
+ var encoding = recognizeEncoding(prefix);
174
+ var prefixBytes = Buffer.from(encoding[prefix], 'hex').length;
175
+ var bs58check = hashFunction ? (0, base_1.default)(hashFunction) : bs58check_2_1_2_1.default;
176
+ return bs58check.decode(key).slice(prefixBytes).toString('hex');
177
+ }
178
+ function convertKeyHexToEncoded(key, type, recognizeEncoding, hashFunction) {
179
+ var encoding = recognizeEncoding(type);
180
+ var prefix = encoding[type];
181
+ var bs58check = hashFunction ? (0, base_1.default)(hashFunction) : bs58check_2_1_2_1.default;
182
+ return bs58check.encode(Buffer.concat([Buffer.from(prefix, 'hex'), Buffer.from(key, 'hex')]));
183
+ }
184
+ function createEncodings(prefixes) {
185
+ return prefixes.reduce(function (acc, next) { return acc.concat(Object.keys(next)); }, []);
186
+ }
187
+ function recognizeExtendedKeyEncoding(type, candidates) {
188
+ return candidates.find(function (candidate) { return Object.keys(candidate).includes(type); });
189
+ }
158
190
  //# sourceMappingURL=key.js.map