@bitgo-beta/abstract-utxo 1.6.1-alpha.455 → 1.6.1-alpha.457
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 +4 -1
- package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/cjs/src/abstractUtxoCoin.js +14 -11
- 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 +13 -11
- 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 +4 -2
- package/dist/cjs/src/names.d.ts +2 -0
- package/dist/cjs/src/names.d.ts.map +1 -1
- package/dist/cjs/src/names.js +9 -1
- package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.d.ts +2 -1
- package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.d.ts.map +1 -1
- package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.js +3 -5
- package/dist/cjs/src/offlineVault/TransactionExplanation.d.ts +2 -1
- package/dist/cjs/src/offlineVault/TransactionExplanation.d.ts.map +1 -1
- package/dist/cjs/src/offlineVault/TransactionExplanation.js +3 -4
- package/dist/cjs/src/offlineVault/descriptor/transaction.d.ts +3 -2
- package/dist/cjs/src/offlineVault/descriptor/transaction.d.ts.map +1 -1
- package/dist/cjs/src/offlineVault/descriptor/transaction.js +6 -3
- package/dist/cjs/src/recovery/backupKeyRecovery.d.ts.map +1 -1
- package/dist/cjs/src/recovery/backupKeyRecovery.js +8 -7
- package/dist/cjs/src/recovery/crossChainRecovery.d.ts +3 -2
- package/dist/cjs/src/recovery/crossChainRecovery.d.ts.map +1 -1
- package/dist/cjs/src/recovery/crossChainRecovery.js +7 -6
- package/dist/cjs/src/recovery/psbt.d.ts +3 -2
- package/dist/cjs/src/recovery/psbt.d.ts.map +1 -1
- package/dist/cjs/src/recovery/psbt.js +5 -4
- package/dist/cjs/src/transaction/bip322.d.ts.map +1 -1
- package/dist/cjs/src/transaction/bip322.js +26 -11
- package/dist/cjs/src/transaction/decode.d.ts +4 -3
- package/dist/cjs/src/transaction/decode.d.ts.map +1 -1
- package/dist/cjs/src/transaction/decode.js +8 -5
- package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts.map +1 -1
- package/dist/cjs/src/transaction/descriptor/explainPsbt.js +7 -5
- package/dist/cjs/src/transaction/descriptor/parse.d.ts +2 -1
- package/dist/cjs/src/transaction/descriptor/parse.d.ts.map +1 -1
- package/dist/cjs/src/transaction/descriptor/parse.js +14 -14
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts +2 -1
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.js +4 -4
- package/dist/cjs/src/transaction/explainTransaction.d.ts +2 -1
- package/dist/cjs/src/transaction/explainTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/explainTransaction.js +5 -5
- package/dist/cjs/src/transaction/fetchInputs.d.ts +2 -1
- package/dist/cjs/src/transaction/fetchInputs.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fetchInputs.js +4 -2
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts +4 -4
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.js +24 -19
- package/dist/cjs/src/transaction/fixedScript/parseTransaction.js +3 -3
- package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts +6 -4
- package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/replayProtection.js +17 -49
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts +4 -2
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.js +6 -5
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts +2 -1
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/signTransaction.js +4 -4
- package/dist/cjs/src/transaction/fixedScript/verifyTransaction.js +2 -2
- package/dist/cjs/src/transaction/getPayGoVerificationPubkey.d.ts +3 -3
- package/dist/cjs/src/transaction/getPayGoVerificationPubkey.d.ts.map +1 -1
- package/dist/cjs/src/transaction/getPayGoVerificationPubkey.js +6 -39
- package/dist/cjs/src/transaction/recipient.d.ts +4 -4
- package/dist/cjs/src/transaction/recipient.d.ts.map +1 -1
- package/dist/cjs/src/transaction/recipient.js +7 -4
- package/dist/cjs/src/transaction/signTransaction.js +2 -2
- package/dist/cjs/test/unit/address.js +9 -9
- package/dist/cjs/test/unit/bip322.js +319 -3
- package/dist/cjs/test/unit/customChangeWallet.js +2 -2
- package/dist/cjs/test/unit/prebuildAndSign.js +2 -2
- package/dist/cjs/test/unit/recovery/crossChainRecovery.js +6 -7
- package/dist/cjs/test/unit/transaction/descriptor/parse.js +2 -2
- package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.js +7 -10
- package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.js +4 -5
- package/dist/cjs/test/unit/transaction/fixedScript/replayProtection.js +3 -2
- package/dist/cjs/test/unit/transaction/fixedScript/signPsbt.js +5 -6
- package/dist/cjs/test/unit/transaction.js +23 -24
- package/dist/cjs/test/unit/util/unspents.d.ts.map +1 -1
- package/dist/cjs/test/unit/util/unspents.js +4 -2
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/abstractUtxoCoin.d.ts +4 -1
- package/dist/esm/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/esm/abstractUtxoCoin.js +16 -13
- 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 +13 -11
- 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 +4 -2
- package/dist/esm/names.d.ts +2 -0
- package/dist/esm/names.d.ts.map +1 -1
- package/dist/esm/names.js +7 -1
- package/dist/esm/offlineVault/OfflineVaultHalfSigned.d.ts +2 -1
- package/dist/esm/offlineVault/OfflineVaultHalfSigned.d.ts.map +1 -1
- package/dist/esm/offlineVault/OfflineVaultHalfSigned.js +3 -5
- package/dist/esm/offlineVault/TransactionExplanation.d.ts +2 -1
- package/dist/esm/offlineVault/TransactionExplanation.d.ts.map +1 -1
- package/dist/esm/offlineVault/TransactionExplanation.js +3 -4
- package/dist/esm/offlineVault/descriptor/transaction.d.ts +3 -2
- package/dist/esm/offlineVault/descriptor/transaction.d.ts.map +1 -1
- package/dist/esm/offlineVault/descriptor/transaction.js +6 -3
- package/dist/esm/recovery/backupKeyRecovery.d.ts.map +1 -1
- package/dist/esm/recovery/backupKeyRecovery.js +8 -7
- package/dist/esm/recovery/crossChainRecovery.d.ts +3 -2
- package/dist/esm/recovery/crossChainRecovery.d.ts.map +1 -1
- package/dist/esm/recovery/crossChainRecovery.js +8 -7
- package/dist/esm/recovery/psbt.d.ts +3 -2
- package/dist/esm/recovery/psbt.d.ts.map +1 -1
- package/dist/esm/recovery/psbt.js +5 -4
- package/dist/esm/transaction/bip322.d.ts.map +1 -1
- package/dist/esm/transaction/bip322.js +27 -12
- package/dist/esm/transaction/decode.d.ts +4 -3
- package/dist/esm/transaction/decode.d.ts.map +1 -1
- package/dist/esm/transaction/decode.js +8 -5
- package/dist/esm/transaction/descriptor/explainPsbt.d.ts.map +1 -1
- package/dist/esm/transaction/descriptor/explainPsbt.js +7 -5
- package/dist/esm/transaction/descriptor/parse.d.ts +2 -1
- package/dist/esm/transaction/descriptor/parse.d.ts.map +1 -1
- package/dist/esm/transaction/descriptor/parse.js +14 -14
- package/dist/esm/transaction/descriptor/verifyTransaction.d.ts +2 -1
- package/dist/esm/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/descriptor/verifyTransaction.js +4 -4
- package/dist/esm/transaction/explainTransaction.d.ts +2 -1
- package/dist/esm/transaction/explainTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/explainTransaction.js +5 -5
- package/dist/esm/transaction/fetchInputs.d.ts +2 -1
- package/dist/esm/transaction/fetchInputs.d.ts.map +1 -1
- package/dist/esm/transaction/fetchInputs.js +4 -2
- package/dist/esm/transaction/fixedScript/explainTransaction.d.ts +4 -4
- package/dist/esm/transaction/fixedScript/explainTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/explainTransaction.js +24 -19
- package/dist/esm/transaction/fixedScript/parseTransaction.js +3 -3
- package/dist/esm/transaction/fixedScript/replayProtection.d.ts +6 -4
- package/dist/esm/transaction/fixedScript/replayProtection.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/replayProtection.js +17 -16
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts +4 -2
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.js +6 -5
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts +2 -1
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/signTransaction.js +4 -4
- package/dist/esm/transaction/fixedScript/verifyTransaction.js +2 -2
- package/dist/esm/transaction/getPayGoVerificationPubkey.d.ts +3 -3
- package/dist/esm/transaction/getPayGoVerificationPubkey.d.ts.map +1 -1
- package/dist/esm/transaction/getPayGoVerificationPubkey.js +6 -6
- package/dist/esm/transaction/recipient.d.ts +4 -4
- package/dist/esm/transaction/recipient.d.ts.map +1 -1
- package/dist/esm/transaction/recipient.js +7 -4
- package/dist/esm/transaction/signTransaction.js +2 -2
- package/package.json +12 -12
- package/dist/cjs/test/unit/transaction/fixedScript/util.d.ts +0 -3
- package/dist/cjs/test/unit/transaction/fixedScript/util.d.ts.map +0 -1
- package/dist/cjs/test/unit/transaction/fixedScript/util.js +0 -41
|
@@ -41,16 +41,18 @@ exports.generateAddress = generateAddress;
|
|
|
41
41
|
exports.assertFixedScriptWalletAddress = assertFixedScriptWalletAddress;
|
|
42
42
|
const lodash_1 = __importDefault(require("lodash"));
|
|
43
43
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
44
|
-
const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
|
|
45
44
|
const utxo_lib_1 = require("@bitgo-beta/utxo-lib");
|
|
46
45
|
const wasmUtxo = __importStar(require("@bitgo/wasm-utxo"));
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
const names_1 = require("../names");
|
|
47
|
+
function supportsAddressType(coinName, addressType) {
|
|
48
|
+
const network = (0, names_1.getNetworkFromCoinName)(coinName);
|
|
49
|
+
return utxo_lib_1.bitgo.outputScripts.isSupportedScriptType(network, addressType);
|
|
49
50
|
}
|
|
50
|
-
function generateAddressWithChainAndIndex(
|
|
51
|
+
function generateAddressWithChainAndIndex(coinName, keychains, chain, index, format) {
|
|
51
52
|
// Convert CreateAddressFormat to AddressFormat for wasm-utxo
|
|
52
53
|
// 'base58' -> 'default', 'cashaddr' -> 'cashaddr'
|
|
53
54
|
const wasmFormat = format === 'base58' ? 'default' : format;
|
|
55
|
+
const network = (0, names_1.getNetworkFromCoinName)(coinName);
|
|
54
56
|
return wasmUtxo.fixedScriptWallet.address(keychains, chain, index, network, wasmFormat);
|
|
55
57
|
}
|
|
56
58
|
/**
|
|
@@ -65,7 +67,7 @@ function generateAddressWithChainAndIndex(network, keychains, chain, index, form
|
|
|
65
67
|
* @param params.bech32 {boolean} Deprecated
|
|
66
68
|
* @returns {string} The generated address
|
|
67
69
|
*/
|
|
68
|
-
function generateAddress(
|
|
70
|
+
function generateAddress(coinName, params) {
|
|
69
71
|
let derivationIndex = 0;
|
|
70
72
|
if (lodash_1.default.isInteger(params.index) && params.index > 0) {
|
|
71
73
|
derivationIndex = params.index;
|
|
@@ -90,10 +92,10 @@ function generateAddress(network, params) {
|
|
|
90
92
|
}
|
|
91
93
|
}
|
|
92
94
|
const addressType = params.addressType || convertFlagsToAddressType();
|
|
93
|
-
if (addressType !==
|
|
95
|
+
if (addressType !== utxo_lib_1.bitgo.scriptTypeForChain(derivationChain)) {
|
|
94
96
|
throw new sdk_core_1.AddressTypeChainMismatchError(addressType, derivationChain);
|
|
95
97
|
}
|
|
96
|
-
if (!supportsAddressType(
|
|
98
|
+
if (!supportsAddressType(coinName, addressType)) {
|
|
97
99
|
switch (addressType) {
|
|
98
100
|
case 'p2sh':
|
|
99
101
|
throw new Error(`internal error: p2sh should always be supported`);
|
|
@@ -112,16 +114,16 @@ function generateAddress(network, params) {
|
|
|
112
114
|
if (!(0, sdk_core_1.isTriple)(keychains)) {
|
|
113
115
|
throw new Error('keychains must be a triple');
|
|
114
116
|
}
|
|
115
|
-
return generateAddressWithChainAndIndex(
|
|
117
|
+
return generateAddressWithChainAndIndex(coinName, keychains.map((k) => k.pub), derivationChain, derivationIndex, params.format);
|
|
116
118
|
}
|
|
117
|
-
function assertFixedScriptWalletAddress(
|
|
119
|
+
function assertFixedScriptWalletAddress(coinName, { chain, index, keychains, format, addressType, address, }) {
|
|
118
120
|
if ((lodash_1.default.isUndefined(chain) && lodash_1.default.isUndefined(index)) || !(lodash_1.default.isFinite(chain) && lodash_1.default.isFinite(index))) {
|
|
119
121
|
throw new sdk_core_1.InvalidAddressDerivationPropertyError(`address validation failure: invalid chain (${chain}) or index (${index})`);
|
|
120
122
|
}
|
|
121
123
|
if (!keychains) {
|
|
122
124
|
throw new Error('missing required param keychains');
|
|
123
125
|
}
|
|
124
|
-
const expectedAddress = generateAddress(
|
|
126
|
+
const expectedAddress = generateAddress(coinName, {
|
|
125
127
|
format,
|
|
126
128
|
addressType: addressType,
|
|
127
129
|
keychains,
|
|
@@ -132,4 +134,4 @@ function assertFixedScriptWalletAddress(network, { chain, index, keychains, form
|
|
|
132
134
|
throw new sdk_core_1.UnexpectedAddressError(`address validation failure: expected ${expectedAddress} but got ${address}`);
|
|
133
135
|
}
|
|
134
136
|
}
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4ZWRTY3JpcHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWRkcmVzcy9maXhlZFNjcmlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTJDQSw0RUFXQztBQWNELDBDQTREQztBQU1ELHdFQXVDQztBQTdLRCxvREFBdUI7QUFDdkIsbURBWThCO0FBQzlCLDhEQUFnRDtBQUNoRCxtREFBNkM7QUFDN0MsMkRBQTZDO0FBdUI3QyxTQUFTLG1CQUFtQixDQUFDLE9BQXdCLEVBQUUsV0FBMkI7SUFDaEYsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDakYsQ0FBQztBQUVELFNBQWdCLGdDQUFnQyxDQUM5QyxPQUF3QixFQUN4QixTQUFnRCxFQUNoRCxLQUFzQixFQUN0QixLQUFhLEVBQ2IsTUFBdUM7SUFFdkMsNkRBQTZEO0lBQzdELGtEQUFrRDtJQUNsRCxNQUFNLFVBQVUsR0FBRyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1RCxPQUFPLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQzFGLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILFNBQWdCLGVBQWUsQ0FBQyxPQUF3QixFQUFFLE1BQXlDO0lBQ2pHLElBQUksZUFBZSxHQUFHLENBQUMsQ0FBQztJQUN4QixJQUFJLGdCQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSyxNQUFNLENBQUMsS0FBZ0IsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM5RCxlQUFlLEdBQUcsTUFBTSxDQUFDLEtB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QUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNoRyxNQUFNLElBQUksZ0RBQXFDLENBQzdDLDhDQUE4QyxLQUFLLGVBQWUsS0FBSyxHQUFHLENBQzNFLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxNQUFNLGVBQWUsR0FBRyxlQUFlLENBQUMsT0FBTyxFQUFFO1FBQy9DLE1BQU07UUFDTixXQUFXLEVBQUUsV0FBNkI7UUFDMUMsU0FBUztRQUNULEtBQUs7UUFDTCxLQUFLO0tBQ04sQ0FBQyxDQUFDO0lBRUgsSUFBSSxlQUFlLEtBQUssT0FBTyxFQUFFLENBQUM7UUFDaEMsTUFBTSxJQUFJLGlDQUFzQixDQUFDLHdDQUF3QyxlQUFlLFlBQVksT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNqSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge1xuICBBZGRyZXNzVHlwZUNoYWluTWlzbWF0Y2hFcnJvcixcbiAgQ3JlYXRlQWRkcmVzc0Zvcm1hdCxcbiAgSW52YWxpZEFkZHJlc3NEZXJpdmF0aW9uUHJvcGVydHlFcnJvcixcbiAgVW5leHBlY3RlZEFkZHJlc3NFcnJvcixcbiAgUDJzaFAyd3NoVW5zdXBwb3J0ZWRFcnJvcixcbiAgUDJ0ck11c2lnMlVuc3VwcG9ydGVkRXJyb3IsXG4gIFAydHJVbnN1cHBvcnRlZEVycm9yLFxuICBQMndzaFVuc3VwcG9ydGVkRXJyb3IsXG4gIFVuc3VwcG9ydGVkQWRkcmVzc1R5cGVFcnJvcixcbiAgaXNUcmlwbGUsXG4gIFRyaXBsZSxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyBiaXRnbyB9IGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCAqIGFzIHdhc21VdHhvIGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuXG50eXBlIFNjcmlwdFR5cGUyT2YzID0gYml0Z28ub3V0cHV0U2NyaXB0cy5TY3JpcHRUeXBlMk9mMztcblxuZXhwb3J0IGludGVyZmFjZSBGaXhlZFNjcmlwdEFkZHJlc3NDb2luU3BlY2lmaWMge1xuICBvdXRwdXRTY3JpcHQ/OiBzdHJpbmc7XG4gIHJlZGVlbVNjcmlwdD86IHN0cmluZztcbiAgd2l0bmVzc1NjcmlwdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZW5lcmF0ZUFkZHJlc3NPcHRpb25zIHtcbiAgYWRkcmVzc1R5cGU/OiBTY3JpcHRUeXBlMk9mMztcbiAgY2hhaW4/OiBudW1iZXI7XG4gIGluZGV4PzogbnVtYmVyO1xuICBzZWd3aXQ/OiBib29sZWFuO1xuICBiZWNoMzI/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgR2VuZXJhdGVGaXhlZFNjcmlwdEFkZHJlc3NPcHRpb25zIGV4dGVuZHMgR2VuZXJhdGVBZGRyZXNzT3B0aW9ucyB7XG4gIGZvcm1hdD86IENyZWF0ZUFkZHJlc3NGb3JtYXQ7XG4gIGtleWNoYWluczogeyBwdWI6IHN0cmluZyB9W107XG59XG5cbmZ1bmN0aW9uIHN1cHBvcnRzQWRkcmVzc1R5cGUobmV0d29yazogdXR4b2xpYi5OZXR3b3JrLCBhZGRyZXNzVHlwZTogU2NyaXB0VHlwZTJPZjMpOiBib29sZWFuIHtcbiAgcmV0dXJuIHV0eG9saWIuYml0Z28ub3V0cHV0U2NyaXB0cy5pc1N1cHBvcnRlZFNjcmlwdFR5cGUobmV0d29yaywgYWRkcmVzc1R5cGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVBZGRyZXNzV2l0aENoYWluQW5kSW5kZXgoXG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29yayxcbiAga2V5Y2hhaW5zOiBiaXRnby5Sb290V2FsbGV0S2V5cyB8IFRyaXBsZTxzdHJpbmc+LFxuICBjaGFpbjogYml0Z28uQ2hhaW5Db2RlLFxuICBpbmRleDogbnVtYmVyLFxuICBmb3JtYXQ6IENyZWF0ZUFkZHJlc3NGb3JtYXQgfCB1bmRlZmluZWRcbik6IHN0cmluZyB7XG4gIC8vIENvbnZlcnQgQ3JlYXRlQWRkcmVzc0Zvcm1hdCB0byBBZGRyZXNzRm9ybWF0IGZvciB3YXNtLXV0eG9cbiAgLy8gJ2Jhc2U1OCcgLT4gJ2RlZmF1bHQnLCAnY2FzaGFkZHInIC0+ICdjYXNoYWRkcidcbiAgY29uc3Qgd2FzbUZvcm1hdCA9IGZvcm1hdCA9PT0gJ2Jhc2U1OCcgPyAnZGVmYXVsdCcgOiBmb3JtYXQ7XG4gIHJldHVybiB3YXNtVXR4by5maXhlZFNjcmlwdFdhbGxldC5hZGRyZXNzKGtleWNoYWlucywgY2hhaW4sIGluZGV4LCBuZXR3b3JrLCB3YXNtRm9ybWF0KTtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBhbiBhZGRyZXNzIGZvciBhIHdhbGxldCBiYXNlZCBvbiBhIHNldCBvZiBjb25maWd1cmF0aW9uc1xuICogQHBhcmFtIHBhcmFtcy5hZGRyZXNzVHlwZSB7c3RyaW5nfSAgIERlcHJlY2F0ZWRcbiAqIEBwYXJhbSBwYXJhbXMua2V5Y2hhaW5zICAge1tvYmplY3RdfSBBcnJheSBvZiBvYmplY3RzIHdpdGggeHB1YnNcbiAqIEBwYXJhbSBwYXJhbXMudGhyZXNob2xkICAge251bWJlcn0gICBNaW5pbXVtIG51bWJlciBvZiBzaWduYXR1cmVzXG4gKiBAcGFyYW0gcGFyYW1zLmNoYWluICAgICAgIHtudW1iZXJ9ICAgRGVyaXZhdGlvbiBjaGFpbiAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9CaXRHby91bnNwZW50cy9ibG9iL21hc3Rlci9zcmMvY29kZXMudHMgZm9yXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY29ycmVzcG9uZGluZyBhZGRyZXNzIHR5cGUgb2YgYSBnaXZlbiBjaGFpbiBjb2RlKVxuICogQHBhcmFtIHBhcmFtcy5pbmRleCAgICAgICB7bnVtYmVyfSAgIERlcml2YXRpb24gaW5kZXhcbiAqIEBwYXJhbSBwYXJhbXMuc2Vnd2l0ICAgICAge2Jvb2xlYW59ICBEZXByZWNhdGVkXG4gKiBAcGFyYW0gcGFyYW1zLmJlY2gzMiAgICAgIHtib29sZWFufSAgRGVwcmVjYXRlZFxuICogQHJldHVybnMge3N0cmluZ30gVGhlIGdlbmVyYXRlZCBhZGRyZXNzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUFkZHJlc3MobmV0d29yazogdXR4b2xpYi5OZXR3b3JrLCBwYXJhbXM6IEdlbmVyYXRlRml4ZWRTY3JpcHRBZGRyZXNzT3B0aW9ucyk6IHN0cmluZyB7XG4gIGxldCBkZXJpdmF0aW9uSW5kZXggPSAwO1xuICBpZiAoXy5pc0ludGVnZXIocGFyYW1zLmluZGV4KSAmJiAocGFyYW1zLmluZGV4IGFzIG51bWJlcikgPiAwKSB7XG4gICAgZGVyaXZhdGlvbkluZGV4ID0gcGFyYW1zLmluZGV4IGFzIG51bWJlcjtcbiAgfVxuXG4gIGNvbnN0IHsga2V5Y2hhaW5zLCBjaGFpbiwgc2Vnd2l0ID0gZmFsc2UsIGJlY2gzMiA9IGZhbHNlIH0gPSBwYXJhbXMgYXMgR2VuZXJhdGVGaXhlZFNjcmlwdEFkZHJlc3NPcHRpb25zO1xuXG4gIGxldCBkZXJpdmF0aW9uQ2hhaW4gPSBiaXRnby5nZXRFeHRlcm5hbENoYWluQ29kZSgncDJzaCcpO1xuICBpZiAoXy5pc051bWJlcihjaGFpbikgJiYgXy5pc0ludGVnZXIoY2hhaW4pICYmIGJpdGdvLmlzQ2hhaW5Db2RlKGNoYWluKSkge1xuICAgIGRlcml2YXRpb25DaGFpbiA9IGNoYWluO1xuICB9XG5cbiAgZnVuY3Rpb24gY29udmVydEZsYWdzVG9BZGRyZXNzVHlwZSgpOiBTY3JpcHRUeXBlMk9mMyB7XG4gICAgaWYgKGJpdGdvLmlzQ2hhaW5Db2RlKGNoYWluKSkge1xuICAgICAgcmV0dXJuIGJpdGdvLnNjcmlwdFR5cGVGb3JDaGFpbihjaGFpbik7XG4gICAgfVxuICAgIGlmIChfLmlzQm9vbGVhbihzZWd3aXQpICYmIHNlZ3dpdCkge1xuICAgICAgcmV0dXJuICdwMnNoUDJ3c2gnO1xuICAgIH0gZWxzZSBpZiAoXy5pc0Jvb2xlYW4oYmVjaDMyKSAmJiBiZWNoMzIpIHtcbiAgICAgIHJldHVybiAncDJ3c2gnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJ3Ayc2gnO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGFkZHJlc3NUeXBlID0gcGFyYW1zLmFkZHJlc3NUeXBlIHx8IGNvbnZlcnRGbGFnc1RvQWRkcmVzc1R5cGUoKTtcblxuICBpZiAoYWRkcmVzc1R5cGUgIT09IHV0eG9saWIuYml0Z28uc2NyaXB0VHlwZUZvckNoYWluKGRlcml2YXRpb25DaGFpbikpIHtcbiAgICB0aHJvdyBuZXcgQWRkcmVzc1R5cGVDaGFpbk1pc21hdGNoRXJyb3IoYWRkcmVzc1R5cGUsIGRlcml2YXRpb25DaGFpbik7XG4gIH1cblxuICBpZiAoIXN1cHBvcnRzQWRkcmVzc1R5cGUobmV0d29yaywgYWRkcmVzc1R5cGUpKSB7XG4gICAgc3dpdGNoIChhZGRyZXNzVHlwZSkge1xuICAgICAgY2FzZSAncDJzaCc6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgaW50ZXJuYWwgZXJyb3I6IHAyc2ggc2hvdWxkIGFsd2F5cyBiZSBzdXBwb3J0ZWRgKTtcbiAgICAgIGNhc2UgJ3Ayc2hQMndzaCc6XG4gICAgICAgIHRocm93IG5ldyBQMnNoUDJ3c2hVbnN1cHBvcnRlZEVycm9yKCk7XG4gICAgICBjYXNlICdwMndzaCc6XG4gICAgICAgIHRocm93IG5ldyBQMndzaFVuc3VwcG9ydGVkRXJyb3IoKTtcbiAgICAgIGNhc2UgJ3AydHInOlxuICAgICAgICB0aHJvdyBuZXcgUDJ0clVuc3VwcG9ydGVkRXJyb3IoKTtcbiAgICAgIGNhc2UgJ3AydHJNdXNpZzInOlxuICAgICAgICB0aHJvdyBuZXcgUDJ0ck11c2lnMlVuc3VwcG9ydGVkRXJyb3IoKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEFkZHJlc3NUeXBlRXJyb3IoKTtcbiAgICB9XG4gIH1cblxuICBpZiAoIWlzVHJpcGxlKGtleWNoYWlucykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2tleWNoYWlucyBtdXN0IGJlIGEgdHJpcGxlJyk7XG4gIH1cblxuICByZXR1cm4gZ2VuZXJhdGVBZGRyZXNzV2l0aENoYWluQW5kSW5kZXgoXG4gICAgbmV0d29yayxcbiAgICBrZXljaGFpbnMubWFwKChrKSA9PiBrLnB1YikgYXMgVHJpcGxlPHN0cmluZz4sXG4gICAgZGVyaXZhdGlvbkNoYWluLFxuICAgIGRlcml2YXRpb25JbmRleCxcbiAgICBwYXJhbXMuZm9ybWF0XG4gICk7XG59XG5cbnR5cGUgS2V5Y2hhaW4gPSB7XG4gIHB1Yjogc3RyaW5nO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEZpeGVkU2NyaXB0V2FsbGV0QWRkcmVzcyhcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrLFxuICB7XG4gICAgY2hhaW4sXG4gICAgaW5kZXgsXG4gICAga2V5Y2hhaW5zLFxuICAgIGZvcm1hdCxcbiAgICBhZGRyZXNzVHlwZSxcbiAgICBhZGRyZXNzLFxuICB9OiB7XG4gICAgY2hhaW46IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBpbmRleDogbnVtYmVyO1xuICAgIGtleWNoYWluczogS2V5Y2hhaW5bXTtcbiAgICBmb3JtYXQ6IENyZWF0ZUFkZHJlc3NGb3JtYXQ7XG4gICAgYWRkcmVzc1R5cGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBhZGRyZXNzOiBzdHJpbmc7XG4gIH1cbik6IHZvaWQge1xuICBpZiAoKF8uaXNVbmRlZmluZWQoY2hhaW4pICYmIF8uaXNVbmRlZmluZWQoaW5kZXgpKSB8fCAhKF8uaXNGaW5pdGUoY2hhaW4pICYmIF8uaXNGaW5pdGUoaW5kZXgpKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQWRkcmVzc0Rlcml2YXRpb25Qcm9wZXJ0eUVycm9yKFxuICAgICAgYGFkZHJlc3MgdmFsaWRhdGlvbiBmYWlsdXJlOiBpbnZhbGlkIGNoYWluICgke2NoYWlufSkgb3IgaW5kZXggKCR7aW5kZXh9KWBcbiAgICApO1xuICB9XG5cbiAgaWYgKCFrZXljaGFpbnMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgcGFyYW0ga2V5Y2hhaW5zJyk7XG4gIH1cblxuICBjb25zdCBleHBlY3RlZEFkZHJlc3MgPSBnZW5lcmF0ZUFkZHJlc3MobmV0d29yaywge1xuICAgIGZvcm1hdCxcbiAgICBhZGRyZXNzVHlwZTogYWRkcmVzc1R5cGUgYXMgU2NyaXB0VHlwZTJPZjMsXG4gICAga2V5Y2hhaW5zLFxuICAgIGNoYWluLFxuICAgIGluZGV4LFxuICB9KTtcblxuICBpZiAoZXhwZWN0ZWRBZGRyZXNzICE9PSBhZGRyZXNzKSB7XG4gICAgdGhyb3cgbmV3IFVuZXhwZWN0ZWRBZGRyZXNzRXJyb3IoYGFkZHJlc3MgdmFsaWRhdGlvbiBmYWlsdXJlOiBleHBlY3RlZCAke2V4cGVjdGVkQWRkcmVzc30gYnV0IGdvdCAke2FkZHJlc3N9YCk7XG4gIH1cbn1cbiJdfQ==
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4ZWRTY3JpcHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWRkcmVzcy9maXhlZFNjcmlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTZDQSw0RUFZQztBQWNELDBDQTREQztBQU1ELHdFQXVDQztBQWhMRCxvREFBdUI7QUFDdkIsbURBWThCO0FBQzlCLG1EQUE2QztBQUM3QywyREFBNkM7QUFFN0Msb0NBQWdFO0FBdUJoRSxTQUFTLG1CQUFtQixDQUFDLFFBQXNCLEVBQUUsV0FBMkI7SUFDOUUsTUFBTSxPQUFPLEdBQUcsSUFBQSw4QkFBc0IsRUFBQyxRQUFRLENBQUMsQ0FBQztJQUNqRCxPQUFPLGdCQUFLLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztBQUN6RSxDQUFDO0FBRUQsU0FBZ0IsZ0NBQWdDLENBQzlDLFFBQXNCLEVBQ3RCLFNBQWdELEVBQ2hELEtBQXNCLEVBQ3RCLEtBQWEsRUFDYixNQUF1QztJQUV2Qyw2REFBNkQ7SUFDN0Qsa0RBQWtEO0lBQ2xELE1BQU0sVUFBVSxHQUFHLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzVELE1BQU0sT0FBTyxHQUFHLElBQUEsOEJBQXNCLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFDakQsT0FBTyxRQUFRLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztBQUMxRixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxTQUFnQixlQUFlLENBQUMsUUFBc0IsRUFBRSxNQUF5QztJQUMvRixJQUFJLGVBQWUsR0FBRyxDQUFDLENBQUM7SUFDeEIsSUFBSSxnQkFBQyxDQUFDLFNB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QUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxnQkFBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDaEcsTUFBTSxJQUFJLGdEQUFxQyxDQUM3Qyw4Q0FBOEMsS0FBSyxlQUFlLEtBQUssR0FBRyxDQUMzRSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsTUFBTSxlQUFlLEdBQUcsZUFBZSxDQUFDLFFBQVEsRUFBRTtRQUNoRCxNQUFNO1FBQ04sV0FBVyxFQUFFLFdBQTZCO1FBQzFDLFNBQVM7UUFDVCxLQUFLO1FBQ0wsS0FBSztLQUNOLENBQUMsQ0FBQztJQUVILElBQUksZUFBZSxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxpQ0FBc0IsQ0FBQyx3Q0FBd0MsZUFBZSxZQUFZLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDakgsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtcbiAgQWRkcmVzc1R5cGVDaGFpbk1pc21hdGNoRXJyb3IsXG4gIENyZWF0ZUFkZHJlc3NGb3JtYXQsXG4gIEludmFsaWRBZGRyZXNzRGVyaXZhdGlvblByb3BlcnR5RXJyb3IsXG4gIFVuZXhwZWN0ZWRBZGRyZXNzRXJyb3IsXG4gIFAyc2hQMndzaFVuc3VwcG9ydGVkRXJyb3IsXG4gIFAydHJNdXNpZzJVbnN1cHBvcnRlZEVycm9yLFxuICBQMnRyVW5zdXBwb3J0ZWRFcnJvcixcbiAgUDJ3c2hVbnN1cHBvcnRlZEVycm9yLFxuICBVbnN1cHBvcnRlZEFkZHJlc3NUeXBlRXJyb3IsXG4gIGlzVHJpcGxlLFxuICBUcmlwbGUsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IGJpdGdvIH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0ICogYXMgd2FzbVV0eG8gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5cbmltcG9ydCB7IGdldE5ldHdvcmtGcm9tQ29pbk5hbWUsIFV0eG9Db2luTmFtZSB9IGZyb20gJy4uL25hbWVzJztcblxudHlwZSBTY3JpcHRUeXBlMk9mMyA9IGJpdGdvLm91dHB1dFNjcmlwdHMuU2NyaXB0VHlwZTJPZjM7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRml4ZWRTY3JpcHRBZGRyZXNzQ29pblNwZWNpZmljIHtcbiAgb3V0cHV0U2NyaXB0Pzogc3RyaW5nO1xuICByZWRlZW1TY3JpcHQ/OiBzdHJpbmc7XG4gIHdpdG5lc3NTY3JpcHQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VuZXJhdGVBZGRyZXNzT3B0aW9ucyB7XG4gIGFkZHJlc3NUeXBlPzogU2NyaXB0VHlwZTJPZjM7XG4gIGNoYWluPzogbnVtYmVyO1xuICBpbmRleD86IG51bWJlcjtcbiAgc2Vnd2l0PzogYm9vbGVhbjtcbiAgYmVjaDMyPzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIEdlbmVyYXRlRml4ZWRTY3JpcHRBZGRyZXNzT3B0aW9ucyBleHRlbmRzIEdlbmVyYXRlQWRkcmVzc09wdGlvbnMge1xuICBmb3JtYXQ/OiBDcmVhdGVBZGRyZXNzRm9ybWF0O1xuICBrZXljaGFpbnM6IHsgcHViOiBzdHJpbmcgfVtdO1xufVxuXG5mdW5jdGlvbiBzdXBwb3J0c0FkZHJlc3NUeXBlKGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUsIGFkZHJlc3NUeXBlOiBTY3JpcHRUeXBlMk9mMyk6IGJvb2xlYW4ge1xuICBjb25zdCBuZXR3b3JrID0gZ2V0TmV0d29ya0Zyb21Db2luTmFtZShjb2luTmFtZSk7XG4gIHJldHVybiBiaXRnby5vdXRwdXRTY3JpcHRzLmlzU3VwcG9ydGVkU2NyaXB0VHlwZShuZXR3b3JrLCBhZGRyZXNzVHlwZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUFkZHJlc3NXaXRoQ2hhaW5BbmRJbmRleChcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZSxcbiAga2V5Y2hhaW5zOiBiaXRnby5Sb290V2FsbGV0S2V5cyB8IFRyaXBsZTxzdHJpbmc+LFxuICBjaGFpbjogYml0Z28uQ2hhaW5Db2RlLFxuICBpbmRleDogbnVtYmVyLFxuICBmb3JtYXQ6IENyZWF0ZUFkZHJlc3NGb3JtYXQgfCB1bmRlZmluZWRcbik6IHN0cmluZyB7XG4gIC8vIENvbnZlcnQgQ3JlYXRlQWRkcmVzc0Zvcm1hdCB0byBBZGRyZXNzRm9ybWF0IGZvciB3YXNtLXV0eG9cbiAgLy8gJ2Jhc2U1OCcgLT4gJ2RlZmF1bHQnLCAnY2FzaGFkZHInIC0+ICdjYXNoYWRkcidcbiAgY29uc3Qgd2FzbUZvcm1hdCA9IGZvcm1hdCA9PT0gJ2Jhc2U1OCcgPyAnZGVmYXVsdCcgOiBmb3JtYXQ7XG4gIGNvbnN0IG5ldHdvcmsgPSBnZXROZXR3b3JrRnJvbUNvaW5OYW1lKGNvaW5OYW1lKTtcbiAgcmV0dXJuIHdhc21VdHhvLmZpeGVkU2NyaXB0V2FsbGV0LmFkZHJlc3Moa2V5Y2hhaW5zLCBjaGFpbiwgaW5kZXgsIG5ldHdvcmssIHdhc21Gb3JtYXQpO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlIGFuIGFkZHJlc3MgZm9yIGEgd2FsbGV0IGJhc2VkIG9uIGEgc2V0IG9mIGNvbmZpZ3VyYXRpb25zXG4gKiBAcGFyYW0gcGFyYW1zLmFkZHJlc3NUeXBlIHtzdHJpbmd9ICAgRGVwcmVjYXRlZFxuICogQHBhcmFtIHBhcmFtcy5rZXljaGFpbnMgICB7W29iamVjdF19IEFycmF5IG9mIG9iamVjdHMgd2l0aCB4cHVic1xuICogQHBhcmFtIHBhcmFtcy50aHJlc2hvbGQgICB7bnVtYmVyfSAgIE1pbmltdW0gbnVtYmVyIG9mIHNpZ25hdHVyZXNcbiAqIEBwYXJhbSBwYXJhbXMuY2hhaW4gICAgICAge251bWJlcn0gICBEZXJpdmF0aW9uIGNoYWluIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL0JpdEdvL3Vuc3BlbnRzL2Jsb2IvbWFzdGVyL3NyYy9jb2Rlcy50cyBmb3JcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjb3JyZXNwb25kaW5nIGFkZHJlc3MgdHlwZSBvZiBhIGdpdmVuIGNoYWluIGNvZGUpXG4gKiBAcGFyYW0gcGFyYW1zLmluZGV4ICAgICAgIHtudW1iZXJ9ICAgRGVyaXZhdGlvbiBpbmRleFxuICogQHBhcmFtIHBhcmFtcy5zZWd3aXQgICAgICB7Ym9vbGVhbn0gIERlcHJlY2F0ZWRcbiAqIEBwYXJhbSBwYXJhbXMuYmVjaDMyICAgICAge2Jvb2xlYW59ICBEZXByZWNhdGVkXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZ2VuZXJhdGVkIGFkZHJlc3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlQWRkcmVzcyhjb2luTmFtZTogVXR4b0NvaW5OYW1lLCBwYXJhbXM6IEdlbmVyYXRlRml4ZWRTY3JpcHRBZGRyZXNzT3B0aW9ucyk6IHN0cmluZyB7XG4gIGxldCBkZXJpdmF0aW9uSW5kZXggPSAwO1xuICBpZiAoXy5pc0ludGVnZXIocGFyYW1zLmluZGV4KSAmJiAocGFyYW1zLmluZGV4IGFzIG51bWJlcikgPiAwKSB7XG4gICAgZGVyaXZhdGlvbkluZGV4ID0gcGFyYW1zLmluZGV4IGFzIG51bWJlcjtcbiAgfVxuXG4gIGNvbnN0IHsga2V5Y2hhaW5zLCBjaGFpbiwgc2Vnd2l0ID0gZmFsc2UsIGJlY2gzMiA9IGZhbHNlIH0gPSBwYXJhbXMgYXMgR2VuZXJhdGVGaXhlZFNjcmlwdEFkZHJlc3NPcHRpb25zO1xuXG4gIGxldCBkZXJpdmF0aW9uQ2hhaW4gPSBiaXRnby5nZXRFeHRlcm5hbENoYWluQ29kZSgncDJzaCcpO1xuICBpZiAoXy5pc051bWJlcihjaGFpbikgJiYgXy5pc0ludGVnZXIoY2hhaW4pICYmIGJpdGdvLmlzQ2hhaW5Db2RlKGNoYWluKSkge1xuICAgIGRlcml2YXRpb25DaGFpbiA9IGNoYWluO1xuICB9XG5cbiAgZnVuY3Rpb24gY29udmVydEZsYWdzVG9BZGRyZXNzVHlwZSgpOiBTY3JpcHRUeXBlMk9mMyB7XG4gICAgaWYgKGJpdGdvLmlzQ2hhaW5Db2RlKGNoYWluKSkge1xuICAgICAgcmV0dXJuIGJpdGdvLnNjcmlwdFR5cGVGb3JDaGFpbihjaGFpbik7XG4gICAgfVxuICAgIGlmIChfLmlzQm9vbGVhbihzZWd3aXQpICYmIHNlZ3dpdCkge1xuICAgICAgcmV0dXJuICdwMnNoUDJ3c2gnO1xuICAgIH0gZWxzZSBpZiAoXy5pc0Jvb2xlYW4oYmVjaDMyKSAmJiBiZWNoMzIpIHtcbiAgICAgIHJldHVybiAncDJ3c2gnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJ3Ayc2gnO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGFkZHJlc3NUeXBlID0gcGFyYW1zLmFkZHJlc3NUeXBlIHx8IGNvbnZlcnRGbGFnc1RvQWRkcmVzc1R5cGUoKTtcblxuICBpZiAoYWRkcmVzc1R5cGUgIT09IGJpdGdvLnNjcmlwdFR5cGVGb3JDaGFpbihkZXJpdmF0aW9uQ2hhaW4pKSB7XG4gICAgdGhyb3cgbmV3IEFkZHJlc3NUeXBlQ2hhaW5NaXNtYXRjaEVycm9yKGFkZHJlc3NUeXBlLCBkZXJpdmF0aW9uQ2hhaW4pO1xuICB9XG5cbiAgaWYgKCFzdXBwb3J0c0FkZHJlc3NUeXBlKGNvaW5OYW1lLCBhZGRyZXNzVHlwZSkpIHtcbiAgICBzd2l0Y2ggKGFkZHJlc3NUeXBlKSB7XG4gICAgICBjYXNlICdwMnNoJzpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBpbnRlcm5hbCBlcnJvcjogcDJzaCBzaG91bGQgYWx3YXlzIGJlIHN1cHBvcnRlZGApO1xuICAgICAgY2FzZSAncDJzaFAyd3NoJzpcbiAgICAgICAgdGhyb3cgbmV3IFAyc2hQMndzaFVuc3VwcG9ydGVkRXJyb3IoKTtcbiAgICAgIGNhc2UgJ3Ayd3NoJzpcbiAgICAgICAgdGhyb3cgbmV3IFAyd3NoVW5zdXBwb3J0ZWRFcnJvcigpO1xuICAgICAgY2FzZSAncDJ0cic6XG4gICAgICAgIHRocm93IG5ldyBQMnRyVW5zdXBwb3J0ZWRFcnJvcigpO1xuICAgICAgY2FzZSAncDJ0ck11c2lnMic6XG4gICAgICAgIHRocm93IG5ldyBQMnRyTXVzaWcyVW5zdXBwb3J0ZWRFcnJvcigpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQWRkcmVzc1R5cGVFcnJvcigpO1xuICAgIH1cbiAgfVxuXG4gIGlmICghaXNUcmlwbGUoa2V5Y2hhaW5zKSkge1xuICAgIHRocm93IG5ldyBFcnJvcigna2V5Y2hhaW5zIG11c3QgYmUgYSB0cmlwbGUnKTtcbiAgfVxuXG4gIHJldHVybiBnZW5lcmF0ZUFkZHJlc3NXaXRoQ2hhaW5BbmRJbmRleChcbiAgICBjb2luTmFtZSxcbiAgICBrZXljaGFpbnMubWFwKChrKSA9PiBrLnB1YikgYXMgVHJpcGxlPHN0cmluZz4sXG4gICAgZGVyaXZhdGlvbkNoYWluLFxuICAgIGRlcml2YXRpb25JbmRleCxcbiAgICBwYXJhbXMuZm9ybWF0XG4gICk7XG59XG5cbnR5cGUgS2V5Y2hhaW4gPSB7XG4gIHB1Yjogc3RyaW5nO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEZpeGVkU2NyaXB0V2FsbGV0QWRkcmVzcyhcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZSxcbiAge1xuICAgIGNoYWluLFxuICAgIGluZGV4LFxuICAgIGtleWNoYWlucyxcbiAgICBmb3JtYXQsXG4gICAgYWRkcmVzc1R5cGUsXG4gICAgYWRkcmVzcyxcbiAgfToge1xuICAgIGNoYWluOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgaW5kZXg6IG51bWJlcjtcbiAgICBrZXljaGFpbnM6IEtleWNoYWluW107XG4gICAgZm9ybWF0OiBDcmVhdGVBZGRyZXNzRm9ybWF0O1xuICAgIGFkZHJlc3NUeXBlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICB9XG4pOiB2b2lkIHtcbiAgaWYgKChfLmlzVW5kZWZpbmVkKGNoYWluKSAmJiBfLmlzVW5kZWZpbmVkKGluZGV4KSkgfHwgIShfLmlzRmluaXRlKGNoYWluKSAmJiBfLmlzRmluaXRlKGluZGV4KSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFkZHJlc3NEZXJpdmF0aW9uUHJvcGVydHlFcnJvcihcbiAgICAgIGBhZGRyZXNzIHZhbGlkYXRpb24gZmFpbHVyZTogaW52YWxpZCBjaGFpbiAoJHtjaGFpbn0pIG9yIGluZGV4ICgke2luZGV4fSlgXG4gICAgKTtcbiAgfVxuXG4gIGlmICgha2V5Y2hhaW5zKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIHBhcmFtIGtleWNoYWlucycpO1xuICB9XG5cbiAgY29uc3QgZXhwZWN0ZWRBZGRyZXNzID0gZ2VuZXJhdGVBZGRyZXNzKGNvaW5OYW1lLCB7XG4gICAgZm9ybWF0LFxuICAgIGFkZHJlc3NUeXBlOiBhZGRyZXNzVHlwZSBhcyBTY3JpcHRUeXBlMk9mMyxcbiAgICBrZXljaGFpbnMsXG4gICAgY2hhaW4sXG4gICAgaW5kZXgsXG4gIH0pO1xuXG4gIGlmIChleHBlY3RlZEFkZHJlc3MgIT09IGFkZHJlc3MpIHtcbiAgICB0aHJvdyBuZXcgVW5leHBlY3RlZEFkZHJlc3NFcnJvcihgYWRkcmVzcyB2YWxpZGF0aW9uIGZhaWx1cmU6IGV4cGVjdGVkICR7ZXhwZWN0ZWRBZGRyZXNzfSBidXQgZ290ICR7YWRkcmVzc31gKTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as utxolib from '@bitgo-beta/utxo-lib';
|
|
2
1
|
import { DescriptorMap } from '@bitgo-beta/utxo-core/descriptor';
|
|
3
2
|
import { UtxoCoinSpecific, VerifyAddressOptions } from '../abstractUtxoCoin';
|
|
4
|
-
|
|
3
|
+
import { UtxoCoinName } from '../names';
|
|
4
|
+
export declare function assertDescriptorWalletAddress(coinName: UtxoCoinName, params: VerifyAddressOptions<UtxoCoinSpecific>, descriptors: DescriptorMap): void;
|
|
5
5
|
//# sourceMappingURL=assertDescriptorWalletAddress.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertDescriptorWalletAddress.d.ts","sourceRoot":"","sources":["../../../../src/descriptor/assertDescriptorWalletAddress.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"assertDescriptorWalletAddress.d.ts","sourceRoot":"","sources":["../../../../src/descriptor/assertDescriptorWalletAddress.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAA0B,YAAY,EAAE,MAAM,UAAU,CAAC;AAUhE,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,EAC9C,WAAW,EAAE,aAAa,GACzB,IAAI,CAqBN"}
|
|
@@ -39,12 +39,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
exports.assertDescriptorWalletAddress = assertDescriptorWalletAddress;
|
|
40
40
|
const assert_1 = __importDefault(require("assert"));
|
|
41
41
|
const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
|
|
42
|
+
const names_1 = require("../names");
|
|
42
43
|
class DescriptorAddressMismatchError extends Error {
|
|
43
44
|
constructor(descriptor, index, derivedAddress, expectedAddress) {
|
|
44
45
|
super(`Address mismatch for descriptor ${descriptor.toString()} at index ${index}: ${derivedAddress} !== ${expectedAddress}`);
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
|
-
function assertDescriptorWalletAddress(
|
|
48
|
+
function assertDescriptorWalletAddress(coinName, params, descriptors) {
|
|
48
49
|
(0, assert_1.default)(params.coinSpecific);
|
|
49
50
|
(0, assert_1.default)('descriptorName' in params.coinSpecific);
|
|
50
51
|
(0, assert_1.default)('descriptorChecksum' in params.coinSpecific);
|
|
@@ -58,9 +59,10 @@ function assertDescriptorWalletAddress(network, params, descriptors) {
|
|
|
58
59
|
throw new Error(`Descriptor checksum mismatch for descriptor name=${descriptorName}: ${checksum} !== ${descriptorChecksum}`);
|
|
59
60
|
}
|
|
60
61
|
const derivedScript = Buffer.from(descriptor.atDerivationIndex(params.index).scriptPubkey());
|
|
62
|
+
const network = (0, names_1.getNetworkFromCoinName)(coinName);
|
|
61
63
|
const derivedAddress = utxolib.address.fromOutputScript(derivedScript, network);
|
|
62
64
|
if (params.address !== derivedAddress) {
|
|
63
65
|
throw new DescriptorAddressMismatchError(descriptor, params.index, derivedAddress, params.address);
|
|
64
66
|
}
|
|
65
67
|
}
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0RGVzY3JpcHRvcldhbGxldEFkZHJlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9hc3NlcnREZXNjcmlwdG9yV2FsbGV0QWRkcmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlCQSxzRUF5QkM7QUExQ0Qsb0RBQTRCO0FBRTVCLDhEQUFnRDtBQUtoRCxvQ0FBZ0U7QUFFaEUsTUFBTSw4QkFBK0IsU0FBUSxLQUFLO0lBQ2hELFlBQVksVUFBc0IsRUFBRSxLQUFhLEVBQUUsY0FBc0IsRUFBRSxlQUF1QjtRQUNoRyxLQUFLLENBQ0gsbUNBQW1DLFVBQVUsQ0FBQyxRQUFRLEVBQUUsYUFBYSxLQUFLLEtBQUssY0FBYyxRQUFRLGVBQWUsRUFBRSxDQUN2SCxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBRUQsU0FBZ0IsNkJBQTZCLENBQzNDLFFBQXNCLEVBQ3RCLE1BQThDLEVBQzlDLFdBQTBCO0lBRTFCLElBQUEsZ0JBQU0sRUFBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDNUIsSUFBQSxnQkFBTSxFQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoRCxJQUFBLGdCQUFNLEVBQUMsb0JBQW9CLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3BELE1BQU0sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQ25FLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2RSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLGNBQWMsWUFBWSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNELE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRCxJQUFJLFFBQVEsS0FBSyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQ2Isb0RBQW9ELGNBQWMsS0FBSyxRQUFRLFFBQVEsa0JBQWtCLEVBQUUsQ0FDNUcsQ0FBQztJQUNKLENBQUM7SUFDRCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUM3RixNQUFNLE9BQU8sR0FBRyxJQUFBLDhCQUFzQixFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hGLElBQUksTUFBTSxDQUFDLE9BQU8sS0FBSyxjQUFjLEVBQUUsQ0FBQztRQUN0QyxNQUFNLElBQUksOEJBQThCLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyBEZXNjcmlwdG9yIH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5pbXBvcnQgeyBEZXNjcmlwdG9yTWFwIH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1jb3JlL2Rlc2NyaXB0b3InO1xuXG5pbXBvcnQgeyBVdHhvQ29pblNwZWNpZmljLCBWZXJpZnlBZGRyZXNzT3B0aW9ucyB9IGZyb20gJy4uL2Fic3RyYWN0VXR4b0NvaW4nO1xuaW1wb3J0IHsgZ2V0TmV0d29ya0Zyb21Db2luTmFtZSwgVXR4b0NvaW5OYW1lIH0gZnJvbSAnLi4vbmFtZXMnO1xuXG5jbGFzcyBEZXNjcmlwdG9yQWRkcmVzc01pc21hdGNoRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKGRlc2NyaXB0b3I6IERlc2NyaXB0b3IsIGluZGV4OiBudW1iZXIsIGRlcml2ZWRBZGRyZXNzOiBzdHJpbmcsIGV4cGVjdGVkQWRkcmVzczogc3RyaW5nKSB7XG4gICAgc3VwZXIoXG4gICAgICBgQWRkcmVzcyBtaXNtYXRjaCBmb3IgZGVzY3JpcHRvciAke2Rlc2NyaXB0b3IudG9TdHJpbmcoKX0gYXQgaW5kZXggJHtpbmRleH06ICR7ZGVyaXZlZEFkZHJlc3N9ICE9PSAke2V4cGVjdGVkQWRkcmVzc31gXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0RGVzY3JpcHRvcldhbGxldEFkZHJlc3MoXG4gIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUsXG4gIHBhcmFtczogVmVyaWZ5QWRkcmVzc09wdGlvbnM8VXR4b0NvaW5TcGVjaWZpYz4sXG4gIGRlc2NyaXB0b3JzOiBEZXNjcmlwdG9yTWFwXG4pOiB2b2lkIHtcbiAgYXNzZXJ0KHBhcmFtcy5jb2luU3BlY2lmaWMpO1xuICBhc3NlcnQoJ2Rlc2NyaXB0b3JOYW1lJyBpbiBwYXJhbXMuY29pblNwZWNpZmljKTtcbiAgYXNzZXJ0KCdkZXNjcmlwdG9yQ2hlY2tzdW0nIGluIHBhcmFtcy5jb2luU3BlY2lmaWMpO1xuICBjb25zdCB7IGRlc2NyaXB0b3JOYW1lLCBkZXNjcmlwdG9yQ2hlY2tzdW0gfSA9IHBhcmFtcy5jb2luU3BlY2lmaWM7XG4gIGNvbnN0IGRlc2NyaXB0b3IgPSBkZXNjcmlwdG9ycy5nZXQocGFyYW1zLmNvaW5TcGVjaWZpYy5kZXNjcmlwdG9yTmFtZSk7XG4gIGlmICghZGVzY3JpcHRvcikge1xuICAgIHRocm93IG5ldyBFcnJvcihgRGVzY3JpcHRvciAke2Rlc2NyaXB0b3JOYW1lfSBub3QgZm91bmRgKTtcbiAgfVxuICBjb25zdCBjaGVja3N1bSA9IGRlc2NyaXB0b3IudG9TdHJpbmcoKS5zbGljZSgtOCk7XG4gIGlmIChjaGVja3N1bSAhPT0gZGVzY3JpcHRvckNoZWNrc3VtKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYERlc2NyaXB0b3IgY2hlY2tzdW0gbWlzbWF0Y2ggZm9yIGRlc2NyaXB0b3IgbmFtZT0ke2Rlc2NyaXB0b3JOYW1lfTogJHtjaGVja3N1bX0gIT09ICR7ZGVzY3JpcHRvckNoZWNrc3VtfWBcbiAgICApO1xuICB9XG4gIGNvbnN0IGRlcml2ZWRTY3JpcHQgPSBCdWZmZXIuZnJvbShkZXNjcmlwdG9yLmF0RGVyaXZhdGlvbkluZGV4KHBhcmFtcy5pbmRleCkuc2NyaXB0UHVia2V5KCkpO1xuICBjb25zdCBuZXR3b3JrID0gZ2V0TmV0d29ya0Zyb21Db2luTmFtZShjb2luTmFtZSk7XG4gIGNvbnN0IGRlcml2ZWRBZGRyZXNzID0gdXR4b2xpYi5hZGRyZXNzLmZyb21PdXRwdXRTY3JpcHQoZGVyaXZlZFNjcmlwdCwgbmV0d29yayk7XG4gIGlmIChwYXJhbXMuYWRkcmVzcyAhPT0gZGVyaXZlZEFkZHJlc3MpIHtcbiAgICB0aHJvdyBuZXcgRGVzY3JpcHRvckFkZHJlc3NNaXNtYXRjaEVycm9yKGRlc2NyaXB0b3IsIHBhcmFtcy5pbmRleCwgZGVyaXZlZEFkZHJlc3MsIHBhcmFtcy5hZGRyZXNzKTtcbiAgfVxufVxuIl19
|
package/dist/cjs/src/names.d.ts
CHANGED
|
@@ -31,4 +31,6 @@ export declare const getNetworkFromChain: typeof getNetworkFromCoinName;
|
|
|
31
31
|
export declare function getFullNameFromCoinName(coinName: UtxoCoinName): string;
|
|
32
32
|
/** @deprecated - use getFullNameFromCoinName instead */
|
|
33
33
|
export declare function getFullNameFromNetwork(n: utxolib.Network): string;
|
|
34
|
+
export declare function isTestnetCoin(coinName: UtxoCoinName): boolean;
|
|
35
|
+
export declare function isMainnetCoin(coinName: UtxoCoinName): boolean;
|
|
34
36
|
//# sourceMappingURL=names.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../../../src/names.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,eAAO,MAAM,gBAAgB,6EAA8E,CAAC;AAC5G,eAAO,MAAM,gBAAgB,uHAanB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AAChG,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAErE,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,CAY9E;AAUD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,mBAAmB,CAiC5E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CA6B5D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAOxE;AAED,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,+BAAyB,CAAC;AAyB1D,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAiBtE;AAED,wDAAwD;AACxD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAEjE"}
|
|
1
|
+
{"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../../../src/names.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,eAAO,MAAM,gBAAgB,6EAA8E,CAAC;AAC5G,eAAO,MAAM,gBAAgB,uHAanB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AAChG,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAErE,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,CAY9E;AAUD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,mBAAmB,CAiC5E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CA6B5D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAOxE;AAED,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,+BAAyB,CAAC;AAyB1D,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAiBtE;AAED,wDAAwD;AACxD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAEjE;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAE7D;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAE7D"}
|
package/dist/cjs/src/names.js
CHANGED
|
@@ -43,6 +43,8 @@ exports.getCoinName = getCoinName;
|
|
|
43
43
|
exports.getNetworkFromCoinName = getNetworkFromCoinName;
|
|
44
44
|
exports.getFullNameFromCoinName = getFullNameFromCoinName;
|
|
45
45
|
exports.getFullNameFromNetwork = getFullNameFromNetwork;
|
|
46
|
+
exports.isTestnetCoin = isTestnetCoin;
|
|
47
|
+
exports.isMainnetCoin = isMainnetCoin;
|
|
46
48
|
const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
|
|
47
49
|
exports.utxoCoinsMainnet = ['btc', 'bch', 'bcha', 'bsv', 'btg', 'dash', 'doge', 'ltc', 'zec'];
|
|
48
50
|
exports.utxoCoinsTestnet = [
|
|
@@ -220,4 +222,10 @@ function getFullNameFromCoinName(coinName) {
|
|
|
220
222
|
function getFullNameFromNetwork(n) {
|
|
221
223
|
return getFullNameFromCoinName(getCoinName(n));
|
|
222
224
|
}
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmFtZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBc0JBLHNEQUVDO0FBRUQsc0RBRUM7QUFFRCx3Q0FFQztBQUVELGdEQVlDO0FBZUQsb0RBaUNDO0FBT0Qsa0NBNkJDO0FBT0Qsd0RBT0M7QUE0QkQsMERBaUJDO0FBR0Qsd0RBRUM7QUFsTUQsOERBQWdEO0FBRW5DLFFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBVSxDQUFDO0FBQy9GLFFBQUEsZ0JBQWdCLEdBQUc7SUFDOUIsTUFBTTtJQUNOLE9BQU87SUFDUCxTQUFTO0lBQ1QsV0FBVztJQUNYLE1BQU07SUFDTixPQUFPO0lBQ1AsTUFBTTtJQUNOLE1BQU07SUFDTixPQUFPO0lBQ1AsT0FBTztJQUNQLE1BQU07SUFDTixNQUFNO0NBQ0UsQ0FBQztBQU1YLFNBQWdCLHFCQUFxQixDQUFDLFFBQWdCO0lBQ3BELE9BQU8sd0JBQWdCLENBQUMsUUFBUSxDQUFDLFFBQStCLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRUQsU0FBZ0IscUJBQXFCLENBQUMsUUFBZ0I7SUFDcEQsT0FBTyx3QkFBZ0IsQ0FBQyxRQUFRLENBQUMsUUFBK0IsQ0FBQyxDQUFDO0FBQ3BFLENBQUM7QUFFRCxTQUFnQixjQUFjLENBQUMsUUFBZ0I7SUFDN0MsT0FBTyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM1RSxDQUFDO0FBRUQsU0FBZ0Isa0JBQWtCLENBQUMsUUFBc0I7SUFDdkQsSUFBSSxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE9BQU8s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LEtBQUssV0FBVztZQUNkLE1BQU0sR0FBRyxlQUFlLENBQUM7WUFDekIsTUFBTTtRQUNSO1lBQ0UsTUFBTSxHQUFHLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRUQsT0FBTyxNQUFNLEdBQUcsc0JBQXNCLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBRUQsd0RBQXdEO0FBQ3hELFNBQWdCLHNCQUFzQixDQUFDLENBQWtCO0lBQ3ZELE9BQU8sdUJBQXVCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5leHBvcnQgY29uc3QgdXR4b0NvaW5zTWFpbm5ldCA9IFsnYnRjJywgJ2JjaCcsICdiY2hhJywgJ2JzdicsICdidGcnLCAnZGFzaCcsICdkb2dlJywgJ2x0YycsICd6ZWMnXSBhcyBjb25zdDtcbmV4cG9ydCBjb25zdCB1dHhvQ29pbnNUZXN0bmV0ID0gW1xuICAndGJ0YycsXG4gICd0YnRjNCcsXG4gICd0YnRjc2lnJyxcbiAgJ3RidGNiZ3NpZycsXG4gICd0YmNoJyxcbiAgJ3RiY2hhJyxcbiAgJ3Ric3YnLFxuICAndGJ0ZycsXG4gICd0ZGFzaCcsXG4gICd0ZG9nZScsXG4gICd0bHRjJyxcbiAgJ3R6ZWMnLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgVXR4b0NvaW5OYW1lTWFpbm5ldCA9ICh0eXBlb2YgdXR4b0NvaW5zTWFpbm5ldClbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFV0eG9Db2luTmFtZVRlc3RuZXQgPSBgdCR7VXR4b0NvaW5OYW1lTWFpbm5ldH1gIHwgJ3RidGNzaWcnIHwgJ3RidGM0JyB8ICd0YnRjYmdzaWcnO1xuZXhwb3J0IHR5cGUgVXR4b0NvaW5OYW1lID0gVXR4b0NvaW5OYW1lTWFpbm5ldCB8IFV0eG9Db2luTmFtZVRlc3RuZXQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1V0eG9Db2luTmFtZU1haW5uZXQoY29pbk5hbWU6IHN0cmluZyk6IGNvaW5OYW1lIGlzIFV0eG9Db2luTmFtZU1haW5uZXQge1xuICByZXR1cm4gdXR4b0NvaW5zTWFpbm5ldC5pbmNsdWRlcyhjb2luTmFtZSBhcyBVdHhvQ29pbk5hbWVNYWlubmV0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVXR4b0NvaW5OYW1lVGVzdG5ldChjb2luTmFtZTogc3RyaW5nKTogY29pbk5hbWUgaXMgVXR4b0NvaW5OYW1lVGVzdG5ldCB7XG4gIHJldHVybiB1dHhvQ29pbnNUZXN0bmV0LmluY2x1ZGVzKGNvaW5OYW1lIGFzIFV0eG9Db2luTmFtZVRlc3RuZXQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVdHhvQ29pbk5hbWUoY29pbk5hbWU6IHN0cmluZyk6IGNvaW5OYW1lIGlzIFV0eG9Db2luTmFtZSB7XG4gIHJldHVybiBpc1V0eG9Db2luTmFtZU1haW5uZXQoY29pbk5hbWUpIHx8IGlzVXR4b0NvaW5OYW1lVGVzdG5ldChjb2luTmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYWlubmV0Q29pbk5hbWUoY29pbk5hbWU6IFV0eG9Db2luTmFtZSk6IFV0eG9Db2luTmFtZU1haW5uZXQge1xuICBpZiAoaXNVdHhvQ29pbk5hbWVNYWlubmV0KGNvaW5OYW1lKSkge1xuICAgIHJldHVybiBjb2luTmFtZTtcbiAgfVxuICBzd2l0Y2ggKGNvaW5OYW1lKSB7XG4gICAgY2FzZSAndGJ0YzQnOlxuICAgIGNhc2UgJ3RidGNzaWcnOlxuICAgIGNhc2UgJ3RidGNiZ3NpZyc6XG4gICAgICByZXR1cm4gJ2J0Yyc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBjb2luTmFtZS5zbGljZSgxKSBhcyBVdHhvQ29pbk5hbWVNYWlubmV0O1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE5ldHdvcmtOYW1lKG46IHV0eG9saWIuTmV0d29yayk6IHV0eG9saWIuTmV0d29ya05hbWUge1xuICBjb25zdCBuYW1lID0gdXR4b2xpYi5nZXROZXR3b3JrTmFtZShuKTtcbiAgaWYgKCFuYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIG5ldHdvcmsnKTtcbiAgfVxuICByZXR1cm4gbmFtZTtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCAtIHdpbGwgYmUgcmVtb3ZlZCB3aGVuIHdlIGRyb3Agc3VwcG9ydCBmb3IgdXR4b2xpYlxuICogQHBhcmFtIG5cbiAqIEByZXR1cm5zIHRoZSBmYW1pbHkgbmFtZSBmb3IgYSBuZXR3b3JrLiBUZXN0bmV0cyBhbmQgbWFpbm5ldHMgb2YgdGhlIHNhbWUgY29pbiBzaGFyZSB0aGUgc2FtZSBmYW1pbHkgbmFtZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZhbWlseUZyb21OZXR3b3JrKG46IHV0eG9saWIuTmV0d29yayk6IFV0eG9Db2luTmFtZU1haW5uZXQge1xuICBzd2l0Y2ggKGdldE5ldHdvcmtOYW1lKG4pKSB7XG4gICAgY2FzZSAnYml0Y29pbic6XG4gICAgY2FzZSAndGVzdG5ldCc6XG4gICAgY2FzZSAnYml0Y29pblB1YmxpY1NpZ25ldCc6XG4gICAgY2FzZSAnYml0Y29pblRlc3RuZXQ0JzpcbiAgICBjYXNlICdiaXRjb2luQml0R29TaWduZXQnOlxuICAgICAgcmV0dXJuICdidGMnO1xuICAgIGNhc2UgJ2JpdGNvaW5jYXNoJzpcbiAgICBjYXNlICdiaXRjb2luY2FzaFRlc3RuZXQnOlxuICAgICAgcmV0dXJuICdiY2gnO1xuICAgIGNhc2UgJ2VjYXNoJzpcbiAgICBjYXNlICdlY2FzaFRlc3QnOlxuICAgICAgcmV0dXJuICdiY2hhJztcbiAgICBjYXNlICdiaXRjb2luZ29sZCc6XG4gICAgY2FzZSAnYml0Y29pbmdvbGRUZXN0bmV0JzpcbiAgICAgIHJldHVybiAnYnRnJztcbiAgICBjYXNlICdiaXRjb2luc3YnOlxuICAgIGNhc2UgJ2JpdGNvaW5zdlRlc3RuZXQnOlxuICAgICAgcmV0dXJuICdic3YnO1xuICAgIGNhc2UgJ2Rhc2gnOlxuICAgIGNhc2UgJ2Rhc2hUZXN0JzpcbiAgICAgIHJldHVybiAnZGFzaCc7XG4gICAgY2FzZSAnZG9nZWNvaW4nOlxuICAgIGNhc2UgJ2RvZ2Vjb2luVGVzdCc6XG4gICAgICByZXR1cm4gJ2RvZ2UnO1xuICAgIGNhc2UgJ2xpdGVjb2luJzpcbiAgICBjYXNlICdsaXRlY29pblRlc3QnOlxuICAgICAgcmV0dXJuICdsdGMnO1xuICAgIGNhc2UgJ3pjYXNoJzpcbiAgICBjYXNlICd6Y2FzaFRlc3QnOlxuICAgICAgcmV0dXJuICd6ZWMnO1xuICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgLSB3aWxsIGJlIHJlbW92ZWQgd2hlbiB3ZSBkcm9wIHN1cHBvcnQgZm9yIHV0eG9saWJcbiAqIEdldCB0aGUgY2hhaW4gbmFtZSBmb3IgYSBuZXR3b3JrLlxuICogVGhlIGNoYWluIGlzIGRpZmZlcmVudCBmb3IgZXZlcnkgbmV0d29yay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvaW5OYW1lKG46IHV0eG9saWIuTmV0d29yayk6IFV0eG9Db2luTmFtZSB7XG4gIHN3aXRjaCAoZ2V0TmV0d29ya05hbWUobikpIHtcbiAgICBjYXNlICdiaXRjb2luUHVibGljU2lnbmV0JzpcbiAgICAgIHJldHVybiAndGJ0Y3NpZyc7XG4gICAgY2FzZSAnYml0Y29pblRlc3RuZXQ0JzpcbiAgICAgIHJldHVybiAndGJ0YzQnO1xuICAgIGNhc2UgJ2JpdGNvaW5CaXRHb1NpZ25ldCc6XG4gICAgICByZXR1cm4gJ3RidGNiZ3NpZyc7XG4gICAgY2FzZSAnYml0Y29pbic6XG4gICAgY2FzZSAndGVzdG5ldCc6XG4gICAgY2FzZSAnYml0Y29pbmNhc2gnOlxuICAgIGNhc2UgJ2JpdGNvaW5jYXNoVGVzdG5ldCc6XG4gICAgY2FzZSAnZWNhc2gnOlxuICAgIGNhc2UgJ2VjYXNoVGVzdCc6XG4gICAgY2FzZSAnYml0Y29pbmdvbGQnOlxuICAgIGNhc2UgJ2JpdGNvaW5nb2xkVGVzdG5ldCc6XG4gICAgY2FzZSAnYml0Y29pbnN2JzpcbiAgICBjYXNlICdiaXRjb2luc3ZUZXN0bmV0JzpcbiAgICBjYXNlICdkYXNoJzpcbiAgICBjYXNlICdkYXNoVGVzdCc6XG4gICAgY2FzZSAnZG9nZWNvaW4nOlxuICAgIGNhc2UgJ2RvZ2Vjb2luVGVzdCc6XG4gICAgY2FzZSAnbGl0ZWNvaW4nOlxuICAgIGNhc2UgJ2xpdGVjb2luVGVzdCc6XG4gICAgY2FzZSAnemNhc2gnOlxuICAgIGNhc2UgJ3pjYXNoVGVzdCc6XG4gICAgICBjb25zdCBtYWlubmV0TmFtZSA9IGdldEZhbWlseUZyb21OZXR3b3JrKG4pO1xuICAgICAgcmV0dXJuIHV0eG9saWIuaXNUZXN0bmV0KG4pID8gYHQke21haW5uZXROYW1lfWAgOiBtYWlubmV0TmFtZTtcbiAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIC0gd2lsbCBiZSByZW1vdmVkIHdoZW4gd2UgZHJvcCBzdXBwb3J0IGZvciB1dHhvbGliXG4gKiBAcGFyYW0gY29pbk5hbWUgLSB0aGUgbmFtZSBvZiB0aGUgY29pbiAoZS5nLiAnYnRjJywgJ2JjaCcsICdsdGMnKS4gQWxzbyBjYWxsZWQgJ2NoYWluJyBpbiBzb21lIGNvbnRleHRzLlxuICogQHJldHVybnMgdGhlIG5ldHdvcmsgZm9yIGEgY29pbi4gVGhpcyBpcyB0aGUgbWFpbm5ldCBuZXR3b3JrIGZvciB0aGUgY29pbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE5ldHdvcmtGcm9tQ29pbk5hbWUoY29pbk5hbWU6IHN0cmluZyk6IHV0eG9saWIuTmV0d29yayB7XG4gIGZvciAoY29uc3QgbmV0d29yayBvZiB1dHhvbGliLmdldE5ldHdvcmtMaXN0KCkpIHtcbiAgICBpZiAoZ2V0Q29pbk5hbWUobmV0d29yaykgPT09IGNvaW5OYW1lKSB7XG4gICAgICByZXR1cm4gbmV0d29yaztcbiAgICB9XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGNvaW4gbmFtZSAke2NvaW5OYW1lfWApO1xufVxuXG4vKiogQGRlcHJlY2F0ZWQgLSB1c2UgZ2V0TmV0d29ya0Zyb21Db2luTmFtZSBpbnN0ZWFkICovXG5leHBvcnQgY29uc3QgZ2V0TmV0d29ya0Zyb21DaGFpbiA9IGdldE5ldHdvcmtGcm9tQ29pbk5hbWU7XG5cbmZ1bmN0aW9uIGdldEJhc2VOYW1lRnJvbU1haW5uZXQoY29pbk5hbWU6IFV0eG9Db2luTmFtZU1haW5uZXQpOiBzdHJpbmcge1xuICBzd2l0Y2ggKGNvaW5OYW1lKSB7XG4gICAgY2FzZSAnYnRjJzpcbiAgICAgIHJldHVybiAnQml0Y29pbic7XG4gICAgY2FzZSAnYmNoJzpcbiAgICAgIHJldHVybiAnQml0Y29pbiBDYXNoJztcbiAgICBjYXNlICdiY2hhJzpcbiAgICAgIHJldHVybiAnQml0Y29pbiBBQkMnO1xuICAgIGNhc2UgJ2J0Zyc6XG4gICAgICByZXR1cm4gJ0JpdGNvaW4gR29sZCc7XG4gICAgY2FzZSAnYnN2JzpcbiAgICAgIHJldHVybiAnQml0Y29pbiBTVic7XG4gICAgY2FzZSAnZGFzaCc6XG4gICAgICByZXR1cm4gJ0Rhc2gnO1xuICAgIGNhc2UgJ2RvZ2UnOlxuICAgICAgcmV0dXJuICdEb2dlY29pbic7XG4gICAgY2FzZSAnbHRjJzpcbiAgICAgIHJldHVybiAnTGl0ZWNvaW4nO1xuICAgIGNhc2UgJ3plYyc6XG4gICAgICByZXR1cm4gJ1pDYXNoJztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RnVsbE5hbWVGcm9tQ29pbk5hbWUoY29pbk5hbWU6IFV0eG9Db2luTmFtZSk6IHN0cmluZyB7XG4gIGxldCBwcmVmaXg6IHN0cmluZztcbiAgc3dpdGNoIChjb2luTmFtZSkge1xuICAgIGNhc2UgJ3RidGM0JzpcbiAgICAgIHByZWZpeCA9ICdUZXN0bmV0NCAnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAndGJ0Y3NpZyc6XG4gICAgICBwcmVmaXggPSAnUHVibGljIFNpZ25ldCAnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAndGJ0Y2Jnc2lnJzpcbiAgICAgIHByZWZpeCA9ICdCaXRHbyBTaWduZXQgJztcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBwcmVmaXggPSBpc1V0eG9Db2luTmFtZVRlc3RuZXQoY29pbk5hbWUpID8gJ1Rlc3RuZXQgJyA6ICcnO1xuICB9XG5cbiAgcmV0dXJuIHByZWZpeCArIGdldEJhc2VOYW1lRnJvbU1haW5uZXQoZ2V0TWFpbm5ldENvaW5OYW1lKGNvaW5OYW1lKSk7XG59XG5cbi8qKiBAZGVwcmVjYXRlZCAtIHVzZSBnZXRGdWxsTmFtZUZyb21Db2luTmFtZSBpbnN0ZWFkICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RnVsbE5hbWVGcm9tTmV0d29yayhuOiB1dHhvbGliLk5ldHdvcmspOiBzdHJpbmcge1xuICByZXR1cm4gZ2V0RnVsbE5hbWVGcm9tQ29pbk5hbWUoZ2V0Q29pbk5hbWUobikpO1xufVxuIl19
|
|
225
|
+
function isTestnetCoin(coinName) {
|
|
226
|
+
return isUtxoCoinNameTestnet(coinName);
|
|
227
|
+
}
|
|
228
|
+
function isMainnetCoin(coinName) {
|
|
229
|
+
return isUtxoCoinNameMainnet(coinName);
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmFtZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBc0JBLHNEQUVDO0FBRUQsc0RBRUM7QUFFRCx3Q0FFQztBQUVELGdEQVlDO0FBZUQsb0RBaUNDO0FBT0Qsa0NBNkJDO0FBT0Qsd0RBT0M7QUE0QkQsMERBaUJDO0FBR0Qsd0RBRUM7QUFFRCxzQ0FFQztBQUVELHNDQUVDO0FBMU1ELDhEQUFnRDtBQUVuQyxRQUFBLGdCQUFnQixHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQVUsQ0FBQztBQUMvRixRQUFBLGdCQUFnQixHQUFHO0lBQzlCLE1BQU07SUFDTixPQUFPO0lBQ1AsU0FBUztJQUNULFdBQVc7SUFDWCxNQUFNO0lBQ04sT0FBTztJQUNQLE1BQU07SUFDTixNQUFNO0lBQ04sT0FBTztJQUNQLE9BQU87SUFDUCxNQUFNO0lBQ04sTUFBTTtDQUNFLENBQUM7QUFNWCxTQUFnQixxQkFBcUIsQ0FBQyxRQUFnQjtJQUNwRCxPQUFPLHdCQUFnQixDQUFDLFFBQVEsQ0FBQyxRQUErQixDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVELFNBQWdCLHFCQUFxQixDQUFDLFFBQWdCO0lBQ3BELE9BQU8sd0JBQWdCLENBQUMsUUFBUSxDQUFDLFFBQStCLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLFFBQWdCO0lBQzdDLE9BQU8scUJBQXFCLENBQUMsUUFBUSxDQUFDLElBQUkscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVELFNBQWdCLGtCQUFrQixDQUFDLFFBQXNCO0lBQ3ZELElBQUkscUJBQXFCLENBQUMsUUFBUSxDQUFD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QixDQUFDO1lBQzFCLE1BQU07UUFDUixLQUFLLFdBQVc7WUFDZCxNQUFNLEdBQUcsZUFBZSxDQUFDO1lBQ3pCLE1BQU07UUFDUjtZQUNFLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDL0QsQ0FBQztJQUVELE9BQU8sTUFBTSxHQUFHLHNCQUFzQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQUVELHdEQUF3RDtBQUN4RCxTQUFnQixzQkFBc0IsQ0FBQyxDQUFrQjtJQUN2RCxPQUFPLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pELENBQUM7QUFFRCxTQUFnQixhQUFhLENBQUMsUUFBc0I7SUFDbEQsT0FBTyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRUQsU0FBZ0IsYUFBYSxDQUFDLFFBQXNCO0lBQ2xELE9BQU8scUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDekMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5leHBvcnQgY29uc3QgdXR4b0NvaW5zTWFpbm5ldCA9IFsnYnRjJywgJ2JjaCcsICdiY2hhJywgJ2JzdicsICdidGcnLCAnZGFzaCcsICdkb2dlJywgJ2x0YycsICd6ZWMnXSBhcyBjb25zdDtcbmV4cG9ydCBjb25zdCB1dHhvQ29pbnNUZXN0bmV0ID0gW1xuICAndGJ0YycsXG4gICd0YnRjNCcsXG4gICd0YnRjc2lnJyxcbiAgJ3RidGNiZ3NpZycsXG4gICd0YmNoJyxcbiAgJ3RiY2hhJyxcbiAgJ3Ric3YnLFxuICAndGJ0ZycsXG4gICd0ZGFzaCcsXG4gICd0ZG9nZScsXG4gICd0bHRjJyxcbiAgJ3R6ZWMnLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgVXR4b0NvaW5OYW1lTWFpbm5ldCA9ICh0eXBlb2YgdXR4b0NvaW5zTWFpbm5ldClbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFV0eG9Db2luTmFtZVRlc3RuZXQgPSBgdCR7VXR4b0NvaW5OYW1lTWFpbm5ldH1gIHwgJ3RidGNzaWcnIHwgJ3RidGM0JyB8ICd0YnRjYmdzaWcnO1xuZXhwb3J0IHR5cGUgVXR4b0NvaW5OYW1lID0gVXR4b0NvaW5OYW1lTWFpbm5ldCB8IFV0eG9Db2luTmFtZVRlc3RuZXQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1V0eG9Db2luTmFtZU1haW5uZXQoY29pbk5hbWU6IHN0cmluZyk6IGNvaW5OYW1lIGlzIFV0eG9Db2luTmFtZU1haW5uZXQge1xuICByZXR1cm4gdXR4b0NvaW5zTWFpbm5ldC5pbmNsdWRlcyhjb2luTmFtZSBhcyBVdHhvQ29pbk5hbWVNYWlubmV0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVXR4b0NvaW5OYW1lVGVzdG5ldChjb2luTmFtZTogc3RyaW5nKTogY29pbk5hbWUgaXMgVXR4b0NvaW5OYW1lVGVzdG5ldCB7XG4gIHJldHVybiB1dHhvQ29pbnNUZXN0bmV0LmluY2x1ZGVzKGNvaW5OYW1lIGFzIFV0eG9Db2luTmFtZVRlc3RuZXQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVdHhvQ29pbk5hbWUoY29pbk5hbWU6IHN0cmluZyk6IGNvaW5OYW1lIGlzIFV0eG9Db2luTmFtZSB7XG4gIHJldHVybiBpc1V0eG9Db2luTmFtZU1haW5uZXQoY29pbk5hbWUpIHx8IGlzVXR4b0NvaW5OYW1lVGVzdG5ldChjb2luTmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYWlubmV0Q29pbk5hbWUoY29pbk5hbWU6IFV0eG9Db2luTmFtZSk6IFV0eG9Db2luTmFtZU1haW5uZXQge1xuICBpZiAoaXNVdHhvQ29pbk5hbWVNYWlubmV0KGNvaW5OYW1lKSkge1xuICAgIHJldHVybiBjb2luTmFtZTtcbiAgfVxuICBzd2l0Y2ggKGNvaW5OYW1lKSB7XG4gICAgY2FzZSAndGJ0YzQnOlxuICAgIGNhc2UgJ3RidGNzaWcnOlxuICAgIGNhc2UgJ3RidGNiZ3NpZyc6XG4gICAgICByZXR1cm4gJ2J0Yyc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBjb2luTmFtZS5zbGljZSgxKSBhcyBVdHhvQ29pbk5hbWVNYWlubmV0O1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE5ldHdvcmtOYW1lKG46IHV0eG9saWIuTmV0d29yayk6IHV0eG9saWIuTmV0d29ya05hbWUge1xuICBjb25zdCBuYW1lID0gdXR4b2xpYi5nZXROZXR3b3JrTmFtZShuKTtcbiAgaWYgKCFuYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIG5ldHdvcmsnKTtcbiAgfVxuICByZXR1cm4gbmFtZTtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCAtIHdpbGwgYmUgcmVtb3ZlZCB3aGVuIHdlIGRyb3Agc3VwcG9ydCBmb3IgdXR4b2xpYlxuICogQHBhcmFtIG5cbiAqIEByZXR1cm5zIHRoZSBmYW1pbHkgbmFtZSBmb3IgYSBuZXR3b3JrLiBUZXN0bmV0cyBhbmQgbWFpbm5ldHMgb2YgdGhlIHNhbWUgY29pbiBzaGFyZSB0aGUgc2FtZSBmYW1pbHkgbmFtZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZhbWlseUZyb21OZXR3b3JrKG46IHV0eG9saWIuTmV0d29yayk6IFV0eG9Db2luTmFtZU1haW5uZXQge1xuICBzd2l0Y2ggKGdldE5ldHdvcmtOYW1lKG4pKSB7XG4gICAgY2FzZSAnYml0Y29pbic6XG4gICAgY2FzZSAndGVzdG5ldCc6XG4gICAgY2FzZSAnYml0Y29pblB1YmxpY1NpZ25ldCc6XG4gICAgY2FzZSAnYml0Y29pblRlc3RuZXQ0JzpcbiAgICBjYXNlICdiaXRjb2luQml0R29TaWduZXQnOlxuICAgICAgcmV0dXJuICdidGMnO1xuICAgIGNhc2UgJ2JpdGNvaW5jYXNoJzpcbiAgICBjYXNlICdiaXRjb2luY2FzaFRlc3RuZXQnOlxuICAgICAgcmV0dXJuICdiY2gnO1xuICAgIGNhc2UgJ2VjYXNoJzpcbiAgICBjYXNlICdlY2FzaFRlc3QnOlxuICAgICAgcmV0dXJuICdiY2hhJztcbiAgICBjYXNlICdiaXRjb2luZ29sZCc6XG4gICAgY2FzZSAnYml0Y29pbmdvbGRUZXN0bmV0JzpcbiAgICAgIHJldHVybiAnYnRnJztcbiAgICBjYXNlICdiaXRjb2luc3YnOlxuICAgIGNhc2UgJ2JpdGNvaW5zdlRlc3RuZXQnOlxuICAgICAgcmV0dXJuICdic3YnO1xuICAgIGNhc2UgJ2Rhc2gnOlxuICAgIGNhc2UgJ2Rhc2hUZXN0JzpcbiAgICAgIHJldHVybiAnZGFzaCc7XG4gICAgY2FzZSAnZG9nZWNvaW4nOlxuICAgIGNhc2UgJ2RvZ2Vjb2luVGVzdCc6XG4gICAgICByZXR1cm4gJ2RvZ2UnO1xuICAgIGNhc2UgJ2xpdGVjb2luJzpcbiAgICBjYXNlICdsaXRlY29pblRlc3QnOlxuICAgICAgcmV0dXJuICdsdGMnO1xuICAgIGNhc2UgJ3pjYXNoJzpcbiAgICBjYXNlICd6Y2FzaFRlc3QnOlxuICAgICAgcmV0dXJuICd6ZWMnO1xuICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgLSB3aWxsIGJlIHJlbW92ZWQgd2hlbiB3ZSBkcm9wIHN1cHBvcnQgZm9yIHV0eG9saWJcbiAqIEdldCB0aGUgY2hhaW4gbmFtZSBmb3IgYSBuZXR3b3JrLlxuICogVGhlIGNoYWluIGlzIGRpZmZlcmVudCBmb3IgZXZlcnkgbmV0d29yay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvaW5OYW1lKG46IHV0eG9saWIuTmV0d29yayk6IFV0eG9Db2luTmFtZSB7XG4gIHN3aXRjaCAoZ2V0TmV0d29ya05hbWUobikpIHtcbiAgICBjYXNlICdiaXRjb2luUHVibGljU2lnbmV0JzpcbiAgICAgIHJldHVybiAndGJ0Y3NpZyc7XG4gICAgY2FzZSAnYml0Y29pblRlc3RuZXQ0JzpcbiAgICAgIHJldHVybiAndGJ0YzQnO1xuICAgIGNhc2UgJ2JpdGNvaW5CaXRHb1NpZ25ldCc6XG4gICAgICByZXR1cm4gJ3RidGNiZ3NpZyc7XG4gICAgY2FzZSAnYml0Y29pbic6XG4gICAgY2FzZSAndGVzdG5ldCc6XG4gICAgY2FzZSAnYml0Y29pbmNhc2gnOlxuICAgIGNhc2UgJ2JpdGNvaW5jYXNoVGVzdG5ldCc6XG4gICAgY2FzZSAnZWNhc2gnOlxuICAgIGNhc2UgJ2VjYXNoVGVzdCc6XG4gICAgY2FzZSAnYml0Y29pbmdvbGQnOlxuICAgIGNhc2UgJ2JpdGNvaW5nb2xkVGVzdG5ldCc6XG4gICAgY2FzZSAnYml0Y29pbnN2JzpcbiAgICBjYXNlICdiaXRjb2luc3ZUZXN0bmV0JzpcbiAgICBjYXNlICdkYXNoJzpcbiAgICBjYXNlICdkYXNoVGVzdCc6XG4gICAgY2FzZSAnZG9nZWNvaW4nOlxuICAgIGNhc2UgJ2RvZ2Vjb2luVGVzdCc6XG4gICAgY2FzZSAnbGl0ZWNvaW4nOlxuICAgIGNhc2UgJ2xpdGVjb2luVGVzdCc6XG4gICAgY2FzZSAnemNhc2gnOlxuICAgIGNhc2UgJ3pjYXNoVGVzdCc6XG4gICAgICBjb25zdCBtYWlubmV0TmFtZSA9IGdldEZhbWlseUZyb21OZXR3b3JrKG4pO1xuICAgICAgcmV0dXJuIHV0eG9saWIuaXNUZXN0bmV0KG4pID8gYHQke21haW5uZXROYW1lfWAgOiBtYWlubmV0TmFtZTtcbiAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIC0gd2lsbCBiZSByZW1vdmVkIHdoZW4gd2UgZHJvcCBzdXBwb3J0IGZvciB1dHhvbGliXG4gKiBAcGFyYW0gY29pbk5hbWUgLSB0aGUgbmFtZSBvZiB0aGUgY29pbiAoZS5nLiAnYnRjJywgJ2JjaCcsICdsdGMnKS4gQWxzbyBjYWxsZWQgJ2NoYWluJyBpbiBzb21lIGNvbnRleHRzLlxuICogQHJldHVybnMgdGhlIG5ldHdvcmsgZm9yIGEgY29pbi4gVGhpcyBpcyB0aGUgbWFpbm5ldCBuZXR3b3JrIGZvciB0aGUgY29pbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE5ldHdvcmtGcm9tQ29pbk5hbWUoY29pbk5hbWU6IHN0cmluZyk6IHV0eG9saWIuTmV0d29yayB7XG4gIGZvciAoY29uc3QgbmV0d29yayBvZiB1dHhvbGliLmdldE5ldHdvcmtMaXN0KCkpIHtcbiAgICBpZiAoZ2V0Q29pbk5hbWUobmV0d29yaykgPT09IGNvaW5OYW1lKSB7XG4gICAgICByZXR1cm4gbmV0d29yaztcbiAgICB9XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGNvaW4gbmFtZSAke2NvaW5OYW1lfWApO1xufVxuXG4vKiogQGRlcHJlY2F0ZWQgLSB1c2UgZ2V0TmV0d29ya0Zyb21Db2luTmFtZSBpbnN0ZWFkICovXG5leHBvcnQgY29uc3QgZ2V0TmV0d29ya0Zyb21DaGFpbiA9IGdldE5ldHdvcmtGcm9tQ29pbk5hbWU7XG5cbmZ1bmN0aW9uIGdldEJhc2VOYW1lRnJvbU1haW5uZXQoY29pbk5hbWU6IFV0eG9Db2luTmFtZU1haW5uZXQpOiBzdHJpbmcge1xuICBzd2l0Y2ggKGNvaW5OYW1lKSB7XG4gICAgY2FzZSAnYnRjJzpcbiAgICAgIHJldHVybiAnQml0Y29pbic7XG4gICAgY2FzZSAnYmNoJzpcbiAgICAgIHJldHVybiAnQml0Y29pbiBDYXNoJztcbiAgICBjYXNlICdiY2hhJzpcbiAgICAgIHJldHVybiAnQml0Y29pbiBBQkMnO1xuICAgIGNhc2UgJ2J0Zyc6XG4gICAgICByZXR1cm4gJ0JpdGNvaW4gR29sZCc7XG4gICAgY2FzZSAnYnN2JzpcbiAgICAgIHJldHVybiAnQml0Y29pbiBTVic7XG4gICAgY2FzZSAnZGFzaCc6XG4gICAgICByZXR1cm4gJ0Rhc2gnO1xuICAgIGNhc2UgJ2RvZ2UnOlxuICAgICAgcmV0dXJuICdEb2dlY29pbic7XG4gICAgY2FzZSAnbHRjJzpcbiAgICAgIHJldHVybiAnTGl0ZWNvaW4nO1xuICAgIGNhc2UgJ3plYyc6XG4gICAgICByZXR1cm4gJ1pDYXNoJztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RnVsbE5hbWVGcm9tQ29pbk5hbWUoY29pbk5hbWU6IFV0eG9Db2luTmFtZSk6IHN0cmluZyB7XG4gIGxldCBwcmVmaXg6IHN0cmluZztcbiAgc3dpdGNoIChjb2luTmFtZSkge1xuICAgIGNhc2UgJ3RidGM0JzpcbiAgICAgIHByZWZpeCA9ICdUZXN0bmV0NCAnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAndGJ0Y3NpZyc6XG4gICAgICBwcmVmaXggPSAnUHVibGljIFNpZ25ldCAnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAndGJ0Y2Jnc2lnJzpcbiAgICAgIHByZWZpeCA9ICdCaXRHbyBTaWduZXQgJztcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBwcmVmaXggPSBpc1V0eG9Db2luTmFtZVRlc3RuZXQoY29pbk5hbWUpID8gJ1Rlc3RuZXQgJyA6ICcnO1xuICB9XG5cbiAgcmV0dXJuIHByZWZpeCArIGdldEJhc2VOYW1lRnJvbU1haW5uZXQoZ2V0TWFpbm5ldENvaW5OYW1lKGNvaW5OYW1lKSk7XG59XG5cbi8qKiBAZGVwcmVjYXRlZCAtIHVzZSBnZXRGdWxsTmFtZUZyb21Db2luTmFtZSBpbnN0ZWFkICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RnVsbE5hbWVGcm9tTmV0d29yayhuOiB1dHhvbGliLk5ldHdvcmspOiBzdHJpbmcge1xuICByZXR1cm4gZ2V0RnVsbE5hbWVGcm9tQ29pbk5hbWUoZ2V0Q29pbk5hbWUobikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNUZXN0bmV0Q29pbihjb2luTmFtZTogVXR4b0NvaW5OYW1lKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1V0eG9Db2luTmFtZVRlc3RuZXQoY29pbk5hbWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNNYWlubmV0Q29pbihjb2luTmFtZTogVXR4b0NvaW5OYW1lKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1V0eG9Db2luTmFtZU1haW5uZXQoY29pbk5hbWUpO1xufVxuIl19
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { BIP32Interface } from '@bitgo-beta/secp256k1';
|
|
2
|
+
import { UtxoCoinName } from '../names';
|
|
2
3
|
export type OfflineVaultHalfSigned = {
|
|
3
4
|
halfSigned: {
|
|
4
5
|
txHex: string;
|
|
5
6
|
};
|
|
6
7
|
};
|
|
7
|
-
export declare function createHalfSigned(
|
|
8
|
+
export declare function createHalfSigned(coinName: UtxoCoinName, prv: string | BIP32Interface, derivationId: string, tx: unknown): OfflineVaultHalfSigned;
|
|
8
9
|
//# sourceMappingURL=OfflineVaultHalfSigned.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OfflineVaultHalfSigned.d.ts","sourceRoot":"","sources":["../../../../src/offlineVault/OfflineVaultHalfSigned.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAS,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"OfflineVaultHalfSigned.d.ts","sourceRoot":"","sources":["../../../../src/offlineVault/OfflineVaultHalfSigned.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAS,MAAM,uBAAuB,CAAC;AAI9D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxC,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/B,CAAC;AAMF,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,YAAY,EACtB,GAAG,EAAE,MAAM,GAAG,cAAc,EAC5B,YAAY,EAAE,MAAM,EACpB,EAAE,EAAE,OAAO,GACV,sBAAsB,CAYxB"}
|
|
@@ -3,14 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createHalfSigned = createHalfSigned;
|
|
4
4
|
const secp256k1_1 = require("@bitgo-beta/secp256k1");
|
|
5
5
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
6
|
-
const names_1 = require("../names");
|
|
7
6
|
const OfflineVaultSignable_1 = require("./OfflineVaultSignable");
|
|
8
7
|
const descriptor_1 = require("./descriptor");
|
|
9
8
|
function createHalfSignedFromPsbt(psbt) {
|
|
10
9
|
return { halfSigned: { txHex: psbt.toHex() } };
|
|
11
10
|
}
|
|
12
|
-
function createHalfSigned(
|
|
13
|
-
const network = (0, names_1.getNetworkFromChain)(coin);
|
|
11
|
+
function createHalfSigned(coinName, prv, derivationId, tx) {
|
|
14
12
|
if (typeof prv === 'string') {
|
|
15
13
|
prv = secp256k1_1.bip32.fromBase58(prv);
|
|
16
14
|
}
|
|
@@ -19,8 +17,8 @@ function createHalfSigned(coin, prv, derivationId, tx) {
|
|
|
19
17
|
throw new Error('unsupported transaction type');
|
|
20
18
|
}
|
|
21
19
|
if (descriptor_1.DescriptorTransaction.is(tx)) {
|
|
22
|
-
return createHalfSignedFromPsbt((0, descriptor_1.getHalfSignedPsbt)(tx, prv,
|
|
20
|
+
return createHalfSignedFromPsbt((0, descriptor_1.getHalfSignedPsbt)(tx, prv, coinName));
|
|
23
21
|
}
|
|
24
22
|
throw new Error('unsupported transaction type');
|
|
25
23
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmbGluZVZhdWx0SGFsZlNpZ25lZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9vZmZsaW5lVmF1bHQvT2ZmbGluZVZhdWx0SGFsZlNpZ25lZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlCQSw0Q0FpQkM7QUFsQ0QscURBQThEO0FBRTlELG1EQUFnRDtBQUloRCxpRUFBOEQ7QUFDOUQsNkNBQXdFO0FBTXhFLFNBQVMsd0JBQXdCLENBQUMsSUFBa0I7SUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBQ2pELENBQUM7QUFFRCxTQUFnQixnQkFBZ0IsQ0FDOUIsUUFBc0IsRUFDdEIsR0FBNEIsRUFDNUIsWUFBb0IsRUFDcEIsRUFBVztJQUVYLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUIsR0FBRyxHQUFHLGlCQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFDRCxHQUFHLEdBQUcsbUJBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQzdELElBQUksQ0FBQywyQ0FBb0IsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELElBQUksa0NBQXFCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDakMsT0FBTyx3QkFBd0IsQ0FBQyxJQUFBLDhCQUFpQixFQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCSVAzMkludGVyZmFjZSwgYmlwMzIgfSBmcm9tICdAYml0Z28tYmV0YS9zZWNwMjU2azEnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyBCYXNlQ29pbiB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuaW1wb3J0IHsgVXR4b0NvaW5OYW1lIH0gZnJvbSAnLi4vbmFtZXMnO1xuXG5pbXBvcnQgeyBPZmZsaW5lVmF1bHRTaWduYWJsZSB9IGZyb20gJy4vT2ZmbGluZVZhdWx0U2lnbmFibGUnO1xuaW1wb3J0IHsgRGVzY3JpcHRvclRyYW5zYWN0aW9uLCBnZXRIYWxmU2lnbmVkUHNidCB9IGZyb20gJy4vZGVzY3JpcHRvcic7XG5cbmV4cG9ydCB0eXBlIE9mZmxpbmVWYXVsdEhhbGZTaWduZWQgPSB7XG4gIGhhbGZTaWduZWQ6IHsgdHhIZXg6IHN0cmluZyB9O1xufTtcblxuZnVuY3Rpb24gY3JlYXRlSGFsZlNpZ25lZEZyb21Qc2J0KHBzYnQ6IHV0eG9saWIuUHNidCk6IE9mZmxpbmVWYXVsdEhhbGZTaWduZWQge1xuICByZXR1cm4geyBoYWxmU2lnbmVkOiB7IHR4SGV4OiBwc2J0LnRvSGV4KCkgfSB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSGFsZlNpZ25lZChcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZSxcbiAgcHJ2OiBzdHJpbmcgfCBCSVAzMkludGVyZmFjZSxcbiAgZGVyaXZhdGlvbklkOiBzdHJpbmcsXG4gIHR4OiB1bmtub3duXG4pOiBPZmZsaW5lVmF1bHRIYWxmU2lnbmVkIHtcbiAgaWYgKHR5cGVvZiBwcnYgPT09ICdzdHJpbmcnKSB7XG4gICAgcHJ2ID0gYmlwMzIuZnJvbUJhc2U1OChwcnYpO1xuICB9XG4gIHBydiA9IEJhc2VDb2luLmRlcml2ZUtleVdpdGhTZWVkQmlwMzIocHJ2LCBkZXJpdmF0aW9uSWQpLmtleTtcbiAgaWYgKCFPZmZsaW5lVmF1bHRTaWduYWJsZS5pcyh0eCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3Vuc3VwcG9ydGVkIHRyYW5zYWN0aW9uIHR5cGUnKTtcbiAgfVxuICBpZiAoRGVzY3JpcHRvclRyYW5zYWN0aW9uLmlzKHR4KSkge1xuICAgIHJldHVybiBjcmVhdGVIYWxmU2lnbmVkRnJvbVBzYnQoZ2V0SGFsZlNpZ25lZFBzYnQodHgsIHBydiwgY29pbk5hbWUpKTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ3Vuc3VwcG9ydGVkIHRyYW5zYWN0aW9uIHR5cGUnKTtcbn1cbiJdfQ==
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { UtxoCoinName } from '../names';
|
|
1
2
|
export interface ExplanationOutput {
|
|
2
3
|
address: string;
|
|
3
4
|
amount: string | number;
|
|
@@ -11,5 +12,5 @@ export interface TransactionExplanation<TFee> {
|
|
|
11
12
|
payGoFeeAddress: string | undefined;
|
|
12
13
|
};
|
|
13
14
|
}
|
|
14
|
-
export declare function getTransactionExplanation(
|
|
15
|
+
export declare function getTransactionExplanation(coinName: UtxoCoinName, tx: unknown): TransactionExplanation<string>;
|
|
15
16
|
//# sourceMappingURL=TransactionExplanation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionExplanation.d.ts","sourceRoot":"","sources":["../../../../src/offlineVault/TransactionExplanation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TransactionExplanation.d.ts","sourceRoot":"","sources":["../../../../src/offlineVault/TransactionExplanation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxC,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB,CAAC,IAAI;IAC1C,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,GAAG,EAAE;QAEH,GAAG,EAAE,IAAI,CAAC;QACV,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;QAC5C,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;KACrC,CAAC;CACH;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAS7G"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getTransactionExplanation = getTransactionExplanation;
|
|
4
|
-
const names_1 = require("../names");
|
|
5
4
|
const OfflineVaultSignable_1 = require("./OfflineVaultSignable");
|
|
6
5
|
const descriptor_1 = require("./descriptor");
|
|
7
|
-
function getTransactionExplanation(
|
|
6
|
+
function getTransactionExplanation(coinName, tx) {
|
|
8
7
|
if (!OfflineVaultSignable_1.OfflineVaultSignable.is(tx)) {
|
|
9
8
|
throw new Error('not a signable transaction');
|
|
10
9
|
}
|
|
11
10
|
if (descriptor_1.DescriptorTransaction.is(tx)) {
|
|
12
|
-
return (0, descriptor_1.getTransactionExplanationFromPsbt)(tx,
|
|
11
|
+
return (0, descriptor_1.getTransactionExplanationFromPsbt)(tx, coinName);
|
|
13
12
|
}
|
|
14
13
|
throw new Error('unsupported transaction type');
|
|
15
14
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25FeHBsYW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9vZmZsaW5lVmF1bHQvVHJhbnNhY3Rpb25FeHBsYW5hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXFCQSw4REFTQztBQTVCRCxpRUFBOEQ7QUFDOUQsNkNBQXdGO0FBa0J4RixTQUFnQix5QkFBeUIsQ0FBQyxRQUFzQixFQUFFLEVBQVc7SUFDM0UsSUFBSSxDQUFDLDJDQUFvQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsSUFBSSxrQ0FBcUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxPQUFPLElBQUEsOENBQWlDLEVBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFV0eG9Db2luTmFtZSB9IGZyb20gJy4uL25hbWVzJztcblxuaW1wb3J0IHsgT2ZmbGluZVZhdWx0U2lnbmFibGUgfSBmcm9tICcuL09mZmxpbmVWYXVsdFNpZ25hYmxlJztcbmltcG9ydCB7IERlc2NyaXB0b3JUcmFuc2FjdGlvbiwgZ2V0VHJhbnNhY3Rpb25FeHBsYW5hdGlvbkZyb21Qc2J0IH0gZnJvbSAnLi9kZXNjcmlwdG9yJztcblxuZXhwb3J0IGludGVyZmFjZSBFeHBsYW5hdGlvbk91dHB1dCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmcgfCBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbjxURmVlPiB7XG4gIG91dHB1dHM6IEV4cGxhbmF0aW9uT3V0cHV0W107XG4gIGNoYW5nZU91dHB1dHM6IEV4cGxhbmF0aW9uT3V0cHV0W107XG4gIGZlZToge1xuICAgIC8qIG5ldHdvcmsgZmVlICovXG4gICAgZmVlOiBURmVlO1xuICAgIHBheUdvRmVlU3RyaW5nOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgcGF5R29GZWVBZGRyZXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUcmFuc2FjdGlvbkV4cGxhbmF0aW9uKGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUsIHR4OiB1bmtub3duKTogVHJhbnNhY3Rpb25FeHBsYW5hdGlvbjxzdHJpbmc+IHtcbiAgaWYgKCFPZmZsaW5lVmF1bHRTaWduYWJsZS5pcyh0eCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBhIHNpZ25hYmxlIHRyYW5zYWN0aW9uJyk7XG4gIH1cbiAgaWYgKERlc2NyaXB0b3JUcmFuc2FjdGlvbi5pcyh0eCkpIHtcbiAgICByZXR1cm4gZ2V0VHJhbnNhY3Rpb25FeHBsYW5hdGlvbkZyb21Qc2J0KHR4LCBjb2luTmFtZSk7XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoJ3Vuc3VwcG9ydGVkIHRyYW5zYWN0aW9uIHR5cGUnKTtcbn1cbiJdfQ==
|
|
@@ -2,6 +2,7 @@ import * as utxolib from '@bitgo-beta/utxo-lib';
|
|
|
2
2
|
import * as t from 'io-ts';
|
|
3
3
|
import { DescriptorMap } from '../../descriptor';
|
|
4
4
|
import { TransactionExplanation } from '../TransactionExplanation';
|
|
5
|
+
import { UtxoCoinName } from '../../names';
|
|
5
6
|
export declare const DescriptorTransaction: t.IntersectionC<[t.TypeC<{
|
|
6
7
|
xpubsWithDerivationPath: t.TypeC<{
|
|
7
8
|
user: t.IntersectionC<[t.TypeC<{
|
|
@@ -33,6 +34,6 @@ export declare const DescriptorTransaction: t.IntersectionC<[t.TypeC<{
|
|
|
33
34
|
}>]>;
|
|
34
35
|
export type DescriptorTransaction = t.TypeOf<typeof DescriptorTransaction>;
|
|
35
36
|
export declare function getDescriptorsFromDescriptorTransaction(tx: DescriptorTransaction): DescriptorMap;
|
|
36
|
-
export declare function getHalfSignedPsbt(tx: DescriptorTransaction, prv: utxolib.BIP32Interface,
|
|
37
|
-
export declare function getTransactionExplanationFromPsbt(tx: DescriptorTransaction,
|
|
37
|
+
export declare function getHalfSignedPsbt(tx: DescriptorTransaction, prv: utxolib.BIP32Interface, coinName: UtxoCoinName): utxolib.Psbt;
|
|
38
|
+
export declare function getTransactionExplanationFromPsbt(tx: DescriptorTransaction, coinName: UtxoCoinName): TransactionExplanation<string>;
|
|
38
39
|
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../../src/offlineVault/descriptor/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAmB,MAAM,kBAAkB,CAAC;AASlE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGjC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE3E,wBAAgB,uCAAuC,CAAC,EAAE,EAAE,qBAAqB,GAAG,aAAa,CAUhG;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,qBAAqB,EACzB,GAAG,EAAE,OAAO,CAAC,cAAc,EAC3B,
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../../src/offlineVault/descriptor/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAmB,MAAM,kBAAkB,CAAC;AASlE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAA0B,YAAY,EAAE,MAAM,aAAa,CAAC;AAEnE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGjC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE3E,wBAAgB,uCAAuC,CAAC,EAAE,EAAE,qBAAqB,GAAG,aAAa,CAUhG;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,qBAAqB,EACzB,GAAG,EAAE,OAAO,CAAC,cAAc,EAC3B,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,IAAI,CAMd;AAED,wBAAgB,iCAAiC,CAC/C,EAAE,EAAE,qBAAqB,EACzB,QAAQ,EAAE,YAAY,GACrB,sBAAsB,CAAC,MAAM,CAAC,CAgBhC"}
|
|
@@ -43,6 +43,7 @@ const descriptor_1 = require("../../descriptor");
|
|
|
43
43
|
const OfflineVaultSignable_1 = require("../OfflineVaultSignable");
|
|
44
44
|
const validatePolicy_1 = require("../../descriptor/validatePolicy");
|
|
45
45
|
const descriptor_2 = require("../../transaction/descriptor");
|
|
46
|
+
const names_1 = require("../../names");
|
|
46
47
|
exports.DescriptorTransaction = t.intersection([OfflineVaultSignable_1.OfflineVaultSignable, t.type({ descriptors: t.array(descriptor_1.NamedDescriptor) })], 'DescriptorTransaction');
|
|
47
48
|
function getDescriptorsFromDescriptorTransaction(tx) {
|
|
48
49
|
const { descriptors, xpubsWithDerivationPath } = tx;
|
|
@@ -55,13 +56,15 @@ function getDescriptorsFromDescriptorTransaction(tx) {
|
|
|
55
56
|
]);
|
|
56
57
|
return (0, validatePolicy_1.toDescriptorMapValidate)(descriptors, pubkeys, policy);
|
|
57
58
|
}
|
|
58
|
-
function getHalfSignedPsbt(tx, prv,
|
|
59
|
+
function getHalfSignedPsbt(tx, prv, coinName) {
|
|
60
|
+
const network = (0, names_1.getNetworkFromCoinName)(coinName);
|
|
59
61
|
const psbt = utxolib.bitgo.createPsbtDecode(tx.coinSpecific.txHex, network);
|
|
60
62
|
const descriptorMap = getDescriptorsFromDescriptorTransaction(tx);
|
|
61
63
|
(0, descriptor_2.signPsbt)(psbt, descriptorMap, prv, { onUnknownInput: 'throw' });
|
|
62
64
|
return psbt;
|
|
63
65
|
}
|
|
64
|
-
function getTransactionExplanationFromPsbt(tx,
|
|
66
|
+
function getTransactionExplanationFromPsbt(tx, coinName) {
|
|
67
|
+
const network = (0, names_1.getNetworkFromCoinName)(coinName);
|
|
65
68
|
const psbt = utxolib.bitgo.createPsbtDecode(tx.coinSpecific.txHex, network);
|
|
66
69
|
const descriptorMap = getDescriptorsFromDescriptorTransaction(tx);
|
|
67
70
|
const { outputs, changeOutputs, fee } = (0, descriptor_2.explainPsbt)(psbt, descriptorMap);
|
|
@@ -77,4 +80,4 @@ function getTransactionExplanationFromPsbt(tx, network) {
|
|
|
77
80
|
},
|
|
78
81
|
};
|
|
79
82
|
}
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvb2ZmbGluZVZhdWx0L2Rlc2NyaXB0b3IvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBc0JBLDBGQVVDO0FBRUQsOENBVUM7QUFFRCw4RUFtQkM7QUFqRUQsOERBQWdEO0FBQ2hELHlDQUEyQjtBQUUzQixpREFBa0U7QUFDbEUsa0VBQTRFO0FBQzVFLG9FQUt5QztBQUN6Qyw2REFBcUU7QUFFckUsdUNBQW1FO0FBRXRELFFBQUEscUJBQXFCLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FDakQsQ0FBQywyQ0FBb0IsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsNEJBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUN6RSx1QkFBdUIsQ0FDeEIsQ0FBQztBQUlGLFNBQWdCLHVDQUF1QyxDQUFDLEVBQXlCO0lBQy9FLE1BQU0sRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDcEQsTUFBTSxPQUFPLEdBQUcsSUFBQSxrQ0FBVyxFQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDckQsTUFBTSxNQUFNLEdBQUcsSUFBQSxpQ0FBZ0IsRUFBQztRQUM5Qix3RUFBd0U7UUFDeEUsSUFBQSwyQ0FBMEIsRUFBQyxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9FLCtDQUErQztRQUMvQyxJQUFBLDRDQUEyQixHQUFFO0tBQzlCLENBQUMsQ0FBQztJQUNILE9BQU8sSUFBQSx3Q0FBdUIsRUFBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRCxTQUFnQixpQkFBaUIsQ0FDL0IsRUFBeUIsRUFDekIsR0FBMkIsRUFDM0IsUUFBc0I7SUFFdEIsTUFBTSxPQUFPLEdBQUcsSUFBQSw4QkFBc0IsRUFBQyxRQUFRLENBQUMsQ0FBQztJQUNqRCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVFLE1BQU0sYUFBYSxHQUFHLHVDQUF1QyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLElBQUEscUJBQVEsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELFNBQWdCLGlDQUFpQyxDQUMvQyxFQUF5QixFQUN6QixRQUFzQjtJQUV0QixNQUFNLE9BQU8sR0FBRyxJQUFBLDhCQUFzQixFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUUsTUFBTSxhQUFhLEdBQUcsdUNBQXVDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEUsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBQSx3QkFBVyxFQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN6RSxPQUFPO1FBQ0wsT0FBTztRQUNQLGFBQWE7UUFDYixHQUFHLEVBQUU7WUFDSCxpQkFBaUI7WUFDakIsR0FBRztZQUNILFVBQVU7WUFDVixjQUFjLEVBQUUsU0FBUztZQUN6QixlQUFlLEVBQUUsU0FBUztTQUMzQjtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcblxuaW1wb3J0IHsgRGVzY3JpcHRvck1hcCwgTmFtZWREZXNjcmlwdG9yIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBPZmZsaW5lVmF1bHRTaWduYWJsZSwgdG9LZXlUcmlwbGUgfSBmcm9tICcuLi9PZmZsaW5lVmF1bHRTaWduYWJsZSc7XG5pbXBvcnQge1xuICBnZXRWYWxpZGF0b3JPbmVPZlRlbXBsYXRlcyxcbiAgZ2V0VmFsaWRhdG9yU2lnbmVkQnlVc2VyS2V5LFxuICBnZXRWYWxpZGF0b3JTb21lLFxuICB0b0Rlc2NyaXB0b3JNYXBWYWxpZGF0ZSxcbn0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvci92YWxpZGF0ZVBvbGljeSc7XG5pbXBvcnQgeyBleHBsYWluUHNidCwgc2lnblBzYnQgfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi9kZXNjcmlwdG9yJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gfSBmcm9tICcuLi9UcmFuc2FjdGlvbkV4cGxhbmF0aW9uJztcbmltcG9ydCB7IGdldE5ldHdvcmtGcm9tQ29pbk5hbWUsIFV0eG9Db2luTmFtZSB9IGZyb20gJy4uLy4uL25hbWVzJztcblxuZXhwb3J0IGNvbnN0IERlc2NyaXB0b3JUcmFuc2FjdGlvbiA9IHQuaW50ZXJzZWN0aW9uKFxuICBbT2ZmbGluZVZhdWx0U2lnbmFibGUsIHQudHlwZSh7IGRlc2NyaXB0b3JzOiB0LmFycmF5KE5hbWVkRGVzY3JpcHRvcikgfSldLFxuICAnRGVzY3JpcHRvclRyYW5zYWN0aW9uJ1xuKTtcblxuZXhwb3J0IHR5cGUgRGVzY3JpcHRvclRyYW5zYWN0aW9uID0gdC5UeXBlT2Y8dHlwZW9mIERlc2NyaXB0b3JUcmFuc2FjdGlvbj47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXNjcmlwdG9yc0Zyb21EZXNjcmlwdG9yVHJhbnNhY3Rpb24odHg6IERlc2NyaXB0b3JUcmFuc2FjdGlvbik6IERlc2NyaXB0b3JNYXAge1xuICBjb25zdCB7IGRlc2NyaXB0b3JzLCB4cHVic1dpdGhEZXJpdmF0aW9uUGF0aCB9ID0gdHg7XG4gIGNvbnN0IHB1YmtleXMgPSB0b0tleVRyaXBsZSh4cHVic1dpdGhEZXJpdmF0aW9uUGF0aCk7XG4gIGNvbnN0IHBvbGljeSA9IGdldFZhbGlkYXRvclNvbWUoW1xuICAgIC8vIGFsbG93IGFsbCAyLW9mLTMtaXNoIGRlc2NyaXB0b3JzIHdoZXJlIHRoZSBrZXlzIG1hdGNoIHRoZSB3YWxsZXQga2V5c1xuICAgIGdldFZhbGlkYXRvck9uZU9mVGVtcGxhdGVzKFsnV3NoMk9mMycsICdXc2gyT2YzQ2x0dkRyb3AnLCAnU2hXc2gyT2YzQ2x0dkRyb3AnXSksXG4gICAgLy8gYWxsb3cgYWxsIGRlc2NyaXB0b3JzIHNpZ25lZCBieSB0aGUgdXNlciBrZXlcbiAgICBnZXRWYWxpZGF0b3JTaWduZWRCeVVzZXJLZXkoKSxcbiAgXSk7XG4gIHJldHVybiB0b0Rlc2NyaXB0b3JNYXBWYWxpZGF0ZShkZXNjcmlwdG9ycywgcHVia2V5cywgcG9saWN5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEhhbGZTaWduZWRQc2J0KFxuICB0eDogRGVzY3JpcHRvclRyYW5zYWN0aW9uLFxuICBwcnY6IHV0eG9saWIuQklQMzJJbnRlcmZhY2UsXG4gIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWVcbik6IHV0eG9saWIuUHNidCB7XG4gIGNvbnN0IG5ldHdvcmsgPSBnZXROZXR3b3JrRnJvbUNvaW5OYW1lKGNvaW5OYW1lKTtcbiAgY29uc3QgcHNidCA9IHV0eG9saWIuYml0Z28uY3JlYXRlUHNidERlY29kZSh0eC5jb2luU3BlY2lmaWMudHhIZXgsIG5ldHdvcmspO1xuICBjb25zdCBkZXNjcmlwdG9yTWFwID0gZ2V0RGVzY3JpcHRvcnNGcm9tRGVzY3JpcHRvclRyYW5zYWN0aW9uKHR4KTtcbiAgc2lnblBzYnQocHNidCwgZGVzY3JpcHRvck1hcCwgcHJ2LCB7IG9uVW5rbm93bklucHV0OiAndGhyb3cnIH0pO1xuICByZXR1cm4gcHNidDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRyYW5zYWN0aW9uRXhwbGFuYXRpb25Gcm9tUHNidChcbiAgdHg6IERlc2NyaXB0b3JUcmFuc2FjdGlvbixcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZVxuKTogVHJhbnNhY3Rpb25FeHBsYW5hdGlvbjxzdHJpbmc+IHtcbiAgY29uc3QgbmV0d29yayA9IGdldE5ldHdvcmtGcm9tQ29pbk5hbWUoY29pbk5hbWUpO1xuICBjb25zdCBwc2J0ID0gdXR4b2xpYi5iaXRnby5jcmVhdGVQc2J0RGVjb2RlKHR4LmNvaW5TcGVjaWZpYy50eEhleCwgbmV0d29yayk7XG4gIGNvbnN0IGRlc2NyaXB0b3JNYXAgPSBnZXREZXNjcmlwdG9yc0Zyb21EZXNjcmlwdG9yVHJhbnNhY3Rpb24odHgpO1xuICBjb25zdCB7IG91dHB1dHMsIGNoYW5nZU91dHB1dHMsIGZlZSB9ID0gZXhwbGFpblBzYnQocHNidCwgZGVzY3JpcHRvck1hcCk7XG4gIHJldHVybiB7XG4gICAgb3V0cHV0cyxcbiAgICBjaGFuZ2VPdXRwdXRzLFxuICAgIGZlZToge1xuICAgICAgLyogbmV0d29yayBmZWUgKi9cbiAgICAgIGZlZSxcbiAgICAgIC8qIFRPRE8gKi9cbiAgICAgIHBheUdvRmVlU3RyaW5nOiB1bmRlZmluZWQsXG4gICAgICBwYXlHb0ZlZUFkZHJlc3M6IHVuZGVmaW5lZCxcbiAgICB9LFxuICB9O1xufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backupKeyRecovery.d.ts","sourceRoot":"","sources":["../../../../src/recovery/backupKeyRecovery.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,EACL,SAAS,EAQV,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"backupKeyRecovery.d.ts","sourceRoot":"","sources":["../../../../src/recovery/backupKeyRecovery.ts"],"names":[],"mappings":"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"}
|