@bitgo/abstract-utxo 12.6.0 → 13.0.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 +7 -2
- package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/cjs/src/abstractUtxoCoin.js +19 -34
- package/dist/cjs/src/address/fixedScript.d.ts +4 -4
- package/dist/cjs/src/address/fixedScript.d.ts.map +1 -1
- package/dist/cjs/src/address/fixedScript.js +4 -3
- package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.d.ts +2 -2
- package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -1
- package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.js +3 -4
- package/dist/cjs/src/impl/bch/bch.d.ts +15 -1
- package/dist/cjs/src/impl/bch/bch.d.ts.map +1 -1
- package/dist/cjs/src/impl/bch/bch.js +29 -5
- package/dist/cjs/src/impl/btc/index.d.ts +2 -0
- package/dist/cjs/src/impl/btc/index.d.ts.map +1 -1
- package/dist/cjs/src/impl/btc/index.js +3 -1
- package/dist/cjs/src/impl/btc/inscriptionBuilder.js +4 -4
- package/dist/cjs/src/impl/btc/tbtcstx.d.ts +10 -0
- package/dist/cjs/src/impl/btc/tbtcstx.d.ts.map +1 -0
- package/dist/cjs/src/impl/btc/tbtcstx.js +18 -0
- package/dist/cjs/src/impl/btc/tbtcstxprivate1.d.ts +9 -0
- package/dist/cjs/src/impl/btc/tbtcstxprivate1.d.ts.map +1 -0
- package/dist/cjs/src/impl/btc/tbtcstxprivate1.js +15 -0
- package/dist/cjs/src/impl/zec/address.d.ts +51 -0
- package/dist/cjs/src/impl/zec/address.d.ts.map +1 -1
- package/dist/cjs/src/impl/zec/address.js +103 -1
- package/dist/cjs/src/impl/zec/recipients.d.ts +4 -2
- package/dist/cjs/src/impl/zec/recipients.d.ts.map +1 -1
- package/dist/cjs/src/impl/zec/recipients.js +7 -3
- package/dist/cjs/src/impl/zec/types.d.ts +5 -2
- package/dist/cjs/src/impl/zec/types.d.ts.map +1 -1
- package/dist/cjs/src/impl/zec/types.js +1 -1
- package/dist/cjs/src/impl/zec/zec.d.ts +23 -2
- package/dist/cjs/src/impl/zec/zec.d.ts.map +1 -1
- package/dist/cjs/src/impl/zec/zec.js +61 -2
- package/dist/cjs/src/names.d.ts +5 -2
- package/dist/cjs/src/names.d.ts.map +1 -1
- package/dist/cjs/src/names.js +19 -1
- package/dist/cjs/src/recovery/backupKeyRecovery.d.ts +2 -2
- package/dist/cjs/src/recovery/backupKeyRecovery.d.ts.map +1 -1
- package/dist/cjs/src/recovery/backupKeyRecovery.js +5 -5
- package/dist/cjs/src/recovery/crossChainRecovery.d.ts.map +1 -1
- package/dist/cjs/src/recovery/crossChainRecovery.js +4 -4
- package/dist/cjs/src/transaction/decode.d.ts +2 -2
- package/dist/cjs/src/transaction/decode.d.ts.map +1 -1
- package/dist/cjs/src/transaction/decode.js +3 -2
- package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts +2 -2
- package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts.map +1 -1
- package/dist/cjs/src/transaction/descriptor/explainPsbt.js +6 -5
- package/dist/cjs/src/transaction/descriptor/parse.d.ts.map +1 -1
- package/dist/cjs/src/transaction/descriptor/parse.js +3 -4
- package/dist/cjs/src/transaction/descriptor/parseToAmountType.d.ts.map +1 -1
- package/dist/cjs/src/transaction/descriptor/parseToAmountType.js +2 -3
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.js +2 -3
- package/dist/cjs/src/transaction/explainTransaction.d.ts +3 -2
- 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/explainPsbtWasm.d.ts +2 -0
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.js +4 -1
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.js +11 -5
- package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts +4 -4
- package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/replayProtection.js +1 -1
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts +2 -2
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/signTransaction.js +1 -1
- package/dist/cjs/src/transaction/parseTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/parseTransaction.js +2 -3
- package/dist/cjs/src/transaction/recipient.d.ts +30 -4
- package/dist/cjs/src/transaction/recipient.d.ts.map +1 -1
- package/dist/cjs/src/transaction/recipient.js +48 -9
- package/dist/cjs/src/transaction/signTransaction.js +2 -2
- package/dist/cjs/src/transaction/verifyTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/verifyTransaction.js +2 -3
- package/dist/cjs/test/unit/bip322.js +14 -4
- package/dist/cjs/test/unit/customChangeWallet.js +3 -1
- package/dist/cjs/test/unit/descriptorAddress.d.ts.map +1 -1
- package/dist/cjs/test/unit/descriptorAddress.js +24 -4
- package/dist/cjs/test/unit/impl/bch/unit/bch.js +9 -1
- package/dist/cjs/test/unit/impl/zec/psbtDecode.d.ts +2 -0
- package/dist/cjs/test/unit/impl/zec/psbtDecode.d.ts.map +1 -0
- package/dist/cjs/test/unit/impl/zec/psbtDecode.js +69 -0
- package/dist/cjs/test/unit/impl/zec/shieldedPrebuildAndSign.d.ts +2 -0
- package/dist/cjs/test/unit/impl/zec/shieldedPrebuildAndSign.d.ts.map +1 -0
- package/dist/cjs/test/unit/impl/zec/shieldedPrebuildAndSign.js +329 -0
- package/dist/cjs/test/unit/impl/zec/unit/address.js +162 -1
- package/dist/cjs/test/unit/impl/zec/unit/resolvePsbtRecipients.js +7 -5
- package/dist/cjs/test/unit/recovery/backupKeyRecovery.js +2 -2
- package/dist/cjs/test/unit/recovery/crossChainRecovery.js +2 -2
- package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.js +2 -2
- package/dist/cjs/test/unit/recovery/mock.d.ts.map +1 -1
- package/dist/cjs/test/unit/recovery/mock.js +5 -3
- package/dist/cjs/test/unit/tbtcstx.d.ts +2 -0
- package/dist/cjs/test/unit/tbtcstx.d.ts.map +1 -0
- package/dist/cjs/test/unit/tbtcstx.js +60 -0
- package/dist/cjs/test/unit/tbtcstxprivate1.d.ts +2 -0
- package/dist/cjs/test/unit/tbtcstxprivate1.d.ts.map +1 -0
- package/dist/cjs/test/unit/tbtcstxprivate1.js +61 -0
- package/dist/cjs/test/unit/transaction/addressCodec.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/addressCodec.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/addressCodec.js +30 -0
- package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.js +9 -1
- package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.js +2 -1
- package/dist/cjs/test/unit/transaction.js +2 -2
- package/dist/cjs/test/unit/util/address.d.ts +2 -1
- package/dist/cjs/test/unit/util/address.d.ts.map +1 -1
- package/dist/cjs/test/unit/util/address.js +3 -2
- package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts.map +1 -1
- package/dist/cjs/test/unit/util/nockIndexerAPI.js +3 -4
- 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 +5 -4
- package/dist/cjs/test/unit/util/unspents.d.ts.map +1 -1
- package/dist/cjs/test/unit/util/unspents.js +3 -3
- package/dist/cjs/test/unit/util/utxoCoins.d.ts +2 -2
- package/dist/cjs/test/unit/util/utxoCoins.d.ts.map +1 -1
- package/dist/cjs/test/unit/util/utxoCoins.js +17 -33
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/abstractUtxoCoin.d.ts +7 -2
- package/dist/esm/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/esm/abstractUtxoCoin.js +21 -36
- package/dist/esm/address/fixedScript.d.ts +4 -4
- package/dist/esm/address/fixedScript.d.ts.map +1 -1
- package/dist/esm/address/fixedScript.js +4 -3
- package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts +2 -2
- package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -1
- package/dist/esm/descriptor/assertDescriptorWalletAddress.js +3 -4
- package/dist/esm/impl/bch/bch.d.ts +15 -1
- package/dist/esm/impl/bch/bch.d.ts.map +1 -1
- package/dist/esm/impl/bch/bch.js +29 -5
- package/dist/esm/impl/btc/index.d.ts +2 -0
- package/dist/esm/impl/btc/index.d.ts.map +1 -1
- package/dist/esm/impl/btc/index.js +3 -1
- package/dist/esm/impl/btc/inscriptionBuilder.js +4 -4
- package/dist/esm/impl/btc/tbtcstx.d.ts +10 -0
- package/dist/esm/impl/btc/tbtcstx.d.ts.map +1 -0
- package/dist/esm/impl/btc/tbtcstx.js +14 -0
- package/dist/esm/impl/btc/tbtcstxprivate1.d.ts +9 -0
- package/dist/esm/impl/btc/tbtcstxprivate1.d.ts.map +1 -0
- package/dist/esm/impl/btc/tbtcstxprivate1.js +11 -0
- package/dist/esm/impl/zec/address.d.ts +51 -0
- package/dist/esm/impl/zec/address.d.ts.map +1 -1
- package/dist/esm/impl/zec/address.js +102 -2
- package/dist/esm/impl/zec/recipients.d.ts +4 -2
- package/dist/esm/impl/zec/recipients.d.ts.map +1 -1
- package/dist/esm/impl/zec/recipients.js +7 -3
- package/dist/esm/impl/zec/types.d.ts +5 -2
- package/dist/esm/impl/zec/types.d.ts.map +1 -1
- package/dist/esm/impl/zec/types.js +1 -1
- package/dist/esm/impl/zec/zec.d.ts +23 -2
- package/dist/esm/impl/zec/zec.d.ts.map +1 -1
- package/dist/esm/impl/zec/zec.js +62 -3
- package/dist/esm/names.d.ts +5 -2
- package/dist/esm/names.d.ts.map +1 -1
- package/dist/esm/names.js +18 -1
- package/dist/esm/recovery/backupKeyRecovery.d.ts +2 -2
- package/dist/esm/recovery/backupKeyRecovery.d.ts.map +1 -1
- package/dist/esm/recovery/backupKeyRecovery.js +6 -6
- package/dist/esm/recovery/crossChainRecovery.d.ts.map +1 -1
- package/dist/esm/recovery/crossChainRecovery.js +4 -4
- package/dist/esm/transaction/decode.d.ts +2 -2
- package/dist/esm/transaction/decode.d.ts.map +1 -1
- package/dist/esm/transaction/decode.js +3 -2
- package/dist/esm/transaction/descriptor/explainPsbt.d.ts +2 -2
- package/dist/esm/transaction/descriptor/explainPsbt.d.ts.map +1 -1
- package/dist/esm/transaction/descriptor/explainPsbt.js +6 -5
- package/dist/esm/transaction/descriptor/parse.d.ts.map +1 -1
- package/dist/esm/transaction/descriptor/parse.js +3 -4
- package/dist/esm/transaction/descriptor/parseToAmountType.d.ts.map +1 -1
- package/dist/esm/transaction/descriptor/parseToAmountType.js +2 -3
- package/dist/esm/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/descriptor/verifyTransaction.js +2 -3
- package/dist/esm/transaction/explainTransaction.d.ts +3 -2
- package/dist/esm/transaction/explainTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/explainTransaction.js +3 -2
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts +2 -0
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.js +4 -1
- package/dist/esm/transaction/fixedScript/parseTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/parseTransaction.js +11 -5
- package/dist/esm/transaction/fixedScript/replayProtection.d.ts +4 -4
- package/dist/esm/transaction/fixedScript/replayProtection.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/replayProtection.js +1 -1
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts +2 -2
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/signTransaction.js +1 -1
- package/dist/esm/transaction/parseTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/parseTransaction.js +2 -3
- package/dist/esm/transaction/recipient.d.ts +30 -4
- package/dist/esm/transaction/recipient.d.ts.map +1 -1
- package/dist/esm/transaction/recipient.js +48 -9
- package/dist/esm/transaction/signTransaction.js +2 -2
- package/dist/esm/transaction/verifyTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/verifyTransaction.js +2 -3
- package/package.json +6 -5
|
@@ -1,4 +1,104 @@
|
|
|
1
|
-
import { address as wasmAddress, fixedScriptWallet, isCoinName } from '@bitgo/wasm-utxo';
|
|
1
|
+
import { address as wasmAddress, fixedScriptWallet, isCoinName, zcashAddress } from '@bitgo/wasm-utxo';
|
|
2
|
+
import { AddressCodec } from '../../transaction/recipient';
|
|
3
|
+
/**
|
|
4
|
+
* Address codec for Zcash coins ('zec'/'tzec') that understands ZIP-316
|
|
5
|
+
* Unified Addresses in addition to ordinary transparent addresses.
|
|
6
|
+
*
|
|
7
|
+
* - `decode` resolves the bytes a recipient pays to (see its doc): by default
|
|
8
|
+
* the transparent scriptPubKey; with `unifiedRecipientPreference: 'shielded'`
|
|
9
|
+
* the raw Orchard/Ironwood receiver of a Unified Address.
|
|
10
|
+
* - `encode`/`toExtendedAddressFormat` are unchanged: scripts can only be
|
|
11
|
+
* written back out as transparent addresses.
|
|
12
|
+
* - `isValidAddress` accepts transparent addresses and Unified Addresses with
|
|
13
|
+
* a transparent or Orchard receiver.
|
|
14
|
+
*/
|
|
15
|
+
export class ZecAddressCodec extends AddressCodec {
|
|
16
|
+
constructor(coinName, wasmName, unifiedRecipientPreference = 'transparent') {
|
|
17
|
+
super(coinName, wasmName);
|
|
18
|
+
this.zcashNetworkName = wasmName;
|
|
19
|
+
this.unifiedRecipientPreference = unifiedRecipientPreference;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Whether `address` is a valid Zcash address for this coin's network.
|
|
23
|
+
*
|
|
24
|
+
* Mirrors the pre-codec `Zec.isValidAddress` logic exactly: the address is
|
|
25
|
+
* valid iff it has a usable transparent receiver (an ordinary transparent
|
|
26
|
+
* address, or a UA carrying a transparent receiver) or an Orchard receiver
|
|
27
|
+
* (a UA carrying one).
|
|
28
|
+
*/
|
|
29
|
+
isValidAddress(address) {
|
|
30
|
+
return (zcashAddress.hasTransparentReceiver(address, this.wasmName) ||
|
|
31
|
+
zcashAddress.hasOrchardReceiver(address, this.wasmName));
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Resolve `address` to the bytes this codec's unified-recipient preference pays to.
|
|
35
|
+
*
|
|
36
|
+
* - `'transparent'` (default) resolves the scriptPubKey: an ordinary
|
|
37
|
+
* transparent address decodes to its own script, and a UA with a
|
|
38
|
+
* transparent receiver decodes to that receiver's script. A UA without a
|
|
39
|
+
* transparent receiver (e.g. Orchard-only) throws, since a shielded
|
|
40
|
+
* output has no script.
|
|
41
|
+
* - `'shielded'` resolves the raw Orchard (Ironwood) receiver — the
|
|
42
|
+
* 43-byte diversifier + `pk_d` — of a UA carrying one. Any other address
|
|
43
|
+
* (plain transparent, transparent-only UA, malformed, wrong network)
|
|
44
|
+
* throws, since it has no Orchard receiver to resolve.
|
|
45
|
+
*/
|
|
46
|
+
decode(address) {
|
|
47
|
+
if (this.unifiedRecipientPreference !== 'shielded') {
|
|
48
|
+
return zcashAddress.toTransparentReceiverWithCoin(address, this.wasmName);
|
|
49
|
+
}
|
|
50
|
+
// The raw Orchard receiver exists only for a Unified Address carrying one; anything else
|
|
51
|
+
// (plain transparent address, transparent-only UA, malformed, wrong network) throws.
|
|
52
|
+
let unified;
|
|
53
|
+
try {
|
|
54
|
+
unified = fixedScriptWallet.ZcashUnifiedAddress.parse(address, this.zcashNetworkName);
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
throw new Error(`address ${address} is not a valid address for network ${this.zcashNetworkName}`);
|
|
58
|
+
}
|
|
59
|
+
if (!unified?.hasOrchardReceiver) {
|
|
60
|
+
throw new Error(`address ${address} has no Orchard receiver to resolve as shielded`);
|
|
61
|
+
}
|
|
62
|
+
return zcashAddress.toShieldedReceiverWithCoin(address, this.wasmName);
|
|
63
|
+
}
|
|
64
|
+
/** Change addresses are always transparent wallet addresses. */
|
|
65
|
+
decodeChangeAddress(address) {
|
|
66
|
+
return zcashAddress.toTransparentReceiverWithCoin(address, this.wasmName);
|
|
67
|
+
}
|
|
68
|
+
isMatchingScript(output) {
|
|
69
|
+
const address = output.address;
|
|
70
|
+
if (address === undefined || address === null) {
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
if (AddressCodec.isScriptRecipient(address)) {
|
|
74
|
+
return super.isMatchingScript(output);
|
|
75
|
+
}
|
|
76
|
+
const matchesOutput = (decode) => {
|
|
77
|
+
try {
|
|
78
|
+
return Buffer.from(decode()).equals(Buffer.from(output.script));
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
const isShielded = output.isShielded;
|
|
85
|
+
if (isShielded === true) {
|
|
86
|
+
return matchesOutput(() => zcashAddress.toShieldedReceiverWithCoin(address, this.wasmName));
|
|
87
|
+
}
|
|
88
|
+
if (isShielded === false) {
|
|
89
|
+
return matchesOutput(() => zcashAddress.toTransparentReceiverWithCoin(address, this.wasmName));
|
|
90
|
+
}
|
|
91
|
+
return (matchesOutput(() => zcashAddress.toTransparentReceiverWithCoin(address, this.wasmName)) ||
|
|
92
|
+
matchesOutput(() => zcashAddress.toShieldedReceiverWithCoin(address, this.wasmName)));
|
|
93
|
+
}
|
|
94
|
+
/** Preserve a shielded output's original UA only after validating it against the raw script. */
|
|
95
|
+
toExtendedAddressFormat(script, address) {
|
|
96
|
+
if (address !== undefined && !this.isMatchingScript({ address, script })) {
|
|
97
|
+
throw new Error(`address ${address} does not match the output script`);
|
|
98
|
+
}
|
|
99
|
+
return address ?? super.toExtendedAddressFormat(script);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
2
102
|
/**
|
|
3
103
|
* Whether `address` is a well-formed ZIP-316 Unified Address for `network`
|
|
4
104
|
* with an Orchard receiver. BitGo only supports Orchard, so a UA without one
|
|
@@ -47,4 +147,4 @@ export function getZcashAddressKind(address, network) {
|
|
|
47
147
|
export function isValidZcashAddress(address, network) {
|
|
48
148
|
return getZcashAddressKind(address, network) !== undefined;
|
|
49
149
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsL3plYy9hZGRyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLElBQUksV0FBVyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSXpGOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsT0FBZSxFQUFFLE9BQTJDO0lBQ2pHLElBQUksQ0FBQztRQUNILE9BQU8saUJBQWlCLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQztJQUMxRixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLE9BQWUsRUFDZixPQUEyQztJQUUzQyxrRkFBa0Y7SUFDbEYsZ0ZBQWdGO0lBQ2hGLGlGQUFpRjtJQUNqRixJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQztZQUNILFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDckQsT0FBTyxhQUFhLENBQUM7UUFDdkIsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLGtFQUFrRTtRQUNwRSxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sc0JBQXNCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUMzRSxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsT0FBZSxFQUFFLE9BQTJDO0lBQzlGLE9BQU8sbUJBQW1CLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLLFNBQVMsQ0FBQztBQUM3RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkcmVzcyBhcyB3YXNtQWRkcmVzcywgZml4ZWRTY3JpcHRXYWxsZXQsIGlzQ29pbk5hbWUgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcblxuZXhwb3J0IHR5cGUgWmNhc2hBZGRyZXNzS2luZCA9ICd0cmFuc3BhcmVudCcgfCAnc2hpZWxkZWQnO1xuXG4vKipcbiAqIFdoZXRoZXIgYGFkZHJlc3NgIGlzIGEgd2VsbC1mb3JtZWQgWklQLTMxNiBVbmlmaWVkIEFkZHJlc3MgZm9yIGBuZXR3b3JrYFxuICogd2l0aCBhbiBPcmNoYXJkIHJlY2VpdmVyLiBCaXRHbyBvbmx5IHN1cHBvcnRzIE9yY2hhcmQsIHNvIGEgVUEgd2l0aG91dCBvbmVcbiAqIChlLmcuIFNhcGxpbmctIG9yIHRyYW5zcGFyZW50LW9ubHkpIGlzIG5vdCBjb25zaWRlcmVkIHZhbGlkIGhlcmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1NoaWVsZGVkWmNhc2hBZGRyZXNzKGFkZHJlc3M6IHN0cmluZywgbmV0d29yazogZml4ZWRTY3JpcHRXYWxsZXQuWmNhc2hOZXR3b3JrTmFtZSk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIHJldHVybiBmaXhlZFNjcmlwdFdhbGxldC5aY2FzaFVuaWZpZWRBZGRyZXNzLnBhcnNlKGFkZHJlc3MsIG5ldHdvcmspLmhhc09yY2hhcmRSZWNlaXZlcjtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogQ2xhc3NpZnkgYSBaY2FzaCBhZGRyZXNzIHN0cmluZyBhcyB0cmFuc3BhcmVudCBvciBzaGllbGRlZCwgdmFsaWRhdGluZyBpdCBpblxuICogdGhlIHByb2Nlc3MuIFJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBhZGRyZXNzIGlzIG5laXRoZXIgYSB2YWxpZCB0cmFuc3BhcmVudFxuICogYWRkcmVzcyBub3IgYSB3ZWxsLWZvcm1lZCBaSVAtMzE2IFVuaWZpZWQgQWRkcmVzcyBmb3IgYG5ldHdvcmtgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0WmNhc2hBZGRyZXNzS2luZChcbiAgYWRkcmVzczogc3RyaW5nLFxuICBuZXR3b3JrOiBmaXhlZFNjcmlwdFdhbGxldC5aY2FzaE5ldHdvcmtOYW1lXG4pOiBaY2FzaEFkZHJlc3NLaW5kIHwgdW5kZWZpbmVkIHtcbiAgLy8gWmNhc2hOZXR3b3JrTmFtZSBhbHNvIHBlcm1pdHMgJ3pjYXNoJy8nemNhc2hUZXN0Jywgd2hpY2ggdG9PdXRwdXRTY3JpcHRXaXRoQ29pblxuICAvLyBkb2Vzbid0IGFjY2VwdCAoaXQgdGFrZXMgYSBDb2luTmFtZSwgaS5lLiAnemVjJy8ndHplYycpLiBTa2lwIHN0cmFpZ2h0IHRvIHRoZVxuICAvLyBzaGllbGRlZCBjaGVjayBmb3IgdGhvc2UgcmF0aGVyIHRoYW4gcmVseWluZyBvbiBhbiB1bnNhZmUgY2FzdCArIGNhdWdodCB0aHJvdy5cbiAgaWYgKGlzQ29pbk5hbWUobmV0d29yaykpIHtcbiAgICB0cnkge1xuICAgICAgd2FzbUFkZHJlc3MudG9PdXRwdXRTY3JpcHRXaXRoQ29pbihhZGRyZXNzLCBuZXR3b3JrKTtcbiAgICAgIHJldHVybiAndHJhbnNwYXJlbnQnO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gbm90IGEgdmFsaWQgdHJhbnNwYXJlbnQgYWRkcmVzczsgZmFsbCB0aHJvdWdoIHRvIHNoaWVsZGVkIGNoZWNrXG4gICAgfVxuICB9XG4gIHJldHVybiBpc1NoaWVsZGVkWmNhc2hBZGRyZXNzKGFkZHJlc3MsIG5ldHdvcmspID8gJ3NoaWVsZGVkJyA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBTdGFuZGFsb25lIGNvdW50ZXJwYXJ0IHRvIGBaZWMuaXNWYWxpZEFkZHJlc3NgLCBwYXJhbWV0ZXJpemVkIGJ5IGBuZXR3b3JrYFxuICogaW5zdGVhZCBvZiByZXF1aXJpbmcgYSBjb2luIGluc3RhbmNlLiBBY2NlcHRzIHRyYW5zcGFyZW50IGFkZHJlc3NlcyBhbmRcbiAqIHNoaWVsZGVkIFpJUC0zMTYgVW5pZmllZCBBZGRyZXNzZXMuXG4gKlxuICogTm90IHN0cnVjdHVyYWxseSBpZGVudGljYWwgdG8gYFplYy5pc1ZhbGlkQWRkcmVzc2A6IHRoZSBiYXNlIGNsYXNzIGFsc29cbiAqIHJvdW5kLXRyaXBzIHRoZSBwYXJzZWQgc2NyaXB0IHRocm91Z2ggZWFjaCBrbm93biBlbmNvZGluZyBmb3JtYXQgKHNlZVxuICogYEFic3RyYWN0VXR4b0NvaW4uaXNWYWxpZEFkZHJlc3NgKSwgd2hlcmVhcyB0aGlzIG9ubHkgY2FsbHNcbiAqIGB0b091dHB1dFNjcmlwdFdpdGhDb2luYCBvbmNlIHZpYSBgZ2V0WmNhc2hBZGRyZXNzS2luZGAuIFRoZXkgYWdyZWUgaW5cbiAqIHByYWN0aWNlIHNpbmNlIHplYy90emVjIGhhdmUgbm8gYWx0ZXJuYXRlIHRyYW5zcGFyZW50LWFkZHJlc3MgZW5jb2RpbmcgdG9cbiAqIHJvdW5kLXRyaXAgYWdhaW5zdCwgYnV0IHRoYXQncyBub3QgZ3VhcmFudGVlZCB0byByZW1haW4gdHJ1ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRaY2FzaEFkZHJlc3MoYWRkcmVzczogc3RyaW5nLCBuZXR3b3JrOiBmaXhlZFNjcmlwdFdhbGxldC5aY2FzaE5ldHdvcmtOYW1lKTogYm9vbGVhbiB7XG4gIHJldHVybiBnZXRaY2FzaEFkZHJlc3NLaW5kKGFkZHJlc3MsIG5ldHdvcmspICE9PSB1bmRlZmluZWQ7XG59XG4iXX0=
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsL3plYy9hZGRyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLElBQUksV0FBVyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd2RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFPM0Q7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxZQUFZO0lBTS9DLFlBQ0UsUUFBc0IsRUFDdEIsUUFBMEIsRUFDMUIsNkJBQXlELGFBQWE7UUFFdEUsS0FBSyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsUUFBOEMsQ0FBQztRQUN2RSxJQUFJLENBQUMsMEJBQTBCLEdBQUcsMEJBQTBCLENBQUM7SUFDL0QsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDTSxjQUFjLENBQUMsT0FBZTtRQUNyQyxPQUFPLENBQ0wsWUFBWSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzNELFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN4RCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNNLE1BQU0sQ0FBQyxPQUFlO1FBQzdCLElBQUksSUFBSSxDQUFDLDBCQUEwQixLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ25ELE9BQU8sWUFBWSxDQUFDLDZCQUE2QixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUUsQ0FBQztRQUNELHlGQUF5RjtRQUN6RixxRkFBcUY7UUFDckYsSUFBSSxPQUEwRCxDQUFDO1FBQy9ELElBQUksQ0FBQztZQUNILE9B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O0NBQ0Y7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFDLE9BQWUsRUFBRSxPQUEyQztJQUNqRyxJQUFJLENBQUM7UUFDSCxPQUFPLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsa0JBQWtCLENBQUM7SUFDMUYsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxPQUFlLEVBQ2YsT0FBMkM7SUFFM0Msa0ZBQWtGO0lBQ2xGLGdGQUFnRjtJQUNoRixpRkFBaUY7SUFDakYsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUM7WUFDSCxXQUFXLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3JELE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxrRUFBa0U7UUFDcEUsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDM0UsQ0FBQztBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFDLE9BQWUsRUFBRSxPQUEyQztJQUM5RixPQUFPLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSyxTQUFTLENBQUM7QUFDN0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFkZHJlc3MgYXMgd2FzbUFkZHJlc3MsIGZpeGVkU2NyaXB0V2FsbGV0LCBpc0NvaW5OYW1lLCB6Y2FzaEFkZHJlc3MgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCB0eXBlIHsgVW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2UgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuXG5pbXBvcnQgeyBBZGRyZXNzQ29kZWMgfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi9yZWNpcGllbnQnO1xuaW1wb3J0IHsgVXR4b0NvaW5OYW1lLCBXYXNtVXR4b0NvaW5OYW1lIH0gZnJvbSAnLi4vLi4vbmFtZXMnO1xuXG5pbXBvcnQgdHlwZSB7IFplY0FkZHJlc3NDb2RlY091dHB1dCB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBaY2FzaEFkZHJlc3NLaW5kID0gJ3RyYW5zcGFyZW50JyB8ICdzaGllbGRlZCc7XG5cbi8qKlxuICogQWRkcmVzcyBjb2RlYyBmb3IgWmNhc2ggY29pbnMgKCd6ZWMnLyd0emVjJykgdGhhdCB1bmRlcnN0YW5kcyBaSVAtMzE2XG4gKiBVbmlmaWVkIEFkZHJlc3NlcyBpbiBhZGRpdGlvbiB0byBvcmRpbmFyeSB0cmFuc3BhcmVudCBhZGRyZXNzZXMuXG4gKlxuICogLSBgZGVjb2RlYCByZXNvbHZlcyB0aGUgYnl0ZXMgYSByZWNpcGllbnQgcGF5cyB0byAoc2VlIGl0cyBkb2MpOiBieSBkZWZhdWx0XG4gKiAgIHRoZSB0cmFuc3BhcmVudCBzY3JpcHRQdWJLZXk7IHdpdGggYHVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlOiAnc2hpZWxkZWQnYFxuICogICB0aGUgcmF3IE9yY2hhcmQvSXJvbndvb2QgcmVjZWl2ZXIgb2YgYSBVbmlmaWVkIEFkZHJlc3MuXG4gKiAtIGBlbmNvZGVgL2B0b0V4dGVuZGVkQWRkcmVzc0Zvcm1hdGAgYXJlIHVuY2hhbmdlZDogc2NyaXB0cyBjYW4gb25seSBiZVxuICogICB3cml0dGVuIGJhY2sgb3V0IGFzIHRyYW5zcGFyZW50IGFkZHJlc3Nlcy5cbiAqIC0gYGlzVmFsaWRBZGRyZXNzYCBhY2NlcHRzIHRyYW5zcGFyZW50IGFkZHJlc3NlcyBhbmQgVW5pZmllZCBBZGRyZXNzZXMgd2l0aFxuICogICBhIHRyYW5zcGFyZW50IG9yIE9yY2hhcmQgcmVjZWl2ZXIuXG4gKi9cbmV4cG9ydCBjbGFzcyBaZWNBZGRyZXNzQ29kZWMgZXh0ZW5kcyBBZGRyZXNzQ29kZWMge1xuICAvKiogVGhlIFpjYXNoIG5ldHdvcmsgbmFtZSBmb3Igd2FzbSBjYWxscyDigJQgJ3plYycgb3IgJ3R6ZWMnLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHpjYXNoTmV0d29ya05hbWU6IGZpeGVkU2NyaXB0V2FsbGV0LlpjYXNoTmV0d29ya05hbWU7XG4gIC8qKiBIb3cgVW5pZmllZCBBZGRyZXNzIHJlY2lwaWVudHMgcmVzb2x2ZSB3aGVuIHRoaXMgY29kZWMgZGVjb2RlcyB0aGVtLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlOiBVbmlmaWVkUmVjaXBpZW50UHJlZmVyZW5jZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjb2luTmFtZTogVXR4b0NvaW5OYW1lLFxuICAgIHdhc21OYW1lOiBXYXNtVXR4b0NvaW5OYW1lLFxuICAgIHVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlOiBVbmlmaWVkUmVjaXBpZW50UHJlZmVyZW5jZSA9ICd0cmFuc3BhcmVudCdcbiAgKSB7XG4gICAgc3VwZXIoY29pbk5hbWUsIHdhc21OYW1lKTtcbiAgICB0aGlzLnpjYXNoTmV0d29ya05hbWUgPSB3YXNtTmFtZSBhcyBmaXhlZFNjcmlwdFdhbGxldC5aY2FzaE5ldHdvcmtOYW1lO1xuICAgIHRoaXMudW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2UgPSB1bmlmaWVkUmVjaXBpZW50UHJlZmVyZW5jZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGBhZGRyZXNzYCBpcyBhIHZhbGlkIFpjYXNoIGFkZHJlc3MgZm9yIHRoaXMgY29pbidzIG5ldHdvcmsuXG4gICAqXG4gICAqIE1pcnJvcnMgdGhlIHByZS1jb2RlYyBgWmVjLmlzVmFsaWRBZGRyZXNzYCBsb2dpYyBleGFjdGx5OiB0aGUgYWRkcmVzcyBpc1xuICAgKiB2YWxpZCBpZmYgaXQgaGFzIGEgdXNhYmxlIHRyYW5zcGFyZW50IHJlY2VpdmVyIChhbiBvcmRpbmFyeSB0cmFuc3BhcmVudFxuICAgKiBhZGRyZXNzLCBvciBhIFVBIGNhcnJ5aW5nIGEgdHJhbnNwYXJlbnQgcmVjZWl2ZXIpIG9yIGFuIE9yY2hhcmQgcmVjZWl2ZXJcbiAgICogKGEgVUEgY2Fycnlpbmcgb25lKS5cbiAgICovXG4gIG92ZXJyaWRlIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB6Y2FzaEFkZHJlc3MuaGFzVHJhbnNwYXJlbnRSZWNlaXZlcihhZGRyZXNzLCB0aGlzLndhc21OYW1lKSB8fFxuICAgICAgemNhc2hBZGRyZXNzLmhhc09yY2hhcmRSZWNlaXZlcihhZGRyZXNzLCB0aGlzLndhc21OYW1lKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZSBgYWRkcmVzc2AgdG8gdGhlIGJ5dGVzIHRoaXMgY29kZWMncyB1bmlmaWVkLXJlY2lwaWVudCBwcmVmZXJlbmNlIHBheXMgdG8uXG4gICAqXG4gICAqIC0gYCd0cmFuc3BhcmVudCdgIChkZWZhdWx0KSByZXNvbHZlcyB0aGUgc2NyaXB0UHViS2V5OiBhbiBvcmRpbmFyeVxuICAgKiAgIHRyYW5zcGFyZW50IGFkZHJlc3MgZGVjb2RlcyB0byBpdHMgb3duIHNjcmlwdCwgYW5kIGEgVUEgd2l0aCBhXG4gICAqICAgdHJhbnNwYXJlbnQgcmVjZWl2ZXIgZGVjb2RlcyB0byB0aGF0IHJlY2VpdmVyJ3Mgc2NyaXB0LiBBIFVBIHdpdGhvdXQgYVxuICAgKiAgIHRyYW5zcGFyZW50IHJlY2VpdmVyIChlLmcuIE9yY2hhcmQtb25seSkgdGhyb3dzLCBzaW5jZSBhIHNoaWVsZGVkXG4gICAqICAgb3V0cHV0IGhhcyBubyBzY3JpcHQuXG4gICAqIC0gYCdzaGllbGRlZCdgIHJlc29sdmVzIHRoZSByYXcgT3JjaGFyZCAoSXJvbndvb2QpIHJlY2VpdmVyIOKAlCB0aGVcbiAgICogICA0My1ieXRlIGRpdmVyc2lmaWVyICsgYHBrX2RgIOKAlCBvZiBhIFVBIGNhcnJ5aW5nIG9uZS4gQW55IG90aGVyIGFkZHJlc3NcbiAgICogICAocGxhaW4gdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50LW9ubHkgVUEsIG1hbGZvcm1lZCwgd3JvbmcgbmV0d29yaylcbiAgICogICB0aHJvd3MsIHNpbmNlIGl0IGhhcyBubyBPcmNoYXJkIHJlY2VpdmVyIHRvIHJlc29sdmUuXG4gICAqL1xuICBvdmVycmlkZSBkZWNvZGUoYWRkcmVzczogc3RyaW5nKTogVWludDhBcnJheSB7XG4gICAgaWYgKHRoaXMudW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2UgIT09ICdzaGllbGRlZCcpIHtcbiAgICAgIHJldHVybiB6Y2FzaEFkZHJlc3MudG9UcmFuc3BhcmVudFJlY2VpdmVyV2l0aENvaW4oYWRkcmVzcywgdGhpcy53YXNtTmFtZSk7XG4gICAgfVxuICAgIC8vIFRoZSByYXcgT3JjaGFyZCByZWNlaXZlciBleGlzdHMgb25seSBmb3IgYSBVbmlmaWVkIEFkZHJlc3MgY2Fycnlpbmcgb25lOyBhbnl0aGluZyBlbHNlXG4gICAgLy8gKHBsYWluIHRyYW5zcGFyZW50IGFkZHJlc3MsIHRyYW5zcGFyZW50LW9ubHkgVUEsIG1hbGZvcm1lZCwgd3JvbmcgbmV0d29yaykgdGhyb3dzLlxuICAgIGxldCB1bmlmaWVkOiBmaXhlZFNjcmlwdFdhbGxldC5aY2FzaFVuaWZpZWRBZGRyZXNzIHwgdW5kZWZpbmVkO1xuICAgIHRyeSB7XG4gICAgICB1bmlmaWVkID0gZml4ZWRTY3JpcHRXYWxsZXQuWmNhc2hVbmlmaWVkQWRkcmVzcy5wYXJzZShhZGRyZXNzLCB0aGlzLnpjYXNoTmV0d29ya05hbWUpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBhZGRyZXNzICR7YWRkcmVzc30gaXMgbm90IGEgdmFsaWQgYWRkcmVzcyBmb3IgbmV0d29yayAke3RoaXMuemNhc2hOZXR3b3JrTmFtZX1gKTtcbiAgICB9XG4gICAgaWYgKCF1bmlmaWVkPy5oYXNPcmNoYXJkUmVjZWl2ZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgYWRkcmVzcyAke2FkZHJlc3N9IGhhcyBubyBPcmNoYXJkIHJlY2VpdmVyIHRvIHJlc29sdmUgYXMgc2hpZWxkZWRgKTtcbiAgICB9XG4gICAgcmV0dXJuIHpjYXNoQWRkcmVzcy50b1NoaWVsZGVkUmVjZWl2ZXJXaXRoQ29pbihhZGRyZXNzLCB0aGlzLndhc21OYW1lKTtcbiAgfVxuXG4gIC8qKiBDaGFuZ2UgYWRkcmVzc2VzIGFyZSBhbHdheXMgdHJhbnNwYXJlbnQgd2FsbGV0IGFkZHJlc3Nlcy4gKi9cbiAgb3ZlcnJpZGUgZGVjb2RlQ2hhbmdlQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgICByZXR1cm4gemNhc2hBZGRyZXNzLnRvVHJhbnNwYXJlbnRSZWNlaXZlcldpdGhDb2luKGFkZHJlc3MsIHRoaXMud2FzbU5hbWUpO1xuICB9XG4gIG92ZXJyaWRlIGlzTWF0Y2hpbmdTY3JpcHQob3V0cHV0OiBaZWNBZGRyZXNzQ29kZWNPdXRwdXQpOiBib29sZWFuIHtcbiAgICBjb25zdCBhZGRyZXNzID0gb3V0cHV0LmFkZHJlc3M7XG4gICAgaWYgKGFkZHJlc3MgPT09IHVuZGVmaW5lZCB8fCBhZGRyZXNzID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKEFkZHJlc3NDb2RlYy5pc1NjcmlwdFJlY2lwaWVudChhZGRyZXNzKSkge1xuICAgICAgcmV0dXJuIHN1cGVyLmlzTWF0Y2hpbmdTY3JpcHQob3V0cHV0KTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXRjaGVzT3V0cHV0ID0gKGRlY29kZTogKCkgPT4gVWludDhBcnJheSk6IGJvb2xlYW4gPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKGRlY29kZSgpKS5lcXVhbHMoQnVmZmVyLmZyb20ob3V0cHV0LnNjcmlwdCkpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IGlzU2hpZWxkZWQgPSBvdXRwdXQuaXNTaGllbGRlZDtcbiAgICBpZiAoaXNTaGllbGRlZCA9PT0gdHJ1ZSkge1xuICAgICAgcmV0dXJuIG1hdGNoZXNPdXRwdXQoKCkgPT4gemNhc2hBZGRyZXNzLnRvU2hpZWxkZWRSZWNlaXZlcldpdGhDb2luKGFkZHJlc3MsIHRoaXMud2FzbU5hbWUpKTtcbiAgICB9XG4gICAgaWYgKGlzU2hpZWxkZWQgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gbWF0Y2hlc091dHB1dCgoKSA9PiB6Y2FzaEFkZHJlc3MudG9UcmFuc3BhcmVudFJlY2VpdmVyV2l0aENvaW4oYWRkcmVzcywgdGhpcy53YXNtTmFtZSkpO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgbWF0Y2hlc091dHB1dCgoKSA9PiB6Y2FzaEFkZHJlc3MudG9UcmFuc3BhcmVudFJlY2VpdmVyV2l0aENvaW4oYWRkcmVzcywgdGhpcy53YXNtTmFtZSkpIHx8XG4gICAgICBtYXRjaGVzT3V0cHV0KCgpID0+IHpjYXNoQWRkcmVzcy50b1NoaWVsZGVkUmVjZWl2ZXJXaXRoQ29pbihhZGRyZXNzLCB0aGlzLndhc21OYW1lKSlcbiAgICApO1xuICB9XG5cbiAgLyoqIFByZXNlcnZlIGEgc2hpZWxkZWQgb3V0cHV0J3Mgb3JpZ2luYWwgVUEgb25seSBhZnRlciB2YWxpZGF0aW5nIGl0IGFnYWluc3QgdGhlIHJhdyBzY3JpcHQuICovXG4gIG92ZXJyaWRlIHRvRXh0ZW5kZWRBZGRyZXNzRm9ybWF0KHNjcmlwdDogQnVmZmVyLCBhZGRyZXNzPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoYWRkcmVzcyAhPT0gdW5kZWZpbmVkICYmICF0aGlzLmlzTWF0Y2hpbmdTY3JpcHQoeyBhZGRyZXNzLCBzY3JpcHQgfSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgYWRkcmVzcyAke2FkZHJlc3N9IGRvZXMgbm90IG1hdGNoIHRoZSBvdXRwdXQgc2NyaXB0YCk7XG4gICAgfVxuICAgIHJldHVybiBhZGRyZXNzID8/IHN1cGVyLnRvRXh0ZW5kZWRBZGRyZXNzRm9ybWF0KHNjcmlwdCk7XG4gIH1cbn1cblxuLyoqXG4gKiBXaGV0aGVyIGBhZGRyZXNzYCBpcyBhIHdlbGwtZm9ybWVkIFpJUC0zMTYgVW5pZmllZCBBZGRyZXNzIGZvciBgbmV0d29ya2BcbiAqIHdpdGggYW4gT3JjaGFyZCByZWNlaXZlci4gQml0R28gb25seSBzdXBwb3J0cyBPcmNoYXJkLCBzbyBhIFVBIHdpdGhvdXQgb25lXG4gKiAoZS5nLiBTYXBsaW5nLSBvciB0cmFuc3BhcmVudC1vbmx5KSBpcyBub3QgY29uc2lkZXJlZCB2YWxpZCBoZXJlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTaGllbGRlZFpjYXNoQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcsIG5ldHdvcms6IGZpeGVkU2NyaXB0V2FsbGV0LlpjYXNoTmV0d29ya05hbWUpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZml4ZWRTY3JpcHRXYWxsZXQuWmNhc2hVbmlmaWVkQWRkcmVzcy5wYXJzZShhZGRyZXNzLCBuZXR3b3JrKS5oYXNPcmNoYXJkUmVjZWl2ZXI7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIENsYXNzaWZ5IGEgWmNhc2ggYWRkcmVzcyBzdHJpbmcgYXMgdHJhbnNwYXJlbnQgb3Igc2hpZWxkZWQsIHZhbGlkYXRpbmcgaXQgaW5cbiAqIHRoZSBwcm9jZXNzLiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgYWRkcmVzcyBpcyBuZWl0aGVyIGEgdmFsaWQgdHJhbnNwYXJlbnRcbiAqIGFkZHJlc3Mgbm9yIGEgd2VsbC1mb3JtZWQgWklQLTMxNiBVbmlmaWVkIEFkZHJlc3MgZm9yIGBuZXR3b3JrYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFpjYXNoQWRkcmVzc0tpbmQoXG4gIGFkZHJlc3M6IHN0cmluZyxcbiAgbmV0d29yazogZml4ZWRTY3JpcHRXYWxsZXQuWmNhc2hOZXR3b3JrTmFtZVxuKTogWmNhc2hBZGRyZXNzS2luZCB8IHVuZGVmaW5lZCB7XG4gIC8vIFpjYXNoTmV0d29ya05hbWUgYWxzbyBwZXJtaXRzICd6Y2FzaCcvJ3pjYXNoVGVzdCcsIHdoaWNoIHRvT3V0cHV0U2NyaXB0V2l0aENvaW5cbiAgLy8gZG9lc24ndCBhY2NlcHQgKGl0IHRha2VzIGEgQ29pbk5hbWUsIGkuZS4gJ3plYycvJ3R6ZWMnKS4gU2tpcCBzdHJhaWdodCB0byB0aGVcbiAgLy8gc2hpZWxkZWQgY2hlY2sgZm9yIHRob3NlIHJhdGhlciB0aGFuIHJlbHlpbmcgb24gYW4gdW5zYWZlIGNhc3QgKyBjYXVnaHQgdGhyb3cuXG4gIGlmIChpc0NvaW5OYW1lKG5ldHdvcmspKSB7XG4gICAgdHJ5IHtcbiAgICAgIHdhc21BZGRyZXNzLnRvT3V0cHV0U2NyaXB0V2l0aENvaW4oYWRkcmVzcywgbmV0d29yayk7XG4gICAgICByZXR1cm4gJ3RyYW5zcGFyZW50JztcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIG5vdCBhIHZhbGlkIHRyYW5zcGFyZW50IGFkZHJlc3M7IGZhbGwgdGhyb3VnaCB0byBzaGllbGRlZCBjaGVja1xuICAgIH1cbiAgfVxuICByZXR1cm4gaXNTaGllbGRlZFpjYXNoQWRkcmVzcyhhZGRyZXNzLCBuZXR3b3JrKSA/ICdzaGllbGRlZCcgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogU3RhbmRhbG9uZSBjb3VudGVycGFydCB0byBgWmVjLmlzVmFsaWRBZGRyZXNzYCwgcGFyYW1ldGVyaXplZCBieSBgbmV0d29ya2BcbiAqIGluc3RlYWQgb2YgcmVxdWlyaW5nIGEgY29pbiBpbnN0YW5jZS4gQWNjZXB0cyB0cmFuc3BhcmVudCBhZGRyZXNzZXMgYW5kXG4gKiBzaGllbGRlZCBaSVAtMzE2IFVuaWZpZWQgQWRkcmVzc2VzLlxuICpcbiAqIE5vdCBzdHJ1Y3R1cmFsbHkgaWRlbnRpY2FsIHRvIGBaZWMuaXNWYWxpZEFkZHJlc3NgOiB0aGUgYmFzZSBjbGFzcyBhbHNvXG4gKiByb3VuZC10cmlwcyB0aGUgcGFyc2VkIHNjcmlwdCB0aHJvdWdoIGVhY2gga25vd24gZW5jb2RpbmcgZm9ybWF0IChzZWVcbiAqIGBBYnN0cmFjdFV0eG9Db2luLmlzVmFsaWRBZGRyZXNzYCksIHdoZXJlYXMgdGhpcyBvbmx5IGNhbGxzXG4gKiBgdG9PdXRwdXRTY3JpcHRXaXRoQ29pbmAgb25jZSB2aWEgYGdldFpjYXNoQWRkcmVzc0tpbmRgLiBUaGV5IGFncmVlIGluXG4gKiBwcmFjdGljZSBzaW5jZSB6ZWMvdHplYyBoYXZlIG5vIGFsdGVybmF0ZSB0cmFuc3BhcmVudC1hZGRyZXNzIGVuY29kaW5nIHRvXG4gKiByb3VuZC10cmlwIGFnYWluc3QsIGJ1dCB0aGF0J3Mgbm90IGd1YXJhbnRlZWQgdG8gcmVtYWluIHRydWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkWmNhc2hBZGRyZXNzKGFkZHJlc3M6IHN0cmluZywgbmV0d29yazogZml4ZWRTY3JpcHRXYWxsZXQuWmNhc2hOZXR3b3JrTmFtZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gZ2V0WmNhc2hBZGRyZXNzS2luZChhZGRyZXNzLCBuZXR3b3JrKSAhPT0gdW5kZWZpbmVkO1xufVxuIl19
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { fixedScriptWallet } from '@bitgo/wasm-utxo';
|
|
2
|
-
import {
|
|
2
|
+
import type { UnifiedRecipientPreference } from '@bitgo/sdk-core';
|
|
3
|
+
import type { AddressCodec } from '../../transaction/recipient';
|
|
4
|
+
import { ZcashCoinName } from './types';
|
|
3
5
|
/**
|
|
4
6
|
* How a recipient parsed from a Zcash PSBT is spent.
|
|
5
7
|
*
|
|
@@ -60,7 +62,7 @@ export interface PsbtRecipient {
|
|
|
60
62
|
* and `unifiedAddress` report it verbatim. Opaque outputs with no address (e.g. OP_RETURN) are
|
|
61
63
|
* skipped, as they carry no recipient.
|
|
62
64
|
*/
|
|
63
|
-
export declare function resolvePsbtRecipients(psbt: fixedScriptWallet.ZcashBitGoPsbt, walletKeys: fixedScriptWallet.RootWalletKeys): PsbtRecipient[];
|
|
65
|
+
export declare function resolvePsbtRecipients(psbt: fixedScriptWallet.ZcashBitGoPsbt, walletKeys: fixedScriptWallet.RootWalletKeys, addressCodec: AddressCodec): PsbtRecipient[];
|
|
64
66
|
/**
|
|
65
67
|
* Infer the Unified-Address recipient preference for a Zcash transaction when the caller did
|
|
66
68
|
* not pass one — the counterpart of wallet-platform's utxo-core `buildTransaction`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipients.d.ts","sourceRoot":"","sources":["../../../../src/impl/zec/recipients.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAgB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"recipients.d.ts","sourceRoot":"","sources":["../../../../src/impl/zec/recipients.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAgB,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAGlE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC;;;;;;;;GAQG;AACH,MAAM,MAAM,wBAAwB,GAChC;IACE,IAAI,EAAE,eAAe,CAAC;IACtB;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB,GACD;IACE,IAAI,EAAE,yBAAyB,CAAC;IAChC,+EAA+E;IAC/E,cAAc,EAAE,MAAM,CAAC;CACxB,GACD;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAE5B,yEAAyE;AACzE,MAAM,WAAW,aAAa;IAC5B,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,MAAM,EAAE,UAAU,CAAC;IACnB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,wBAAwB,CAAC;CACvC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,iBAAiB,CAAC,cAAc,EACtC,UAAU,EAAE,iBAAiB,CAAC,cAAc,EAC5C,YAAY,EAAE,YAAY,GACzB,aAAa,EAAE,CAoCjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE;IAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAAE,GAC5C,0BAA0B,GAAG,SAAS,CA0BxC"}
|
|
@@ -11,7 +11,7 @@ import { getReplayProtectionPubkeys } from '../../transaction/fixedScript/replay
|
|
|
11
11
|
* and `unifiedAddress` report it verbatim. Opaque outputs with no address (e.g. OP_RETURN) are
|
|
12
12
|
* skipped, as they carry no recipient.
|
|
13
13
|
*/
|
|
14
|
-
export function resolvePsbtRecipients(psbt, walletKeys) {
|
|
14
|
+
export function resolvePsbtRecipients(psbt, walletKeys, addressCodec) {
|
|
15
15
|
const parsed = psbt.parseTransactionWithWalletKeys(walletKeys, {
|
|
16
16
|
replayProtection: { publicKeys: getReplayProtectionPubkeys('zec') },
|
|
17
17
|
});
|
|
@@ -25,8 +25,12 @@ export function resolvePsbtRecipients(psbt, walletKeys) {
|
|
|
25
25
|
if (output.address === null) {
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
|
+
// The raw parsed receiver/script is authoritative; proprietary Unified Address metadata
|
|
29
|
+
// must match it before it is exposed to callers.
|
|
30
|
+
if (!addressCodec.isMatchingScript(output)) {
|
|
31
|
+
throw new Error(`Output ${i} address ${output.address} does not match its raw recipient`);
|
|
32
|
+
}
|
|
28
33
|
// The original client-passed Unified Address, stored verbatim in the PSBT's key-value
|
|
29
|
-
// pairs: the orchard PCZT for a shielded output (parsed `address` reports it in full), the
|
|
30
34
|
// transparent-output proprietary map for a v4 transparent output.
|
|
31
35
|
const unifiedAddress = output.isShielded ? output.address : psbt.transparentOutputUnifiedAddress(i) ?? undefined;
|
|
32
36
|
recipients.push({
|
|
@@ -87,4 +91,4 @@ export function getUnifiedRecipientPreference(name, recipients) {
|
|
|
87
91
|
}
|
|
88
92
|
return hasShielded ? 'shielded' : undefined;
|
|
89
93
|
}
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBpZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsL3plYy9yZWNpcGllbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVuRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQXdENUY7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FDbkMsSUFBc0MsRUFDdEMsVUFBNEM7SUFFNUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLDhCQUE4QixDQUFDLFVBQVUsRUFBRTtRQUM3RCxnQkFBZ0IsRUFBRSxFQUFFLFVBQVUsRUFBRSwwQkFBMEIsQ0FBQyxLQUFLLENBQUMsRUFBRTtLQUNwRSxDQUFDLENBQUM7SUFFSCxNQUFNLFVBQVUsR0FBb0IsRUFBRSxDQUFDO0lBQ3ZDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ25DLGlDQUFpQztRQUNqQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDN0IsT0FBTztRQUNULENBQUM7UUFDRCw4REFBOEQ7UUFDOUQsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDVCxDQUFDO1FBQ0Qsc0ZBQXNGO1FBQ3RGLDJGQUEyRjtRQUMzRixrRUFBa0U7UUFDbEUsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztRQUNqSCxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ2QsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLO1lBQ3BCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztZQUN2QixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07WUFDckIsY0FBYztZQUNkLFdBQVcsRUFBRSxNQUFNLENBQUMsVUFBVTtnQkFDNUIsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRTtnQkFDM0QsQ0FBQyxDQUFDLGNBQWM7b0JBQ2hCLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRSxjQUFjLEVBQUU7b0JBQ3JELENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUU7U0FDNUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLFVBQVUsNkJBQTZCLENBQzNDLElBQW1CLEVBQ25CLFVBQTZDO0lBRTdDLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtRQUNoRCxJQUFJLFNBQVMsQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDcEMscUNBQXFDO1lBQ3JDLE9BQU8sYUFBc0IsQ0FBQztRQUNoQyxDQUFDO1FBQ0Qsc0ZBQXNGO1FBQ3RGLHVGQUF1RjtRQUN2RixJQUFJLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDakUsT0FBTyxhQUFzQixDQUFDO1FBQ2hDLENBQUM7UUFDRCxzRkFBc0Y7UUFDdEYsbUZBQW1GO1FBQ25GLHNCQUFzQjtRQUN0QixNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRixJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQy9CLE9BQU8sVUFBbUIsQ0FBQztRQUM3QixDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxXQUFXLFNBQVMsQ0FBQyxPQUFPLDZDQUE2QyxDQUFDLENBQUM7SUFDN0YsQ0FBQyxDQUFDLENBQUM7SUFDSCxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RELE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDNUQsSUFBSSxXQUFXLElBQUksY0FBYyxFQUFFLENBQUM7UUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2REFBNkQsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFDRCxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpeGVkU2NyaXB0V2FsbGV0LCB6Y2FzaEFkZHJlc3MgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcblxuaW1wb3J0IHsgZ2V0UmVwbGF5UHJvdGVjdGlvblB1YmtleXMgfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi9maXhlZFNjcmlwdC9yZXBsYXlQcm90ZWN0aW9uJztcblxuaW1wb3J0IHsgWmNhc2hDb2luTmFtZSwgVW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2UgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBIb3cgYSByZWNpcGllbnQgcGFyc2VkIGZyb20gYSBaY2FzaCBQU0JUIGlzIHNwZW50LlxuICpcbiAqIFRoZSBkZWNvZGUtc2lkZSBjb3VudGVycGFydCBvZiB1dHhvLWNvcmUncyBgYnVpbGRUcmFuc2FjdGlvbi96Y2FzaC50c2AgYFpjYXNoRGVzdGluYXRpb25gIG9uXG4gKiB0aGUgYnVpbGQgc2lkZTogYSBzaGllbGRlZCByZWNpcGllbnQgaXMgYW4gT3JjaGFyZC9Jcm9ud29vZCBvdXRwdXQgc3RvcmVkIGluIHRoZSB2NiAoSXJvbndvb2QpXG4gKiBQU0JUJ3Mgb3JjaGFyZCBQQ1pULCBhbmQgZXZlcnl0aGluZyBlbHNlIGlzIGFuIG9yZGluYXJ5IHRyYW5zcGFyZW50IG91dHB1dC4gQSB0cmFuc3BhcmVudFxuICogb3V0cHV0IHJlc29sdmVkIGZyb20gYSBVbmlmaWVkIEFkZHJlc3MgY2FycmllcyB0aGF0IG9yaWdpbmFsIFVBIChgemNhc2hVbmlmaWVkVHJhbnNwYXJlbnRgKSwgYVxuICogcGxhaW4gYWRkcmVzcyBkb2VzIG5vdC5cbiAqL1xuZXhwb3J0IHR5cGUgUHNidFJlY2lwaWVudERlc3RpbmF0aW9uID1cbiAgfCB7XG4gICAgICBraW5kOiAnemNhc2hTaGllbGRlZCc7XG4gICAgICAvKipcbiAgICAgICAqIFRoZSBVbmlmaWVkIEFkZHJlc3MgdGhlIG91dHB1dCB3YXMgYWRkcmVzc2VkIHRvIOKAlCB0aGUgb3JpZ2luYWwgbXVsdGktcmVjZWl2ZXIgVUEgdGhlXG4gICAgICAgKiBjbGllbnQgcGFzc2VkIHdoZW4gdGhlIFBTQlQgc3RvcmVzIG9uZSB2ZXJiYXRpbSwgb3RoZXJ3aXNlIGEgcmUtZW5jb2RlZCBzaW5nbGUtcmVjZWl2ZXJcbiAgICAgICAqIE9yY2hhcmQgVUEuXG4gICAgICAgKi9cbiAgICAgIHVuaWZpZWRBZGRyZXNzOiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIGtpbmQ6ICd6Y2FzaFVuaWZpZWRUcmFuc3BhcmVudCc7XG4gICAgICAvKiogVGhlIG9yaWdpbmFsIFVuaWZpZWQgQWRkcmVzcyB0aGUgdHJhbnNwYXJlbnQgcmVjZWl2ZXIgd2FzIHJlc29sdmVkIGZyb20uICovXG4gICAgICB1bmlmaWVkQWRkcmVzczogc3RyaW5nO1xuICAgIH1cbiAgfCB7IGtpbmQ6ICd0cmFuc3BhcmVudCcgfTtcblxuLyoqIEEgcmVjaXBpZW50IHJlc29sdmVkIGZyb20gYSBkZWNvZGVkIFpjYXNoIFBTQlQncyBleHRlcm5hbCBvdXRwdXRzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQc2J0UmVjaXBpZW50IHtcbiAgLyoqIEFtb3VudCBpbiBzYXRvc2hpcy4gKi9cbiAgYW1vdW50OiBiaWdpbnQ7XG4gIC8qKlxuICAgKiBUaGUgcmVjaXBpZW50IGFkZHJlc3MuIEZvciBhIHNoaWVsZGVkIG91dHB1dCB0aGlzIGlzIHRoZSBVbmlmaWVkIEFkZHJlc3MgdGhlIG91dHB1dCB3YXNcbiAgICogYWRkcmVzc2VkIHRvIOKAlCB0aGUgb3JpZ2luYWwgbXVsdGktcmVjZWl2ZXIgVUEgd2hlbiB0aGUgUFNCVCBzdG9yZXMgb25lIHZlcmJhdGltLCBvdGhlcndpc2UgYVxuICAgKiByZS1lbmNvZGVkIHNpbmdsZS1yZWNlaXZlciBPcmNoYXJkIFVBLiBGb3IgYSB0cmFuc3BhcmVudCBvdXRwdXQgaXQgaXMgdGhlIG9yaWdpbmFsIFVuaWZpZWRcbiAgICogQWRkcmVzcyB3aGVuIG9uZSB3YXMgc3RvcmVkLCBlbHNlIHRoZSBkZWNvZGVkIHRyYW5zcGFyZW50IGFkZHJlc3MuXG4gICAqL1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBSYXcgcmVjZWl2ZXIgYnl0ZXM6IHRoZSA0My1ieXRlIE9yY2hhcmQvSXJvbndvb2QgcmVjZWl2ZXIgZm9yIGEgc2hpZWxkZWQgb3V0cHV0LCB0aGVcbiAgICogc2NyaXB0UHViS2V5IGZvciBhIHRyYW5zcGFyZW50IG9uZS5cbiAgICovXG4gIHNjcmlwdDogVWludDhBcnJheTtcbiAgLyoqXG4gICAqIFRoZSBvcmlnaW5hbCBVbmlmaWVkIEFkZHJlc3MgdGhlIGNsaWVudCBzdXBwbGllZCBmb3IgdGhpcyByZWNpcGllbnQsIHdoZW4gdGhlIFBTQlQgc3RvcmVzXG4gICAqIG9uZTogdGhlIHY2IChJcm9ud29vZCkgUENaVCBmb3IgYSBzaGllbGRlZCBvdXRwdXQsIHRoZSB0cmFuc3BhcmVudC1vdXRwdXQgcHJvcHJpZXRhcnlcbiAgICoga2V5LXZhbHVlIG1hcCBmb3IgYSB2NCB0cmFuc3BhcmVudCBvdXRwdXQuIGB1bmRlZmluZWRgIHdoZW4gdGhlIHJlY2lwaWVudCB3YXMgYnVpbHQgZnJvbSBhXG4gICAqIHBsYWluIGFkZHJlc3MuXG4gICAqL1xuICB1bmlmaWVkQWRkcmVzcz86IHN0cmluZztcbiAgZGVzdGluYXRpb246IFBzYnRSZWNpcGllbnREZXN0aW5hdGlvbjtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIHRoZSByZWNpcGllbnQgbGlzdCBvZiBhIGRlY29kZWQgWmNhc2ggUFNCVCAodjQgU2FwbGluZy1zaGFwZWQgb3IgdjYgSXJvbndvb2QpLlxuICpcbiAqIE1pcnJvcnMgdGhlIHJlY2lwaWVudCByZXNvbHV0aW9uIG9mIHdhbGxldC1wbGF0Zm9ybSdzIHV0eG8tY29yZSBgYnVpbGRUcmFuc2FjdGlvbmAgaW4gdGhlXG4gKiBkZWNvZGUgZGlyZWN0aW9uOiBldmVyeSBub24td2FsbGV0IG91dHB1dCB3aXRoIGEgcmVzb2x2YWJsZSBhZGRyZXNzIGlzIGEgcmVjaXBpZW50LiBBXG4gKiBzaGllbGRlZCBvdXRwdXQgcGFyc2VzIHdpdGggYGlzU2hpZWxkZWQ6IHRydWVgLCBpdHMgYHNjcmlwdGAgYmVpbmcgdGhlIHJhdyA0My1ieXRlIHJlY2VpdmVyO1xuICogd2hlbiB0aGUgYnVpbGQgc3RvcmVkIHRoZSBjbGllbnQncyBvcmlnaW5hbCBVbmlmaWVkIEFkZHJlc3MgKHRoZSB2NiBQQ1pUIGZvciBzaGllbGRlZFxuICogb3V0cHV0cywgdGhlIHRyYW5zcGFyZW50LW91dHB1dCBwcm9wcmlldGFyeSBrZXktdmFsdWUgbWFwIGZvciB2NCksIGJvdGggdGhlIHBhcnNlZCBhZGRyZXNzXG4gKiBhbmQgYHVuaWZpZWRBZGRyZXNzYCByZXBvcnQgaXQgdmVyYmF0aW0uIE9wYXF1ZSBvdXRwdXRzIHdpdGggbm8gYWRkcmVzcyAoZS5nLiBPUF9SRVRVUk4pIGFyZVxuICogc2tpcHBlZCwgYXMgdGhleSBjYXJyeSBubyByZWNpcGllbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlUHNidFJlY2lwaWVudHMoXG4gIHBzYnQ6IGZpeGVkU2NyaXB0V2FsbGV0LlpjYXNoQml0R29Qc2J0LFxuICB3YWxsZXRLZXlzOiBmaXhlZFNjcmlwdFdhbGxldC5Sb290V2FsbGV0S2V5c1xuKTogUHNidFJlY2lwaWVudFtdIHtcbiAgY29uc3QgcGFyc2VkID0gcHNidC5wYXJzZVRyYW5zYWN0aW9uV2l0aFdhbGxldEtleXMod2FsbGV0S2V5cywge1xuICAgIHJlcGxheVByb3RlY3Rpb246IHsgcHVibGljS2V5czogZ2V0UmVwbGF5UHJvdGVjdGlvblB1YmtleXMoJ3plYycpIH0sXG4gIH0pO1xuXG4gIGNvbnN0IHJlY2lwaWVudHM6IFBzYnRSZWNpcGllbnRbXSA9IFtdO1xuICBwYXJzZWQub3V0cHV0cy5mb3JFYWNoKChvdXRwdXQsIGkpID0+IHtcbiAgICAvLyBXYWxsZXQtb3duZWQgKGNoYW5nZSkgb3V0cHV0cy5cbiAgICBpZiAob3V0cHV0LnNjcmlwdElkICE9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIE9wYXF1ZSBvdXRwdXRzIChlLmcuIE9QX1JFVFVSTikgY2Fycnkgbm8gcmVjaXBpZW50IGFkZHJlc3MuXG4gICAgaWYgKG91dHB1dC5hZGRyZXNzID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIFRoZSBvcmlnaW5hbCBjbGllbnQtcGFzc2VkIFVuaWZpZWQgQWRkcmVzcywgc3RvcmVkIHZlcmJhdGltIGluIHRoZSBQU0JUJ3Mga2V5LXZhbHVlXG4gICAgLy8gcGFpcnM6IHRoZSBvcmNoYXJkIFBDWlQgZm9yIGEgc2hpZWxkZWQgb3V0cHV0IChwYXJzZWQgYGFkZHJlc3NgIHJlcG9ydHMgaXQgaW4gZnVsbCksIHRoZVxuICAgIC8vIHRyYW5zcGFyZW50LW91dHB1dCBwcm9wcmlldGFyeSBtYXAgZm9yIGEgdjQgdHJhbnNwYXJlbnQgb3V0cHV0LlxuICAgIGNvbnN0IHVuaWZpZWRBZGRyZXNzID0gb3V0cHV0LmlzU2hpZWxkZWQgPyBvdXRwdXQuYWRkcmVzcyA6IHBzYnQudHJhbnNwYXJlbnRPdXRwdXRVbmlmaWVkQWRkcmVzcyhpKSA/PyB1bmRlZmluZWQ7XG4gICAgcmVjaXBpZW50cy5wdXNoKHtcbiAgICAgIGFtb3VudDogb3V0cHV0LnZhbHVlLFxuICAgICAgYWRkcmVzczogb3V0cHV0LmFkZHJlc3MsXG4gICAgICBzY3JpcHQ6IG91dHB1dC5zY3JpcHQsXG4gICAgICB1bmlmaWVkQWRkcmVzcyxcbiAgICAgIGRlc3RpbmF0aW9uOiBvdXRwdXQuaXNTaGllbGRlZFxuICAgICAgICA/IHsga2luZDogJ3pjYXNoU2hpZWxkZWQnLCB1bmlmaWVkQWRkcmVzczogb3V0cHV0LmFkZHJlc3MgfVxuICAgICAgICA6IHVuaWZpZWRBZGRyZXNzXG4gICAgICAgID8geyBraW5kOiAnemNhc2hVbmlmaWVkVHJhbnNwYXJlbnQnLCB1bmlmaWVkQWRkcmVzcyB9XG4gICAgICAgIDogeyBraW5kOiAndHJhbnNwYXJlbnQnIH0sXG4gICAgfSk7XG4gIH0pO1xuICByZXR1cm4gcmVjaXBpZW50cztcbn1cblxuLyoqXG4gKiBJbmZlciB0aGUgVW5pZmllZC1BZGRyZXNzIHJlY2lwaWVudCBwcmVmZXJlbmNlIGZvciBhIFpjYXNoIHRyYW5zYWN0aW9uIHdoZW4gdGhlIGNhbGxlciBkaWRcbiAqIG5vdCBwYXNzIG9uZSDigJQgdGhlIGNvdW50ZXJwYXJ0IG9mIHdhbGxldC1wbGF0Zm9ybSdzIHV0eG8tY29yZSBgYnVpbGRUcmFuc2FjdGlvbmBcbiAqIGBjbGFzc2lmeVJlY2lwaWVudFNoaWVsZGVkbmVzc2AuXG4gKlxuICogQSByZWNpcGllbnQgdGhhdCByZXNvbHZlcyB0byBhIHRyYW5zcGFyZW50IG91dHB1dCDigJQgYW4gb3JkaW5hcnkgdHJhbnNwYXJlbnQgYWRkcmVzcywgb3IgYVxuICogVW5pZmllZCBBZGRyZXNzIGNhcnJ5aW5nIGEgdHJhbnNwYXJlbnQgcmVjZWl2ZXIg4oCUIGlzIGNsYXNzaWZpZWQgYCd0cmFuc3BhcmVudCdgOyBhIFVuaWZpZWRcbiAqIEFkZHJlc3MgY2Fycnlpbmcgb25seSBhbiBPcmNoYXJkL0lyb253b29kIHJlY2VpdmVyIGlzIGNsYXNzaWZpZWQgYCdzaGllbGRlZCdgLiBBIG1peCBvZlxuICogc2hpZWxkZWQgYW5kIHRyYW5zcGFyZW50IHJlY2lwaWVudHMgaXMgcmVqZWN0ZWQuIEFuIGFkZHJlc3MgdGhhdCBpcyBuZWl0aGVyIGEgdHJhbnNwYXJlbnRcbiAqIGFkZHJlc3Mgbm9yIGEgVW5pZmllZCBBZGRyZXNzIHByb3BhZ2F0ZXMgdGhlIFVuaWZpZWQtQWRkcmVzcyBwYXJzZSBlcnJvciDigJQgaXQgaXMgbm90XG4gKiBzaWxlbnRseSBkZWZhdWx0ZWQgdG8gYCd0cmFuc3BhcmVudCdgLlxuICpcbiAqIEByZXR1cm5zIGAnc2hpZWxkZWQnYCB3aGVuIGV2ZXJ5IHJlY2lwaWVudCByZXNvbHZlcyBzaGllbGRlZCwgYHVuZGVmaW5lZGAgd2hlbiBldmVyeVxuICogICByZWNpcGllbnQgcmVzb2x2ZXMgdHJhbnNwYXJlbnQgKHRoZSBidWlsZCdzIGRlZmF1bHQpLiBUaGUgYCd0cmFuc3BhcmVudCdgIGFybSBvZiB0aGVcbiAqICAgcmV0dXJuIHR5cGUgZXhpc3RzIHNvIGNhbGxlcnMgY2FuIHBhc3MgdGhlIGV4cGxpY2l0IHByZWZlcmVuY2UgdGhyb3VnaCB1bmNoYW5nZWQ7IHRoaXNcbiAqICAgZnVuY3Rpb24gaXRzZWxmIG5ldmVyIHJldHVybnMgYCd0cmFuc3BhcmVudCdgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2UoXG4gIG5hbWU6IFpjYXNoQ29pbk5hbWUsXG4gIHJlY2lwaWVudHM6IHsgYWRkcmVzczogc3RyaW5nIHwgdW5kZWZpbmVkIH1bXVxuKTogVW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2UgfCB1bmRlZmluZWQge1xuICBjb25zdCBzaGllbGRlZG5lc3MgPSByZWNpcGllbnRzLm1hcCgocmVjaXBpZW50KSA9PiB7XG4gICAgaWYgKHJlY2lwaWVudC5hZGRyZXNzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIFJhdyBzY3JpcHQgaW5oZXJlbnRseSB0cmFuc3BhcmVudC5cbiAgICAgIHJldHVybiAndHJhbnNwYXJlbnQnIGFzIGNvbnN0O1xuICAgIH1cbiAgICAvLyBPcmRpbmFyeSB0cmFuc3BhcmVudCBhZGRyZXNzLCBvciBhIFVuaWZpZWQgQWRkcmVzcyBjYXJyeWluZyBhIHRyYW5zcGFyZW50IHJlY2VpdmVyOlxuICAgIC8vIHJlc29sdmVzIHRyYW5zcGFyZW50bHkgZWl0aGVyIHdheSAodGhlIGJ1aWxkJ3MgZGVmYXVsdCB3aGVuIG5vIHByZWZlcmVuY2UgaXMgZ2l2ZW4pLlxuICAgIGlmICh6Y2FzaEFkZHJlc3MuaGFzVHJhbnNwYXJlbnRSZWNlaXZlcihyZWNpcGllbnQuYWRkcmVzcywgbmFtZSkpIHtcbiAgICAgIHJldHVybiAndHJhbnNwYXJlbnQnIGFzIGNvbnN0O1xuICAgIH1cbiAgICAvLyBBIHNoaWVsZGVkIChPcmNoYXJkL0lyb253b29kLW9ubHkpIFVuaWZpZWQgQWRkcmVzcyBpcyB0aGUgb25seSByZW1haW5pbmcgcmVzb2x2YWJsZVxuICAgIC8vIGZvcm0uIEFuIGFkZHJlc3MgdGhhdCBpcyBub25lIG9mIHRoZSBhYm92ZSBwcm9wYWdhdGVzIHRoZSBwYXJzZSBlcnJvciBpbnN0ZWFkIG9mXG4gICAgLy8gYXNzdW1pbmcgYSBkZWZhdWx0LlxuICAgIGNvbnN0IHVuaWZpZWQgPSBmaXhlZFNjcmlwdFdhbGxldC5aY2FzaFVuaWZpZWRBZGRyZXNzLnBhcnNlKHJlY2lwaWVudC5hZGRyZXNzLCBuYW1lKTtcbiAgICBpZiAodW5pZmllZC5oYXNPcmNoYXJkUmVjZWl2ZXIpIHtcbiAgICAgIHJldHVybiAnc2hpZWxkZWQnIGFzIGNvbnN0O1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYGFkZHJlc3MgJHtyZWNpcGllbnQuYWRkcmVzc30gY2FycmllcyBubyB0cmFuc3BhcmVudCBvciBPcmNoYXJkIHJlY2VpdmVyYCk7XG4gIH0pO1xuICBjb25zdCBoYXNTaGllbGRlZCA9IHNoaWVsZGVkbmVzcy5pbmNsdWRlcygnc2hpZWxkZWQnKTtcbiAgY29uc3QgaGFzVHJhbnNwYXJlbnQgPSBzaGllbGRlZG5lc3MuaW5jbHVkZXMoJ3RyYW5zcGFyZW50Jyk7XG4gIGlmIChoYXNTaGllbGRlZCAmJiBoYXNUcmFuc3BhcmVudCkge1xuICAgIHRocm93IG5ldyBFcnJvcignTWl4ZWQgc2hpZWxkZWQgYW5kIHRyYW5zcGFyZW50IHJlY2lwaWVudHMgYXJlIG5vdCBzdXBwb3J0ZWQnKTtcbiAgfVxuICByZXR1cm4gaGFzU2hpZWxkZWQgPyAnc2hpZWxkZWQnIDogdW5kZWZpbmVkO1xufVxuIl19
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBpZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsL3plYy9yZWNpcGllbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUduRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQXlENUY7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FDbkMsSUFBc0MsRUFDdEMsVUFBNEMsRUFDNUMsWUFBMEI7SUFFMUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLDhCQUE4QixDQUFDLFVBQVUsRUFBRTtRQUM3RCxnQkFBZ0IsRUFBRSxFQUFFLFVBQVUsRUFBRSwwQkFBMEIsQ0FBQyxLQUFLLENBQUMsRUFBRTtLQUNwRSxDQUFDLENBQUM7SUFFSCxNQUFNLFVBQVUsR0FBb0IsRUFBRSxDQUFDO0lBQ3ZDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ25DLGlDQUFpQztRQUNqQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDN0IsT0FBTztRQUNULENBQUM7UUFDRCw4REFBOEQ7UUFDOUQsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDVCxDQUFDO1FBQ0Qsd0ZBQXdGO1FBQ3hGLGlEQUFpRDtRQUNqRCxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWSxNQUFNLENBQUMsT0FBTyxtQ0FBbUMsQ0FBQyxDQUFDO1FBQzVGLENBQUM7UUFDRCxzRkFBc0Y7UUFDdEYsa0VBQWtFO1FBQ2xFLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUM7UUFDakgsVUFBVSxDQUFDLElBQUksQ0FBQztZQUNkLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSztZQUNwQixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87WUFDdkIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLGNBQWM7WUFDZCxXQUFXLEVBQUUsTUFBTSxDQUFDLFVBQVU7Z0JBQzVCLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQzNELENBQUMsQ0FBQyxjQUFjO29CQUNoQixDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUseUJBQXlCLEVBQUUsY0FBYyxFQUFFO29CQUNyRCxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO1NBQzVCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBTSxVQUFVLDZCQUE2QixDQUMzQyxJQUFtQixFQUNuQixVQUE2QztJQUU3QyxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7UUFDaEQsSUFBSSxTQUFTLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3BDLHFDQUFxQztZQUNyQyxPQUFPLGFBQXNCLENBQUM7UUFDaEMsQ0FBQztRQUNELHNGQUFzRjtRQUN0Rix1RkFBdUY7UUFDdkYsSUFBSSxZQUFZLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2pFLE9BQU8sYUFBc0IsQ0FBQztRQUNoQyxDQUFDO1FBQ0Qsc0ZBQXNGO1FBQ3RGLG1GQUFtRjtRQUNuRixzQkFBc0I7UUFDdEIsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckYsSUFBSSxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMvQixPQUFPLFVBQW1CLENBQUM7UUFDN0IsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxTQUFTLENBQUMsT0FBTyw2Q0FBNkMsQ0FBQyxDQUFDO0lBQzdGLENBQUMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0RCxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzVELElBQUksV0FBVyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsNkRBQTZELENBQUMsQ0FBQztJQUNqRixDQUFDO0lBQ0QsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaXhlZFNjcmlwdFdhbGxldCwgemNhc2hBZGRyZXNzIH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5pbXBvcnQgdHlwZSB7IFVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcblxuaW1wb3J0IHsgZ2V0UmVwbGF5UHJvdGVjdGlvblB1YmtleXMgfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi9maXhlZFNjcmlwdC9yZXBsYXlQcm90ZWN0aW9uJztcbmltcG9ydCB0eXBlIHsgQWRkcmVzc0NvZGVjIH0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24vcmVjaXBpZW50JztcblxuaW1wb3J0IHsgWmNhc2hDb2luTmFtZSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIEhvdyBhIHJlY2lwaWVudCBwYXJzZWQgZnJvbSBhIFpjYXNoIFBTQlQgaXMgc3BlbnQuXG4gKlxuICogVGhlIGRlY29kZS1zaWRlIGNvdW50ZXJwYXJ0IG9mIHV0eG8tY29yZSdzIGBidWlsZFRyYW5zYWN0aW9uL3pjYXNoLnRzYCBgWmNhc2hEZXN0aW5hdGlvbmAgb25cbiAqIHRoZSBidWlsZCBzaWRlOiBhIHNoaWVsZGVkIHJlY2lwaWVudCBpcyBhbiBPcmNoYXJkL0lyb253b29kIG91dHB1dCBzdG9yZWQgaW4gdGhlIHY2IChJcm9ud29vZClcbiAqIFBTQlQncyBvcmNoYXJkIFBDWlQsIGFuZCBldmVyeXRoaW5nIGVsc2UgaXMgYW4gb3JkaW5hcnkgdHJhbnNwYXJlbnQgb3V0cHV0LiBBIHRyYW5zcGFyZW50XG4gKiBvdXRwdXQgcmVzb2x2ZWQgZnJvbSBhIFVuaWZpZWQgQWRkcmVzcyBjYXJyaWVzIHRoYXQgb3JpZ2luYWwgVUEgKGB6Y2FzaFVuaWZpZWRUcmFuc3BhcmVudGApLCBhXG4gKiBwbGFpbiBhZGRyZXNzIGRvZXMgbm90LlxuICovXG5leHBvcnQgdHlwZSBQc2J0UmVjaXBpZW50RGVzdGluYXRpb24gPVxuICB8IHtcbiAgICAgIGtpbmQ6ICd6Y2FzaFNoaWVsZGVkJztcbiAgICAgIC8qKlxuICAgICAgICogVGhlIFVuaWZpZWQgQWRkcmVzcyB0aGUgb3V0cHV0IHdhcyBhZGRyZXNzZWQgdG8g4oCUIHRoZSBvcmlnaW5hbCBtdWx0aS1yZWNlaXZlciBVQSB0aGVcbiAgICAgICAqIGNsaWVudCBwYXNzZWQgd2hlbiB0aGUgUFNCVCBzdG9yZXMgb25lIHZlcmJhdGltLCBvdGhlcndpc2UgYSByZS1lbmNvZGVkIHNpbmdsZS1yZWNlaXZlclxuICAgICAgICogT3JjaGFyZCBVQS5cbiAgICAgICAqL1xuICAgICAgdW5pZmllZEFkZHJlc3M6IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAga2luZDogJ3pjYXNoVW5pZmllZFRyYW5zcGFyZW50JztcbiAgICAgIC8qKiBUaGUgb3JpZ2luYWwgVW5pZmllZCBBZGRyZXNzIHRoZSB0cmFuc3BhcmVudCByZWNlaXZlciB3YXMgcmVzb2x2ZWQgZnJvbS4gKi9cbiAgICAgIHVuaWZpZWRBZGRyZXNzOiBzdHJpbmc7XG4gICAgfVxuICB8IHsga2luZDogJ3RyYW5zcGFyZW50JyB9O1xuXG4vKiogQSByZWNpcGllbnQgcmVzb2x2ZWQgZnJvbSBhIGRlY29kZWQgWmNhc2ggUFNCVCdzIGV4dGVybmFsIG91dHB1dHMuICovXG5leHBvcnQgaW50ZXJmYWNlIFBzYnRSZWNpcGllbnQge1xuICAvKiogQW1vdW50IGluIHNhdG9zaGlzLiAqL1xuICBhbW91bnQ6IGJpZ2ludDtcbiAgLyoqXG4gICAqIFRoZSByZWNpcGllbnQgYWRkcmVzcy4gRm9yIGEgc2hpZWxkZWQgb3V0cHV0IHRoaXMgaXMgdGhlIFVuaWZpZWQgQWRkcmVzcyB0aGUgb3V0cHV0IHdhc1xuICAgKiBhZGRyZXNzZWQgdG8g4oCUIHRoZSBvcmlnaW5hbCBtdWx0aS1yZWNlaXZlciBVQSB3aGVuIHRoZSBQU0JUIHN0b3JlcyBvbmUgdmVyYmF0aW0sIG90aGVyd2lzZSBhXG4gICAqIHJlLWVuY29kZWQgc2luZ2xlLXJlY2VpdmVyIE9yY2hhcmQgVUEuIEZvciBhIHRyYW5zcGFyZW50IG91dHB1dCBpdCBpcyB0aGUgb3JpZ2luYWwgVW5pZmllZFxuICAgKiBBZGRyZXNzIHdoZW4gb25lIHdhcyBzdG9yZWQsIGVsc2UgdGhlIGRlY29kZWQgdHJhbnNwYXJlbnQgYWRkcmVzcy5cbiAgICovXG4gIGFkZHJlc3M6IHN0cmluZztcbiAgLyoqXG4gICAqIFJhdyByZWNlaXZlciBieXRlczogdGhlIDQzLWJ5dGUgT3JjaGFyZC9Jcm9ud29vZCByZWNlaXZlciBmb3IgYSBzaGllbGRlZCBvdXRwdXQsIHRoZVxuICAgKiBzY3JpcHRQdWJLZXkgZm9yIGEgdHJhbnNwYXJlbnQgb25lLlxuICAgKi9cbiAgc2NyaXB0OiBVaW50OEFycmF5O1xuICAvKipcbiAgICogVGhlIG9yaWdpbmFsIFVuaWZpZWQgQWRkcmVzcyB0aGUgY2xpZW50IHN1cHBsaWVkIGZvciB0aGlzIHJlY2lwaWVudCwgd2hlbiB0aGUgUFNCVCBzdG9yZXNcbiAgICogb25lOiB0aGUgdjYgKElyb253b29kKSBQQ1pUIGZvciBhIHNoaWVsZGVkIG91dHB1dCwgdGhlIHRyYW5zcGFyZW50LW91dHB1dCBwcm9wcmlldGFyeVxuICAgKiBrZXktdmFsdWUgbWFwIGZvciBhIHY0IHRyYW5zcGFyZW50IG91dHB1dC4gYHVuZGVmaW5lZGAgd2hlbiB0aGUgcmVjaXBpZW50IHdhcyBidWlsdCBmcm9tIGFcbiAgICogcGxhaW4gYWRkcmVzcy5cbiAgICovXG4gIHVuaWZpZWRBZGRyZXNzPzogc3RyaW5nO1xuICBkZXN0aW5hdGlvbjogUHNidFJlY2lwaWVudERlc3RpbmF0aW9uO1xufVxuXG4vKipcbiAqIFJlc29sdmUgdGhlIHJlY2lwaWVudCBsaXN0IG9mIGEgZGVjb2RlZCBaY2FzaCBQU0JUICh2NCBTYXBsaW5nLXNoYXBlZCBvciB2NiBJcm9ud29vZCkuXG4gKlxuICogTWlycm9ycyB0aGUgcmVjaXBpZW50IHJlc29sdXRpb24gb2Ygd2FsbGV0LXBsYXRmb3JtJ3MgdXR4by1jb3JlIGBidWlsZFRyYW5zYWN0aW9uYCBpbiB0aGVcbiAqIGRlY29kZSBkaXJlY3Rpb246IGV2ZXJ5IG5vbi13YWxsZXQgb3V0cHV0IHdpdGggYSByZXNvbHZhYmxlIGFkZHJlc3MgaXMgYSByZWNpcGllbnQuIEFcbiAqIHNoaWVsZGVkIG91dHB1dCBwYXJzZXMgd2l0aCBgaXNTaGllbGRlZDogdHJ1ZWAsIGl0cyBgc2NyaXB0YCBiZWluZyB0aGUgcmF3IDQzLWJ5dGUgcmVjZWl2ZXI7XG4gKiB3aGVuIHRoZSBidWlsZCBzdG9yZWQgdGhlIGNsaWVudCdzIG9yaWdpbmFsIFVuaWZpZWQgQWRkcmVzcyAodGhlIHY2IFBDWlQgZm9yIHNoaWVsZGVkXG4gKiBvdXRwdXRzLCB0aGUgdHJhbnNwYXJlbnQtb3V0cHV0IHByb3ByaWV0YXJ5IGtleS12YWx1ZSBtYXAgZm9yIHY0KSwgYm90aCB0aGUgcGFyc2VkIGFkZHJlc3NcbiAqIGFuZCBgdW5pZmllZEFkZHJlc3NgIHJlcG9ydCBpdCB2ZXJiYXRpbS4gT3BhcXVlIG91dHB1dHMgd2l0aCBubyBhZGRyZXNzIChlLmcuIE9QX1JFVFVSTikgYXJlXG4gKiBza2lwcGVkLCBhcyB0aGV5IGNhcnJ5IG5vIHJlY2lwaWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVQc2J0UmVjaXBpZW50cyhcbiAgcHNidDogZml4ZWRTY3JpcHRXYWxsZXQuWmNhc2hCaXRHb1BzYnQsXG4gIHdhbGxldEtleXM6IGZpeGVkU2NyaXB0V2FsbGV0LlJvb3RXYWxsZXRLZXlzLFxuICBhZGRyZXNzQ29kZWM6IEFkZHJlc3NDb2RlY1xuKTogUHNidFJlY2lwaWVudFtdIHtcbiAgY29uc3QgcGFyc2VkID0gcHNidC5wYXJzZVRyYW5zYWN0aW9uV2l0aFdhbGxldEtleXMod2FsbGV0S2V5cywge1xuICAgIHJlcGxheVByb3RlY3Rpb246IHsgcHVibGljS2V5czogZ2V0UmVwbGF5UHJvdGVjdGlvblB1YmtleXMoJ3plYycpIH0sXG4gIH0pO1xuXG4gIGNvbnN0IHJlY2lwaWVudHM6IFBzYnRSZWNpcGllbnRbXSA9IFtdO1xuICBwYXJzZWQub3V0cHV0cy5mb3JFYWNoKChvdXRwdXQsIGkpID0+IHtcbiAgICAvLyBXYWxsZXQtb3duZWQgKGNoYW5nZSkgb3V0cHV0cy5cbiAgICBpZiAob3V0cHV0LnNjcmlwdElkICE9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIE9wYXF1ZSBvdXRwdXRzIChlLmcuIE9QX1JFVFVSTikgY2Fycnkgbm8gcmVjaXBpZW50IGFkZHJlc3MuXG4gICAgaWYgKG91dHB1dC5hZGRyZXNzID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIFRoZSByYXcgcGFyc2VkIHJlY2VpdmVyL3NjcmlwdCBpcyBhdXRob3JpdGF0aXZlOyBwcm9wcmlldGFyeSBVbmlmaWVkIEFkZHJlc3MgbWV0YWRhdGFcbiAgICAvLyBtdXN0IG1hdGNoIGl0IGJlZm9yZSBpdCBpcyBleHBvc2VkIHRvIGNhbGxlcnMuXG4gICAgaWYgKCFhZGRyZXNzQ29kZWMuaXNNYXRjaGluZ1NjcmlwdChvdXRwdXQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE91dHB1dCAke2l9IGFkZHJlc3MgJHtvdXRwdXQuYWRkcmVzc30gZG9lcyBub3QgbWF0Y2ggaXRzIHJhdyByZWNpcGllbnRgKTtcbiAgICB9XG4gICAgLy8gVGhlIG9yaWdpbmFsIGNsaWVudC1wYXNzZWQgVW5pZmllZCBBZGRyZXNzLCBzdG9yZWQgdmVyYmF0aW0gaW4gdGhlIFBTQlQncyBrZXktdmFsdWVcbiAgICAvLyB0cmFuc3BhcmVudC1vdXRwdXQgcHJvcHJpZXRhcnkgbWFwIGZvciBhIHY0IHRyYW5zcGFyZW50IG91dHB1dC5cbiAgICBjb25zdCB1bmlmaWVkQWRkcmVzcyA9IG91dHB1dC5pc1NoaWVsZGVkID8gb3V0cHV0LmFkZHJlc3MgOiBwc2J0LnRyYW5zcGFyZW50T3V0cHV0VW5pZmllZEFkZHJlc3MoaSkgPz8gdW5kZWZpbmVkO1xuICAgIHJlY2lwaWVudHMucHVzaCh7XG4gICAgICBhbW91bnQ6IG91dHB1dC52YWx1ZSxcbiAgICAgIGFkZHJlc3M6IG91dHB1dC5hZGRyZXNzLFxuICAgICAgc2NyaXB0OiBvdXRwdXQuc2NyaXB0LFxuICAgICAgdW5pZmllZEFkZHJlc3MsXG4gICAgICBkZXN0aW5hdGlvbjogb3V0cHV0LmlzU2hpZWxkZWRcbiAgICAgICAgPyB7IGtpbmQ6ICd6Y2FzaFNoaWVsZGVkJywgdW5pZmllZEFkZHJlc3M6IG91dHB1dC5hZGRyZXNzIH1cbiAgICAgICAgOiB1bmlmaWVkQWRkcmVzc1xuICAgICAgICA/IHsga2luZDogJ3pjYXNoVW5pZmllZFRyYW5zcGFyZW50JywgdW5pZmllZEFkZHJlc3MgfVxuICAgICAgICA6IHsga2luZDogJ3RyYW5zcGFyZW50JyB9LFxuICAgIH0pO1xuICB9KTtcbiAgcmV0dXJuIHJlY2lwaWVudHM7XG59XG5cbi8qKlxuICogSW5mZXIgdGhlIFVuaWZpZWQtQWRkcmVzcyByZWNpcGllbnQgcHJlZmVyZW5jZSBmb3IgYSBaY2FzaCB0cmFuc2FjdGlvbiB3aGVuIHRoZSBjYWxsZXIgZGlkXG4gKiBub3QgcGFzcyBvbmUg4oCUIHRoZSBjb3VudGVycGFydCBvZiB3YWxsZXQtcGxhdGZvcm0ncyB1dHhvLWNvcmUgYGJ1aWxkVHJhbnNhY3Rpb25gXG4gKiBgY2xhc3NpZnlSZWNpcGllbnRTaGllbGRlZG5lc3NgLlxuICpcbiAqIEEgcmVjaXBpZW50IHRoYXQgcmVzb2x2ZXMgdG8gYSB0cmFuc3BhcmVudCBvdXRwdXQg4oCUIGFuIG9yZGluYXJ5IHRyYW5zcGFyZW50IGFkZHJlc3MsIG9yIGFcbiAqIFVuaWZpZWQgQWRkcmVzcyBjYXJyeWluZyBhIHRyYW5zcGFyZW50IHJlY2VpdmVyIOKAlCBpcyBjbGFzc2lmaWVkIGAndHJhbnNwYXJlbnQnYDsgYSBVbmlmaWVkXG4gKiBBZGRyZXNzIGNhcnJ5aW5nIG9ubHkgYW4gT3JjaGFyZC9Jcm9ud29vZCByZWNlaXZlciBpcyBjbGFzc2lmaWVkIGAnc2hpZWxkZWQnYC4gQSBtaXggb2ZcbiAqIHNoaWVsZGVkIGFuZCB0cmFuc3BhcmVudCByZWNpcGllbnRzIGlzIHJlamVjdGVkLiBBbiBhZGRyZXNzIHRoYXQgaXMgbmVpdGhlciBhIHRyYW5zcGFyZW50XG4gKiBhZGRyZXNzIG5vciBhIFVuaWZpZWQgQWRkcmVzcyBwcm9wYWdhdGVzIHRoZSBVbmlmaWVkLUFkZHJlc3MgcGFyc2UgZXJyb3Ig4oCUIGl0IGlzIG5vdFxuICogc2lsZW50bHkgZGVmYXVsdGVkIHRvIGAndHJhbnNwYXJlbnQnYC5cbiAqXG4gKiBAcmV0dXJucyBgJ3NoaWVsZGVkJ2Agd2hlbiBldmVyeSByZWNpcGllbnQgcmVzb2x2ZXMgc2hpZWxkZWQsIGB1bmRlZmluZWRgIHdoZW4gZXZlcnlcbiAqICAgcmVjaXBpZW50IHJlc29sdmVzIHRyYW5zcGFyZW50ICh0aGUgYnVpbGQncyBkZWZhdWx0KS4gVGhlIGAndHJhbnNwYXJlbnQnYCBhcm0gb2YgdGhlXG4gKiAgIHJldHVybiB0eXBlIGV4aXN0cyBzbyBjYWxsZXJzIGNhbiBwYXNzIHRoZSBleHBsaWNpdCBwcmVmZXJlbmNlIHRocm91Z2ggdW5jaGFuZ2VkOyB0aGlzXG4gKiAgIGZ1bmN0aW9uIGl0c2VsZiBuZXZlciByZXR1cm5zIGAndHJhbnNwYXJlbnQnYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlKFxuICBuYW1lOiBaY2FzaENvaW5OYW1lLFxuICByZWNpcGllbnRzOiB7IGFkZHJlc3M6IHN0cmluZyB8IHVuZGVmaW5lZCB9W11cbik6IFVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlIHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qgc2hpZWxkZWRuZXNzID0gcmVjaXBpZW50cy5tYXAoKHJlY2lwaWVudCkgPT4ge1xuICAgIGlmIChyZWNpcGllbnQuYWRkcmVzcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBSYXcgc2NyaXB0IGluaGVyZW50bHkgdHJhbnNwYXJlbnQuXG4gICAgICByZXR1cm4gJ3RyYW5zcGFyZW50JyBhcyBjb25zdDtcbiAgICB9XG4gICAgLy8gT3JkaW5hcnkgdHJhbnNwYXJlbnQgYWRkcmVzcywgb3IgYSBVbmlmaWVkIEFkZHJlc3MgY2FycnlpbmcgYSB0cmFuc3BhcmVudCByZWNlaXZlcjpcbiAgICAvLyByZXNvbHZlcyB0cmFuc3BhcmVudGx5IGVpdGhlciB3YXkgKHRoZSBidWlsZCdzIGRlZmF1bHQgd2hlbiBubyBwcmVmZXJlbmNlIGlzIGdpdmVuKS5cbiAgICBpZiAoemNhc2hBZGRyZXNzLmhhc1RyYW5zcGFyZW50UmVjZWl2ZXIocmVjaXBpZW50LmFkZHJlc3MsIG5hbWUpKSB7XG4gICAgICByZXR1cm4gJ3RyYW5zcGFyZW50JyBhcyBjb25zdDtcbiAgICB9XG4gICAgLy8gQSBzaGllbGRlZCAoT3JjaGFyZC9Jcm9ud29vZC1vbmx5KSBVbmlmaWVkIEFkZHJlc3MgaXMgdGhlIG9ubHkgcmVtYWluaW5nIHJlc29sdmFibGVcbiAgICAvLyBmb3JtLiBBbiBhZGRyZXNzIHRoYXQgaXMgbm9uZSBvZiB0aGUgYWJvdmUgcHJvcGFnYXRlcyB0aGUgcGFyc2UgZXJyb3IgaW5zdGVhZCBvZlxuICAgIC8vIGFzc3VtaW5nIGEgZGVmYXVsdC5cbiAgICBjb25zdCB1bmlmaWVkID0gZml4ZWRTY3JpcHRXYWxsZXQuWmNhc2hVbmlmaWVkQWRkcmVzcy5wYXJzZShyZWNpcGllbnQuYWRkcmVzcywgbmFtZSk7XG4gICAgaWYgKHVuaWZpZWQuaGFzT3JjaGFyZFJlY2VpdmVyKSB7XG4gICAgICByZXR1cm4gJ3NoaWVsZGVkJyBhcyBjb25zdDtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBhZGRyZXNzICR7cmVjaXBpZW50LmFkZHJlc3N9IGNhcnJpZXMgbm8gdHJhbnNwYXJlbnQgb3IgT3JjaGFyZCByZWNlaXZlcmApO1xuICB9KTtcbiAgY29uc3QgaGFzU2hpZWxkZWQgPSBzaGllbGRlZG5lc3MuaW5jbHVkZXMoJ3NoaWVsZGVkJyk7XG4gIGNvbnN0IGhhc1RyYW5zcGFyZW50ID0gc2hpZWxkZWRuZXNzLmluY2x1ZGVzKCd0cmFuc3BhcmVudCcpO1xuICBpZiAoaGFzU2hpZWxkZWQgJiYgaGFzVHJhbnNwYXJlbnQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01peGVkIHNoaWVsZGVkIGFuZCB0cmFuc3BhcmVudCByZWNpcGllbnRzIGFyZSBub3Qgc3VwcG9ydGVkJyk7XG4gIH1cbiAgcmV0dXJuIGhhc1NoaWVsZGVkID8gJ3NoaWVsZGVkJyA6IHVuZGVmaW5lZDtcbn1cbiJdfQ==
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import type { AddressCodecOutput } from '../../transaction/recipient';
|
|
1
2
|
/** A Zcash coin name — the only UTXO coins with shielded (Orchard/Ironwood) support. */
|
|
2
3
|
export type ZcashCoinName = 'zec' | 'tzec';
|
|
3
|
-
/**
|
|
4
|
-
export
|
|
4
|
+
/** Parsed output metadata used to distinguish Zcash transparent and shielded receivers. */
|
|
5
|
+
export interface ZecAddressCodecOutput extends AddressCodecOutput {
|
|
6
|
+
isShielded?: boolean;
|
|
7
|
+
}
|
|
5
8
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/impl/zec/types.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/impl/zec/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,wFAAwF;AACxF,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C,2FAA2F;AAC3F,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW1wbC96ZWMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQWRkcmVzc0NvZGVjT3V0cHV0IH0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24vcmVjaXBpZW50JztcblxuLyoqIEEgWmNhc2ggY29pbiBuYW1lIOKAlCB0aGUgb25seSBVVFhPIGNvaW5zIHdpdGggc2hpZWxkZWQgKE9yY2hhcmQvSXJvbndvb2QpIHN1cHBvcnQuICovXG5leHBvcnQgdHlwZSBaY2FzaENvaW5OYW1lID0gJ3plYycgfCAndHplYyc7XG5cbi8qKiBQYXJzZWQgb3V0cHV0IG1ldGFkYXRhIHVzZWQgdG8gZGlzdGluZ3Vpc2ggWmNhc2ggdHJhbnNwYXJlbnQgYW5kIHNoaWVsZGVkIHJlY2VpdmVycy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgWmVjQWRkcmVzc0NvZGVjT3V0cHV0IGV4dGVuZHMgQWRkcmVzc0NvZGVjT3V0cHV0IHtcbiAgaXNTaGllbGRlZD86IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @prettier
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { fixedScriptWallet } from '@bitgo/wasm-utxo';
|
|
5
|
+
import { BitGoBase, ExtraPrebuildParamsOptions, MPCAlgorithm, Wallet } from '@bitgo/sdk-core';
|
|
6
|
+
import { AbstractUtxoCoin, ParseTransactionOptions } from '../../abstractUtxoCoin';
|
|
7
|
+
import type { ParsedTransaction } from '../../transaction/types';
|
|
6
8
|
import { UtxoCoinName } from '../../names';
|
|
9
|
+
import { ZecAddressCodec } from './address';
|
|
10
|
+
import { PsbtRecipient } from './recipients';
|
|
7
11
|
export declare class Zec extends AbstractUtxoCoin {
|
|
8
12
|
readonly name: UtxoCoinName;
|
|
9
13
|
constructor(bitgo: BitGoBase);
|
|
@@ -15,9 +19,26 @@ export declare class Zec extends AbstractUtxoCoin {
|
|
|
15
19
|
*/
|
|
16
20
|
getMPCAlgorithm(): MPCAlgorithm;
|
|
17
21
|
static createInstance(bitgo: BitGoBase): Zec;
|
|
22
|
+
get addressCodec(): ZecAddressCodec;
|
|
18
23
|
isValidAddress(address: string, param?: {
|
|
19
24
|
anyFormat?: boolean;
|
|
20
25
|
allowLightning?: boolean;
|
|
21
26
|
} | boolean): boolean;
|
|
27
|
+
private inferUnifiedRecipientPreference;
|
|
28
|
+
parseTransaction<TNumber extends number | bigint = number>(params: ParseTransactionOptions<TNumber>): Promise<ParsedTransaction<TNumber>>;
|
|
29
|
+
getExtraPrebuildParams(buildParams: ExtraPrebuildParamsOptions & {
|
|
30
|
+
wallet: Wallet;
|
|
31
|
+
}): Promise<{
|
|
32
|
+
txFormat?: import("../..").TxFormat;
|
|
33
|
+
changeAddressType?: ("p2sh" | "p2wsh" | "p2shP2wsh" | "p2trMusig2" | "p2tr")[] | ("p2sh" | "p2wsh" | "p2shP2wsh" | "p2trMusig2" | "p2tr");
|
|
34
|
+
allowedInputScriptTypes?: ("p2sh" | "p2wsh" | "p2shP2wsh" | "p2trMusig2" | "p2tr")[];
|
|
35
|
+
} | {
|
|
36
|
+
unifiedRecipientPreference: "shielded" | "transparent";
|
|
37
|
+
txFormat?: import("../..").TxFormat;
|
|
38
|
+
changeAddressType?: ("p2sh" | "p2wsh" | "p2shP2wsh" | "p2trMusig2" | "p2tr")[] | ("p2sh" | "p2wsh" | "p2shP2wsh" | "p2trMusig2" | "p2tr");
|
|
39
|
+
allowedInputScriptTypes?: ("p2sh" | "p2wsh" | "p2shP2wsh" | "p2trMusig2" | "p2tr")[];
|
|
40
|
+
}>;
|
|
41
|
+
decodeTransaction(input: Buffer | string): fixedScriptWallet.BitGoPsbt;
|
|
42
|
+
resolveRecipientsFromPsbt(input: Buffer | string, walletKeys: fixedScriptWallet.RootWalletKeys): PsbtRecipient[];
|
|
22
43
|
}
|
|
23
44
|
//# sourceMappingURL=zec.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zec.d.ts","sourceRoot":"","sources":["../../../../src/impl/zec/zec.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"zec.d.ts","sourceRoot":"","sources":["../../../../src/impl/zec/zec.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAA8B,MAAM,kBAAkB,CAAC;AACjF,OAAO,EACL,SAAS,EACT,0BAA0B,EAC1B,YAAY,EACZ,MAAM,EAEP,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAsB,MAAM,aAAa,CAAC;AAG/D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAyB,aAAa,EAAE,MAAM,cAAc,CAAC;AAGpE,qBAAa,GAAI,SAAQ,gBAAgB;IACvC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAS;gBAExB,KAAK,EAAE,SAAS;IAI5B;;;;;OAKG;IACH,eAAe,IAAI,YAAY;IAI/B,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG;IAI5C,IAAa,YAAY,IAAI,eAAe,CAE3C;IAED,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,GAAG,OAAO;IAI7G,OAAO,CAAC,+BAA+B;IAyBxB,gBAAgB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EACtE,MAAM,EAAE,uBAAuB,CAAC,OAAO,CAAC,GACvC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IASvB,sBAAsB,CAAC,WAAW,EAAE,0BAA0B,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;IASzF,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,iBAAiB,CAAC,SAAS;IAO/E,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,iBAAiB,CAAC,cAAc,GAAG,aAAa,EAAE;CAOjH"}
|
package/dist/esm/impl/zec/zec.js
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @prettier
|
|
3
|
+
*/
|
|
4
|
+
import { fixedScriptWallet, hasPsbtMagic, zcashAddress } from '@bitgo/wasm-utxo';
|
|
2
5
|
import { AbstractUtxoCoin } from '../../abstractUtxoCoin';
|
|
6
|
+
import { stringToBufferTryFormats } from '../../transaction/decode';
|
|
7
|
+
import { toWasmUtxoCoinName } from '../../names';
|
|
8
|
+
import { AddressCodec } from '../../transaction/recipient';
|
|
9
|
+
import { ZecAddressCodec } from './address';
|
|
10
|
+
import { resolvePsbtRecipients } from './recipients';
|
|
3
11
|
export class Zec extends AbstractUtxoCoin {
|
|
4
12
|
constructor(bitgo) {
|
|
5
13
|
super(bitgo);
|
|
@@ -17,8 +25,59 @@ export class Zec extends AbstractUtxoCoin {
|
|
|
17
25
|
static createInstance(bitgo) {
|
|
18
26
|
return new Zec(bitgo);
|
|
19
27
|
}
|
|
28
|
+
get addressCodec() {
|
|
29
|
+
return new ZecAddressCodec(this.name, this.wasmName);
|
|
30
|
+
}
|
|
20
31
|
isValidAddress(address, param) {
|
|
21
|
-
return
|
|
32
|
+
return this.addressCodec.isValidAddress(address);
|
|
33
|
+
}
|
|
34
|
+
inferUnifiedRecipientPreference(recipients) {
|
|
35
|
+
const shieldedness = (recipients ?? []).map((recipient) => {
|
|
36
|
+
const address = recipient.address;
|
|
37
|
+
if (address === undefined) {
|
|
38
|
+
return 'transparent';
|
|
39
|
+
}
|
|
40
|
+
if (AddressCodec.isScriptRecipient(address)) {
|
|
41
|
+
return 'transparent';
|
|
42
|
+
}
|
|
43
|
+
const hasTransparentReceiver = zcashAddress.hasTransparentReceiver(address, this.wasmName);
|
|
44
|
+
const hasOrchardReceiver = zcashAddress.hasOrchardReceiver(address, this.wasmName);
|
|
45
|
+
return hasOrchardReceiver && !hasTransparentReceiver
|
|
46
|
+
? 'shielded'
|
|
47
|
+
: hasTransparentReceiver
|
|
48
|
+
? 'transparent'
|
|
49
|
+
: undefined;
|
|
50
|
+
});
|
|
51
|
+
if (shieldedness.includes('shielded') && shieldedness.includes('transparent')) {
|
|
52
|
+
throw new Error('Mixed shielded and transparent recipients are not supported');
|
|
53
|
+
}
|
|
54
|
+
return shieldedness.includes('shielded') ? 'shielded' : undefined;
|
|
55
|
+
}
|
|
56
|
+
async parseTransaction(params) {
|
|
57
|
+
const preference = params.txParams.unifiedRecipientPreference ?? this.inferUnifiedRecipientPreference(params.txParams.recipients);
|
|
58
|
+
return this.parseTransactionWithAddressCodec(params, new ZecAddressCodec(this.name, this.wasmName, preference ?? 'transparent'));
|
|
59
|
+
}
|
|
60
|
+
async getExtraPrebuildParams(buildParams) {
|
|
61
|
+
const extraParams = await super.getExtraPrebuildParams(buildParams);
|
|
62
|
+
const { unifiedRecipientPreference } = buildParams;
|
|
63
|
+
if (unifiedRecipientPreference === undefined) {
|
|
64
|
+
return extraParams;
|
|
65
|
+
}
|
|
66
|
+
return { ...extraParams, unifiedRecipientPreference };
|
|
67
|
+
}
|
|
68
|
+
decodeTransaction(input) {
|
|
69
|
+
const buffer = typeof input === 'string' ? stringToBufferTryFormats(input, ['hex', 'base64']) : input;
|
|
70
|
+
if (!hasPsbtMagic(buffer)) {
|
|
71
|
+
return super.decodeTransaction(input);
|
|
72
|
+
}
|
|
73
|
+
return fixedScriptWallet.ZcashPsbt.fromBytes(buffer, toWasmUtxoCoinName(this.name));
|
|
74
|
+
}
|
|
75
|
+
resolveRecipientsFromPsbt(input, walletKeys) {
|
|
76
|
+
const psbt = this.decodeTransaction(input);
|
|
77
|
+
if (!(psbt instanceof fixedScriptWallet.ZcashBitGoPsbt)) {
|
|
78
|
+
throw new Error('expected a Zcash PSBT');
|
|
79
|
+
}
|
|
80
|
+
return resolvePsbtRecipients(psbt, walletKeys, this.addressCodec);
|
|
22
81
|
}
|
|
23
82
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltcGwvemVjL3plYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFTakYsT0FBTyxFQUFFLGdCQUFnQixFQUEyQixNQUFNLHdCQUF3QixDQUFDO0FBRW5GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBZ0Isa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDNUMsT0FBTyxFQUFFLHFCQUFxQixFQUFpQixNQUFNLGNBQWMsQ0FBQztBQUdwRSxNQUFNLE9BQU8sR0FBSSxTQUFRLGdCQUFnQjtJQUd2QyxZQUFZLEtBQWdCO1FBQzFCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUhOLFNBQUksR0FBaUIsS0FBSyxDQUFDO0lBSXBDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWU7UUFDYixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQjtRQUNwQyxPQUFPLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFhLFlBQVk7UUFDdkIsT0FBTyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQWUsRUFBRSxLQUFtRTtRQUNqRyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25ELENB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QUM1RixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLENBQUMsSUFBSSxZQUFZLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDeEQsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFDRCxPQUFPLHFCQUFxQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKi9cbmltcG9ydCB7IGZpeGVkU2NyaXB0V2FsbGV0LCBoYXNQc2J0TWFnaWMsIHpjYXNoQWRkcmVzcyB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuaW1wb3J0IHtcbiAgQml0R29CYXNlLFxuICBFeHRyYVByZWJ1aWxkUGFyYW1zT3B0aW9ucyxcbiAgTVBDQWxnb3JpdGhtLFxuICBXYWxsZXQsXG4gIFVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdFV0eG9Db2luLCBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyB9IGZyb20gJy4uLy4uL2Fic3RyYWN0VXR4b0NvaW4nO1xuaW1wb3J0IHR5cGUgeyBQYXJzZWRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uL3R5cGVzJztcbmltcG9ydCB7IHN0cmluZ1RvQnVmZmVyVHJ5Rm9ybWF0cyB9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uL2RlY29kZSc7XG5pbXBvcnQgeyBVdHhvQ29pbk5hbWUsIHRvV2FzbVV0eG9Db2luTmFtZSB9IGZyb20gJy4uLy4uL25hbWVzJztcbmltcG9ydCB7IEFkZHJlc3NDb2RlYyB9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uL3JlY2lwaWVudCc7XG5cbmltcG9ydCB7IFplY0FkZHJlc3NDb2RlYyB9IGZyb20gJy4vYWRkcmVzcyc7XG5pbXBvcnQgeyByZXNvbHZlUHNidFJlY2lwaWVudHMsIFBzYnRSZWNpcGllbnQgfSBmcm9tICcuL3JlY2lwaWVudHMnO1xuaW1wb3J0IHR5cGUgeyBaY2FzaENvaW5OYW1lIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBaZWMgZXh0ZW5kcyBBYnN0cmFjdFV0eG9Db2luIHtcbiAgcmVhZG9ubHkgbmFtZTogVXR4b0NvaW5OYW1lID0gJ3plYyc7XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSkge1xuICAgIHN1cGVyKGJpdGdvKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBaRUMgc2hpZWxkZWQgKE9yY2hhcmQvSXJvbndvb2QpIGN1c3RvZGlhbCB3YWxsZXRzIHVzZSBSZWRQYWxsYXMgdGhyZXNob2xkIGtleXMuXG4gICAqIFRyYW5zcGFyZW50IChzZWNwMjU2azEgbXVsdGlzaWcpIGZsb3dzIGFyZSB1bmFmZmVjdGVkOiBNUENBbGdvcml0aG0gaXMgb25seVxuICAgKiBjb25zdWx0ZWQgb24gdGhlIFRTUyBjdXN0b2RpYWwgd2FsbGV0LWNyZWF0aW9uIHBhdGguXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBnZXRNUENBbGdvcml0aG0oKTogTVBDQWxnb3JpdGhtIHtcbiAgICByZXR1cm4gJ3JlZHBhbGxhcyc7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlSW5zdGFuY2UoYml0Z286IEJpdEdvQmFzZSk6IFplYyB7XG4gICAgcmV0dXJuIG5ldyBaZWMoYml0Z28pO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0IGFkZHJlc3NDb2RlYygpOiBaZWNBZGRyZXNzQ29kZWMge1xuICAgIHJldHVybiBuZXcgWmVjQWRkcmVzc0NvZGVjKHRoaXMubmFtZSwgdGhpcy53YXNtTmFtZSk7XG4gIH1cblxuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcsIHBhcmFtPzogeyBhbnlGb3JtYXQ/OiBib29sZWFuOyBhbGxvd0xpZ2h0bmluZz86IGJvb2xlYW4gfSB8IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hZGRyZXNzQ29kZWMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcyk7XG4gIH1cblxuICBwcml2YXRlIGluZmVyVW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2UoXG4gICAgcmVjaXBpZW50czogeyBhZGRyZXNzOiBzdHJpbmcgfCB1bmRlZmluZWQgfVtdIHwgdW5kZWZpbmVkXG4gICk6IFVuaWZpZWRSZWNpcGllbnRQcmVmZXJlbmNlIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBzaGllbGRlZG5lc3MgPSAocmVjaXBpZW50cyA/PyBbXSkubWFwKChyZWNpcGllbnQpOiBVbmlmaWVkUmVjaXBpZW50UHJlZmVyZW5jZSB8IHVuZGVmaW5lZCA9PiB7XG4gICAgICBjb25zdCBhZGRyZXNzID0gcmVjaXBpZW50LmFkZHJlc3M7XG4gICAgICBpZiAoYWRkcmVzcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiAndHJhbnNwYXJlbnQnO1xuICAgICAgfVxuICAgICAgaWYgKEFkZHJlc3NDb2RlYy5pc1NjcmlwdFJlY2lwaWVudChhZGRyZXNzKSkge1xuICAgICAgICByZXR1cm4gJ3RyYW5zcGFyZW50JztcbiAgICAgIH1cbiAgICAgIGNvbnN0IGhhc1RyYW5zcGFyZW50UmVjZWl2ZXIgPSB6Y2FzaEFkZHJlc3MuaGFzVHJhbnNwYXJlbnRSZWNlaXZlcihhZGRyZXNzLCB0aGlzLndhc21OYW1lKTtcbiAgICAgIGNvbnN0IGhhc09yY2hhcmRSZWNlaXZlciA9IHpjYXNoQWRkcmVzcy5oYXNPcmNoYXJkUmVjZWl2ZXIoYWRkcmVzcywgdGhpcy53YXNtTmFtZSk7XG4gICAgICByZXR1cm4gaGFzT3JjaGFyZFJlY2VpdmVyICYmICFoYXNUcmFuc3BhcmVudFJlY2VpdmVyXG4gICAgICAgID8gJ3NoaWVsZGVkJ1xuICAgICAgICA6IGhhc1RyYW5zcGFyZW50UmVjZWl2ZXJcbiAgICAgICAgPyAndHJhbnNwYXJlbnQnXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIH0pO1xuICAgIGlmIChzaGllbGRlZG5lc3MuaW5jbHVkZXMoJ3NoaWVsZGVkJykgJiYgc2hpZWxkZWRuZXNzLmluY2x1ZGVzKCd0cmFuc3BhcmVudCcpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01peGVkIHNoaWVsZGVkIGFuZCB0cmFuc3BhcmVudCByZWNpcGllbnRzIGFyZSBub3Qgc3VwcG9ydGVkJyk7XG4gICAgfVxuICAgIHJldHVybiBzaGllbGRlZG5lc3MuaW5jbHVkZXMoJ3NoaWVsZGVkJykgPyAnc2hpZWxkZWQnIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgcGFyc2VUcmFuc2FjdGlvbjxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gbnVtYmVyPihcbiAgICBwYXJhbXM6IFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zPFROdW1iZXI+XG4gICk6IFByb21pc2U8UGFyc2VkVHJhbnNhY3Rpb248VE51bWJlcj4+IHtcbiAgICBjb25zdCBwcmVmZXJlbmNlID1cbiAgICAgIHBhcmFtcy50eFBhcmFtcy51bmlmaWVkUmVjaXBpZW50UHJlZmVyZW5jZSA/PyB0aGlzLmluZmVyVW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2UocGFyYW1zLnR4UGFyYW1zLnJlY2lwaWVudHMpO1xuICAgIHJldHVybiB0aGlzLnBhcnNlVHJhbnNhY3Rpb25XaXRoQWRkcmVzc0NvZGVjKFxuICAgICAgcGFyYW1zLFxuICAgICAgbmV3IFplY0FkZHJlc3NDb2RlYyh0aGlzLm5hbWUsIHRoaXMud2FzbU5hbWUsIHByZWZlcmVuY2UgPz8gJ3RyYW5zcGFyZW50JylcbiAgICApO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0RXh0cmFQcmVidWlsZFBhcmFtcyhidWlsZFBhcmFtczogRXh0cmFQcmVidWlsZFBhcmFtc09wdGlvbnMgJiB7IHdhbGxldDogV2FsbGV0IH0pIHtcbiAgICBjb25zdCBleHRyYVBhcmFtcyA9IGF3YWl0IHN1cGVyLmdldEV4dHJhUHJlYnVpbGRQYXJhbXMoYnVpbGRQYXJhbXMpO1xuICAgIGNvbnN0IHsgdW5pZmllZFJlY2lwaWVudFByZWZlcmVuY2UgfSA9IGJ1aWxkUGFyYW1zO1xuICAgIGlmICh1bmlmaWVkUmVjaXBpZW50UHJlZmVyZW5jZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZXh0cmFQYXJhbXM7XG4gICAgfVxuICAgIHJldHVybiB7IC4uLmV4dHJhUGFyYW1zLCB1bmlmaWVkUmVjaXBpZW50UHJlZmVyZW5jZSB9O1xuICB9XG5cbiAgb3ZlcnJpZGUgZGVjb2RlVHJhbnNhY3Rpb24oaW5wdXQ6IEJ1ZmZlciB8IHN0cmluZyk6IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidCB7XG4gICAgY29uc3QgYnVmZmVyID0gdHlwZW9mIGlucHV0ID09PSAnc3RyaW5nJyA/IHN0cmluZ1RvQnVmZmVyVHJ5Rm9ybWF0cyhpbnB1dCwgWydoZXgnLCAnYmFzZTY0J10pIDogaW5wdXQ7XG4gICAgaWYgKCFoYXNQc2J0TWFnaWMoYnVmZmVyKSkge1xuICAgICAgcmV0dXJuIHN1cGVyLmRlY29kZVRyYW5zYWN0aW9uKGlucHV0KTtcbiAgICB9XG4gICAgcmV0dXJuIGZpeGVkU2NyaXB0V2FsbGV0LlpjYXNoUHNidC5mcm9tQnl0ZXMoYnVmZmVyLCB0b1dhc21VdHhvQ29pbk5hbWUodGhpcy5uYW1lKSBhcyBaY2FzaENvaW5OYW1lKTtcbiAgfVxuICByZXNvbHZlUmVjaXBpZW50c0Zyb21Qc2J0KGlucHV0OiBCdWZmZXIgfCBzdHJpbmcsIHdhbGxldEtleXM6IGZpeGVkU2NyaXB0V2FsbGV0LlJvb3RXYWxsZXRLZXlzKTogUHNidFJlY2lwaWVudFtdIHtcbiAgICBjb25zdCBwc2J0ID0gdGhpcy5kZWNvZGVUcmFuc2FjdGlvbihpbnB1dCk7XG4gICAgaWYgKCEocHNidCBpbnN0YW5jZW9mIGZpeGVkU2NyaXB0V2FsbGV0LlpjYXNoQml0R29Qc2J0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdleHBlY3RlZCBhIFpjYXNoIFBTQlQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc29sdmVQc2J0UmVjaXBpZW50cyhwc2J0LCB3YWxsZXRLZXlzLCB0aGlzLmFkZHJlc3NDb2RlYyk7XG4gIH1cbn1cbiJdfQ==
|
package/dist/esm/names.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import { type CoinName } from '@bitgo/wasm-utxo';
|
|
2
|
+
export type WasmUtxoCoinName = CoinName;
|
|
1
3
|
export declare const utxoCoinsMainnet: readonly ["btc", "bch", "bcha", "bsv", "btg", "dash", "doge", "ltc", "pearl", "zec"];
|
|
2
|
-
export declare const utxoCoinsTestnet: readonly ["tbtc", "tbtc4", "tbtcsig", "tbtcbgsig", "tbch", "tbcha", "tbsv", "tbtg", "tdash", "tdoge", "tltc", "tpearl", "tzec"];
|
|
4
|
+
export declare const utxoCoinsTestnet: readonly ["tbtc", "tbtc4", "tbtcsig", "tbtcbgsig", "tbtcstx", "tbtcstxprivate1", "tbch", "tbcha", "tbsv", "tbtg", "tdash", "tdoge", "tltc", "tpearl", "tzec"];
|
|
3
5
|
export type UtxoCoinNameMainnet = (typeof utxoCoinsMainnet)[number];
|
|
4
|
-
export type UtxoCoinNameTestnet = `t${UtxoCoinNameMainnet}` | 'tbtcsig' | 'tbtc4' | 'tbtcbgsig';
|
|
6
|
+
export type UtxoCoinNameTestnet = `t${UtxoCoinNameMainnet}` | 'tbtcsig' | 'tbtc4' | 'tbtcbgsig' | 'tbtcstx' | 'tbtcstxprivate1';
|
|
5
7
|
export type UtxoCoinName = UtxoCoinNameMainnet | UtxoCoinNameTestnet;
|
|
8
|
+
export declare function toWasmUtxoCoinName(coinName: UtxoCoinName | WasmUtxoCoinName): WasmUtxoCoinName;
|
|
6
9
|
export declare function isUtxoCoinNameMainnet(coinName: string): coinName is UtxoCoinNameMainnet;
|
|
7
10
|
export declare function isUtxoCoinNameTestnet(coinName: string): coinName is UtxoCoinNameTestnet;
|
|
8
11
|
export declare function isUtxoCoinName(coinName: string): coinName is UtxoCoinName;
|
package/dist/esm/names.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../../src/names.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,sFAAuF,CAAC;AACrH,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../../src/names.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AAExC,eAAO,MAAM,gBAAgB,sFAAuF,CAAC;AACrH,eAAO,MAAM,gBAAgB,+JAgBnB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAC3B,IAAI,mBAAmB,EAAE,GACzB,SAAS,GACT,OAAO,GACP,WAAW,GACX,SAAS,GACT,iBAAiB,CAAC;AACtB,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAErE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,gBAAgB,GAAG,gBAAgB,CAK9F;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,mBAAmB,CAEvF;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,mBAAmB,CAEvF;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,YAAY,CAEzE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,mBAAmB,CAc9E;AA2BD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAwBtE;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAE7D;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAE7D"}
|
package/dist/esm/names.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import { isCoinName } from '@bitgo/wasm-utxo';
|
|
1
2
|
export const utxoCoinsMainnet = ['btc', 'bch', 'bcha', 'bsv', 'btg', 'dash', 'doge', 'ltc', 'pearl', 'zec'];
|
|
2
3
|
export const utxoCoinsTestnet = [
|
|
3
4
|
'tbtc',
|
|
4
5
|
'tbtc4',
|
|
5
6
|
'tbtcsig',
|
|
6
7
|
'tbtcbgsig',
|
|
8
|
+
'tbtcstx',
|
|
9
|
+
'tbtcstxprivate1',
|
|
7
10
|
'tbch',
|
|
8
11
|
'tbcha',
|
|
9
12
|
'tbsv',
|
|
@@ -14,6 +17,12 @@ export const utxoCoinsTestnet = [
|
|
|
14
17
|
'tpearl',
|
|
15
18
|
'tzec',
|
|
16
19
|
];
|
|
20
|
+
export function toWasmUtxoCoinName(coinName) {
|
|
21
|
+
if (!isCoinName(coinName)) {
|
|
22
|
+
throw new Error(`coin ${coinName} is not supported by wasm-utxo`);
|
|
23
|
+
}
|
|
24
|
+
return coinName;
|
|
25
|
+
}
|
|
17
26
|
export function isUtxoCoinNameMainnet(coinName) {
|
|
18
27
|
return utxoCoinsMainnet.includes(coinName);
|
|
19
28
|
}
|
|
@@ -31,6 +40,8 @@ export function getMainnetCoinName(coinName) {
|
|
|
31
40
|
case 'tbtc4':
|
|
32
41
|
case 'tbtcsig':
|
|
33
42
|
case 'tbtcbgsig':
|
|
43
|
+
case 'tbtcstx':
|
|
44
|
+
case 'tbtcstxprivate1':
|
|
34
45
|
return 'btc';
|
|
35
46
|
default:
|
|
36
47
|
return coinName.slice(1);
|
|
@@ -61,6 +72,9 @@ function getBaseNameFromMainnet(coinName) {
|
|
|
61
72
|
}
|
|
62
73
|
}
|
|
63
74
|
export function getFullNameFromCoinName(coinName) {
|
|
75
|
+
if (coinName === 'tbtcstxprivate1') {
|
|
76
|
+
return 'Stacks Bitcoin (Private-1 Regtest)';
|
|
77
|
+
}
|
|
64
78
|
let prefix;
|
|
65
79
|
switch (coinName) {
|
|
66
80
|
case 'tbtc4':
|
|
@@ -72,6 +86,9 @@ export function getFullNameFromCoinName(coinName) {
|
|
|
72
86
|
case 'tbtcbgsig':
|
|
73
87
|
prefix = 'BitGo Signet ';
|
|
74
88
|
break;
|
|
89
|
+
case 'tbtcstx':
|
|
90
|
+
prefix = 'Stacks ';
|
|
91
|
+
break;
|
|
75
92
|
default:
|
|
76
93
|
prefix = isUtxoCoinNameTestnet(coinName) ? 'Testnet ' : '';
|
|
77
94
|
}
|
|
@@ -83,4 +100,4 @@ export function isTestnetCoin(coinName) {
|
|
|
83
100
|
export function isMainnetCoin(coinName) {
|
|
84
101
|
return isUtxoCoinNameMainnet(coinName);
|
|
85
102
|
}
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmFtZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBaUIsTUFBTSxrQkFBa0IsQ0FBQztBQUk3RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBVSxDQUFDO0FBQ3JILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLE1BQU07SUFDTixPQUFPO0lBQ1AsU0FBUztJQUNULFdBQVc7SUFDWCxTQUFTO0lBQ1QsaUJBQWlCO0lBQ2pCLE1BQU07SUFDTixPQUFPO0lBQ1AsTUFBTTtJQUNOLE1BQU07SUFDTixPQUFPO0lBQ1AsT0FBTztJQUNQLE1BQU07SUFDTixRQUFRO0lBQ1IsTUFBTTtDQUNFLENBQUM7QUFZWCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsUUFBeUM7SUFDMUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxRQUFRLGdDQUFnQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsUUFBZ0I7SUFDcEQsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsUUFBK0IsQ0FBQyxDQUFDO0FBQ3BFLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsUUFBZ0I7SUFDcEQsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsUUFBK0IsQ0FBQyxDQUFDO0FBQ3BFLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLFFBQWdCO0lBQzdDLE9BQU8scUJBQXFCLENBQUMsUUFBUSxDQUFDLElBQUkscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxRQUFzQjtJQUN2RCxJQUFJLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDcEMsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUNELFFBQVEsUUFBUSxFQUFFLENBQUM7UUFDakIsS0FBSyxPQUFPLENBQUM7UUFDYixLQUFLLFNBQVMsQ0FBQztRQUNmLEtBQUssV0FBVyxDQUFDO1FBQ2pCLEtBQUssU0FBUyxDQUFDO1FBQ2YsS0FBSyxpQkFBaUI7WUFDcEIsT0FBTyxLQUFLLENBQUM7UUFDZjtZQUNFLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQXdCLENBQUM7SUFDcEQsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLFFBQTZCO0lBQzNELFFBQVEsUUFBUSxFQUFFLENBQUM7UUFDakIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxTQUFTLENBQUM7UUFDbkIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxjQUFjLENBQUM7UUFDeEIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxhQUFhLENBQUM7UUFDdkIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxjQUFjLENBQUM7UUFDeEIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxZQUFZLENBQUM7UUFDdEIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxNQUFNLENBQUM7UUFDaEIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxVQUFVLENBQUM7UUFDcEIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxVQUFVLENBQUM7UUFDcEIsS0FBSyxPQUFPO1lBQ1YsT0FBTyxPQUFPLENBQUM7UUFDakIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsUUFBc0I7SUFDNUQsSUFBSSxRQUFRLEtBQUssaUJBQWlCLEVBQUUsQ0FBQztRQUNuQyxPQUFPLG9DQUFvQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLE1BQWMsQ0FBQztJQUNuQixRQUFRLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLEtBQUssT0FBTztZQUNWLE1BQU0sR0FBRyxXQUFXLENBQUM7WUFDckIsTUFBTTtRQUNSLEtBQUssU0FBUztZQUNaLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQztZQUMxQixNQUFNO1FBQ1IsS0FBSyxXQUFXO1lBQ2QsTUFBTSxHQUFHLGVBQWUsQ0FBQztZQUN6QixNQUFNO1FBQ1IsS0FBSyxTQUFTO1lBQ1osTUFBTSxHQUFHLFNBQVMsQ0FBQztZQUNuQixNQUFNO1FBQ1I7WUFDRSxNQUFNLEdBQUcscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFFRCxPQUFPLE1BQU0sR0FBRyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQ3ZFLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLFFBQXNCO0lBQ2xELE9BQU8scUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsUUFBc0I7SUFDbEQsT0FBTyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNDb2luTmFtZSwgdHlwZSBDb2luTmFtZSB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuXG5leHBvcnQgdHlwZSBXYXNtVXR4b0NvaW5OYW1lID0gQ29pbk5hbWU7XG5cbmV4cG9ydCBjb25zdCB1dHhvQ29pbnNNYWlubmV0ID0gWydidGMnLCAnYmNoJywgJ2JjaGEnLCAnYnN2JywgJ2J0ZycsICdkYXNoJywgJ2RvZ2UnLCAnbHRjJywgJ3BlYXJsJywgJ3plYyddIGFzIGNvbnN0O1xuZXhwb3J0IGNvbnN0IHV0eG9Db2luc1Rlc3RuZXQgPSBbXG4gICd0YnRjJyxcbiAgJ3RidGM0JyxcbiAgJ3RidGNzaWcnLFxuICAndGJ0Y2Jnc2lnJyxcbiAgJ3RidGNzdHgnLFxuICAndGJ0Y3N0eHByaXZhdGUxJyxcbiAgJ3RiY2gnLFxuICAndGJjaGEnLFxuICAndGJzdicsXG4gICd0YnRnJyxcbiAgJ3RkYXNoJyxcbiAgJ3Rkb2dlJyxcbiAgJ3RsdGMnLFxuICAndHBlYXJsJyxcbiAgJ3R6ZWMnLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgVXR4b0NvaW5OYW1lTWFpbm5ldCA9ICh0eXBlb2YgdXR4b0NvaW5zTWFpbm5ldClbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFV0eG9Db2luTmFtZVRlc3RuZXQgPVxuICB8IGB0JHtVdHhvQ29pbk5hbWVNYWlubmV0fWBcbiAgfCAndGJ0Y3NpZydcbiAgfCAndGJ0YzQnXG4gIHwgJ3RidGNiZ3NpZydcbiAgfCAndGJ0Y3N0eCdcbiAgfCAndGJ0Y3N0eHByaXZhdGUxJztcbmV4cG9ydCB0eXBlIFV0eG9Db2luTmFtZSA9IFV0eG9Db2luTmFtZU1haW5uZXQgfCBVdHhvQ29pbk5hbWVUZXN0bmV0O1xuXG5leHBvcnQgZnVuY3Rpb24gdG9XYXNtVXR4b0NvaW5OYW1lKGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUgfCBXYXNtVXR4b0NvaW5OYW1lKTogV2FzbVV0eG9Db2luTmFtZSB7XG4gIGlmICghaXNDb2luTmFtZShjb2luTmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGNvaW4gJHtjb2luTmFtZX0gaXMgbm90IHN1cHBvcnRlZCBieSB3YXNtLXV0eG9gKTtcbiAgfVxuICByZXR1cm4gY29pbk5hbWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1V0eG9Db2luTmFtZU1haW5uZXQoY29pbk5hbWU6IHN0cmluZyk6IGNvaW5OYW1lIGlzIFV0eG9Db2luTmFtZU1haW5uZXQge1xuICByZXR1cm4gdXR4b0NvaW5zTWFpbm5ldC5pbmNsdWRlcyhjb2luTmFtZSBhcyBVdHhvQ29pbk5hbWVNYWlubmV0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVXR4b0NvaW5OYW1lVGVzdG5ldChjb2luTmFtZTogc3RyaW5nKTogY29pbk5hbWUgaXMgVXR4b0NvaW5OYW1lVGVzdG5ldCB7XG4gIHJldHVybiB1dHhvQ29pbnNUZXN0bmV0LmluY2x1ZGVzKGNvaW5OYW1lIGFzIFV0eG9Db2luTmFtZVRlc3RuZXQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVdHhvQ29pbk5hbWUoY29pbk5hbWU6IHN0cmluZyk6IGNvaW5OYW1lIGlzIFV0eG9Db2luTmFtZSB7XG4gIHJldHVybiBpc1V0eG9Db2luTmFtZU1haW5uZXQoY29pbk5hbWUpIHx8IGlzVXR4b0NvaW5OYW1lVGVzdG5ldChjb2luTmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYWlubmV0Q29pbk5hbWUoY29pbk5hbWU6IFV0eG9Db2luTmFtZSk6IFV0eG9Db2luTmFtZU1haW5uZXQge1xuICBpZiAoaXNVdHhvQ29pbk5hbWVNYWlubmV0KGNvaW5OYW1lKSkge1xuICAgIHJldHVybiBjb2luTmFtZTtcbiAgfVxuICBzd2l0Y2ggKGNvaW5OYW1lKSB7XG4gICAgY2FzZSAndGJ0YzQnOlxuICAgIGNhc2UgJ3RidGNzaWcnOlxuICAgIGNhc2UgJ3RidGNiZ3NpZyc6XG4gICAgY2FzZSAndGJ0Y3N0eCc6XG4gICAgY2FzZSAndGJ0Y3N0eHByaXZhdGUxJzpcbiAgICAgIHJldHVybiAnYnRjJztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGNvaW5OYW1lLnNsaWNlKDEpIGFzIFV0eG9Db2luTmFtZU1haW5uZXQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0QmFzZU5hbWVGcm9tTWFpbm5ldChjb2luTmFtZTogVXR4b0NvaW5OYW1lTWFpbm5ldCk6IHN0cmluZyB7XG4gIHN3aXRjaCAoY29pbk5hbWUpIHtcbiAgICBjYXNlICdidGMnOlxuICAgICAgcmV0dXJuICdCaXRjb2luJztcbiAgICBjYXNlICdiY2gnOlxuICAgICAgcmV0dXJuICdCaXRjb2luIENhc2gnO1xuICAgIGNhc2UgJ2JjaGEnOlxuICAgICAgcmV0dXJuICdCaXRjb2luIEFCQyc7XG4gICAgY2FzZSAnYnRnJzpcbiAgICAgIHJldHVybiAnQml0Y29pbiBHb2xkJztcbiAgICBjYXNlICdic3YnOlxuICAgICAgcmV0dXJuICdCaXRjb2luIFNWJztcbiAgICBjYXNlICdkYXNoJzpcbiAgICAgIHJldHVybiAnRGFzaCc7XG4gICAgY2FzZSAnZG9nZSc6XG4gICAgICByZXR1cm4gJ0RvZ2Vjb2luJztcbiAgICBjYXNlICdsdGMnOlxuICAgICAgcmV0dXJuICdMaXRlY29pbic7XG4gICAgY2FzZSAncGVhcmwnOlxuICAgICAgcmV0dXJuICdQZWFybCc7XG4gICAgY2FzZSAnemVjJzpcbiAgICAgIHJldHVybiAnWkNhc2gnO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGdWxsTmFtZUZyb21Db2luTmFtZShjb2luTmFtZTogVXR4b0NvaW5OYW1lKTogc3RyaW5nIHtcbiAgaWYgKGNvaW5OYW1lID09PSAndGJ0Y3N0eHByaXZhdGUxJykge1xuICAgIHJldHVybiAnU3RhY2tzIEJpdGNvaW4gKFByaXZhdGUtMSBSZWd0ZXN0KSc7XG4gIH1cblxuICBsZXQgcHJlZml4OiBzdHJpbmc7XG4gIHN3aXRjaCAoY29pbk5hbWUpIHtcbiAgICBjYXNlICd0YnRjNCc6XG4gICAgICBwcmVmaXggPSAnVGVzdG5ldDQgJztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ3RidGNzaWcnOlxuICAgICAgcHJlZml4ID0gJ1B1YmxpYyBTaWduZXQgJztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ3RidGNiZ3NpZyc6XG4gICAgICBwcmVmaXggPSAnQml0R28gU2lnbmV0ICc7XG4gICAgICBicmVhaztcbiAgICBjYXNlICd0YnRjc3R4JzpcbiAgICAgIHByZWZpeCA9ICdTdGFja3MgJztcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBwcmVmaXggPSBpc1V0eG9Db2luTmFtZVRlc3RuZXQoY29pbk5hbWUpID8gJ1Rlc3RuZXQgJyA6ICcnO1xuICB9XG5cbiAgcmV0dXJuIHByZWZpeCArIGdldEJhc2VOYW1lRnJvbU1haW5uZXQoZ2V0TWFpbm5ldENvaW5OYW1lKGNvaW5OYW1lKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Rlc3RuZXRDb2luKGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzVXR4b0NvaW5OYW1lVGVzdG5ldChjb2luTmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc01haW5uZXRDb2luKGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzVXR4b0NvaW5OYW1lTWFpbm5ldChjb2luTmFtZSk7XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BitGoBase, Triple } from '@bitgo/sdk-core';
|
|
2
2
|
import { BIP32, fixedScriptWallet } from '@bitgo/wasm-utxo';
|
|
3
3
|
import { AbstractUtxoCoin } from '../abstractUtxoCoin';
|
|
4
|
-
import { UtxoCoinName } from '../names';
|
|
4
|
+
import { UtxoCoinName, WasmUtxoCoinName } from '../names';
|
|
5
5
|
import { type WalletUnspent } from '../unspent';
|
|
6
6
|
import { RecoveryProvider } from './RecoveryProvider';
|
|
7
7
|
type ScriptType2Of3 = fixedScriptWallet.OutputScriptType;
|
|
@@ -94,7 +94,7 @@ export interface RecoverWithUnspentsParams {
|
|
|
94
94
|
* @param unspents - The wallet unspents to recover (must be non-empty)
|
|
95
95
|
* @returns The PSBT at the appropriate signing stage (never finalized)
|
|
96
96
|
*/
|
|
97
|
-
export declare function backupKeyRecoveryWithWalletUnspents(coinName: UtxoCoinName, params: RecoverWithUnspentsParams, unspents: WalletUnspent<bigint>[]): fixedScriptWallet.BitGoPsbt;
|
|
97
|
+
export declare function backupKeyRecoveryWithWalletUnspents(coinName: UtxoCoinName | WasmUtxoCoinName, params: RecoverWithUnspentsParams, unspents: WalletUnspent<bigint>[]): fixedScriptWallet.BitGoPsbt;
|
|
98
98
|
/**
|
|
99
99
|
* Parameters for formatting a backup key recovery result.
|
|
100
100
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backupKeyRecovery.d.ts","sourceRoot":"","sources":["../../../src/recovery/backupKeyRecovery.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EAMT,MAAM,EACP,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAe,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAKvD,OAAO,
|
|
1
|
+
{"version":3,"file":"backupKeyRecovery.d.ts","sourceRoot":"","sources":["../../../src/recovery/backupKeyRecovery.ts"],"names":[],"mappings":"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"}
|