@bitgo/sdk-core 37.6.0 → 37.8.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.
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts +14 -1
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/baseCoin.js +16 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +69 -0
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
- package/dist/src/bitgo/defi/defiVault.d.ts +2 -1
- package/dist/src/bitgo/defi/defiVault.d.ts.map +1 -1
- package/dist/src/bitgo/defi/defiVault.js +13 -10
- package/dist/src/bitgo/environments.d.ts.map +1 -1
- package/dist/src/bitgo/environments.js +8 -2
- package/dist/src/bitgo/keychain/iKeychains.d.ts +2 -0
- package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/iKeychains.js +1 -1
- package/dist/src/bitgo/staking/goStakingInterfaces.d.ts +5 -1
- package/dist/src/bitgo/staking/goStakingInterfaces.d.ts.map +1 -1
- package/dist/src/bitgo/staking/goStakingInterfaces.js +1 -1
- package/dist/src/bitgo/staking/iStakingWallet.d.ts +6 -1
- package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
- package/dist/src/bitgo/staking/iStakingWallet.js +1 -1
- package/dist/src/bitgo/staking/stakingWallet.d.ts +2 -2
- package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
- package/dist/src/bitgo/staking/stakingWallet.js +1 -1
- package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/mpcUtils.js +8 -3
- package/dist/src/bitgo/utils/tss/addressVerification.d.ts +25 -0
- package/dist/src/bitgo/utils/tss/addressVerification.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/addressVerification.js +31 -13
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +2 -2
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +19 -17
- 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 +39 -47
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +15 -13
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +30 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +93 -16
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +5 -0
- package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/types.js +1 -1
- package/dist/src/bitgo/utils/tss/index.d.ts +1 -0
- package/dist/src/bitgo/utils/tss/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/index.js +2 -1
- package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts +23 -0
- package/dist/src/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/preHashedSignable.js +26 -0
- package/dist/src/bitgo/wallet/iWallets.d.ts +23 -1
- package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallets.js +1 -1
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +46 -3
- package/dist/src/bitgo/wallet/wallets.d.ts +10 -1
- package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallets.js +161 -12
- package/dist/test/unit/bitgo/defi/defiVault.js +3 -12
- package/dist/test/unit/bitgo/utils/tss/addressVerification.js +45 -1
- package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +4 -1
- package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.js +93 -1
- package/dist/test/unit/bitgo/utils/tss/preHashedSignable.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/tss/preHashedSignable.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/tss/preHashedSignable.js +55 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/ofcWalletAddressCreation.js +141 -0
- package/dist/test/unit/bitgo/wallet/walletsExternalSigner.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/walletsExternalSigner.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/walletsExternalSigner.js +320 -0
- package/dist/test/unit/bitgo/wallet/walletsWebauthn.js +16 -12
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extractCommonKeychain = extractCommonKeychain;
|
|
4
4
|
exports.verifyEddsaTssWalletAddress = verifyEddsaTssWalletAddress;
|
|
5
|
+
exports.deriveMPCWalletAddress = deriveMPCWalletAddress;
|
|
5
6
|
exports.verifyMPCWalletAddress = verifyMPCWalletAddress;
|
|
6
7
|
const sdk_lib_mpc_1 = require("@bitgo/sdk-lib-mpc");
|
|
7
8
|
const mpc_1 = require("../../../account-lib/mpc");
|
|
@@ -43,21 +44,20 @@ async function verifyEddsaTssWalletAddress(params, isValidAddress, getAddressFro
|
|
|
43
44
|
return verifyMPCWalletAddress({ ...params, keyCurve: 'ed25519' }, isValidAddress, getAddressFromPublicKey);
|
|
44
45
|
}
|
|
45
46
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
47
|
+
* Derives a wallet address using TSS/MPC HD derivation from the commonKeychain,
|
|
48
|
+
* using public key material only (no private keys, no network access).
|
|
49
|
+
* Shared by EdDSA- and ECDSA-based MPC coins.
|
|
48
50
|
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
+
* This is the derivation half of {@link verifyMPCWalletAddress}: it *produces* the address
|
|
52
|
+
* rather than comparing it against a candidate, so the two can never diverge.
|
|
53
|
+
*
|
|
54
|
+
* @param params - keychains (commonKeychain), derivation index, optional seed/version, and keyCurve
|
|
51
55
|
* @param getAddressFromPublicKey - Coin-specific function to convert public key to address
|
|
52
|
-
* @returns
|
|
53
|
-
* @throws {InvalidAddressError} if the address is invalid
|
|
56
|
+
* @returns the derived address and the HD derivation path used to derive it
|
|
54
57
|
* @throws {Error} if required parameters are missing or invalid
|
|
55
58
|
*/
|
|
56
|
-
async function
|
|
57
|
-
const { keychains,
|
|
58
|
-
if (!isValidAddress(address)) {
|
|
59
|
-
throw new errors_1.InvalidAddressError(`invalid address: ${address}`);
|
|
60
|
-
}
|
|
59
|
+
async function deriveMPCWalletAddress(params, getAddressFromPublicKey) {
|
|
60
|
+
const { keychains, index, derivedFromParentWithSeed } = params;
|
|
61
61
|
const commonKeychain = extractCommonKeychain(keychains);
|
|
62
62
|
// Compute derivation path:
|
|
63
63
|
// - For SMC wallets with derivedFromParentWithSeed, compute prefix and use: {prefix}/{index}
|
|
@@ -76,7 +76,25 @@ async function verifyMPCWalletAddress(params, isValidAddress, getAddressFromPubl
|
|
|
76
76
|
// secp256k1 expects 33 bytes; ed25519 expects 32 bytes
|
|
77
77
|
const publicKeySize = params.keyCurve === 'secp256k1' ? 33 : 32;
|
|
78
78
|
const publicKeyOnly = Buffer.from(derivedPublicKey, 'hex').subarray(0, publicKeySize).toString('hex');
|
|
79
|
-
|
|
79
|
+
return { address: getAddressFromPublicKey(publicKeyOnly), derivationPath };
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Verifies if an address belongs to a wallet using ECDSA TSS MPC derivation.
|
|
83
|
+
* This is a common implementation for ECDSA-based MPC coins (ETH, BTC, etc.)
|
|
84
|
+
*
|
|
85
|
+
* @param params - Verification options including keychains, address, and derivation index
|
|
86
|
+
* @param isValidAddress - Coin-specific function to validate address format
|
|
87
|
+
* @param getAddressFromPublicKey - Coin-specific function to convert public key to address
|
|
88
|
+
* @returns true if the address matches the derived address, false otherwise
|
|
89
|
+
* @throws {InvalidAddressError} if the address is invalid
|
|
90
|
+
* @throws {Error} if required parameters are missing or invalid
|
|
91
|
+
*/
|
|
92
|
+
async function verifyMPCWalletAddress(params, isValidAddress, getAddressFromPublicKey) {
|
|
93
|
+
const { address } = params;
|
|
94
|
+
if (!isValidAddress(address)) {
|
|
95
|
+
throw new errors_1.InvalidAddressError(`invalid address: ${address}`);
|
|
96
|
+
}
|
|
97
|
+
const { address: expectedAddress } = await deriveMPCWalletAddress(params, getAddressFromPublicKey);
|
|
80
98
|
return address === expectedAddress;
|
|
81
99
|
}
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzc1ZlcmlmaWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby91dGlscy90c3MvYWRkcmVzc1ZlcmlmaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWNBLHNEQWVDO0FBYUQsa0VBTUM7QUFhRCx3REFxQ0M7QUFsR0Qsb0RBQTRFO0FBQzVFLGtEQUFpRDtBQUVqRCx5Q0FBbUQ7QUFDbkQsbUNBQXlDO0FBRXpDOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxTQUErQztJQUNuRixJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztJQUNuRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxvREFBb0Q7SUFDcEQsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsY0FBYyxLQUFLLGNBQWMsQ0FBQztRQUM5RCxNQUFNLElBQUksS0FBSyxDQUFDLCtEQUErRCxDQUFDLENBQUM7SUFFbkYsT0FBTyxjQUFjLENBQUM7QUFDeEIsQ0FBQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSSxLQUFLLFVBQVUsMkJBQTJCLENBQy9DLE1BQStCLEVBQy9CLGNBQTRDLEVBQzVDLHVCQUFzRDtJQUV0RCxPQUFPLHNCQUFzQixDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxFQUFFLGNBQWMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0FBQzdHLENBQUM7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0ksS0FBSyxVQUFVLHNCQUFzQixDQUMxQyxNQUVDLEVBQ0QsY0FBNEMsRUFDNUMsdUJBQXNEO0lBRXRELE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUV4RSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDN0IsTUFBTSxJQUFJLDRCQUFtQixDQUFDLG9CQUFvQixPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUV4RCwyQkFBMkI7SUFDM0IsNkZBQTZGO0lBQzdGLGtEQUFrRDtJQUNsRCxNQUFNLE1BQU0sR0FBRyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsSUFBQSwrQkFBaUIsRUFBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDL0csTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQztJQUVwRSwyRkFBMkY7SUFDM0YsSUFBSSxnQkFBd0IsQ0FBQztJQUM3QixJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxtQkFBbUIsS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUM1RSxnQkFBZ0IsR0FBRyxJQUFBLGlDQUFtQixFQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN6RSxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLGtCQUFZLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUMzRyxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCx1REFBdUQ7SUFDdkQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLFFBQVEsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2hFLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFdEcsTUFBTSxlQUFlLEdBQUcsdUJBQXVCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFL0QsT0FBTyxPQUFPLEtBQUssZUFBZSxDQUFDO0FBQ3JDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXREZXJpdmF0aW9uUGF0aCwgZGVyaXZlVW5oYXJkZW5lZE1wcyB9IGZyb20gJ0BiaXRnby9zZGstbGliLW1wYyc7XG5pbXBvcnQgeyBFY2RzYSB9IGZyb20gJy4uLy4uLy4uL2FjY291bnQtbGliL21wYyc7XG5pbXBvcnQgeyBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucyB9IGZyb20gJy4uLy4uL2Jhc2VDb2luL2lCYXNlQ29pbic7XG5pbXBvcnQgeyBJbnZhbGlkQWRkcmVzc0Vycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzJztcbmltcG9ydCB7IEVERFNBTWV0aG9kcyB9IGZyb20gJy4uLy4uL3Rzcyc7XG5cbi8qKlxuICogRXh0cmFjdHMgYW5kIHZhbGlkYXRlcyB0aGUgY29tbW9uS2V5Y2hhaW4gZnJvbSBrZXljaGFpbnMgYXJyYXkuXG4gKiBGb3IgTVBDIHdhbGxldHMsIGFsbCBrZXljaGFpbnMgc2hvdWxkIGhhdmUgdGhlIHNhbWUgY29tbW9uS2V5Y2hhaW4uXG4gKlxuICogQHBhcmFtIGtleWNoYWlucyAtIEFycmF5IG9mIGtleWNoYWlucyBjb250YWluaW5nIGNvbW1vbktleWNoYWluXG4gKiBAcmV0dXJucyBUaGUgdmFsaWRhdGVkIGNvbW1vbktleWNoYWluXG4gKiBAdGhyb3dzIHtFcnJvcn0gaWYga2V5Y2hhaW5zIGFyZSBtaXNzaW5nLCBlbXB0eSwgb3IgaGF2ZSBtaXNtYXRjaGVkIGNvbW1vbktleWNoYWluc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdENvbW1vbktleWNoYWluKGtleWNoYWluczogVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnNbJ2tleWNoYWlucyddKTogc3RyaW5nIHtcbiAgaWYgKCFrZXljaGFpbnM/Lmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBwYXJhbSBrZXljaGFpbnMnKTtcbiAgfVxuXG4gIGNvbnN0IGNvbW1vbktleWNoYWluID0ga2V5Y2hhaW5zWzBdLmNvbW1vbktleWNoYWluO1xuICBpZiAoIWNvbW1vbktleWNoYWluKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIHBhcmFtIGNvbW1vbktleWNoYWluJyk7XG4gIH1cblxuICAvLyBWZXJpZnkgYWxsIGtleWNoYWlucyBoYXZlIHRoZSBzYW1lIGNvbW1vbktleWNoYWluXG4gIGlmIChrZXljaGFpbnMuZmluZCgoa2MpID0+IGtjLmNvbW1vbktleWNoYWluICE9PSBjb21tb25LZXljaGFpbikpXG4gICAgdGhyb3cgbmV3IEVycm9yKCdhbGwga2V5Y2hhaW5zIG11c3QgaGF2ZSB0aGUgc2FtZSBjb21tb25LZXljaGFpbiBmb3IgTVBDIGNvaW5zJyk7XG5cbiAgcmV0dXJuIGNvbW1vbktleWNoYWluO1xufVxuXG4vKipcbiAqIFZlcmlmaWVzIGlmIGFuIGFkZHJlc3MgYmVsb25ncyB0byBhIHdhbGxldCB1c2luZyBFZERTQSBUU1MgTVBDIGRlcml2YXRpb24uXG4gKiBUaGlzIGlzIGEgY29tbW9uIGltcGxlbWVudGF0aW9uIGZvciBFZERTQS1iYXNlZCBNUEMgY29pbnMgKFNPTCwgRE9ULCBTVUksIFRPTiwgSU9UQSwgZXRjLilcbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVmVyaWZpY2F0aW9uIG9wdGlvbnMgaW5jbHVkaW5nIGtleWNoYWlucywgYWRkcmVzcywgYW5kIGRlcml2YXRpb24gaW5kZXhcbiAqIEBwYXJhbSBpc1ZhbGlkQWRkcmVzcyAtIENvaW4tc3BlY2lmaWMgZnVuY3Rpb24gdG8gdmFsaWRhdGUgYWRkcmVzcyBmb3JtYXRcbiAqIEBwYXJhbSBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleSAtIENvaW4tc3BlY2lmaWMgZnVuY3Rpb24gdG8gY29udmVydCBwdWJsaWMga2V5IHRvIGFkZHJlc3NcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGFkZHJlc3MgbWF0Y2hlcyB0aGUgZGVyaXZlZCBhZGRyZXNzLCBmYWxzZSBvdGhlcndpc2VcbiAqIEB0aHJvd3Mge0ludmFsaWRBZGRyZXNzRXJyb3J9IGlmIHRoZSBhZGRyZXNzIGlzIGludmFsaWRcbiAqIEB0aHJvd3Mge0Vycm9yfSBpZiByZXF1aXJlZCBwYXJhbWV0ZXJzIGFyZSBtaXNzaW5nIG9yIGludmFsaWRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZlcmlmeUVkZHNhVHNzV2FsbGV0QWRkcmVzcyhcbiAgcGFyYW1zOiBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucyxcbiAgaXNWYWxpZEFkZHJlc3M6IChhZGRyZXNzOiBzdHJpbmcpID0+IGJvb2xlYW4sXG4gIGdldEFkZHJlc3NGcm9tUHVibGljS2V5OiAocHVibGljS2V5OiBzdHJpbmcpID0+IHN0cmluZ1xuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIHJldHVybiB2ZXJpZnlNUENXYWxsZXRBZGRyZXNzKHsgLi4ucGFyYW1zLCBrZXlDdXJ2ZTogJ2VkMjU1MTknIH0sIGlzVmFsaWRBZGRyZXNzLCBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleSk7XG59XG5cbi8qKlxuICogVmVyaWZpZXMgaWYgYW4gYWRkcmVzcyBiZWxvbmdzIHRvIGEgd2FsbGV0IHVzaW5nIEVDRFNBIFRTUyBNUEMgZGVyaXZhdGlvbi5cbiAqIFRoaXMgaXMgYSBjb21tb24gaW1wbGVtZW50YXRpb24gZm9yIEVDRFNBLWJhc2VkIE1QQyBjb2lucyAoRVRILCBCVEMsIGV0Yy4pXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFZlcmlmaWNhdGlvbiBvcHRpb25zIGluY2x1ZGluZyBrZXljaGFpbnMsIGFkZHJlc3MsIGFuZCBkZXJpdmF0aW9uIGluZGV4XG4gKiBAcGFyYW0gaXNWYWxpZEFkZHJlc3MgLSBDb2luLXNwZWNpZmljIGZ1bmN0aW9uIHRvIHZhbGlkYXRlIGFkZHJlc3MgZm9ybWF0XG4gKiBAcGFyYW0gZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkgLSBDb2luLXNwZWNpZmljIGZ1bmN0aW9uIHRvIGNvbnZlcnQgcHVibGljIGtleSB0byBhZGRyZXNzXG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBhZGRyZXNzIG1hdGNoZXMgdGhlIGRlcml2ZWQgYWRkcmVzcywgZmFsc2Ugb3RoZXJ3aXNlXG4gKiBAdGhyb3dzIHtJbnZhbGlkQWRkcmVzc0Vycm9yfSBpZiB0aGUgYWRkcmVzcyBpcyBpbnZhbGlkXG4gKiBAdGhyb3dzIHtFcnJvcn0gaWYgcmVxdWlyZWQgcGFyYW1ldGVycyBhcmUgbWlzc2luZyBvciBpbnZhbGlkXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlNUENXYWxsZXRBZGRyZXNzKFxuICBwYXJhbXM6IFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zICYge1xuICAgIGtleUN1cnZlOiAnc2VjcDI1NmsxJyB8ICdlZDI1NTE5JztcbiAgfSxcbiAgaXNWYWxpZEFkZHJlc3M6IChhZGRyZXNzOiBzdHJpbmcpID0+IGJvb2xlYW4sXG4gIGdldEFkZHJlc3NGcm9tUHVibGljS2V5OiAocHVibGljS2V5OiBzdHJpbmcpID0+IHN0cmluZ1xuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IHsga2V5Y2hhaW5zLCBhZGRyZXNzLCBpbmRleCwgZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZCB9ID0gcGFyYW1zO1xuXG4gIGlmICghaXNWYWxpZEFkZHJlc3MoYWRkcmVzcykpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFkZHJlc3NFcnJvcihgaW52YWxpZCBhZGRyZXNzOiAke2FkZHJlc3N9YCk7XG4gIH1cblxuICBjb25zdCBjb21tb25LZXljaGFpbiA9IGV4dHJhY3RDb21tb25LZXljaGFpbihrZXljaGFpbnMpO1xuXG4gIC8vIENvbXB1dGUgZGVyaXZhdGlvbiBwYXRoOlxuICAvLyAtIEZvciBTTUMgd2FsbGV0cyB3aXRoIGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQsIGNvbXB1dGUgcHJlZml4IGFuZCB1c2U6IHtwcmVmaXh9L3tpbmRleH1cbiAgLy8gLSBGb3Igb3RoZXIgd2FsbGV0cywgdXNlIHNpbXBsZSBwYXRoOiBtL3tpbmRleH1cbiAgY29uc3QgcHJlZml4ID0gZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZCA/IGdldERlcml2YXRpb25QYXRoKGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQudG9TdHJpbmcoKSkgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IGRlcml2YXRpb25QYXRoID0gcHJlZml4ID8gYCR7cHJlZml4fS8ke2luZGV4fWAgOiBgbS8ke2luZGV4fWA7XG5cbiAgLy8gTVBDdjIgRWREU0Egd2FsbGV0cyB1c2UgYSBkaWZmZXJlbnQgQklQMzItRWQyNTUxOSBkZXJpdmF0aW9uIGZvcm11bGEgdGhhbiBNUEN2MSB3YWxsZXRzLlxuICBsZXQgZGVyaXZlZFB1YmxpY0tleTogc3RyaW5nO1xuICBpZiAocGFyYW1zLmtleUN1cnZlID09PSAnZWQyNTUxOScgJiYgcGFyYW1zLm11bHRpc2lnVHlwZVZlcnNpb24gPT09ICdNUEN2MicpIHtcbiAgICBkZXJpdmVkUHVibGljS2V5ID0gZGVyaXZlVW5oYXJkZW5lZE1wcyhjb21tb25LZXljaGFpbiwgZGVyaXZhdGlvblBhdGgpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IE1QQyA9IHBhcmFtcy5rZXlDdXJ2ZSA9PT0gJ3NlY3AyNTZrMScgPyBuZXcgRWNkc2EoKSA6IGF3YWl0IEVERFNBTWV0aG9kcy5nZXRJbml0aWFsaXplZE1wY0luc3RhbmNlKCk7XG4gICAgZGVyaXZlZFB1YmxpY0tleSA9IE1QQy5kZXJpdmVVbmhhcmRlbmVkKGNvbW1vbktleWNoYWluLCBkZXJpdmF0aW9uUGF0aCk7XG4gIH1cblxuICAvLyBzZWNwMjU2azEgZXhwZWN0cyAzMyBieXRlczsgZWQyNTUxOSBleHBlY3RzIDMyIGJ5dGVzXG4gIGNvbnN0IHB1YmxpY0tleVNpemUgPSBwYXJhbXMua2V5Q3VydmUgPT09ICdzZWNwMjU2azEnID8gMzMgOiAzMjtcbiAgY29uc3QgcHVibGljS2V5T25seSA9IEJ1ZmZlci5mcm9tKGRlcml2ZWRQdWJsaWNLZXksICdoZXgnKS5zdWJhcnJheSgwLCBwdWJsaWNLZXlTaXplKS50b1N0cmluZygnaGV4Jyk7XG5cbiAgY29uc3QgZXhwZWN0ZWRBZGRyZXNzID0gZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkocHVibGljS2V5T25seSk7XG5cbiAgcmV0dXJuIGFkZHJlc3MgPT09IGV4cGVjdGVkQWRkcmVzcztcbn1cbiJdfQ==
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzc1ZlcmlmaWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby91dGlscy90c3MvYWRkcmVzc1ZlcmlmaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWNBLHNEQWVDO0FBYUQsa0VBTUM7QUEyQkQsd0RBNEJDO0FBYUQsd0RBZ0JDO0FBcElELG9EQUE0RTtBQUM1RSxrREFBaUQ7QUFFakQseUNBQW1EO0FBQ25ELG1DQUF5QztBQUV6Qzs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsU0FBK0M7SUFDbkYsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7SUFDbkQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsb0RBQW9EO0lBQ3BELElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQWMsS0FBSyxjQUFjLENBQUM7UUFDOUQsTUFBTSxJQUFJLEtBQUssQ0FBQywrREFBK0QsQ0FBQyxDQUFDO0lBRW5GLE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0ksS0FBSyxVQUFVLDJCQUEyQixDQUMvQyxNQUErQixFQUMvQixjQUE0QyxFQUM1Qyx1QkFBc0Q7SUFFdEQsT0FBTyxzQkFBc0IsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsRUFBRSxjQUFjLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztBQUM3RyxDQUFDO0FBY0Q7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0ksS0FBSyxVQUFVLHNCQUFzQixDQUMxQyxNQUFxQyxFQUNyQyx1QkFBc0Q7SUFFdEQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUseUJBQXlCLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFL0QsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFeEQsMkJBQTJCO0lBQzNCLDZGQUE2RjtJQUM3RixrREFBa0Q7SUFDbEQsTUFBTSxNQUFNLEdBQUcseUJBQXlCLENBQUMsQ0FBQyxDQUFDLElBQUEsK0JBQWlCLEVBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQy9HLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7SUFFcEUsMkZBQTJGO0lBQzNGLElBQUksZ0JBQXdCLENBQUM7SUFDN0IsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsbUJBQW1CLEtBQUssT0FBTyxFQUFFLENBQUM7UUFDNUUsZ0JBQWdCLEdBQUcsSUFBQSxpQ0FBbUIsRUFBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDekUsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxrQkFBWSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDM0csZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsdURBQXVEO0lBQ3ZELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxRQUFRLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNoRSxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXRHLE9BQU8sRUFBRSxPQUFPLEVBQUUsdUJBQXVCLENBQUMsYUFBYSxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUM7QUFDN0UsQ0FBQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSSxLQUFLLFVBQVUsc0JBQXNCLENBQzFDLE1BRUMsRUFDRCxjQUE0QyxFQUM1Qyx1QkFBc0Q7SUFFdEQsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUUzQixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDN0IsTUFBTSxJQUFJLDRCQUFtQixDQUFDLG9CQUFvQixPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxNQUFNLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxHQUFHLE1BQU0sc0JBQXNCLENBQUMsTUFBTSxFQUFFLHVCQUF1QixDQUFDLENBQUM7SUFFbkcsT0FBTyxPQUFPLEtBQUssZUFBZSxDQUFDO0FBQ3JDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXREZXJpdmF0aW9uUGF0aCwgZGVyaXZlVW5oYXJkZW5lZE1wcyB9IGZyb20gJ0BiaXRnby9zZGstbGliLW1wYyc7XG5pbXBvcnQgeyBFY2RzYSB9IGZyb20gJy4uLy4uLy4uL2FjY291bnQtbGliL21wYyc7XG5pbXBvcnQgeyBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucyB9IGZyb20gJy4uLy4uL2Jhc2VDb2luL2lCYXNlQ29pbic7XG5pbXBvcnQgeyBJbnZhbGlkQWRkcmVzc0Vycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3JzJztcbmltcG9ydCB7IEVERFNBTWV0aG9kcyB9IGZyb20gJy4uLy4uL3Rzcyc7XG5cbi8qKlxuICogRXh0cmFjdHMgYW5kIHZhbGlkYXRlcyB0aGUgY29tbW9uS2V5Y2hhaW4gZnJvbSBrZXljaGFpbnMgYXJyYXkuXG4gKiBGb3IgTVBDIHdhbGxldHMsIGFsbCBrZXljaGFpbnMgc2hvdWxkIGhhdmUgdGhlIHNhbWUgY29tbW9uS2V5Y2hhaW4uXG4gKlxuICogQHBhcmFtIGtleWNoYWlucyAtIEFycmF5IG9mIGtleWNoYWlucyBjb250YWluaW5nIGNvbW1vbktleWNoYWluXG4gKiBAcmV0dXJucyBUaGUgdmFsaWRhdGVkIGNvbW1vbktleWNoYWluXG4gKiBAdGhyb3dzIHtFcnJvcn0gaWYga2V5Y2hhaW5zIGFyZSBtaXNzaW5nLCBlbXB0eSwgb3IgaGF2ZSBtaXNtYXRjaGVkIGNvbW1vbktleWNoYWluc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdENvbW1vbktleWNoYWluKGtleWNoYWluczogVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnNbJ2tleWNoYWlucyddKTogc3RyaW5nIHtcbiAgaWYgKCFrZXljaGFpbnM/Lmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBwYXJhbSBrZXljaGFpbnMnKTtcbiAgfVxuXG4gIGNvbnN0IGNvbW1vbktleWNoYWluID0ga2V5Y2hhaW5zWzBdLmNvbW1vbktleWNoYWluO1xuICBpZiAoIWNvbW1vbktleWNoYWluKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIHBhcmFtIGNvbW1vbktleWNoYWluJyk7XG4gIH1cblxuICAvLyBWZXJpZnkgYWxsIGtleWNoYWlucyBoYXZlIHRoZSBzYW1lIGNvbW1vbktleWNoYWluXG4gIGlmIChrZXljaGFpbnMuZmluZCgoa2MpID0+IGtjLmNvbW1vbktleWNoYWluICE9PSBjb21tb25LZXljaGFpbikpXG4gICAgdGhyb3cgbmV3IEVycm9yKCdhbGwga2V5Y2hhaW5zIG11c3QgaGF2ZSB0aGUgc2FtZSBjb21tb25LZXljaGFpbiBmb3IgTVBDIGNvaW5zJyk7XG5cbiAgcmV0dXJuIGNvbW1vbktleWNoYWluO1xufVxuXG4vKipcbiAqIFZlcmlmaWVzIGlmIGFuIGFkZHJlc3MgYmVsb25ncyB0byBhIHdhbGxldCB1c2luZyBFZERTQSBUU1MgTVBDIGRlcml2YXRpb24uXG4gKiBUaGlzIGlzIGEgY29tbW9uIGltcGxlbWVudGF0aW9uIGZvciBFZERTQS1iYXNlZCBNUEMgY29pbnMgKFNPTCwgRE9ULCBTVUksIFRPTiwgSU9UQSwgZXRjLilcbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVmVyaWZpY2F0aW9uIG9wdGlvbnMgaW5jbHVkaW5nIGtleWNoYWlucywgYWRkcmVzcywgYW5kIGRlcml2YXRpb24gaW5kZXhcbiAqIEBwYXJhbSBpc1ZhbGlkQWRkcmVzcyAtIENvaW4tc3BlY2lmaWMgZnVuY3Rpb24gdG8gdmFsaWRhdGUgYWRkcmVzcyBmb3JtYXRcbiAqIEBwYXJhbSBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleSAtIENvaW4tc3BlY2lmaWMgZnVuY3Rpb24gdG8gY29udmVydCBwdWJsaWMga2V5IHRvIGFkZHJlc3NcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGFkZHJlc3MgbWF0Y2hlcyB0aGUgZGVyaXZlZCBhZGRyZXNzLCBmYWxzZSBvdGhlcndpc2VcbiAqIEB0aHJvd3Mge0ludmFsaWRBZGRyZXNzRXJyb3J9IGlmIHRoZSBhZGRyZXNzIGlzIGludmFsaWRcbiAqIEB0aHJvd3Mge0Vycm9yfSBpZiByZXF1aXJlZCBwYXJhbWV0ZXJzIGFyZSBtaXNzaW5nIG9yIGludmFsaWRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZlcmlmeUVkZHNhVHNzV2FsbGV0QWRkcmVzcyhcbiAgcGFyYW1zOiBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucyxcbiAgaXNWYWxpZEFkZHJlc3M6IChhZGRyZXNzOiBzdHJpbmcpID0+IGJvb2xlYW4sXG4gIGdldEFkZHJlc3NGcm9tUHVibGljS2V5OiAocHVibGljS2V5OiBzdHJpbmcpID0+IHN0cmluZ1xuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIHJldHVybiB2ZXJpZnlNUENXYWxsZXRBZGRyZXNzKHsgLi4ucGFyYW1zLCBrZXlDdXJ2ZTogJ2VkMjU1MTknIH0sIGlzVmFsaWRBZGRyZXNzLCBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleSk7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgZGVyaXZpbmcgYW4gTVBDIHdhbGxldCBhZGRyZXNzLiBUaGlzIGlzIHRoZSBzdWJzZXQgb2ZcbiAqIHtAbGluayBUc3NWZXJpZnlBZGRyZXNzT3B0aW9uc30gbmVlZGVkIHRvICpwcm9kdWNlKiBhbiBhZGRyZXNzIChubyBgYWRkcmVzc2AgdG8gY2hlY2spLFxuICogcGx1cyB0aGUga2V5IGN1cnZlLlxuICovXG5leHBvcnQgdHlwZSBEZXJpdmVNUENXYWxsZXRBZGRyZXNzT3B0aW9ucyA9IFBpY2s8XG4gIFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zLFxuICAna2V5Y2hhaW5zJyB8ICdpbmRleCcgfCAnZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZCcgfCAnbXVsdGlzaWdUeXBlVmVyc2lvbidcbj4gJiB7XG4gIGtleUN1cnZlOiAnc2VjcDI1NmsxJyB8ICdlZDI1NTE5Jztcbn07XG5cbi8qKlxuICogRGVyaXZlcyBhIHdhbGxldCBhZGRyZXNzIHVzaW5nIFRTUy9NUEMgSEQgZGVyaXZhdGlvbiBmcm9tIHRoZSBjb21tb25LZXljaGFpbixcbiAqIHVzaW5nIHB1YmxpYyBrZXkgbWF0ZXJpYWwgb25seSAobm8gcHJpdmF0ZSBrZXlzLCBubyBuZXR3b3JrIGFjY2VzcykuXG4gKiBTaGFyZWQgYnkgRWREU0EtIGFuZCBFQ0RTQS1iYXNlZCBNUEMgY29pbnMuXG4gKlxuICogVGhpcyBpcyB0aGUgZGVyaXZhdGlvbiBoYWxmIG9mIHtAbGluayB2ZXJpZnlNUENXYWxsZXRBZGRyZXNzfTogaXQgKnByb2R1Y2VzKiB0aGUgYWRkcmVzc1xuICogcmF0aGVyIHRoYW4gY29tcGFyaW5nIGl0IGFnYWluc3QgYSBjYW5kaWRhdGUsIHNvIHRoZSB0d28gY2FuIG5ldmVyIGRpdmVyZ2UuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIGtleWNoYWlucyAoY29tbW9uS2V5Y2hhaW4pLCBkZXJpdmF0aW9uIGluZGV4LCBvcHRpb25hbCBzZWVkL3ZlcnNpb24sIGFuZCBrZXlDdXJ2ZVxuICogQHBhcmFtIGdldEFkZHJlc3NGcm9tUHVibGljS2V5IC0gQ29pbi1zcGVjaWZpYyBmdW5jdGlvbiB0byBjb252ZXJ0IHB1YmxpYyBrZXkgdG8gYWRkcmVzc1xuICogQHJldHVybnMgdGhlIGRlcml2ZWQgYWRkcmVzcyBhbmQgdGhlIEhEIGRlcml2YXRpb24gcGF0aCB1c2VkIHRvIGRlcml2ZSBpdFxuICogQHRocm93cyB7RXJyb3J9IGlmIHJlcXVpcmVkIHBhcmFtZXRlcnMgYXJlIG1pc3Npbmcgb3IgaW52YWxpZFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVyaXZlTVBDV2FsbGV0QWRkcmVzcyhcbiAgcGFyYW1zOiBEZXJpdmVNUENXYWxsZXRBZGRyZXNzT3B0aW9ucyxcbiAgZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXk6IChwdWJsaWNLZXk6IHN0cmluZykgPT4gc3RyaW5nXG4pOiBQcm9taXNlPHsgYWRkcmVzczogc3RyaW5nOyBkZXJpdmF0aW9uUGF0aDogc3RyaW5nIH0+IHtcbiAgY29uc3QgeyBrZXljaGFpbnMsIGluZGV4LCBkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkIH0gPSBwYXJhbXM7XG5cbiAgY29uc3QgY29tbW9uS2V5Y2hhaW4gPSBleHRyYWN0Q29tbW9uS2V5Y2hhaW4oa2V5Y2hhaW5zKTtcblxuICAvLyBDb21wdXRlIGRlcml2YXRpb24gcGF0aDpcbiAgLy8gLSBGb3IgU01DIHdhbGxldHMgd2l0aCBkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkLCBjb21wdXRlIHByZWZpeCBhbmQgdXNlOiB7cHJlZml4fS97aW5kZXh9XG4gIC8vIC0gRm9yIG90aGVyIHdhbGxldHMsIHVzZSBzaW1wbGUgcGF0aDogbS97aW5kZXh9XG4gIGNvbnN0IHByZWZpeCA9IGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQgPyBnZXREZXJpdmF0aW9uUGF0aChkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkLnRvU3RyaW5nKCkpIDogdW5kZWZpbmVkO1xuICBjb25zdCBkZXJpdmF0aW9uUGF0aCA9IHByZWZpeCA/IGAke3ByZWZpeH0vJHtpbmRleH1gIDogYG0vJHtpbmRleH1gO1xuXG4gIC8vIE1QQ3YyIEVkRFNBIHdhbGxldHMgdXNlIGEgZGlmZmVyZW50IEJJUDMyLUVkMjU1MTkgZGVyaXZhdGlvbiBmb3JtdWxhIHRoYW4gTVBDdjEgd2FsbGV0cy5cbiAgbGV0IGRlcml2ZWRQdWJsaWNLZXk6IHN0cmluZztcbiAgaWYgKHBhcmFtcy5rZXlDdXJ2ZSA9PT0gJ2VkMjU1MTknICYmIHBhcmFtcy5tdWx0aXNpZ1R5cGVWZXJzaW9uID09PSAnTVBDdjInKSB7XG4gICAgZGVyaXZlZFB1YmxpY0tleSA9IGRlcml2ZVVuaGFyZGVuZWRNcHMoY29tbW9uS2V5Y2hhaW4sIGRlcml2YXRpb25QYXRoKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBNUEMgPSBwYXJhbXMua2V5Q3VydmUgPT09ICdzZWNwMjU2azEnID8gbmV3IEVjZHNhKCkgOiBhd2FpdCBFRERTQU1ldGhvZHMuZ2V0SW5pdGlhbGl6ZWRNcGNJbnN0YW5jZSgpO1xuICAgIGRlcml2ZWRQdWJsaWNLZXkgPSBNUEMuZGVyaXZlVW5oYXJkZW5lZChjb21tb25LZXljaGFpbiwgZGVyaXZhdGlvblBhdGgpO1xuICB9XG5cbiAgLy8gc2VjcDI1NmsxIGV4cGVjdHMgMzMgYnl0ZXM7IGVkMjU1MTkgZXhwZWN0cyAzMiBieXRlc1xuICBjb25zdCBwdWJsaWNLZXlTaXplID0gcGFyYW1zLmtleUN1cnZlID09PSAnc2VjcDI1NmsxJyA/IDMzIDogMzI7XG4gIGNvbnN0IHB1YmxpY0tleU9ubHkgPSBCdWZmZXIuZnJvbShkZXJpdmVkUHVibGljS2V5LCAnaGV4Jykuc3ViYXJyYXkoMCwgcHVibGljS2V5U2l6ZSkudG9TdHJpbmcoJ2hleCcpO1xuXG4gIHJldHVybiB7IGFkZHJlc3M6IGdldEFkZHJlc3NGcm9tUHVibGljS2V5KHB1YmxpY0tleU9ubHkpLCBkZXJpdmF0aW9uUGF0aCB9O1xufVxuXG4vKipcbiAqIFZlcmlmaWVzIGlmIGFuIGFkZHJlc3MgYmVsb25ncyB0byBhIHdhbGxldCB1c2luZyBFQ0RTQSBUU1MgTVBDIGRlcml2YXRpb24uXG4gKiBUaGlzIGlzIGEgY29tbW9uIGltcGxlbWVudGF0aW9uIGZvciBFQ0RTQS1iYXNlZCBNUEMgY29pbnMgKEVUSCwgQlRDLCBldGMuKVxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBWZXJpZmljYXRpb24gb3B0aW9ucyBpbmNsdWRpbmcga2V5Y2hhaW5zLCBhZGRyZXNzLCBhbmQgZGVyaXZhdGlvbiBpbmRleFxuICogQHBhcmFtIGlzVmFsaWRBZGRyZXNzIC0gQ29pbi1zcGVjaWZpYyBmdW5jdGlvbiB0byB2YWxpZGF0ZSBhZGRyZXNzIGZvcm1hdFxuICogQHBhcmFtIGdldEFkZHJlc3NGcm9tUHVibGljS2V5IC0gQ29pbi1zcGVjaWZpYyBmdW5jdGlvbiB0byBjb252ZXJ0IHB1YmxpYyBrZXkgdG8gYWRkcmVzc1xuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgYWRkcmVzcyBtYXRjaGVzIHRoZSBkZXJpdmVkIGFkZHJlc3MsIGZhbHNlIG90aGVyd2lzZVxuICogQHRocm93cyB7SW52YWxpZEFkZHJlc3NFcnJvcn0gaWYgdGhlIGFkZHJlc3MgaXMgaW52YWxpZFxuICogQHRocm93cyB7RXJyb3J9IGlmIHJlcXVpcmVkIHBhcmFtZXRlcnMgYXJlIG1pc3Npbmcgb3IgaW52YWxpZFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdmVyaWZ5TVBDV2FsbGV0QWRkcmVzcyhcbiAgcGFyYW1zOiBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucyAmIHtcbiAgICBrZXlDdXJ2ZTogJ3NlY3AyNTZrMScgfCAnZWQyNTUxOSc7XG4gIH0sXG4gIGlzVmFsaWRBZGRyZXNzOiAoYWRkcmVzczogc3RyaW5nKSA9PiBib29sZWFuLFxuICBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleTogKHB1YmxpY0tleTogc3RyaW5nKSA9PiBzdHJpbmdcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCB7IGFkZHJlc3MgfSA9IHBhcmFtcztcblxuICBpZiAoIWlzVmFsaWRBZGRyZXNzKGFkZHJlc3MpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBZGRyZXNzRXJyb3IoYGludmFsaWQgYWRkcmVzczogJHthZGRyZXNzfWApO1xuICB9XG5cbiAgY29uc3QgeyBhZGRyZXNzOiBleHBlY3RlZEFkZHJlc3MgfSA9IGF3YWl0IGRlcml2ZU1QQ1dhbGxldEFkZHJlc3MocGFyYW1zLCBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleSk7XG5cbiAgcmV0dXJuIGFkZHJlc3MgPT09IGV4cGVjdGVkQWRkcmVzcztcbn1cbiJdfQ==
|
|
@@ -23,7 +23,7 @@ export declare class EcdsaUtils extends BaseEcdsaUtils {
|
|
|
23
23
|
encryptionVersion?: EncryptionVersion;
|
|
24
24
|
}): Promise<KeychainsTriplet>;
|
|
25
25
|
createBackupKeyShares(): Promise<BackupKeyShare>;
|
|
26
|
-
createUserKeychain({ userGpgKey, backupGpgKey, bitgoPublicGpgKey, userKeyShare, backupKeyShare, bitgoKeychain, passphrase, originalPasscodeEncryptionCode, webauthnInfo, encryptionVersion, }: CreateEcdsaKeychainParams): Promise<Keychain>;
|
|
26
|
+
createUserKeychain({ userGpgKey, backupGpgKey, bitgoPublicGpgKey, userKeyShare, backupKeyShare, bitgoKeychain, passphrase, originalPasscodeEncryptionCode, webauthnInfo, encryptionVersion, enterprise, }: CreateEcdsaKeychainParams): Promise<Keychain>;
|
|
27
27
|
createBackupKeychain({ userGpgKey, userKeyShare, backupGpgKey, backupKeyShare, bitgoKeychain, bitgoPublicGpgKey, passphrase, encryptionVersion, }: CreateEcdsaKeychainParams): Promise<Keychain>;
|
|
28
28
|
/** @inheritdoc */
|
|
29
29
|
createBitgoKeychain({ userGpgKey, backupGpgKey, userKeyShare, backupKeyShare, enterprise, bitgoPublicGpgKey, }: CreateEcdsaBitGoKeychainParams): Promise<Keychain>;
|
|
@@ -38,7 +38,7 @@ export declare class EcdsaUtils extends BaseEcdsaUtils {
|
|
|
38
38
|
*/
|
|
39
39
|
getBackupEncryptedNShare(backupShare: BackupKeyShare, recipientIndex: number, recipientGpgPublicArmor: string, backupGpgKey: SerializedKeyPair<string>): Promise<EncryptedNShare>;
|
|
40
40
|
/** @inheritdoc */
|
|
41
|
-
createParticipantKeychain(userGpgKey: openpgp.SerializedKeyPair<string>, userLocalBackupGpgKey: openpgp.SerializedKeyPair<string>, bitgoPublicGpgKey: Key, recipientIndex: number, userKeyShare: KeyShare, backupKeyShare: KeyShare, bitgoKeychain: Keychain, passphrase: string, originalPasscodeEncryptionCode?: string, webauthnInfo?: WebauthnKeyEncryptionInfo, encryptionVersion?: EncryptionVersion): Promise<Keychain>;
|
|
41
|
+
createParticipantKeychain(userGpgKey: openpgp.SerializedKeyPair<string>, userLocalBackupGpgKey: openpgp.SerializedKeyPair<string>, bitgoPublicGpgKey: Key, recipientIndex: number, userKeyShare: KeyShare, backupKeyShare: KeyShare, bitgoKeychain: Keychain, passphrase: string, originalPasscodeEncryptionCode?: string, webauthnInfo?: WebauthnKeyEncryptionInfo, encryptionVersion?: EncryptionVersion, enterprise?: string): Promise<Keychain>;
|
|
42
42
|
private createTssEcdsaStep1SigningMaterial;
|
|
43
43
|
private createTssEcdsaStep2SigningMaterial;
|
|
44
44
|
getOfflineSignerPaillierModulus(params: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/ecdsa/ecdsa.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,EAAuC,UAAU,EAAoC,MAAM,oBAAoB,CAAC;AAIvH,OAAO,EAAsB,QAAQ,EAAW,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAErG,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,oBAAoB,EACpB,8BAA8B,EAC9B,yBAAyB,EAEzB,qBAAqB,EACrB,QAAQ,EACT,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,8BAA8B,EAC9B,oCAAoC,EACpC,mCAAmC,EACnC,8BAA8B,EAC9B,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,0BAA0B,EAE1B,6BAA6B,EAE7B,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAiB,MAAM,EAAkB,MAAM,0BAA0B,CAAC;AAElH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAK/C,OAAO,EAEL,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIpE,kBAAkB;AAClB,qBAAa,UAAW,SAAQ,cAAc;IACtC,+BAA+B,CACnC,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,QAAQ,EACtB,aAAa,EAAE,QAAQ,EACvB,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,EACrC,4BAA4B,EAAE,GAAG,GAChC,OAAO,CAAC,uBAAuB,CAAC;IA0CnC,kBAAkB;IACZ,eAAe,CAAC,MAAM,EAAE;QAC5B,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,8BAA8B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpD,YAAY,CAAC,EAAE,yBAAyB,CAAC;QACzC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;KACvC,GAAG,OAAO,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../../../../src/bitgo/utils/tss/ecdsa/ecdsa.ts"],"names":[],"mappings":"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"}
|