@bitgo-beta/utxo-staking 1.1.1-beta.1555 → 1.1.1-beta.1557
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/pox5/recovery.d.ts +11 -10
- package/dist/cjs/src/pox5/recovery.d.ts.map +1 -1
- package/dist/cjs/src/pox5/recovery.js +12 -72
- package/dist/cjs/src/pox5/witness.d.ts.map +1 -1
- package/dist/cjs/src/pox5/witness.js +4 -4
- package/dist/cjs/test/unit/pox5/recoveryCompat.d.ts +2 -0
- package/dist/cjs/test/unit/pox5/recoveryCompat.d.ts.map +1 -0
- package/dist/cjs/test/unit/pox5/recoveryCompat.js +51 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/pox5/recovery.d.ts +11 -10
- package/dist/esm/pox5/recovery.d.ts.map +1 -1
- package/dist/esm/pox5/recovery.js +11 -67
- package/dist/esm/pox5/witness.d.ts.map +1 -1
- package/dist/esm/pox5/witness.js +4 -4
- package/package.json +6 -6
- package/dist/cjs/test/unit/pox5/recovery.d.ts +0 -2
- package/dist/cjs/test/unit/pox5/recovery.d.ts.map +0 -1
- package/dist/cjs/test/unit/pox5/recovery.js +0 -88
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { Psbt } from '@bitgo/wasm-utxo';
|
|
2
1
|
import { pox5 } from '@bitgo-beta/utxo-descriptors';
|
|
2
|
+
/** @deprecated Use `pox5.POX5_MAX_UNLOCK_HEIGHT` from `@bitgo-beta/utxo-descriptors`. */
|
|
3
3
|
export declare const POX5_MAX_UNLOCK_HEIGHT = 500000000;
|
|
4
|
-
/**
|
|
5
|
-
export declare
|
|
6
|
-
/**
|
|
7
|
-
export declare
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
/** @deprecated Use `pox5.assertPox5LocktimeSpend` from `@bitgo-beta/utxo-descriptors`. */
|
|
5
|
+
export declare const assertPox5LocktimeSpend: typeof pox5.assertPox5LocktimeSpend;
|
|
6
|
+
/** @deprecated Use `pox5.assertPox5EarlyExitSpend` from `@bitgo-beta/utxo-descriptors`. */
|
|
7
|
+
export declare const assertPox5EarlyExitSpend: typeof pox5.assertPox5EarlyExitSpend;
|
|
8
|
+
/** @deprecated Use `pox5.classifyPox5Spend` from `@bitgo-beta/utxo-descriptors`. */
|
|
9
|
+
export declare const classifyPox5Spend: typeof pox5.classifyPox5Spend;
|
|
10
|
+
/** @deprecated Use `pox5.preparePox5EarlyExit` from `@bitgo-beta/utxo-descriptors`. */
|
|
11
|
+
export declare const preparePox5EarlyExit: typeof pox5.preparePox5EarlyExit;
|
|
12
|
+
/** @deprecated Use `pox5.Pox5SpendBranch` from `@bitgo-beta/utxo-descriptors`. */
|
|
13
|
+
export type Pox5SpendBranch = pox5.Pox5SpendBranch;
|
|
13
14
|
//# sourceMappingURL=recovery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../../../src/pox5/recovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../../../src/pox5/recovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAEpD,yFAAyF;AACzF,eAAO,MAAM,sBAAsB,YAA8B,CAAC;AAElE,0FAA0F;AAC1F,eAAO,MAAM,uBAAuB,qCAA+B,CAAC;AAEpE,2FAA2F;AAC3F,eAAO,MAAM,wBAAwB,sCAAgC,CAAC;AAEtE,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,+BAAyB,CAAC;AAExD,uFAAuF;AACvF,eAAO,MAAM,oBAAoB,kCAA4B,CAAC;AAE9D,kFAAkF;AAClF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC"}
|
|
@@ -1,75 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.POX5_MAX_UNLOCK_HEIGHT = void 0;
|
|
4
|
-
exports.assertPox5LocktimeSpend = assertPox5LocktimeSpend;
|
|
5
|
-
exports.assertPox5EarlyExitSpend = assertPox5EarlyExitSpend;
|
|
6
|
-
exports.classifyPox5Spend = classifyPox5Spend;
|
|
7
|
-
exports.preparePox5EarlyExit = preparePox5EarlyExit;
|
|
8
|
-
const wasm_utxo_1 = require("@bitgo/wasm-utxo");
|
|
3
|
+
exports.preparePox5EarlyExit = exports.classifyPox5Spend = exports.assertPox5EarlyExitSpend = exports.assertPox5LocktimeSpend = exports.POX5_MAX_UNLOCK_HEIGHT = void 0;
|
|
9
4
|
const utxo_descriptors_1 = require("@bitgo-beta/utxo-descriptors");
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
function getMatchedTransactionInput(psbt, match) {
|
|
22
|
-
const psbtInput = psbt.getInputs()[match.inputIndex];
|
|
23
|
-
const transactionInput = wasm_utxo_1.Transaction.fromBytes(psbt.getUnsignedTx()).getInputs()[match.inputIndex];
|
|
24
|
-
const descriptorScript = Buffer.from(match.descriptor.scriptPubkey());
|
|
25
|
-
if (!psbtInput?.witnessUtxo ||
|
|
26
|
-
!transactionInput ||
|
|
27
|
-
!Buffer.from(psbtInput.witnessUtxo.script).equals(descriptorScript)) {
|
|
28
|
-
throw new Error(`PoX-5 descriptor match does not match PSBT input ${match.inputIndex}`);
|
|
29
|
-
}
|
|
30
|
-
return transactionInput;
|
|
31
|
-
}
|
|
32
|
-
/** Validate the post-CLTV policy for all canonical PoX-5 inputs in a recovery PSBT. */
|
|
33
|
-
function assertPox5LocktimeSpend(psbt, inputs) {
|
|
34
|
-
if (inputs.length === 0) {
|
|
35
|
-
throw new Error('PoX-5 lockup descriptor match is required');
|
|
36
|
-
}
|
|
37
|
-
const unlockHeights = inputs.map((input) => {
|
|
38
|
-
const { unlockHeight } = input.info;
|
|
39
|
-
assertPox5UnlockHeight(unlockHeight);
|
|
40
|
-
return unlockHeight;
|
|
41
|
-
});
|
|
42
|
-
const lockTime = psbt.lockTime();
|
|
43
|
-
assertPox5BlockHeightLocktime(lockTime);
|
|
44
|
-
const requiredLockTime = Math.max(...unlockHeights);
|
|
45
|
-
if (lockTime < requiredLockTime) {
|
|
46
|
-
throw new Error(`PoX-5 nLockTime must be at least ${requiredLockTime}`);
|
|
47
|
-
}
|
|
48
|
-
for (const input of inputs) {
|
|
49
|
-
if (getMatchedTransactionInput(psbt, input).sequence === 0xffffffff) {
|
|
50
|
-
throw new Error(`PoX-5 locktime spend input ${input.inputIndex} must use a non-final sequence`);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
/** Validate that a canonical PoX-5 input can use the principal-preimage branch. */
|
|
55
|
-
function assertPox5EarlyExitSpend(psbt, input) {
|
|
56
|
-
getMatchedTransactionInput(psbt, input);
|
|
57
|
-
}
|
|
58
|
-
/** Classify a PoX-5 spend from native principal-preimage metadata. */
|
|
59
|
-
function classifyPox5Spend(psbt, input) {
|
|
60
|
-
getMatchedTransactionInput(psbt, input);
|
|
61
|
-
const hasPrincipalPreimage = psbt
|
|
62
|
-
.getInputKeyValues(input.inputIndex)
|
|
63
|
-
.some((record) => record.type === 'known' && record.key === 'PSBT_IN_SHA256');
|
|
64
|
-
return hasPrincipalPreimage ? 'early-exit' : 'locktime';
|
|
65
|
-
}
|
|
66
|
-
/** Add validated principal-preimage metadata for an early-exit spend. */
|
|
67
|
-
function preparePox5EarlyExit(psbt, inputIndex, input, principalPreimage) {
|
|
68
|
-
if (inputIndex !== input.inputIndex) {
|
|
69
|
-
throw new Error(`PoX-5 descriptor match belongs to PSBT input ${input.inputIndex}, not ${inputIndex}`);
|
|
70
|
-
}
|
|
71
|
-
assertPox5EarlyExitSpend(psbt, input);
|
|
72
|
-
utxo_descriptors_1.pox5.assertPox5PrincipalPreimage(input.info, principalPreimage);
|
|
73
|
-
psbt.addSha256Preimage(inputIndex, principalPreimage);
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3ZlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcG94NS9yZWNvdmVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFnQ0EsMERBcUJDO0FBR0QsNERBRUM7QUFLRCw4Q0FNQztBQUdELG9EQVlDO0FBcEZELGdEQUFxRDtBQUNyRCxtRUFBb0Q7QUFFdkMsUUFBQSxzQkFBc0IsR0FBRyxTQUFXLENBQUM7QUFFbEQsU0FBUyxzQkFBc0IsQ0FBQyxZQUFvQjtJQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxZQUFZLElBQUksQ0FBQyxJQUFJLFlBQVksSUFBSSw4QkFBc0IsRUFBRSxDQUFDO1FBQ3ZHLE1BQU0sSUFBSSxLQUFLLENBQUMsNkRBQTZELDhCQUFzQixFQUFFLENBQUMsQ0FBQztJQUN6RyxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsNkJBQTZCLENBQUMsUUFBZ0I7SUFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxHQUFHLENBQUMsSUFBSSxRQUFRLElBQUksOEJBQXNCLEVBQUUsQ0FBQztRQUMxRixNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCw4QkFBc0IsRUFBRSxDQUFDLENBQUM7SUFDNUYsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLDBCQUEwQixDQUFDLElBQVUsRUFBRSxLQUEwQjtJQUN4RSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JELE1BQU0sZ0JBQWdCLEdBQUcsdUJBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25HLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxL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LDJCQUEyQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNoRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUM7QUFDeEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBzYnQsIFRyYW5zYWN0aW9uIH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5pbXBvcnQgeyBwb3g1IH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1kZXNjcmlwdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBQT1g1X01BWF9VTkxPQ0tfSEVJR0hUID0gNTAwXzAwMF8wMDA7XG5cbmZ1bmN0aW9uIGFzc2VydFBveDVVbmxvY2tIZWlnaHQodW5sb2NrSGVpZ2h0OiBudW1iZXIpOiB2b2lkIHtcbiAgaWYgKCFOdW1iZXIuaXNTYWZlSW50ZWdlcih1bmxvY2tIZWlnaHQpIHx8IHVubG9ja0hlaWdodCA8PSAwIHx8IHVubG9ja0hlaWdodCA+PSBQT1g1X01BWF9VTkxPQ0tfSEVJR0hUKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBQb1gtNSB1bmxvY2sgaGVpZ2h0IG11c3QgYmUgYSBwb3NpdGl2ZSBibG9jayBoZWlnaHQgYmVsb3cgJHtQT1g1X01BWF9VTkxPQ0tfSEVJR0hUfWApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGFzc2VydFBveDVCbG9ja0hlaWdodExvY2t0aW1lKGxvY2tUaW1lOiBudW1iZXIpOiB2b2lkIHtcbiAgaWYgKCFOdW1iZXIuaXNTYWZlSW50ZWdlcihsb2NrVGltZSkgfHwgbG9ja1RpbWUgPCAwIHx8IGxvY2tUaW1lID49IFBPWDVfTUFYX1VOTE9DS19IRUlHSFQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFBvWC01IG5Mb2NrVGltZSBtdXN0IGJlIGEgYmxvY2sgaGVpZ2h0IGJlbG93ICR7UE9YNV9NQVhfVU5MT0NLX0hFSUdIVH1gKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRNYXRjaGVkVHJhbnNhY3Rpb25JbnB1dChwc2J0OiBQc2J0LCBtYXRjaDogcG94NS5Qb3g1SW5wdXRNYXRjaCkge1xuICBjb25zdCBwc2J0SW5wdXQgPSBwc2J0LmdldElucHV0cygpW21hdGNoLmlucHV0SW5kZXhdO1xuICBjb25zdCB0cmFuc2FjdGlvbklucHV0ID0gVHJhbnNhY3Rpb24uZnJvbUJ5dGVzKHBzYnQuZ2V0VW5zaWduZWRUeCgpKS5nZXRJbnB1dHMoKVttYXRjaC5pbnB1dEluZGV4XTtcbiAgY29uc3QgZGVzY3JpcHRvclNjcmlwdCA9IEJ1ZmZlci5mcm9tKG1hdGNoLmRlc2NyaXB0b3Iuc2NyaXB0UHVia2V5KCkpO1xuICBpZiAoXG4gICAgIXBzYnRJbnB1dD8ud2l0bmVzc1V0eG8gfHxcbiAgICAhdHJhbnNhY3Rpb25JbnB1dCB8fFxuICAgICFCdWZmZXIuZnJvbShwc2J0SW5wdXQud2l0bmVzc1V0eG8uc2NyaXB0KS5lcXVhbHMoZGVzY3JpcHRvclNjcmlwdClcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBQb1gtNSBkZXNjcmlwdG9yIG1hdGNoIGRvZXMgbm90IG1hdGNoIFBTQlQgaW5wdXQgJHttYXRjaC5pbnB1dEluZGV4fWApO1xuICB9XG4gIHJldHVybiB0cmFuc2FjdGlvbklucHV0O1xufVxuXG4vKiogVmFsaWRhdGUgdGhlIHBvc3QtQ0xUViBwb2xpY3kgZm9yIGFsbCBjYW5vbmljYWwgUG9YLTUgaW5wdXRzIGluIGEgcmVjb3ZlcnkgUFNCVC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRQb3g1TG9ja3RpbWVTcGVuZChwc2J0OiBQc2J0LCBpbnB1dHM6IHJlYWRvbmx5IHBveDUuUG94NUlucHV0TWF0Y2hbXSk6IHZvaWQge1xuICBpZiAoaW5wdXRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignUG9YLTUgbG9ja3VwIGRlc2NyaXB0b3IgbWF0Y2ggaXMgcmVxdWlyZWQnKTtcbiAgfVxuXG4gIGNvbnN0IHVubG9ja0hlaWdodHMgPSBpbnB1dHMubWFwKChpbnB1dCkgPT4ge1xuICAgIGNvbnN0IHsgdW5sb2NrSGVpZ2h0IH0gPSBpbnB1dC5pbmZvO1xuICAgIGFzc2VydFBveDVVbmxvY2tIZWlnaHQodW5sb2NrSGVpZ2h0KTtcbiAgICByZXR1cm4gdW5sb2NrSGVpZ2h0O1xuICB9KTtcbiAgY29uc3QgbG9ja1RpbWUgPSBwc2J0LmxvY2tUaW1lKCk7XG4gIGFzc2VydFBveDVCbG9ja0hlaWdodExvY2t0aW1lKGxvY2tUaW1lKTtcbiAgY29uc3QgcmVxdWlyZWRMb2NrVGltZSA9IE1hdGgubWF4KC4uLnVubG9ja0hlaWdodHMpO1xuICBpZiAobG9ja1RpbWUgPCByZXF1aXJlZExvY2tUaW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBQb1gtNSBuTG9ja1RpbWUgbXVzdCBiZSBhdCBsZWFzdCAke3JlcXVpcmVkTG9ja1RpbWV9YCk7XG4gIH1cbiAgZm9yIChjb25zdCBpbnB1dCBvZiBpbnB1dHMpIHtcbiAgICBpZiAoZ2V0TWF0Y2hlZFRyYW5zYWN0aW9uSW5wdXQocHNidCwgaW5wdXQpLnNlcXVlbmNlID09PSAweGZmZmZmZmZmKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFBvWC01IGxvY2t0aW1lIHNwZW5kIGlucHV0ICR7aW5wdXQuaW5wdXRJbmRleH0gbXVzdCB1c2UgYSBub24tZmluYWwgc2VxdWVuY2VgKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqIFZhbGlkYXRlIHRoYXQgYSBjYW5vbmljYWwgUG9YLTUgaW5wdXQgY2FuIHVzZSB0aGUgcHJpbmNpcGFsLXByZWltYWdlIGJyYW5jaC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRQb3g1RWFybHlFeGl0U3BlbmQocHNidDogUHNidCwgaW5wdXQ6IHBveDUuUG94NUlucHV0TWF0Y2gpOiB2b2lkIHtcbiAgZ2V0TWF0Y2hlZFRyYW5zYWN0aW9uSW5wdXQocHNidCwgaW5wdXQpO1xufVxuXG5leHBvcnQgdHlwZSBQb3g1U3BlbmRCcmFuY2ggPSAnbG9ja3RpbWUnIHwgJ2Vhcmx5LWV4aXQnO1xuXG4vKiogQ2xhc3NpZnkgYSBQb1gtNSBzcGVuZCBmcm9tIG5hdGl2ZSBwcmluY2lwYWwtcHJlaW1hZ2UgbWV0YWRhdGEuICovXG5leHBvcnQgZnVuY3Rpb24gY2xhc3NpZnlQb3g1U3BlbmQocHNidDogUHNidCwgaW5wdXQ6IHBveDUuUG94NUlucHV0TWF0Y2gpOiBQb3g1U3BlbmRCcmFuY2gge1xuICBnZXRNYXRjaGVkVHJhbnNhY3Rpb25JbnB1dChwc2J0LCBpbnB1dCk7XG4gIGNvbnN0IGhhc1ByaW5jaXBhbFByZWltYWdlID0gcHNidFxuICAgIC5nZXRJbnB1dEtleVZhbHVlcyhpbnB1dC5pbnB1dEluZGV4KVxuICAgIC5zb21lKChyZWNvcmQpID0+IHJlY29yZC50eXBlID09PSAna25vd24nICYmIHJlY29yZC5rZXkgPT09ICdQU0JUX0lOX1NIQTI1NicpO1xuICByZXR1cm4gaGFzUHJpbmNpcGFsUHJlaW1hZ2UgPyAnZWFybHktZXhpdCcgOiAnbG9ja3RpbWUnO1xufVxuXG4vKiogQWRkIHZhbGlkYXRlZCBwcmluY2lwYWwtcHJlaW1hZ2UgbWV0YWRhdGEgZm9yIGFuIGVhcmx5LWV4aXQgc3BlbmQuICovXG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZVBveDVFYXJseUV4aXQoXG4gIHBzYnQ6IFBzYnQsXG4gIGlucHV0SW5kZXg6IG51bWJlcixcbiAgaW5wdXQ6IHBveDUuUG94NUlucHV0TWF0Y2gsXG4gIHByaW5jaXBhbFByZWltYWdlOiBVaW50OEFycmF5XG4pOiB2b2lkIHtcbiAgaWYgKGlucHV0SW5kZXggIT09IGlucHV0LmlucHV0SW5kZXgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFBvWC01IGRlc2NyaXB0b3IgbWF0Y2ggYmVsb25ncyB0byBQU0JUIGlucHV0ICR7aW5wdXQuaW5wdXRJbmRleH0sIG5vdCAke2lucHV0SW5kZXh9YCk7XG4gIH1cbiAgYXNzZXJ0UG94NUVhcmx5RXhpdFNwZW5kKHBzYnQsIGlucHV0KTtcbiAgcG94NS5hc3NlcnRQb3g1UHJpbmNpcGFsUHJlaW1hZ2UoaW5wdXQuaW5mbywgcHJpbmNpcGFsUHJlaW1hZ2UpO1xuICBwc2J0LmFkZFNoYTI1NlByZWltYWdlKGlucHV0SW5kZXgsIHByaW5jaXBhbFByZWltYWdlKTtcbn1cbiJdfQ==
|
|
5
|
+
/** @deprecated Use `pox5.POX5_MAX_UNLOCK_HEIGHT` from `@bitgo-beta/utxo-descriptors`. */
|
|
6
|
+
exports.POX5_MAX_UNLOCK_HEIGHT = utxo_descriptors_1.pox5.POX5_MAX_UNLOCK_HEIGHT;
|
|
7
|
+
/** @deprecated Use `pox5.assertPox5LocktimeSpend` from `@bitgo-beta/utxo-descriptors`. */
|
|
8
|
+
exports.assertPox5LocktimeSpend = utxo_descriptors_1.pox5.assertPox5LocktimeSpend;
|
|
9
|
+
/** @deprecated Use `pox5.assertPox5EarlyExitSpend` from `@bitgo-beta/utxo-descriptors`. */
|
|
10
|
+
exports.assertPox5EarlyExitSpend = utxo_descriptors_1.pox5.assertPox5EarlyExitSpend;
|
|
11
|
+
/** @deprecated Use `pox5.classifyPox5Spend` from `@bitgo-beta/utxo-descriptors`. */
|
|
12
|
+
exports.classifyPox5Spend = utxo_descriptors_1.pox5.classifyPox5Spend;
|
|
13
|
+
/** @deprecated Use `pox5.preparePox5EarlyExit` from `@bitgo-beta/utxo-descriptors`. */
|
|
14
|
+
exports.preparePox5EarlyExit = utxo_descriptors_1.pox5.preparePox5EarlyExit;
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3ZlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcG94NS9yZWNvdmVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRUFBb0Q7QUFFcEQseUZBQXlGO0FBQzVFLFFBQUEsc0JBQXNCLEdBQUcsdUJBQUksQ0FBQyxzQkFBc0IsQ0FBQztBQUVsRSwwRkFBMEY7QUFDN0UsUUFBQSx1QkFBdUIsR0FBRyx1QkFBSSxDQUFDLHVCQUF1QixDQUFDO0FBRXBFLDJGQUEyRjtBQUM5RSxRQUFBLHdCQUF3QixHQUFHLHVCQUFJLENBQUMsd0JBQXdCLENBQUM7QUFFdEUsb0ZBQW9GO0FBQ3ZFLFFBQUEsaUJBQWlCLEdBQUcsdUJBQUksQ0FBQyxpQkFBaUIsQ0FBQztBQUV4RCx1RkFBdUY7QUFDMUUsUUFBQSxvQkFBb0IsR0FBRyx1QkFBSSxDQUFDLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcG94NSB9IGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tZGVzY3JpcHRvcnMnO1xuXG4vKiogQGRlcHJlY2F0ZWQgVXNlIGBwb3g1LlBPWDVfTUFYX1VOTE9DS19IRUlHSFRgIGZyb20gYEBiaXRnby1iZXRhL3V0eG8tZGVzY3JpcHRvcnNgLiAqL1xuZXhwb3J0IGNvbnN0IFBPWDVfTUFYX1VOTE9DS19IRUlHSFQgPSBwb3g1LlBPWDVfTUFYX1VOTE9DS19IRUlHSFQ7XG5cbi8qKiBAZGVwcmVjYXRlZCBVc2UgYHBveDUuYXNzZXJ0UG94NUxvY2t0aW1lU3BlbmRgIGZyb20gYEBiaXRnby1iZXRhL3V0eG8tZGVzY3JpcHRvcnNgLiAqL1xuZXhwb3J0IGNvbnN0IGFzc2VydFBveDVMb2NrdGltZVNwZW5kID0gcG94NS5hc3NlcnRQb3g1TG9ja3RpbWVTcGVuZDtcblxuLyoqIEBkZXByZWNhdGVkIFVzZSBgcG94NS5hc3NlcnRQb3g1RWFybHlFeGl0U3BlbmRgIGZyb20gYEBiaXRnby1iZXRhL3V0eG8tZGVzY3JpcHRvcnNgLiAqL1xuZXhwb3J0IGNvbnN0IGFzc2VydFBveDVFYXJseUV4aXRTcGVuZCA9IHBveDUuYXNzZXJ0UG94NUVhcmx5RXhpdFNwZW5kO1xuXG4vKiogQGRlcHJlY2F0ZWQgVXNlIGBwb3g1LmNsYXNzaWZ5UG94NVNwZW5kYCBmcm9tIGBAYml0Z28tYmV0YS91dHhvLWRlc2NyaXB0b3JzYC4gKi9cbmV4cG9ydCBjb25zdCBjbGFzc2lmeVBveDVTcGVuZCA9IHBveDUuY2xhc3NpZnlQb3g1U3BlbmQ7XG5cbi8qKiBAZGVwcmVjYXRlZCBVc2UgYHBveDUucHJlcGFyZVBveDVFYXJseUV4aXRgIGZyb20gYEBiaXRnby1iZXRhL3V0eG8tZGVzY3JpcHRvcnNgLiAqL1xuZXhwb3J0IGNvbnN0IHByZXBhcmVQb3g1RWFybHlFeGl0ID0gcG94NS5wcmVwYXJlUG94NUVhcmx5RXhpdDtcblxuLyoqIEBkZXByZWNhdGVkIFVzZSBgcG94NS5Qb3g1U3BlbmRCcmFuY2hgIGZyb20gYEBiaXRnby1iZXRhL3V0eG8tZGVzY3JpcHRvcnNgLiAqL1xuZXhwb3J0IHR5cGUgUG94NVNwZW5kQnJhbmNoID0gcG94NS5Qb3g1U3BlbmRCcmFuY2g7XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"witness.d.ts","sourceRoot":"","sources":["../../../../src/pox5/witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"witness.d.ts","sourceRoot":"","sources":["../../../../src/pox5/witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAEpD,MAAM,MAAM,mBAAmB,GAAG;IAChC,oEAAoE;IACpE,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC;CAC5B,CAAC;AAQF,wDAAwD;AACxD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAK1G;AAED,4EAA4E;AAC5E,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,mBAAmB,GAAG;IAAE,iBAAiB,EAAE,UAAU,CAAA;CAAE,GAC9D,IAAI,CAKN"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.finalizePox5LocktimePath = finalizePox5LocktimePath;
|
|
4
4
|
exports.finalizePox5EarlyExitPath = finalizePox5EarlyExitPath;
|
|
5
|
-
const
|
|
5
|
+
const utxo_descriptors_1 = require("@bitgo-beta/utxo-descriptors");
|
|
6
6
|
function assertFinalizerInputIndex(inputIndex, match) {
|
|
7
7
|
if (inputIndex !== match.inputIndex) {
|
|
8
8
|
throw new Error(`PoX-5 descriptor match belongs to PSBT input ${match.inputIndex}, not ${inputIndex}`);
|
|
@@ -11,15 +11,15 @@ function assertFinalizerInputIndex(inputIndex, match) {
|
|
|
11
11
|
/** Finalize the post-CLTV 2-of-3 PoX-5 spend branch. */
|
|
12
12
|
function finalizePox5LocktimePath(psbt, inputIndex, params) {
|
|
13
13
|
assertFinalizerInputIndex(inputIndex, params.match);
|
|
14
|
-
|
|
14
|
+
utxo_descriptors_1.pox5.assertPox5LocktimeSpend(psbt, [params.match]);
|
|
15
15
|
psbt.updateInputWithDescriptor(inputIndex, params.match.descriptor);
|
|
16
16
|
psbt.finalizeInput(inputIndex);
|
|
17
17
|
}
|
|
18
18
|
/** Finalize the principal-preimage early-exit 2-of-3 PoX-5 spend branch. */
|
|
19
19
|
function finalizePox5EarlyExitPath(psbt, inputIndex, params) {
|
|
20
20
|
assertFinalizerInputIndex(inputIndex, params.match);
|
|
21
|
-
|
|
21
|
+
utxo_descriptors_1.pox5.preparePox5EarlyExit(psbt, inputIndex, params.match, params.principalPreimage);
|
|
22
22
|
psbt.updateInputWithDescriptor(inputIndex, params.match.descriptor);
|
|
23
23
|
psbt.finalizeInput(inputIndex);
|
|
24
24
|
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0bmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wb3g1L3dpdG5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFlQSw0REFLQztBQUdELDhEQVNDO0FBL0JELG1FQUFvRDtBQU9wRCxTQUFTLHlCQUF5QixDQUFDLFVBQWtCLEVBQUUsS0FBMEI7SUFDL0UsSUFBSSxVQUFVLEtBQUssS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELEtBQUssQ0FBQyxVQUFVLFNBQVMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUN6RyxDQUFDO0FBQ0gsQ0FBQztBQUVELHdEQUF3RDtBQUN4RCxTQUFnQix3QkFBd0IsQ0FBQyxJQUFVLEVBQUUsVUFBa0IsRUFBRSxNQUEyQjtJQUNsRyx5QkFBeUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELHVCQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkQsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BFLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDakMsQ0FBQztBQUVELDRFQUE0RTtBQUM1RSxTQUFnQix5QkFBeUIsQ0FDdkMsSUFBVSxFQUNWLFVBQWtCLEVBQ2xCLE1BQStEO0lBRS9ELHlCQUF5QixDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEQsdUJBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEYsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BFLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBzYnQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCB7IHBveDUgfSBmcm9tICdAYml0Z28tYmV0YS91dHhvLWRlc2NyaXB0b3JzJztcblxuZXhwb3J0IHR5cGUgUG94NUZpbmFsaXplclBhcmFtcyA9IHtcbiAgLyoqIFRoZSBjYW5vbmljYWwgZGVzY3JpcHRvciBtYXRjaCBmb3IgdGhlIGlucHV0IGJlaW5nIGZpbmFsaXplZC4gKi9cbiAgbWF0Y2g6IHBveDUuUG94NUlucHV0TWF0Y2g7XG59O1xuXG5mdW5jdGlvbiBhc3NlcnRGaW5hbGl6ZXJJbnB1dEluZGV4KGlucHV0SW5kZXg6IG51bWJlciwgbWF0Y2g6IHBveDUuUG94NUlucHV0TWF0Y2gpOiB2b2lkIHtcbiAgaWYgKGlucHV0SW5kZXggIT09IG1hdGNoLmlucHV0SW5kZXgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFBvWC01IGRlc2NyaXB0b3IgbWF0Y2ggYmVsb25ncyB0byBQU0JUIGlucHV0ICR7bWF0Y2guaW5wdXRJbmRleH0sIG5vdCAke2lucHV0SW5kZXh9YCk7XG4gIH1cbn1cblxuLyoqIEZpbmFsaXplIHRoZSBwb3N0LUNMVFYgMi1vZi0zIFBvWC01IHNwZW5kIGJyYW5jaC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5hbGl6ZVBveDVMb2NrdGltZVBhdGgocHNidDogUHNidCwgaW5wdXRJbmRleDogbnVtYmVyLCBwYXJhbXM6IFBveDVGaW5hbGl6ZXJQYXJhbXMpOiB2b2lkIHtcbiAgYXNzZXJ0RmluYWxpemVySW5wdXRJbmRleChpbnB1dEluZGV4LCBwYXJhbXMubWF0Y2gpO1xuICBwb3g1LmFzc2VydFBveDVMb2NrdGltZVNwZW5kKHBzYnQsIFtwYXJhbXMubWF0Y2hdKTtcbiAgcHNidC51cGRhdGVJbnB1dFdpdGhEZXNjcmlwdG9yKGlucHV0SW5kZXgsIHBhcmFtcy5tYXRjaC5kZXNjcmlwdG9yKTtcbiAgcHNidC5maW5hbGl6ZUlucHV0KGlucHV0SW5kZXgpO1xufVxuXG4vKiogRmluYWxpemUgdGhlIHByaW5jaXBhbC1wcmVpbWFnZSBlYXJseS1leGl0IDItb2YtMyBQb1gtNSBzcGVuZCBicmFuY2guICovXG5leHBvcnQgZnVuY3Rpb24gZmluYWxpemVQb3g1RWFybHlFeGl0UGF0aChcbiAgcHNidDogUHNidCxcbiAgaW5wdXRJbmRleDogbnVtYmVyLFxuICBwYXJhbXM6IFBveDVGaW5hbGl6ZXJQYXJhbXMgJiB7IHByaW5jaXBhbFByZWltYWdlOiBVaW50OEFycmF5IH1cbik6IHZvaWQge1xuICBhc3NlcnRGaW5hbGl6ZXJJbnB1dEluZGV4KGlucHV0SW5kZXgsIHBhcmFtcy5tYXRjaCk7XG4gIHBveDUucHJlcGFyZVBveDVFYXJseUV4aXQocHNidCwgaW5wdXRJbmRleCwgcGFyYW1zLm1hdGNoLCBwYXJhbXMucHJpbmNpcGFsUHJlaW1hZ2UpO1xuICBwc2J0LnVwZGF0ZUlucHV0V2l0aERlc2NyaXB0b3IoaW5wdXRJbmRleCwgcGFyYW1zLm1hdGNoLmRlc2NyaXB0b3IpO1xuICBwc2J0LmZpbmFsaXplSW5wdXQoaW5wdXRJbmRleCk7XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recoveryCompat.d.ts","sourceRoot":"","sources":["../../../../../test/unit/pox5/recoveryCompat.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const strict_1 = __importDefault(require("assert/strict"));
|
|
40
|
+
const utxo_descriptors_1 = require("@bitgo-beta/utxo-descriptors");
|
|
41
|
+
const staking = __importStar(require("../../../src/pox5"));
|
|
42
|
+
describe('PoX-5 spend policy compatibility exports', function () {
|
|
43
|
+
it('re-exports the spend policy from utxo-descriptors', function () {
|
|
44
|
+
strict_1.default.equal(staking.POX5_MAX_UNLOCK_HEIGHT, utxo_descriptors_1.pox5.POX5_MAX_UNLOCK_HEIGHT);
|
|
45
|
+
strict_1.default.equal(staking.assertPox5LocktimeSpend, utxo_descriptors_1.pox5.assertPox5LocktimeSpend);
|
|
46
|
+
strict_1.default.equal(staking.assertPox5EarlyExitSpend, utxo_descriptors_1.pox5.assertPox5EarlyExitSpend);
|
|
47
|
+
strict_1.default.equal(staking.classifyPox5Spend, utxo_descriptors_1.pox5.classifyPox5Spend);
|
|
48
|
+
strict_1.default.equal(staking.preparePox5EarlyExit, utxo_descriptors_1.pox5.preparePox5EarlyExit);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3ZlcnlDb21wYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvcG94NS9yZWNvdmVyeUNvbXBhdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJEQUFtQztBQUVuQyxtRUFBb0Q7QUFFcEQsMkRBQTZDO0FBRTdDLFFBQVEsQ0FBQywwQ0FBMEMsRUFBRTtJQUNuRCxFQUFFLENBQUMsbURBQW1ELEVBQUU7UUFDdEQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLHVCQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMxRSxnQkFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsdUJBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzVFLGdCQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSx1QkFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDOUUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLHVCQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoRSxnQkFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsdUJBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3hFLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydC9zdHJpY3QnO1xuXG5pbXBvcnQgeyBwb3g1IH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1kZXNjcmlwdG9ycyc7XG5cbmltcG9ydCAqIGFzIHN0YWtpbmcgZnJvbSAnLi4vLi4vLi4vc3JjL3BveDUnO1xuXG5kZXNjcmliZSgnUG9YLTUgc3BlbmQgcG9saWN5IGNvbXBhdGliaWxpdHkgZXhwb3J0cycsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ3JlLWV4cG9ydHMgdGhlIHNwZW5kIHBvbGljeSBmcm9tIHV0eG8tZGVzY3JpcHRvcnMnLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LmVxdWFsKHN0YWtpbmcuUE9YNV9NQVhfVU5MT0NLX0hFSUdIVCwgcG94NS5QT1g1X01BWF9VTkxPQ0tfSEVJR0hUKTtcbiAgICBhc3NlcnQuZXF1YWwoc3Rha2luZy5hc3NlcnRQb3g1TG9ja3RpbWVTcGVuZCwgcG94NS5hc3NlcnRQb3g1TG9ja3RpbWVTcGVuZCk7XG4gICAgYXNzZXJ0LmVxdWFsKHN0YWtpbmcuYXNzZXJ0UG94NUVhcmx5RXhpdFNwZW5kLCBwb3g1LmFzc2VydFBveDVFYXJseUV4aXRTcGVuZCk7XG4gICAgYXNzZXJ0LmVxdWFsKHN0YWtpbmcuY2xhc3NpZnlQb3g1U3BlbmQsIHBveDUuY2xhc3NpZnlQb3g1U3BlbmQpO1xuICAgIGFzc2VydC5lcXVhbChzdGFraW5nLnByZXBhcmVQb3g1RWFybHlFeGl0LCBwb3g1LnByZXBhcmVQb3g1RWFybHlFeGl0KTtcbiAgfSk7XG59KTtcbiJdfQ==
|