@bitgo-beta/utxo-staking 1.1.1-beta.31 → 1.1.1-beta.33

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.
@@ -1,3 +1,4 @@
1
+ export declare const CORE_DAO_DEVNET_CHAIN_ID: Buffer<ArrayBuffer>;
1
2
  export declare const CORE_DAO_TESTNET_CHAIN_ID: Buffer<ArrayBuffer>;
2
3
  export declare const CORE_DAO_MAINNET_CHAIN_ID: Buffer<ArrayBuffer>;
3
4
  export declare const CORE_DAO_SATOSHI_PLUS_IDENTIFIER: Buffer<ArrayBuffer>;
@@ -1 +1 @@
1
- {"version":3,"file":"opReturn.d.ts","sourceRoot":"","sources":["../../../src/coreDao/opReturn.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,yBAAyB,qBAA6B,CAAC;AACpE,eAAO,MAAM,yBAAyB,qBAA6B,CAAC;AACpE,eAAO,MAAM,gCAAgC,qBAAiC,CAAC;AAI/E,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKrD;AAED,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,CAAC;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE5F;;;;;;;;;;;GAWG;AACH,wBAAgB,iCAAiC,CAAC,EAChD,OAAO,EACP,OAAO,EACP,SAAS,EACT,SAAS,EACT,GAAG,EACH,GAAG,IAAI,EACR,EAAE,cAAc,GAAG,MAAM,CAgFzB;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAyD/E;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAUvD"}
1
+ {"version":3,"file":"opReturn.d.ts","sourceRoot":"","sources":["../../../src/coreDao/opReturn.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,wBAAwB,qBAA6B,CAAC;AACnE,eAAO,MAAM,yBAAyB,qBAA6B,CAAC;AACpE,eAAO,MAAM,yBAAyB,qBAA6B,CAAC;AACpE,eAAO,MAAM,gCAAgC,qBAAiC,CAAC;AAI/E,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKrD;AAED,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,CAAC;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE5F;;;;;;;;;;;GAWG;AACH,wBAAgB,iCAAiC,CAAC,EAChD,OAAO,EACP,OAAO,EACP,SAAS,EACT,SAAS,EACT,GAAG,EACH,GAAG,IAAI,EACR,EAAE,cAAc,GAAG,MAAM,CAsFzB;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAiE/E;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAUvD"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CORE_DAO_SATOSHI_PLUS_IDENTIFIER = exports.CORE_DAO_MAINNET_CHAIN_ID = exports.CORE_DAO_TESTNET_CHAIN_ID = void 0;
3
+ exports.CORE_DAO_SATOSHI_PLUS_IDENTIFIER = exports.CORE_DAO_MAINNET_CHAIN_ID = exports.CORE_DAO_TESTNET_CHAIN_ID = exports.CORE_DAO_DEVNET_CHAIN_ID = void 0;
4
4
  exports.encodeTimelock = encodeTimelock;
5
5
  exports.decodeTimelock = decodeTimelock;
6
6
  exports.createCoreDaoOpReturnOutputScript = createCoreDaoOpReturnOutputScript;
@@ -8,6 +8,7 @@ exports.parseCoreDaoOpReturnOutputScript = parseCoreDaoOpReturnOutputScript;
8
8
  exports.toString = toString;
9
9
  const utxo_lib_1 = require("@bitgo-beta/utxo-lib");
10
10
  // Source: https://docs.coredao.org/docs/Learn/products/btc-staking/design
11
+ exports.CORE_DAO_DEVNET_CHAIN_ID = Buffer.from('0458', 'hex');
11
12
  exports.CORE_DAO_TESTNET_CHAIN_ID = Buffer.from('045b', 'hex');
12
13
  exports.CORE_DAO_MAINNET_CHAIN_ID = Buffer.from('045c', 'hex');
13
14
  exports.CORE_DAO_SATOSHI_PLUS_IDENTIFIER = Buffer.from('5341542b', 'hex');
@@ -63,7 +64,9 @@ function createCoreDaoOpReturnOutputScript({ version, chainId, delegator, valida
63
64
  throw new Error('Invalid version - out of range');
64
65
  }
65
66
  const versionBuffer = Buffer.alloc(1, version);
66
- if (!(chainId.equals(exports.CORE_DAO_TESTNET_CHAIN_ID) || chainId.equals(exports.CORE_DAO_MAINNET_CHAIN_ID))) {
67
+ if (!(chainId.equals(exports.CORE_DAO_TESTNET_CHAIN_ID) ||
68
+ chainId.equals(exports.CORE_DAO_MAINNET_CHAIN_ID) ||
69
+ chainId.equals(exports.CORE_DAO_DEVNET_CHAIN_ID))) {
67
70
  throw new Error('Invalid chain ID');
68
71
  }
69
72
  if (delegator.length !== 20) {
@@ -101,7 +104,7 @@ function createCoreDaoOpReturnOutputScript({ version, chainId, delegator, valida
101
104
  }
102
105
  const payment = utxo_lib_1.payments.embed({
103
106
  data: [data],
104
- network: chainId.equals(exports.CORE_DAO_TESTNET_CHAIN_ID) ? utxo_lib_1.networks.testnet : utxo_lib_1.networks.bitcoin,
107
+ network: chainId.equals(exports.CORE_DAO_DEVNET_CHAIN_ID) ? utxo_lib_1.networks.testnet : utxo_lib_1.networks.bitcoin,
105
108
  });
106
109
  if (!payment.output) {
107
110
  throw new Error('Unable to create OP_RETURN output');
@@ -139,8 +142,10 @@ function parseCoreDaoOpReturnOutputScript(script) {
139
142
  offset += 1;
140
143
  // Decode chainId
141
144
  const chainId = Buffer.from(dataBuffer.subarray(offset, offset + 2));
142
- if (!(chainId.equals(exports.CORE_DAO_TESTNET_CHAIN_ID) || chainId.equals(exports.CORE_DAO_MAINNET_CHAIN_ID))) {
143
- throw new Error(`Invalid ChainID: ${chainId.toString('hex')}. Must be either 0x045b (testnet) or 0x045c (mainnet).`);
145
+ if (!(chainId.equals(exports.CORE_DAO_DEVNET_CHAIN_ID) ||
146
+ chainId.equals(exports.CORE_DAO_TESTNET_CHAIN_ID) ||
147
+ chainId.equals(exports.CORE_DAO_MAINNET_CHAIN_ID))) {
148
+ throw new Error(`Invalid ChainID: ${chainId.toString('hex')}. Must be either 0x0458 (devnet), 0x045b (testnet), or 0x045c (mainnet).`);
144
149
  }
145
150
  offset += 2;
146
151
  // Decode delegator
@@ -172,4 +177,4 @@ function toString(params) {
172
177
  ...('timelock' in params ? { timelock: params.timelock } : {}),
173
178
  });
174
179
  }
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BSZXR1cm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZURhby9vcFJldHVybi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSx3Q0FJQztBQUVELHdDQUtDO0FBd0JELDhFQXVGQztBQU9ELDRFQXlEQztBQUVELDRCQVVDO0FBL01ELG1EQUEwRDtBQUUxRCwwRUFBMEU7QUFDN0QsUUFBQSx5QkFBeUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN2RCxRQUFBLHlCQUF5QixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3ZELFFBQUEsZ0NBQWdDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDL0UsMkdBQTJHO0FBQzNHLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFFdEQsU0FBZ0IsY0FBYyxDQUFDLFFBQWdCO0lBQzdDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QixPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFnQixjQUFjLENBQUMsTUFBYztJQUMzQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUMvQixDQUFDO0FBWUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxTQUFnQixpQ0FBaUMsQ0FBQyxFQUNoRCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFNBQVMsRUFDVCxT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LEVBQUUsR0FBRyxVQUFVLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNsRixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sRUFBRSxHQUFHLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNuRixDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQWdCLFFBQVEsQ0FBQyxNQUFzQjtJQUM3QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDcEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1FBQ3ZCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDdkMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUMzQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQzNDLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRztRQUNmLEdBQUcsQ0FBQyxjQUFjLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDMUYsR0FBRyxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0tBQy9ELENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXltZW50cywgbmV0d29ya3MgfSBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5cbi8vIFNvdXJjZTogaHR0cHM6Ly9kb2NzLmNvcmVkYW8ub3JnL2RvY3MvTGVhcm4vcHJvZHVjdHMvYnRjLXN0YWtpbmcvZGVzaWduXG5leHBvcnQgY29uc3QgQ09SRV9EQU9fVEVTVE5FVF9DSEFJTl9JRCA9IEJ1ZmZlci5mcm9tKCcwNDViJywgJ2hleCcpO1xuZXhwb3J0IGNvbnN0IENPUkVfREFPX01BSU5ORVRfQ0hBSU5fSUQgPSBCdWZmZXIuZnJvbSgnMDQ1YycsICdoZXgnKTtcbmV4cG9ydCBjb25zdCBDT1JFX0RBT19TQVRPU0hJX1BMVVNfSURFTlRJRklFUiA9IEJ1ZmZlci5mcm9tKCc1MzQxNTQyYicsICdoZXgnKTtcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9iaXRjb2luL2JpdGNvaW4vYmxvYi81OTYxYjIzODk4ZWU3YzBhZjI2MjZjNDZkNWQ3MGU4MDEzNjU3OGQzL3NyYy9zY3JpcHQvc2NyaXB0LmgjTDQ3XG5jb25zdCBPUF9SRVRVUk5fSURFTlRJRklFUiA9IEJ1ZmZlci5mcm9tKCc2YScsICdoZXgnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZVRpbWVsb2NrKHRpbWVsb2NrOiBudW1iZXIpOiBCdWZmZXIge1xuICBjb25zdCBidWZmID0gQnVmZmVyLmFsbG9jKDQpO1xuICBidWZmLndyaXRlVUludDMyTEUodGltZWxvY2spO1xuICByZXR1cm4gYnVmZjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZVRpbWVsb2NrKGJ1ZmZlcjogQnVmZmVyKTogbnVtYmVyIHtcbiAgaWYgKGJ1ZmZlci5sZW5ndGggIT09IDQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdGltZWxvY2sgYnVmZmVyIGxlbmd0aCcpO1xuICB9XG4gIHJldHVybiBidWZmZXIucmVhZFVJbnQzMkxFKCk7XG59XG5cbnR5cGUgQmFzZVBhcmFtcyA9IHtcbiAgdmVyc2lvbjogbnVtYmVyO1xuICBjaGFpbklkOiBCdWZmZXI7XG4gIGRlbGVnYXRvcjogQnVmZmVyO1xuICB2YWxpZGF0b3I6IEJ1ZmZlcjtcbiAgZmVlOiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBPcFJldHVyblBhcmFtcyA9IEJhc2VQYXJhbXMgJiAoeyByZWRlZW1TY3JpcHQ6IEJ1ZmZlciB9IHwgeyB0aW1lbG9jazogbnVtYmVyIH0pO1xuXG4vKipcbiAqIENyZWF0ZSBhIENvcmVEQU8gT1BfUkVUVVJOIG91dHB1dCBzY3JpcHRcbiAqXG4gKiBAcGFyYW0gdmVyc2lvbiBWZXJzaW9uIG9mIHRoZSBPUF9SRVRVUk5cbiAqIEBwYXJhbSBjaGFpbklkIENoYWluIElEXG4gKiBAcGFyYW0gZGVsZWdhdG9yIERlbGVnYXRvciBhZGRyZXNzXG4gKiBAcGFyYW0gdmFsaWRhdG9yIFZhbGlkYXRvciBhZGRyZXNzXG4gKiBAcGFyYW0gZmVlIEZlZSBmb3IgcmVsYXllclxuICogQHBhcmFtIHJlZGVlbVNjcmlwdCBSZWRlZW0gc2NyaXB0IG9mIHRoZSBzdGFraW5nIG91dHB1dFxuICogQHBhcmFtIHRpbWVsb2NrIFRpbWVsb2NrIGZvciB0aGUgc3Rha2luZyBvdXRwdXRcbiAqIEByZXR1cm5zIEJ1ZmZlciBPUF9SRVRVUk4gYnVmZmVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb3JlRGFvT3BSZXR1cm5PdXRwdXRTY3JpcHQoe1xuICB2ZXJzaW9uLFxuICBjaGFpbklkLFxuICBkZWxlZ2F0b3IsXG4gIHZhbGlkYXRvcixcbiAgZmVlLFxuICAuLi5yZXN0XG59OiBPcFJldHVyblBhcmFtcyk6IEJ1ZmZlciB7XG4gIC8qKlxuICAgKiBBcyBvZiB2MiwgdGhpcyBpcyB0aGUgY29uc3RydWN0aW9uIG9mIHRoZSBPUF9SRVRVUk46XG4gICAqIFNvdXJjZTogaHR0cHM6Ly9kb2NzLmNvcmVkYW8ub3JnL2RvY3MvTGVhcm4vcHJvZHVjdHMvYnRjLXN0YWtpbmcvZGVzaWduI29wX3JldHVybi1vdXRwdXRcbiAgICpcbiAgICogVGhlIE9QX1JFVFVSTiBvdXRwdXQgc2hvdWxkIGNvbnRhaW4gYWxsIHN0YWtpbmcgaW5mb3JtYXRpb24gaW4gb3JkZXIsIGFuZCBiZSBjb21wb3NlZCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDpcbiAgICpcbiAgICogU2F0b3NoaSBQbHVzIElkZW50aWZpZXI6IChTQVQrKSA0IGJ5dGVzXG4gICAqIFZlcnNpb246ICgweDAxKSAxIGJ5dGVcbiAgICogQ2hhaW4gSUQ6ICgweDA0NWIgKDExMTUpIGZvciBDb3JlIFRlc3RuZXQgYW5kIDB4MDQ1YyAoMTExNikgZm9yIENvcmUgTWFpbm5ldCkgMiBieXRlc1xuICAgKiBEZWxlZ2F0b3I6IFRoZSBDb3JlIGFkZHJlc3MgdG8gcmVjZWl2ZSByZXdhcmRzLCAyMCBieXRlc1xuICAgKiBWYWxpZGF0b3I6IFRoZSBDb3JlIHZhbGlkYXRvciBhZGRyZXNzIHRvIHN0YWtlIHRvLCAyMCBieXRlc1xuICAgKiBGZWU6IEZlZSBmb3IgcmVsYXllciwgMSBieXRlLCByYW5nZSBbMCwyNTVdLCBtZWFzdXJlZCBpbiBDT1JFXG4gICAqIChPcHRpb25hbCkgUmVkZWVtU2NyaXB0XG4gICAqIChPcHRpb25hbCkgVGltZWxvY2s6IDQgYnl0ZXNcbiAgICpcbiAgICogRWl0aGVyIFJlZGVlbVNjcmlwdCBvciBUaW1lbG9jayBtdXN0IGJlIGF2YWlsYWJsZSwgdGhlIHB1cnBvc2UgaXMgdG8gYWxsb3cgcmVsYXllciB0b1xuICAgKiBvYnRhaW4gdGhlIFJlZGVlbVNjcmlwdCBhbmQgc3VibWl0IHRyYW5zYWN0aW9ucyBvbiBDb3JlLiBJZiBhIFJlZGVlbVNjcmlwdCBpcyBwcm92aWRlZCxcbiAgICogcmVsYXllciB3aWxsIHVzZSBpdCBkaXJlY3RseS4gT3RoZXJ3aXNlLCByZWxheWVyIHdpbGwgY29uc3RydWN0IHRoZSByZWRlZW0gc2NyaXB0IGJhc2VkXG4gICAqIG9uIHRoZSB0aW1lbG9jayBhbmQgdGhlIGluZm9ybWF0aW9uIGluIHRoZSB0cmFuc2FjdGlvbiBpbnB1dHMuXG4gICAqXG4gICAqIE5vdGUgdGhhdCBhbnkgbGVuZ3RoID4gODAgYnl0ZXMgd29udCBiZSByZWxheWVkIGJ5IG5vZGVzIGFuZCB0aGVyZWZvcmUgd2Ugd2lsbCB0aHJvdyBhbiBlcnJvci5cbiAgICovXG4gIGlmICh2ZXJzaW9uIDwgMCB8fCB2ZXJzaW9uID4gMjU1KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHZlcnNpb24gLSBvdXQgb2YgcmFuZ2UnKTtcbiAgfVxuICBjb25zdCB2ZXJzaW9uQnVmZmVyID0gQnVmZmVyLmFsbG9jKDEsIHZlcnNpb24pO1xuXG4gIGlmICghKGNoYWluSWQuZXF1YWxzKENPUkVfREFPX1RFU1RORVRfQ0hBSU5fSUQpIHx8IGNoYWluSWQuZXF1YWxzKENPUkVfREFPX01BSU5ORVRfQ0hBSU5fSUQpKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjaGFpbiBJRCcpO1xuICB9XG5cbiAgaWYgKGRlbGVnYXRvci5sZW5ndGggIT09IDIwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRlbGVnYXRvciBhZGRyZXNzJyk7XG4gIH1cblxuICBpZiAodmFsaWRhdG9yLmxlbmd0aCAhPT0gMjApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmFsaWRhdG9yIGFkZHJlc3MnKTtcbiAgfVxuXG4gIGlmIChmZWUgPCAwIHx8IGZlZSA+IDI1NSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBmZWUgLSBvdXQgb2YgcmFuZ2UnKTtcbiAgfVxuICBjb25zdCBmZWVCdWZmZXIgPSBCdWZmZXIuYWxsb2MoMSwgZmVlKTtcblxuICBpZiAoZmVlQnVmZmVyLmxlbmd0aCAhPT0gMSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBmZWUnKTtcbiAgfVxuXG4gIGNvbnN0IHJlZGVlbVNjcmlwdEJ1ZmZlciA9ICdyZWRlZW1TY3JpcHQnIGluIHJlc3QgPyByZXN0LnJlZGVlbVNjcmlwdCA6IEJ1ZmZlci5mcm9tKFtdKTtcbiAgaWYgKCd0aW1lbG9jaycgaW4gcmVzdCAmJiAocmVzdC50aW1lbG9jayA8IDAgfHwgcmVzdC50aW1lbG9jayA+IDQyOTQ5NjcyOTUpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHRpbWVsb2NrIC0gb3V0IG9mIHJhbmdlJyk7XG4gIH1cblxuICAvLyBlbmNvZGUgdGhlIG51bWJlciBpbnRvIGEgNC1ieXRlIGJ1ZmZlclxuICAvLyBpZiB0aW1lbG9jayBpcyBwcm92aWRlZCwgd3JpdGUgaXQgaW50byAzMi1iaXQgbGl0dGxlLWVuZGlhblxuICBjb25zdCB0aW1lbG9ja0J1ZmZlciA9ICd0aW1lbG9jaycgaW4gcmVzdCA/IGVuY29kZVRpbWVsb2NrKHJlc3QudGltZWxvY2spIDogQnVmZmVyLmZyb20oW10pO1xuICBjb25zdCBkYXRhID0gQnVmZmVyLmNvbmNhdChbXG4gICAgQ09SRV9EQU9fU0FUT1NISV9QTFVTX0lERU5USUZJRVIsXG4gICAgdmVyc2lvbkJ1ZmZlcixcbiAgICBjaGFpbklkLFxuICAgIGRlbGVnYXRvcixcbiAgICB2YWxpZGF0b3IsXG4gICAgZmVlQnVmZmVyLFxuICAgIHJlZGVlbVNjcmlwdEJ1ZmZlcixcbiAgICB0aW1lbG9ja0J1ZmZlcixcbiAgXSk7XG4gIGlmIChkYXRhLmxlbmd0aCA+IDgwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdPUF9SRVRVUk4gb3V0cHV0cyBjYW5ub3QgaGF2ZSBhIGxlbmd0aCBsYXJnZXIgdGhhbiA4MCBieXRlcycpO1xuICB9XG5cbiAgY29uc3QgcGF5bWVudCA9IHBheW1lbnRzLmVtYmVkKHtcbiAgICBkYXRhOiBbZGF0YV0sXG4gICAgbmV0d29yazogY2hhaW5JZC5lcXVhbHMoQ09SRV9EQU9fVEVTVE5FVF9DSEFJTl9JRCkgPyBuZXR3b3Jrcy50ZXN0bmV0IDogbmV0d29ya3MuYml0Y29pbixcbiAgfSk7XG4gIGlmICghcGF5bWVudC5vdXRwdXQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBjcmVhdGUgT1BfUkVUVVJOIG91dHB1dCcpO1xuICB9XG5cbiAgcmV0dXJuIHBheW1lbnQub3V0cHV0O1xufVxuXG4vKipcbiAqIFBhcnNlIGEgQ29yZURBTyBPUF9SRVRVUk4gb3V0cHV0IHNjcmlwdCBpbnRvIHRoZSBjb25zdGl0dWVudCBwYXJ0c1xuICogQHBhcmFtIHNjcmlwdFxuICogQHJldHVybnMgT3BSZXR1cm5QYXJhbXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQ29yZURhb09wUmV0dXJuT3V0cHV0U2NyaXB0KHNjcmlwdDogQnVmZmVyKTogT3BSZXR1cm5QYXJhbXMge1xuICBpZiAoIXNjcmlwdC5zdWJhcnJheSgwLCAxKS5lcXVhbHMoT1BfUkVUVVJOX0lERU5USUZJRVIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdGaXJzdCBieXRlIG11c3QgYmUgYW4gT1BfUkVUVVJOJyk7XG4gIH1cblxuICBjb25zdCBwYXltZW50ID0gcGF5bWVudHMuZW1iZWQoe1xuICAgIG91dHB1dDogc2NyaXB0LFxuICB9KTtcbiAgY29uc3QgZGF0YSA9IHBheW1lbnQuZGF0YTtcbiAgaWYgKCFkYXRhIHx8IGRhdGEubGVuZ3RoICE9PSAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIE9QX1JFVFVSTiBvdXRwdXQnKTtcbiAgfVxuICBjb25zdCBkYXRhQnVmZmVyID0gZGF0YVswXTtcbiAgaWYgKGRhdGFCdWZmZXIubGVuZ3RoID4gODApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE9QX1JFVFVSTiBvdXRwdXRzIGNhbm5vdCBoYXZlIGEgbGVuZ3RoIGxhcmdlciB0aGFuIDgwIGJ5dGVzYCk7XG4gIH1cbiAgbGV0IG9mZnNldCA9IDA7XG5cbiAgLy8gRGVjb2RlIHNhdG9zaGkrIGlkZW50aWZpZXJcbiAgaWYgKCFkYXRhQnVmZmVyLnN1YmFycmF5KG9mZnNldCwgb2Zmc2V0ICsgNCkuZXF1YWxzKENPUkVfREFPX1NBVE9TSElfUExVU19JREVOVElGSUVSKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBzYXRvc2hpKyBpZGVudGlmaWVyJyk7XG4gIH1cbiAgb2Zmc2V0ICs9IDQ7XG5cbiAgLy8gRGVjb2RlIHZlcnNpb25cbiAgY29uc3QgdmVyc2lvbiA9IGRhdGFCdWZmZXJbb2Zmc2V0XTtcbiAgb2Zmc2V0ICs9IDE7XG5cbiAgLy8gRGVjb2RlIGNoYWluSWRcbiAgY29uc3QgY2hhaW5JZCA9IEJ1ZmZlci5mcm9tKGRhdGFCdWZmZXIuc3ViYXJyYXkob2Zmc2V0LCBvZmZzZXQgKyAyKSk7XG4gIGlmICghKGNoYWluSWQuZXF1YWxzKENPUkVfREFPX1RFU1RORVRfQ0hBSU5fSUQpIHx8IGNoYWluSWQuZXF1YWxzKENPUkVfREFPX01BSU5ORVRfQ0hBSU5fSUQpKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBJbnZhbGlkIENoYWluSUQ6ICR7Y2hhaW5JZC50b1N0cmluZygnaGV4Jyl9LiBNdXN0IGJlIGVpdGhlciAweDA0NWIgKHRlc3RuZXQpIG9yIDB4MDQ1YyAobWFpbm5ldCkuYFxuICAgICk7XG4gIH1cbiAgb2Zmc2V0ICs9IDI7XG5cbiAgLy8gRGVjb2RlIGRlbGVnYXRvclxuICBjb25zdCBkZWxlZ2F0b3IgPSBCdWZmZXIuZnJvbShkYXRhQnVmZmVyLnN1YmFycmF5KG9mZnNldCwgb2Zmc2V0ICsgMjApKTtcbiAgb2Zmc2V0ICs9IDIwO1xuXG4gIC8vIERlY29kZSB2YWxpZGF0b3JcbiAgY29uc3QgdmFsaWRhdG9yID0gQnVmZmVyLmZyb20oZGF0YUJ1ZmZlci5zdWJhcnJheShvZmZzZXQsIG9mZnNldCArIDIwKSk7XG4gIG9mZnNldCArPSAyMDtcblxuICAvLyBEZWNvZGUgZmVlXG4gIGNvbnN0IGZlZSA9IGRhdGFCdWZmZXJbb2Zmc2V0XTtcbiAgb2Zmc2V0ICs9IDE7XG5cbiAgY29uc3QgYmFzZVBhcmFtcyA9IHsgdmVyc2lvbiwgY2hhaW5JZCwgZGVsZWdhdG9yLCB2YWxpZGF0b3IsIGZlZSB9O1xuXG4gIC8vIERlY29kZSByZWRlZW1TY3JpcHQgb3IgdGltZWxvY2tcbiAgaWYgKG9mZnNldCA9PT0gZGF0YUJ1ZmZlci5sZW5ndGggLSA0KSB7XG4gICAgcmV0dXJuIHsgLi4uYmFzZVBhcmFtcywgdGltZWxvY2s6IGRlY29kZVRpbWVsb2NrKGRhdGFCdWZmZXIuc3ViYXJyYXkob2Zmc2V0KSkgfTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4geyAuLi5iYXNlUGFyYW1zLCByZWRlZW1TY3JpcHQ6IEJ1ZmZlci5mcm9tKGRhdGFCdWZmZXIuc3ViYXJyYXkob2Zmc2V0KSkgfTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9TdHJpbmcocGFyYW1zOiBPcFJldHVyblBhcmFtcyk6IHN0cmluZyB7XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeSh7XG4gICAgdmVyc2lvbjogcGFyYW1zLnZlcnNpb24sXG4gICAgY2hhaW5JZDogcGFyYW1zLmNoYWluSWQudG9TdHJpbmcoJ2hleCcpLFxuICAgIGRlbGVnYXRvcjogcGFyYW1zLmRlbGVnYXRvci50b1N0cmluZygnaGV4JyksXG4gICAgdmFsaWRhdG9yOiBwYXJhbXMudmFsaWRhdG9yLnRvU3RyaW5nKCdoZXgnKSxcbiAgICBmZWU6IHBhcmFtcy5mZWUsXG4gICAgLi4uKCdyZWRlZW1TY3JpcHQnIGluIHBhcmFtcyA/IHsgcmVkZWVtU2NyaXB0OiBwYXJhbXMucmVkZWVtU2NyaXB0LnRvU3RyaW5nKCdoZXgnKSB9IDoge30pLFxuICAgIC4uLigndGltZWxvY2snIGluIHBhcmFtcyA/IHsgdGltZWxvY2s6IHBhcmFtcy50aW1lbG9jayB9IDoge30pLFxuICB9KTtcbn1cbiJdfQ==
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BSZXR1cm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZURhby9vcFJldHVybi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFVQSx3Q0FJQztBQUVELHdDQUtDO0FBd0JELDhFQTZGQztBQU9ELDRFQWlFQztBQUVELDRCQVVDO0FBOU5ELG1EQUEwRDtBQUUxRCwwRUFBMEU7QUFDN0QsUUFBQSx3QkFBd0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN0RCxRQUFBLHlCQUF5QixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3ZELFFBQUEseUJBQXlCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdkQsUUFBQSxnQ0FBZ0MsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMvRSwyR0FBMkc7QUFDM0csTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztBQUV0RCxTQUFnQixjQUFjLENBQUMsUUFBZ0I7SUFDN0MsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELFNBQWdCLGNBQWMsQ0FBQyxNQUFjO0lBQzNDLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0FBQy9CLENBQUM7QUFZRDs7Ozs7Ozs7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QUFDO0tBQy9ELENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXltZW50cywgbmV0d29ya3MgfSBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5cbi8vIFNvdXJjZTogaHR0cHM6Ly9kb2NzLmNvcmVkYW8ub3JnL2RvY3MvTGVhcm4vcHJvZHVjdHMvYnRjLXN0YWtpbmcvZGVzaWduXG5leHBvcnQgY29uc3QgQ09SRV9EQU9fREVWTkVUX0NIQUlOX0lEID0gQnVmZmVyLmZyb20oJzA0NTgnLCAnaGV4Jyk7XG5leHBvcnQgY29uc3QgQ09SRV9EQU9fVEVTVE5FVF9DSEFJTl9JRCA9IEJ1ZmZlci5mcm9tKCcwNDViJywgJ2hleCcpO1xuZXhwb3J0IGNvbnN0IENPUkVfREFPX01BSU5ORVRfQ0hBSU5fSUQgPSBCdWZmZXIuZnJvbSgnMDQ1YycsICdoZXgnKTtcbmV4cG9ydCBjb25zdCBDT1JFX0RBT19TQVRPU0hJX1BMVVNfSURFTlRJRklFUiA9IEJ1ZmZlci5mcm9tKCc1MzQxNTQyYicsICdoZXgnKTtcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9iaXRjb2luL2JpdGNvaW4vYmxvYi81OTYxYjIzODk4ZWU3YzBhZjI2MjZjNDZkNWQ3MGU4MDEzNjU3OGQzL3NyYy9zY3JpcHQvc2NyaXB0LmgjTDQ3XG5jb25zdCBPUF9SRVRVUk5fSURFTlRJRklFUiA9IEJ1ZmZlci5mcm9tKCc2YScsICdoZXgnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZVRpbWVsb2NrKHRpbWVsb2NrOiBudW1iZXIpOiBCdWZmZXIge1xuICBjb25zdCBidWZmID0gQnVmZmVyLmFsbG9jKDQpO1xuICBidWZmLndyaXRlVUludDMyTEUodGltZWxvY2spO1xuICByZXR1cm4gYnVmZjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZVRpbWVsb2NrKGJ1ZmZlcjogQnVmZmVyKTogbnVtYmVyIHtcbiAgaWYgKGJ1ZmZlci5sZW5ndGggIT09IDQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdGltZWxvY2sgYnVmZmVyIGxlbmd0aCcpO1xuICB9XG4gIHJldHVybiBidWZmZXIucmVhZFVJbnQzMkxFKCk7XG59XG5cbnR5cGUgQmFzZVBhcmFtcyA9IHtcbiAgdmVyc2lvbjogbnVtYmVyO1xuICBjaGFpbklkOiBCdWZmZXI7XG4gIGRlbGVnYXRvcjogQnVmZmVyO1xuICB2YWxpZGF0b3I6IEJ1ZmZlcjtcbiAgZmVlOiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBPcFJldHVyblBhcmFtcyA9IEJhc2VQYXJhbXMgJiAoeyByZWRlZW1TY3JpcHQ6IEJ1ZmZlciB9IHwgeyB0aW1lbG9jazogbnVtYmVyIH0pO1xuXG4vKipcbiAqIENyZWF0ZSBhIENvcmVEQU8gT1BfUkVUVVJOIG91dHB1dCBzY3JpcHRcbiAqXG4gKiBAcGFyYW0gdmVyc2lvbiBWZXJzaW9uIG9mIHRoZSBPUF9SRVRVUk5cbiAqIEBwYXJhbSBjaGFpbklkIENoYWluIElEXG4gKiBAcGFyYW0gZGVsZWdhdG9yIERlbGVnYXRvciBhZGRyZXNzXG4gKiBAcGFyYW0gdmFsaWRhdG9yIFZhbGlkYXRvciBhZGRyZXNzXG4gKiBAcGFyYW0gZmVlIEZlZSBmb3IgcmVsYXllclxuICogQHBhcmFtIHJlZGVlbVNjcmlwdCBSZWRlZW0gc2NyaXB0IG9mIHRoZSBzdGFraW5nIG91dHB1dFxuICogQHBhcmFtIHRpbWVsb2NrIFRpbWVsb2NrIGZvciB0aGUgc3Rha2luZyBvdXRwdXRcbiAqIEByZXR1cm5zIEJ1ZmZlciBPUF9SRVRVUk4gYnVmZmVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb3JlRGFvT3BSZXR1cm5PdXRwdXRTY3JpcHQoe1xuICB2ZXJzaW9uLFxuICBjaGFpbklkLFxuICBkZWxlZ2F0b3IsXG4gIHZhbGlkYXRvcixcbiAgZmVlLFxuICAuLi5yZXN0XG59OiBPcFJldHVyblBhcmFtcyk6IEJ1ZmZlciB7XG4gIC8qKlxuICAgKiBBcyBvZiB2MiwgdGhpcyBpcyB0aGUgY29uc3RydWN0aW9uIG9mIHRoZSBPUF9SRVRVUk46XG4gICAqIFNvdXJjZTogaHR0cHM6Ly9kb2NzLmNvcmVkYW8ub3JnL2RvY3MvTGVhcm4vcHJvZHVjdHMvYnRjLXN0YWtpbmcvZGVzaWduI29wX3JldHVybi1vdXRwdXRcbiAgICpcbiAgICogVGhlIE9QX1JFVFVSTiBvdXRwdXQgc2hvdWxkIGNvbnRhaW4gYWxsIHN0YWtpbmcgaW5mb3JtYXRpb24gaW4gb3JkZXIsIGFuZCBiZSBjb21wb3NlZCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDpcbiAgICpcbiAgICogU2F0b3NoaSBQbHVzIElkZW50aWZpZXI6IChTQVQrKSA0IGJ5dGVzXG4gICAqIFZlcnNpb246ICgweDAxKSAxIGJ5dGVcbiAgICogQ2hhaW4gSUQ6ICgweDA0NWIgKDExMTUpIGZvciBDb3JlIFRlc3RuZXQgYW5kIDB4MDQ1YyAoMTExNikgZm9yIENvcmUgTWFpbm5ldCkgMiBieXRlc1xuICAgKiBEZWxlZ2F0b3I6IFRoZSBDb3JlIGFkZHJlc3MgdG8gcmVjZWl2ZSByZXdhcmRzLCAyMCBieXRlc1xuICAgKiBWYWxpZGF0b3I6IFRoZSBDb3JlIHZhbGlkYXRvciBhZGRyZXNzIHRvIHN0YWtlIHRvLCAyMCBieXRlc1xuICAgKiBGZWU6IEZlZSBmb3IgcmVsYXllciwgMSBieXRlLCByYW5nZSBbMCwyNTVdLCBtZWFzdXJlZCBpbiBDT1JFXG4gICAqIChPcHRpb25hbCkgUmVkZWVtU2NyaXB0XG4gICAqIChPcHRpb25hbCkgVGltZWxvY2s6IDQgYnl0ZXNcbiAgICpcbiAgICogRWl0aGVyIFJlZGVlbVNjcmlwdCBvciBUaW1lbG9jayBtdXN0IGJlIGF2YWlsYWJsZSwgdGhlIHB1cnBvc2UgaXMgdG8gYWxsb3cgcmVsYXllciB0b1xuICAgKiBvYnRhaW4gdGhlIFJlZGVlbVNjcmlwdCBhbmQgc3VibWl0IHRyYW5zYWN0aW9ucyBvbiBDb3JlLiBJZiBhIFJlZGVlbVNjcmlwdCBpcyBwcm92aWRlZCxcbiAgICogcmVsYXllciB3aWxsIHVzZSBpdCBkaXJlY3RseS4gT3RoZXJ3aXNlLCByZWxheWVyIHdpbGwgY29uc3RydWN0IHRoZSByZWRlZW0gc2NyaXB0IGJhc2VkXG4gICAqIG9uIHRoZSB0aW1lbG9jayBhbmQgdGhlIGluZm9ybWF0aW9uIGluIHRoZSB0cmFuc2FjdGlvbiBpbnB1dHMuXG4gICAqXG4gICAqIE5vdGUgdGhhdCBhbnkgbGVuZ3RoID4gODAgYnl0ZXMgd29udCBiZSByZWxheWVkIGJ5IG5vZGVzIGFuZCB0aGVyZWZvcmUgd2Ugd2lsbCB0aHJvdyBhbiBlcnJvci5cbiAgICovXG4gIGlmICh2ZXJzaW9uIDwgMCB8fCB2ZXJzaW9uID4gMjU1KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHZlcnNpb24gLSBvdXQgb2YgcmFuZ2UnKTtcbiAgfVxuICBjb25zdCB2ZXJzaW9uQnVmZmVyID0gQnVmZmVyLmFsbG9jKDEsIHZlcnNpb24pO1xuXG4gIGlmIChcbiAgICAhKFxuICAgICAgY2hhaW5JZC5lcXVhbHMoQ09SRV9EQU9fVEVTVE5FVF9DSEFJTl9JRCkgfHxcbiAgICAgIGNoYWluSWQuZXF1YWxzKENPUkVfREFPX01BSU5ORVRfQ0hBSU5fSUQpIHx8XG4gICAgICBjaGFpbklkLmVxdWFscyhDT1JFX0RBT19ERVZORVRfQ0hBSU5fSUQpXG4gICAgKVxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY2hhaW4gSUQnKTtcbiAgfVxuXG4gIGlmIChkZWxlZ2F0b3IubGVuZ3RoICE9PSAyMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBkZWxlZ2F0b3IgYWRkcmVzcycpO1xuICB9XG5cbiAgaWYgKHZhbGlkYXRvci5sZW5ndGggIT09IDIwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHZhbGlkYXRvciBhZGRyZXNzJyk7XG4gIH1cblxuICBpZiAoZmVlIDwgMCB8fCBmZWUgPiAyNTUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZmVlIC0gb3V0IG9mIHJhbmdlJyk7XG4gIH1cbiAgY29uc3QgZmVlQnVmZmVyID0gQnVmZmVyLmFsbG9jKDEsIGZlZSk7XG5cbiAgaWYgKGZlZUJ1ZmZlci5sZW5ndGggIT09IDEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZmVlJyk7XG4gIH1cblxuICBjb25zdCByZWRlZW1TY3JpcHRCdWZmZXIgPSAncmVkZWVtU2NyaXB0JyBpbiByZXN0ID8gcmVzdC5yZWRlZW1TY3JpcHQgOiBCdWZmZXIuZnJvbShbXSk7XG4gIGlmICgndGltZWxvY2snIGluIHJlc3QgJiYgKHJlc3QudGltZWxvY2sgPCAwIHx8IHJlc3QudGltZWxvY2sgPiA0Mjk0OTY3Mjk1KSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB0aW1lbG9jayAtIG91dCBvZiByYW5nZScpO1xuICB9XG5cbiAgLy8gZW5jb2RlIHRoZSBudW1iZXIgaW50byBhIDQtYnl0ZSBidWZmZXJcbiAgLy8gaWYgdGltZWxvY2sgaXMgcHJvdmlkZWQsIHdyaXRlIGl0IGludG8gMzItYml0IGxpdHRsZS1lbmRpYW5cbiAgY29uc3QgdGltZWxvY2tCdWZmZXIgPSAndGltZWxvY2snIGluIHJlc3QgPyBlbmNvZGVUaW1lbG9jayhyZXN0LnRpbWVsb2NrKSA6IEJ1ZmZlci5mcm9tKFtdKTtcbiAgY29uc3QgZGF0YSA9IEJ1ZmZlci5jb25jYXQoW1xuICAgIENPUkVfREFPX1NBVE9TSElfUExVU19JREVOVElGSUVSLFxuICAgIHZlcnNpb25CdWZmZXIsXG4gICAgY2hhaW5JZCxcbiAgICBkZWxlZ2F0b3IsXG4gICAgdmFsaWRhdG9yLFxuICAgIGZlZUJ1ZmZlcixcbiAgICByZWRlZW1TY3JpcHRCdWZmZXIsXG4gICAgdGltZWxvY2tCdWZmZXIsXG4gIF0pO1xuICBpZiAoZGF0YS5sZW5ndGggPiA4MCkge1xuICAgIHRocm93IG5ldyBFcnJvcignT1BfUkVUVVJOIG91dHB1dHMgY2Fubm90IGhhdmUgYSBsZW5ndGggbGFyZ2VyIHRoYW4gODAgYnl0ZXMnKTtcbiAgfVxuXG4gIGNvbnN0IHBheW1lbnQgPSBwYXltZW50cy5lbWJlZCh7XG4gICAgZGF0YTogW2RhdGFdLFxuICAgIG5ldHdvcms6IGNoYWluSWQuZXF1YWxzKENPUkVfREFPX0RFVk5FVF9DSEFJTl9JRCkgPyBuZXR3b3Jrcy50ZXN0bmV0IDogbmV0d29ya3MuYml0Y29pbixcbiAgfSk7XG4gIGlmICghcGF5bWVudC5vdXRwdXQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBjcmVhdGUgT1BfUkVUVVJOIG91dHB1dCcpO1xuICB9XG5cbiAgcmV0dXJuIHBheW1lbnQub3V0cHV0O1xufVxuXG4vKipcbiAqIFBhcnNlIGEgQ29yZURBTyBPUF9SRVRVUk4gb3V0cHV0IHNjcmlwdCBpbnRvIHRoZSBjb25zdGl0dWVudCBwYXJ0c1xuICogQHBhcmFtIHNjcmlwdFxuICogQHJldHVybnMgT3BSZXR1cm5QYXJhbXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQ29yZURhb09wUmV0dXJuT3V0cHV0U2NyaXB0KHNjcmlwdDogQnVmZmVyKTogT3BSZXR1cm5QYXJhbXMge1xuICBpZiAoIXNjcmlwdC5zdWJhcnJheSgwLCAxKS5lcXVhbHMoT1BfUkVUVVJOX0lERU5USUZJRVIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdGaXJzdCBieXRlIG11c3QgYmUgYW4gT1BfUkVUVVJOJyk7XG4gIH1cblxuICBjb25zdCBwYXltZW50ID0gcGF5bWVudHMuZW1iZWQoe1xuICAgIG91dHB1dDogc2NyaXB0LFxuICB9KTtcbiAgY29uc3QgZGF0YSA9IHBheW1lbnQuZGF0YTtcbiAgaWYgKCFkYXRhIHx8IGRhdGEubGVuZ3RoICE9PSAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIE9QX1JFVFVSTiBvdXRwdXQnKTtcbiAgfVxuICBjb25zdCBkYXRhQnVmZmVyID0gZGF0YVswXTtcbiAgaWYgKGRhdGFCdWZmZXIubGVuZ3RoID4gODApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE9QX1JFVFVSTiBvdXRwdXRzIGNhbm5vdCBoYXZlIGEgbGVuZ3RoIGxhcmdlciB0aGFuIDgwIGJ5dGVzYCk7XG4gIH1cbiAgbGV0IG9mZnNldCA9IDA7XG5cbiAgLy8gRGVjb2RlIHNhdG9zaGkrIGlkZW50aWZpZXJcbiAgaWYgKCFkYXRhQnVmZmVyLnN1YmFycmF5KG9mZnNldCwgb2Zmc2V0ICsgNCkuZXF1YWxzKENPUkVfREFPX1NBVE9TSElfUExVU19JREVOVElGSUVSKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBzYXRvc2hpKyBpZGVudGlmaWVyJyk7XG4gIH1cbiAgb2Zmc2V0ICs9IDQ7XG5cbiAgLy8gRGVjb2RlIHZlcnNpb25cbiAgY29uc3QgdmVyc2lvbiA9IGRhdGFCdWZmZXJbb2Zmc2V0XTtcbiAgb2Zmc2V0ICs9IDE7XG5cbiAgLy8gRGVjb2RlIGNoYWluSWRcbiAgY29uc3QgY2hhaW5JZCA9IEJ1ZmZlci5mcm9tKGRhdGFCdWZmZXIuc3ViYXJyYXkob2Zmc2V0LCBvZmZzZXQgKyAyKSk7XG4gIGlmIChcbiAgICAhKFxuICAgICAgY2hhaW5JZC5lcXVhbHMoQ09SRV9EQU9fREVWTkVUX0NIQUlOX0lEKSB8fFxuICAgICAgY2hhaW5JZC5lcXVhbHMoQ09SRV9EQU9fVEVTVE5FVF9DSEFJTl9JRCkgfHxcbiAgICAgIGNoYWluSWQuZXF1YWxzKENPUkVfREFPX01BSU5ORVRfQ0hBSU5fSUQpXG4gICAgKVxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgSW52YWxpZCBDaGFpbklEOiAke2NoYWluSWQudG9TdHJpbmcoXG4gICAgICAgICdoZXgnXG4gICAgICApfS4gTXVzdCBiZSBlaXRoZXIgMHgwNDU4IChkZXZuZXQpLCAweDA0NWIgKHRlc3RuZXQpLCBvciAweDA0NWMgKG1haW5uZXQpLmBcbiAgICApO1xuICB9XG4gIG9mZnNldCArPSAyO1xuXG4gIC8vIERlY29kZSBkZWxlZ2F0b3JcbiAgY29uc3QgZGVsZWdhdG9yID0gQnVmZmVyLmZyb20oZGF0YUJ1ZmZlci5zdWJhcnJheShvZmZzZXQsIG9mZnNldCArIDIwKSk7XG4gIG9mZnNldCArPSAyMDtcblxuICAvLyBEZWNvZGUgdmFsaWRhdG9yXG4gIGNvbnN0IHZhbGlkYXRvciA9IEJ1ZmZlci5mcm9tKGRhdGFCdWZmZXIuc3ViYXJyYXkob2Zmc2V0LCBvZmZzZXQgKyAyMCkpO1xuICBvZmZzZXQgKz0gMjA7XG5cbiAgLy8gRGVjb2RlIGZlZVxuICBjb25zdCBmZWUgPSBkYXRhQnVmZmVyW29mZnNldF07XG4gIG9mZnNldCArPSAxO1xuXG4gIGNvbnN0IGJhc2VQYXJhbXMgPSB7IHZlcnNpb24sIGNoYWluSWQsIGRlbGVnYXRvciwgdmFsaWRhdG9yLCBmZWUgfTtcblxuICAvLyBEZWNvZGUgcmVkZWVtU2NyaXB0IG9yIHRpbWVsb2NrXG4gIGlmIChvZmZzZXQgPT09IGRhdGFCdWZmZXIubGVuZ3RoIC0gNCkge1xuICAgIHJldHVybiB7IC4uLmJhc2VQYXJhbXMsIHRpbWVsb2NrOiBkZWNvZGVUaW1lbG9jayhkYXRhQnVmZmVyLnN1YmFycmF5KG9mZnNldCkpIH07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHsgLi4uYmFzZVBhcmFtcywgcmVkZWVtU2NyaXB0OiBCdWZmZXIuZnJvbShkYXRhQnVmZmVyLnN1YmFycmF5KG9mZnNldCkpIH07XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvU3RyaW5nKHBhcmFtczogT3BSZXR1cm5QYXJhbXMpOiBzdHJpbmcge1xuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoe1xuICAgIHZlcnNpb246IHBhcmFtcy52ZXJzaW9uLFxuICAgIGNoYWluSWQ6IHBhcmFtcy5jaGFpbklkLnRvU3RyaW5nKCdoZXgnKSxcbiAgICBkZWxlZ2F0b3I6IHBhcmFtcy5kZWxlZ2F0b3IudG9TdHJpbmcoJ2hleCcpLFxuICAgIHZhbGlkYXRvcjogcGFyYW1zLnZhbGlkYXRvci50b1N0cmluZygnaGV4JyksXG4gICAgZmVlOiBwYXJhbXMuZmVlLFxuICAgIC4uLigncmVkZWVtU2NyaXB0JyBpbiBwYXJhbXMgPyB7IHJlZGVlbVNjcmlwdDogcGFyYW1zLnJlZGVlbVNjcmlwdC50b1N0cmluZygnaGV4JykgfSA6IHt9KSxcbiAgICAuLi4oJ3RpbWVsb2NrJyBpbiBwYXJhbXMgPyB7IHRpbWVsb2NrOiBwYXJhbXMudGltZWxvY2sgfSA6IHt9KSxcbiAgfSk7XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo-beta/utxo-staking",
3
- "version": "1.1.1-beta.31",
3
+ "version": "1.1.1-beta.33",
4
4
  "description": "BitGo SDK for build UTXO staking transactions",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -40,9 +40,9 @@
40
40
  ]
41
41
  },
42
42
  "dependencies": {
43
- "@bitgo-beta/unspents": "0.13.2-beta.590",
44
- "@bitgo-beta/utxo-lib": "8.0.3-beta.591",
43
+ "@bitgo-beta/unspents": "0.13.2-beta.592",
44
+ "@bitgo-beta/utxo-lib": "8.0.3-beta.593",
45
45
  "@bitgo/wasm-miniscript": "^2.0.0-beta.2"
46
46
  },
47
- "gitHead": "064dbb902b5bb761e95f0e5d122c4619e9896d53"
47
+ "gitHead": "0ff71fa84e6ad279ab445d24e79d1d8a362c612e"
48
48
  }