@bitgo/abstract-utxo 10.18.0 → 10.19.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/cjs/src/abstractUtxoCoin.d.ts +2 -1
- package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/cjs/src/abstractUtxoCoin.js +7 -19
- package/dist/cjs/src/descriptor/createWallet/createDescriptorWallet.js +4 -4
- package/dist/cjs/src/impl/btc/inscriptionBuilder.d.ts.map +1 -1
- package/dist/cjs/src/impl/btc/inscriptionBuilder.js +3 -3
- package/dist/cjs/src/keychains.d.ts +3 -4
- package/dist/cjs/src/keychains.d.ts.map +1 -1
- package/dist/cjs/src/keychains.js +3 -4
- package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.d.ts +2 -2
- package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.d.ts.map +1 -1
- package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.js +6 -7
- package/dist/cjs/src/offlineVault/OfflineVaultSignable.d.ts +2 -2
- package/dist/cjs/src/offlineVault/OfflineVaultSignable.d.ts.map +1 -1
- package/dist/cjs/src/offlineVault/OfflineVaultSignable.js +3 -3
- package/dist/cjs/src/offlineVault/descriptor/transaction.d.ts +2 -3
- package/dist/cjs/src/offlineVault/descriptor/transaction.d.ts.map +1 -1
- package/dist/cjs/src/offlineVault/descriptor/transaction.js +1 -1
- package/dist/cjs/src/recovery/crossChainRecovery.d.ts.map +1 -1
- package/dist/cjs/src/recovery/crossChainRecovery.js +2 -3
- package/dist/cjs/src/transaction/bip322.d.ts.map +1 -1
- package/dist/cjs/src/transaction/bip322.js +2 -3
- package/dist/cjs/src/transaction/explainTransaction.d.ts +2 -1
- package/dist/cjs/src/transaction/explainTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/explainTransaction.js +3 -2
- package/dist/cjs/src/transaction/fixedScript/SigningError.d.ts +3 -5
- package/dist/cjs/src/transaction/fixedScript/SigningError.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/SigningError.js +3 -5
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts +2 -2
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.js +2 -2
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.js +10 -6
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.js +24 -37
- package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts +2 -1
- package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/replayProtection.js +3 -5
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts +2 -2
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.js +6 -5
- package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.d.ts +2 -3
- package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.js +1 -1
- package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts +3 -4
- package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.js +3 -3
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts +5 -6
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/signTransaction.js +4 -40
- package/dist/cjs/src/transaction/recipient.d.ts.map +1 -1
- package/dist/cjs/src/transaction/recipient.js +6 -41
- package/dist/cjs/src/transaction/signTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/signTransaction.js +3 -4
- package/dist/cjs/src/unspent.d.ts +2 -2
- package/dist/cjs/src/unspent.d.ts.map +1 -1
- package/dist/cjs/src/unspent.js +1 -1
- package/dist/cjs/src/verifyKey.d.ts +0 -8
- package/dist/cjs/src/verifyKey.d.ts.map +1 -1
- package/dist/cjs/src/verifyKey.js +6 -62
- package/dist/cjs/src/wasmUtil.d.ts +7 -2
- package/dist/cjs/src/wasmUtil.d.ts.map +1 -1
- package/dist/cjs/src/wasmUtil.js +9 -1
- package/dist/cjs/test/unit/coins.js +2 -2
- package/dist/cjs/test/unit/customChangeWallet.js +172 -111
- package/dist/cjs/test/unit/customChangeWalletFixtures.d.ts +2 -0
- package/dist/cjs/test/unit/customChangeWalletFixtures.d.ts.map +1 -0
- package/dist/cjs/test/unit/customChangeWalletFixtures.js +53 -0
- package/dist/cjs/test/unit/postProcessPrebuild.js +2 -2
- package/dist/cjs/test/unit/recovery/backupKeyRecovery.js +7 -3
- package/dist/cjs/test/unit/recovery/crossChainRecovery.js +2 -2
- package/dist/cjs/test/unit/transaction/fixedScript/signPsbt.js +2 -2
- package/dist/cjs/test/unit/txFormat.js +4 -32
- package/dist/cjs/test/unit/util/address.d.ts +1 -1
- package/dist/cjs/test/unit/util/transaction.d.ts +1 -1
- package/dist/cjs/test/unit/util/transaction.d.ts.map +1 -1
- package/dist/cjs/test/unit/util/transaction.js +9 -5
- package/dist/cjs/test/unit/util/unspents.d.ts.map +1 -1
- package/dist/cjs/test/unit/util/unspents.js +3 -2
- package/dist/cjs/test/unit/util/utxoCoins.d.ts +9 -0
- package/dist/cjs/test/unit/util/utxoCoins.d.ts.map +1 -1
- package/dist/cjs/test/unit/util/utxoCoins.js +52 -3
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/abstractUtxoCoin.d.ts +2 -1
- package/dist/esm/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/esm/abstractUtxoCoin.js +8 -20
- package/dist/esm/descriptor/createWallet/createDescriptorWallet.js +4 -4
- package/dist/esm/impl/btc/inscriptionBuilder.d.ts.map +1 -1
- package/dist/esm/impl/btc/inscriptionBuilder.js +4 -4
- package/dist/esm/keychains.d.ts +3 -4
- package/dist/esm/keychains.d.ts.map +1 -1
- package/dist/esm/keychains.js +4 -5
- package/dist/esm/offlineVault/OfflineVaultHalfSigned.d.ts +2 -2
- package/dist/esm/offlineVault/OfflineVaultHalfSigned.d.ts.map +1 -1
- package/dist/esm/offlineVault/OfflineVaultHalfSigned.js +6 -7
- package/dist/esm/offlineVault/OfflineVaultSignable.d.ts +2 -2
- package/dist/esm/offlineVault/OfflineVaultSignable.d.ts.map +1 -1
- package/dist/esm/offlineVault/OfflineVaultSignable.js +3 -3
- package/dist/esm/offlineVault/descriptor/transaction.d.ts +2 -3
- package/dist/esm/offlineVault/descriptor/transaction.d.ts.map +1 -1
- package/dist/esm/offlineVault/descriptor/transaction.js +1 -1
- package/dist/esm/recovery/crossChainRecovery.d.ts.map +1 -1
- package/dist/esm/recovery/crossChainRecovery.js +3 -4
- package/dist/esm/transaction/bip322.d.ts.map +1 -1
- package/dist/esm/transaction/bip322.js +3 -4
- package/dist/esm/transaction/explainTransaction.d.ts +2 -1
- package/dist/esm/transaction/explainTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/explainTransaction.js +3 -2
- package/dist/esm/transaction/fixedScript/SigningError.d.ts +3 -5
- package/dist/esm/transaction/fixedScript/SigningError.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/SigningError.js +3 -5
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts +2 -2
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.js +2 -2
- package/dist/esm/transaction/fixedScript/explainTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/explainTransaction.js +10 -6
- package/dist/esm/transaction/fixedScript/parseTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/parseTransaction.js +25 -5
- package/dist/esm/transaction/fixedScript/replayProtection.d.ts +2 -1
- package/dist/esm/transaction/fixedScript/replayProtection.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/replayProtection.js +4 -6
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts +2 -2
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.js +6 -5
- package/dist/esm/transaction/fixedScript/signPsbtUtxolib.d.ts +2 -3
- package/dist/esm/transaction/fixedScript/signPsbtUtxolib.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/signPsbtUtxolib.js +1 -1
- package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts +3 -4
- package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/signPsbtWasm.js +3 -3
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts +5 -6
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/signTransaction.js +5 -8
- package/dist/esm/transaction/recipient.d.ts.map +1 -1
- package/dist/esm/transaction/recipient.js +6 -8
- package/dist/esm/transaction/signTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/signTransaction.js +3 -4
- package/dist/esm/unspent.d.ts +2 -2
- package/dist/esm/unspent.d.ts.map +1 -1
- package/dist/esm/unspent.js +1 -1
- package/dist/esm/verifyKey.d.ts +0 -8
- package/dist/esm/verifyKey.d.ts.map +1 -1
- package/dist/esm/verifyKey.js +6 -29
- package/dist/esm/wasmUtil.d.ts +7 -2
- package/dist/esm/wasmUtil.d.ts.map +1 -1
- package/dist/esm/wasmUtil.js +8 -1
- package/package.json +9 -11
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import assert from 'assert';
|
|
2
2
|
import { BaseCoin, KeyIndices, xprvToRawPrv, } from '@bitgo/sdk-core';
|
|
3
|
-
import { bip32 } from '@bitgo/secp256k1';
|
|
4
3
|
import { createPsbtForSingleInscriptionPassingTransaction, DefaultInscriptionConstraints, inscriptions, parseSatPoint, isSatPoint, ErrorNoLayout, findOutputLayoutForWalletUnspents, MAX_UNSPENTS_FOR_OUTPUT_LAYOUT, } from '@bitgo/utxo-ord';
|
|
5
|
-
import { fixedScriptWallet } from '@bitgo/wasm-utxo';
|
|
4
|
+
import { BIP32, fixedScriptWallet } from '@bitgo/wasm-utxo';
|
|
6
5
|
import { fetchKeychains } from '../../keychains';
|
|
6
|
+
import { toUtxolibBIP32 } from '../../wasmUtil';
|
|
7
7
|
const SUPPLEMENTARY_UNSPENTS_MIN_VALUE_SATS = [0, 20000, 200000];
|
|
8
8
|
export class InscriptionBuilder {
|
|
9
9
|
constructor(wallet, coin) {
|
|
@@ -13,7 +13,7 @@ export class InscriptionBuilder {
|
|
|
13
13
|
async prepareReveal(inscriptionData, contentType) {
|
|
14
14
|
const user = await this.wallet.baseCoin.keychains().get({ id: this.wallet.keyIds()[KeyIndices.USER] });
|
|
15
15
|
assert(user.pub);
|
|
16
|
-
const userKey =
|
|
16
|
+
const userKey = toUtxolibBIP32(BIP32.fromBase58(user.pub));
|
|
17
17
|
const { key: derivedKey } = BaseCoin.deriveKeyWithSeedBip32(userKey, inscriptionData.toString());
|
|
18
18
|
const result = inscriptions.createInscriptionRevealData(derivedKey.publicKey, contentType, inscriptionData, this.coin.name);
|
|
19
19
|
// Convert TapLeafScript to utxolib format for backwards compatibility
|
|
@@ -161,4 +161,4 @@ export class InscriptionBuilder {
|
|
|
161
161
|
return this.wallet.submitTransaction({ halfSigned });
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zY3JpcHRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltcGwvYnRjL2luc2NyaXB0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUNMLFFBQVEsRUFJUixVQUFVLEVBS1YsWUFBWSxHQUNiLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFDTCxnREFBZ0QsRUFDaEQsNkJBQTZCLEVBRTdCLFlBQVksRUFDWixhQUFhLEVBQ2IsVUFBVSxFQUNWLGFBQWEsRUFDYixpQ0FBaUMsRUFDakMsOEJBQThCLEdBSS9CLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBYWpELE1BQU0scUNBQXFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBTSxFQUFFLE1BQU8sQ0FBQyxDQUFDO0FBRW5FLE1BQU0sT0FBTyxrQkFBa0I7SUFJN0IsWUFBWSxNQUFlLEVBQUUsSUFBc0I7UUFDakQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhLENBQUMsZUFBdUIsRUFBRSxXQUFtQjtRQUM5RCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFD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SUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9HLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFFakYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQThCLENBQUM7UUFDekcsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCB7XG4gIEJhc2VDb2luLFxuICBIYWxmU2lnbmVkVXR4b1RyYW5zYWN0aW9uLFxuICBJSW5zY3JpcHRpb25CdWlsZGVyLFxuICBJV2FsbGV0LFxuICBLZXlJbmRpY2VzLFxuICBQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0LFxuICBQcmVwYXJlZEluc2NyaXB0aW9uUmV2ZWFsRGF0YSxcbiAgU3VibWl0VHJhbnNhY3Rpb25SZXNwb25zZSxcbiAgVHJpcGxlLFxuICB4cHJ2VG9SYXdQcnYsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBiaXAzMiB9IGZyb20gJ0BiaXRnby9zZWNwMjU2azEnO1xuaW1wb3J0IHtcbiAgY3JlYXRlUHNidEZvclNpbmdsZUluc2NyaXB0aW9uUGFzc2luZ1RyYW5zYWN0aW9uLFxuICBEZWZhdWx0SW5zY3JpcHRpb25Db25zdHJhaW50cyxcbiAgSW5zY3JpcHRpb25PdXRwdXRzLFxuICBpbnNjcmlwdGlvbnMsXG4gIHBhcnNlU2F0UG9pbnQsXG4gIGlzU2F0UG9pbnQsXG4gIEVycm9yTm9MYXlvdXQsXG4gIGZpbmRPdXRwdXRMYXlvdXRGb3JXYWxsZXRVbnNwZW50cyxcbiAgTUFYX1VOU1BFTlRTX0ZPUl9PVVRQVVRfTEFZT1VULFxuICBTYXRQb2ludCxcbiAgV2FsbGV0VW5zcGVudCxcbiAgdHlwZSBUYXBMZWFmU2NyaXB0LFxufSBmcm9tICdAYml0Z28vdXR4by1vcmQnO1xuaW1wb3J0IHsgZml4ZWRTY3JpcHRXYWxsZXQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcblxuaW1wb3J0IHsgQWJzdHJhY3RVdHhvQ29pbiB9IGZyb20gJy4uLy4uL2Fic3RyYWN0VXR4b0NvaW4nO1xuaW1wb3J0IHsgZmV0Y2hLZXljaGFpbnMgfSBmcm9tICcuLi8uLi9rZXljaGFpbnMnO1xuXG4vKiogS2V5IGlkZW50aWZpZXIgZm9yIHNpZ25pbmcgKi9cbnR5cGUgU2lnbmVyS2V5ID0gJ3VzZXInIHwgJ2JhY2t1cCcgfCAnYml0Z28nO1xuXG4vKiogVW5zcGVudCBmcm9tIHdhbGxldCBBUEkgKHZhbHVlIG1heSBiZSBudW1iZXIgb3IgYmlnaW50KSAqL1xudHlwZSBXYWxsZXRVbnNwZW50TGlrZSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgdmFsdWU6IG51bWJlciB8IGJpZ2ludDtcbiAgY2hhaW46IG51bWJlcjtcbiAgaW5kZXg6IG51bWJlcjtcbn07XG5cbmNvbnN0IFNVUFBMRU1FTlRBUllfVU5TUEVOVFNfTUlOX1ZBTFVFX1NBVFMgPSBbMCwgMjBfMDAwLCAyMDBfMDAwXTtcblxuZXhwb3J0IGNsYXNzIEluc2NyaXB0aW9uQnVpbGRlciBpbXBsZW1lbnRzIElJbnNjcmlwdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHdhbGxldDogSVdhbGxldDtcbiAgcHJpdmF0ZSByZWFkb25seSBjb2luOiBBYnN0cmFjdFV0eG9Db2luO1xuXG4gIGNvbnN0cnVjdG9yKHdhbGxldDogSVdhbGxldCwgY29pbjogQWJzdHJhY3RVdHhvQ29pbikge1xuICAgIHRoaXMud2FsbGV0ID0gd2FsbGV0O1xuICAgIHRoaXMuY29pbiA9IGNvaW47XG4gIH1cblxuICBhc3luYyBwcmVwYXJlUmV2ZWFsKGluc2NyaXB0aW9uRGF0YTogQnVmZmVyLCBjb250ZW50VHlwZTogc3RyaW5nKTogUHJvbWlzZTxQcmVwYXJlZEluc2NyaXB0aW9uUmV2ZWFsRGF0YT4ge1xuICAgIGNvbnN0IHVzZXIgPSBhd2FpdCB0aGlzLndhbGxldC5iYXNlQ29pbi5rZXljaGFpbnMoKS5nZXQoeyBpZDogdGhpcy53YWxsZXQua2V5SWRzKClbS2V5SW5kaWNlcy5VU0VSXSB9KTtcbiAgICBhc3NlcnQodXNlci5wdWIpO1xuXG4gICAgY29uc3QgdXNlcktleSA9IGJpcDMyLmZyb21CYXNlNTgodXNlci5wdWIpO1xuICAgIGNvbnN0IHsga2V5OiBkZXJpdmVkS2V5IH0gPSBCYXNlQ29pbi5kZXJpdmVLZXlXaXRoU2VlZEJpcDMyKHVzZXJLZXksIGluc2NyaXB0aW9uRGF0YS50b1N0cmluZygpKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGluc2NyaXB0aW9ucy5jcmVhdGVJbnNjcmlwdGlvblJldmVhbERhdGEoXG4gICAgICBkZXJpdmVkS2V5LnB1YmxpY0tleSxcbiAgICAgIGNvbnRlbnRUeXBlLFxuICAgICAgaW5zY3JpcHRpb25EYXRhLFxuICAgICAgdGhpcy5jb2luLm5hbWVcbiAgICApO1xuXG4gICAgLy8gQ29udmVydCBUYXBMZWFmU2NyaXB0IHRvIHV0eG9saWIgZm9ybWF0IGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgIHJldHVybiB7XG4gICAgICBhZGRyZXNzOiByZXN1bHQuYWRkcmVzcyxcbiAgICAgIHJldmVhbFRyYW5zYWN0aW9uVlNpemU6IHJlc3VsdC5yZXZlYWxUcmFuc2FjdGlvblZTaXplLFxuICAgICAgdGFwTGVhZlNjcmlwdDoge1xuICAgICAgICBjb250cm9sQmxvY2s6IEJ1ZmZlci5mcm9tKHJlc3VsdC50YXBMZWFmU2NyaXB0LmNvbnRyb2xCbG9jayksXG4gICAgICAgIHNjcmlwdDogQnVmZmVyLmZyb20ocmVzdWx0LnRhcExlYWZTY3JpcHQuc2NyaXB0KSxcbiAgICAgICAgbGVhZlZlcnNpb246IHJlc3VsdC50YXBMZWFmU2NyaXB0LmxlYWZWZXJzaW9uLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwcmVwYXJlVHJhbnNmZXJXaXRoRXh0cmFJbnB1dHMoXG4gICAgc2F0UG9pbnQ6IFNhdFBvaW50LFxuICAgIGZlZVJhdGVTYXRLQjogbnVtYmVyLFxuICAgIHtcbiAgICAgIHNpZ25lcixcbiAgICAgIGNvc2lnbmVyLFxuICAgICAgaW5zY3JpcHRpb25Db25zdHJhaW50cyxcbiAgICAgIHR4Rm9ybWF0LFxuICAgIH06IHtcbiAgICAgIHNpZ25lcjogU2lnbmVyS2V5O1xuICAgICAgY29zaWduZXI6IFNpZ25lcktleTtcbiAgICAgIGluc2NyaXB0aW9uQ29uc3RyYWludHM6IHtcbiAgICAgICAgbWluQ2hhbmdlT3V0cHV0PzogYmlnaW50O1xuICAgICAgICBtaW5JbnNjcmlwdGlvbk91dHB1dD86IGJpZ2ludDtcbiAgICAgICAgbWF4SW5zY3JpcHRpb25PdXRwdXQ/OiBiaWdpbnQ7XG4gICAgICB9O1xuICAgICAgdHhGb3JtYXQ/OiAncHNidCcgfCAnbGVnYWN5JztcbiAgICB9LFxuICAgIHdhbGxldFhwdWJzOiBUcmlwbGU8c3RyaW5nPixcbiAgICBvdXRwdXRzOiBJbnNjcmlwdGlvbk91dHB1dHMsXG4gICAgaW5zY3JpcHRpb25VbnNwZW50czogV2FsbGV0VW5zcGVudFtdLFxuICAgIHN1cHBsZW1lbnRhcnlVbnNwZW50c01pblZhbHVlOiBudW1iZXJcbiAgKTogUHJvbWlzZTxQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0PiB7XG4gICAgbGV0IHN1cHBsZW1lbnRhcnlVbnNwZW50czogV2FsbGV0VW5zcGVudFtdID0gW107XG4gICAgaWYgKHN1cHBsZW1lbnRhcnlVbnNwZW50c01pblZhbHVlID4gMCkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLndhbGxldC51bnNwZW50cyh7XG4gICAgICAgIG1pblZhbHVlOiBzdXBwbGVtZW50YXJ5VW5zcGVudHNNaW5WYWx1ZSxcbiAgICAgIH0pO1xuICAgICAgLy8gRmlsdGVyIG91dCB0aGUgaW5zY3JpcHRpb24gdW5zcGVudCBmcm9tIHRoZSBzdXBwbGVtZW50YXJ5IHVuc3BlbnRzXG4gICAgICBzdXBwbGVtZW50YXJ5VW5zcGVudHMgPSByZXNwb25zZS51bnNwZW50c1xuICAgICAgICAuZmlsdGVyKCh1bnNwZW50OiB7IGlkOiBzdHJpbmcgfSkgPT4gdW5zcGVudC5pZCAhPT0gaW5zY3JpcHRpb25VbnNwZW50c1swXS5pZClcbiAgICAgICAgLnNsaWNlKDAsIE1BWF9VTlNQRU5UU19GT1JfT1VUUFVUX0xBWU9VVCAtIDEpXG4gICAgICAgIC5tYXAoXG4gICAgICAgICAgKHVuc3BlbnQ6IFdhbGxldFVuc3BlbnRMaWtlKTogV2FsbGV0VW5zcGVudCA9PiAoe1xuICAgICAgICAgICAgaWQ6IHVuc3BlbnQuaWQsXG4gICAgICAgICAgICB2YWx1ZTogQmlnSW50KHVuc3BlbnQudmFsdWUpLFxuICAgICAgICAgICAgY2hhaW46IHVuc3BlbnQuY2hhaW4sXG4gICAgICAgICAgICBpbmRleDogdW5zcGVudC5pbmRleCxcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHBzYnQgPSBjcmVhdGVQc2J0Rm9yU2luZ2xlSW5zY3JpcHRpb25QYXNzaW5nVHJhbnNhY3Rpb24oXG4gICAgICB0aGlzLmNvaW4ubmFtZSxcbiAgICAgIHtcbiAgICAgICAgd2FsbGV0S2V5czogd2FsbGV0WHB1YnMsXG4gICAgICAgIHNpZ25lcixcbiAgICAgICAgY29zaWduZXIsXG4gICAgICB9LFxuICAgICAgaW5zY3JpcHRpb25VbnNwZW50cyxcbiAgICAgIHNhdFBvaW50LFxuICAgICAgb3V0cHV0cyxcbiAgICAgIHsgZmVlUmF0ZVNhdEtCLCAuLi5pbnNjcmlwdGlvbkNvbnN0cmFpbnRzIH0sXG4gICAgICB7IHN1cHBsZW1lbnRhcnlVbnNwZW50cyB9XG4gICAgKTtcbiAgICBpZiAoIXBzYnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmVlIHRvbyBoaWdoIGZvciB0aGUgc2VsZWN0ZWQgdW5zcGVudCB3aXRoIHRoaXMgZmVlIHJhdGUnKTtcbiAgICB9XG5cbiAgICBjb25zdCBhbGxVbnNwZW50cyA9IFsuLi5pbnNjcmlwdGlvblVuc3BlbnRzLCAuLi5zdXBwbGVtZW50YXJ5VW5zcGVudHNdO1xuXG4gICAgLy8gVE9ETzogUmVtb3ZlIHRoZSBjYWxsIHRvIHRoaXMgZnVuY3Rpb24gYmVjYXVzZSBpdCdzIGFscmVhZHkgY2FsbGVkIGluc2lkZSB0aGUgY3JlYXRlUHNidCBmdW5jdGlvbiBhYm92ZS5cbiAgICAvLyBDcmVhdGUgJiB1c2UgYSBnZXRGZWUgZnVuY3Rpb24gaW5zaWRlIHRoZSBjcmVhdGVkIFBTQlQgaW5zdGVhZCwgbGFjayBvZiB3aGljaCBuZWNlc3NpdGF0ZXMgYSBkdXBsaWNhdGUgY2FsbCBoZXJlLlxuICAgIGNvbnN0IG91dHB1dExheW91dCA9IGZpbmRPdXRwdXRMYXlvdXRGb3JXYWxsZXRVbnNwZW50cyhhbGxVbnNwZW50cywgc2F0UG9pbnQsIG91dHB1dHMsIHtcbiAgICAgIGZlZVJhdGVTYXRLQixcbiAgICAgIC4uLmluc2NyaXB0aW9uQ29uc3RyYWludHMsXG4gICAgfSk7XG4gICAgaWYgKCFvdXRwdXRMYXlvdXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmVlIHRvbyBoaWdoIGZvciB0aGUgc2VsZWN0ZWQgdW5zcGVudCB3aXRoIHRoaXMgZmVlIHJhdGUnKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHdhbGxldElkOiB0aGlzLndhbGxldC5pZCgpLFxuICAgICAgdHhIZXg6IEJ1ZmZlci5mcm9tKHBzYnQuc2VyaWFsaXplKCkpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIHR4SW5mbzogeyB1bnNwZW50czogYWxsVW5zcGVudHMgfSxcbiAgICAgIGZlZUluZm86IHsgZmVlOiBOdW1iZXIob3V0cHV0TGF5b3V0LmxheW91dC5mZWVPdXRwdXQpLCBmZWVTdHJpbmc6IG91dHB1dExheW91dC5sYXlvdXQuZmVlT3V0cHV0LnRvU3RyaW5nKCkgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgdHJhbnNhY3Rpb24gdG8gc2VuZCBhbiBpbnNjcmlwdGlvblxuICAgKiBAcGFyYW0gc2F0UG9pbnQgU2F0cG9pbnQgeW91IHdhbnQgdG8gc2VuZFxuICAgKiBAcGFyYW0gcmVjaXBpZW50IEFkZHJlc3MgeW91IHdhbnQgdG8gc2VuZCB0b1xuICAgKiBAcGFyYW0gZmVlUmF0ZVNhdEtCIEZlZSByYXRlIGZvciB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0gc2lnbmVyIGZpcnN0IHNpZ25lciBvZiB0aGUgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIGNvc2lnbmVyIHNlY29uZCBzaWduZXIgb2YgdGhlIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzLm1pbkNoYW5nZU91dHB1dCAob3B0aW9uYWwpIHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIGNoYW5nZSBvdXRwdXRcbiAgICogQHBhcmFtIGluc2NyaXB0aW9uQ29uc3RyYWludHMubWluSW5zY3JpcHRpb25PdXRwdXQgKG9wdGlvbmFsKSB0aGUgbWluaW11bSBudW1iZXIgb2Ygc2F0cyBvZiB0aGUgb3V0cHV0IGNvbnRhaW5pbmcgdGhlIGluc2NyaXB0aW9uXG4gICAqIEBwYXJhbSBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzLm1heEluc2NyaXB0aW9uT3V0cHV0IChvcHRpb25hbCkgdGhlIG1heGltdW0gbnVtYmVyIG9mIHNhdHMgb2YgdGhlIG91dHB1dCBjb250YWluaW5nIHRoZSBpbnNjcmlwdGlvblxuICAgKiBAcGFyYW0gY2hhbmdlQWRkcmVzc1R5cGUgQWRkcmVzcyB0eXBlIG9mIHRoZSBjaGFuZ2UgYWRkcmVzc1xuICAgKi9cbiAgYXN5bmMgcHJlcGFyZVRyYW5zZmVyKFxuICAgIHNhdFBvaW50OiBzdHJpbmcsXG4gICAgcmVjaXBpZW50OiBzdHJpbmcsXG4gICAgZmVlUmF0ZVNhdEtCOiBudW1iZXIsXG4gICAge1xuICAgICAgc2lnbmVyID0gJ3VzZXInLFxuICAgICAgY29zaWduZXIgPSAnYml0Z28nLFxuICAgICAgaW5zY3JpcHRpb25Db25zdHJhaW50cyA9IERlZmF1bHRJbnNjcmlwdGlvbkNvbnN0cmFpbnRzLFxuICAgICAgY2hhbmdlQWRkcmVzc1R5cGUgPSAncDJ3c2gnLFxuICAgICAgdHhGb3JtYXQgPSAncHNidCcsXG4gICAgfToge1xuICAgICAgc2lnbmVyPzogU2lnbmVyS2V5O1xuICAgICAgY29zaWduZXI/OiBTaWduZXJLZXk7XG4gICAgICBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzPzoge1xuICAgICAgICBtaW5DaGFuZ2VPdXRwdXQ/OiBiaWdpbnQ7XG4gICAgICAgIG1pbkluc2NyaXB0aW9uT3V0cHV0PzogYmlnaW50O1xuICAgICAgICBtYXhJbnNjcmlwdGlvbk91dHB1dD86IGJpZ2ludDtcbiAgICAgIH07XG4gICAgICBjaGFuZ2VBZGRyZXNzVHlwZT86ICdwMnNoJyB8ICdwMnNoUDJ3c2gnIHwgJ3Ayd3NoJyB8ICdwMnRyJyB8ICdwMnRyTXVzaWcyJztcbiAgICAgIHR4Rm9ybWF0PzogJ3BzYnQnIHwgJ2xlZ2FjeSc7XG4gICAgfVxuICApOiBQcm9taXNlPFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQ+IHtcbiAgICBhc3NlcnQoaXNTYXRQb2ludChzYXRQb2ludCkpO1xuXG4gICAgY29uc3Qga2V5Y2hhaW5zID0gYXdhaXQgZmV0Y2hLZXljaGFpbnModGhpcy5jb2luLCB0aGlzLndhbGxldCk7XG4gICAgY29uc3Qgd2FsbGV0WHB1YnM6IFRyaXBsZTxzdHJpbmc+ID0gW2tleWNoYWlucy51c2VyLnB1Yiwga2V5Y2hhaW5zLmJhY2t1cC5wdWIsIGtleWNoYWlucy5iaXRnby5wdWJdO1xuICAgIGNvbnN0IHBhcnNlZFNhdFBvaW50ID0gcGFyc2VTYXRQb2ludChzYXRQb2ludCk7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSBhd2FpdCB0aGlzLndhbGxldC5nZXRUcmFuc2FjdGlvbih7IHR4SGFzaDogcGFyc2VkU2F0UG9pbnQudHhpZCB9KTtcbiAgICBjb25zdCBvdXRwdXQgPSB0cmFuc2FjdGlvbi5vdXRwdXRzW3BhcnNlZFNhdFBvaW50LnZvdXRdO1xuICAgIGNvbnN0IHVuc3BlbnRzOiBXYWxsZXRVbnNwZW50W10gPSBbXG4gICAgICB7XG4gICAgICAgIGlkOiBgJHtwYXJzZWRTYXRQb2ludC50eGlkfToke3BhcnNlZFNhdFBvaW50LnZvdXR9YCxcbiAgICAgICAgdmFsdWU6IEJpZ0ludChvdXRwdXQudmFsdWUpLFxuICAgICAgICBjaGFpbjogb3V0cHV0LmNoYWluLFxuICAgICAgICBpbmRleDogb3V0cHV0LmluZGV4LFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgY29uc3QgY2hhbmdlQ2hhaW4gPSBmaXhlZFNjcmlwdFdhbGxldC5DaGFpbkNvZGUudmFsdWUoY2hhbmdlQWRkcmVzc1R5cGUsICdpbnRlcm5hbCcpO1xuXG4gICAgY29uc3QgY2hhbmdlQWRkcmVzcyA9IGF3YWl0IHRoaXMud2FsbGV0LmNyZWF0ZUFkZHJlc3Moe1xuICAgICAgY2hhaW46IGNoYW5nZUNoYWluLFxuICAgIH0pO1xuICAgIGNvbnN0IG91dHB1dHM6IEluc2NyaXB0aW9uT3V0cHV0cyA9IHtcbiAgICAgIGluc2NyaXB0aW9uUmVjaXBpZW50OiByZWNpcGllbnQsXG4gICAgICBjaGFuZ2VPdXRwdXRzOiBbXG4gICAgICAgIHsgY2hhaW46IGNoYW5nZUFkZHJlc3MuY2hhaW4sIGluZGV4OiBjaGFuZ2VBZGRyZXNzLmluZGV4IH0sXG4gICAgICAgIHsgY2hhaW46IGNoYW5nZUFkZHJlc3MuY2hhaW4sIGluZGV4OiBjaGFuZ2VBZGRyZXNzLmluZGV4IH0sXG4gICAgICBdLFxuICAgIH07XG5cbiAgICBmb3IgKGNvbnN0IHN1cHBsZW1lbnRhcnlVbnNwZW50c01pblZhbHVlIG9mIFNVUFBMRU1FTlRBUllfVU5TUEVOVFNfTUlOX1ZBTFVFX1NBVFMpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnByZXBhcmVUcmFuc2ZlcldpdGhFeHRyYUlucHV0cyhcbiAgICAgICAgICBzYXRQb2ludCxcbiAgICAgICAgICBmZWVSYXRlU2F0S0IsXG4gICAgICAgICAgeyBzaWduZXIsIGNvc2lnbmVyLCBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzLCB0eEZvcm1hdCB9LFxuICAgICAgICAgIHdhbGxldFhwdWJzLFxuICAgICAgICAgIG91dHB1dHMsXG4gICAgICAgICAgdW5zcGVudHMsXG4gICAgICAgICAgc3VwcGxlbWVudGFyeVVuc3BlbnRzTWluVmFsdWVcbiAgICAgICAgKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmICghKGVycm9yIGluc3RhbmNlb2YgRXJyb3JOb0xheW91dCkpIHtcbiAgICAgICAgICB0aHJvdyBlcnJvcjsgLy8gUHJvcGFnYXRlIGVycm9yIGlmIGl0J3Mgbm90IGFuIEVycm9yTm9MYXlvdXRcbiAgICAgICAgfSAvLyBPdGhlcndpc2UgY29udGludWUgdHJ5aW5nIHdpdGggaGlnaGVyIG1pblZhbHVlIGZvciBzdXBwbGVtZW50YXJ5IHVuc3BlbnRzXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdGZWUgdG9vIGhpZ2ggZm9yIHRoZSBzZWxlY3RlZCB1bnNwZW50IHdpdGggdGhpcyBmZWUgcmF0ZScpOyAvLyBFeGhhdXN0ZWQgYWxsIHRyaWVzIHRvIHN1cHBsZW1lbnRcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gd2FsbGV0UGFzc3BocmFzZVxuICAgKiBAcGFyYW0gdGFwTGVhZlNjcmlwdFxuICAgKiBAcGFyYW0gY29tbWl0QWRkcmVzc1xuICAgKiBAcGFyYW0gdW5zaWduZWRDb21taXRUeFxuICAgKiBAcGFyYW0gY29tbWl0VHJhbnNhY3Rpb25VbnNwZW50c1xuICAgKiBAcGFyYW0gcmVjaXBpZW50QWRkcmVzc1xuICAgKiBAcGFyYW0gaW5zY3JpcHRpb25EYXRhXG4gICAqL1xuICBhc3luYyBzaWduQW5kU2VuZFJldmVhbChcbiAgICB3YWxsZXRQYXNzcGhyYXNlOiBzdHJpbmcsXG4gICAgdGFwTGVhZlNjcmlwdDogVGFwTGVhZlNjcmlwdCxcbiAgICBjb21taXRBZGRyZXNzOiBzdHJpbmcsXG4gICAgdW5zaWduZWRDb21taXRUeDogQnVmZmVyLFxuICAgIGNvbW1pdFRyYW5zYWN0aW9uVW5zcGVudHM6IFdhbGxldFVuc3BlbnRMaWtlW10sXG4gICAgcmVjaXBpZW50QWRkcmVzczogc3RyaW5nLFxuICAgIGluc2NyaXB0aW9uRGF0YTogQnVmZmVyXG4gICk6IFByb21pc2U8U3VibWl0VHJhbnNhY3Rpb25SZXNwb25zZT4ge1xuICAgIGNvbnN0IHVzZXJLZXljaGFpbiA9IGF3YWl0IHRoaXMud2FsbGV0LmJhc2VDb2luLmtleWNoYWlucygpLmdldCh7IGlkOiB0aGlzLndhbGxldC5rZXlJZHMoKVtLZXlJbmRpY2VzLlVTRVJdIH0pO1xuICAgIGNvbnN0IHhwcnYgPSBhd2FpdCB0aGlzLndhbGxldC5nZXRVc2VyUHJ2KHsga2V5Y2hhaW46IHVzZXJLZXljaGFpbiwgd2FsbGV0UGFzc3BocmFzZSB9KTtcblxuICAgIGNvbnN0IGhhbGZTaWduZWRDb21taXRUcmFuc2FjdGlvbiA9IChhd2FpdCB0aGlzLndhbGxldC5zaWduVHJhbnNhY3Rpb24oe1xuICAgICAgcHJ2OiB4cHJ2LFxuICAgICAgdHhQcmVidWlsZDoge1xuICAgICAgICB0eEhleDogdW5zaWduZWRDb21taXRUeC50b1N0cmluZygnaGV4JyksXG4gICAgICAgIHR4SW5mbzogeyB1bnNwZW50czogY29tbWl0VHJhbnNhY3Rpb25VbnNwZW50cyB9LFxuICAgICAgfSxcbiAgICB9KSkgYXMgSGFsZlNpZ25lZFV0eG9UcmFuc2FjdGlvbjtcblxuICAgIGNvbnN0IGRlcml2ZWQgPSB0aGlzLmNvaW4uZGVyaXZlS2V5V2l0aFNlZWQoeyBrZXk6IHhwcnYsIHNlZWQ6IGluc2NyaXB0aW9uRGF0YS50b1N0cmluZygpIH0pO1xuICAgIGNvbnN0IHBydiA9IHhwcnZUb1Jhd1BydihkZXJpdmVkLmtleSk7XG5cbiAgICBjb25zdCBmdWxseVNpZ25lZFJldmVhbFRyYW5zYWN0aW9uID0gaW5zY3JpcHRpb25zLnNpZ25SZXZlYWxUcmFuc2FjdGlvbihcbiAgICAgIEJ1ZmZlci5mcm9tKHBydiwgJ2hleCcpLFxuICAgICAgdGFwTGVhZlNjcmlwdCxcbiAgICAgIGNvbW1pdEFkZHJlc3MsXG4gICAgICByZWNpcGllbnRBZGRyZXNzLFxuICAgICAgQnVmZmVyLmZyb20oaGFsZlNpZ25lZENvbW1pdFRyYW5zYWN0aW9uLnR4SGV4LCAnaGV4JyksXG4gICAgICB0aGlzLmNvaW4ubmFtZVxuICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy53YWxsZXQuc3VibWl0VHJhbnNhY3Rpb24oe1xuICAgICAgaGFsZlNpZ25lZDoge1xuICAgICAgICB0eEhleDogaGFsZlNpZ25lZENvbW1pdFRyYW5zYWN0aW9uLnR4SGV4LFxuICAgICAgICBzaWduZWRDaGlsZFBzYnQ6IEJ1ZmZlci5mcm9tKGZ1bGx5U2lnbmVkUmV2ZWFsVHJhbnNhY3Rpb24pLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2lnbiBhbmQgc2VuZCBhIHRyYW5zYWN0aW9uIHRoYXQgdHJhbnNmZXJzIGFuIGluc2NyaXB0aW9uXG4gICAqIEBwYXJhbSB3YWxsZXRQYXNzcGhyYXNlIHBhc3NwaHJhc2UgdG8gdW5sb2NrIHlvdXIga2V5c1xuICAgKiBAcGFyYW0gdHhQcmVidWlsZCB0aGlzIGlzIHRoZSBvdXRwdXQgb2YgYGluc2NyaXB0aW9uLnByZXBhcmVUcmFuc2ZlcmBcbiAgICovXG4gIGFzeW5jIHNpZ25BbmRTZW5kVHJhbnNmZXIoXG4gICAgd2FsbGV0UGFzc3BocmFzZTogc3RyaW5nLFxuICAgIHR4UHJlYnVpbGQ6IFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHRcbiAgKTogUHJvbWlzZTxTdWJtaXRUcmFuc2FjdGlvblJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXNlcktleWNoYWluID0gYXdhaXQgdGhpcy53YWxsZXQuYmFzZUNvaW4ua2V5Y2hhaW5zKCkuZ2V0KHsgaWQ6IHRoaXMud2FsbGV0LmtleUlkcygpW0tleUluZGljZXMuVVNFUl0gfSk7XG4gICAgY29uc3QgcHJ2ID0gdGhpcy53YWxsZXQuZ2V0VXNlclBydih7IGtleWNoYWluOiB1c2VyS2V5Y2hhaW4sIHdhbGxldFBhc3NwaHJhc2UgfSk7XG5cbiAgICBjb25zdCBoYWxmU2lnbmVkID0gKGF3YWl0IHRoaXMud2FsbGV0LnNpZ25UcmFuc2FjdGlvbih7IHBydiwgdHhQcmVidWlsZCB9KSkgYXMgSGFsZlNpZ25lZFV0eG9UcmFuc2FjdGlvbjtcbiAgICByZXR1cm4gdGhpcy53YWxsZXQuc3VibWl0VHJhbnNhY3Rpb24oeyBoYWxmU2lnbmVkIH0pO1xuICB9XG59XG4iXX0=
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zY3JpcHRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltcGwvYnRjL2luc2NyaXB0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUNMLFFBQVEsRUFJUixVQUFVLEVBS1YsWUFBWSxHQUNiLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNMLGdEQUFnRCxFQUNoRCw2QkFBNkIsRUFFN0IsWUFBWSxFQUNaLGFBQWEsRUFDYixVQUFVLEVBQ1YsYUFBYSxFQUNiLGlDQUFpQyxFQUNqQyw4QkFBOEIsR0FJL0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQWFoRCxNQUFNLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQU0sRUFBRSxNQUFPLENBQUMsQ0FBQztBQUVuRSxNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQVksTUFBZSxFQUFFLElBQXNCO1FBQ2pELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLGVBQXVCLEVBQUUsV0FBbUI7UUFDOUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FB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TUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvRyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBRWpGLE1BQU0sVUFBVSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUE4QixDQUFDO1FBQ3pHLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQge1xuICBCYXNlQ29pbixcbiAgSGFsZlNpZ25lZFV0eG9UcmFuc2FjdGlvbixcbiAgSUluc2NyaXB0aW9uQnVpbGRlcixcbiAgSVdhbGxldCxcbiAgS2V5SW5kaWNlcyxcbiAgUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdCxcbiAgUHJlcGFyZWRJbnNjcmlwdGlvblJldmVhbERhdGEsXG4gIFN1Ym1pdFRyYW5zYWN0aW9uUmVzcG9uc2UsXG4gIFRyaXBsZSxcbiAgeHBydlRvUmF3UHJ2LFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHtcbiAgY3JlYXRlUHNidEZvclNpbmdsZUluc2NyaXB0aW9uUGFzc2luZ1RyYW5zYWN0aW9uLFxuICBEZWZhdWx0SW5zY3JpcHRpb25Db25zdHJhaW50cyxcbiAgSW5zY3JpcHRpb25PdXRwdXRzLFxuICBpbnNjcmlwdGlvbnMsXG4gIHBhcnNlU2F0UG9pbnQsXG4gIGlzU2F0UG9pbnQsXG4gIEVycm9yTm9MYXlvdXQsXG4gIGZpbmRPdXRwdXRMYXlvdXRGb3JXYWxsZXRVbnNwZW50cyxcbiAgTUFYX1VOU1BFTlRTX0ZPUl9PVVRQVVRfTEFZT1VULFxuICBTYXRQb2ludCxcbiAgV2FsbGV0VW5zcGVudCxcbiAgdHlwZSBUYXBMZWFmU2NyaXB0LFxufSBmcm9tICdAYml0Z28vdXR4by1vcmQnO1xuaW1wb3J0IHsgQklQMzIsIGZpeGVkU2NyaXB0V2FsbGV0IH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5cbmltcG9ydCB7IEFic3RyYWN0VXR4b0NvaW4gfSBmcm9tICcuLi8uLi9hYnN0cmFjdFV0eG9Db2luJztcbmltcG9ydCB7IGZldGNoS2V5Y2hhaW5zIH0gZnJvbSAnLi4vLi4va2V5Y2hhaW5zJztcbmltcG9ydCB7IHRvVXR4b2xpYkJJUDMyIH0gZnJvbSAnLi4vLi4vd2FzbVV0aWwnO1xuXG4vKiogS2V5IGlkZW50aWZpZXIgZm9yIHNpZ25pbmcgKi9cbnR5cGUgU2lnbmVyS2V5ID0gJ3VzZXInIHwgJ2JhY2t1cCcgfCAnYml0Z28nO1xuXG4vKiogVW5zcGVudCBmcm9tIHdhbGxldCBBUEkgKHZhbHVlIG1heSBiZSBudW1iZXIgb3IgYmlnaW50KSAqL1xudHlwZSBXYWxsZXRVbnNwZW50TGlrZSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgdmFsdWU6IG51bWJlciB8IGJpZ2ludDtcbiAgY2hhaW46IG51bWJlcjtcbiAgaW5kZXg6IG51bWJlcjtcbn07XG5cbmNvbnN0IFNVUFBMRU1FTlRBUllfVU5TUEVOVFNfTUlOX1ZBTFVFX1NBVFMgPSBbMCwgMjBfMDAwLCAyMDBfMDAwXTtcblxuZXhwb3J0IGNsYXNzIEluc2NyaXB0aW9uQnVpbGRlciBpbXBsZW1lbnRzIElJbnNjcmlwdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHdhbGxldDogSVdhbGxldDtcbiAgcHJpdmF0ZSByZWFkb25seSBjb2luOiBBYnN0cmFjdFV0eG9Db2luO1xuXG4gIGNvbnN0cnVjdG9yKHdhbGxldDogSVdhbGxldCwgY29pbjogQWJzdHJhY3RVdHhvQ29pbikge1xuICAgIHRoaXMud2FsbGV0ID0gd2FsbGV0O1xuICAgIHRoaXMuY29pbiA9IGNvaW47XG4gIH1cblxuICBhc3luYyBwcmVwYXJlUmV2ZWFsKGluc2NyaXB0aW9uRGF0YTogQnVmZmVyLCBjb250ZW50VHlwZTogc3RyaW5nKTogUHJvbWlzZTxQcmVwYXJlZEluc2NyaXB0aW9uUmV2ZWFsRGF0YT4ge1xuICAgIGNvbnN0IHVzZXIgPSBhd2FpdCB0aGlzLndhbGxldC5iYXNlQ29pbi5rZXljaGFpbnMoKS5nZXQoeyBpZDogdGhpcy53YWxsZXQua2V5SWRzKClbS2V5SW5kaWNlcy5VU0VSXSB9KTtcbiAgICBhc3NlcnQodXNlci5wdWIpO1xuXG4gICAgY29uc3QgdXNlcktleSA9IHRvVXR4b2xpYkJJUDMyKEJJUDMyLmZyb21CYXNlNTgodXNlci5wdWIpKTtcbiAgICBjb25zdCB7IGtleTogZGVyaXZlZEtleSB9ID0gQmFzZUNvaW4uZGVyaXZlS2V5V2l0aFNlZWRCaXAzMih1c2VyS2V5LCBpbnNjcmlwdGlvbkRhdGEudG9TdHJpbmcoKSk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBpbnNjcmlwdGlvbnMuY3JlYXRlSW5zY3JpcHRpb25SZXZlYWxEYXRhKFxuICAgICAgZGVyaXZlZEtleS5wdWJsaWNLZXksXG4gICAgICBjb250ZW50VHlwZSxcbiAgICAgIGluc2NyaXB0aW9uRGF0YSxcbiAgICAgIHRoaXMuY29pbi5uYW1lXG4gICAgKTtcblxuICAgIC8vIENvbnZlcnQgVGFwTGVhZlNjcmlwdCB0byB1dHhvbGliIGZvcm1hdCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICByZXR1cm4ge1xuICAgICAgYWRkcmVzczogcmVzdWx0LmFkZHJlc3MsXG4gICAgICByZXZlYWxUcmFuc2FjdGlvblZTaXplOiByZXN1bHQucmV2ZWFsVHJhbnNhY3Rpb25WU2l6ZSxcbiAgICAgIHRhcExlYWZTY3JpcHQ6IHtcbiAgICAgICAgY29udHJvbEJsb2NrOiBCdWZmZXIuZnJvbShyZXN1bHQudGFwTGVhZlNjcmlwdC5jb250cm9sQmxvY2spLFxuICAgICAgICBzY3JpcHQ6IEJ1ZmZlci5mcm9tKHJlc3VsdC50YXBMZWFmU2NyaXB0LnNjcmlwdCksXG4gICAgICAgIGxlYWZWZXJzaW9uOiByZXN1bHQudGFwTGVhZlNjcmlwdC5sZWFmVmVyc2lvbixcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJlcGFyZVRyYW5zZmVyV2l0aEV4dHJhSW5wdXRzKFxuICAgIHNhdFBvaW50OiBTYXRQb2ludCxcbiAgICBmZWVSYXRlU2F0S0I6IG51bWJlcixcbiAgICB7XG4gICAgICBzaWduZXIsXG4gICAgICBjb3NpZ25lcixcbiAgICAgIGluc2NyaXB0aW9uQ29uc3RyYWludHMsXG4gICAgICB0eEZvcm1hdCxcbiAgICB9OiB7XG4gICAgICBzaWduZXI6IFNpZ25lcktleTtcbiAgICAgIGNvc2lnbmVyOiBTaWduZXJLZXk7XG4gICAgICBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzOiB7XG4gICAgICAgIG1pbkNoYW5nZU91dHB1dD86IGJpZ2ludDtcbiAgICAgICAgbWluSW5zY3JpcHRpb25PdXRwdXQ/OiBiaWdpbnQ7XG4gICAgICAgIG1heEluc2NyaXB0aW9uT3V0cHV0PzogYmlnaW50O1xuICAgICAgfTtcbiAgICAgIHR4Rm9ybWF0PzogJ3BzYnQnIHwgJ2xlZ2FjeSc7XG4gICAgfSxcbiAgICB3YWxsZXRYcHViczogVHJpcGxlPHN0cmluZz4sXG4gICAgb3V0cHV0czogSW5zY3JpcHRpb25PdXRwdXRzLFxuICAgIGluc2NyaXB0aW9uVW5zcGVudHM6IFdhbGxldFVuc3BlbnRbXSxcbiAgICBzdXBwbGVtZW50YXJ5VW5zcGVudHNNaW5WYWx1ZTogbnVtYmVyXG4gICk6IFByb21pc2U8UHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdD4ge1xuICAgIGxldCBzdXBwbGVtZW50YXJ5VW5zcGVudHM6IFdhbGxldFVuc3BlbnRbXSA9IFtdO1xuICAgIGlmIChzdXBwbGVtZW50YXJ5VW5zcGVudHNNaW5WYWx1ZSA+IDApIHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy53YWxsZXQudW5zcGVudHMoe1xuICAgICAgICBtaW5WYWx1ZTogc3VwcGxlbWVudGFyeVVuc3BlbnRzTWluVmFsdWUsXG4gICAgICB9KTtcbiAgICAgIC8vIEZpbHRlciBvdXQgdGhlIGluc2NyaXB0aW9uIHVuc3BlbnQgZnJvbSB0aGUgc3VwcGxlbWVudGFyeSB1bnNwZW50c1xuICAgICAgc3VwcGxlbWVudGFyeVVuc3BlbnRzID0gcmVzcG9uc2UudW5zcGVudHNcbiAgICAgICAgLmZpbHRlcigodW5zcGVudDogeyBpZDogc3RyaW5nIH0pID0+IHVuc3BlbnQuaWQgIT09IGluc2NyaXB0aW9uVW5zcGVudHNbMF0uaWQpXG4gICAgICAgIC5zbGljZSgwLCBNQVhfVU5TUEVOVFNfRk9SX09VVFBVVF9MQVlPVVQgLSAxKVxuICAgICAgICAubWFwKFxuICAgICAgICAgICh1bnNwZW50OiBXYWxsZXRVbnNwZW50TGlrZSk6IFdhbGxldFVuc3BlbnQgPT4gKHtcbiAgICAgICAgICAgIGlkOiB1bnNwZW50LmlkLFxuICAgICAgICAgICAgdmFsdWU6IEJpZ0ludCh1bnNwZW50LnZhbHVlKSxcbiAgICAgICAgICAgIGNoYWluOiB1bnNwZW50LmNoYWluLFxuICAgICAgICAgICAgaW5kZXg6IHVuc3BlbnQuaW5kZXgsXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBwc2J0ID0gY3JlYXRlUHNidEZvclNpbmdsZUluc2NyaXB0aW9uUGFzc2luZ1RyYW5zYWN0aW9uKFxuICAgICAgdGhpcy5jb2luLm5hbWUsXG4gICAgICB7XG4gICAgICAgIHdhbGxldEtleXM6IHdhbGxldFhwdWJzLFxuICAgICAgICBzaWduZXIsXG4gICAgICAgIGNvc2lnbmVyLFxuICAgICAgfSxcbiAgICAgIGluc2NyaXB0aW9uVW5zcGVudHMsXG4gICAgICBzYXRQb2ludCxcbiAgICAgIG91dHB1dHMsXG4gICAgICB7IGZlZVJhdGVTYXRLQiwgLi4uaW5zY3JpcHRpb25Db25zdHJhaW50cyB9LFxuICAgICAgeyBzdXBwbGVtZW50YXJ5VW5zcGVudHMgfVxuICAgICk7XG4gICAgaWYgKCFwc2J0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZlZSB0b28gaGlnaCBmb3IgdGhlIHNlbGVjdGVkIHVuc3BlbnQgd2l0aCB0aGlzIGZlZSByYXRlJyk7XG4gICAgfVxuXG4gICAgY29uc3QgYWxsVW5zcGVudHMgPSBbLi4uaW5zY3JpcHRpb25VbnNwZW50cywgLi4uc3VwcGxlbWVudGFyeVVuc3BlbnRzXTtcblxuICAgIC8vIFRPRE86IFJlbW92ZSB0aGUgY2FsbCB0byB0aGlzIGZ1bmN0aW9uIGJlY2F1c2UgaXQncyBhbHJlYWR5IGNhbGxlZCBpbnNpZGUgdGhlIGNyZWF0ZVBzYnQgZnVuY3Rpb24gYWJvdmUuXG4gICAgLy8gQ3JlYXRlICYgdXNlIGEgZ2V0RmVlIGZ1bmN0aW9uIGluc2lkZSB0aGUgY3JlYXRlZCBQU0JUIGluc3RlYWQsIGxhY2sgb2Ygd2hpY2ggbmVjZXNzaXRhdGVzIGEgZHVwbGljYXRlIGNhbGwgaGVyZS5cbiAgICBjb25zdCBvdXRwdXRMYXlvdXQgPSBmaW5kT3V0cHV0TGF5b3V0Rm9yV2FsbGV0VW5zcGVudHMoYWxsVW5zcGVudHMsIHNhdFBvaW50LCBvdXRwdXRzLCB7XG4gICAgICBmZWVSYXRlU2F0S0IsXG4gICAgICAuLi5pbnNjcmlwdGlvbkNvbnN0cmFpbnRzLFxuICAgIH0pO1xuICAgIGlmICghb3V0cHV0TGF5b3V0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZlZSB0b28gaGlnaCBmb3IgdGhlIHNlbGVjdGVkIHVuc3BlbnQgd2l0aCB0aGlzIGZlZSByYXRlJyk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICB3YWxsZXRJZDogdGhpcy53YWxsZXQuaWQoKSxcbiAgICAgIHR4SGV4OiBCdWZmZXIuZnJvbShwc2J0LnNlcmlhbGl6ZSgpKS50b1N0cmluZygnaGV4JyksXG4gICAgICB0eEluZm86IHsgdW5zcGVudHM6IGFsbFVuc3BlbnRzIH0sXG4gICAgICBmZWVJbmZvOiB7IGZlZTogTnVtYmVyKG91dHB1dExheW91dC5sYXlvdXQuZmVlT3V0cHV0KSwgZmVlU3RyaW5nOiBvdXRwdXRMYXlvdXQubGF5b3V0LmZlZU91dHB1dC50b1N0cmluZygpIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBhIHRyYW5zYWN0aW9uIHRvIHNlbmQgYW4gaW5zY3JpcHRpb25cbiAgICogQHBhcmFtIHNhdFBvaW50IFNhdHBvaW50IHlvdSB3YW50IHRvIHNlbmRcbiAgICogQHBhcmFtIHJlY2lwaWVudCBBZGRyZXNzIHlvdSB3YW50IHRvIHNlbmQgdG9cbiAgICogQHBhcmFtIGZlZVJhdGVTYXRLQiBGZWUgcmF0ZSBmb3IgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIHNpZ25lciBmaXJzdCBzaWduZXIgb2YgdGhlIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBjb3NpZ25lciBzZWNvbmQgc2lnbmVyIG9mIHRoZSB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0gaW5zY3JpcHRpb25Db25zdHJhaW50cy5taW5DaGFuZ2VPdXRwdXQgKG9wdGlvbmFsKSB0aGUgbWluaW11bSBzaXplIG9mIHRoZSBjaGFuZ2Ugb3V0cHV0XG4gICAqIEBwYXJhbSBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzLm1pbkluc2NyaXB0aW9uT3V0cHV0IChvcHRpb25hbCkgdGhlIG1pbmltdW0gbnVtYmVyIG9mIHNhdHMgb2YgdGhlIG91dHB1dCBjb250YWluaW5nIHRoZSBpbnNjcmlwdGlvblxuICAgKiBAcGFyYW0gaW5zY3JpcHRpb25Db25zdHJhaW50cy5tYXhJbnNjcmlwdGlvbk91dHB1dCAob3B0aW9uYWwpIHRoZSBtYXhpbXVtIG51bWJlciBvZiBzYXRzIG9mIHRoZSBvdXRwdXQgY29udGFpbmluZyB0aGUgaW5zY3JpcHRpb25cbiAgICogQHBhcmFtIGNoYW5nZUFkZHJlc3NUeXBlIEFkZHJlc3MgdHlwZSBvZiB0aGUgY2hhbmdlIGFkZHJlc3NcbiAgICovXG4gIGFzeW5jIHByZXBhcmVUcmFuc2ZlcihcbiAgICBzYXRQb2ludDogc3RyaW5nLFxuICAgIHJlY2lwaWVudDogc3RyaW5nLFxuICAgIGZlZVJhdGVTYXRLQjogbnVtYmVyLFxuICAgIHtcbiAgICAgIHNpZ25lciA9ICd1c2VyJyxcbiAgICAgIGNvc2lnbmVyID0gJ2JpdGdvJyxcbiAgICAgIGluc2NyaXB0aW9uQ29uc3RyYWludHMgPSBEZWZhdWx0SW5zY3JpcHRpb25Db25zdHJhaW50cyxcbiAgICAgIGNoYW5nZUFkZHJlc3NUeXBlID0gJ3Ayd3NoJyxcbiAgICAgIHR4Rm9ybWF0ID0gJ3BzYnQnLFxuICAgIH06IHtcbiAgICAgIHNpZ25lcj86IFNpZ25lcktleTtcbiAgICAgIGNvc2lnbmVyPzogU2lnbmVyS2V5O1xuICAgICAgaW5zY3JpcHRpb25Db25zdHJhaW50cz86IHtcbiAgICAgICAgbWluQ2hhbmdlT3V0cHV0PzogYmlnaW50O1xuICAgICAgICBtaW5JbnNjcmlwdGlvbk91dHB1dD86IGJpZ2ludDtcbiAgICAgICAgbWF4SW5zY3JpcHRpb25PdXRwdXQ/OiBiaWdpbnQ7XG4gICAgICB9O1xuICAgICAgY2hhbmdlQWRkcmVzc1R5cGU/OiAncDJzaCcgfCAncDJzaFAyd3NoJyB8ICdwMndzaCcgfCAncDJ0cicgfCAncDJ0ck11c2lnMic7XG4gICAgICB0eEZvcm1hdD86ICdwc2J0JyB8ICdsZWdhY3knO1xuICAgIH1cbiAgKTogUHJvbWlzZTxQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0PiB7XG4gICAgYXNzZXJ0KGlzU2F0UG9pbnQoc2F0UG9pbnQpKTtcblxuICAgIGNvbnN0IGtleWNoYWlucyA9IGF3YWl0IGZldGNoS2V5Y2hhaW5zKHRoaXMuY29pbiwgdGhpcy53YWxsZXQpO1xuICAgIGNvbnN0IHdhbGxldFhwdWJzOiBUcmlwbGU8c3RyaW5nPiA9IFtrZXljaGFpbnMudXNlci5wdWIsIGtleWNoYWlucy5iYWNrdXAucHViLCBrZXljaGFpbnMuYml0Z28ucHViXTtcbiAgICBjb25zdCBwYXJzZWRTYXRQb2ludCA9IHBhcnNlU2F0UG9pbnQoc2F0UG9pbnQpO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gYXdhaXQgdGhpcy53YWxsZXQuZ2V0VHJhbnNhY3Rpb24oeyB0eEhhc2g6IHBhcnNlZFNhdFBvaW50LnR4aWQgfSk7XG4gICAgY29uc3Qgb3V0cHV0ID0gdHJhbnNhY3Rpb24ub3V0cHV0c1twYXJzZWRTYXRQb2ludC52b3V0XTtcbiAgICBjb25zdCB1bnNwZW50czogV2FsbGV0VW5zcGVudFtdID0gW1xuICAgICAge1xuICAgICAgICBpZDogYCR7cGFyc2VkU2F0UG9pbnQudHhpZH06JHtwYXJzZWRTYXRQb2ludC52b3V0fWAsXG4gICAgICAgIHZhbHVlOiBCaWdJbnQob3V0cHV0LnZhbHVlKSxcbiAgICAgICAgY2hhaW46IG91dHB1dC5jaGFpbixcbiAgICAgICAgaW5kZXg6IG91dHB1dC5pbmRleCxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IGNoYW5nZUNoYWluID0gZml4ZWRTY3JpcHRXYWxsZXQuQ2hhaW5Db2RlLnZhbHVlKGNoYW5nZUFkZHJlc3NUeXBlLCAnaW50ZXJuYWwnKTtcblxuICAgIGNvbnN0IGNoYW5nZUFkZHJlc3MgPSBhd2FpdCB0aGlzLndhbGxldC5jcmVhdGVBZGRyZXNzKHtcbiAgICAgIGNoYWluOiBjaGFuZ2VDaGFpbixcbiAgICB9KTtcbiAgICBjb25zdCBvdXRwdXRzOiBJbnNjcmlwdGlvbk91dHB1dHMgPSB7XG4gICAgICBpbnNjcmlwdGlvblJlY2lwaWVudDogcmVjaXBpZW50LFxuICAgICAgY2hhbmdlT3V0cHV0czogW1xuICAgICAgICB7IGNoYWluOiBjaGFuZ2VBZGRyZXNzLmNoYWluLCBpbmRleDogY2hhbmdlQWRkcmVzcy5pbmRleCB9LFxuICAgICAgICB7IGNoYWluOiBjaGFuZ2VBZGRyZXNzLmNoYWluLCBpbmRleDogY2hhbmdlQWRkcmVzcy5pbmRleCB9LFxuICAgICAgXSxcbiAgICB9O1xuXG4gICAgZm9yIChjb25zdCBzdXBwbGVtZW50YXJ5VW5zcGVudHNNaW5WYWx1ZSBvZiBTVVBQTEVNRU5UQVJZX1VOU1BFTlRTX01JTl9WQUxVRV9TQVRTKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5wcmVwYXJlVHJhbnNmZXJXaXRoRXh0cmFJbnB1dHMoXG4gICAgICAgICAgc2F0UG9pbnQsXG4gICAgICAgICAgZmVlUmF0ZVNhdEtCLFxuICAgICAgICAgIHsgc2lnbmVyLCBjb3NpZ25lciwgaW5zY3JpcHRpb25Db25zdHJhaW50cywgdHhGb3JtYXQgfSxcbiAgICAgICAgICB3YWxsZXRYcHVicyxcbiAgICAgICAgICBvdXRwdXRzLFxuICAgICAgICAgIHVuc3BlbnRzLFxuICAgICAgICAgIHN1cHBsZW1lbnRhcnlVbnNwZW50c01pblZhbHVlXG4gICAgICAgICk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoIShlcnJvciBpbnN0YW5jZW9mIEVycm9yTm9MYXlvdXQpKSB7XG4gICAgICAgICAgdGhyb3cgZXJyb3I7IC8vIFByb3BhZ2F0ZSBlcnJvciBpZiBpdCdzIG5vdCBhbiBFcnJvck5vTGF5b3V0XG4gICAgICAgIH0gLy8gT3RoZXJ3aXNlIGNvbnRpbnVlIHRyeWluZyB3aXRoIGhpZ2hlciBtaW5WYWx1ZSBmb3Igc3VwcGxlbWVudGFyeSB1bnNwZW50c1xuICAgICAgfVxuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcignRmVlIHRvbyBoaWdoIGZvciB0aGUgc2VsZWN0ZWQgdW5zcGVudCB3aXRoIHRoaXMgZmVlIHJhdGUnKTsgLy8gRXhoYXVzdGVkIGFsbCB0cmllcyB0byBzdXBwbGVtZW50XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHdhbGxldFBhc3NwaHJhc2VcbiAgICogQHBhcmFtIHRhcExlYWZTY3JpcHRcbiAgICogQHBhcmFtIGNvbW1pdEFkZHJlc3NcbiAgICogQHBhcmFtIHVuc2lnbmVkQ29tbWl0VHhcbiAgICogQHBhcmFtIGNvbW1pdFRyYW5zYWN0aW9uVW5zcGVudHNcbiAgICogQHBhcmFtIHJlY2lwaWVudEFkZHJlc3NcbiAgICogQHBhcmFtIGluc2NyaXB0aW9uRGF0YVxuICAgKi9cbiAgYXN5bmMgc2lnbkFuZFNlbmRSZXZlYWwoXG4gICAgd2FsbGV0UGFzc3BocmFzZTogc3RyaW5nLFxuICAgIHRhcExlYWZTY3JpcHQ6IFRhcExlYWZTY3JpcHQsXG4gICAgY29tbWl0QWRkcmVzczogc3RyaW5nLFxuICAgIHVuc2lnbmVkQ29tbWl0VHg6IEJ1ZmZlcixcbiAgICBjb21taXRUcmFuc2FjdGlvblVuc3BlbnRzOiBXYWxsZXRVbnNwZW50TGlrZVtdLFxuICAgIHJlY2lwaWVudEFkZHJlc3M6IHN0cmluZyxcbiAgICBpbnNjcmlwdGlvbkRhdGE6IEJ1ZmZlclxuICApOiBQcm9taXNlPFN1Ym1pdFRyYW5zYWN0aW9uUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1c2VyS2V5Y2hhaW4gPSBhd2FpdCB0aGlzLndhbGxldC5iYXNlQ29pbi5rZXljaGFpbnMoKS5nZXQoeyBpZDogdGhpcy53YWxsZXQua2V5SWRzKClbS2V5SW5kaWNlcy5VU0VSXSB9KTtcbiAgICBjb25zdCB4cHJ2ID0gYXdhaXQgdGhpcy53YWxsZXQuZ2V0VXNlclBydih7IGtleWNoYWluOiB1c2VyS2V5Y2hhaW4sIHdhbGxldFBhc3NwaHJhc2UgfSk7XG5cbiAgICBjb25zdCBoYWxmU2lnbmVkQ29tbWl0VHJhbnNhY3Rpb24gPSAoYXdhaXQgdGhpcy53YWxsZXQuc2lnblRyYW5zYWN0aW9uKHtcbiAgICAgIHBydjogeHBydixcbiAgICAgIHR4UHJlYnVpbGQ6IHtcbiAgICAgICAgdHhIZXg6IHVuc2lnbmVkQ29tbWl0VHgudG9TdHJpbmcoJ2hleCcpLFxuICAgICAgICB0eEluZm86IHsgdW5zcGVudHM6IGNvbW1pdFRyYW5zYWN0aW9uVW5zcGVudHMgfSxcbiAgICAgIH0sXG4gICAgfSkpIGFzIEhhbGZTaWduZWRVdHhvVHJhbnNhY3Rpb247XG5cbiAgICBjb25zdCBkZXJpdmVkID0gdGhpcy5jb2luLmRlcml2ZUtleVdpdGhTZWVkKHsga2V5OiB4cHJ2LCBzZWVkOiBpbnNjcmlwdGlvbkRhdGEudG9TdHJpbmcoKSB9KTtcbiAgICBjb25zdCBwcnYgPSB4cHJ2VG9SYXdQcnYoZGVyaXZlZC5rZXkpO1xuXG4gICAgY29uc3QgZnVsbHlTaWduZWRSZXZlYWxUcmFuc2FjdGlvbiA9IGluc2NyaXB0aW9ucy5zaWduUmV2ZWFsVHJhbnNhY3Rpb24oXG4gICAgICBCdWZmZXIuZnJvbShwcnYsICdoZXgnKSxcbiAgICAgIHRhcExlYWZTY3JpcHQsXG4gICAgICBjb21taXRBZGRyZXNzLFxuICAgICAgcmVjaXBpZW50QWRkcmVzcyxcbiAgICAgIEJ1ZmZlci5mcm9tKGhhbGZTaWduZWRDb21taXRUcmFuc2FjdGlvbi50eEhleCwgJ2hleCcpLFxuICAgICAgdGhpcy5jb2luLm5hbWVcbiAgICApO1xuXG4gICAgcmV0dXJuIHRoaXMud2FsbGV0LnN1Ym1pdFRyYW5zYWN0aW9uKHtcbiAgICAgIGhhbGZTaWduZWQ6IHtcbiAgICAgICAgdHhIZXg6IGhhbGZTaWduZWRDb21taXRUcmFuc2FjdGlvbi50eEhleCxcbiAgICAgICAgc2lnbmVkQ2hpbGRQc2J0OiBCdWZmZXIuZnJvbShmdWxseVNpZ25lZFJldmVhbFRyYW5zYWN0aW9uKS50b1N0cmluZygnaGV4JyksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpZ24gYW5kIHNlbmQgYSB0cmFuc2FjdGlvbiB0aGF0IHRyYW5zZmVycyBhbiBpbnNjcmlwdGlvblxuICAgKiBAcGFyYW0gd2FsbGV0UGFzc3BocmFzZSBwYXNzcGhyYXNlIHRvIHVubG9jayB5b3VyIGtleXNcbiAgICogQHBhcmFtIHR4UHJlYnVpbGQgdGhpcyBpcyB0aGUgb3V0cHV0IG9mIGBpbnNjcmlwdGlvbi5wcmVwYXJlVHJhbnNmZXJgXG4gICAqL1xuICBhc3luYyBzaWduQW5kU2VuZFRyYW5zZmVyKFxuICAgIHdhbGxldFBhc3NwaHJhc2U6IHN0cmluZyxcbiAgICB0eFByZWJ1aWxkOiBQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0XG4gICk6IFByb21pc2U8U3VibWl0VHJhbnNhY3Rpb25SZXNwb25zZT4ge1xuICAgIGNvbnN0IHVzZXJLZXljaGFpbiA9IGF3YWl0IHRoaXMud2FsbGV0LmJhc2VDb2luLmtleWNoYWlucygpLmdldCh7IGlkOiB0aGlzLndhbGxldC5rZXlJZHMoKVtLZXlJbmRpY2VzLlVTRVJdIH0pO1xuICAgIGNvbnN0IHBydiA9IHRoaXMud2FsbGV0LmdldFVzZXJQcnYoeyBrZXljaGFpbjogdXNlcktleWNoYWluLCB3YWxsZXRQYXNzcGhyYXNlIH0pO1xuXG4gICAgY29uc3QgaGFsZlNpZ25lZCA9IChhd2FpdCB0aGlzLndhbGxldC5zaWduVHJhbnNhY3Rpb24oeyBwcnYsIHR4UHJlYnVpbGQgfSkpIGFzIEhhbGZTaWduZWRVdHhvVHJhbnNhY3Rpb247XG4gICAgcmV0dXJuIHRoaXMud2FsbGV0LnN1Ym1pdFRyYW5zYWN0aW9uKHsgaGFsZlNpZ25lZCB9KTtcbiAgfVxufVxuIl19
|
package/dist/esm/keychains.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as t from 'io-ts';
|
|
2
2
|
import { bitgo } from '@bitgo/utxo-lib';
|
|
3
|
-
import { BIP32Interface } from '@bitgo/secp256k1';
|
|
4
3
|
import { IRequestTracer, IWallet, Triple } from '@bitgo/sdk-core';
|
|
5
|
-
import { fixedScriptWallet } from '@bitgo/wasm-utxo';
|
|
4
|
+
import { BIP32, bip32, fixedScriptWallet } from '@bitgo/wasm-utxo';
|
|
6
5
|
import { AbstractUtxoCoin } from './abstractUtxoCoin';
|
|
7
6
|
import { UtxoWallet } from './wallet';
|
|
8
7
|
/**
|
|
@@ -39,10 +38,10 @@ export type UtxoNamedKeychains = t.TypeOf<typeof UtxoNamedKeychains>;
|
|
|
39
38
|
export declare function toKeychainTriple(keychains: UtxoNamedKeychains): Triple<UtxoKeychain>;
|
|
40
39
|
export declare function toBip32Triple(keychains: bitgo.RootWalletKeys | UtxoNamedKeychains | Triple<{
|
|
41
40
|
pub: string;
|
|
42
|
-
}> | string[]): Triple<
|
|
41
|
+
}> | string[]): Triple<BIP32>;
|
|
43
42
|
export declare function toXpubTriple(keychains: UtxoNamedKeychains | Triple<{
|
|
44
43
|
pub: string;
|
|
45
|
-
}> | Triple<string> | Triple<BIP32Interface>): Triple<string>;
|
|
44
|
+
}> | Triple<string> | Triple<bip32.BIP32Interface>): Triple<string>;
|
|
46
45
|
export declare function fetchKeychains(coin: AbstractUtxoCoin, wallet: IWallet, reqId?: IRequestTracer): Promise<UtxoNamedKeychains>;
|
|
47
46
|
/**
|
|
48
47
|
* Fetch wallet keys as wasm-utxo RootWalletKeys
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keychains.d.ts","sourceRoot":"","sources":["../../src/keychains.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"keychains.d.ts","sourceRoot":"","sources":["../../src/keychains.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,OAAO,EAA4B,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAUtC;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;IAWxB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAEzD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;EAI7B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAErE,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC,CAGpF;AAED,wBAAgB,aAAa,CAC3B,SAAS,EAAE,KAAK,CAAC,cAAc,GAAG,kBAAkB,GAAG,MAAM,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,EAAE,GACxF,MAAM,CAAC,KAAK,CAAC,CAef;AAkBD,wBAAgB,YAAY,CAC1B,SAAS,EAAE,kBAAkB,GAAG,MAAM,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,GACtG,MAAM,CAAC,MAAM,CAAC,CAQhB;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,OAAO,EACf,KAAK,CAAC,EAAE,cAAc,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAQ7B;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,OAAO,EACf,KAAK,CAAC,EAAE,cAAc,GACrB,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAG3C;AAED,eAAO,MAAM,aAAa;;;EAGxB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AAE3D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,CAK9E"}
|
package/dist/esm/keychains.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import assert from 'assert';
|
|
2
2
|
import * as t from 'io-ts';
|
|
3
3
|
import { bitgo } from '@bitgo/utxo-lib';
|
|
4
|
-
import { bip32 } from '@bitgo/secp256k1';
|
|
5
4
|
import { KeyIndices, promiseProps } from '@bitgo/sdk-core';
|
|
6
|
-
import { fixedScriptWallet } from '@bitgo/wasm-utxo';
|
|
5
|
+
import { BIP32, fixedScriptWallet } from '@bitgo/wasm-utxo';
|
|
7
6
|
/*
|
|
8
7
|
|
|
9
8
|
The standard Keychain type from sdk-core requires a bunch of uninteresting parameters like `id` and `type` and leaves
|
|
@@ -34,7 +33,7 @@ export function toKeychainTriple(keychains) {
|
|
|
34
33
|
}
|
|
35
34
|
export function toBip32Triple(keychains) {
|
|
36
35
|
if (keychains instanceof bitgo.RootWalletKeys) {
|
|
37
|
-
return keychains.triple;
|
|
36
|
+
return keychains.triple.map((k) => BIP32.fromBase58(k.toBase58()));
|
|
38
37
|
}
|
|
39
38
|
if (Array.isArray(keychains)) {
|
|
40
39
|
if (keychains.length !== 3) {
|
|
@@ -42,7 +41,7 @@ export function toBip32Triple(keychains) {
|
|
|
42
41
|
}
|
|
43
42
|
return keychains.map((keychain) => {
|
|
44
43
|
const v = typeof keychain === 'string' ? keychain : keychain.pub;
|
|
45
|
-
return
|
|
44
|
+
return BIP32.fromBase58(v);
|
|
46
45
|
});
|
|
47
46
|
}
|
|
48
47
|
return toBip32Triple(toKeychainTriple(keychains));
|
|
@@ -97,4 +96,4 @@ export function getKeySignatures(wallet) {
|
|
|
97
96
|
}
|
|
98
97
|
return undefined;
|
|
99
98
|
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2hhaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2tleWNoYWlucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxLQUFLLENBQUMsTUFBTSxPQUFPLENBQUM7QUFDM0IsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBa0IsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekQsT0FBTyxFQUEyQixVQUFVLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDNUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFLckQ7Ozs7OztHQU1HO0FBRUg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FDeEM7SUFDRSxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ0wsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNO0tBQ2QsQ0FBQztJQUNGLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDUixHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDYixZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU07S0FDdkIsQ0FBQztDQUNILEVBQ0QsY0FBYyxDQUNmLENBQUM7QUFJRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3ZDLElBQUksRUFBRSxZQUFZO0lBQ2xCLE1BQU0sRUFBRSxZQUFZO0lBQ3BCLEtBQUssRUFBRSxZQUFZO0NBQ3BCLENBQUMsQ0FBQztBQUlILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxTQUE2QjtJQUM1RCxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFDMUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENB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TSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQzlFLENBQUMsQ0FBQztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN0QyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLHVCQUF1QixDQUMzQyxJQUFzQixFQUN0QixNQUFlLEVBQ2YsS0FBc0I7SUFFdEIsTUFBTSxTQUFTLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1RCxPQUFPLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDaEgsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ3JDLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNuQixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU07Q0FDbkIsQ0FBQyxDQUFDO0FBSUgsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQWtCO0lBQ2pELElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNuRSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO0lBQ3RDLENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcbmltcG9ydCB7IGJpdGdvIH0gZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IEJJUDMySW50ZXJmYWNlLCBiaXAzMiB9IGZyb20gJ0BiaXRnby9zZWNwMjU2azEnO1xuaW1wb3J0IHsgSVJlcXVlc3RUcmFjZXIsIElXYWxsZXQsIEtleUluZGljZXMsIHByb21pc2VQcm9wcywgVHJpcGxlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IGZpeGVkU2NyaXB0V2FsbGV0IH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5cbmltcG9ydCB7IEFic3RyYWN0VXR4b0NvaW4gfSBmcm9tICcuL2Fic3RyYWN0VXR4b0NvaW4nO1xuaW1wb3J0IHsgVXR4b1dhbGxldCB9IGZyb20gJy4vd2FsbGV0JztcblxuLypcblxuVGhlIHN0YW5kYXJkIEtleWNoYWluIHR5cGUgZnJvbSBzZGstY29yZSByZXF1aXJlcyBhIGJ1bmNoIG9mIHVuaW50ZXJlc3RpbmcgcGFyYW1ldGVycyBsaWtlIGBpZGAgYW5kIGB0eXBlYCBhbmQgbGVhdmVzXG5pbXBvcnRhbnQgZmllbGRzIGxpa2UgYHB1YmAgYW5kIGBwcnZgIG9wdGlvbmFsLlxuXG5UaGlzIGlzIGEgbW9yZSBmb2N1c2VkIHR5cGUgdGhhdCBvbmx5IGluY2x1ZGVzIHRoZSBmaWVsZHMgd2UgY2FyZSBhYm91dC5cbiAqL1xuXG4vKipcbiAqIEEga2V5Y2hhaW4gZm9yIGEgVVRYTyB3YWxsZXQuXG4gKi9cbmV4cG9ydCBjb25zdCBVdHhvS2V5Y2hhaW4gPSB0LmludGVyc2VjdGlvbihcbiAgW1xuICAgIHQudHlwZSh7XG4gICAgICBwdWI6IHQuc3RyaW5nLFxuICAgIH0pLFxuICAgIHQucGFydGlhbCh7XG4gICAgICBwcnY6IHQuc3RyaW5nLFxuICAgICAgZW5jcnlwdGVkUHJ2OiB0LnN0cmluZyxcbiAgICB9KSxcbiAgXSxcbiAgJ1V0eG9LZXljaGFpbidcbik7XG5cbmV4cG9ydCB0eXBlIFV0eG9LZXljaGFpbiA9IHQuVHlwZU9mPHR5cGVvZiBVdHhvS2V5Y2hhaW4+O1xuXG5leHBvcnQgY29uc3QgVXR4b05hbWVkS2V5Y2hhaW5zID0gdC50eXBlKHtcbiAgdXNlcjogVXR4b0tleWNoYWluLFxuICBiYWNrdXA6IFV0eG9LZXljaGFpbixcbiAgYml0Z286IFV0eG9LZXljaGFpbixcbn0pO1xuXG5leHBvcnQgdHlwZSBVdHhvTmFtZWRLZXljaGFpbnMgPSB0LlR5cGVPZjx0eXBlb2YgVXR4b05hbWVkS2V5Y2hhaW5zPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRvS2V5Y2hhaW5UcmlwbGUoa2V5Y2hhaW5zOiBVdHhvTmFtZWRLZXljaGFpbnMpOiBUcmlwbGU8VXR4b0tleWNoYWluPiB7XG4gIGNvbnN0IHsgdXNlciwgYmFja3VwLCBiaXRnbyB9ID0ga2V5Y2hhaW5zO1xuICByZXR1cm4gW3VzZXIsIGJhY2t1cCwgYml0Z29dO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9CaXAzMlRyaXBsZShcbiAga2V5Y2hhaW5zOiBiaXRnby5Sb290V2FsbGV0S2V5cyB8IFV0eG9OYW1lZEtleWNoYWlucyB8IFRyaXBsZTx7IHB1Yjogc3RyaW5nIH0+IHwgc3RyaW5nW11cbik6IFRyaXBsZTxCSVAzMkludGVyZmFjZT4ge1xuICBpZiAoa2V5Y2hhaW5zIGluc3RhbmNlb2YgYml0Z28uUm9vdFdhbGxldEtleXMpIHtcbiAgICByZXR1cm4ga2V5Y2hhaW5zLnRyaXBsZTtcbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheShrZXljaGFpbnMpKSB7XG4gICAgaWYgKGtleWNoYWlucy5sZW5ndGggIT09IDMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgMyBrZXljaGFpbnMnKTtcbiAgICB9XG4gICAgcmV0dXJuIGtleWNoYWlucy5tYXAoKGtleWNoYWluOiB7IHB1Yjogc3RyaW5nIH0gfCBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHYgPSB0eXBlb2Yga2V5Y2hhaW4gPT09ICdzdHJpbmcnID8ga2V5Y2hhaW4gOiBrZXljaGFpbi5wdWI7XG4gICAgICByZXR1cm4gYmlwMzIuZnJvbUJhc2U1OCh2KTtcbiAgICB9KSBhcyBUcmlwbGU8QklQMzJJbnRlcmZhY2U+O1xuICB9XG5cbiAgcmV0dXJuIHRvQmlwMzJUcmlwbGUodG9LZXljaGFpblRyaXBsZShrZXljaGFpbnMpKTtcbn1cblxuZnVuY3Rpb24gdG9YcHViKGtleWNoYWluOiB7IHB1Yjogc3RyaW5nIH0gfCBzdHJpbmcgfCBCSVAzMkludGVyZmFjZSk6IHN0cmluZyB7XG4gIGlmICh0eXBlb2Yga2V5Y2hhaW4gPT09ICdzdHJpbmcnKSB7XG4gICAgaWYgKGtleWNoYWluLnN0YXJ0c1dpdGgoJ3hwdWInKSkge1xuICAgICAgcmV0dXJuIGtleWNoYWluO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIHhwdWInKTtcbiAgfVxuICBpZiAoJ25ldXRlcmVkJyBpbiBrZXljaGFpbikge1xuICAgIHJldHVybiBrZXljaGFpbi5uZXV0ZXJlZCgpLnRvQmFzZTU4KCk7XG4gIH1cbiAgaWYgKCdwdWInIGluIGtleWNoYWluKSB7XG4gICAgcmV0dXJuIHRvWHB1YihrZXljaGFpbi5wdWIpO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQga2V5Y2hhaW4nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvWHB1YlRyaXBsZShcbiAga2V5Y2hhaW5zOiBVdHhvTmFtZWRLZXljaGFpbnMgfCBUcmlwbGU8eyBwdWI6IHN0cmluZyB9PiB8IFRyaXBsZTxzdHJpbmc+IHwgVHJpcGxlPEJJUDMySW50ZXJmYWNlPlxuKTogVHJpcGxlPHN0cmluZz4ge1xuICBpZiAoQXJyYXkuaXNBcnJheShrZXljaGFpbnMpKSB7XG4gICAgaWYgKGtleWNoYWlucy5sZW5ndGggIT09IDMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgMyBrZXljaGFpbnMnKTtcbiAgICB9XG4gICAgcmV0dXJuIGtleWNoYWlucy5tYXAoKGspID0+IHRvWHB1YihrKSkgYXMgVHJpcGxlPHN0cmluZz47XG4gIH1cbiAgcmV0dXJuIHRvWHB1YlRyaXBsZSh0b0tleWNoYWluVHJpcGxlKGtleWNoYWlucykpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hLZXljaGFpbnMoXG4gIGNvaW46IEFic3RyYWN0VXR4b0NvaW4sXG4gIHdhbGxldDogSVdhbGxldCxcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlclxuKTogUHJvbWlzZTxVdHhvTmFtZWRLZXljaGFpbnM+IHtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcHJvbWlzZVByb3BzKHtcbiAgICB1c2VyOiBjb2luLmtleWNoYWlucygpLmdldCh7IGlkOiB3YWxsZXQua2V5SWRzKClbS2V5SW5kaWNlcy5VU0VSXSwgcmVxSWQgfSksXG4gICAgYmFja3VwOiBjb2luLmtleWNoYWlucygpLmdldCh7IGlkOiB3YWxsZXQua2V5SWRzKClbS2V5SW5kaWNlcy5CQUNLVVBdLCByZXFJZCB9KSxcbiAgICBiaXRnbzogY29pbi5rZXljaGFpbnMoKS5nZXQoeyBpZDogd2FsbGV0LmtleUlkcygpW0tleUluZGljZXMuQklUR09dLCByZXFJZCB9KSxcbiAgfSk7XG4gIGFzc2VydChVdHhvTmFtZWRLZXljaGFpbnMuaXMocmVzdWx0KSk7XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogRmV0Y2ggd2FsbGV0IGtleXMgYXMgd2FzbS11dHhvIFJvb3RXYWxsZXRLZXlzXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaFdhc21Sb290V2FsbGV0S2V5cyhcbiAgY29pbjogQWJzdHJhY3RVdHhvQ29pbixcbiAgd2FsbGV0OiBJV2FsbGV0LFxuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyXG4pOiBQcm9taXNlPGZpeGVkU2NyaXB0V2FsbGV0LlJvb3RXYWxsZXRLZXlzPiB7XG4gIGNvbnN0IGtleWNoYWlucyA9IGF3YWl0IGZldGNoS2V5Y2hhaW5zKGNvaW4sIHdhbGxldCwgcmVxSWQpO1xuICByZXR1cm4gZml4ZWRTY3JpcHRXYWxsZXQuUm9vdFdhbGxldEtleXMuZnJvbShba2V5Y2hhaW5zLnVzZXIucHViLCBrZXljaGFpbnMuYmFja3VwLnB1Yiwga2V5Y2hhaW5zLmJpdGdvLnB1Yl0pO1xufVxuXG5leHBvcnQgY29uc3QgS2V5U2lnbmF0dXJlcyA9IHQucGFydGlhbCh7XG4gIGJhY2t1cFB1YjogdC5zdHJpbmcsXG4gIGJpdGdvUHViOiB0LnN0cmluZyxcbn0pO1xuXG5leHBvcnQgdHlwZSBLZXlTaWduYXR1cmVzID0gdC5UeXBlT2Y8dHlwZW9mIEtleVNpZ25hdHVyZXM+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0S2V5U2lnbmF0dXJlcyh3YWxsZXQ6IFV0eG9XYWxsZXQpOiBLZXlTaWduYXR1cmVzIHwgdW5kZWZpbmVkIHtcbiAgaWYgKHQucGFydGlhbCh7IGtleVNpZ25hdHVyZXM6IEtleVNpZ25hdHVyZXMgfSkuaXMod2FsbGV0Ll93YWxsZXQpKSB7XG4gICAgcmV0dXJuIHdhbGxldC5fd2FsbGV0LmtleVNpZ25hdHVyZXM7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbiJdfQ==
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2hhaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2tleWNoYWlucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxLQUFLLENBQUMsTUFBTSxPQUFPLENBQUM7QUFDM0IsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBMkIsVUFBVSxFQUFFLFlBQVksRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxLQUFLLEVBQVMsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUtuRTs7Ozs7O0dBTUc7QUFFSDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsWUFBWSxDQUN4QztJQUNFLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDTCxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU07S0FDZCxDQUFDO0lBQ0YsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNSLEdBQUcsRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNiLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTTtLQUN2QixDQUFDO0NBQ0gsRUFDRCxjQUFjLENBQ2YsQ0FBQztBQUlGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdkMsSUFBSSxFQUFFLFlBQVk7SUFDbEIsTUFBTSxFQUFFLFlBQVk7SUFDcEIsS0FBSyxFQUFFLFlBQVk7Q0FDcEIsQ0FBQyxDQUFDO0FBSUgsTUFBTSxVQUFVLGdCQUFnQixDQUFDLFNBQTZCO0lBQzVELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLFNBQVMsQ0FBQztJQUMxQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsU0FBeUY7SUFFekYsSUFBSSxTQUFTLFlBQVksS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzlDLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQWtCLENBQUM7SUFDdEYsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQzdCLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQWtDLEVBQUUsRUFBRTtZQUMxRCxNQUFNLENBQUMsR0FBRyxPQUFPLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUNqRSxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFrQixDQUFDO0lBQ3RCLENBQUM7SUFFRCxPQUFPLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQ3BELENBQUM7QUFFRCxTQUFTLE1BQU0sQ0FBQyxRQUF5RDtJQUN2RSxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2pDLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFJLFVBQVUsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMzQixPQUFPLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsSUFBSSxLQUFLLElBQUksUUFBUSxFQUFFLENBQUM7UUFDdEIsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQzFCLFNBQXVHO0lBRXZHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQzdCLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFtQixDQUFDO0lBQzNELENBQUM7SUFDRCxPQUFPLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQ25ELENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FDbEMsSUFBc0IsRUFDdEIsTUFBZSxFQUNmLEtBQXNCO0lBRXRCLE1BQU0sTUFBTSxHQUFHLE1BQU0sWUFBWSxDQUFDO1FBQ2hDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDM0UsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUMvRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQzlFLENBQUMsQ0FBQztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN0QyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLHVCQUF1QixDQUMzQyxJQUFzQixFQUN0QixNQUFlLEVBQ2YsS0FBc0I7SUFFdEIsTUFBTSxTQUFTLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1RCxPQUFPLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDaEgsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ3JDLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNuQixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU07Q0FDbkIsQ0FBQyxDQUFDO0FBSUgsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQWtCO0lBQ2pELElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNuRSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO0lBQ3RDLENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcbmltcG9ydCB7IGJpdGdvIH0gZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IElSZXF1ZXN0VHJhY2VyLCBJV2FsbGV0LCBLZXlJbmRpY2VzLCBwcm9taXNlUHJvcHMsIFRyaXBsZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCSVAzMiwgYmlwMzIsIGZpeGVkU2NyaXB0V2FsbGV0IH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5cbmltcG9ydCB7IEFic3RyYWN0VXR4b0NvaW4gfSBmcm9tICcuL2Fic3RyYWN0VXR4b0NvaW4nO1xuaW1wb3J0IHsgVXR4b1dhbGxldCB9IGZyb20gJy4vd2FsbGV0JztcblxuLypcblxuVGhlIHN0YW5kYXJkIEtleWNoYWluIHR5cGUgZnJvbSBzZGstY29yZSByZXF1aXJlcyBhIGJ1bmNoIG9mIHVuaW50ZXJlc3RpbmcgcGFyYW1ldGVycyBsaWtlIGBpZGAgYW5kIGB0eXBlYCBhbmQgbGVhdmVzXG5pbXBvcnRhbnQgZmllbGRzIGxpa2UgYHB1YmAgYW5kIGBwcnZgIG9wdGlvbmFsLlxuXG5UaGlzIGlzIGEgbW9yZSBmb2N1c2VkIHR5cGUgdGhhdCBvbmx5IGluY2x1ZGVzIHRoZSBmaWVsZHMgd2UgY2FyZSBhYm91dC5cbiAqL1xuXG4vKipcbiAqIEEga2V5Y2hhaW4gZm9yIGEgVVRYTyB3YWxsZXQuXG4gKi9cbmV4cG9ydCBjb25zdCBVdHhvS2V5Y2hhaW4gPSB0LmludGVyc2VjdGlvbihcbiAgW1xuICAgIHQudHlwZSh7XG4gICAgICBwdWI6IHQuc3RyaW5nLFxuICAgIH0pLFxuICAgIHQucGFydGlhbCh7XG4gICAgICBwcnY6IHQuc3RyaW5nLFxuICAgICAgZW5jcnlwdGVkUHJ2OiB0LnN0cmluZyxcbiAgICB9KSxcbiAgXSxcbiAgJ1V0eG9LZXljaGFpbidcbik7XG5cbmV4cG9ydCB0eXBlIFV0eG9LZXljaGFpbiA9IHQuVHlwZU9mPHR5cGVvZiBVdHhvS2V5Y2hhaW4+O1xuXG5leHBvcnQgY29uc3QgVXR4b05hbWVkS2V5Y2hhaW5zID0gdC50eXBlKHtcbiAgdXNlcjogVXR4b0tleWNoYWluLFxuICBiYWNrdXA6IFV0eG9LZXljaGFpbixcbiAgYml0Z286IFV0eG9LZXljaGFpbixcbn0pO1xuXG5leHBvcnQgdHlwZSBVdHhvTmFtZWRLZXljaGFpbnMgPSB0LlR5cGVPZjx0eXBlb2YgVXR4b05hbWVkS2V5Y2hhaW5zPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRvS2V5Y2hhaW5UcmlwbGUoa2V5Y2hhaW5zOiBVdHhvTmFtZWRLZXljaGFpbnMpOiBUcmlwbGU8VXR4b0tleWNoYWluPiB7XG4gIGNvbnN0IHsgdXNlciwgYmFja3VwLCBiaXRnbyB9ID0ga2V5Y2hhaW5zO1xuICByZXR1cm4gW3VzZXIsIGJhY2t1cCwgYml0Z29dO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9CaXAzMlRyaXBsZShcbiAga2V5Y2hhaW5zOiBiaXRnby5Sb290V2FsbGV0S2V5cyB8IFV0eG9OYW1lZEtleWNoYWlucyB8IFRyaXBsZTx7IHB1Yjogc3RyaW5nIH0+IHwgc3RyaW5nW11cbik6IFRyaXBsZTxCSVAzMj4ge1xuICBpZiAoa2V5Y2hhaW5zIGluc3RhbmNlb2YgYml0Z28uUm9vdFdhbGxldEtleXMpIHtcbiAgICByZXR1cm4ga2V5Y2hhaW5zLnRyaXBsZS5tYXAoKGspID0+IEJJUDMyLmZyb21CYXNlNTgoay50b0Jhc2U1OCgpKSkgYXMgVHJpcGxlPEJJUDMyPjtcbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheShrZXljaGFpbnMpKSB7XG4gICAgaWYgKGtleWNoYWlucy5sZW5ndGggIT09IDMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgMyBrZXljaGFpbnMnKTtcbiAgICB9XG4gICAgcmV0dXJuIGtleWNoYWlucy5tYXAoKGtleWNoYWluOiB7IHB1Yjogc3RyaW5nIH0gfCBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHYgPSB0eXBlb2Yga2V5Y2hhaW4gPT09ICdzdHJpbmcnID8ga2V5Y2hhaW4gOiBrZXljaGFpbi5wdWI7XG4gICAgICByZXR1cm4gQklQMzIuZnJvbUJhc2U1OCh2KTtcbiAgICB9KSBhcyBUcmlwbGU8QklQMzI+O1xuICB9XG5cbiAgcmV0dXJuIHRvQmlwMzJUcmlwbGUodG9LZXljaGFpblRyaXBsZShrZXljaGFpbnMpKTtcbn1cblxuZnVuY3Rpb24gdG9YcHViKGtleWNoYWluOiB7IHB1Yjogc3RyaW5nIH0gfCBzdHJpbmcgfCBiaXAzMi5CSVAzMkludGVyZmFjZSk6IHN0cmluZyB7XG4gIGlmICh0eXBlb2Yga2V5Y2hhaW4gPT09ICdzdHJpbmcnKSB7XG4gICAgaWYgKGtleWNoYWluLnN0YXJ0c1dpdGgoJ3hwdWInKSkge1xuICAgICAgcmV0dXJuIGtleWNoYWluO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIHhwdWInKTtcbiAgfVxuICBpZiAoJ25ldXRlcmVkJyBpbiBrZXljaGFpbikge1xuICAgIHJldHVybiBrZXljaGFpbi5uZXV0ZXJlZCgpLnRvQmFzZTU4KCk7XG4gIH1cbiAgaWYgKCdwdWInIGluIGtleWNoYWluKSB7XG4gICAgcmV0dXJuIHRvWHB1YihrZXljaGFpbi5wdWIpO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQga2V5Y2hhaW4nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvWHB1YlRyaXBsZShcbiAga2V5Y2hhaW5zOiBVdHhvTmFtZWRLZXljaGFpbnMgfCBUcmlwbGU8eyBwdWI6IHN0cmluZyB9PiB8IFRyaXBsZTxzdHJpbmc+IHwgVHJpcGxlPGJpcDMyLkJJUDMySW50ZXJmYWNlPlxuKTogVHJpcGxlPHN0cmluZz4ge1xuICBpZiAoQXJyYXkuaXNBcnJheShrZXljaGFpbnMpKSB7XG4gICAgaWYgKGtleWNoYWlucy5sZW5ndGggIT09IDMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgMyBrZXljaGFpbnMnKTtcbiAgICB9XG4gICAgcmV0dXJuIGtleWNoYWlucy5tYXAoKGspID0+IHRvWHB1YihrKSkgYXMgVHJpcGxlPHN0cmluZz47XG4gIH1cbiAgcmV0dXJuIHRvWHB1YlRyaXBsZSh0b0tleWNoYWluVHJpcGxlKGtleWNoYWlucykpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hLZXljaGFpbnMoXG4gIGNvaW46IEFic3RyYWN0VXR4b0NvaW4sXG4gIHdhbGxldDogSVdhbGxldCxcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlclxuKTogUHJvbWlzZTxVdHhvTmFtZWRLZXljaGFpbnM+IHtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcHJvbWlzZVByb3BzKHtcbiAgICB1c2VyOiBjb2luLmtleWNoYWlucygpLmdldCh7IGlkOiB3YWxsZXQua2V5SWRzKClbS2V5SW5kaWNlcy5VU0VSXSwgcmVxSWQgfSksXG4gICAgYmFja3VwOiBjb2luLmtleWNoYWlucygpLmdldCh7IGlkOiB3YWxsZXQua2V5SWRzKClbS2V5SW5kaWNlcy5CQUNLVVBdLCByZXFJZCB9KSxcbiAgICBiaXRnbzogY29pbi5rZXljaGFpbnMoKS5nZXQoeyBpZDogd2FsbGV0LmtleUlkcygpW0tleUluZGljZXMuQklUR09dLCByZXFJZCB9KSxcbiAgfSk7XG4gIGFzc2VydChVdHhvTmFtZWRLZXljaGFpbnMuaXMocmVzdWx0KSk7XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogRmV0Y2ggd2FsbGV0IGtleXMgYXMgd2FzbS11dHhvIFJvb3RXYWxsZXRLZXlzXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaFdhc21Sb290V2FsbGV0S2V5cyhcbiAgY29pbjogQWJzdHJhY3RVdHhvQ29pbixcbiAgd2FsbGV0OiBJV2FsbGV0LFxuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyXG4pOiBQcm9taXNlPGZpeGVkU2NyaXB0V2FsbGV0LlJvb3RXYWxsZXRLZXlzPiB7XG4gIGNvbnN0IGtleWNoYWlucyA9IGF3YWl0IGZldGNoS2V5Y2hhaW5zKGNvaW4sIHdhbGxldCwgcmVxSWQpO1xuICByZXR1cm4gZml4ZWRTY3JpcHRXYWxsZXQuUm9vdFdhbGxldEtleXMuZnJvbShba2V5Y2hhaW5zLnVzZXIucHViLCBrZXljaGFpbnMuYmFja3VwLnB1Yiwga2V5Y2hhaW5zLmJpdGdvLnB1Yl0pO1xufVxuXG5leHBvcnQgY29uc3QgS2V5U2lnbmF0dXJlcyA9IHQucGFydGlhbCh7XG4gIGJhY2t1cFB1YjogdC5zdHJpbmcsXG4gIGJpdGdvUHViOiB0LnN0cmluZyxcbn0pO1xuXG5leHBvcnQgdHlwZSBLZXlTaWduYXR1cmVzID0gdC5UeXBlT2Y8dHlwZW9mIEtleVNpZ25hdHVyZXM+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0S2V5U2lnbmF0dXJlcyh3YWxsZXQ6IFV0eG9XYWxsZXQpOiBLZXlTaWduYXR1cmVzIHwgdW5kZWZpbmVkIHtcbiAgaWYgKHQucGFydGlhbCh7IGtleVNpZ25hdHVyZXM6IEtleVNpZ25hdHVyZXMgfSkuaXMod2FsbGV0Ll93YWxsZXQpKSB7XG4gICAgcmV0dXJuIHdhbGxldC5fd2FsbGV0LmtleVNpZ25hdHVyZXM7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbiJdfQ==
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { bip32 } from '@bitgo/wasm-utxo';
|
|
2
2
|
import { UtxoCoinName } from '../names';
|
|
3
3
|
export type OfflineVaultHalfSigned = {
|
|
4
4
|
halfSigned: {
|
|
5
5
|
txHex: string;
|
|
6
6
|
};
|
|
7
7
|
};
|
|
8
|
-
export declare function createHalfSigned(coinName: UtxoCoinName, prv: string | BIP32Interface, derivationId: string, tx: unknown): OfflineVaultHalfSigned;
|
|
8
|
+
export declare function createHalfSigned(coinName: UtxoCoinName, prv: string | bip32.BIP32Interface, derivationId: string, tx: unknown): OfflineVaultHalfSigned;
|
|
9
9
|
//# sourceMappingURL=OfflineVaultHalfSigned.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OfflineVaultHalfSigned.d.ts","sourceRoot":"","sources":["../../../src/offlineVault/OfflineVaultHalfSigned.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"OfflineVaultHalfSigned.d.ts","sourceRoot":"","sources":["../../../src/offlineVault/OfflineVaultHalfSigned.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,EAAQ,MAAM,kBAAkB,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAMxC,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/B,CAAC;AAMF,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,YAAY,EACtB,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,cAAc,EAClC,YAAY,EAAE,MAAM,EACpB,EAAE,EAAE,OAAO,GACV,sBAAsB,CAUxB"}
|
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BIP32 } from '@bitgo/wasm-utxo';
|
|
2
2
|
import { BaseCoin } from '@bitgo/sdk-core';
|
|
3
|
+
import { toUtxolibBIP32 } from '../wasmUtil';
|
|
3
4
|
import { OfflineVaultSignable } from './OfflineVaultSignable';
|
|
4
5
|
import { DescriptorTransaction, getHalfSignedPsbt } from './descriptor';
|
|
5
6
|
function createHalfSignedFromPsbt(psbt) {
|
|
6
7
|
return { halfSigned: { txHex: Buffer.from(psbt.serialize()).toString('hex') } };
|
|
7
8
|
}
|
|
8
9
|
export function createHalfSigned(coinName, prv, derivationId, tx) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
prv = BaseCoin.deriveKeyWithSeedBip32(prv, derivationId).key;
|
|
10
|
+
const key = typeof prv === 'string' ? BIP32.fromBase58(prv) : prv;
|
|
11
|
+
const derivedKey = BaseCoin.deriveKeyWithSeedBip32(toUtxolibBIP32(key), derivationId).key;
|
|
13
12
|
if (!OfflineVaultSignable.is(tx)) {
|
|
14
13
|
throw new Error('unsupported transaction type');
|
|
15
14
|
}
|
|
16
15
|
if (DescriptorTransaction.is(tx)) {
|
|
17
|
-
return createHalfSignedFromPsbt(getHalfSignedPsbt(tx,
|
|
16
|
+
return createHalfSignedFromPsbt(getHalfSignedPsbt(tx, derivedKey, coinName));
|
|
18
17
|
}
|
|
19
18
|
throw new Error('unsupported transaction type');
|
|
20
19
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmbGluZVZhdWx0SGFsZlNpZ25lZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vZmZsaW5lVmF1bHQvT2ZmbGluZVZhdWx0SGFsZlNpZ25lZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFlLE1BQU0sa0JBQWtCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBTXhFLFNBQVMsd0JBQXdCLENBQUMsSUFBVTtJQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNsRixDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixRQUFzQixFQUN0QixHQUFrQyxFQUNsQyxZQUFvQixFQUNwQixFQUFXO0lBRVgsTUFBTSxHQUFHLEdBQUcsT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDbEUsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDMUYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsSUFBSSxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxPQUFPLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCSVAzMiwgYmlwMzIsIFBzYnQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCB7IEJhc2VDb2luIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcblxuaW1wb3J0IHsgVXR4b0NvaW5OYW1lIH0gZnJvbSAnLi4vbmFtZXMnO1xuaW1wb3J0IHsgdG9VdHhvbGliQklQMzIgfSBmcm9tICcuLi93YXNtVXRpbCc7XG5cbmltcG9ydCB7IE9mZmxpbmVWYXVsdFNpZ25hYmxlIH0gZnJvbSAnLi9PZmZsaW5lVmF1bHRTaWduYWJsZSc7XG5pbXBvcnQgeyBEZXNjcmlwdG9yVHJhbnNhY3Rpb24sIGdldEhhbGZTaWduZWRQc2J0IH0gZnJvbSAnLi9kZXNjcmlwdG9yJztcblxuZXhwb3J0IHR5cGUgT2ZmbGluZVZhdWx0SGFsZlNpZ25lZCA9IHtcbiAgaGFsZlNpZ25lZDogeyB0eEhleDogc3RyaW5nIH07XG59O1xuXG5mdW5jdGlvbiBjcmVhdGVIYWxmU2lnbmVkRnJvbVBzYnQocHNidDogUHNidCk6IE9mZmxpbmVWYXVsdEhhbGZTaWduZWQge1xuICByZXR1cm4geyBoYWxmU2lnbmVkOiB7IHR4SGV4OiBCdWZmZXIuZnJvbShwc2J0LnNlcmlhbGl6ZSgpKS50b1N0cmluZygnaGV4JykgfSB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSGFsZlNpZ25lZChcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZSxcbiAgcHJ2OiBzdHJpbmcgfCBiaXAzMi5CSVAzMkludGVyZmFjZSxcbiAgZGVyaXZhdGlvbklkOiBzdHJpbmcsXG4gIHR4OiB1bmtub3duXG4pOiBPZmZsaW5lVmF1bHRIYWxmU2lnbmVkIHtcbiAgY29uc3Qga2V5ID0gdHlwZW9mIHBydiA9PT0gJ3N0cmluZycgPyBCSVAzMi5mcm9tQmFzZTU4KHBydikgOiBwcnY7XG4gIGNvbnN0IGRlcml2ZWRLZXkgPSBCYXNlQ29pbi5kZXJpdmVLZXlXaXRoU2VlZEJpcDMyKHRvVXR4b2xpYkJJUDMyKGtleSksIGRlcml2YXRpb25JZCkua2V5O1xuICBpZiAoIU9mZmxpbmVWYXVsdFNpZ25hYmxlLmlzKHR4KSkge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gdHlwZScpO1xuICB9XG4gIGlmIChEZXNjcmlwdG9yVHJhbnNhY3Rpb24uaXModHgpKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUhhbGZTaWduZWRGcm9tUHNidChnZXRIYWxmU2lnbmVkUHNidCh0eCwgZGVyaXZlZEtleSwgY29pbk5hbWUpKTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ3Vuc3VwcG9ydGVkIHRyYW5zYWN0aW9uIHR5cGUnKTtcbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BIP32 } from '@bitgo/wasm-utxo';
|
|
2
2
|
import { Triple } from '@bitgo/sdk-core';
|
|
3
3
|
import * as t from 'io-ts';
|
|
4
4
|
export declare const XPubWithDerivationPath: t.IntersectionC<[t.TypeC<{
|
|
@@ -41,6 +41,6 @@ type NamedKeys = {
|
|
|
41
41
|
backup: WithXpub;
|
|
42
42
|
bitgo: WithXpub;
|
|
43
43
|
};
|
|
44
|
-
export declare function toKeyTriple(xpubs: NamedKeys): Triple<
|
|
44
|
+
export declare function toKeyTriple(xpubs: NamedKeys): Triple<BIP32>;
|
|
45
45
|
export {};
|
|
46
46
|
//# sourceMappingURL=OfflineVaultSignable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OfflineVaultSignable.d.ts","sourceRoot":"","sources":["../../../src/offlineVault/OfflineVaultSignable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"OfflineVaultSignable.d.ts","sourceRoot":"","sources":["../../../src/offlineVault/OfflineVaultSignable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAE3B,eAAO,MAAM,sBAAsB;;;;IAGlC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;EAUhC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEzE,KAAK,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AACjC,KAAK,SAAS,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC;AACvE,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAE3D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BIP32 } from '@bitgo/wasm-utxo';
|
|
2
2
|
import * as t from 'io-ts';
|
|
3
3
|
export const XPubWithDerivationPath = t.intersection([t.type({ xpub: t.string }), t.partial({ derivedFromParentWithSeed: t.string })], 'XPubWithDerivationPath');
|
|
4
4
|
/**
|
|
@@ -13,6 +13,6 @@ export const OfflineVaultSignable = t.type({
|
|
|
13
13
|
coinSpecific: t.type({ txHex: t.string }),
|
|
14
14
|
}, 'BaseTransaction');
|
|
15
15
|
export function toKeyTriple(xpubs) {
|
|
16
|
-
return [xpubs.user.xpub, xpubs.backup.xpub, xpubs.bitgo.xpub]
|
|
16
|
+
return [BIP32.fromBase58(xpubs.user.xpub), BIP32.fromBase58(xpubs.backup.xpub), BIP32.fromBase58(xpubs.bitgo.xpub)];
|
|
17
17
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmbGluZVZhdWx0U2lnbmFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvb2ZmbGluZVZhdWx0L09mZmxpbmVWYXVsdFNpZ25hYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV6QyxPQUFPLEtBQUssQ0FBQyxNQUFNLE9BQU8sQ0FBQztBQUUzQixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUNsRCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLHlCQUF5QixFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQ2hGLHdCQUF3QixDQUN6QixDQUFDO0FBSUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUN4QztJQUNFLHVCQUF1QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDOUIsSUFBSSxFQUFFLHNCQUFzQjtRQUM1QixNQUFNLEVBQUUsc0JBQXNCO1FBQzlCLEtBQUssRUFBRSxzQkFBc0I7S0FDOUIsQ0FBQztJQUNGLFlBQVksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztDQUMxQyxFQUNELGlCQUFpQixDQUNsQixDQUFDO0FBTUYsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFnQjtJQUMxQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUN0SCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQklQMzIgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCB7IFRyaXBsZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcblxuZXhwb3J0IGNvbnN0IFhQdWJXaXRoRGVyaXZhdGlvblBhdGggPSB0LmludGVyc2VjdGlvbihcbiAgW3QudHlwZSh7IHhwdWI6IHQuc3RyaW5nIH0pLCB0LnBhcnRpYWwoeyBkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkOiB0LnN0cmluZyB9KV0sXG4gICdYUHViV2l0aERlcml2YXRpb25QYXRoJ1xuKTtcblxuZXhwb3J0IHR5cGUgWFB1YldpdGhEZXJpdmF0aW9uUGF0aCA9IHQuVHlwZU9mPHR5cGVvZiBYUHViV2l0aERlcml2YXRpb25QYXRoPjtcblxuLyoqXG4gKiBUaGlzIGlzIHRoZSB0cmFuc2FjdGlvbiBwYXlsb2FkIHRoYXQgaXMgc2VudCB0byB0aGUgb2ZmbGluZSB2YXVsdCB0byBzaWduLlxuICovXG5leHBvcnQgY29uc3QgT2ZmbGluZVZhdWx0U2lnbmFibGUgPSB0LnR5cGUoXG4gIHtcbiAgICB4cHVic1dpdGhEZXJpdmF0aW9uUGF0aDogdC50eXBlKHtcbiAgICAgIHVzZXI6IFhQdWJXaXRoRGVyaXZhdGlvblBhdGgsXG4gICAgICBiYWNrdXA6IFhQdWJXaXRoRGVyaXZhdGlvblBhdGgsXG4gICAgICBiaXRnbzogWFB1YldpdGhEZXJpdmF0aW9uUGF0aCxcbiAgICB9KSxcbiAgICBjb2luU3BlY2lmaWM6IHQudHlwZSh7IHR4SGV4OiB0LnN0cmluZyB9KSxcbiAgfSxcbiAgJ0Jhc2VUcmFuc2FjdGlvbidcbik7XG5cbmV4cG9ydCB0eXBlIE9mZmxpbmVWYXVsdFVuc2lnbmVkID0gdC5UeXBlT2Y8dHlwZW9mIE9mZmxpbmVWYXVsdFNpZ25hYmxlPjtcblxudHlwZSBXaXRoWHB1YiA9IHsgeHB1Yjogc3RyaW5nIH07XG50eXBlIE5hbWVkS2V5cyA9IHsgdXNlcjogV2l0aFhwdWI7IGJhY2t1cDogV2l0aFhwdWI7IGJpdGdvOiBXaXRoWHB1YiB9O1xuZXhwb3J0IGZ1bmN0aW9uIHRvS2V5VHJpcGxlKHhwdWJzOiBOYW1lZEtleXMpOiBUcmlwbGU8QklQMzI+IHtcbiAgcmV0dXJuIFtCSVAzMi5mcm9tQmFzZTU4KHhwdWJzLnVzZXIueHB1YiksIEJJUDMyLmZyb21CYXNlNTgoeHB1YnMuYmFja3VwLnhwdWIpLCBCSVAzMi5mcm9tQmFzZTU4KHhwdWJzLmJpdGdvLnhwdWIpXTtcbn1cbiJdfQ==
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as t from 'io-ts';
|
|
2
|
-
import { Psbt } from '@bitgo/wasm-utxo';
|
|
3
|
-
import type { BIP32Interface } from '@bitgo/utxo-lib';
|
|
2
|
+
import { bip32, Psbt } from '@bitgo/wasm-utxo';
|
|
4
3
|
import { DescriptorMap } from '../../descriptor';
|
|
5
4
|
import { TransactionExplanation } from '../TransactionExplanation';
|
|
6
5
|
import { UtxoCoinName } from '../../names';
|
|
@@ -35,6 +34,6 @@ export declare const DescriptorTransaction: t.IntersectionC<[t.TypeC<{
|
|
|
35
34
|
}>]>;
|
|
36
35
|
export type DescriptorTransaction = t.TypeOf<typeof DescriptorTransaction>;
|
|
37
36
|
export declare function getDescriptorsFromDescriptorTransaction(tx: DescriptorTransaction): DescriptorMap;
|
|
38
|
-
export declare function getHalfSignedPsbt(tx: DescriptorTransaction, prv: BIP32Interface, coinName: UtxoCoinName): Psbt;
|
|
37
|
+
export declare function getHalfSignedPsbt(tx: DescriptorTransaction, prv: bip32.BIP32Interface, coinName: UtxoCoinName): Psbt;
|
|
39
38
|
export declare function getTransactionExplanationFromPsbt(tx: DescriptorTransaction, coinName: UtxoCoinName): TransactionExplanation<string>;
|
|
40
39
|
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/offlineVault/descriptor/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/offlineVault/descriptor/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAmB,MAAM,kBAAkB,CAAC;AASlE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGjC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE3E,wBAAgB,uCAAuC,CAAC,EAAE,EAAE,qBAAqB,GAAG,aAAa,CAUhG;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,qBAAqB,EAAE,GAAG,EAAE,KAAK,CAAC,cAAc,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAKpH;AAED,wBAAgB,iCAAiC,CAC/C,EAAE,EAAE,qBAAqB,EACzB,QAAQ,EAAE,YAAY,GACrB,sBAAsB,CAAC,MAAM,CAAC,CAehC"}
|
|
@@ -38,4 +38,4 @@ export function getTransactionExplanationFromPsbt(tx, coinName) {
|
|
|
38
38
|
},
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvb2ZmbGluZVZhdWx0L2Rlc2NyaXB0b3IvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLENBQUMsTUFBTSxPQUFPLENBQUM7QUFHM0IsT0FBTyxFQUFpQixlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUUsT0FBTyxFQUNMLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLHVCQUF1QixHQUN4QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxZQUFZLENBQ2pELENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUN6RSx1QkFBdUIsQ0FDeEIsQ0FBQztBQUlGLE1BQU0sVUFBVSx1Q0FBdUMsQ0FBQyxFQUF5QjtJQUMvRSxNQUFNLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3BELE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3JELE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDO1FBQzlCLHdFQUF3RTtRQUN4RSwwQkFBMEIsQ0FBQyxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9FLCtDQUErQztRQUMvQywyQkFBMkIsRUFBRTtLQUM5QixDQUFDLENBQUM7SUFDSCxPQUFPLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDL0QsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxFQUF5QixFQUFFLEdBQXlCLEVBQUUsUUFBc0I7SUFDNUcsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNuRSxNQUFNLGFBQWEsR0FBRyx1Q0FBdUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsRSxRQUFRLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNoRSxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsaUNBQWlDLENBQy9DLEVBQXlCLEVBQ3pCLFFBQXNCO0lBRXRCLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkUsTUFBTSxhQUFhLEdBQUcsdUNBQXVDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEUsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkYsT0FBTztRQUNMLE9BQU87UUFDUCxhQUFhO1FBQ2IsR0FBRyxFQUFFO1lBQ0gsaUJBQWlCO1lBQ2pCLEdBQUc7WUFDSCxVQUFVO1lBQ1YsY0FBYyxFQUFFLFNBQVM7WUFDekIsZUFBZSxFQUFFLFNBQVM7U0FDM0I7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0IHsgYmlwMzIsIFBzYnQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcblxuaW1wb3J0IHsgRGVzY3JpcHRvck1hcCwgTmFtZWREZXNjcmlwdG9yIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBPZmZsaW5lVmF1bHRTaWduYWJsZSwgdG9LZXlUcmlwbGUgfSBmcm9tICcuLi9PZmZsaW5lVmF1bHRTaWduYWJsZSc7XG5pbXBvcnQge1xuICBnZXRWYWxpZGF0b3JPbmVPZlRlbXBsYXRlcyxcbiAgZ2V0VmFsaWRhdG9yU2lnbmVkQnlVc2VyS2V5LFxuICBnZXRWYWxpZGF0b3JTb21lLFxuICB0b0Rlc2NyaXB0b3JNYXBWYWxpZGF0ZSxcbn0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvci92YWxpZGF0ZVBvbGljeSc7XG5pbXBvcnQgeyBleHBsYWluUHNidCwgc2lnblBzYnQgfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi9kZXNjcmlwdG9yJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gfSBmcm9tICcuLi9UcmFuc2FjdGlvbkV4cGxhbmF0aW9uJztcbmltcG9ydCB7IFV0eG9Db2luTmFtZSB9IGZyb20gJy4uLy4uL25hbWVzJztcbmltcG9ydCB7IHRvV2FzbVBzYnQgfSBmcm9tICcuLi8uLi93YXNtVXRpbCc7XG5cbmV4cG9ydCBjb25zdCBEZXNjcmlwdG9yVHJhbnNhY3Rpb24gPSB0LmludGVyc2VjdGlvbihcbiAgW09mZmxpbmVWYXVsdFNpZ25hYmxlLCB0LnR5cGUoeyBkZXNjcmlwdG9yczogdC5hcnJheShOYW1lZERlc2NyaXB0b3IpIH0pXSxcbiAgJ0Rlc2NyaXB0b3JUcmFuc2FjdGlvbidcbik7XG5cbmV4cG9ydCB0eXBlIERlc2NyaXB0b3JUcmFuc2FjdGlvbiA9IHQuVHlwZU9mPHR5cGVvZiBEZXNjcmlwdG9yVHJhbnNhY3Rpb24+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVzY3JpcHRvcnNGcm9tRGVzY3JpcHRvclRyYW5zYWN0aW9uKHR4OiBEZXNjcmlwdG9yVHJhbnNhY3Rpb24pOiBEZXNjcmlwdG9yTWFwIHtcbiAgY29uc3QgeyBkZXNjcmlwdG9ycywgeHB1YnNXaXRoRGVyaXZhdGlvblBhdGggfSA9IHR4O1xuICBjb25zdCBwdWJrZXlzID0gdG9LZXlUcmlwbGUoeHB1YnNXaXRoRGVyaXZhdGlvblBhdGgpO1xuICBjb25zdCBwb2xpY3kgPSBnZXRWYWxpZGF0b3JTb21lKFtcbiAgICAvLyBhbGxvdyBhbGwgMi1vZi0zLWlzaCBkZXNjcmlwdG9ycyB3aGVyZSB0aGUga2V5cyBtYXRjaCB0aGUgd2FsbGV0IGtleXNcbiAgICBnZXRWYWxpZGF0b3JPbmVPZlRlbXBsYXRlcyhbJ1dzaDJPZjMnLCAnV3NoMk9mM0NsdHZEcm9wJywgJ1NoV3NoMk9mM0NsdHZEcm9wJ10pLFxuICAgIC8vIGFsbG93IGFsbCBkZXNjcmlwdG9ycyBzaWduZWQgYnkgdGhlIHVzZXIga2V5XG4gICAgZ2V0VmFsaWRhdG9yU2lnbmVkQnlVc2VyS2V5KCksXG4gIF0pO1xuICByZXR1cm4gdG9EZXNjcmlwdG9yTWFwVmFsaWRhdGUoZGVzY3JpcHRvcnMsIHB1YmtleXMsIHBvbGljeSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIYWxmU2lnbmVkUHNidCh0eDogRGVzY3JpcHRvclRyYW5zYWN0aW9uLCBwcnY6IGJpcDMyLkJJUDMySW50ZXJmYWNlLCBjb2luTmFtZTogVXR4b0NvaW5OYW1lKTogUHNidCB7XG4gIGNvbnN0IHBzYnQgPSB0b1dhc21Qc2J0KEJ1ZmZlci5mcm9tKHR4LmNvaW5TcGVjaWZpYy50eEhleCwgJ2hleCcpKTtcbiAgY29uc3QgZGVzY3JpcHRvck1hcCA9IGdldERlc2NyaXB0b3JzRnJvbURlc2NyaXB0b3JUcmFuc2FjdGlvbih0eCk7XG4gIHNpZ25Qc2J0KHBzYnQsIGRlc2NyaXB0b3JNYXAsIHBydiwgeyBvblVua25vd25JbnB1dDogJ3Rocm93JyB9KTtcbiAgcmV0dXJuIHBzYnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uRnJvbVBzYnQoXG4gIHR4OiBEZXNjcmlwdG9yVHJhbnNhY3Rpb24sXG4gIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWVcbik6IFRyYW5zYWN0aW9uRXhwbGFuYXRpb248c3RyaW5nPiB7XG4gIGNvbnN0IHBzYnQgPSB0b1dhc21Qc2J0KEJ1ZmZlci5mcm9tKHR4LmNvaW5TcGVjaWZpYy50eEhleCwgJ2hleCcpKTtcbiAgY29uc3QgZGVzY3JpcHRvck1hcCA9IGdldERlc2NyaXB0b3JzRnJvbURlc2NyaXB0b3JUcmFuc2FjdGlvbih0eCk7XG4gIGNvbnN0IHsgb3V0cHV0cywgY2hhbmdlT3V0cHV0cywgZmVlIH0gPSBleHBsYWluUHNidChwc2J0LCBkZXNjcmlwdG9yTWFwLCBjb2luTmFtZSk7XG4gIHJldHVybiB7XG4gICAgb3V0cHV0cyxcbiAgICBjaGFuZ2VPdXRwdXRzLFxuICAgIGZlZToge1xuICAgICAgLyogbmV0d29yayBmZWUgKi9cbiAgICAgIGZlZSxcbiAgICAgIC8qIFRPRE8gKi9cbiAgICAgIHBheUdvRmVlU3RyaW5nOiB1bmRlZmluZWQsXG4gICAgICBwYXlHb0ZlZUFkZHJlc3M6IHVuZGVmaW5lZCxcbiAgICB9LFxuICB9O1xufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crossChainRecovery.d.ts","sourceRoot":"","sources":["../../../src/recovery/crossChainRecovery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"crossChainRecovery.d.ts","sourceRoot":"","sources":["../../../src/recovery/crossChainRecovery.ts"],"names":[],"mappings":"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"}
|