@bitgo-beta/utxo-lib 8.0.3-beta.1480 → 8.0.3-beta.1482
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.
|
@@ -6,7 +6,7 @@ export declare function mockPrevTx(vout: number, outputScript: Buffer, value: bi
|
|
|
6
6
|
export declare const replayProtectionKeyPair: BIP32Interface;
|
|
7
7
|
export declare function isReplayProtectionUnspent<TNumber extends bigint | number>(u: Unspent<TNumber>, network: Network): boolean;
|
|
8
8
|
export declare function mockReplayProtectionUnspent<TNumber extends number | bigint>(network: Network, value: TNumber, { key, vout }?: {
|
|
9
|
-
key?: BIP32Interface;
|
|
9
|
+
key?: BIP32Interface | Buffer;
|
|
10
10
|
vout?: number;
|
|
11
11
|
}): UnspentWithPrevTx<TNumber>;
|
|
12
12
|
export declare function mockWalletUnspent<TNumber extends number | bigint>(network: Network, value: TNumber, { chain, index, keys, vout, id, }?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../../src/testutil/mock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAc,OAAO,EAAY,MAAM,aAAa,CAAC;AAE5D,OAAO,EACL,SAAS,EAOT,uBAAuB,EACvB,aAAa,EACb,cAAc,EAEd,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,aAAa,EACd,MAAM,UAAU,CAAC;AAMlB,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,cAAc,CAAC;AAErD,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,GACf,eAAe,CAAC,MAAM,CAAC,CA6BzB;AAED,eAAO,MAAM,uBAAuB,gBAA8B,CAAC;AAGnE,wBAAgB,yBAAyB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EACvE,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EACnB,OAAO,EAAE,OAAO,GACf,OAAO,CAET;AAED,wBAAgB,2BAA2B,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EACzE,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,EACd,EAAE,GAA6B,EAAE,IAAQ,EAAE,GAAE;IAAE,GAAG,CAAC,EAAE,cAAc,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,
|
|
1
|
+
{"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../../src/testutil/mock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAc,OAAO,EAAY,MAAM,aAAa,CAAC;AAE5D,OAAO,EACL,SAAS,EAOT,uBAAuB,EACvB,aAAa,EACb,cAAc,EAEd,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,aAAa,EACd,MAAM,UAAU,CAAC;AAMlB,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,cAAc,CAAC;AAErD,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,GACf,eAAe,CAAC,MAAM,CAAC,CA6BzB;AAED,eAAO,MAAM,uBAAuB,gBAA8B,CAAC;AAGnE,wBAAgB,yBAAyB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EACvE,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EACnB,OAAO,EAAE,OAAO,GACf,OAAO,CAET;AAED,wBAAgB,2BAA2B,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EACzE,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,EACd,EAAE,GAA6B,EAAE,IAAQ,EAAE,GAAE;IAAE,GAAG,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GACjG,iBAAiB,CAAC,OAAO,CAAC,CAO5B;AAED,wBAAgB,iBAAiB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EAC/D,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,EACd,EACE,KAAS,EACT,KAAS,EACT,IAA6B,EAC7B,IAAQ,EACR,EAAE,GACH,GAAE;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,cAAc,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/F,aAAa,CAAC,OAAO,CAAC,GAAG,uBAAuB,CAAC,OAAO,CAAC,CA0B3D;AAED,wBAAgB,YAAY,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EAC1D,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,CAAC,SAAS,GAAG,aAAa,CAAC,kBAAkB,CAAC,EAAE,EAClE,gBAAgB,EAAE,OAAO,EACzB,OAAO,EAAE,OAAO,GACf,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,CAgB/C"}
|
|
@@ -49,7 +49,10 @@ function isReplayProtectionUnspent(u, network) {
|
|
|
49
49
|
return u.address === (0, address_1.fromOutputScript)(replayProtectionScriptPubKey, network);
|
|
50
50
|
}
|
|
51
51
|
function mockReplayProtectionUnspent(network, value, { key = exports.replayProtectionKeyPair, vout = 0 } = {}) {
|
|
52
|
-
|
|
52
|
+
if (!Buffer.isBuffer(key)) {
|
|
53
|
+
key = key.publicKey;
|
|
54
|
+
}
|
|
55
|
+
const outputScript = (0, outputScripts_1.createOutputScriptP2shP2pk)(key).scriptPubKey;
|
|
53
56
|
const prevTransaction = mockPrevTx(vout, outputScript, BigInt(value), network);
|
|
54
57
|
return { ...(0, bitgo_1.fromOutputWithPrevTx)(prevTransaction, vout), value };
|
|
55
58
|
}
|
|
@@ -90,4 +93,4 @@ function mockUnspents(rootWalletKeys, inputScriptTypes, testOutputAmount, networ
|
|
|
90
93
|
throw new Error(`invalid input type ${t}`);
|
|
91
94
|
});
|
|
92
95
|
}
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0dXRpbC9tb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTZCQSxnQ0FrQ0M7QUFLRCw4REFLQztBQUVELGtFQVFDO0FBRUQsOENBb0NDO0FBRUQsb0NBcUJDO0FBaEpELG1DQUFzQztBQUV0QywwQkFBOEI7QUFDOUIsMENBQTREO0FBRTVELG9DQWdCa0I7QUFDbEIsd0NBQThDO0FBQzlDLDBEQUE0RjtBQUU1RixpQ0FBc0Q7QUFJdEQsU0FBZ0IsVUFBVSxDQUN4QixJQUFZLEVBQ1osWUFBb0IsRUFDcEIsS0FBYSxFQUNiLE9BQWdCO0lBRWhCLE1BQU0sZUFBZSxHQUFHLElBQUEsNEJBQW9CLEVBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRTFELE1BQU0sT0FBTyxHQUFHLElBQUEsYUFBTSxFQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDakMsSUFBQSxXQUFNLEVBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNCLE1BQU0sT0FBTyxHQUFHLFlBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDbEMsSUFBSSxDQUFDLFVBQVU7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7SUFFMUYsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQzNDLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ25CLGVBQWUsQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDN0QsQ0FBQzthQUFNLENB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TUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBvayBhcyBhc3NlcnQgfSBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgQklQMzJJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28tYmV0YS9zZWNwMjU2azEnO1xuaW1wb3J0IHsgcGF5bWVudHMgfSBmcm9tICcuLic7XG5pbXBvcnQgeyBnZXRNYWlubmV0LCBOZXR3b3JrLCBuZXR3b3JrcyB9IGZyb20gJy4uL25ldHdvcmtzJztcblxuaW1wb3J0IHtcbiAgQ2hhaW5Db2RlLFxuICB3aXRoVW5zYWZlTm9uU2Vnd2l0LFxuICBjcmVhdGVQc2J0Rm9yTmV0d29yayxcbiAgZnJvbU91dHB1dCxcbiAgZnJvbU91dHB1dFdpdGhQcmV2VHgsXG4gIGdldEV4dGVybmFsQ2hhaW5Db2RlLFxuICBpc1NlZ3dpdCxcbiAgTm9uV2l0bmVzc1dhbGxldFVuc3BlbnQsXG4gIG91dHB1dFNjcmlwdHMsXG4gIFJvb3RXYWxsZXRLZXlzLFxuICBzY3JpcHRUeXBlRm9yQ2hhaW4sXG4gIFVuc3BlbnQsXG4gIFVuc3BlbnRXaXRoUHJldlR4LFxuICBVdHhvVHJhbnNhY3Rpb24sXG4gIFdhbGxldFVuc3BlbnQsXG59IGZyb20gJy4uL2JpdGdvJztcbmltcG9ydCB7IGZyb21PdXRwdXRTY3JpcHQgfSBmcm9tICcuLi9hZGRyZXNzJztcbmltcG9ydCB7IGNyZWF0ZU91dHB1dFNjcmlwdDJvZjMsIGNyZWF0ZU91dHB1dFNjcmlwdFAyc2hQMnBrIH0gZnJvbSAnLi4vYml0Z28vb3V0cHV0U2NyaXB0cyc7XG5cbmltcG9ydCB7IGdldERlZmF1bHRXYWxsZXRLZXlzLCBnZXRLZXkgfSBmcm9tICcuL2tleXMnO1xuXG5leHBvcnQgdHlwZSBJbnB1dFR5cGUgPSBvdXRwdXRTY3JpcHRzLlNjcmlwdFR5cGUyT2YzO1xuXG5leHBvcnQgZnVuY3Rpb24gbW9ja1ByZXZUeChcbiAgdm91dDogbnVtYmVyLFxuICBvdXRwdXRTY3JpcHQ6IEJ1ZmZlcixcbiAgdmFsdWU6IGJpZ2ludCxcbiAgbmV0d29yazogTmV0d29ya1xuKTogVXR4b1RyYW5zYWN0aW9uPGJpZ2ludD4ge1xuICBjb25zdCBwc2J0RnJvbU5ldHdvcmsgPSBjcmVhdGVQc2J0Rm9yTmV0d29yayh7IG5ldHdvcmsgfSk7XG5cbiAgY29uc3Qga2V5cGFpciA9IGdldEtleSgnbW9jay1wcmV2LXR4Jyk7XG4gIGNvbnN0IHB1YmtleSA9IGtleXBhaXIucHVibGljS2V5O1xuICBhc3NlcnQoa2V5cGFpci5wcml2YXRlS2V5KTtcbiAgY29uc3QgcGF5bWVudCA9IHBheW1lbnRzLnAycGtoKHsgcHVia2V5IH0pO1xuICBjb25zdCBkZXN0T3V0cHV0ID0gcGF5bWVudC5vdXRwdXQ7XG4gIGlmICghZGVzdE91dHB1dCkgdGhyb3cgbmV3IEVycm9yKCdJbXBvc3NpYmxlLCBwYXltZW50IHdlIGp1c3QgY29uc3RydWN0ZWQgaGFzIG5vIG91dHB1dCcpO1xuXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPD0gdm91dDsgaW5kZXgrKykge1xuICAgIGlmIChpbmRleCA9PT0gdm91dCkge1xuICAgICAgcHNidEZyb21OZXR3b3JrLmFkZE91dHB1dCh7IHNjcmlwdDogb3V0cHV0U2NyaXB0LCB2YWx1ZSB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcHNidEZyb21OZXR3b3JrLmFkZE91dHB1dCh7IHNjcmlwdDogZGVzdE91dHB1dCwgdmFsdWUgfSk7XG4gICAgfVxuICB9XG4gIHBzYnRGcm9tTmV0d29yay5hZGRJbnB1dCh7XG4gICAgaGFzaDogQnVmZmVyLmFsbG9jKDMyLCAweDAxKSxcbiAgICBpbmRleDogMCxcbiAgICB3aXRuZXNzVXR4bzogeyBzY3JpcHQ6IGRlc3RPdXRwdXQsIHZhbHVlOiB2YWx1ZSAqIChCaWdJbnQodm91dCkgKyBCaWdJbnQoMSkpICsgQmlnSW50KDEwMDApIH0sXG4gIH0pO1xuICAvLyBEb24ndCByZXF1aXJlIHRoZSBwcmV2VHggZm9yIHNpZ25pbmcgYW5kIGZpbmFsaXppbmcgZm9yIG5vbi1zZWd3aXQgaW5wdXRcbiAgd2l0aFVuc2FmZU5vblNlZ3dpdChwc2J0RnJvbU5ldHdvcmssICgpID0+IHtcbiAgICBwc2J0RnJvbU5ldHdvcmsuc2lnbklucHV0KDAsIGtleXBhaXIpO1xuICAgIHBzYnRGcm9tTmV0d29yay52YWxpZGF0ZVNpZ25hdHVyZXNPZkFsbElucHV0cygpO1xuICAgIHBzYnRGcm9tTmV0d29yay5maW5hbGl6ZUFsbElucHV0cygpO1xuICB9KTtcbiAgcmV0dXJuIHBzYnRGcm9tTmV0d29yay5leHRyYWN0VHJhbnNhY3Rpb24oKTtcbn1cblxuZXhwb3J0IGNvbnN0IHJlcGxheVByb3RlY3Rpb25LZXlQYWlyID0gZ2V0S2V5KCdyZXBsYXktcHJvdGVjdGlvbicpO1xuY29uc3QgcmVwbGF5UHJvdGVjdGlvblNjcmlwdFB1YktleSA9IGNyZWF0ZU91dHB1dFNjcmlwdFAyc2hQMnBrKHJlcGxheVByb3RlY3Rpb25LZXlQYWlyLnB1YmxpY0tleSkuc2NyaXB0UHViS2V5O1xuXG5leHBvcnQgZnVuY3Rpb24gaXNSZXBsYXlQcm90ZWN0aW9uVW5zcGVudDxUTnVtYmVyIGV4dGVuZHMgYmlnaW50IHwgbnVtYmVyPihcbiAgdTogVW5zcGVudDxUTnVtYmVyPixcbiAgbmV0d29yazogTmV0d29ya1xuKTogYm9vbGVhbiB7XG4gIHJldHVybiB1LmFkZHJlc3MgPT09IGZyb21PdXRwdXRTY3JpcHQocmVwbGF5UHJvdGVjdGlvblNjcmlwdFB1YktleSwgbmV0d29yayk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrUmVwbGF5UHJvdGVjdGlvblVuc3BlbnQ8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4oXG4gIG5ldHdvcms6IE5ldHdvcmssXG4gIHZhbHVlOiBUTnVtYmVyLFxuICB7IGtleSA9IHJlcGxheVByb3RlY3Rpb25LZXlQYWlyLCB2b3V0ID0gMCB9OiB7IGtleT86IEJJUDMySW50ZXJmYWNlOyB2b3V0PzogbnVtYmVyIH0gPSB7fVxuKTogVW5zcGVudFdpdGhQcmV2VHg8VE51bWJlcj4ge1xuICBjb25zdCBvdXRwdXRTY3JpcHQgPSBjcmVhdGVPdXRwdXRTY3JpcHRQMnNoUDJwayhrZXkucHVibGljS2V5KS5zY3JpcHRQdWJLZXk7XG4gIGNvbnN0IHByZXZUcmFuc2FjdGlvbiA9IG1vY2tQcmV2VHgodm91dCwgb3V0cHV0U2NyaXB0LCBCaWdJbnQodmFsdWUpLCBuZXR3b3JrKTtcbiAgcmV0dXJuIHsgLi4uZnJvbU91dHB1dFdpdGhQcmV2VHgocHJldlRyYW5zYWN0aW9uLCB2b3V0KSwgdmFsdWUgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vY2tXYWxsZXRVbnNwZW50PFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICBuZXR3b3JrOiBOZXR3b3JrLFxuICB2YWx1ZTogVE51bWJlcixcbiAge1xuICAgIGNoYWluID0gMCxcbiAgICBpbmRleCA9IDAsXG4gICAga2V5cyA9IGdldERlZmF1bHRXYWxsZXRLZXlzKCksXG4gICAgdm91dCA9IDAsXG4gICAgaWQsXG4gIH06IHsgY2hhaW4/OiBDaGFpbkNvZGU7IGluZGV4PzogbnVtYmVyOyBrZXlzPzogUm9vdFdhbGxldEtleXM7IHZvdXQ/OiBudW1iZXI7IGlkPzogc3RyaW5nIH0gPSB7fVxuKTogV2FsbGV0VW5zcGVudDxUTnVtYmVyPiB8IE5vbldpdG5lc3NXYWxsZXRVbnNwZW50PFROdW1iZXI+IHtcbiAgY29uc3QgZGVyaXZlZEtleXMgPSBrZXlzLmRlcml2ZUZvckNoYWluQW5kSW5kZXgoY2hhaW4sIGluZGV4KTtcbiAgY29uc3QgYWRkcmVzcyA9IGZyb21PdXRwdXRTY3JpcHQoXG4gICAgY3JlYXRlT3V0cHV0U2NyaXB0Mm9mMyhkZXJpdmVkS2V5cy5wdWJsaWNLZXlzLCBzY3JpcHRUeXBlRm9yQ2hhaW4oY2hhaW4pKS5zY3JpcHRQdWJLZXksXG4gICAgbmV0d29ya1xuICApO1xuICBpZiAoaWQgJiYgdHlwZW9mIGlkID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB7IGlkLCBhZGRyZXNzLCBjaGFpbiwgaW5kZXgsIHZhbHVlIH07XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgcHJldlRyYW5zYWN0aW9uID0gbW9ja1ByZXZUeChcbiAgICAgIHZvdXQsXG4gICAgICBjcmVhdGVPdXRwdXRTY3JpcHQyb2YzKGRlcml2ZWRLZXlzLnB1YmxpY0tleXMsIHNjcmlwdFR5cGVGb3JDaGFpbihjaGFpbiksIG5ldHdvcmspLnNjcmlwdFB1YktleSxcbiAgICAgIEJpZ0ludCh2YWx1ZSksXG4gICAgICBuZXR3b3JrXG4gICAgKTtcbiAgICBjb25zdCB1bnNwZW50ID1cbiAgICAgIGlzU2Vnd2l0KGNoYWluKSB8fCBnZXRNYWlubmV0KG5ldHdvcmspID09PSBuZXR3b3Jrcy56Y2FzaFxuICAgICAgICA/IGZyb21PdXRwdXQocHJldlRyYW5zYWN0aW9uLCB2b3V0KVxuICAgICAgICA6IGZyb21PdXRwdXRXaXRoUHJldlR4KHByZXZUcmFuc2FjdGlvbiwgdm91dCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnVuc3BlbnQsXG4gICAgICBjaGFpbixcbiAgICAgIGluZGV4LFxuICAgICAgdmFsdWUsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9ja1Vuc3BlbnRzPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICByb290V2FsbGV0S2V5czogUm9vdFdhbGxldEtleXMsXG4gIGlucHV0U2NyaXB0VHlwZXM6IChJbnB1dFR5cGUgfCBvdXRwdXRTY3JpcHRzLlNjcmlwdFR5cGVQMnNoUDJwaylbXSxcbiAgdGVzdE91dHB1dEFtb3VudDogVE51bWJlcixcbiAgbmV0d29yazogTmV0d29ya1xuKTogKFVuc3BlbnQ8VE51bWJlcj4gfCBXYWxsZXRVbnNwZW50PFROdW1iZXI+KVtdIHtcbiAgcmV0dXJuIGlucHV0U2NyaXB0VHlwZXMubWFwKCh0LCBpKTogVW5zcGVudDxUTnVtYmVyPiA9PiB7XG4gICAgaWYgKG91dHB1dFNjcmlwdHMuaXNTY3JpcHRUeXBlMk9mMyh0KSkge1xuICAgICAgcmV0dXJuIG1vY2tXYWxsZXRVbnNwZW50KG5ldHdvcmssIHRlc3RPdXRwdXRBbW91bnQsIHtcbiAgICAgICAga2V5czogcm9vdFdhbGxldEtleXMsXG4gICAgICAgIGNoYWluOiBnZXRFeHRlcm5hbENoYWluQ29kZSh0KSxcbiAgICAgICAgdm91dDogaSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAodCA9PT0gb3V0cHV0U2NyaXB0cy5zY3JpcHRUeXBlUDJzaFAycGspIHtcbiAgICAgIHJldHVybiBtb2NrUmVwbGF5UHJvdGVjdGlvblVuc3BlbnQobmV0d29yaywgdGVzdE91dHB1dEFtb3VudCwge1xuICAgICAgICBrZXk6IHJlcGxheVByb3RlY3Rpb25LZXlQYWlyLFxuICAgICAgICB2b3V0OiBpLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCBpbnB1dCB0eXBlICR7dH1gKTtcbiAgfSk7XG59XG4iXX0=
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0dXRpbC9tb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTZCQSxnQ0FrQ0M7QUFLRCw4REFLQztBQUVELGtFQVdDO0FBRUQsOENBb0NDO0FBRUQsb0NBcUJDO0FBbkpELG1DQUFzQztBQUV0QywwQkFBOEI7QUFDOUIsMENBQTREO0FBRTVELG9DQWdCa0I7QUFDbEIsd0NBQThDO0FBQzlDLDBEQUE0RjtBQUU1RixpQ0FBc0Q7QUFJdEQsU0FBZ0IsVUFBVSxDQUN4QixJQUFZLEVBQ1osWUFBb0IsRUFDcEIsS0FBYSxFQUNiLE9BQWdCO0lBRWhCLE1BQU0sZUFBZSxHQUFHLElBQUEsNEJBQW9CLEVBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRTFELE1BQU0sT0FBTyxHQUFHLElBQUEsYUFBTSxFQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDakMsSUFBQSxXQUFNLEVBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNCLE1BQU0sT0FBTyxHQUFHLFlBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDbEMsSUFBSSxDQUFDLFVBQVU7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7SUFFMUYsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQzNDLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ25CLGVBQWUsQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDN0QsQ0FBQzthQUFNLENB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QUFFLGdCQUFnQixFQUFFO2dCQUM1RCxHQUFHLEVBQUUsK0JBQXVCO2dCQUM1QixJQUFJLEVBQUUsQ0FBQzthQUNSLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG9rIGFzIGFzc2VydCB9IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBCSVAzMkludGVyZmFjZSB9IGZyb20gJ0BiaXRnby1iZXRhL3NlY3AyNTZrMSc7XG5pbXBvcnQgeyBwYXltZW50cyB9IGZyb20gJy4uJztcbmltcG9ydCB7IGdldE1haW5uZXQsIE5ldHdvcmssIG5ldHdvcmtzIH0gZnJvbSAnLi4vbmV0d29ya3MnO1xuXG5pbXBvcnQge1xuICBDaGFpbkNvZGUsXG4gIHdpdGhVbnNhZmVOb25TZWd3aXQsXG4gIGNyZWF0ZVBzYnRGb3JOZXR3b3JrLFxuICBmcm9tT3V0cHV0LFxuICBmcm9tT3V0cHV0V2l0aFByZXZUeCxcbiAgZ2V0RXh0ZXJuYWxDaGFpbkNvZGUsXG4gIGlzU2Vnd2l0LFxuICBOb25XaXRuZXNzV2FsbGV0VW5zcGVudCxcbiAgb3V0cHV0U2NyaXB0cyxcbiAgUm9vdFdhbGxldEtleXMsXG4gIHNjcmlwdFR5cGVGb3JDaGFpbixcbiAgVW5zcGVudCxcbiAgVW5zcGVudFdpdGhQcmV2VHgsXG4gIFV0eG9UcmFuc2FjdGlvbixcbiAgV2FsbGV0VW5zcGVudCxcbn0gZnJvbSAnLi4vYml0Z28nO1xuaW1wb3J0IHsgZnJvbU91dHB1dFNjcmlwdCB9IGZyb20gJy4uL2FkZHJlc3MnO1xuaW1wb3J0IHsgY3JlYXRlT3V0cHV0U2NyaXB0Mm9mMywgY3JlYXRlT3V0cHV0U2NyaXB0UDJzaFAycGsgfSBmcm9tICcuLi9iaXRnby9vdXRwdXRTY3JpcHRzJztcblxuaW1wb3J0IHsgZ2V0RGVmYXVsdFdhbGxldEtleXMsIGdldEtleSB9IGZyb20gJy4va2V5cyc7XG5cbmV4cG9ydCB0eXBlIElucHV0VHlwZSA9IG91dHB1dFNjcmlwdHMuU2NyaXB0VHlwZTJPZjM7XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrUHJldlR4KFxuICB2b3V0OiBudW1iZXIsXG4gIG91dHB1dFNjcmlwdDogQnVmZmVyLFxuICB2YWx1ZTogYmlnaW50LFxuICBuZXR3b3JrOiBOZXR3b3JrXG4pOiBVdHhvVHJhbnNhY3Rpb248YmlnaW50PiB7XG4gIGNvbnN0IHBzYnRGcm9tTmV0d29yayA9IGNyZWF0ZVBzYnRGb3JOZXR3b3JrKHsgbmV0d29yayB9KTtcblxuICBjb25zdCBrZXlwYWlyID0gZ2V0S2V5KCdtb2NrLXByZXYtdHgnKTtcbiAgY29uc3QgcHVia2V5ID0ga2V5cGFpci5wdWJsaWNLZXk7XG4gIGFzc2VydChrZXlwYWlyLnByaXZhdGVLZXkpO1xuICBjb25zdCBwYXltZW50ID0gcGF5bWVudHMucDJwa2goeyBwdWJrZXkgfSk7XG4gIGNvbnN0IGRlc3RPdXRwdXQgPSBwYXltZW50Lm91dHB1dDtcbiAgaWYgKCFkZXN0T3V0cHV0KSB0aHJvdyBuZXcgRXJyb3IoJ0ltcG9zc2libGUsIHBheW1lbnQgd2UganVzdCBjb25zdHJ1Y3RlZCBoYXMgbm8gb3V0cHV0Jyk7XG5cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8PSB2b3V0OyBpbmRleCsrKSB7XG4gICAgaWYgKGluZGV4ID09PSB2b3V0KSB7XG4gICAgICBwc2J0RnJvbU5ldHdvcmsuYWRkT3V0cHV0KHsgc2NyaXB0OiBvdXRwdXRTY3JpcHQsIHZhbHVlIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBwc2J0RnJvbU5ldHdvcmsuYWRkT3V0cHV0KHsgc2NyaXB0OiBkZXN0T3V0cHV0LCB2YWx1ZSB9KTtcbiAgICB9XG4gIH1cbiAgcHNidEZyb21OZXR3b3JrLmFkZElucHV0KHtcbiAgICBoYXNoOiBCdWZmZXIuYWxsb2MoMzIsIDB4MDEpLFxuICAgIGluZGV4OiAwLFxuICAgIHdpdG5lc3NVdHhvOiB7IHNjcmlwdDogZGVzdE91dHB1dCwgdmFsdWU6IHZhbHVlICogKEJpZ0ludCh2b3V0KSArIEJpZ0ludCgxKSkgKyBCaWdJbnQoMTAwMCkgfSxcbiAgfSk7XG4gIC8vIERvbid0IHJlcXVpcmUgdGhlIHByZXZUeCBmb3Igc2lnbmluZyBhbmQgZmluYWxpemluZyBmb3Igbm9uLXNlZ3dpdCBpbnB1dFxuICB3aXRoVW5zYWZlTm9uU2Vnd2l0KHBzYnRGcm9tTmV0d29yaywgKCkgPT4ge1xuICAgIHBzYnRGcm9tTmV0d29yay5zaWduSW5wdXQoMCwga2V5cGFpcik7XG4gICAgcHNidEZyb21OZXR3b3JrLnZhbGlkYXRlU2lnbmF0dXJlc09mQWxsSW5wdXRzKCk7XG4gICAgcHNidEZyb21OZXR3b3JrLmZpbmFsaXplQWxsSW5wdXRzKCk7XG4gIH0pO1xuICByZXR1cm4gcHNidEZyb21OZXR3b3JrLmV4dHJhY3RUcmFuc2FjdGlvbigpO1xufVxuXG5leHBvcnQgY29uc3QgcmVwbGF5UHJvdGVjdGlvbktleVBhaXIgPSBnZXRLZXkoJ3JlcGxheS1wcm90ZWN0aW9uJyk7XG5jb25zdCByZXBsYXlQcm90ZWN0aW9uU2NyaXB0UHViS2V5ID0gY3JlYXRlT3V0cHV0U2NyaXB0UDJzaFAycGsocmVwbGF5UHJvdGVjdGlvbktleVBhaXIucHVibGljS2V5KS5zY3JpcHRQdWJLZXk7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1JlcGxheVByb3RlY3Rpb25VbnNwZW50PFROdW1iZXIgZXh0ZW5kcyBiaWdpbnQgfCBudW1iZXI+KFxuICB1OiBVbnNwZW50PFROdW1iZXI+LFxuICBuZXR3b3JrOiBOZXR3b3JrXG4pOiBib29sZWFuIHtcbiAgcmV0dXJuIHUuYWRkcmVzcyA9PT0gZnJvbU91dHB1dFNjcmlwdChyZXBsYXlQcm90ZWN0aW9uU2NyaXB0UHViS2V5LCBuZXR3b3JrKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vY2tSZXBsYXlQcm90ZWN0aW9uVW5zcGVudDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50PihcbiAgbmV0d29yazogTmV0d29yayxcbiAgdmFsdWU6IFROdW1iZXIsXG4gIHsga2V5ID0gcmVwbGF5UHJvdGVjdGlvbktleVBhaXIsIHZvdXQgPSAwIH06IHsga2V5PzogQklQMzJJbnRlcmZhY2UgfCBCdWZmZXI7IHZvdXQ/OiBudW1iZXIgfSA9IHt9XG4pOiBVbnNwZW50V2l0aFByZXZUeDxUTnVtYmVyPiB7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGtleSkpIHtcbiAgICBrZXkgPSBrZXkucHVibGljS2V5O1xuICB9XG4gIGNvbnN0IG91dHB1dFNjcmlwdCA9IGNyZWF0ZU91dHB1dFNjcmlwdFAyc2hQMnBrKGtleSkuc2NyaXB0UHViS2V5O1xuICBjb25zdCBwcmV2VHJhbnNhY3Rpb24gPSBtb2NrUHJldlR4KHZvdXQsIG91dHB1dFNjcmlwdCwgQmlnSW50KHZhbHVlKSwgbmV0d29yayk7XG4gIHJldHVybiB7IC4uLmZyb21PdXRwdXRXaXRoUHJldlR4KHByZXZUcmFuc2FjdGlvbiwgdm91dCksIHZhbHVlIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrV2FsbGV0VW5zcGVudDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50PihcbiAgbmV0d29yazogTmV0d29yayxcbiAgdmFsdWU6IFROdW1iZXIsXG4gIHtcbiAgICBjaGFpbiA9IDAsXG4gICAgaW5kZXggPSAwLFxuICAgIGtleXMgPSBnZXREZWZhdWx0V2FsbGV0S2V5cygpLFxuICAgIHZvdXQgPSAwLFxuICAgIGlkLFxuICB9OiB7IGNoYWluPzogQ2hhaW5Db2RlOyBpbmRleD86IG51bWJlcjsga2V5cz86IFJvb3RXYWxsZXRLZXlzOyB2b3V0PzogbnVtYmVyOyBpZD86IHN0cmluZyB9ID0ge31cbik6IFdhbGxldFVuc3BlbnQ8VE51bWJlcj4gfCBOb25XaXRuZXNzV2FsbGV0VW5zcGVudDxUTnVtYmVyPiB7XG4gIGNvbnN0IGRlcml2ZWRLZXlzID0ga2V5cy5kZXJpdmVGb3JDaGFpbkFuZEluZGV4KGNoYWluLCBpbmRleCk7XG4gIGNvbnN0IGFkZHJlc3MgPSBmcm9tT3V0cHV0U2NyaXB0KFxuICAgIGNyZWF0ZU91dHB1dFNjcmlwdDJvZjMoZGVyaXZlZEtleXMucHVibGljS2V5cywgc2NyaXB0VHlwZUZvckNoYWluKGNoYWluKSkuc2NyaXB0UHViS2V5LFxuICAgIG5ldHdvcmtcbiAgKTtcbiAgaWYgKGlkICYmIHR5cGVvZiBpZCA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4geyBpZCwgYWRkcmVzcywgY2hhaW4sIGluZGV4LCB2YWx1ZSB9O1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHByZXZUcmFuc2FjdGlvbiA9IG1vY2tQcmV2VHgoXG4gICAgICB2b3V0LFxuICAgICAgY3JlYXRlT3V0cHV0U2NyaXB0Mm9mMyhkZXJpdmVkS2V5cy5wdWJsaWNLZXlzLCBzY3JpcHRUeXBlRm9yQ2hhaW4oY2hhaW4pLCBuZXR3b3JrKS5zY3JpcHRQdWJLZXksXG4gICAgICBCaWdJbnQodmFsdWUpLFxuICAgICAgbmV0d29ya1xuICAgICk7XG4gICAgY29uc3QgdW5zcGVudCA9XG4gICAgICBpc1NlZ3dpdChjaGFpbikgfHwgZ2V0TWFpbm5ldChuZXR3b3JrKSA9PT0gbmV0d29ya3MuemNhc2hcbiAgICAgICAgPyBmcm9tT3V0cHV0KHByZXZUcmFuc2FjdGlvbiwgdm91dClcbiAgICAgICAgOiBmcm9tT3V0cHV0V2l0aFByZXZUeChwcmV2VHJhbnNhY3Rpb24sIHZvdXQpO1xuICAgIHJldHVybiB7XG4gICAgICAuLi51bnNwZW50LFxuICAgICAgY2hhaW4sXG4gICAgICBpbmRleCxcbiAgICAgIHZhbHVlLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vY2tVbnNwZW50czxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50PihcbiAgcm9vdFdhbGxldEtleXM6IFJvb3RXYWxsZXRLZXlzLFxuICBpbnB1dFNjcmlwdFR5cGVzOiAoSW5wdXRUeXBlIHwgb3V0cHV0U2NyaXB0cy5TY3JpcHRUeXBlUDJzaFAycGspW10sXG4gIHRlc3RPdXRwdXRBbW91bnQ6IFROdW1iZXIsXG4gIG5ldHdvcms6IE5ldHdvcmtcbik6IChVbnNwZW50PFROdW1iZXI+IHwgV2FsbGV0VW5zcGVudDxUTnVtYmVyPilbXSB7XG4gIHJldHVybiBpbnB1dFNjcmlwdFR5cGVzLm1hcCgodCwgaSk6IFVuc3BlbnQ8VE51bWJlcj4gPT4ge1xuICAgIGlmIChvdXRwdXRTY3JpcHRzLmlzU2NyaXB0VHlwZTJPZjModCkpIHtcbiAgICAgIHJldHVybiBtb2NrV2FsbGV0VW5zcGVudChuZXR3b3JrLCB0ZXN0T3V0cHV0QW1vdW50LCB7XG4gICAgICAgIGtleXM6IHJvb3RXYWxsZXRLZXlzLFxuICAgICAgICBjaGFpbjogZ2V0RXh0ZXJuYWxDaGFpbkNvZGUodCksXG4gICAgICAgIHZvdXQ6IGksXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHQgPT09IG91dHB1dFNjcmlwdHMuc2NyaXB0VHlwZVAyc2hQMnBrKSB7XG4gICAgICByZXR1cm4gbW9ja1JlcGxheVByb3RlY3Rpb25VbnNwZW50KG5ldHdvcmssIHRlc3RPdXRwdXRBbW91bnQsIHtcbiAgICAgICAga2V5OiByZXBsYXlQcm90ZWN0aW9uS2V5UGFpcixcbiAgICAgICAgdm91dDogaSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgaW5wdXQgdHlwZSAke3R9YCk7XG4gIH0pO1xufVxuIl19
|
|
@@ -47,7 +47,9 @@ export declare const outputScriptTypes: readonly ["p2sh", "p2shP2wsh", "p2wsh",
|
|
|
47
47
|
/**
|
|
48
48
|
* create unspent object from input script type, index, network and root wallet key.
|
|
49
49
|
*/
|
|
50
|
-
export declare function toUnspent(input: Input, index: number, network: Network, rootWalletKeys: RootWalletKeys
|
|
50
|
+
export declare function toUnspent(input: Input, index: number, network: Network, rootWalletKeys: RootWalletKeys, { p2shP2pkKey }?: {
|
|
51
|
+
p2shP2pkKey?: Buffer;
|
|
52
|
+
}): Unspent<bigint>;
|
|
51
53
|
/**
|
|
52
54
|
* returns signer and cosigner names for InputScriptType.
|
|
53
55
|
* user and undefined as signer and cosigner respectively for p2shP2pk.
|
|
@@ -86,6 +88,7 @@ export declare function signAllPsbtInputs(psbt: UtxoPsbt, inputs: Input[], rootW
|
|
|
86
88
|
* construct psbt for given inputs, outputs, network and root wallet keys.
|
|
87
89
|
*/
|
|
88
90
|
export declare function constructPsbt(inputs: Input[], outputs: Output[], network: Network, rootWalletKeys: RootWalletKeys, signStage: SignStage, params?: {
|
|
91
|
+
p2shP2pkKey?: Buffer;
|
|
89
92
|
signers?: {
|
|
90
93
|
signerName: KeyName;
|
|
91
94
|
cosignerName?: KeyName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"psbt.d.ts","sourceRoot":"","sources":["../../../src/testutil/psbt.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,UAAU,EACV,cAAc,EAGf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EASL,OAAO,EAEP,cAAc,EAEd,OAAO,EACP,QAAQ,EACR,eAAe,EAIhB,MAAM,UAAU,CAAC;AAClB,OAAO,EAA6C,OAAO,EAAY,MAAM,aAAa,CAAC;AAK3F;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,qBAAqB,CAAC;AACjE,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,EAAE,eAAe,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,UAAU,mDAAoD,CAAC;AAC5E,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpD;;GAEG;AAEH,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IAEd,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAG5B,UAAU,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CACpC,GAAG,CAAC;IAAE,UAAU,EAAE,gBAAgB,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEzG;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,kGAA2E,CAAC;AAEzG;;GAEG;AACH,eAAO,MAAM,iBAAiB,+DAAkB,CAAC;AAEjD;;GAEG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"psbt.d.ts","sourceRoot":"","sources":["../../../src/testutil/psbt.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,9 +29,12 @@ exports.outputScriptTypes = outputScripts_1.scriptTypes2Of3;
|
|
|
29
29
|
/**
|
|
30
30
|
* create unspent object from input script type, index, network and root wallet key.
|
|
31
31
|
*/
|
|
32
|
-
function toUnspent(input, index, network, rootWalletKeys) {
|
|
32
|
+
function toUnspent(input, index, network, rootWalletKeys, { p2shP2pkKey } = {}) {
|
|
33
33
|
if (input.scriptType === 'p2shP2pk') {
|
|
34
|
-
return (0, mock_1.mockReplayProtectionUnspent)(network, input.value, {
|
|
34
|
+
return (0, mock_1.mockReplayProtectionUnspent)(network, input.value, {
|
|
35
|
+
key: p2shP2pkKey ?? rootWalletKeys['user'],
|
|
36
|
+
vout: index,
|
|
37
|
+
});
|
|
35
38
|
}
|
|
36
39
|
else {
|
|
37
40
|
const chain = (0, bitgo_1.getInternalChainCode)(input.scriptType === 'taprootKeyPathSpend' ? 'p2trMusig2' : input.scriptType);
|
|
@@ -96,14 +99,14 @@ function constructPsbt(inputs, outputs, network, rootWalletKeys, signStage, para
|
|
|
96
99
|
if (params?.addGlobalXPubs) {
|
|
97
100
|
(0, bitgo_1.addXpubsToPsbt)(psbt, rootWalletKeys);
|
|
98
101
|
}
|
|
99
|
-
const unspents = inputs.map((input, i) => toUnspent(input, i, network, rootWalletKeys));
|
|
102
|
+
const unspents = inputs.map((input, i) => toUnspent(input, i, network, rootWalletKeys, { p2shP2pkKey: params?.p2shP2pkKey }));
|
|
100
103
|
unspents.forEach((u, i) => {
|
|
101
104
|
const { signerName, cosignerName } = signers ? signers : getSigners(inputs[i].scriptType);
|
|
102
105
|
if ((0, bitgo_1.isWalletUnspent)(u) && cosignerName) {
|
|
103
106
|
(0, bitgo_1.addWalletUnspentToPsbt)(psbt, u, rootWalletKeys, signerName, cosignerName, { skipNonWitnessUtxo });
|
|
104
107
|
}
|
|
105
108
|
else {
|
|
106
|
-
const { redeemScript } = (0, outputScripts_1.createOutputScriptP2shP2pk)(rootWalletKeys.user.publicKey);
|
|
109
|
+
const { redeemScript } = (0, outputScripts_1.createOutputScriptP2shP2pk)(params?.p2shP2pkKey ?? rootWalletKeys.user.publicKey);
|
|
107
110
|
(0, assert_1.ok)(redeemScript);
|
|
108
111
|
(0, bitgo_1.addReplayProtectionUnspentToPsbt)(psbt, u, redeemScript, { skipNonWitnessUtxo });
|
|
109
112
|
}
|
|
@@ -242,4 +245,4 @@ function verifyFullySignedSignatures(tx, unspents, walletKeys, signer, cosigner)
|
|
|
242
245
|
}
|
|
243
246
|
});
|
|
244
247
|
}
|
|
245
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHNidC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0dXRpbC9wc2J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQW9GQSw4QkFpQkM7QUFRRCxnQ0FLQztBQU1ELHNDQXlCQztBQU1ELDhDQWdCQztBQUtELHNDQW1GQztBQTJIRCxrRUF1QkM7QUFqWkQsOENBQThDO0FBQzlDLG1DQUFzQztBQUV0QywwREFPZ0M7QUFDaEMsb0NBbUJrQjtBQUNsQiwwQ0FBMkY7QUFDM0YsaUNBQXdFO0FBQ3hFLHdDQUE0QztBQUM1QyxpQ0FBb0U7QUFtQnZELFFBQUEsVUFBVSxHQUFHLENBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxZQUFZLENBQVUsQ0FBQztBQWdCNUU7Ozs7R0FJRztBQUNVLFFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxHQUFHLCtCQUFlLEVBQUUscUJBQXFCLEVBQUUsa0NBQWtCLENBQVUsQ0FBQztBQUV6Rzs7R0FFRztBQUNVLFFBQUEsaUJBQWlCLEdBQUcsK0JBQWUsQ0FBQztBQUVqRDs7R0FFRztBQUNILFNBQWdCLFNBQVMsQ0FDdkIsS0FBWSxFQUNaLEtBQWEsRUFDYixPQUFnQixFQUNoQixjQUE4QjtJQUU5QixJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDcEMsT0FBTyxJQUFBLGtDQUEyQixFQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN6RyxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sS0FBSyxHQUFHLElBQUEsNEJBQW9CLEVBQUMsS0FBSyxDQUFDLFVBQVUsS0FBSyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakgsT0FBTyxJQUFBLHdCQUFp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TSxJQUFJLFFBQVEsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxPQUFPLElBQUksUUFBUSxLQUFLLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQy9GLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QyxDQUFDO2lCQUFNLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxRQUFRLElBQUksUUFBUSxLQUFLLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3hHLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYml0Y29pbmpzbGliIGZyb20gJ2JpdGNvaW5qcy1saWInO1xuaW1wb3J0IHsgb2sgYXMgYXNzZXJ0IH0gZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHtcbiAgY3JlYXRlT3V0cHV0U2NyaXB0UDJzaFAycGssXG4gIGlzU3VwcG9ydGVkU2NyaXB0VHlwZSxcbiAgU2NyaXB0VHlwZSxcbiAgU2NyaXB0VHlwZTJPZjMsXG4gIHNjcmlwdFR5cGVQMnNoUDJwayxcbiAgc2NyaXB0VHlwZXMyT2YzLFxufSBmcm9tICcuLi9iaXRnby9vdXRwdXRTY3JpcHRzJztcbmltcG9ydCB7XG4gIGFkZFJlcGxheVByb3RlY3Rpb25VbnNwZW50VG9Qc2J0LFxuICBhZGRXYWxsZXRPdXRwdXRUb1BzYnQsXG4gIGFkZFdhbGxldFVuc3BlbnRUb1BzYnQsXG4gIGNyZWF0ZVBzYnRGb3JOZXR3b3JrLFxuICBnZXRFeHRlcm5hbENoYWluQ29kZSxcbiAgZ2V0SW50ZXJuYWxDaGFpbkNvZGUsXG4gIGdldFNpZ25hdHVyZVZlcmlmaWNhdGlvbnMsXG4gIGlzV2FsbGV0VW5zcGVudCxcbiAgS2V5TmFtZSxcbiAgcGFyc2VTaWduYXR1cmVTY3JpcHQyT2YzLFxuICBSb290V2FsbGV0S2V5cyxcbiAgdG9PdXRwdXQsXG4gIFVuc3BlbnQsXG4gIFV0eG9Qc2J0LFxuICBVdHhvVHJhbnNhY3Rpb24sXG4gIHZlcmlmeVNpZ25hdHVyZVdpdGhVbnNwZW50LFxuICBhZGRYcHVic1RvUHNidCxcbiAgY2xvbmVQc2J0V2l0aG91dE5vbldpdG5lc3NVdHhvLFxufSBmcm9tICcuLi9iaXRnbyc7XG5pbXBvcnQgeyBnZXROZXR3b3JrTGlzdCwgZ2V0TmV0d29ya05hbWUsIGlzTWFpbm5ldCwgTmV0d29yaywgbmV0d29ya3MgfSBmcm9tICcuLi9uZXR3b3Jrcyc7XG5pbXBvcnQgeyBtb2NrUmVwbGF5UHJvdGVjdGlvblVuc3BlbnQsIG1vY2tXYWxsZXRVbnNwZW50IH0gZnJvbSAnLi9tb2NrJztcbmltcG9ydCB7IHRvT3V0cHV0U2NyaXB0IH0gZnJvbSAnLi4vYWRkcmVzcyc7XG5pbXBvcnQgeyBnZXREZWZhdWx0V2FsbGV0S2V5cywgZ2V0V2FsbGV0S2V5c0ZvclNlZWQgfSBmcm9tICcuL2tleXMnO1xuXG4vKipcbiAqIFRoaXMgaXMgYSBiaXQgb2YgYSBtaXNub21lciwgYXMgaXQgYWN0dWFsbHkgc3BlY2lmaWVzIHRoZSBzcGVuZCB0eXBlIG9mIHRoZSBpbnB1dC5cbiAqIFRoaXMgbWFrZXMgYSBkaWZmZXJlbmNlIGZvciBwMnRyTXVzaWcyIGlucHV0cywgYXMgdGhleSBjYW4gYmUgc3BlbnQgZWl0aGVyIGJ5IGtleSBwYXRoIG9yIHNjcmlwdCBwYXRoLlxuICogVGhlIHZhbHVlIHAydHJNdXNpZzIgaXMgdXNlZCBmb3IgcDJ0ck11c2lnMiBzY3JpcHQgcGF0aC5cbiAqIFRoZSB2YWx1ZSB0YXByb290S2V5UGF0aFNwZW5kIGlzIHVzZWQgZm9yIHAydHJNdXNpZzIga2V5IHBhdGguXG4gKi9cbmV4cG9ydCB0eXBlIElucHV0U2NyaXB0VHlwZSA9IFNjcmlwdFR5cGUgfCAndGFwcm9vdEtleVBhdGhTcGVuZCc7XG5leHBvcnQgdHlwZSBPdXRwdXRTY3JpcHRUeXBlID0gU2NyaXB0VHlwZTJPZjM7XG5cbi8qKlxuICogaW5wdXQgc2NyaXB0IHR5cGUgYW5kIHZhbHVlXG4gKi9cbmV4cG9ydCB0eXBlIElucHV0ID0ge1xuICBzY3JpcHRUeXBlOiBJbnB1dFNjcmlwdFR5cGU7XG4gIHZhbHVlOiBiaWdpbnQ7XG59O1xuXG5leHBvcnQgY29uc3Qgc2lnblN0YWdlcyA9IFsndW5zaWduZWQnLCAnaGFsZnNpZ25lZCcsICdmdWxsc2lnbmVkJ10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBTaWduU3RhZ2UgPSAodHlwZW9mIHNpZ25TdGFnZXMpW251bWJlcl07XG5cbi8qKlxuICogU2V0IGlzSW50ZXJuYWxBZGRyZXNzPXRydWUgZm9yIGludGVybmFsIG91dHB1dCBhZGRyZXNzXG4gKi9cbi8vIE1ha2Ugc2NyaXB0OiBzdHJpbmcgYXMgaW5zdGVhZCBvZiBzY3JpcHRUeXBlIG9yIGFkZHJlc3NcbmV4cG9ydCB0eXBlIE91dHB1dCA9IHtcbiAgdmFsdWU6IGJpZ2ludDtcbiAgLy8gRGV0ZXJtaW5lcyBjaGFpbiBjb2RlIGZvciB0aGUgb3V0cHV0XG4gIGlzSW50ZXJuYWxBZGRyZXNzPzogYm9vbGVhbjtcbiAgLy8gRGV0ZXJtaW5lcyB0aGUgd2FsbGV0IGtleXMgdG8gdXNlIGZvciB0aGUgb3V0cHV0LiBCeSBkZWZhdWx0IHVzZSByb290IHdhbGxldCBrZXlzIHVzZWQgZm9yIHRoZSBpbnB1dHMuXG4gIC8vIFdoZW4gc2V0IHRvIG51bGwsIG9taXRzIHRoZSBkZXJpdmF0aW9uIGluZm8gYW5kIGVmZmVjdGl2ZWx5IG1ha2VzIHRoZSBvdXRwdXQgbm9uLXdhbGxldCBvdXRwdXQuXG4gIHdhbGxldEtleXM/OiBSb290V2FsbGV0S2V5cyB8IG51bGw7XG59ICYgKHsgc2NyaXB0VHlwZTogT3V0cHV0U2NyaXB0VHlwZSB9IHwgeyBhZGRyZXNzOiBzdHJpbmcgfSB8IHsgc2NyaXB0OiBzdHJpbmcgfSB8IHsgb3BSZXR1cm46IHN0cmluZyB9KTtcblxuLyoqXG4gKiBhcnJheSBvZiBzdXBwb3J0ZWQgaW5wdXQgc2NyaXB0IHR5cGVzLlxuICogdXNlIHAydHJNdXNpZzIgZm9yIHAydHJNdXNpZzIgc2NyaXB0IHBhdGguXG4gKiB1c2UgdGFwcm9vdEtleVBhdGhTcGVuZCBmb3IgcDJ0ck11c2lnMiBrZXkgcGF0aC5cbiAqL1xuZXhwb3J0IGNvbnN0IGlucHV0U2NyaXB0VHlwZXMgPSBbLi4uc2NyaXB0VHlwZXMyT2YzLCAndGFwcm9vdEtleVBhdGhTcGVuZCcsIHNjcmlwdFR5cGVQMnNoUDJwa10gYXMgY29uc3Q7XG5cbi8qKlxuICogYXJyYXkgb2Ygc3VwcG9ydGVkIG91dHB1dCBzY3JpcHQgdHlwZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBvdXRwdXRTY3JpcHRUeXBlcyA9IHNjcmlwdFR5cGVzMk9mMztcblxuLyoqXG4gKiBjcmVhdGUgdW5zcGVudCBvYmplY3QgZnJvbSBpbnB1dCBzY3JpcHQgdHlwZSwgaW5kZXgsIG5ldHdvcmsgYW5kIHJvb3Qgd2FsbGV0IGtleS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvVW5zcGVudChcbiAgaW5wdXQ6IElucHV0LFxuICBpbmRleDogbnVtYmVyLFxuICBuZXR3b3JrOiBOZXR3b3JrLFxuICByb290V2FsbGV0S2V5czogUm9vdFdhbGxldEtleXNcbik6IFVuc3BlbnQ8YmlnaW50PiB7XG4gIGlmIChpbnB1dC5zY3JpcHRUeXBlID09PSAncDJzaFAycGsnKSB7XG4gICAgcmV0dXJuIG1vY2tSZXBsYXlQcm90ZWN0aW9uVW5zcGVudChuZXR3b3JrLCBpbnB1dC52YWx1ZSwgeyBrZXk6IHJvb3RXYWxsZXRLZXlzWyd1c2VyJ10sIHZvdXQ6IGluZGV4IH0pO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGNoYWluID0gZ2V0SW50ZXJuYWxDaGFpbkNvZGUoaW5wdXQuc2NyaXB0VHlwZSA9PT0gJ3RhcHJvb3RLZXlQYXRoU3BlbmQnID8gJ3AydHJNdXNpZzInIDogaW5wdXQuc2NyaXB0VHlwZSk7XG4gICAgcmV0dXJuIG1vY2tXYWxsZXRVbnNwZW50KG5ldHdvcmssIGlucHV0LnZhbHVlLCB7XG4gICAgICBjaGFpbixcbiAgICAgIHZvdXQ6IGluZGV4LFxuICAgICAga2V5czogcm9vdFdhbGxldEtleXMsXG4gICAgICBpbmRleCxcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIHJldHVybnMgc2lnbmVyIGFuZCBjb3NpZ25lciBuYW1lcyBmb3IgSW5wdXRTY3JpcHRUeXBlLlxuICogdXNlciBhbmQgdW5kZWZpbmVkIGFzIHNpZ25lciBhbmQgY29zaWduZXIgcmVzcGVjdGl2ZWx5IGZvciBwMnNoUDJway5cbiAqIHVzZXIgYW5kIGJhY2t1cCBhcyBzaWduZXIgYW5kIGNvc2lnbmVyIHJlc3BlY3RpdmVseSBmb3IgcDJ0ck11c2lnMi5cbiAqIHVzZXIgYW5kIGJpdGdvIGFzIHNpZ25lciBhbmQgY29zaWduZXIgcmVzcGVjdGl2ZWx5IGZvciBvdGhlciBpbnB1dCBzY3JpcHQgdHlwZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTaWduZXJzKGlucHV0VHlwZTogSW5wdXRTY3JpcHRUeXBlKTogeyBzaWduZXJOYW1lOiBLZXlOYW1lOyBjb3NpZ25lck5hbWU/OiBLZXlOYW1lIH0ge1xuICByZXR1cm4ge1xuICAgIHNpZ25lck5hbWU6ICd1c2VyJyxcbiAgICBjb3NpZ25lck5hbWU6IGlucHV0VHlwZSA9PT0gJ3Ayc2hQMnBrJyA/IHVuZGVmaW5lZCA6IGlucHV0VHlwZSA9PT0gJ3AydHJNdXNpZzInID8gJ2JhY2t1cCcgOiAnYml0Z28nLFxuICB9O1xufVxuXG4vKipcbiAqIHNpZ25zIHdpdGggZmlyc3Qgb3Igc2Vjb25kIHNpZ25hdHVyZSBmb3Igc2luZ2xlIGlucHV0LlxuICogcDJzaFAycGsgaXMgc2lnbmVkIG9ubHkgd2l0aCBmaXJzdCBzaWduLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2lnblBzYnRJbnB1dChcbiAgcHNidDogVXR4b1BzYnQsXG4gIGlucHV0OiBJbnB1dCxcbiAgaW5wdXRJbmRleDogbnVtYmVyLFxuICByb290V2FsbGV0S2V5czogUm9vdFdhbGxldEtleXMsXG4gIHNpZ246ICdoYWxmc2lnbmVkJyB8ICdmdWxsc2lnbmVkJyxcbiAgcGFyYW1zPzoge1xuICAgIHNpZ25lcnM/OiB7IHNpZ25lck5hbWU6IEtleU5hbWU7IGNvc2lnbmVyTmFtZT86IEtleU5hbWUgfTtcbiAgICBkZXRlcm1pbmlzdGljPzogYm9vbGVhbjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkga2VlcCB0aGlzIGhlcmUuXG4gICAgc2tpcE5vbldpdG5lc3NVdHhvPzogYm9vbGVhbjtcbiAgfVxuKTogdm9pZCB7XG4gIGNvbnN0IHsgc2lnbmVycywgZGV0ZXJtaW5pc3RpYyB9ID0gcGFyYW1zID8/IHt9O1xuICBjb25zdCB7IHNpZ25lck5hbWUsIGNvc2lnbmVyTmFtZSB9ID0gc2lnbmVycyA/IHNpZ25lcnMgOiBnZXRTaWduZXJzKGlucHV0LnNjcmlwdFR5cGUpO1xuICBpZiAoc2lnbiA9PT0gJ2hhbGZzaWduZWQnKSB7XG4gICAgaWYgKGlucHV0LnNjcmlwdFR5cGUgPT09ICdwMnNoUDJwaycpIHtcbiAgICAgIHBzYnQuc2lnbklucHV0KGlucHV0SW5kZXgsIHJvb3RXYWxsZXRLZXlzW3NpZ25lck5hbWVdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcHNidC5zaWduSW5wdXRIRChpbnB1dEluZGV4LCByb290V2FsbGV0S2V5c1tzaWduZXJOYW1lXSk7XG4gICAgfVxuICB9XG4gIGlmIChzaWduID09PSAnZnVsbHNpZ25lZCcgJiYgY29zaWduZXJOYW1lICYmIGlucHV0LnNjcmlwdFR5cGUgIT09ICdwMnNoUDJwaycpIHtcbiAgICBwc2J0LnNpZ25JbnB1dEhEKGlucHV0SW5kZXgsIHJvb3RXYWxsZXRLZXlzW2Nvc2lnbmVyTmFtZV0sIHsgZGV0ZXJtaW5pc3RpYyB9KTtcbiAgfVxufVxuXG4vKipcbiAqIHNpZ25zIHdpdGggZmlyc3Qgb3Igc2Vjb25kIHNpZ25hdHVyZSBmb3IgYWxsIGlucHV0cy5cbiAqIHAyc2hQMnBrIGlzIHNpZ25lZCBvbmx5IHdpdGggZmlyc3Qgc2lnbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNpZ25BbGxQc2J0SW5wdXRzKFxuICBwc2J0OiBVdHhvUHNidCxcbiAgaW5wdXRzOiBJbnB1dFtdLFxuICByb290V2FsbGV0S2V5czogUm9vdFdhbGxldEtleXMsXG4gIHNpZ246ICdoYWxmc2lnbmVkJyB8ICdmdWxsc2lnbmVkJyxcbiAgcGFyYW1zPzoge1xuICAgIHNpZ25lcnM/OiB7IHNpZ25lck5hbWU6IEtleU5hbWU7IGNvc2lnbmVyTmFtZT86IEtleU5hbWUgfTtcbiAgICBkZXRlcm1pbmlzdGljPzogYm9vbGVhbjtcbiAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkga2VlcCB0aGlzIGhlcmUuXG4gICAgc2tpcE5vbldpdG5lc3NVdHhvPzogYm9vbGVhbjtcbiAgfVxuKTogdm9pZCB7XG4gIGNvbnN0IHsgc2lnbmVycywgZGV0ZXJtaW5pc3RpYyB9ID0gcGFyYW1zID8/IHt9O1xuICBpbnB1dHMuZm9yRWFjaCgoaW5wdXQsIGlucHV0SW5kZXgpID0+IHtcbiAgICBzaWduUHNidElucHV0KHBzYnQsIGlucHV0LCBpbnB1dEluZGV4LCByb290V2FsbGV0S2V5cywgc2lnbiwgeyBzaWduZXJzLCBkZXRlcm1pbmlzdGljIH0pO1xuICB9KTtcbn1cblxuLyoqXG4gKiBjb25zdHJ1Y3QgcHNidCBmb3IgZ2l2ZW4gaW5wdXRzLCBvdXRwdXRzLCBuZXR3b3JrIGFuZCByb290IHdhbGxldCBrZXlzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0UHNidChcbiAgaW5wdXRzOiBJbnB1dFtdLFxuICBvdXRwdXRzOiBPdXRwdXRbXSxcbiAgbmV0d29yazogTmV0d29yayxcbiAgcm9vdFdhbGxldEtleXM6IFJvb3RXYWxsZXRLZXlzLFxuICBzaWduU3RhZ2U6IFNpZ25TdGFnZSxcbiAgcGFyYW1zPzoge1xuICAgIHNpZ25lcnM/OiB7IHNpZ25lck5hbWU6IEtleU5hbWU7IGNvc2lnbmVyTmFtZT86IEtleU5hbWUgfTtcbiAgICBkZXRlcm1pbmlzdGljPzogYm9vbGVhbjtcbiAgICBza2lwTm9uV2l0bmVzc1V0eG8/OiBib29sZWFuO1xuICAgIGFkZEdsb2JhbFhQdWJzPzogYm9vbGVhbjtcbiAgfVxuKTogVXR4b1BzYnQge1xuICBjb25zdCB7IHNpZ25lcnMsIGRldGVybWluaXN0aWMsIHNraXBOb25XaXRuZXNzVXR4byB9ID0gcGFyYW1zID8/IHt9O1xuICBjb25zdCB0b3RhbElucHV0QW1vdW50ID0gaW5wdXRzLnJlZHVjZSgoc3VtLCBpbnB1dCkgPT4gc3VtICsgaW5wdXQudmFsdWUsIEJpZ0ludCgwKSk7XG4gIGNvbnN0IG91dHB1dElucHV0QW1vdW50ID0gb3V0cHV0cy5yZWR1Y2UoKHN1bSwgb3V0cHV0KSA9PiBzdW0gKyBvdXRwdXQudmFsdWUsIEJpZ0ludCgwKSk7XG4gIGFzc2VydCh0b3RhbElucHV0QW1vdW50ID49IG91dHB1dElucHV0QW1vdW50LCAndG90YWwgb3V0cHV0IGNhbiBub3QgZXhjZWVkIHRvdGFsIGlucHV0Jyk7XG5cbiAgY29uc3QgcHNidCA9IGNyZWF0ZVBzYnRGb3JOZXR3b3JrKHsgbmV0d29yayB9KTtcblxuICBpZiAocGFyYW1zPy5hZGRHbG9iYWxYUHVicykge1xuICAgIGFkZFhwdWJzVG9Qc2J0KHBzYnQsIHJvb3RXYWxsZXRLZXlzKTtcbiAgfVxuXG4gIGNvbnN0IHVuc3BlbnRzID0gaW5wdXRzLm1hcCgoaW5wdXQsIGkpID0+IHRvVW5zcGVudChpbnB1dCwgaSwgbmV0d29yaywgcm9vdFdhbGxldEtleXMpKTtcblxuICB1bnNwZW50cy5mb3JFYWNoKCh1LCBpKSA9PiB7XG4gICAgY29uc3QgeyBzaWduZXJOYW1lLCBjb3NpZ25lck5hbWUgfSA9IHNpZ25lcnMgPyBzaWduZXJzIDogZ2V0U2lnbmVycyhpbnB1dHNbaV0uc2NyaXB0VHlwZSk7XG4gICAgaWYgKGlzV2FsbGV0VW5zcGVudCh1KSAmJiBjb3NpZ25lck5hbWUpIHtcbiAgICAgIGFkZFdhbGxldFVuc3BlbnRUb1BzYnQocHNidCwgdSwgcm9vdFdhbGxldEtleXMsIHNpZ25lck5hbWUsIGNvc2lnbmVyTmFtZSwgeyBza2lwTm9uV2l0bmVzc1V0eG8gfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHsgcmVkZWVtU2NyaXB0IH0gPSBjcmVhdGVPdXRwdXRTY3JpcHRQMnNoUDJwayhyb290V2FsbGV0S2V5cy51c2VyLnB1YmxpY0tleSk7XG4gICAgICBhc3NlcnQocmVkZWVtU2NyaXB0KTtcbiAgICAgIGFkZFJlcGxheVByb3RlY3Rpb25VbnNwZW50VG9Qc2J0KHBzYnQsIHUsIHJlZGVlbVNjcmlwdCwgeyBza2lwTm9uV2l0bmVzc1V0eG8gfSk7XG4gICAgfVxuICB9KTtcblxuICBvdXRwdXRzLmZvckVhY2goKG91dHB1dCwgaSkgPT4ge1xuICAgIGlmICgnc2NyaXB0VHlwZScgaW4gb3V0cHV0KSB7XG4gICAgICBhZGRXYWxsZXRPdXRwdXRUb1BzYnQoXG4gICAgICAgIHBzYnQsXG4gICAgICAgIG91dHB1dC53YWxsZXRLZXlzID8/IHJvb3RXYWxsZXRLZXlzLFxuICAgICAgICBvdXRwdXQuaXNJbnRlcm5hbEFkZHJlc3MgPyBnZXRJbnRlcm5hbENoYWluQ29kZShvdXRwdXQuc2NyaXB0VHlwZSkgOiBnZXRFeHRlcm5hbENoYWluQ29kZShvdXRwdXQuc2NyaXB0VHlwZSksXG4gICAgICAgIGksXG4gICAgICAgIG91dHB1dC52YWx1ZSxcbiAgICAgICAgeyBhZGREZXJpdmF0aW9uSW5mbzogb3V0cHV0LndhbGxldEtleXMgIT09IG51bGwgfVxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKCdhZGRyZXNzJyBpbiBvdXRwdXQpIHtcbiAgICAgIGNvbnN0IHsgYWRkcmVzcywgdmFsdWUgfSA9IG91dHB1dDtcbiAgICAgIHBzYnQuYWRkT3V0cHV0KHsgc2NyaXB0OiB0b091dHB1dFNjcmlwdChhZGRyZXNzLCBuZXR3b3JrKSwgdmFsdWUgfSk7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICgnb3BSZXR1cm4nIGluIG91dHB1dCkge1xuICAgICAgY29uc3QgeyBvcFJldHVybiwgdmFsdWUgfSA9IG91dHB1dDtcbiAgICAgIGNvbnN0IHNjcmlwdCA9IGJpdGNvaW5qc2xpYi5wYXltZW50cy5lbWJlZCh7IGRhdGE6IFtCdWZmZXIuZnJvbShvcFJldHVybiwgJ2FzY2lpJyldIH0pLm91dHB1dDtcbiAgICAgIGFzc2VydChzY3JpcHQsICdzY3JpcHQgaXMgcmVxdWlyZWQnKTtcbiAgICAgIHBzYnQuYWRkT3V0cHV0KHsgc2NyaXB0LCB2YWx1ZSB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKCdzY3JpcHQnIGluIG91dHB1dCkge1xuICAgICAgY29uc3QgeyBzY3JpcHQsIHZhbHVlIH0gPSBvdXRwdXQ7XG4gICAgICBwc2J0LmFkZE91dHB1dCh7IHNjcmlwdDogQnVmZmVyLmZyb20oc2NyaXB0LCAnaGV4JyksIHZhbHVlIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBvdXRwdXQnKTtcbiAgfSk7XG5cbiAgaWYgKHNpZ25TdGFnZSA9PT0gJ3Vuc2lnbmVkJykge1xuICAgIHJldHVybiBwc2J0O1xuICB9XG5cbiAgLyogdXNlIGZpeGVkIHNlc3Npb25JZCBmb3IgZGV0ZXJtaW5pc3RpYyBub25jZSBjcmVhdGlvbiAqL1xuICBjb25zdCBzZXNzaW9uSWQgPSBCdWZmZXIuYWxsb2MoMzIpO1xuICBwc2J0LnNldEFsbElucHV0c011c2lnMk5vbmNlSEQocm9vdFdhbGxldEtleXNbJ3VzZXInXSwgeyBzZXNzaW9uSWQgfSk7XG4gIHBzYnQuc2V0QWxsSW5wdXRzTXVzaWcyTm9uY2VIRChyb290V2FsbGV0S2V5c1snYml0Z28nXSwgeyBkZXRlcm1pbmlzdGljIH0pO1xuXG4gIHNpZ25BbGxQc2J0SW5wdXRzKHBzYnQsIGlucHV0cywgcm9vdFdhbGxldEtleXMsICdoYWxmc2lnbmVkJywgeyBzaWduZXJzLCBza2lwTm9uV2l0bmVzc1V0eG8gfSk7XG5cbiAgaWYgKHNpZ25TdGFnZSA9PT0gJ2Z1bGxzaWduZWQnKSB7XG4gICAgc2lnbkFsbFBzYnRJbnB1dHMocHNidCwgaW5wdXRzLCByb290V2FsbGV0S2V5cywgc2lnblN0YWdlLCB7IHNpZ25lcnMsIGRldGVybWluaXN0aWMsIHNraXBOb25XaXRuZXNzVXR4byB9KTtcbiAgfVxuXG4gIHJldHVybiBwc2J0O1xufVxuXG5leHBvcnQgY29uc3QgdHhGb3JtYXRzID0gWydwc2J0JywgJ3BzYnQtbGl0ZSddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgVHhGb3JtYXQgPSAodHlwZW9mIHR4Rm9ybWF0cylbbnVtYmVyXTtcblxudHlwZSBTdWl0ZUNvbmZpZyA9IHtcbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQsIHdlIGluY2x1ZGUgcDJ0ck11c2lnMiBzY3JpcHQgcGF0aCBpbiB0aGUgaW5wdXRzLlxuICAgKiBUaGlzIGlucHV0IGlzIGEgYml0IG9mIGEgd2VpcmRvIGJlY2F1c2UgaXQgaXMgc2lnbmVkIGJ5IHRoZSB1c2VyIGFuZCB0aGVcbiAgICogYmFja3VwIGtleSwgd2hpY2ggdXN1YWxseSBpcyBub3QgbWl4ZWQgd2l0aCBvdGhlciBpbnB1dHMgYW5kIG91dHB1dHMuXG4gICAqXG4gICAqIFRoaXMgb3B0aW9uIGFsbG93cyB0byBleGNsdWRlIHRoaXMgaW5wdXQgZnJvbSB0aGUgaW5wdXRzLlxuICAgKi9cbiAgaW5jbHVkZVAydHJNdXNpZzJTY3JpcHRQYXRoPzogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIHZhbGlkIFBTQlQgd2l0aCBhcyBtYW55IGZlYXR1cmVzIGFzIHBvc3NpYmxlLlxuICpcbiAqIC0gSW5wdXRzOlxuICogICAtIEFsbCB3YWxsZXQgc2NyaXB0IHR5cGVzIHRoYXQgYXJlIHN1cHBvcnRlZCBieSB0aGUgbmV0d29yay5cbiAqICAgLSBBIHAyc2hQMnBrIGlucHV0IChmb3IgcmVwbGF5IHByb3RlY3Rpb24pXG4gKiAtIE91dHB1dHM6XG4gKiAgIC0gQWxsIHdhbGxldCBzY3JpcHQgdHlwZXMgdGhhdCBhcmUgc3VwcG9ydGVkIGJ5IHRoZSBuZXR3b3JrLlxuICogICAtIEEgcDJzaCBvdXRwdXQgd2l0aCBkZXJpdmF0aW9uIGluZm8gb2YgYSBkaWZmZXJlbnQgd2FsbGV0IChub3QgaW4gdGhlIGdsb2JhbCBwc2J0IHhwdWJzKVxuICogICAtIEEgcDJzaCBvdXRwdXQgd2l0aCBubyBkZXJpdmF0aW9uIGluZm8gKGV4dGVybmFsIG91dHB1dClcbiAqICAgLSBBbiBPUF9SRVRVUk4gb3V0cHV0XG4gKi9cbmV4cG9ydCBjbGFzcyBBY2lkVGVzdCB7XG4gIHB1YmxpYyByZWFkb25seSBuZXR3b3JrOiBOZXR3b3JrO1xuICBwdWJsaWMgcmVhZG9ubHkgc2lnblN0YWdlOiBTaWduU3RhZ2U7XG4gIHB1YmxpYyByZWFkb25seSB0eEZvcm1hdDogVHhGb3JtYXQ7XG4gIHB1YmxpYyByZWFkb25seSByb290V2FsbGV0S2V5czogUm9vdFdhbGxldEtleXM7XG4gIHB1YmxpYyByZWFkb25seSBvdGhlcldhbGxldEtleXM6IFJvb3RXYWxsZXRLZXlzO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5wdXRzOiBJbnB1dFtdO1xuICBwdWJsaWMgcmVhZG9ubHkgb3V0cHV0czogT3V0cHV0W107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbmV0d29yazogTmV0d29yayxcbiAgICBzaWduU3RhZ2U6IFNpZ25TdGFnZSxcbiAgICB0eEZvcm1hdDogVHhGb3JtYXQsXG4gICAgcm9vdFdhbGxldEtleXM6IFJvb3RXYWxsZXRLZXlzLFxuICAgIG90aGVyV2FsbGV0S2V5czogUm9vdFdhbGxldEtleXMsXG4gICAgaW5wdXRzOiBJbnB1dFtdLFxuICAgIG91dHB1dHM6IE91dHB1dFtdXG4gICkge1xuICAgIHRoaXMubmV0d29yayA9IG5ldHdvcms7XG4gICAgdGhpcy5zaWduU3RhZ2UgPSBzaWduU3RhZ2U7XG4gICAgdGhpcy50eEZvcm1hdCA9IHR4Rm9ybWF0O1xuICAgIHRoaXMucm9vdFdhbGxldEtleXMgPSByb290V2FsbGV0S2V5cztcbiAgICB0aGlzLm90aGVyV2FsbGV0S2V5cyA9IG90aGVyV2FsbGV0S2V5cztcbiAgICB0aGlzLmlucHV0cyA9IGlucHV0cztcbiAgICB0aGlzLm91dHB1dHMgPSBvdXRwdXRzO1xuICB9XG5cbiAgc3RhdGljIHdpdGhDb25maWcobmV0d29yazogTmV0d29yaywgc2lnblN0YWdlOiBTaWduU3RhZ2UsIHR4Rm9ybWF0OiBUeEZvcm1hdCwgc3VpdGVDb25maWc6IFN1aXRlQ29uZmlnKTogQWNpZFRlc3Qge1xuICAgIGNvbnN0IHJvb3RXYWxsZXRLZXlzID0gZ2V0RGVmYXVsdFdhbGxldEtleXMoKTtcblxuICAgIGNvbnN0IG90aGVyV2FsbGV0S2V5cyA9IGdldFdhbGxldEtleXNGb3JTZWVkKCd0b28gbWFueSBzZWNyZXRzJyk7XG4gICAgY29uc3QgaW5wdXRzOiBJbnB1dFtdID0gaW5wdXRTY3JpcHRUeXBlc1xuICAgICAgLmZpbHRlcigoc2NyaXB0VHlwZSkgPT5cbiAgICAgICAgc2NyaXB0VHlwZSA9PT0gJ3RhcHJvb3RLZXlQYXRoU3BlbmQnXG4gICAgICAgICAgPyBpc1N1cHBvcnRlZFNjcmlwdFR5cGUobmV0d29yaywgJ3AydHJNdXNpZzInKVxuICAgICAgICAgIDogaXNTdXBwb3J0ZWRTY3JpcHRUeXBlKG5ldHdvcmssIHNjcmlwdFR5cGUpXG4gICAgICApXG4gICAgICAuZmlsdGVyKChzY3JpcHRUeXBlKSA9PiAoc3VpdGVDb25maWcuaW5jbHVkZVAydHJNdXNpZzJTY3JpcHRQYXRoID8/IHRydWUpIHx8IHNjcmlwdFR5cGUgIT09ICdwMnRyTXVzaWcyJylcbiAgICAgIC5tYXAoKHNjcmlwdFR5cGUpID0+ICh7IHNjcmlwdFR5cGUsIHZhbHVlOiBCaWdJbnQoMjAwMCkgfSkpO1xuXG4gICAgY29uc3Qgb3V0cHV0czogT3V0cHV0W10gPSBvdXRwdXRTY3JpcHRUeXBlc1xuICAgICAgLmZpbHRlcigoc2NyaXB0VHlwZSkgPT4gaXNTdXBwb3J0ZWRTY3JpcHRUeXBlKG5ldHdvcmssIHNjcmlwdFR5cGUpKVxuICAgICAgLm1hcCgoc2NyaXB0VHlwZSkgPT4gKHsgc2NyaXB0VHlwZSwgdmFsdWU6IEJpZ0ludCg5MDApIH0pKTtcblxuICAgIC8vIFRlc3Qgb3RoZXIgd2FsbGV0IG91dHB1dCAod2l0aCBkZXJpdmF0aW9uIGluZm8pXG4gICAgb3V0cHV0cy5wdXNoKHsgc2NyaXB0VHlwZTogJ3Ayc2gnLCB2YWx1ZTogQmlnSW50KDkwMCksIHdhbGxldEtleXM6IG90aGVyV2FsbGV0S2V5cyB9KTtcbiAgICAvLyBUZXMgbm9uLXdhbGxldCBvdXRwdXRcbiAgICBvdXRwdXRzLnB1c2goeyBzY3JpcHRUeXBlOiAncDJzaCcsIHZhbHVlOiBCaWdJbnQoOTAwKSwgd2FsbGV0S2V5czogbnVsbCB9KTtcbiAgICAvLyBUZXN0IE9QX1JFVFVSTiBvdXRwdXRcbiAgICBvdXRwdXRzLnB1c2goeyBvcFJldHVybjogJ3NldGVjIGFzdHJvbm9teScsIHZhbHVlOiBCaWdJbnQoMCkgfSk7XG5cbiAgICByZXR1cm4gbmV3IEFjaWRUZXN0KG5ldHdvcmssIHNpZ25TdGFnZSwgdHhGb3JtYXQsIHJvb3RXYWxsZXRLZXlzLCBvdGhlcldhbGxldEtleXMsIGlucHV0cywgb3V0cHV0cyk7XG4gIH1cblxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IG5ldHdvcmtOYW1lID0gZ2V0TmV0d29ya05hbWUodGhpcy5uZXR3b3JrKTtcbiAgICByZXR1cm4gYCR7bmV0d29ya05hbWV9ICR7dGhpcy5zaWduU3RhZ2V9ICR7dGhpcy50eEZvcm1hdH1gO1xuICB9XG5cbiAgZ2V0UmVwbGF5UHJvdGVjdGlvblB1YmxpY0tleSgpOiBCdWZmZXIge1xuICAgIHJldHVybiB0aGlzLnJvb3RXYWxsZXRLZXlzLnVzZXIucHVibGljS2V5O1xuICB9XG5cbiAgZ2V0UmVwbGF5UHJvdGVjdGlvbk91dHB1dFNjcmlwdCgpOiBCdWZmZXIge1xuICAgIGNvbnN0IHsgc2NyaXB0UHViS2V5IH0gPSBjcmVhdGVPdXRwdXRTY3JpcHRQMnNoUDJwayh0aGlzLmdldFJlcGxheVByb3RlY3Rpb25QdWJsaWNLZXkoKSk7XG4gICAgYXNzZXJ0KHNjcmlwdFB1YktleSk7XG4gICAgcmV0dXJuIHNjcmlwdFB1YktleTtcbiAgfVxuXG4gIGNyZWF0ZVBzYnQoKTogVXR4b1BzYnQge1xuICAgIGNvbnN0IHBzYnQgPSBjb25zdHJ1Y3RQc2J0KHRoaXMuaW5wdXRzLCB0aGlzLm91dHB1dHMsIHRoaXMubmV0d29yaywgdGhpcy5yb290V2FsbGV0S2V5cywgdGhpcy5zaWduU3RhZ2UsIHtcbiAgICAgIGRldGVybWluaXN0aWM6IHRydWUsXG4gICAgICBhZGRHbG9iYWxYUHViczogdHJ1ZSxcbiAgICB9KTtcbiAgICBpZiAodGhpcy50eEZvcm1hdCA9PT0gJ3BzYnQtbGl0ZScpIHtcbiAgICAgIHJldHVybiBjbG9uZVBzYnRXaXRob3V0Tm9uV2l0bmVzc1V0eG8ocHNidCk7XG4gICAgfVxuICAgIHJldHVybiBwc2J0O1xuICB9XG5cbiAgc3RhdGljIHN1aXRlKHN1aXRlQ29uZmlnOiBTdWl0ZUNvbmZpZyA9IHt9KTogQWNpZFRlc3RbXSB7XG4gICAgcmV0dXJuIGdldE5ldHdvcmtMaXN0KClcbiAgICAgIC5maWx0ZXIoKG5ldHdvcmspID0+IGlzTWFpbm5ldChuZXR3b3JrKSAmJiBuZXR3b3JrICE9PSBuZXR3b3Jrcy5iaXRjb2luc3YpXG4gICAgICAuZmxhdE1hcCgobmV0d29yaykgPT5cbiAgICAgICAgc2lnblN0YWdlcy5mbGF0TWFwKChzaWduU3RhZ2UpID0+XG4gICAgICAgICAgdHhGb3JtYXRzLmZsYXRNYXAoKHR4Rm9ybWF0KSA9PiBBY2lkVGVzdC53aXRoQ29uZmlnKG5ldHdvcmssIHNpZ25TdGFnZSwgdHhGb3JtYXQsIHN1aXRlQ29uZmlnKSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIFZlcmlmaWVzIHNpZ25hdHVyZXMgb2YgZnVsbHkgc2lnbmVkIHR4ICh3aXRoIHRhcHJvb3Qga2V5IHBhdGggc3VwcG9ydCkuXG4gKiBOT1RFOiB0YXByb290IGtleSBwYXRoIHR4IGNhbiBvbmx5IGJlIGJ1aWx0IGFuZCBzaWduZWQgd2l0aCBQU0JULlxuICovXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5RnVsbHlTaWduZWRTaWduYXR1cmVzKFxuICB0eDogVXR4b1RyYW5zYWN0aW9uPGJpZ2ludD4sXG4gIHVuc3BlbnRzOiBVbnNwZW50PGJpZ2ludD5bXSxcbiAgd2FsbGV0S2V5czogUm9vdFdhbGxldEtleXMsXG4gIHNpZ25lcjogS2V5TmFtZSxcbiAgY29zaWduZXI6IEtleU5hbWVcbik6IGJvb2xlYW4ge1xuICBjb25zdCBwcmV2T3V0cHV0cyA9IHVuc3BlbnRzLm1hcCgodSkgPT4gdG9PdXRwdXQodSwgdHgubmV0d29yaykpO1xuICByZXR1cm4gdW5zcGVudHMuZXZlcnkoKHUsIGluZGV4KSA9PiB7XG4gICAgaWYgKHBhcnNlU2lnbmF0dXJlU2NyaXB0Mk9mMyh0eC5pbnNbaW5kZXhdKS5zY3JpcHRUeXBlID09PSAndGFwcm9vdEtleVBhdGhTcGVuZCcpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGdldFNpZ25hdHVyZVZlcmlmaWNhdGlvbnModHgsIGluZGV4LCB1LnZhbHVlLCB1bmRlZmluZWQsIHByZXZPdXRwdXRzKTtcbiAgICAgIHJldHVybiByZXN1bHQubGVuZ3RoID09PSAxICYmIHJlc3VsdFswXS5zaWduYXR1cmU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHZlcmlmeVNpZ25hdHVyZVdpdGhVbnNwZW50KHR4LCBpbmRleCwgdW5zcGVudHMsIHdhbGxldEtleXMpO1xuICAgICAgaWYgKChzaWduZXIgPT09ICd1c2VyJyAmJiBjb3NpZ25lciA9PT0gJ2JpdGdvJykgfHwgKHNpZ25lciA9PT0gJ2JpdGdvJyAmJiBjb3NpZ25lciA9PT0gJ3VzZXInKSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0WzBdICYmICFyZXN1bHRbMV0gJiYgcmVzdWx0WzJdO1xuICAgICAgfSBlbHNlIGlmICgoc2lnbmVyID09PSAndXNlcicgJiYgY29zaWduZXIgPT09ICdiYWNrdXAnKSB8fCAoc2lnbmVyID09PSAnYmFja3VwJyAmJiBjb3NpZ25lciA9PT0gJ3VzZXInKSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0WzBdICYmIHJlc3VsdFsxXSAmJiAhcmVzdWx0WzJdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuICFyZXN1bHRbMF0gJiYgcmVzdWx0WzFdICYmIHJlc3VsdFsyXTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xufVxuIl19
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHNidC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0dXRpbC9wc2J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQW9GQSw4QkFxQkM7QUFRRCxnQ0FLQztBQU1ELHNDQXlCQztBQU1ELDhDQWdCQztBQUtELHNDQXNGQztBQTJIRCxrRUF1QkM7QUF4WkQsOENBQThDO0FBQzlDLG1DQUFzQztBQUV0QywwREFPZ0M7QUFDaEMsb0NBbUJrQjtBQUNsQiwwQ0FBMkY7QUFDM0YsaUNBQXdFO0FBQ3hFLHdDQUE0QztBQUM1QyxpQ0FBb0U7QUFtQnZELFFBQUEsVUFBVSxHQUFHLENBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxZQUFZLENBQVUsQ0FBQztBQWdCNUU7Ozs7R0FJRztBQUNVLFFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxHQUFHLCtCQUFlLEVBQUUscUJBQXFCLEVBQUUsa0NBQWtCLENBQVUsQ0FBQztBQUV6Rzs7R0FFRztBQUNVLFFBQUEsaUJBQWlCLEdBQUcsK0JBQWUsQ0FBQztBQUVqRDs7R0FFRztBQUNILFNBQWdCLFNBQVMsQ0FDdkIsS0FBWSxFQUNaLEtBQWEsRUFDYixPQUFnQixFQUNoQixjQUE4QixFQUM5QixFQUFFLFdBQVcsS0FBK0IsRUFBRTtJQUU5QyxJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDcEMsT0FBTyxJQUFBLGtDQUEyQixFQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ3ZELEdBQUcsRUFBRSxXQUFXLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQztZQUMxQyxJQUFJLEVBQUUsS0FBSztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxLQUFLLEdBQUcsSUFBQSw0QkFBb0IsRUFBQyxLQUFLLENBQUMsVUFBVSxLQUFLLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FB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QU0sR0FBRyxJQUFBLGtDQUEwQixFQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzNFLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxJQUFJLFFBQVEsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxPQUFPLElBQUksUUFBUSxLQUFLLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQy9GLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QyxDQUFDO2lCQUFNLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxRQUFRLElBQUksUUFBUSxLQUFLLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3hHLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYml0Y29pbmpzbGliIGZyb20gJ2JpdGNvaW5qcy1saWInO1xuaW1wb3J0IHsgb2sgYXMgYXNzZXJ0IH0gZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHtcbiAgY3JlYXRlT3V0cHV0U2NyaXB0UDJzaFAycGssXG4gIGlzU3VwcG9ydGVkU2NyaXB0VHlwZSxcbiAgU2NyaXB0VHlwZSxcbiAgU2NyaXB0VHlwZTJPZjMsXG4gIHNjcmlwdFR5cGVQMnNoUDJwayxcbiAgc2NyaXB0VHlwZXMyT2YzLFxufSBmcm9tICcuLi9iaXRnby9vdXRwdXRTY3JpcHRzJztcbmltcG9ydCB7XG4gIGFkZFJlcGxheVByb3RlY3Rpb25VbnNwZW50VG9Qc2J0LFxuICBhZGRXYWxsZXRPdXRwdXRUb1BzYnQsXG4gIGFkZFdhbGxldFVuc3BlbnRUb1BzYnQsXG4gIGNyZWF0ZVBzYnRGb3JOZXR3b3JrLFxuICBnZXRFeHRlcm5hbENoYWluQ29kZSxcbiAgZ2V0SW50ZXJuYWxDaGFpbkNvZGUsXG4gIGdldFNpZ25hdHVyZVZlcmlmaWNhdGlvbnMsXG4gIGlzV2FsbGV0VW5zcGVudCxcbiAgS2V5TmFtZSxcbiAgcGFyc2VTaWduYXR1cmVTY3JpcHQyT2YzLFxuICBSb290V2FsbGV0S2V5cyxcbiAgdG9PdXRwdXQsXG4gIFVuc3BlbnQsXG4gIFV0eG9Qc2J0LFxuICBVdHhvVHJhbnNhY3Rpb24sXG4gIHZlcmlmeVNpZ25hdHVyZVdpdGhVbnNwZW50LFxuICBhZGRYcHVic1RvUHNidCxcbiAgY2xvbmVQc2J0V2l0aG91dE5vbldpdG5lc3NVdHhvLFxufSBmcm9tICcuLi9iaXRnbyc7XG5pbXBvcnQgeyBnZXROZXR3b3JrTGlzdCwgZ2V0TmV0d29ya05hbWUsIGlzTWFpbm5ldCwgTmV0d29yaywgbmV0d29ya3MgfSBmcm9tICcuLi9uZXR3b3Jrcyc7XG5pbXBvcnQgeyBtb2NrUmVwbGF5UHJvdGVjdGlvblVuc3BlbnQsIG1vY2tXYWxsZXRVbnNwZW50IH0gZnJvbSAnLi9tb2NrJztcbmltcG9ydCB7IHRvT3V0cHV0U2NyaXB0IH0gZnJvbSAnLi4vYWRkcmVzcyc7XG5pbXBvcnQgeyBnZXREZWZhdWx0V2FsbGV0S2V5cywgZ2V0V2FsbGV0S2V5c0ZvclNlZWQgfSBmcm9tICcuL2tleXMnO1xuXG4vKipcbiAqIFRoaXMgaXMgYSBiaXQgb2YgYSBtaXNub21lciwgYXMgaXQgYWN0dWFsbHkgc3BlY2lmaWVzIHRoZSBzcGVuZCB0eXBlIG9mIHRoZSBpbnB1dC5cbiAqIFRoaXMgbWFrZXMgYSBkaWZmZXJlbmNlIGZvciBwMnRyTXVzaWcyIGlucHV0cywgYXMgdGhleSBjYW4gYmUgc3BlbnQgZWl0aGVyIGJ5IGtleSBwYXRoIG9yIHNjcmlwdCBwYXRoLlxuICogVGhlIHZhbHVlIHAydHJNdXNpZzIgaXMgdXNlZCBmb3IgcDJ0ck11c2lnMiBzY3JpcHQgcGF0aC5cbiAqIFRoZSB2YWx1ZSB0YXByb290S2V5UGF0aFNwZW5kIGlzIHVzZWQgZm9yIHAydHJNdXNpZzIga2V5IHBhdGguXG4gKi9cbmV4cG9ydCB0eXBlIElucHV0U2NyaXB0VHlwZSA9IFNjcmlwdFR5cGUgfCAndGFwcm9vdEtleVBhdGhTcGVuZCc7XG5leHBvcnQgdHlwZSBPdXRwdXRTY3JpcHRUeXBlID0gU2NyaXB0VHlwZTJPZjM7XG5cbi8qKlxuICogaW5wdXQgc2NyaXB0IHR5cGUgYW5kIHZhbHVlXG4gKi9cbmV4cG9ydCB0eXBlIElucHV0ID0ge1xuICBzY3JpcHRUeXBlOiBJbnB1dFNjcmlwdFR5cGU7XG4gIHZhbHVlOiBiaWdpbnQ7XG59O1xuXG5leHBvcnQgY29uc3Qgc2lnblN0YWdlcyA9IFsndW5zaWduZWQnLCAnaGFsZnNpZ25lZCcsICdmdWxsc2lnbmVkJ10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBTaWduU3RhZ2UgPSAodHlwZW9mIHNpZ25TdGFnZXMpW251bWJlcl07XG5cbi8qKlxuICogU2V0IGlzSW50ZXJuYWxBZGRyZXNzPXRydWUgZm9yIGludGVybmFsIG91dHB1dCBhZGRyZXNzXG4gKi9cbi8vIE1ha2Ugc2NyaXB0OiBzdHJpbmcgYXMgaW5zdGVhZCBvZiBzY3JpcHRUeXBlIG9yIGFkZHJlc3NcbmV4cG9ydCB0eXBlIE91dHB1dCA9IHtcbiAgdmFsdWU6IGJpZ2ludDtcbiAgLy8gRGV0ZXJtaW5lcyBjaGFpbiBjb2RlIGZvciB0aGUgb3V0cHV0XG4gIGlzSW50ZXJuYWxBZGRyZXNzPzogYm9vbGVhbjtcbiAgLy8gRGV0ZXJtaW5lcyB0aGUgd2FsbGV0IGtleXMgdG8gdXNlIGZvciB0aGUgb3V0cHV0LiBCeSBkZWZhdWx0IHVzZSByb290IHdhbGxldCBrZXlzIHVzZWQgZm9yIHRoZSBpbnB1dHMuXG4gIC8vIFdoZW4gc2V0IHRvIG51bGwsIG9taXRzIHRoZSBkZXJpdmF0aW9uIGluZm8gYW5kIGVmZmVjdGl2ZWx5IG1ha2VzIHRoZSBvdXRwdXQgbm9uLXdhbGxldCBvdXRwdXQuXG4gIHdhbGxldEtleXM/OiBSb290V2FsbGV0S2V5cyB8IG51bGw7XG59ICYgKHsgc2NyaXB0VHlwZTogT3V0cHV0U2NyaXB0VHlwZSB9IHwgeyBhZGRyZXNzOiBzdHJpbmcgfSB8IHsgc2NyaXB0OiBzdHJpbmcgfSB8IHsgb3BSZXR1cm46IHN0cmluZyB9KTtcblxuLyoqXG4gKiBhcnJheSBvZiBzdXBwb3J0ZWQgaW5wdXQgc2NyaXB0IHR5cGVzLlxuICogdXNlIHAydHJNdXNpZzIgZm9yIHAydHJNdXNpZzIgc2NyaXB0IHBhdGguXG4gKiB1c2UgdGFwcm9vdEtleVBhdGhTcGVuZCBmb3IgcDJ0ck11c2lnMiBrZXkgcGF0aC5cbiAqL1xuZXhwb3J0IGNvbnN0IGlucHV0U2NyaXB0VHlwZXMgPSBbLi4uc2NyaXB0VHlwZXMyT2YzLCAndGFwcm9vdEtleVBhdGhTcGVuZCcsIHNjcmlwdFR5cGVQMnNoUDJwa10gYXMgY29uc3Q7XG5cbi8qKlxuICogYXJyYXkgb2Ygc3VwcG9ydGVkIG91dHB1dCBzY3JpcHQgdHlwZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBvdXRwdXRTY3JpcHRUeXBlcyA9IHNjcmlwdFR5cGVzMk9mMztcblxuLyoqXG4gKiBjcmVhdGUgdW5zcGVudCBvYmplY3QgZnJvbSBpbnB1dCBzY3JpcHQgdHlwZSwgaW5kZXgsIG5ldHdvcmsgYW5kIHJvb3Qgd2FsbGV0IGtleS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvVW5zcGVudChcbiAgaW5wdXQ6IElucHV0LFxuICBpbmRleDogbnVtYmVyLFxuICBuZXR3b3JrOiBOZXR3b3JrLFxuICByb290V2FsbGV0S2V5czogUm9vdFdhbGxldEtleXMsXG4gIHsgcDJzaFAycGtLZXkgfTogeyBwMnNoUDJwa0tleT86IEJ1ZmZlciB9ID0ge31cbik6IFVuc3BlbnQ8YmlnaW50PiB7XG4gIGlmIChpbnB1dC5zY3JpcHRUeXBlID09PSAncDJzaFAycGsnKSB7XG4gICAgcmV0dXJuIG1vY2tSZXBsYXlQcm90ZWN0aW9uVW5zcGVudChuZXR3b3JrLCBpbnB1dC52YWx1ZSwge1xuICAgICAga2V5OiBwMnNoUDJwa0tleSA/PyByb290V2FsbGV0S2V5c1sndXNlciddLFxuICAgICAgdm91dDogaW5kZXgsXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgY2hhaW4gPSBnZXRJbnRlcm5hbENoYWluQ29kZShpbnB1dC5zY3JpcHRUeXBlID09PSAndGFwcm9vdEtleVBhdGhTcGVuZCcgPyAncDJ0ck11c2lnMicgOiBpbnB1dC5zY3JpcHRUeXBlKTtcbiAgICByZXR1cm4gbW9ja1dhbGxldFVuc3BlbnQobmV0d29yaywgaW5wdXQudmFsdWUsIHtcbiAgICAgIGNoYWluLFxuICAgICAgdm91dDogaW5kZXgsXG4gICAgICBrZXlzOiByb290V2FsbGV0S2V5cyxcbiAgICAgIGluZGV4LFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogcmV0dXJucyBzaWduZXIgYW5kIGNvc2lnbmVyIG5hbWVzIGZvciBJbnB1dFNjcmlwdFR5cGUuXG4gKiB1c2VyIGFuZCB1bmRlZmluZWQgYXMgc2lnbmVyIGFuZCBjb3NpZ25lciByZXNwZWN0aXZlbHkgZm9yIHAyc2hQMnBrLlxuICogdXNlciBhbmQgYmFja3VwIGFzIHNpZ25lciBhbmQgY29zaWduZXIgcmVzcGVjdGl2ZWx5IGZvciBwMnRyTXVzaWcyLlxuICogdXNlciBhbmQgYml0Z28gYXMgc2lnbmVyIGFuZCBjb3NpZ25lciByZXNwZWN0aXZlbHkgZm9yIG90aGVyIGlucHV0IHNjcmlwdCB0eXBlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNpZ25lcnMoaW5wdXRUeXBlOiBJbnB1dFNjcmlwdFR5cGUpOiB7IHNpZ25lck5hbWU6IEtleU5hbWU7IGNvc2lnbmVyTmFtZT86IEtleU5hbWUgfSB7XG4gIHJldHVybiB7XG4gICAgc2lnbmVyTmFtZTogJ3VzZXInLFxuICAgIGNvc2lnbmVyTmFtZTogaW5wdXRUeXBlID09PSAncDJzaFAycGsnID8gdW5kZWZpbmVkIDogaW5wdXRUeXBlID09PSAncDJ0ck11c2lnMicgPyAnYmFja3VwJyA6ICdiaXRnbycsXG4gIH07XG59XG5cbi8qKlxuICogc2lnbnMgd2l0aCBmaXJzdCBvciBzZWNvbmQgc2lnbmF0dXJlIGZvciBzaW5nbGUgaW5wdXQuXG4gKiBwMnNoUDJwayBpcyBzaWduZWQgb25seSB3aXRoIGZpcnN0IHNpZ24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaWduUHNidElucHV0KFxuICBwc2J0OiBVdHhvUHNidCxcbiAgaW5wdXQ6IElucHV0LFxuICBpbnB1dEluZGV4OiBudW1iZXIsXG4gIHJvb3RXYWxsZXRLZXlzOiBSb290V2FsbGV0S2V5cyxcbiAgc2lnbjogJ2hhbGZzaWduZWQnIHwgJ2Z1bGxzaWduZWQnLFxuICBwYXJhbXM/OiB7XG4gICAgc2lnbmVycz86IHsgc2lnbmVyTmFtZTogS2V5TmFtZTsgY29zaWduZXJOYW1lPzogS2V5TmFtZSB9O1xuICAgIGRldGVybWluaXN0aWM/OiBib29sZWFuO1xuICAgIC8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBrZWVwIHRoaXMgaGVyZS5cbiAgICBza2lwTm9uV2l0bmVzc1V0eG8/OiBib29sZWFuO1xuICB9XG4pOiB2b2lkIHtcbiAgY29uc3QgeyBzaWduZXJzLCBkZXRlcm1pbmlzdGljIH0gPSBwYXJhbXMgPz8ge307XG4gIGNvbnN0IHsgc2lnbmVyTmFtZSwgY29zaWduZXJOYW1lIH0gPSBzaWduZXJzID8gc2lnbmVycyA6IGdldFNpZ25lcnMoaW5wdXQuc2NyaXB0VHlwZSk7XG4gIGlmIChzaWduID09PSAnaGFsZnNpZ25lZCcpIHtcbiAgICBpZiAoaW5wdXQuc2NyaXB0VHlwZSA9PT0gJ3Ayc2hQMnBrJykge1xuICAgICAgcHNidC5zaWduSW5wdXQoaW5wdXRJbmRleCwgcm9vdFdhbGxldEtleXNbc2lnbmVyTmFtZV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBwc2J0LnNpZ25JbnB1dEhEKGlucHV0SW5kZXgsIHJvb3RXYWxsZXRLZXlzW3NpZ25lck5hbWVdKTtcbiAgICB9XG4gIH1cbiAgaWYgKHNpZ24gPT09ICdmdWxsc2lnbmVkJyAmJiBjb3NpZ25lck5hbWUgJiYgaW5wdXQuc2NyaXB0VHlwZSAhPT0gJ3Ayc2hQMnBrJykge1xuICAgIHBzYnQuc2lnbklucHV0SEQoaW5wdXRJbmRleCwgcm9vdFdhbGxldEtleXNbY29zaWduZXJOYW1lXSwgeyBkZXRlcm1pbmlzdGljIH0pO1xuICB9XG59XG5cbi8qKlxuICogc2lnbnMgd2l0aCBmaXJzdCBvciBzZWNvbmQgc2lnbmF0dXJlIGZvciBhbGwgaW5wdXRzLlxuICogcDJzaFAycGsgaXMgc2lnbmVkIG9ubHkgd2l0aCBmaXJzdCBzaWduLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2lnbkFsbFBzYnRJbnB1dHMoXG4gIHBzYnQ6IFV0eG9Qc2J0LFxuICBpbnB1dHM6IElucHV0W10sXG4gIHJvb3RXYWxsZXRLZXlzOiBSb290V2FsbGV0S2V5cyxcbiAgc2lnbjogJ2hhbGZzaWduZWQnIHwgJ2Z1bGxzaWduZWQnLFxuICBwYXJhbXM/OiB7XG4gICAgc2lnbmVycz86IHsgc2lnbmVyTmFtZTogS2V5TmFtZTsgY29zaWduZXJOYW1lPzogS2V5TmFtZSB9O1xuICAgIGRldGVybWluaXN0aWM/OiBib29sZWFuO1xuICAgIC8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBrZWVwIHRoaXMgaGVyZS5cbiAgICBza2lwTm9uV2l0bmVzc1V0eG8/OiBib29sZWFuO1xuICB9XG4pOiB2b2lkIHtcbiAgY29uc3QgeyBzaWduZXJzLCBkZXRlcm1pbmlzdGljIH0gPSBwYXJhbXMgPz8ge307XG4gIGlucHV0cy5mb3JFYWNoKChpbnB1dCwgaW5wdXRJbmRleCkgPT4ge1xuICAgIHNpZ25Qc2J0SW5wdXQocHNidCwgaW5wdXQsIGlucHV0SW5kZXgsIHJvb3RXYWxsZXRLZXlzLCBzaWduLCB7IHNpZ25lcnMsIGRldGVybWluaXN0aWMgfSk7XG4gIH0pO1xufVxuXG4vKipcbiAqIGNvbnN0cnVjdCBwc2J0IGZvciBnaXZlbiBpbnB1dHMsIG91dHB1dHMsIG5ldHdvcmsgYW5kIHJvb3Qgd2FsbGV0IGtleXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RQc2J0KFxuICBpbnB1dHM6IElucHV0W10sXG4gIG91dHB1dHM6IE91dHB1dFtdLFxuICBuZXR3b3JrOiBOZXR3b3JrLFxuICByb290V2FsbGV0S2V5czogUm9vdFdhbGxldEtleXMsXG4gIHNpZ25TdGFnZTogU2lnblN0YWdlLFxuICBwYXJhbXM/OiB7XG4gICAgcDJzaFAycGtLZXk/OiBCdWZmZXI7XG4gICAgc2lnbmVycz86IHsgc2lnbmVyTmFtZTogS2V5TmFtZTsgY29zaWduZXJOYW1lPzogS2V5TmFtZSB9O1xuICAgIGRldGVybWluaXN0aWM/OiBib29sZWFuO1xuICAgIHNraXBOb25XaXRuZXNzVXR4bz86IGJvb2xlYW47XG4gICAgYWRkR2xvYmFsWFB1YnM/OiBib29sZWFuO1xuICB9XG4pOiBVdHhvUHNidCB7XG4gIGNvbnN0IHsgc2lnbmVycywgZGV0ZXJtaW5pc3RpYywgc2tpcE5vbldpdG5lc3NVdHhvIH0gPSBwYXJhbXMgPz8ge307XG4gIGNvbnN0IHRvdGFsSW5wdXRBbW91bnQgPSBpbnB1dHMucmVkdWNlKChzdW0sIGlucHV0KSA9PiBzdW0gKyBpbnB1dC52YWx1ZSwgQmlnSW50KDApKTtcbiAgY29uc3Qgb3V0cHV0SW5wdXRBbW91bnQgPSBvdXRwdXRzLnJlZHVjZSgoc3VtLCBvdXRwdXQpID0+IHN1bSArIG91dHB1dC52YWx1ZSwgQmlnSW50KDApKTtcbiAgYXNzZXJ0KHRvdGFsSW5wdXRBbW91bnQgPj0gb3V0cHV0SW5wdXRBbW91bnQsICd0b3RhbCBvdXRwdXQgY2FuIG5vdCBleGNlZWQgdG90YWwgaW5wdXQnKTtcblxuICBjb25zdCBwc2J0ID0gY3JlYXRlUHNidEZvck5ldHdvcmsoeyBuZXR3b3JrIH0pO1xuXG4gIGlmIChwYXJhbXM/LmFkZEdsb2JhbFhQdWJzKSB7XG4gICAgYWRkWHB1YnNUb1BzYnQocHNidCwgcm9vdFdhbGxldEtleXMpO1xuICB9XG5cbiAgY29uc3QgdW5zcGVudHMgPSBpbnB1dHMubWFwKChpbnB1dCwgaSkgPT5cbiAgICB0b1Vuc3BlbnQoaW5wdXQsIGksIG5ldHdvcmssIHJvb3RXYWxsZXRLZXlzLCB7IHAyc2hQMnBrS2V5OiBwYXJhbXM/LnAyc2hQMnBrS2V5IH0pXG4gICk7XG5cbiAgdW5zcGVudHMuZm9yRWFjaCgodSwgaSkgPT4ge1xuICAgIGNvbnN0IHsgc2lnbmVyTmFtZSwgY29zaWduZXJOYW1lIH0gPSBzaWduZXJzID8gc2lnbmVycyA6IGdldFNpZ25lcnMoaW5wdXRzW2ldLnNjcmlwdFR5cGUpO1xuICAgIGlmIChpc1dhbGxldFVuc3BlbnQodSkgJiYgY29zaWduZXJOYW1lKSB7XG4gICAgICBhZGRXYWxsZXRVbnNwZW50VG9Qc2J0KHBzYnQsIHUsIHJvb3RXYWxsZXRLZXlzLCBzaWduZXJOYW1lLCBjb3NpZ25lck5hbWUsIHsgc2tpcE5vbldpdG5lc3NVdHhvIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB7IHJlZGVlbVNjcmlwdCB9ID0gY3JlYXRlT3V0cHV0U2NyaXB0UDJzaFAycGsocGFyYW1zPy5wMnNoUDJwa0tleSA/PyByb290V2FsbGV0S2V5cy51c2VyLnB1YmxpY0tleSk7XG4gICAgICBhc3NlcnQocmVkZWVtU2NyaXB0KTtcbiAgICAgIGFkZFJlcGxheVByb3RlY3Rpb25VbnNwZW50VG9Qc2J0KHBzYnQsIHUsIHJlZGVlbVNjcmlwdCwgeyBza2lwTm9uV2l0bmVzc1V0eG8gfSk7XG4gICAgfVxuICB9KTtcblxuICBvdXRwdXRzLmZvckVhY2goKG91dHB1dCwgaSkgPT4ge1xuICAgIGlmICgnc2NyaXB0VHlwZScgaW4gb3V0cHV0KSB7XG4gICAgICBhZGRXYWxsZXRPdXRwdXRUb1BzYnQoXG4gICAgICAgIHBzYnQsXG4gICAgICAgIG91dHB1dC53YWxsZXRLZXlzID8/IHJvb3RXYWxsZXRLZXlzLFxuICAgICAgICBvdXRwdXQuaXNJbnRlcm5hbEFkZHJlc3MgPyBnZXRJbnRlcm5hbENoYWluQ29kZShvdXRwdXQuc2NyaXB0VHlwZSkgOiBnZXRFeHRlcm5hbENoYWluQ29kZShvdXRwdXQuc2NyaXB0VHlwZSksXG4gICAgICAgIGksXG4gICAgICAgIG91dHB1dC52YWx1ZSxcbiAgICAgICAgeyBhZGREZXJpdmF0aW9uSW5mbzogb3V0cHV0LndhbGxldEtleXMgIT09IG51bGwgfVxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKCdhZGRyZXNzJyBpbiBvdXRwdXQpIHtcbiAgICAgIGNvbnN0IHsgYWRkcmVzcywgdmFsdWUgfSA9IG91dHB1dDtcbiAgICAgIHBzYnQuYWRkT3V0cHV0KHsgc2NyaXB0OiB0b091dHB1dFNjcmlwdChhZGRyZXNzLCBuZXR3b3JrKSwgdmFsdWUgfSk7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICgnb3BSZXR1cm4nIGluIG91dHB1dCkge1xuICAgICAgY29uc3QgeyBvcFJldHVybiwgdmFsdWUgfSA9IG91dHB1dDtcbiAgICAgIGNvbnN0IHNjcmlwdCA9IGJpdGNvaW5qc2xpYi5wYXltZW50cy5lbWJlZCh7IGRhdGE6IFtCdWZmZXIuZnJvbShvcFJldHVybiwgJ2FzY2lpJyldIH0pLm91dHB1dDtcbiAgICAgIGFzc2VydChzY3JpcHQsICdzY3JpcHQgaXMgcmVxdWlyZWQnKTtcbiAgICAgIHBzYnQuYWRkT3V0cHV0KHsgc2NyaXB0LCB2YWx1ZSB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKCdzY3JpcHQnIGluIG91dHB1dCkge1xuICAgICAgY29uc3QgeyBzY3JpcHQsIHZhbHVlIH0gPSBvdXRwdXQ7XG4gICAgICBwc2J0LmFkZE91dHB1dCh7IHNjcmlwdDogQnVmZmVyLmZyb20oc2NyaXB0LCAnaGV4JyksIHZhbHVlIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBvdXRwdXQnKTtcbiAgfSk7XG5cbiAgaWYgKHNpZ25TdGFnZSA9PT0gJ3Vuc2lnbmVkJykge1xuICAgIHJldHVybiBwc2J0O1xuICB9XG5cbiAgLyogdXNlIGZpeGVkIHNlc3Npb25JZCBmb3IgZGV0ZXJtaW5pc3RpYyBub25jZSBjcmVhdGlvbiAqL1xuICBjb25zdCBzZXNzaW9uSWQgPSBCdWZmZXIuYWxsb2MoMzIpO1xuICBwc2J0LnNldEFsbElucHV0c011c2lnMk5vbmNlSEQocm9vdFdhbGxldEtleXNbJ3VzZXInXSwgeyBzZXNzaW9uSWQgfSk7XG4gIHBzYnQuc2V0QWxsSW5wdXRzTXVzaWcyTm9uY2VIRChyb290V2FsbGV0S2V5c1snYml0Z28nXSwgeyBkZXRlcm1pbmlzdGljIH0pO1xuXG4gIHNpZ25BbGxQc2J0SW5wdXRzKHBzYnQsIGlucHV0cywgcm9vdFdhbGxldEtleXMsICdoYWxmc2lnbmVkJywgeyBzaWduZXJzLCBza2lwTm9uV2l0bmVzc1V0eG8gfSk7XG5cbiAgaWYgKHNpZ25TdGFnZSA9PT0gJ2Z1bGxzaWduZWQnKSB7XG4gICAgc2lnbkFsbFBzYnRJbnB1dHMocHNidCwgaW5wdXRzLCByb290V2FsbGV0S2V5cywgc2lnblN0YWdlLCB7IHNpZ25lcnMsIGRldGVybWluaXN0aWMsIHNraXBOb25XaXRuZXNzVXR4byB9KTtcbiAgfVxuXG4gIHJldHVybiBwc2J0O1xufVxuXG5leHBvcnQgY29uc3QgdHhGb3JtYXRzID0gWydwc2J0JywgJ3BzYnQtbGl0ZSddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgVHhGb3JtYXQgPSAodHlwZW9mIHR4Rm9ybWF0cylbbnVtYmVyXTtcblxudHlwZSBTdWl0ZUNvbmZpZyA9IHtcbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQsIHdlIGluY2x1ZGUgcDJ0ck11c2lnMiBzY3JpcHQgcGF0aCBpbiB0aGUgaW5wdXRzLlxuICAgKiBUaGlzIGlucHV0IGlzIGEgYml0IG9mIGEgd2VpcmRvIGJlY2F1c2UgaXQgaXMgc2lnbmVkIGJ5IHRoZSB1c2VyIGFuZCB0aGVcbiAgICogYmFja3VwIGtleSwgd2hpY2ggdXN1YWxseSBpcyBub3QgbWl4ZWQgd2l0aCBvdGhlciBpbnB1dHMgYW5kIG91dHB1dHMuXG4gICAqXG4gICAqIFRoaXMgb3B0aW9uIGFsbG93cyB0byBleGNsdWRlIHRoaXMgaW5wdXQgZnJvbSB0aGUgaW5wdXRzLlxuICAgKi9cbiAgaW5jbHVkZVAydHJNdXNpZzJTY3JpcHRQYXRoPzogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIHZhbGlkIFBTQlQgd2l0aCBhcyBtYW55IGZlYXR1cmVzIGFzIHBvc3NpYmxlLlxuICpcbiAqIC0gSW5wdXRzOlxuICogICAtIEFsbCB3YWxsZXQgc2NyaXB0IHR5cGVzIHRoYXQgYXJlIHN1cHBvcnRlZCBieSB0aGUgbmV0d29yay5cbiAqICAgLSBBIHAyc2hQMnBrIGlucHV0IChmb3IgcmVwbGF5IHByb3RlY3Rpb24pXG4gKiAtIE91dHB1dHM6XG4gKiAgIC0gQWxsIHdhbGxldCBzY3JpcHQgdHlwZXMgdGhhdCBhcmUgc3VwcG9ydGVkIGJ5IHRoZSBuZXR3b3JrLlxuICogICAtIEEgcDJzaCBvdXRwdXQgd2l0aCBkZXJpdmF0aW9uIGluZm8gb2YgYSBkaWZmZXJlbnQgd2FsbGV0IChub3QgaW4gdGhlIGdsb2JhbCBwc2J0IHhwdWJzKVxuICogICAtIEEgcDJzaCBvdXRwdXQgd2l0aCBubyBkZXJpdmF0aW9uIGluZm8gKGV4dGVybmFsIG91dHB1dClcbiAqICAgLSBBbiBPUF9SRVRVUk4gb3V0cHV0XG4gKi9cbmV4cG9ydCBjbGFzcyBBY2lkVGVzdCB7XG4gIHB1YmxpYyByZWFkb25seSBuZXR3b3JrOiBOZXR3b3JrO1xuICBwdWJsaWMgcmVhZG9ubHkgc2lnblN0YWdlOiBTaWduU3RhZ2U7XG4gIHB1YmxpYyByZWFkb25seSB0eEZvcm1hdDogVHhGb3JtYXQ7XG4gIHB1YmxpYyByZWFkb25seSByb290V2FsbGV0S2V5czogUm9vdFdhbGxldEtleXM7XG4gIHB1YmxpYyByZWFkb25seSBvdGhlcldhbGxldEtleXM6IFJvb3RXYWxsZXRLZXlzO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5wdXRzOiBJbnB1dFtdO1xuICBwdWJsaWMgcmVhZG9ubHkgb3V0cHV0czogT3V0cHV0W107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbmV0d29yazogTmV0d29yayxcbiAgICBzaWduU3RhZ2U6IFNpZ25TdGFnZSxcbiAgICB0eEZvcm1hdDogVHhGb3JtYXQsXG4gICAgcm9vdFdhbGxldEtleXM6IFJvb3RXYWxsZXRLZXlzLFxuICAgIG90aGVyV2FsbGV0S2V5czogUm9vdFdhbGxldEtleXMsXG4gICAgaW5wdXRzOiBJbnB1dFtdLFxuICAgIG91dHB1dHM6IE91dHB1dFtdXG4gICkge1xuICAgIHRoaXMubmV0d29yayA9IG5ldHdvcms7XG4gICAgdGhpcy5zaWduU3RhZ2UgPSBzaWduU3RhZ2U7XG4gICAgdGhpcy50eEZvcm1hdCA9IHR4Rm9ybWF0O1xuICAgIHRoaXMucm9vdFdhbGxldEtleXMgPSByb290V2FsbGV0S2V5cztcbiAgICB0aGlzLm90aGVyV2FsbGV0S2V5cyA9IG90aGVyV2FsbGV0S2V5cztcbiAgICB0aGlzLmlucHV0cyA9IGlucHV0cztcbiAgICB0aGlzLm91dHB1dHMgPSBvdXRwdXRzO1xuICB9XG5cbiAgc3RhdGljIHdpdGhDb25maWcobmV0d29yazogTmV0d29yaywgc2lnblN0YWdlOiBTaWduU3RhZ2UsIHR4Rm9ybWF0OiBUeEZvcm1hdCwgc3VpdGVDb25maWc6IFN1aXRlQ29uZmlnKTogQWNpZFRlc3Qge1xuICAgIGNvbnN0IHJvb3RXYWxsZXRLZXlzID0gZ2V0RGVmYXVsdFdhbGxldEtleXMoKTtcblxuICAgIGNvbnN0IG90aGVyV2FsbGV0S2V5cyA9IGdldFdhbGxldEtleXNGb3JTZWVkKCd0b28gbWFueSBzZWNyZXRzJyk7XG4gICAgY29uc3QgaW5wdXRzOiBJbnB1dFtdID0gaW5wdXRTY3JpcHRUeXBlc1xuICAgICAgLmZpbHRlcigoc2NyaXB0VHlwZSkgPT5cbiAgICAgICAgc2NyaXB0VHlwZSA9PT0gJ3RhcHJvb3RLZXlQYXRoU3BlbmQnXG4gICAgICAgICAgPyBpc1N1cHBvcnRlZFNjcmlwdFR5cGUobmV0d29yaywgJ3AydHJNdXNpZzInKVxuICAgICAgICAgIDogaXNTdXBwb3J0ZWRTY3JpcHRUeXBlKG5ldHdvcmssIHNjcmlwdFR5cGUpXG4gICAgICApXG4gICAgICAuZmlsdGVyKChzY3JpcHRUeXBlKSA9PiAoc3VpdGVDb25maWcuaW5jbHVkZVAydHJNdXNpZzJTY3JpcHRQYXRoID8/IHRydWUpIHx8IHNjcmlwdFR5cGUgIT09ICdwMnRyTXVzaWcyJylcbiAgICAgIC5tYXAoKHNjcmlwdFR5cGUpID0+ICh7IHNjcmlwdFR5cGUsIHZhbHVlOiBCaWdJbnQoMjAwMCkgfSkpO1xuXG4gICAgY29uc3Qgb3V0cHV0czogT3V0cHV0W10gPSBvdXRwdXRTY3JpcHRUeXBlc1xuICAgICAgLmZpbHRlcigoc2NyaXB0VHlwZSkgPT4gaXNTdXBwb3J0ZWRTY3JpcHRUeXBlKG5ldHdvcmssIHNjcmlwdFR5cGUpKVxuICAgICAgLm1hcCgoc2NyaXB0VHlwZSkgPT4gKHsgc2NyaXB0VHlwZSwgdmFsdWU6IEJpZ0ludCg5MDApIH0pKTtcblxuICAgIC8vIFRlc3Qgb3RoZXIgd2FsbGV0IG91dHB1dCAod2l0aCBkZXJpdmF0aW9uIGluZm8pXG4gICAgb3V0cHV0cy5wdXNoKHsgc2NyaXB0VHlwZTogJ3Ayc2gnLCB2YWx1ZTogQmlnSW50KDkwMCksIHdhbGxldEtleXM6IG90aGVyV2FsbGV0S2V5cyB9KTtcbiAgICAvLyBUZXMgbm9uLXdhbGxldCBvdXRwdXRcbiAgICBvdXRwdXRzLnB1c2goeyBzY3JpcHRUeXBlOiAncDJzaCcsIHZhbHVlOiBCaWdJbnQoOTAwKSwgd2FsbGV0S2V5czogbnVsbCB9KTtcbiAgICAvLyBUZXN0IE9QX1JFVFVSTiBvdXRwdXRcbiAgICBvdXRwdXRzLnB1c2goeyBvcFJldHVybjogJ3NldGVjIGFzdHJvbm9teScsIHZhbHVlOiBCaWdJbnQoMCkgfSk7XG5cbiAgICByZXR1cm4gbmV3IEFjaWRUZXN0KG5ldHdvcmssIHNpZ25TdGFnZSwgdHhGb3JtYXQsIHJvb3RXYWxsZXRLZXlzLCBvdGhlcldhbGxldEtleXMsIGlucHV0cywgb3V0cHV0cyk7XG4gIH1cblxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IG5ldHdvcmtOYW1lID0gZ2V0TmV0d29ya05hbWUodGhpcy5uZXR3b3JrKTtcbiAgICByZXR1cm4gYCR7bmV0d29ya05hbWV9ICR7dGhpcy5zaWduU3RhZ2V9ICR7dGhpcy50eEZvcm1hdH1gO1xuICB9XG5cbiAgZ2V0UmVwbGF5UHJvdGVjdGlvblB1YmxpY0tleSgpOiBCdWZmZXIge1xuICAgIHJldHVybiB0aGlzLnJvb3RXYWxsZXRLZXlzLnVzZXIucHVibGljS2V5O1xuICB9XG5cbiAgZ2V0UmVwbGF5UHJvdGVjdGlvbk91dHB1dFNjcmlwdCgpOiBCdWZmZXIge1xuICAgIGNvbnN0IHsgc2NyaXB0UHViS2V5IH0gPSBjcmVhdGVPdXRwdXRTY3JpcHRQMnNoUDJwayh0aGlzLmdldFJlcGxheVByb3RlY3Rpb25QdWJsaWNLZXkoKSk7XG4gICAgYXNzZXJ0KHNjcmlwdFB1YktleSk7XG4gICAgcmV0dXJuIHNjcmlwdFB1YktleTtcbiAgfVxuXG4gIGNyZWF0ZVBzYnQoKTogVXR4b1BzYnQge1xuICAgIGNvbnN0IHBzYnQgPSBjb25zdHJ1Y3RQc2J0KHRoaXMuaW5wdXRzLCB0aGlzLm91dHB1dHMsIHRoaXMubmV0d29yaywgdGhpcy5yb290V2FsbGV0S2V5cywgdGhpcy5zaWduU3RhZ2UsIHtcbiAgICAgIGRldGVybWluaXN0aWM6IHRydWUsXG4gICAgICBhZGRHbG9iYWxYUHViczogdHJ1ZSxcbiAgICB9KTtcbiAgICBpZiAodGhpcy50eEZvcm1hdCA9PT0gJ3BzYnQtbGl0ZScpIHtcbiAgICAgIHJldHVybiBjbG9uZVBzYnRXaXRob3V0Tm9uV2l0bmVzc1V0eG8ocHNidCk7XG4gICAgfVxuICAgIHJldHVybiBwc2J0O1xuICB9XG5cbiAgc3RhdGljIHN1aXRlKHN1aXRlQ29uZmlnOiBTdWl0ZUNvbmZpZyA9IHt9KTogQWNpZFRlc3RbXSB7XG4gICAgcmV0dXJuIGdldE5ldHdvcmtMaXN0KClcbiAgICAgIC5maWx0ZXIoKG5ldHdvcmspID0+IGlzTWFpbm5ldChuZXR3b3JrKSAmJiBuZXR3b3JrICE9PSBuZXR3b3Jrcy5iaXRjb2luc3YpXG4gICAgICAuZmxhdE1hcCgobmV0d29yaykgPT5cbiAgICAgICAgc2lnblN0YWdlcy5mbGF0TWFwKChzaWduU3RhZ2UpID0+XG4gICAgICAgICAgdHhGb3JtYXRzLmZsYXRNYXAoKHR4Rm9ybWF0KSA9PiBBY2lkVGVzdC53aXRoQ29uZmlnKG5ldHdvcmssIHNpZ25TdGFnZSwgdHhGb3JtYXQsIHN1aXRlQ29uZmlnKSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIFZlcmlmaWVzIHNpZ25hdHVyZXMgb2YgZnVsbHkgc2lnbmVkIHR4ICh3aXRoIHRhcHJvb3Qga2V5IHBhdGggc3VwcG9ydCkuXG4gKiBOT1RFOiB0YXByb290IGtleSBwYXRoIHR4IGNhbiBvbmx5IGJlIGJ1aWx0IGFuZCBzaWduZWQgd2l0aCBQU0JULlxuICovXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5RnVsbHlTaWduZWRTaWduYXR1cmVzKFxuICB0eDogVXR4b1RyYW5zYWN0aW9uPGJpZ2ludD4sXG4gIHVuc3BlbnRzOiBVbnNwZW50PGJpZ2ludD5bXSxcbiAgd2FsbGV0S2V5czogUm9vdFdhbGxldEtleXMsXG4gIHNpZ25lcjogS2V5TmFtZSxcbiAgY29zaWduZXI6IEtleU5hbWVcbik6IGJvb2xlYW4ge1xuICBjb25zdCBwcmV2T3V0cHV0cyA9IHVuc3BlbnRzLm1hcCgodSkgPT4gdG9PdXRwdXQodSwgdHgubmV0d29yaykpO1xuICByZXR1cm4gdW5zcGVudHMuZXZlcnkoKHUsIGluZGV4KSA9PiB7XG4gICAgaWYgKHBhcnNlU2lnbmF0dXJlU2NyaXB0Mk9mMyh0eC5pbnNbaW5kZXhdKS5zY3JpcHRUeXBlID09PSAndGFwcm9vdEtleVBhdGhTcGVuZCcpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGdldFNpZ25hdHVyZVZlcmlmaWNhdGlvbnModHgsIGluZGV4LCB1LnZhbHVlLCB1bmRlZmluZWQsIHByZXZPdXRwdXRzKTtcbiAgICAgIHJldHVybiByZXN1bHQubGVuZ3RoID09PSAxICYmIHJlc3VsdFswXS5zaWduYXR1cmU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHZlcmlmeVNpZ25hdHVyZVdpdGhVbnNwZW50KHR4LCBpbmRleCwgdW5zcGVudHMsIHdhbGxldEtleXMpO1xuICAgICAgaWYgKChzaWduZXIgPT09ICd1c2VyJyAmJiBjb3NpZ25lciA9PT0gJ2JpdGdvJykgfHwgKHNpZ25lciA9PT0gJ2JpdGdvJyAmJiBjb3NpZ25lciA9PT0gJ3VzZXInKSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0WzBdICYmICFyZXN1bHRbMV0gJiYgcmVzdWx0WzJdO1xuICAgICAgfSBlbHNlIGlmICgoc2lnbmVyID09PSAndXNlcicgJiYgY29zaWduZXIgPT09ICdiYWNrdXAnKSB8fCAoc2lnbmVyID09PSAnYmFja3VwJyAmJiBjb3NpZ25lciA9PT0gJ3VzZXInKSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0WzBdICYmIHJlc3VsdFsxXSAmJiAhcmVzdWx0WzJdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuICFyZXN1bHRbMF0gJiYgcmVzdWx0WzFdICYmIHJlc3VsdFsyXTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/utxo-lib",
|
|
3
|
-
"version": "8.0.3-beta.
|
|
3
|
+
"version": "8.0.3-beta.1482",
|
|
4
4
|
"description": "Client-side Bitcoin JavaScript library",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"engines": {
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
"dist/src"
|
|
47
47
|
],
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@bitgo-beta/blake2b": "3.0.4-beta.
|
|
50
|
-
"@bitgo-beta/secp256k1": "1.0.2-beta.
|
|
49
|
+
"@bitgo-beta/blake2b": "3.0.4-beta.1719",
|
|
50
|
+
"@bitgo-beta/secp256k1": "1.0.2-beta.1508",
|
|
51
51
|
"@brandonblack/musig": "^0.0.1-alpha.0",
|
|
52
52
|
"bech32": "^2.0.0",
|
|
53
53
|
"bip174": "npm:@bitgo-forks/bip174@3.1.0-master.4",
|
|
@@ -77,5 +77,5 @@
|
|
|
77
77
|
},
|
|
78
78
|
"author": "BitGo SDK Team <sdkteam@bitgo.com>",
|
|
79
79
|
"license": "MIT",
|
|
80
|
-
"gitHead": "
|
|
80
|
+
"gitHead": "099a1f12dfe660d9fcab9b4e501bd2aef4370e25"
|
|
81
81
|
}
|