@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.
- package/dist/src/api/types.d.ts +10 -0
- package/dist/src/api/types.d.ts.map +1 -1
- package/dist/src/api/types.js +1 -1
- package/dist/src/bitgo/bitgoBase.d.ts +1 -0
- package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
- package/dist/src/bitgo/bitgoBase.js +1 -1
- package/dist/src/bitgo/internal/keycard.d.ts +18 -6
- package/dist/src/bitgo/internal/keycard.d.ts.map +1 -1
- package/dist/src/bitgo/internal/keycard.js +97 -38
- package/dist/src/bitgo/recovery/initiate.d.ts +16 -0
- package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
- package/dist/src/bitgo/recovery/initiate.js +75 -33
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +8 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +53 -15
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +1 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +13 -1
- package/dist/src/bitgo/wallet/BuildParams.d.ts +2 -0
- package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/BuildParams.js +2 -1
- package/dist/src/bitgo/wallet/iWallet.d.ts +2 -0
- package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallet.js +1 -1
- package/dist/src/bitgo/wallet/wallet.d.ts +10 -0
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +95 -34
- package/dist/test/unit/bitgo/recovery/initiate.d.ts +2 -0
- package/dist/test/unit/bitgo/recovery/initiate.d.ts.map +1 -0
- package/dist/test/unit/bitgo/recovery/initiate.js +230 -0
- package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.js +4 -1
- package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +13 -5
- package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.js +50 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- 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
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
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":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAiD,SAAS,EAAa,MAAM,yBAAyB,CAAC;AAG9G,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EAEzB,eAAe,EACf,4BAA4B,EAG7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAsB,QAAQ,EAAW,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAGxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAUhD,OAAO,EACL,0CAA0C,EAC1C,0CAA0C,EAC1C,0CAA0C,EAC1C,WAAW,EACX,oBAAoB,EACpB,SAAS,EACT,mBAAmB,EACnB,0BAA0B,EAE1B,6BAA6B,EAE7B,SAAS,EAEV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAA6B,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"ecdsaMPCv2.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.ts"],"names":[],"mappings":"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"}
|