@bitgo-beta/sdk-core 8.2.1-beta.1792 → 8.2.1-beta.1794

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 (35) hide show
  1. package/dist/src/api/types.d.ts +10 -0
  2. package/dist/src/api/types.d.ts.map +1 -1
  3. package/dist/src/api/types.js +1 -1
  4. package/dist/src/bitgo/bitgoBase.d.ts +1 -0
  5. package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
  6. package/dist/src/bitgo/bitgoBase.js +1 -1
  7. package/dist/src/bitgo/internal/keycard.d.ts +18 -6
  8. package/dist/src/bitgo/internal/keycard.d.ts.map +1 -1
  9. package/dist/src/bitgo/internal/keycard.js +97 -38
  10. package/dist/src/bitgo/recovery/initiate.d.ts +16 -0
  11. package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
  12. package/dist/src/bitgo/recovery/initiate.js +75 -33
  13. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +8 -1
  14. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -1
  15. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +53 -15
  16. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +1 -0
  17. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -1
  18. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +13 -1
  19. package/dist/src/bitgo/wallet/BuildParams.d.ts +2 -0
  20. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
  21. package/dist/src/bitgo/wallet/BuildParams.js +2 -1
  22. package/dist/src/bitgo/wallet/iWallet.d.ts +2 -0
  23. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  24. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  25. package/dist/src/bitgo/wallet/wallet.d.ts +10 -0
  26. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  27. package/dist/src/bitgo/wallet/wallet.js +95 -34
  28. package/dist/test/unit/bitgo/recovery/initiate.d.ts +2 -0
  29. package/dist/test/unit/bitgo/recovery/initiate.d.ts.map +1 -0
  30. package/dist/test/unit/bitgo/recovery/initiate.js +230 -0
  31. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.js +4 -1
  32. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +13 -5
  33. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.js +50 -1
  34. package/dist/tsconfig.tsbuildinfo +1 -1
  35. package/package.json +9 -9
@@ -8,7 +8,9 @@ exports.checkKrsProvider = checkKrsProvider;
8
8
  exports.getIsKrsRecovery = getIsKrsRecovery;
9
9
  exports.getIsUnsignedSweep = getIsUnsignedSweep;
10
10
  exports.validateKey = validateKey;
11
+ exports.validateKeyAsync = validateKeyAsync;
11
12
  exports.getBip32Keys = getBip32Keys;
13
+ exports.getBip32KeysAsync = getBip32KeysAsync;
12
14
  const utxo_lib_1 = require("@bitgo-beta/utxo-lib");
13
15
  const config_1 = require("../config");
14
16
  /**
@@ -57,6 +59,32 @@ function getIsUnsignedSweep({ backupKey, userKey, isTss, }) {
57
59
  }
58
60
  return backupKey.startsWith('xpub') && userKey.startsWith('xpub');
59
61
  }
62
+ function parseKeyAsXprv(key, source) {
63
+ try {
64
+ return utxo_lib_1.bip32.fromBase58(key);
65
+ }
66
+ catch (e) {
67
+ throw new Error(`Failed to validate ${source} key - try again!`);
68
+ }
69
+ }
70
+ function addBitgoKeyIfRequired(keys, params, requireBitGoXpub) {
71
+ if (requireBitGoXpub) {
72
+ if (!params.bitgoKey) {
73
+ throw new Error(`BitGo xpub required but not provided`);
74
+ }
75
+ try {
76
+ // Box C
77
+ keys.push(utxo_lib_1.bip32.fromBase58(params.bitgoKey));
78
+ }
79
+ catch (e) {
80
+ throw new Error('Failed to parse bitgo xpub!');
81
+ }
82
+ }
83
+ return keys;
84
+ }
85
+ /**
86
+ * TODO: Deprecate this function in favour of validateKeyAsync when v2 encryption is the default.
87
+ */
60
88
  function validateKey(bitgo, { key, source, passphrase, isUnsignedSweep, isKrsRecovery }) {
61
89
  if (!key.startsWith('xprv') && !isUnsignedSweep) {
62
90
  // Try to decrypt the key
@@ -69,46 +97,60 @@ function validateKey(bitgo, { key, source, passphrase, isUnsignedSweep, isKrsRec
69
97
  throw new Error(`Failed to decrypt ${source} key with passcode - try again!`);
70
98
  }
71
99
  }
72
- try {
73
- return utxo_lib_1.bip32.fromBase58(key);
74
- }
75
- catch (e) {
76
- throw new Error(`Failed to validate ${source} key - try again!`);
100
+ return parseKeyAsXprv(key, source);
101
+ }
102
+ /**
103
+ * Async version of validateKey with v2 encrypt/decrypt support.
104
+ */
105
+ async function validateKeyAsync(bitgo, { key, source, passphrase, isUnsignedSweep, isKrsRecovery }) {
106
+ if (!key.startsWith('xprv') && !isUnsignedSweep) {
107
+ try {
108
+ if (source === 'user' || (source === 'backup' && !isKrsRecovery)) {
109
+ return utxo_lib_1.bip32.fromBase58(await bitgo.decryptAsync({ password: passphrase, input: key }));
110
+ }
111
+ }
112
+ catch (e) {
113
+ throw new Error(`Failed to decrypt ${source} key with passcode - try again!`);
114
+ }
77
115
  }
116
+ return parseKeyAsXprv(key, source);
78
117
  }
118
+ /**
119
+ * TODO: Deprecate this function in favour of getBip32KeysAsync when v2 encryption is the default.
120
+ */
79
121
  function getBip32Keys(bitgo, params, { requireBitGoXpub }) {
80
122
  const isKrsRecovery = getIsKrsRecovery(params);
81
123
  const isUnsignedSweep = getIsUnsignedSweep(params);
124
+ const validateKeyOpts = {
125
+ passphrase: params.walletPassphrase,
126
+ isKrsRecovery,
127
+ isUnsignedSweep,
128
+ };
82
129
  const keys = [
83
130
  // Box A
84
- validateKey(bitgo, {
85
- key: params.userKey,
86
- source: 'user',
87
- passphrase: params.walletPassphrase,
88
- isKrsRecovery,
89
- isUnsignedSweep,
90
- }),
131
+ validateKey(bitgo, { key: params.userKey, source: 'user', ...validateKeyOpts }),
91
132
  // Box B
92
- validateKey(bitgo, {
93
- key: params.backupKey,
94
- source: 'backup',
95
- passphrase: params.walletPassphrase,
96
- isKrsRecovery,
97
- isUnsignedSweep,
98
- }),
133
+ validateKey(bitgo, { key: params.backupKey, source: 'backup', ...validateKeyOpts }),
99
134
  ];
100
- if (requireBitGoXpub) {
101
- if (!params.bitgoKey) {
102
- throw new Error(`BitGo xpub required but not provided`);
103
- }
104
- try {
105
- // Box C
106
- keys.push(utxo_lib_1.bip32.fromBase58(params.bitgoKey));
107
- }
108
- catch (e) {
109
- throw new Error('Failed to parse bitgo xpub!');
110
- }
111
- }
112
- return keys;
135
+ return addBitgoKeyIfRequired(keys, params, requireBitGoXpub);
136
+ }
137
+ /**
138
+ * Async version of getBip32Keys with v2 encrypt/decrypt support.
139
+ */
140
+ async function getBip32KeysAsync(bitgo, params, { requireBitGoXpub }) {
141
+ const isKrsRecovery = getIsKrsRecovery(params);
142
+ const isUnsignedSweep = getIsUnsignedSweep(params);
143
+ const validateKeyOpts = {
144
+ passphrase: params.walletPassphrase,
145
+ isKrsRecovery,
146
+ isUnsignedSweep,
147
+ };
148
+ const keys = [
149
+ // Box A — sequential: backup only after user completes
150
+ await validateKeyAsync(bitgo, { key: params.userKey, source: 'user', ...validateKeyOpts }),
151
+ // Box B
152
+ await validateKeyAsync(bitgo, { key: params.backupKey, source: 'backup', ...validateKeyOpts }),
153
+ ];
154
+ return addBitgoKeyIfRequired(keys, params, requireBitGoXpub);
113
155
  }
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vcmVjb3ZlcnkvaW5pdGlhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOztBQXNDSCx3Q0FvQkM7QUFLRCw0Q0FNQztBQUVELDRDQUVDO0FBU0QsZ0RBaUJDO0FBRUQsa0NBbUJDO0FBRUQsb0NBdUNDO0FBL0pELG1EQUE2RDtBQUc3RCxzQ0FBc0Q7QUEyQnREOzs7OztHQUtHO0FBQ0gsU0FBZ0IsY0FBYyxDQUM1QixJQUFjLEVBQ2QsZUFBbUMsRUFDbkMsRUFBRSxzQkFBc0IsR0FBRyxJQUFJLEtBQTRCLEVBQUU7SUFFN0QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTSxXQUFXLEdBQUcscUJBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUVsRCxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksc0JBQXNCLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3JGLE1BQU0sSUFBSSxLQUFLLENBQUMsMEVBQTBFLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQzlCLElBQWMsRUFDZCxlQUFtQyxFQUNuQyxVQUFpQyxFQUFFO0lBRW5DLGNBQWMsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ2pELENBQUM7QUFFRCxTQUFnQixnQkFBZ0IsQ0FBQyxFQUFFLFNBQVMsRUFBRSxP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Q0FBQztZQUNILFFBQVE7WUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuXG5pbXBvcnQgeyBiaXAzMiwgQklQMzJJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyBCYXNlQ29pbiB9IGZyb20gJy4uL2Jhc2VDb2luJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBLcnNQcm92aWRlciwga3JzUHJvdmlkZXJzIH0gZnJvbSAnLi4vY29uZmlnJztcblxuaW50ZXJmYWNlIFZhbGlkYXRlS2V5T3B0aW9ucyB7XG4gIGtleTogc3RyaW5nO1xuICBzb3VyY2U6IHN0cmluZztcbiAgcGFzc3BocmFzZT86IHN0cmluZztcbiAgaXNVbnNpZ25lZFN3ZWVwOiBib29sZWFuO1xuICBpc0tyc1JlY292ZXJ5OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluaXRpYXRlUmVjb3ZlcnlPcHRpb25zIHtcbiAgdXNlcktleTogc3RyaW5nO1xuICBiYWNrdXBLZXk6IHN0cmluZztcbiAgYml0Z29LZXk/OiBzdHJpbmc7IC8vIG9wdGlvbmFsIGZvciB4cnAgcmVjb3Zlcmllc1xuICByZWNvdmVyeURlc3RpbmF0aW9uOiBzdHJpbmc7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5pdGlhdGVDb25zb2xpZGF0aW9uUmVjb3ZlcnlPcHRpb25zIHtcbiAgdXNlcktleTogc3RyaW5nO1xuICBiYWNrdXBLZXk6IHN0cmluZztcbiAgYml0Z29LZXk/OiBzdHJpbmc7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG59XG5cbnR5cGUgR2V0S3JzUHJvdmlkZXJPcHRpb25zID0geyBjaGVja0NvaW5GYW1pbHlTdXBwb3J0PzogYm9vbGVhbiB9O1xuXG4vKipcbiAqIEBwYXJhbSBjb2luXG4gKiBAcGFyYW0ga3JzUHJvdmlkZXJOYW1lXG4gKiBAcGFyYW0gY2hlY2tDb2luRmFtaWx5U3VwcG9ydCAtIGFzc2VydCB0aGF0IGtyc1Byb3ZpZGVyIGV4cGxpY2l0bHkgc3VwcG9ydHMgY29pblxuICogQHJldHVybiBLcnNQcm92aWRlclxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0S3JzUHJvdmlkZXIoXG4gIGNvaW46IEJhc2VDb2luLFxuICBrcnNQcm92aWRlck5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgeyBjaGVja0NvaW5GYW1pbHlTdXBwb3J0ID0gdHJ1ZSB9OiBHZXRLcnNQcm92aWRlck9wdGlvbnMgPSB7fVxuKTogS3JzUHJvdmlkZXIge1xuICBpZiAoIWtyc1Byb3ZpZGVyTmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgbm8ga3JzUHJvdmlkZXIgbmFtZWApO1xuICB9XG5cbiAgY29uc3Qga3JzUHJvdmlkZXIgPSBrcnNQcm92aWRlcnNba3JzUHJvdmlkZXJOYW1lXTtcblxuICBpZiAoa3JzUHJvdmlkZXIgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5rbm93biBrZXkgcmVjb3Zlcnkgc2VydmljZSBwcm92aWRlcicpO1xuICB9XG5cbiAgaWYgKGNoZWNrQ29pbkZhbWlseVN1cHBvcnQgJiYgIWtyc1Byb3ZpZGVyLnN1cHBvcnRlZENvaW5zLmluY2x1ZGVzKGNvaW4uZ2V0RmFtaWx5KCkpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdzcGVjaWZpZWQga2V5IHJlY292ZXJ5IHNlcnZpY2UgZG9lcyBub3Qgc3VwcG9ydCByZWNvdmVyaWVzIGZvciB0aGlzIGNvaW4nKTtcbiAgfVxuXG4gIHJldHVybiBrcnNQcm92aWRlcjtcbn1cblxuLyoqXG4gKiBXcmFwcGVyIGZvciB7QHNlZSBnZXRLcnNQcm92aWRlcn0gcmV0dXJuaW5nIHZvaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrS3JzUHJvdmlkZXIoXG4gIGNvaW46IEJhc2VDb2luLFxuICBrcnNQcm92aWRlck5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uczogR2V0S3JzUHJvdmlkZXJPcHRpb25zID0ge31cbik6IHZvaWQge1xuICBnZXRLcnNQcm92aWRlcihjb2luLCBrcnNQcm92aWRlck5hbWUsIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SXNLcnNSZWNvdmVyeSh7IGJhY2t1cEtleSwgdXNlcktleSB9OiB7IGJhY2t1cEtleTogc3RyaW5nOyB1c2VyS2V5OiBzdHJpbmcgfSk6IGJvb2xlYW4ge1xuICByZXR1cm4gYmFja3VwS2V5LnN0YXJ0c1dpdGgoJ3hwdWInKSAmJiAhdXNlcktleS5zdGFydHNXaXRoKCd4cHViJyk7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIHRoZSByZWNvdmVyeSBpcyBhbiB1bnNpZ25lZCBzd2VlcC5cbiAqIEBkZXByZWNhdGVkIFNwZWNpZnkgJ2lzVW5zaWduZWRTd2VlcCcgaW4gcGFyYW1zIGluc3RlYWRcbiAqIEBwYXJhbSBiYWNrdXBLZXlcbiAqIEBwYXJhbSB1c2VyS2V5XG4gKiBAcGFyYW0gaXNUc3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldElzVW5zaWduZWRTd2VlcCh7XG4gIGJhY2t1cEtleSxcbiAgdXNlcktleSxcbiAgaXNUc3MsXG59OiB7XG4gIGJhY2t1cEtleTogc3RyaW5nO1xuICB1c2VyS2V5OiBzdHJpbmc7XG4gIGlzVHNzPzogYm9vbGVhbjtcbn0pOiBib29sZWFuIHtcbiAgaWYgKGlzVHNzKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0eXBlb2YgSlNPTi5wYXJzZShiYWNrdXBLZXkpID09PSAnc3RyaW5nJyAmJiB0eXBlb2YgSlNPTi5wYXJzZSh1c2VyS2V5KSA9PT0gJ3N0cmluZyc7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBiYWNrdXBLZXkuc3RhcnRzV2l0aCgneHB1YicpICYmIHVzZXJLZXkuc3RhcnRzV2l0aCgneHB1YicpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVLZXkoXG4gIGJpdGdvOiBCaXRHb0Jhc2UsXG4gIHsga2V5LCBzb3VyY2UsIHBhc3NwaHJhc2UsIGlzVW5zaWduZWRTd2VlcCwgaXNLcnNSZWNvdmVyeSB9OiBWYWxpZGF0ZUtleU9wdGlvbnNcbik6IEJJUDMySW50ZXJmYWNlIHtcbiAgaWYgKCFrZXkuc3RhcnRzV2l0aCgneHBydicpICYmICFpc1Vuc2lnbmVkU3dlZXApIHtcbiAgICAvLyBUcnkgdG8gZGVjcnlwdCB0aGUga2V5XG4gICAgdHJ5IHtcbiAgICAgIGlmIChzb3VyY2UgPT09ICd1c2VyJyB8fCAoc291cmNlID09PSAnYmFja3VwJyAmJiAhaXNLcnNSZWNvdmVyeSkpIHtcbiAgICAgICAgcmV0dXJuIGJpcDMyLmZyb21CYXNlNTgoYml0Z28uZGVjcnlwdCh7IHBhc3N3b3JkOiBwYXNzcGhyYXNlLCBpbnB1dDoga2V5IH0pKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBkZWNyeXB0ICR7c291cmNlfSBrZXkgd2l0aCBwYXNzY29kZSAtIHRyeSBhZ2FpbiFgKTtcbiAgICB9XG4gIH1cbiAgdHJ5IHtcbiAgICByZXR1cm4gYmlwMzIuZnJvbUJhc2U1OChrZXkpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gdmFsaWRhdGUgJHtzb3VyY2V9IGtleSAtIHRyeSBhZ2FpbiFgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmlwMzJLZXlzKFxuICBiaXRnbzogQml0R29CYXNlLFxuICBwYXJhbXM6IEluaXRpYXRlUmVjb3ZlcnlPcHRpb25zIHwgSW5pdGlhdGVDb25zb2xpZGF0aW9uUmVjb3ZlcnlPcHRpb25zLFxuICB7IHJlcXVpcmVCaXRHb1hwdWIgfTogeyByZXF1aXJlQml0R29YcHViOiBib29sZWFuIH1cbik6IEJJUDMySW50ZXJmYWNlW10ge1xuICBjb25zdCBpc0tyc1JlY292ZXJ5ID0gZ2V0SXNLcnNSZWNvdmVyeShwYXJhbXMpO1xuICBjb25zdCBpc1Vuc2lnbmVkU3dlZXAgPSBnZXRJc1Vuc2lnbmVkU3dlZXAocGFyYW1zKTtcbiAgY29uc3Qga2V5cyA9IFtcbiAgICAvLyBCb3ggQVxuICAgIHZhbGlkYXRlS2V5KGJpdGdvLCB7XG4gICAgICBrZXk6IHBhcmFtcy51c2VyS2V5LFxuICAgICAgc291cmNlOiAndXNlcicsXG4gICAgICBwYXNzcGhyYXNlOiBwYXJhbXMud2FsbGV0UGFzc3BocmFzZSxcbiAgICAgIGlzS3JzUmVjb3ZlcnksXG4gICAgICBpc1Vuc2lnbmVkU3dlZXAsXG4gICAgfSksXG4gICAgLy8gQm94IEJcbiAgICB2YWxpZGF0ZUtleShiaXRnbywge1xuICAgICAga2V5OiBwYXJhbXMuYmFja3VwS2V5LFxuICAgICAgc291cmNlOiAnYmFja3VwJyxcbiAgICAgIHBhc3NwaHJhc2U6IHBhcmFtcy53YWxsZXRQYXNzcGhyYXNlLFxuICAgICAgaXNLcnNSZWNvdmVyeSxcbiAgICAgIGlzVW5zaWduZWRTd2VlcCxcbiAgICB9KSxcbiAgXTtcblxuICBpZiAocmVxdWlyZUJpdEdvWHB1Yikge1xuICAgIGlmICghcGFyYW1zLmJpdGdvS2V5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEJpdEdvIHhwdWIgcmVxdWlyZWQgYnV0IG5vdCBwcm92aWRlZGApO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgLy8gQm94IENcbiAgICAgIGtleXMucHVzaChiaXAzMi5mcm9tQmFzZTU4KHBhcmFtcy5iaXRnb0tleSkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIHBhcnNlIGJpdGdvIHhwdWIhJyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGtleXM7XG59XG4iXX0=
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vcmVjb3ZlcnkvaW5pdGlhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOztBQXNDSCx3Q0FvQkM7QUFLRCw0Q0FNQztBQUVELDRDQUVDO0FBU0QsZ0RBaUJDO0FBZ0NELGtDQWVDO0FBS0QsNENBY0M7QUFLRCxvQ0FvQkM7QUFLRCw4Q0FvQkM7QUFyTkQsbURBQTZEO0FBRzdELHNDQUFzRDtBQTJCdEQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixjQUFjLENBQzVCLElBQWMsRUFDZCxlQUFtQyxFQUNuQyxFQUFFLHNCQUFzQixHQUFHLElBQUksS0FBNEIsRUFBRTtJQUU3RCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxxQkFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRWxELElBQUksV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsSUFBSSxzQkFBc0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDckYsTUFBTSxJQUFJLEtBQUssQ0FBQywwRUFBMEUsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FDOUIsSUFBYyxFQUNkLGVBQW1DLEVBQ25DLFVBQWlDLEVBQUU7SUFFbkMsY0FBYyxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDakQsQ0FBQztBQUVELFNBQWdCLGdCQUFn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QUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxlQUFlLEVBQUUsQ0FBQztLQUNwRixDQUFDO0lBRUYsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUM7QUFDL0QsQ0FBQztBQUVEOztHQUVHO0FBQ0ksS0FBSyxVQUFVLGlCQUFpQixDQUNyQyxLQUFnQixFQUNoQixNQUFzRSxFQUN0RSxFQUFFLGdCQUFnQixFQUFpQztJQUVuRCxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQyxNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxNQUFNLGVBQWUsR0FBRztRQUN0QixVQUFVLEVBQUUsTUFBTSxDQUFDLGdCQUFnQjtRQUNuQyxhQUFhO1FBQ2IsZUFBZTtLQUNoQixDQUFDO0lBQ0YsTUFBTSxJQUFJLEdBQUc7UUFDWCx1REFBdUQ7UUFDdkQsTUFBTSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsZUFBZSxFQUFFLENBQUM7UUFDMUYsUUFBUTtRQUNSLE1BQU0sZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLGVBQWUsRUFBRSxDQUFDO0tBQy9GLENBQUM7SUFFRixPQUFPLHFCQUFxQixDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQUMvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuXG5pbXBvcnQgeyBiaXAzMiwgQklQMzJJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyBCYXNlQ29pbiB9IGZyb20gJy4uL2Jhc2VDb2luJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBLcnNQcm92aWRlciwga3JzUHJvdmlkZXJzIH0gZnJvbSAnLi4vY29uZmlnJztcblxuaW50ZXJmYWNlIFZhbGlkYXRlS2V5T3B0aW9ucyB7XG4gIGtleTogc3RyaW5nO1xuICBzb3VyY2U6IHN0cmluZztcbiAgcGFzc3BocmFzZT86IHN0cmluZztcbiAgaXNVbnNpZ25lZFN3ZWVwOiBib29sZWFuO1xuICBpc0tyc1JlY292ZXJ5OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluaXRpYXRlUmVjb3ZlcnlPcHRpb25zIHtcbiAgdXNlcktleTogc3RyaW5nO1xuICBiYWNrdXBLZXk6IHN0cmluZztcbiAgYml0Z29LZXk/OiBzdHJpbmc7IC8vIG9wdGlvbmFsIGZvciB4cnAgcmVjb3Zlcmllc1xuICByZWNvdmVyeURlc3RpbmF0aW9uOiBzdHJpbmc7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5pdGlhdGVDb25zb2xpZGF0aW9uUmVjb3ZlcnlPcHRpb25zIHtcbiAgdXNlcktleTogc3RyaW5nO1xuICBiYWNrdXBLZXk6IHN0cmluZztcbiAgYml0Z29LZXk/OiBzdHJpbmc7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG59XG5cbnR5cGUgR2V0S3JzUHJvdmlkZXJPcHRpb25zID0geyBjaGVja0NvaW5GYW1pbHlTdXBwb3J0PzogYm9vbGVhbiB9O1xuXG4vKipcbiAqIEBwYXJhbSBjb2luXG4gKiBAcGFyYW0ga3JzUHJvdmlkZXJOYW1lXG4gKiBAcGFyYW0gY2hlY2tDb2luRmFtaWx5U3VwcG9ydCAtIGFzc2VydCB0aGF0IGtyc1Byb3ZpZGVyIGV4cGxpY2l0bHkgc3VwcG9ydHMgY29pblxuICogQHJldHVybiBLcnNQcm92aWRlclxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0S3JzUHJvdmlkZXIoXG4gIGNvaW46IEJhc2VDb2luLFxuICBrcnNQcm92aWRlck5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgeyBjaGVja0NvaW5GYW1pbHlTdXBwb3J0ID0gdHJ1ZSB9OiBHZXRLcnNQcm92aWRlck9wdGlvbnMgPSB7fVxuKTogS3JzUHJvdmlkZXIge1xuICBpZiAoIWtyc1Byb3ZpZGVyTmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgbm8ga3JzUHJvdmlkZXIgbmFtZWApO1xuICB9XG5cbiAgY29uc3Qga3JzUHJvdmlkZXIgPSBrcnNQcm92aWRlcnNba3JzUHJvdmlkZXJOYW1lXTtcblxuICBpZiAoa3JzUHJvdmlkZXIgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5rbm93biBrZXkgcmVjb3Zlcnkgc2VydmljZSBwcm92aWRlcicpO1xuICB9XG5cbiAgaWYgKGNoZWNrQ29pbkZhbWlseVN1cHBvcnQgJiYgIWtyc1Byb3ZpZGVyLnN1cHBvcnRlZENvaW5zLmluY2x1ZGVzKGNvaW4uZ2V0RmFtaWx5KCkpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdzcGVjaWZpZWQga2V5IHJlY292ZXJ5IHNlcnZpY2UgZG9lcyBub3Qgc3VwcG9ydCByZWNvdmVyaWVzIGZvciB0aGlzIGNvaW4nKTtcbiAgfVxuXG4gIHJldHVybiBrcnNQcm92aWRlcjtcbn1cblxuLyoqXG4gKiBXcmFwcGVyIGZvciB7QHNlZSBnZXRLcnNQcm92aWRlcn0gcmV0dXJuaW5nIHZvaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrS3JzUHJvdmlkZXIoXG4gIGNvaW46IEJhc2VDb2luLFxuICBrcnNQcm92aWRlck5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uczogR2V0S3JzUHJvdmlkZXJPcHRpb25zID0ge31cbik6IHZvaWQge1xuICBnZXRLcnNQcm92aWRlcihjb2luLCBrcnNQcm92aWRlck5hbWUsIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SXNLcnNSZWNvdmVyeSh7IGJhY2t1cEtleSwgdXNlcktleSB9OiB7IGJhY2t1cEtleTogc3RyaW5nOyB1c2VyS2V5OiBzdHJpbmcgfSk6IGJvb2xlYW4ge1xuICByZXR1cm4gYmFja3VwS2V5LnN0YXJ0c1dpdGgoJ3hwdWInKSAmJiAhdXNlcktleS5zdGFydHNXaXRoKCd4cHViJyk7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIHRoZSByZWNvdmVyeSBpcyBhbiB1bnNpZ25lZCBzd2VlcC5cbiAqIEBkZXByZWNhdGVkIFNwZWNpZnkgJ2lzVW5zaWduZWRTd2VlcCcgaW4gcGFyYW1zIGluc3RlYWRcbiAqIEBwYXJhbSBiYWNrdXBLZXlcbiAqIEBwYXJhbSB1c2VyS2V5XG4gKiBAcGFyYW0gaXNUc3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldElzVW5zaWduZWRTd2VlcCh7XG4gIGJhY2t1cEtleSxcbiAgdXNlcktleSxcbiAgaXNUc3MsXG59OiB7XG4gIGJhY2t1cEtleTogc3RyaW5nO1xuICB1c2VyS2V5OiBzdHJpbmc7XG4gIGlzVHNzPzogYm9vbGVhbjtcbn0pOiBib29sZWFuIHtcbiAgaWYgKGlzVHNzKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0eXBlb2YgSlNPTi5wYXJzZShiYWNrdXBLZXkpID09PSAnc3RyaW5nJyAmJiB0eXBlb2YgSlNPTi5wYXJzZSh1c2VyS2V5KSA9PT0gJ3N0cmluZyc7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBiYWNrdXBLZXkuc3RhcnRzV2l0aCgneHB1YicpICYmIHVzZXJLZXkuc3RhcnRzV2l0aCgneHB1YicpO1xufVxuXG5mdW5jdGlvbiBwYXJzZUtleUFzWHBydihrZXk6IHN0cmluZywgc291cmNlOiBzdHJpbmcpOiBCSVAzMkludGVyZmFjZSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGJpcDMyLmZyb21CYXNlNTgoa2V5KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHZhbGlkYXRlICR7c291cmNlfSBrZXkgLSB0cnkgYWdhaW4hYCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYWRkQml0Z29LZXlJZlJlcXVpcmVkKFxuICBrZXlzOiBCSVAzMkludGVyZmFjZVtdLFxuICBwYXJhbXM6IEluaXRpYXRlUmVjb3ZlcnlPcHRpb25zIHwgSW5pdGlhdGVDb25zb2xpZGF0aW9uUmVjb3ZlcnlPcHRpb25zLFxuICByZXF1aXJlQml0R29YcHViOiBib29sZWFuXG4pOiBCSVAzMkludGVyZmFjZVtdIHtcbiAgaWYgKHJlcXVpcmVCaXRHb1hwdWIpIHtcbiAgICBpZiAoIXBhcmFtcy5iaXRnb0tleSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBCaXRHbyB4cHViIHJlcXVpcmVkIGJ1dCBub3QgcHJvdmlkZWRgKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIC8vIEJveCBDXG4gICAgICBrZXlzLnB1c2goYmlwMzIuZnJvbUJhc2U1OChwYXJhbXMuYml0Z29LZXkpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBwYXJzZSBiaXRnbyB4cHViIScpO1xuICAgIH1cbiAgfVxuICByZXR1cm4ga2V5cztcbn1cblxuLyoqXG4gKiBUT0RPOiBEZXByZWNhdGUgdGhpcyBmdW5jdGlvbiBpbiBmYXZvdXIgb2YgdmFsaWRhdGVLZXlBc3luYyB3aGVuIHYyIGVuY3J5cHRpb24gaXMgdGhlIGRlZmF1bHQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUtleShcbiAgYml0Z286IEJpdEdvQmFzZSxcbiAgeyBrZXksIHNvdXJjZSwgcGFzc3BocmFzZSwgaXNVbnNpZ25lZFN3ZWVwLCBpc0tyc1JlY292ZXJ5IH06IFZhbGlkYXRlS2V5T3B0aW9uc1xuKTogQklQMzJJbnRlcmZhY2Uge1xuICBpZiAoIWtleS5zdGFydHNXaXRoKCd4cHJ2JykgJiYgIWlzVW5zaWduZWRTd2VlcCkge1xuICAgIC8vIFRyeSB0byBkZWNyeXB0IHRoZSBrZXlcbiAgICB0cnkge1xuICAgICAgaWYgKHNvdXJjZSA9PT0gJ3VzZXInIHx8IChzb3VyY2UgPT09ICdiYWNrdXAnICYmICFpc0tyc1JlY292ZXJ5KSkge1xuICAgICAgICByZXR1cm4gYmlwMzIuZnJvbUJhc2U1OChiaXRnby5kZWNyeXB0KHsgcGFzc3dvcmQ6IHBhc3NwaHJhc2UsIGlucHV0OiBrZXkgfSkpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGRlY3J5cHQgJHtzb3VyY2V9IGtleSB3aXRoIHBhc3Njb2RlIC0gdHJ5IGFnYWluIWApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcGFyc2VLZXlBc1hwcnYoa2V5LCBzb3VyY2UpO1xufVxuXG4vKipcbiAqIEFzeW5jIHZlcnNpb24gb2YgdmFsaWRhdGVLZXkgd2l0aCB2MiBlbmNyeXB0L2RlY3J5cHQgc3VwcG9ydC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZhbGlkYXRlS2V5QXN5bmMoXG4gIGJpdGdvOiBCaXRHb0Jhc2UsXG4gIHsga2V5LCBzb3VyY2UsIHBhc3NwaHJhc2UsIGlzVW5zaWduZWRTd2VlcCwgaXNLcnNSZWNvdmVyeSB9OiBWYWxpZGF0ZUtleU9wdGlvbnNcbik6IFByb21pc2U8QklQMzJJbnRlcmZhY2U+IHtcbiAgaWYgKCFrZXkuc3RhcnRzV2l0aCgneHBydicpICYmICFpc1Vuc2lnbmVkU3dlZXApIHtcbiAgICB0cnkge1xuICAgICAgaWYgKHNvdXJjZSA9PT0gJ3VzZXInIHx8IChzb3VyY2UgPT09ICdiYWNrdXAnICYmICFpc0tyc1JlY292ZXJ5KSkge1xuICAgICAgICByZXR1cm4gYmlwMzIuZnJvbUJhc2U1OChhd2FpdCBiaXRnby5kZWNyeXB0QXN5bmMoeyBwYXNzd29yZDogcGFzc3BocmFzZSwgaW5wdXQ6IGtleSB9KSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gZGVjcnlwdCAke3NvdXJjZX0ga2V5IHdpdGggcGFzc2NvZGUgLSB0cnkgYWdhaW4hYCk7XG4gICAgfVxuICB9XG4gIHJldHVybiBwYXJzZUtleUFzWHBydihrZXksIHNvdXJjZSk7XG59XG5cbi8qKlxuICogVE9ETzogRGVwcmVjYXRlIHRoaXMgZnVuY3Rpb24gaW4gZmF2b3VyIG9mIGdldEJpcDMyS2V5c0FzeW5jIHdoZW4gdjIgZW5jcnlwdGlvbiBpcyB0aGUgZGVmYXVsdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJpcDMyS2V5cyhcbiAgYml0Z286IEJpdEdvQmFzZSxcbiAgcGFyYW1zOiBJbml0aWF0ZVJlY292ZXJ5T3B0aW9ucyB8IEluaXRpYXRlQ29uc29saWRhdGlvblJlY292ZXJ5T3B0aW9ucyxcbiAgeyByZXF1aXJlQml0R29YcHViIH06IHsgcmVxdWlyZUJpdEdvWHB1YjogYm9vbGVhbiB9XG4pOiBCSVAzMkludGVyZmFjZVtdIHtcbiAgY29uc3QgaXNLcnNSZWNvdmVyeSA9IGdldElzS3JzUmVjb3ZlcnkocGFyYW1zKTtcbiAgY29uc3QgaXNVbnNpZ25lZFN3ZWVwID0gZ2V0SXNVbnNpZ25lZFN3ZWVwKHBhcmFtcyk7XG4gIGNvbnN0IHZhbGlkYXRlS2V5T3B0cyA9IHtcbiAgICBwYXNzcGhyYXNlOiBwYXJhbXMud2FsbGV0UGFzc3BocmFzZSxcbiAgICBpc0tyc1JlY292ZXJ5LFxuICAgIGlzVW5zaWduZWRTd2VlcCxcbiAgfTtcbiAgY29uc3Qga2V5cyA9IFtcbiAgICAvLyBCb3ggQVxuICAgIHZhbGlkYXRlS2V5KGJpdGdvLCB7IGtleTogcGFyYW1zLnVzZXJLZXksIHNvdXJjZTogJ3VzZXInLCAuLi52YWxpZGF0ZUtleU9wdHMgfSksXG4gICAgLy8gQm94IEJcbiAgICB2YWxpZGF0ZUtleShiaXRnbywgeyBrZXk6IHBhcmFtcy5iYWNrdXBLZXksIHNvdXJjZTogJ2JhY2t1cCcsIC4uLnZhbGlkYXRlS2V5T3B0cyB9KSxcbiAgXTtcblxuICByZXR1cm4gYWRkQml0Z29LZXlJZlJlcXVpcmVkKGtleXMsIHBhcmFtcywgcmVxdWlyZUJpdEdvWHB1Yik7XG59XG5cbi8qKlxuICogQXN5bmMgdmVyc2lvbiBvZiBnZXRCaXAzMktleXMgd2l0aCB2MiBlbmNyeXB0L2RlY3J5cHQgc3VwcG9ydC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEJpcDMyS2V5c0FzeW5jKFxuICBiaXRnbzogQml0R29CYXNlLFxuICBwYXJhbXM6IEluaXRpYXRlUmVjb3ZlcnlPcHRpb25zIHwgSW5pdGlhdGVDb25zb2xpZGF0aW9uUmVjb3ZlcnlPcHRpb25zLFxuICB7IHJlcXVpcmVCaXRHb1hwdWIgfTogeyByZXF1aXJlQml0R29YcHViOiBib29sZWFuIH1cbik6IFByb21pc2U8QklQMzJJbnRlcmZhY2VbXT4ge1xuICBjb25zdCBpc0tyc1JlY292ZXJ5ID0gZ2V0SXNLcnNSZWNvdmVyeShwYXJhbXMpO1xuICBjb25zdCBpc1Vuc2lnbmVkU3dlZXAgPSBnZXRJc1Vuc2lnbmVkU3dlZXAocGFyYW1zKTtcbiAgY29uc3QgdmFsaWRhdGVLZXlPcHRzID0ge1xuICAgIHBhc3NwaHJhc2U6IHBhcmFtcy53YWxsZXRQYXNzcGhyYXNlLFxuICAgIGlzS3JzUmVjb3ZlcnksXG4gICAgaXNVbnNpZ25lZFN3ZWVwLFxuICB9O1xuICBjb25zdCBrZXlzID0gW1xuICAgIC8vIEJveCBBIOKAlCBzZXF1ZW50aWFsOiBiYWNrdXAgb25seSBhZnRlciB1c2VyIGNvbXBsZXRlc1xuICAgIGF3YWl0IHZhbGlkYXRlS2V5QXN5bmMoYml0Z28sIHsga2V5OiBwYXJhbXMudXNlcktleSwgc291cmNlOiAndXNlcicsIC4uLnZhbGlkYXRlS2V5T3B0cyB9KSxcbiAgICAvLyBCb3ggQlxuICAgIGF3YWl0IHZhbGlkYXRlS2V5QXN5bmMoYml0Z28sIHsga2V5OiBwYXJhbXMuYmFja3VwS2V5LCBzb3VyY2U6ICdiYWNrdXAnLCAuLi52YWxpZGF0ZUtleU9wdHMgfSksXG4gIF07XG5cbiAgcmV0dXJuIGFkZEJpdGdvS2V5SWZSZXF1aXJlZChrZXlzLCBwYXJhbXMsIHJlcXVpcmVCaXRHb1hwdWIpO1xufVxuIl19
@@ -10,6 +10,7 @@ import { MPCv2PartiesEnum } from './typesMPCv2';
10
10
  import { CustomMPCv2SigningRound1GeneratingFunction, CustomMPCv2SigningRound2GeneratingFunction, CustomMPCv2SigningRound3GeneratingFunction, RequestType, SignatureShareRecord, TSSParams, TSSParamsForMessage, TSSParamsForMessageWithPrv, TssSignTxRequestParamsWithPrv, TxRequest } from '../baseTypes';
11
11
  import { BaseEcdsaUtils } from './base';
12
12
  import { EcdsaMPCv2KeyGenSendFn } from './ecdsaMPCv2KeyGenSender';
13
+ import { BitGoBase } from '../../../bitgoBase';
13
14
  export declare class EcdsaMPCv2Utils extends BaseEcdsaUtils {
14
15
  private static readonly DKLS23_SIGNING_USER_GPG_KEY;
15
16
  private static readonly DKLS23_SIGNING_ROUND1_STATE;
@@ -157,6 +158,7 @@ export declare class EcdsaMPCv2Utils extends BaseEcdsaUtils {
157
158
  }>;
158
159
  }
159
160
  /**
161
+ * TODO: deprecate this function in favor of isGG18SigningMaterialAsync once v2 encryption is default
160
162
  * Checks if the given key share, when decrypted, contains valid GG18 signing material.
161
163
  *
162
164
  * @param {string} keyShare - The encrypted key share string.
@@ -164,14 +166,19 @@ export declare class EcdsaMPCv2Utils extends BaseEcdsaUtils {
164
166
  * @returns {boolean} - Returns `true` if the decrypted data contains valid signing material, otherwise `false`.
165
167
  */
166
168
  export declare function isGG18SigningMaterial(keyShare: string, walletPassphrase: string | undefined): boolean;
169
+ /**
170
+ * Async version of {@link isGG18SigningMaterial} with v1/v2 auto-detect decrypt via `bitgo.decryptAsync`.
171
+ */
172
+ export declare function isGG18SigningMaterialAsync(keyShare: string, walletPassphrase: string | undefined, bitgo: BitGoBase): Promise<boolean>;
167
173
  /**
168
174
  * Get the MPC v2 recovery key shares from the provided user and backup key shares.
169
175
  * @param encryptedUserKey encrypted gg18 or MPCv2 user key
170
176
  * @param encryptedBackupKey encrypted gg18 or MPCv2 backup key
171
177
  * @param walletPassphrase password for user and backup key
178
+ * @param bitgo BitGo instance for v1/v2 auto-detect decrypt
172
179
  * @returns MPC v2 recovery key shares
173
180
  */
174
- export declare function getMpcV2RecoveryKeyShares(encryptedUserKey: string, encryptedBackupKey: string, walletPassphrase?: string): Promise<{
181
+ export declare function getMpcV2RecoveryKeyShares(encryptedUserKey: string, encryptedBackupKey: string, walletPassphrase?: string, bitgo?: BitGoBase): Promise<{
175
182
  userKeyShare: Buffer;
176
183
  backupKeyShare: Buffer;
177
184
  commonKeyChain: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ecdsaMPCv2.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ecdsaMPCv2.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.ts"],"names":[],"mappings":"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"}