@bitgo/utxo-staking 1.3.4 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.5.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/utxo-staking@1.3.5...@bitgo/utxo-staking@1.5.0) (2024-12-17)
7
+
8
+ ### Features
9
+
10
+ - **utxo-staking:** add support for wsh script type ([c3632a4](https://github.com/BitGo/BitGoJS/commit/c3632a456a92953ee52340c79740bcd9e6f66215))
11
+
12
+ # [1.4.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/utxo-staking@1.3.5...@bitgo/utxo-staking@1.4.0) (2024-12-17)
13
+
14
+ ### Features
15
+
16
+ - **utxo-staking:** add support for wsh script type ([c3632a4](https://github.com/BitGo/BitGoJS/commit/c3632a456a92953ee52340c79740bcd9e6f66215))
17
+
18
+ ## [1.3.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/utxo-staking@1.3.4...@bitgo/utxo-staking@1.3.5) (2024-12-12)
19
+
20
+ **Note:** Version bump only for package @bitgo/utxo-staking
21
+
6
22
  ## [1.3.4](https://github.com/BitGo/BitGoJS/compare/@bitgo/utxo-staking@1.3.3...@bitgo/utxo-staking@1.3.4) (2024-12-11)
7
23
 
8
24
  **Note:** Version bump only for package @bitgo/utxo-staking
@@ -1,8 +1,10 @@
1
1
  import { BIP32Interface } from '@bitgo/utxo-lib';
2
2
  /**
3
- * Script type for a descriptor. This is either a p2sh (sh) or a p2sh-p2wsh (sh-wsh) script.
3
+ * Script type for a descriptor.
4
+ *
5
+ * See https://docs.coredao.org/docs/Learn/products/btc-staking/design#p2shp2wsh-output
4
6
  */
5
- export type ScriptType = 'sh' | 'sh-wsh';
7
+ export type ScriptType = 'sh' | 'sh-wsh' | 'wsh';
6
8
  /**
7
9
  * Create a multi-sig descriptor to produce a coredao staking address
8
10
  * @param scriptType segwit or legacy
@@ -1 +1 @@
1
- {"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../../../src/coreDao/descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,QAAQ,CAAC;AASzC;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,EAChB,CAAC,EAAE,MAAM,EACT,WAAW,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,EACxC,QAAQ,UAAO,GACd,MAAM,CAYR"}
1
+ {"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../../../src/coreDao/descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,QAAQ,GAAG,KAAK,CAAC;AASjD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,EAChB,CAAC,EAAE,MAAM,EACT,WAAW,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,EACxC,QAAQ,UAAO,GACd,MAAM,CAmBR"}
@@ -25,6 +25,13 @@ function createMultiSigDescriptor(scriptType, locktime, m, orderedKeys, neutered
25
25
  }
26
26
  const keys = orderedKeys.map((key) => asDescriptorKey(key, neutered));
27
27
  const inner = `and_v(r:after(${locktime}),multi(${m},${keys.join(',')}))`;
28
- return scriptType === 'sh' ? `sh(${inner})` : `sh(wsh(${inner}))`;
28
+ switch (scriptType) {
29
+ case 'sh':
30
+ return `sh(${inner})`;
31
+ case 'sh-wsh':
32
+ return `sh(wsh(${inner}))`;
33
+ case 'wsh':
34
+ return `wsh(${inner})`;
35
+ }
29
36
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlRGFvL2Rlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF1QkEsNERBa0JDO0FBbENELFNBQVMsZUFBZSxDQUFDLEdBQTRCLEVBQUUsUUFBaUI7SUFDdEUsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztBQUM3RCxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFnQix3QkFBd0IsQ0FDdEMsVUFBc0IsRUFDdEIsUUFBZ0IsRUFDaEIsQ0FBUyxFQUNULFdBQXdDLEVBQ3hDLFFBQVEsR0FBRyxJQUFJO0lBRWYsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FDYixNQUFNLENBQUMsdURBQXVELFdBQVcsQ0FBQyxNQUFNLHNCQUFzQixDQUN2RyxDQUFDO0lBQ0osQ0FBQztJQUNELElBQUksUUFBUSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxRQUFRLDBCQUEwQixDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN0RSxNQUFNLEtBQUssR0FBRyxpQkFBaUIsUUFBUSxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDMUUsT0FBTyxVQUFVLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDO0FBQ3BFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCSVAzMkludGVyZmFjZSB9IGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbi8qKlxuICogU2NyaXB0IHR5cGUgZm9yIGEgZGVzY3JpcHRvci4gVGhpcyBpcyBlaXRoZXIgYSBwMnNoIChzaCkgb3IgYSBwMnNoLXAyd3NoIChzaC13c2gpIHNjcmlwdC5cbiAqL1xuZXhwb3J0IHR5cGUgU2NyaXB0VHlwZSA9ICdzaCcgfCAnc2gtd3NoJztcblxuZnVuY3Rpb24gYXNEZXNjcmlwdG9yS2V5KGtleTogQklQMzJJbnRlcmZhY2UgfCBCdWZmZXIsIG5ldXRlcmVkOiBib29sZWFuKTogc3RyaW5nIHtcbiAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihrZXkpKSB7XG4gICAgcmV0dXJuIGtleS50b1N0cmluZygnaGV4Jyk7XG4gIH1cbiAgcmV0dXJuIChuZXV0ZXJlZCA/IGtleS5uZXV0ZXJlZCgpIDoga2V5KS50b0Jhc2U1OCgpICsgJy8qJztcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBtdWx0aS1zaWcgZGVzY3JpcHRvciB0byBwcm9kdWNlIGEgY29yZWRhbyBzdGFraW5nIGFkZHJlc3NcbiAqIEBwYXJhbSBzY3JpcHRUeXBlIHNlZ3dpdCBvciBsZWdhY3lcbiAqIEBwYXJhbSBsb2NrdGltZSBsb2NrdGltZSBmb3IgQ0xUVlxuICogQHBhcmFtIG0gVG90YWwgbnVtYmVyIG9mIGtleXMgcmVxdWlyZWQgdG8gdW5sb2NrXG4gKiBAcGFyYW0gb3JkZXJlZEtleXMgSWYgQmlwMzJJbnRlcmZhY2VzLCB0aGVzZSBhcmUgeHBydnMgb3IgeHB1YnMgYW5kIGFyZSBkZXJpdmFibGUuXG4gKiAgICAgICAgICAgICAgICAgICAgSWYgdGhleSBhcmUgYnVmZmVycywgdGhlbiB0aGV5IGFyZSBwdWIvcHJ2IGtleXMgYW5kIGFyZSBub3QgZGVyaXZhYmxlLlxuICogQHBhcmFtIG5ldXRlcmVkIElmIHRydWUsIG5ldXRlciB0aGUga2V5cy4gRGVmYXVsdCB0byB0cnVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNdWx0aVNpZ0Rlc2NyaXB0b3IoXG4gIHNjcmlwdFR5cGU6IFNjcmlwdFR5cGUsXG4gIGxvY2t0aW1lOiBudW1iZXIsXG4gIG06IG51bWJlcixcbiAgb3JkZXJlZEtleXM6IChCSVAzMkludGVyZmFjZSB8IEJ1ZmZlcilbXSxcbiAgbmV1dGVyZWQgPSB0cnVlXG4pOiBzdHJpbmcge1xuICBpZiAobSA+IG9yZGVyZWRLZXlzLmxlbmd0aCB8fCBtIDwgMSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBtICgke219KSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUgbnVtYmVyIG9mIGtleXMgKCR7b3JkZXJlZEtleXMubGVuZ3RofSkgYW5kIGdyZWF0ZXIgdGhhbiAwYFxuICAgICk7XG4gIH1cbiAgaWYgKGxvY2t0aW1lIDw9IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGxvY2t0aW1lICgke2xvY2t0aW1lfSkgbXVzdCBiZSBncmVhdGVyIHRoYW4gMGApO1xuICB9XG4gIGNvbnN0IGtleXMgPSBvcmRlcmVkS2V5cy5tYXAoKGtleSkgPT4gYXNEZXNjcmlwdG9yS2V5KGtleSwgbmV1dGVyZWQpKTtcbiAgY29uc3QgaW5uZXIgPSBgYW5kX3YocjphZnRlcigke2xvY2t0aW1lfSksbXVsdGkoJHttfSwke2tleXMuam9pbignLCcpfSkpYDtcbiAgcmV0dXJuIHNjcmlwdFR5cGUgPT09ICdzaCcgPyBgc2goJHtpbm5lcn0pYCA6IGBzaCh3c2goJHtpbm5lcn0pKWA7XG59XG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlRGFvL2Rlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF5QkEsNERBeUJDO0FBekNELFNBQVMsZUFBZSxDQUFDLEdBQTRCLEVBQUUsUUFBaUI7SUFDdEUsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztBQUM3RCxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFnQix3QkFBd0IsQ0FDdEMsVUFBc0IsRUFDdEIsUUFBZ0IsRUFDaEIsQ0FBUyxFQUNULFdBQXdDLEVBQ3hDLFFBQVEsR0FBRyxJQUFJO0lBRWYsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FDYixNQUFNLENBQUMsdURBQXVELFdBQVcsQ0FBQyxNQUFNLHNCQUFzQixDQUN2RyxDQUFDO0lBQ0osQ0FBQztJQUNELElBQUksUUFBUSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxRQUFRLDBCQUEwQixDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN0RSxNQUFNLEtBQUssR0FBRyxpQkFBaUIsUUFBUSxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDMUUsUUFBUSxVQUFVLEVBQUUsQ0FBQztRQUNuQixLQUFLLElBQUk7WUFDUCxPQUFPLE1BQU0sS0FBSyxHQUFHLENBQUM7UUFDeEIsS0FBSyxRQUFRO1lBQ1gsT0FBTyxVQUFVLEtBQUssSUFBSSxDQUFDO1FBQzdCLEtBQUssS0FBSztZQUNSLE9BQU8sT0FBTyxLQUFLLEdBQUcsQ0FBQztJQUMzQixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJJUDMySW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcblxuLyoqXG4gKiBTY3JpcHQgdHlwZSBmb3IgYSBkZXNjcmlwdG9yLlxuICpcbiAqIFNlZSBodHRwczovL2RvY3MuY29yZWRhby5vcmcvZG9jcy9MZWFybi9wcm9kdWN0cy9idGMtc3Rha2luZy9kZXNpZ24jcDJzaHAyd3NoLW91dHB1dFxuICovXG5leHBvcnQgdHlwZSBTY3JpcHRUeXBlID0gJ3NoJyB8ICdzaC13c2gnIHwgJ3dzaCc7XG5cbmZ1bmN0aW9uIGFzRGVzY3JpcHRvcktleShrZXk6IEJJUDMySW50ZXJmYWNlIHwgQnVmZmVyLCBuZXV0ZXJlZDogYm9vbGVhbik6IHN0cmluZyB7XG4gIGlmIChCdWZmZXIuaXNCdWZmZXIoa2V5KSkge1xuICAgIHJldHVybiBrZXkudG9TdHJpbmcoJ2hleCcpO1xuICB9XG4gIHJldHVybiAobmV1dGVyZWQgPyBrZXkubmV1dGVyZWQoKSA6IGtleSkudG9CYXNlNTgoKSArICcvKic7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgbXVsdGktc2lnIGRlc2NyaXB0b3IgdG8gcHJvZHVjZSBhIGNvcmVkYW8gc3Rha2luZyBhZGRyZXNzXG4gKiBAcGFyYW0gc2NyaXB0VHlwZSBzZWd3aXQgb3IgbGVnYWN5XG4gKiBAcGFyYW0gbG9ja3RpbWUgbG9ja3RpbWUgZm9yIENMVFZcbiAqIEBwYXJhbSBtIFRvdGFsIG51bWJlciBvZiBrZXlzIHJlcXVpcmVkIHRvIHVubG9ja1xuICogQHBhcmFtIG9yZGVyZWRLZXlzIElmIEJpcDMySW50ZXJmYWNlcywgdGhlc2UgYXJlIHhwcnZzIG9yIHhwdWJzIGFuZCBhcmUgZGVyaXZhYmxlLlxuICogICAgICAgICAgICAgICAgICAgIElmIHRoZXkgYXJlIGJ1ZmZlcnMsIHRoZW4gdGhleSBhcmUgcHViL3BydiBrZXlzIGFuZCBhcmUgbm90IGRlcml2YWJsZS5cbiAqIEBwYXJhbSBuZXV0ZXJlZCBJZiB0cnVlLCBuZXV0ZXIgdGhlIGtleXMuIERlZmF1bHQgdG8gdHJ1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTXVsdGlTaWdEZXNjcmlwdG9yKFxuICBzY3JpcHRUeXBlOiBTY3JpcHRUeXBlLFxuICBsb2NrdGltZTogbnVtYmVyLFxuICBtOiBudW1iZXIsXG4gIG9yZGVyZWRLZXlzOiAoQklQMzJJbnRlcmZhY2UgfCBCdWZmZXIpW10sXG4gIG5ldXRlcmVkID0gdHJ1ZVxuKTogc3RyaW5nIHtcbiAgaWYgKG0gPiBvcmRlcmVkS2V5cy5sZW5ndGggfHwgbSA8IDEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgbSAoJHttfSkgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIG51bWJlciBvZiBrZXlzICgke29yZGVyZWRLZXlzLmxlbmd0aH0pIGFuZCBncmVhdGVyIHRoYW4gMGBcbiAgICApO1xuICB9XG4gIGlmIChsb2NrdGltZSA8PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBsb2NrdGltZSAoJHtsb2NrdGltZX0pIG11c3QgYmUgZ3JlYXRlciB0aGFuIDBgKTtcbiAgfVxuICBjb25zdCBrZXlzID0gb3JkZXJlZEtleXMubWFwKChrZXkpID0+IGFzRGVzY3JpcHRvcktleShrZXksIG5ldXRlcmVkKSk7XG4gIGNvbnN0IGlubmVyID0gYGFuZF92KHI6YWZ0ZXIoJHtsb2NrdGltZX0pLG11bHRpKCR7bX0sJHtrZXlzLmpvaW4oJywnKX0pKWA7XG4gIHN3aXRjaCAoc2NyaXB0VHlwZSkge1xuICAgIGNhc2UgJ3NoJzpcbiAgICAgIHJldHVybiBgc2goJHtpbm5lcn0pYDtcbiAgICBjYXNlICdzaC13c2gnOlxuICAgICAgcmV0dXJuIGBzaCh3c2goJHtpbm5lcn0pKWA7XG4gICAgY2FzZSAnd3NoJzpcbiAgICAgIHJldHVybiBgd3NoKCR7aW5uZXJ9KWA7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  export declare const CORE_DAO_DEVNET_CHAIN_ID: Buffer<ArrayBuffer>;
2
+ export declare const CORE_DAO_TESTNET2_CHAIN_ID: Buffer<ArrayBuffer>;
2
3
  export declare const CORE_DAO_TESTNET_CHAIN_ID: Buffer<ArrayBuffer>;
3
4
  export declare const CORE_DAO_MAINNET_CHAIN_ID: Buffer<ArrayBuffer>;
4
5
  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,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
+ {"version":3,"file":"opReturn.d.ts","sourceRoot":"","sources":["../../../src/coreDao/opReturn.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,wBAAwB,qBAA6B,CAAC;AACnE,eAAO,MAAM,0BAA0B,qBAA6B,CAAC;AACrE,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,CAuFzB;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAkE/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 = exports.CORE_DAO_DEVNET_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_TESTNET2_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;
@@ -9,6 +9,7 @@ exports.toString = toString;
9
9
  const utxo_lib_1 = require("@bitgo/utxo-lib");
10
10
  // Source: https://docs.coredao.org/docs/Learn/products/btc-staking/design
11
11
  exports.CORE_DAO_DEVNET_CHAIN_ID = Buffer.from('0458', 'hex');
12
+ exports.CORE_DAO_TESTNET2_CHAIN_ID = Buffer.from('045a', 'hex');
12
13
  exports.CORE_DAO_TESTNET_CHAIN_ID = Buffer.from('045b', 'hex');
13
14
  exports.CORE_DAO_MAINNET_CHAIN_ID = Buffer.from('045c', 'hex');
14
15
  exports.CORE_DAO_SATOSHI_PLUS_IDENTIFIER = Buffer.from('5341542b', 'hex');
@@ -65,6 +66,7 @@ function createCoreDaoOpReturnOutputScript({ version, chainId, delegator, valida
65
66
  }
66
67
  const versionBuffer = Buffer.alloc(1, version);
67
68
  if (!(chainId.equals(exports.CORE_DAO_TESTNET_CHAIN_ID) ||
69
+ chainId.equals(exports.CORE_DAO_TESTNET2_CHAIN_ID) ||
68
70
  chainId.equals(exports.CORE_DAO_MAINNET_CHAIN_ID) ||
69
71
  chainId.equals(exports.CORE_DAO_DEVNET_CHAIN_ID))) {
70
72
  throw new Error('Invalid chain ID');
@@ -144,6 +146,7 @@ function parseCoreDaoOpReturnOutputScript(script) {
144
146
  const chainId = Buffer.from(dataBuffer.subarray(offset, offset + 2));
145
147
  if (!(chainId.equals(exports.CORE_DAO_DEVNET_CHAIN_ID) ||
146
148
  chainId.equals(exports.CORE_DAO_TESTNET_CHAIN_ID) ||
149
+ chainId.equals(exports.CORE_DAO_TESTNET2_CHAIN_ID) ||
147
150
  chainId.equals(exports.CORE_DAO_MAINNET_CHAIN_ID))) {
148
151
  throw new Error(`Invalid ChainID: ${chainId.toString('hex')}. Must be either 0x0458 (devnet), 0x045b (testnet), or 0x045c (mainnet).`);
149
152
  }
@@ -177,4 +180,4 @@ function toString(params) {
177
180
  ...('timelock' in params ? { timelock: params.timelock } : {}),
178
181
  });
179
182
  }
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BSZXR1cm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZURhby9vcFJldHVybi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFVQSx3Q0FJQztBQUVELHdDQUtDO0FBd0JELDhFQTZGQztBQU9ELDRFQWlFQztBQUVELDRCQVVDO0FBOU5ELDhDQUFxRDtBQUVyRCwwRUFBMEU7QUFDN0QsUUFBQSx3QkFBd0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN0RCxRQUFBLHlCQUF5QixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3ZELFFBQUEseUJBQXlCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdkQsUUFBQSxnQ0FBZ0MsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMvRSwyR0FBMkc7QUFDM0csTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztBQUV0RCxTQUFnQixjQUFjLENBQUMsUUFBZ0I7SUFDN0MsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELFNBQWdCLGNBQWMsQ0FBQyxNQUFjO0lBQzNDLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0FBQy9CLENBQUM7QUFZRDs7Ozs7Ozs7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QUFDO0tBQy9ELENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXltZW50cywgbmV0d29ya3MgfSBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG4vLyBTb3VyY2U6IGh0dHBzOi8vZG9jcy5jb3JlZGFvLm9yZy9kb2NzL0xlYXJuL3Byb2R1Y3RzL2J0Yy1zdGFraW5nL2Rlc2lnblxuZXhwb3J0IGNvbnN0IENPUkVfREFPX0RFVk5FVF9DSEFJTl9JRCA9IEJ1ZmZlci5mcm9tKCcwNDU4JywgJ2hleCcpO1xuZXhwb3J0IGNvbnN0IENPUkVfREFPX1RFU1RORVRfQ0hBSU5fSUQgPSBCdWZmZXIuZnJvbSgnMDQ1YicsICdoZXgnKTtcbmV4cG9ydCBjb25zdCBDT1JFX0RBT19NQUlOTkVUX0NIQUlOX0lEID0gQnVmZmVyLmZyb20oJzA0NWMnLCAnaGV4Jyk7XG5leHBvcnQgY29uc3QgQ09SRV9EQU9fU0FUT1NISV9QTFVTX0lERU5USUZJRVIgPSBCdWZmZXIuZnJvbSgnNTM0MTU0MmInLCAnaGV4Jyk7XG4vLyBodHRwczovL2dpdGh1Yi5jb20vYml0Y29pbi9iaXRjb2luL2Jsb2IvNTk2MWIyMzg5OGVlN2MwYWYyNjI2YzQ2ZDVkNzBlODAxMzY1NzhkMy9zcmMvc2NyaXB0L3NjcmlwdC5oI0w0N1xuY29uc3QgT1BfUkVUVVJOX0lERU5USUZJRVIgPSBCdWZmZXIuZnJvbSgnNmEnLCAnaGV4Jyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVUaW1lbG9jayh0aW1lbG9jazogbnVtYmVyKTogQnVmZmVyIHtcbiAgY29uc3QgYnVmZiA9IEJ1ZmZlci5hbGxvYyg0KTtcbiAgYnVmZi53cml0ZVVJbnQzMkxFKHRpbWVsb2NrKTtcbiAgcmV0dXJuIGJ1ZmY7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVUaW1lbG9jayhidWZmZXI6IEJ1ZmZlcik6IG51bWJlciB7XG4gIGlmIChidWZmZXIubGVuZ3RoICE9PSA0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHRpbWVsb2NrIGJ1ZmZlciBsZW5ndGgnKTtcbiAgfVxuICByZXR1cm4gYnVmZmVyLnJlYWRVSW50MzJMRSgpO1xufVxuXG50eXBlIEJhc2VQYXJhbXMgPSB7XG4gIHZlcnNpb246IG51bWJlcjtcbiAgY2hhaW5JZDogQnVmZmVyO1xuICBkZWxlZ2F0b3I6IEJ1ZmZlcjtcbiAgdmFsaWRhdG9yOiBCdWZmZXI7XG4gIGZlZTogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgT3BSZXR1cm5QYXJhbXMgPSBCYXNlUGFyYW1zICYgKHsgcmVkZWVtU2NyaXB0OiBCdWZmZXIgfSB8IHsgdGltZWxvY2s6IG51bWJlciB9KTtcblxuLyoqXG4gKiBDcmVhdGUgYSBDb3JlREFPIE9QX1JFVFVSTiBvdXRwdXQgc2NyaXB0XG4gKlxuICogQHBhcmFtIHZlcnNpb24gVmVyc2lvbiBvZiB0aGUgT1BfUkVUVVJOXG4gKiBAcGFyYW0gY2hhaW5JZCBDaGFpbiBJRFxuICogQHBhcmFtIGRlbGVnYXRvciBEZWxlZ2F0b3IgYWRkcmVzc1xuICogQHBhcmFtIHZhbGlkYXRvciBWYWxpZGF0b3IgYWRkcmVzc1xuICogQHBhcmFtIGZlZSBGZWUgZm9yIHJlbGF5ZXJcbiAqIEBwYXJhbSByZWRlZW1TY3JpcHQgUmVkZWVtIHNjcmlwdCBvZiB0aGUgc3Rha2luZyBvdXRwdXRcbiAqIEBwYXJhbSB0aW1lbG9jayBUaW1lbG9jayBmb3IgdGhlIHN0YWtpbmcgb3V0cHV0XG4gKiBAcmV0dXJucyBCdWZmZXIgT1BfUkVUVVJOIGJ1ZmZlclxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ29yZURhb09wUmV0dXJuT3V0cHV0U2NyaXB0KHtcbiAgdmVyc2lvbixcbiAgY2hhaW5JZCxcbiAgZGVsZWdhdG9yLFxuICB2YWxpZGF0b3IsXG4gIGZlZSxcbiAgLi4ucmVzdFxufTogT3BSZXR1cm5QYXJhbXMpOiBCdWZmZXIge1xuICAvKipcbiAgICogQXMgb2YgdjIsIHRoaXMgaXMgdGhlIGNvbnN0cnVjdGlvbiBvZiB0aGUgT1BfUkVUVVJOOlxuICAgKiBTb3VyY2U6IGh0dHBzOi8vZG9jcy5jb3JlZGFvLm9yZy9kb2NzL0xlYXJuL3Byb2R1Y3RzL2J0Yy1zdGFraW5nL2Rlc2lnbiNvcF9yZXR1cm4tb3V0cHV0XG4gICAqXG4gICAqIFRoZSBPUF9SRVRVUk4gb3V0cHV0IHNob3VsZCBjb250YWluIGFsbCBzdGFraW5nIGluZm9ybWF0aW9uIGluIG9yZGVyLCBhbmQgYmUgY29tcG9zZWQgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6XG4gICAqXG4gICAqIFNhdG9zaGkgUGx1cyBJZGVudGlmaWVyOiAoU0FUKykgNCBieXRlc1xuICAgKiBWZXJzaW9uOiAoMHgwMSkgMSBieXRlXG4gICAqIENoYWluIElEOiAoMHgwNDViICgxMTE1KSBmb3IgQ29yZSBUZXN0bmV0IGFuZCAweDA0NWMgKDExMTYpIGZvciBDb3JlIE1haW5uZXQpIDIgYnl0ZXNcbiAgICogRGVsZWdhdG9yOiBUaGUgQ29yZSBhZGRyZXNzIHRvIHJlY2VpdmUgcmV3YXJkcywgMjAgYnl0ZXNcbiAgICogVmFsaWRhdG9yOiBUaGUgQ29yZSB2YWxpZGF0b3IgYWRkcmVzcyB0byBzdGFrZSB0bywgMjAgYnl0ZXNcbiAgICogRmVlOiBGZWUgZm9yIHJlbGF5ZXIsIDEgYnl0ZSwgcmFuZ2UgWzAsMjU1XSwgbWVhc3VyZWQgaW4gQ09SRVxuICAgKiAoT3B0aW9uYWwpIFJlZGVlbVNjcmlwdFxuICAgKiAoT3B0aW9uYWwpIFRpbWVsb2NrOiA0IGJ5dGVzXG4gICAqXG4gICAqIEVpdGhlciBSZWRlZW1TY3JpcHQgb3IgVGltZWxvY2sgbXVzdCBiZSBhdmFpbGFibGUsIHRoZSBwdXJwb3NlIGlzIHRvIGFsbG93IHJlbGF5ZXIgdG9cbiAgICogb2J0YWluIHRoZSBSZWRlZW1TY3JpcHQgYW5kIHN1Ym1pdCB0cmFuc2FjdGlvbnMgb24gQ29yZS4gSWYgYSBSZWRlZW1TY3JpcHQgaXMgcHJvdmlkZWQsXG4gICAqIHJlbGF5ZXIgd2lsbCB1c2UgaXQgZGlyZWN0bHkuIE90aGVyd2lzZSwgcmVsYXllciB3aWxsIGNvbnN0cnVjdCB0aGUgcmVkZWVtIHNjcmlwdCBiYXNlZFxuICAgKiBvbiB0aGUgdGltZWxvY2sgYW5kIHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgdHJhbnNhY3Rpb24gaW5wdXRzLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgYW55IGxlbmd0aCA+IDgwIGJ5dGVzIHdvbnQgYmUgcmVsYXllZCBieSBub2RlcyBhbmQgdGhlcmVmb3JlIHdlIHdpbGwgdGhyb3cgYW4gZXJyb3IuXG4gICAqL1xuICBpZiAodmVyc2lvbiA8IDAgfHwgdmVyc2lvbiA+IDI1NSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB2ZXJzaW9uIC0gb3V0IG9mIHJhbmdlJyk7XG4gIH1cbiAgY29uc3QgdmVyc2lvbkJ1ZmZlciA9IEJ1ZmZlci5hbGxvYygxLCB2ZXJzaW9uKTtcblxuICBpZiAoXG4gICAgIShcbiAgICAgIGNoYWluSWQuZXF1YWxzKENPUkVfREFPX1RFU1RORVRfQ0hBSU5fSUQpIHx8XG4gICAgICBjaGFpbklkLmVxdWFscyhDT1JFX0RBT19NQUlOTkVUX0NIQUlOX0lEKSB8fFxuICAgICAgY2hhaW5JZC5lcXVhbHMoQ09SRV9EQU9fREVWTkVUX0NIQUlOX0lEKVxuICAgIClcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNoYWluIElEJyk7XG4gIH1cblxuICBpZiAoZGVsZWdhdG9yLmxlbmd0aCAhPT0gMjApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZGVsZWdhdG9yIGFkZHJlc3MnKTtcbiAgfVxuXG4gIGlmICh2YWxpZGF0b3IubGVuZ3RoICE9PSAyMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB2YWxpZGF0b3IgYWRkcmVzcycpO1xuICB9XG5cbiAgaWYgKGZlZSA8IDAgfHwgZmVlID4gMjU1KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGZlZSAtIG91dCBvZiByYW5nZScpO1xuICB9XG4gIGNvbnN0IGZlZUJ1ZmZlciA9IEJ1ZmZlci5hbGxvYygxLCBmZWUpO1xuXG4gIGlmIChmZWVCdWZmZXIubGVuZ3RoICE9PSAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGZlZScpO1xuICB9XG5cbiAgY29uc3QgcmVkZWVtU2NyaXB0QnVmZmVyID0gJ3JlZGVlbVNjcmlwdCcgaW4gcmVzdCA/IHJlc3QucmVkZWVtU2NyaXB0IDogQnVmZmVyLmZyb20oW10pO1xuICBpZiAoJ3RpbWVsb2NrJyBpbiByZXN0ICYmIChyZXN0LnRpbWVsb2NrIDwgMCB8fCByZXN0LnRpbWVsb2NrID4gNDI5NDk2NzI5NSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdGltZWxvY2sgLSBvdXQgb2YgcmFuZ2UnKTtcbiAgfVxuXG4gIC8vIGVuY29kZSB0aGUgbnVtYmVyIGludG8gYSA0LWJ5dGUgYnVmZmVyXG4gIC8vIGlmIHRpbWVsb2NrIGlzIHByb3ZpZGVkLCB3cml0ZSBpdCBpbnRvIDMyLWJpdCBsaXR0bGUtZW5kaWFuXG4gIGNvbnN0IHRpbWVsb2NrQnVmZmVyID0gJ3RpbWVsb2NrJyBpbiByZXN0ID8gZW5jb2RlVGltZWxvY2socmVzdC50aW1lbG9jaykgOiBCdWZmZXIuZnJvbShbXSk7XG4gIGNvbnN0IGRhdGEgPSBCdWZmZXIuY29uY2F0KFtcbiAgICBDT1JFX0RBT19TQVRPU0hJX1BMVVNfSURFTlRJRklFUixcbiAgICB2ZXJzaW9uQnVmZmVyLFxuICAgIGNoYWluSWQsXG4gICAgZGVsZWdhdG9yLFxuICAgIHZhbGlkYXRvcixcbiAgICBmZWVCdWZmZXIsXG4gICAgcmVkZWVtU2NyaXB0QnVmZmVyLFxuICAgIHRpbWVsb2NrQnVmZmVyLFxuICBdKTtcbiAgaWYgKGRhdGEubGVuZ3RoID4gODApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ09QX1JFVFVSTiBvdXRwdXRzIGNhbm5vdCBoYXZlIGEgbGVuZ3RoIGxhcmdlciB0aGFuIDgwIGJ5dGVzJyk7XG4gIH1cblxuICBjb25zdCBwYXltZW50ID0gcGF5bWVudHMuZW1iZWQoe1xuICAgIGRhdGE6IFtkYXRhXSxcbiAgICBuZXR3b3JrOiBjaGFpbklkLmVxdWFscyhDT1JFX0RBT19ERVZORVRfQ0hBSU5fSUQpID8gbmV0d29ya3MudGVzdG5ldCA6IG5ldHdvcmtzLmJpdGNvaW4sXG4gIH0pO1xuICBpZiAoIXBheW1lbnQub3V0cHV0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gY3JlYXRlIE9QX1JFVFVSTiBvdXRwdXQnKTtcbiAgfVxuXG4gIHJldHVybiBwYXltZW50Lm91dHB1dDtcbn1cblxuLyoqXG4gKiBQYXJzZSBhIENvcmVEQU8gT1BfUkVUVVJOIG91dHB1dCBzY3JpcHQgaW50byB0aGUgY29uc3RpdHVlbnQgcGFydHNcbiAqIEBwYXJhbSBzY3JpcHRcbiAqIEByZXR1cm5zIE9wUmV0dXJuUGFyYW1zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUNvcmVEYW9PcFJldHVybk91dHB1dFNjcmlwdChzY3JpcHQ6IEJ1ZmZlcik6IE9wUmV0dXJuUGFyYW1zIHtcbiAgaWYgKCFzY3JpcHQuc3ViYXJyYXkoMCwgMSkuZXF1YWxzKE9QX1JFVFVSTl9JREVOVElGSUVSKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignRmlyc3QgYnl0ZSBtdXN0IGJlIGFuIE9QX1JFVFVSTicpO1xuICB9XG5cbiAgY29uc3QgcGF5bWVudCA9IHBheW1lbnRzLmVtYmVkKHtcbiAgICBvdXRwdXQ6IHNjcmlwdCxcbiAgfSk7XG4gIGNvbnN0IGRhdGEgPSBwYXltZW50LmRhdGE7XG4gIGlmICghZGF0YSB8fCBkYXRhLmxlbmd0aCAhPT0gMSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBPUF9SRVRVUk4gb3V0cHV0Jyk7XG4gIH1cbiAgY29uc3QgZGF0YUJ1ZmZlciA9IGRhdGFbMF07XG4gIGlmIChkYXRhQnVmZmVyLmxlbmd0aCA+IDgwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBPUF9SRVRVUk4gb3V0cHV0cyBjYW5ub3QgaGF2ZSBhIGxlbmd0aCBsYXJnZXIgdGhhbiA4MCBieXRlc2ApO1xuICB9XG4gIGxldCBvZmZzZXQgPSAwO1xuXG4gIC8vIERlY29kZSBzYXRvc2hpKyBpZGVudGlmaWVyXG4gIGlmICghZGF0YUJ1ZmZlci5zdWJhcnJheShvZmZzZXQsIG9mZnNldCArIDQpLmVxdWFscyhDT1JFX0RBT19TQVRPU0hJX1BMVVNfSURFTlRJRklFUikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgc2F0b3NoaSsgaWRlbnRpZmllcicpO1xuICB9XG4gIG9mZnNldCArPSA0O1xuXG4gIC8vIERlY29kZSB2ZXJzaW9uXG4gIGNvbnN0IHZlcnNpb24gPSBkYXRhQnVmZmVyW29mZnNldF07XG4gIG9mZnNldCArPSAxO1xuXG4gIC8vIERlY29kZSBjaGFpbklkXG4gIGNvbnN0IGNoYWluSWQgPSBCdWZmZXIuZnJvbShkYXRhQnVmZmVyLnN1YmFycmF5KG9mZnNldCwgb2Zmc2V0ICsgMikpO1xuICBpZiAoXG4gICAgIShcbiAgICAgIGNoYWluSWQuZXF1YWxzKENPUkVfREFPX0RFVk5FVF9DSEFJTl9JRCkgfHxcbiAgICAgIGNoYWluSWQuZXF1YWxzKENPUkVfREFPX1RFU1RORVRfQ0hBSU5fSUQpIHx8XG4gICAgICBjaGFpbklkLmVxdWFscyhDT1JFX0RBT19NQUlOTkVUX0NIQUlOX0lEKVxuICAgIClcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYEludmFsaWQgQ2hhaW5JRDogJHtjaGFpbklkLnRvU3RyaW5nKFxuICAgICAgICAnaGV4J1xuICAgICAgKX0uIE11c3QgYmUgZWl0aGVyIDB4MDQ1OCAoZGV2bmV0KSwgMHgwNDViICh0ZXN0bmV0KSwgb3IgMHgwNDVjIChtYWlubmV0KS5gXG4gICAgKTtcbiAgfVxuICBvZmZzZXQgKz0gMjtcblxuICAvLyBEZWNvZGUgZGVsZWdhdG9yXG4gIGNvbnN0IGRlbGVnYXRvciA9IEJ1ZmZlci5mcm9tKGRhdGFCdWZmZXIuc3ViYXJyYXkob2Zmc2V0LCBvZmZzZXQgKyAyMCkpO1xuICBvZmZzZXQgKz0gMjA7XG5cbiAgLy8gRGVjb2RlIHZhbGlkYXRvclxuICBjb25zdCB2YWxpZGF0b3IgPSBCdWZmZXIuZnJvbShkYXRhQnVmZmVyLnN1YmFycmF5KG9mZnNldCwgb2Zmc2V0ICsgMjApKTtcbiAgb2Zmc2V0ICs9IDIwO1xuXG4gIC8vIERlY29kZSBmZWVcbiAgY29uc3QgZmVlID0gZGF0YUJ1ZmZlcltvZmZzZXRdO1xuICBvZmZzZXQgKz0gMTtcblxuICBjb25zdCBiYXNlUGFyYW1zID0geyB2ZXJzaW9uLCBjaGFpbklkLCBkZWxlZ2F0b3IsIHZhbGlkYXRvciwgZmVlIH07XG5cbiAgLy8gRGVjb2RlIHJlZGVlbVNjcmlwdCBvciB0aW1lbG9ja1xuICBpZiAob2Zmc2V0ID09PSBkYXRhQnVmZmVyLmxlbmd0aCAtIDQpIHtcbiAgICByZXR1cm4geyAuLi5iYXNlUGFyYW1zLCB0aW1lbG9jazogZGVjb2RlVGltZWxvY2soZGF0YUJ1ZmZlci5zdWJhcnJheShvZmZzZXQpKSB9O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB7IC4uLmJhc2VQYXJhbXMsIHJlZGVlbVNjcmlwdDogQnVmZmVyLmZyb20oZGF0YUJ1ZmZlci5zdWJhcnJheShvZmZzZXQpKSB9O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1N0cmluZyhwYXJhbXM6IE9wUmV0dXJuUGFyYW1zKTogc3RyaW5nIHtcbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHtcbiAgICB2ZXJzaW9uOiBwYXJhbXMudmVyc2lvbixcbiAgICBjaGFpbklkOiBwYXJhbXMuY2hhaW5JZC50b1N0cmluZygnaGV4JyksXG4gICAgZGVsZWdhdG9yOiBwYXJhbXMuZGVsZWdhdG9yLnRvU3RyaW5nKCdoZXgnKSxcbiAgICB2YWxpZGF0b3I6IHBhcmFtcy52YWxpZGF0b3IudG9TdHJpbmcoJ2hleCcpLFxuICAgIGZlZTogcGFyYW1zLmZlZSxcbiAgICAuLi4oJ3JlZGVlbVNjcmlwdCcgaW4gcGFyYW1zID8geyByZWRlZW1TY3JpcHQ6IHBhcmFtcy5yZWRlZW1TY3JpcHQudG9TdHJpbmcoJ2hleCcpIH0gOiB7fSksXG4gICAgLi4uKCd0aW1lbG9jaycgaW4gcGFyYW1zID8geyB0aW1lbG9jazogcGFyYW1zLnRpbWVsb2NrIH0gOiB7fSksXG4gIH0pO1xufVxuIl19
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BSZXR1cm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZURhby9vcFJldHVybi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFXQSx3Q0FJQztBQUVELHdDQUtDO0FBd0JELDhFQThGQztBQU9ELDRFQWtFQztBQUVELDRCQVVDO0FBak9ELDhDQUFxRDtBQUVyRCwwRUFBMEU7QUFDN0QsUUFBQSx3QkFBd0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN0RCxRQUFBLDBCQUEwQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3hELFFBQUEseUJBQXlCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdkQsUUFBQSx5QkFBeUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN2RCxRQUFBLGdDQUFnQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQy9FLDJHQUEyRztBQUMzRyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRXRELFNBQWdCLGNBQWMsQ0FBQyxRQUFnQjtJQUM3QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLE1BQWM7SUFDM0MsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJ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QyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDMUYsR0FBRyxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0tBQy9ELENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXltZW50cywgbmV0d29ya3MgfSBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG4vLyBTb3VyY2U6IGh0dHBzOi8vZG9jcy5jb3JlZGFvLm9yZy9kb2NzL0xlYXJuL3Byb2R1Y3RzL2J0Yy1zdGFraW5nL2Rlc2lnblxuZXhwb3J0IGNvbnN0IENPUkVfREFPX0RFVk5FVF9DSEFJTl9JRCA9IEJ1ZmZlci5mcm9tKCcwNDU4JywgJ2hleCcpO1xuZXhwb3J0IGNvbnN0IENPUkVfREFPX1RFU1RORVQyX0NIQUlOX0lEID0gQnVmZmVyLmZyb20oJzA0NWEnLCAnaGV4Jyk7XG5leHBvcnQgY29uc3QgQ09SRV9EQU9fVEVTVE5FVF9DSEFJTl9JRCA9IEJ1ZmZlci5mcm9tKCcwNDViJywgJ2hleCcpO1xuZXhwb3J0IGNvbnN0IENPUkVfREFPX01BSU5ORVRfQ0hBSU5fSUQgPSBCdWZmZXIuZnJvbSgnMDQ1YycsICdoZXgnKTtcbmV4cG9ydCBjb25zdCBDT1JFX0RBT19TQVRPU0hJX1BMVVNfSURFTlRJRklFUiA9IEJ1ZmZlci5mcm9tKCc1MzQxNTQyYicsICdoZXgnKTtcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9iaXRjb2luL2JpdGNvaW4vYmxvYi81OTYxYjIzODk4ZWU3YzBhZjI2MjZjNDZkNWQ3MGU4MDEzNjU3OGQzL3NyYy9zY3JpcHQvc2NyaXB0LmgjTDQ3XG5jb25zdCBPUF9SRVRVUk5fSURFTlRJRklFUiA9IEJ1ZmZlci5mcm9tKCc2YScsICdoZXgnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZVRpbWVsb2NrKHRpbWVsb2NrOiBudW1iZXIpOiBCdWZmZXIge1xuICBjb25zdCBidWZmID0gQnVmZmVyLmFsbG9jKDQpO1xuICBidWZmLndyaXRlVUludDMyTEUodGltZWxvY2spO1xuICByZXR1cm4gYnVmZjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZVRpbWVsb2NrKGJ1ZmZlcjogQnVmZmVyKTogbnVtYmVyIHtcbiAgaWYgKGJ1ZmZlci5sZW5ndGggIT09IDQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdGltZWxvY2sgYnVmZmVyIGxlbmd0aCcpO1xuICB9XG4gIHJldHVybiBidWZmZXIucmVhZFVJbnQzMkxFKCk7XG59XG5cbnR5cGUgQmFzZVBhcmFtcyA9IHtcbiAgdmVyc2lvbjogbnVtYmVyO1xuICBjaGFpbklkOiBCdWZmZXI7XG4gIGRlbGVnYXRvcjogQnVmZmVyO1xuICB2YWxpZGF0b3I6IEJ1ZmZlcjtcbiAgZmVlOiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBPcFJldHVyblBhcmFtcyA9IEJhc2VQYXJhbXMgJiAoeyByZWRlZW1TY3JpcHQ6IEJ1ZmZlciB9IHwgeyB0aW1lbG9jazogbnVtYmVyIH0pO1xuXG4vKipcbiAqIENyZWF0ZSBhIENvcmVEQU8gT1BfUkVUVVJOIG91dHB1dCBzY3JpcHRcbiAqXG4gKiBAcGFyYW0gdmVyc2lvbiBWZXJzaW9uIG9mIHRoZSBPUF9SRVRVUk5cbiAqIEBwYXJhbSBjaGFpbklkIENoYWluIElEXG4gKiBAcGFyYW0gZGVsZWdhdG9yIERlbGVnYXRvciBhZGRyZXNzXG4gKiBAcGFyYW0gdmFsaWRhdG9yIFZhbGlkYXRvciBhZGRyZXNzXG4gKiBAcGFyYW0gZmVlIEZlZSBmb3IgcmVsYXllclxuICogQHBhcmFtIHJlZGVlbVNjcmlwdCBSZWRlZW0gc2NyaXB0IG9mIHRoZSBzdGFraW5nIG91dHB1dFxuICogQHBhcmFtIHRpbWVsb2NrIFRpbWVsb2NrIGZvciB0aGUgc3Rha2luZyBvdXRwdXRcbiAqIEByZXR1cm5zIEJ1ZmZlciBPUF9SRVRVUk4gYnVmZmVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb3JlRGFvT3BSZXR1cm5PdXRwdXRTY3JpcHQoe1xuICB2ZXJzaW9uLFxuICBjaGFpbklkLFxuICBkZWxlZ2F0b3IsXG4gIHZhbGlkYXRvcixcbiAgZmVlLFxuICAuLi5yZXN0XG59OiBPcFJldHVyblBhcmFtcyk6IEJ1ZmZlciB7XG4gIC8qKlxuICAgKiBBcyBvZiB2MiwgdGhpcyBpcyB0aGUgY29uc3RydWN0aW9uIG9mIHRoZSBPUF9SRVRVUk46XG4gICAqIFNvdXJjZTogaHR0cHM6Ly9kb2NzLmNvcmVkYW8ub3JnL2RvY3MvTGVhcm4vcHJvZHVjdHMvYnRjLXN0YWtpbmcvZGVzaWduI29wX3JldHVybi1vdXRwdXRcbiAgICpcbiAgICogVGhlIE9QX1JFVFVSTiBvdXRwdXQgc2hvdWxkIGNvbnRhaW4gYWxsIHN0YWtpbmcgaW5mb3JtYXRpb24gaW4gb3JkZXIsIGFuZCBiZSBjb21wb3NlZCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDpcbiAgICpcbiAgICogU2F0b3NoaSBQbHVzIElkZW50aWZpZXI6IChTQVQrKSA0IGJ5dGVzXG4gICAqIFZlcnNpb246ICgweDAxKSAxIGJ5dGVcbiAgICogQ2hhaW4gSUQ6ICgweDA0NWIgKDExMTUpIGZvciBDb3JlIFRlc3RuZXQgYW5kIDB4MDQ1YyAoMTExNikgZm9yIENvcmUgTWFpbm5ldCkgMiBieXRlc1xuICAgKiBEZWxlZ2F0b3I6IFRoZSBDb3JlIGFkZHJlc3MgdG8gcmVjZWl2ZSByZXdhcmRzLCAyMCBieXRlc1xuICAgKiBWYWxpZGF0b3I6IFRoZSBDb3JlIHZhbGlkYXRvciBhZGRyZXNzIHRvIHN0YWtlIHRvLCAyMCBieXRlc1xuICAgKiBGZWU6IEZlZSBmb3IgcmVsYXllciwgMSBieXRlLCByYW5nZSBbMCwyNTVdLCBtZWFzdXJlZCBpbiBDT1JFXG4gICAqIChPcHRpb25hbCkgUmVkZWVtU2NyaXB0XG4gICAqIChPcHRpb25hbCkgVGltZWxvY2s6IDQgYnl0ZXNcbiAgICpcbiAgICogRWl0aGVyIFJlZGVlbVNjcmlwdCBvciBUaW1lbG9jayBtdXN0IGJlIGF2YWlsYWJsZSwgdGhlIHB1cnBvc2UgaXMgdG8gYWxsb3cgcmVsYXllciB0b1xuICAgKiBvYnRhaW4gdGhlIFJlZGVlbVNjcmlwdCBhbmQgc3VibWl0IHRyYW5zYWN0aW9ucyBvbiBDb3JlLiBJZiBhIFJlZGVlbVNjcmlwdCBpcyBwcm92aWRlZCxcbiAgICogcmVsYXllciB3aWxsIHVzZSBpdCBkaXJlY3RseS4gT3RoZXJ3aXNlLCByZWxheWVyIHdpbGwgY29uc3RydWN0IHRoZSByZWRlZW0gc2NyaXB0IGJhc2VkXG4gICAqIG9uIHRoZSB0aW1lbG9jayBhbmQgdGhlIGluZm9ybWF0aW9uIGluIHRoZSB0cmFuc2FjdGlvbiBpbnB1dHMuXG4gICAqXG4gICAqIE5vdGUgdGhhdCBhbnkgbGVuZ3RoID4gODAgYnl0ZXMgd29udCBiZSByZWxheWVkIGJ5IG5vZGVzIGFuZCB0aGVyZWZvcmUgd2Ugd2lsbCB0aHJvdyBhbiBlcnJvci5cbiAgICovXG4gIGlmICh2ZXJzaW9uIDwgMCB8fCB2ZXJzaW9uID4gMjU1KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHZlcnNpb24gLSBvdXQgb2YgcmFuZ2UnKTtcbiAgfVxuICBjb25zdCB2ZXJzaW9uQnVmZmVyID0gQnVmZmVyLmFsbG9jKDEsIHZlcnNpb24pO1xuXG4gIGlmIChcbiAgICAhKFxuICAgICAgY2hhaW5JZC5lcXVhbHMoQ09SRV9EQU9fVEVTVE5FVF9DSEFJTl9JRCkgfHxcbiAgICAgIGNoYWluSWQuZXF1YWxzKENPUkVfREFPX1RFU1RORVQyX0NIQUlOX0lEKSB8fFxuICAgICAgY2hhaW5JZC5lcXVhbHMoQ09SRV9EQU9fTUFJTk5FVF9DSEFJTl9JRCkgfHxcbiAgICAgIGNoYWluSWQuZXF1YWxzKENPUkVfREFPX0RFVk5FVF9DSEFJTl9JRClcbiAgICApXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjaGFpbiBJRCcpO1xuICB9XG5cbiAgaWYgKGRlbGVnYXRvci5sZW5ndGggIT09IDIwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRlbGVnYXRvciBhZGRyZXNzJyk7XG4gIH1cblxuICBpZiAodmFsaWRhdG9yLmxlbmd0aCAhPT0gMjApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmFsaWRhdG9yIGFkZHJlc3MnKTtcbiAgfVxuXG4gIGlmIChmZWUgPCAwIHx8IGZlZSA+IDI1NSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBmZWUgLSBvdXQgb2YgcmFuZ2UnKTtcbiAgfVxuICBjb25zdCBmZWVCdWZmZXIgPSBCdWZmZXIuYWxsb2MoMSwgZmVlKTtcblxuICBpZiAoZmVlQnVmZmVyLmxlbmd0aCAhPT0gMSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBmZWUnKTtcbiAgfVxuXG4gIGNvbnN0IHJlZGVlbVNjcmlwdEJ1ZmZlciA9ICdyZWRlZW1TY3JpcHQnIGluIHJlc3QgPyByZXN0LnJlZGVlbVNjcmlwdCA6IEJ1ZmZlci5mcm9tKFtdKTtcbiAgaWYgKCd0aW1lbG9jaycgaW4gcmVzdCAmJiAocmVzdC50aW1lbG9jayA8IDAgfHwgcmVzdC50aW1lbG9jayA+IDQyOTQ5NjcyOTUpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHRpbWVsb2NrIC0gb3V0IG9mIHJhbmdlJyk7XG4gIH1cblxuICAvLyBlbmNvZGUgdGhlIG51bWJlciBpbnRvIGEgNC1ieXRlIGJ1ZmZlclxuICAvLyBpZiB0aW1lbG9jayBpcyBwcm92aWRlZCwgd3JpdGUgaXQgaW50byAzMi1iaXQgbGl0dGxlLWVuZGlhblxuICBjb25zdCB0aW1lbG9ja0J1ZmZlciA9ICd0aW1lbG9jaycgaW4gcmVzdCA/IGVuY29kZVRpbWVsb2NrKHJlc3QudGltZWxvY2spIDogQnVmZmVyLmZyb20oW10pO1xuICBjb25zdCBkYXRhID0gQnVmZmVyLmNvbmNhdChbXG4gICAgQ09SRV9EQU9fU0FUT1NISV9QTFVTX0lERU5USUZJRVIsXG4gICAgdmVyc2lvbkJ1ZmZlcixcbiAgICBjaGFpbklkLFxuICAgIGRlbGVnYXRvcixcbiAgICB2YWxpZGF0b3IsXG4gICAgZmVlQnVmZmVyLFxuICAgIHJlZGVlbVNjcmlwdEJ1ZmZlcixcbiAgICB0aW1lbG9ja0J1ZmZlcixcbiAgXSk7XG4gIGlmIChkYXRhLmxlbmd0aCA+IDgwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdPUF9SRVRVUk4gb3V0cHV0cyBjYW5ub3QgaGF2ZSBhIGxlbmd0aCBsYXJnZXIgdGhhbiA4MCBieXRlcycpO1xuICB9XG5cbiAgY29uc3QgcGF5bWVudCA9IHBheW1lbnRzLmVtYmVkKHtcbiAgICBkYXRhOiBbZGF0YV0sXG4gICAgbmV0d29yazogY2hhaW5JZC5lcXVhbHMoQ09SRV9EQU9fREVWTkVUX0NIQUlOX0lEKSA/IG5ldHdvcmtzLnRlc3RuZXQgOiBuZXR3b3Jrcy5iaXRjb2luLFxuICB9KTtcbiAgaWYgKCFwYXltZW50Lm91dHB1dCkge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGNyZWF0ZSBPUF9SRVRVUk4gb3V0cHV0Jyk7XG4gIH1cblxuICByZXR1cm4gcGF5bWVudC5vdXRwdXQ7XG59XG5cbi8qKlxuICogUGFyc2UgYSBDb3JlREFPIE9QX1JFVFVSTiBvdXRwdXQgc2NyaXB0IGludG8gdGhlIGNvbnN0aXR1ZW50IHBhcnRzXG4gKiBAcGFyYW0gc2NyaXB0XG4gKiBAcmV0dXJucyBPcFJldHVyblBhcmFtc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDb3JlRGFvT3BSZXR1cm5PdXRwdXRTY3JpcHQoc2NyaXB0OiBCdWZmZXIpOiBPcFJldHVyblBhcmFtcyB7XG4gIGlmICghc2NyaXB0LnN1YmFycmF5KDAsIDEpLmVxdWFscyhPUF9SRVRVUk5fSURFTlRJRklFUikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZpcnN0IGJ5dGUgbXVzdCBiZSBhbiBPUF9SRVRVUk4nKTtcbiAgfVxuXG4gIGNvbnN0IHBheW1lbnQgPSBwYXltZW50cy5lbWJlZCh7XG4gICAgb3V0cHV0OiBzY3JpcHQsXG4gIH0pO1xuICBjb25zdCBkYXRhID0gcGF5bWVudC5kYXRhO1xuICBpZiAoIWRhdGEgfHwgZGF0YS5sZW5ndGggIT09IDEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgT1BfUkVUVVJOIG91dHB1dCcpO1xuICB9XG4gIGNvbnN0IGRhdGFCdWZmZXIgPSBkYXRhWzBdO1xuICBpZiAoZGF0YUJ1ZmZlci5sZW5ndGggPiA4MCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgT1BfUkVUVVJOIG91dHB1dHMgY2Fubm90IGhhdmUgYSBsZW5ndGggbGFyZ2VyIHRoYW4gODAgYnl0ZXNgKTtcbiAgfVxuICBsZXQgb2Zmc2V0ID0gMDtcblxuICAvLyBEZWNvZGUgc2F0b3NoaSsgaWRlbnRpZmllclxuICBpZiAoIWRhdGFCdWZmZXIuc3ViYXJyYXkob2Zmc2V0LCBvZmZzZXQgKyA0KS5lcXVhbHMoQ09SRV9EQU9fU0FUT1NISV9QTFVTX0lERU5USUZJRVIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHNhdG9zaGkrIGlkZW50aWZpZXInKTtcbiAgfVxuICBvZmZzZXQgKz0gNDtcblxuICAvLyBEZWNvZGUgdmVyc2lvblxuICBjb25zdCB2ZXJzaW9uID0gZGF0YUJ1ZmZlcltvZmZzZXRdO1xuICBvZmZzZXQgKz0gMTtcblxuICAvLyBEZWNvZGUgY2hhaW5JZFxuICBjb25zdCBjaGFpbklkID0gQnVmZmVyLmZyb20oZGF0YUJ1ZmZlci5zdWJhcnJheShvZmZzZXQsIG9mZnNldCArIDIpKTtcbiAgaWYgKFxuICAgICEoXG4gICAgICBjaGFpbklkLmVxdWFscyhDT1JFX0RBT19ERVZORVRfQ0hBSU5fSUQpIHx8XG4gICAgICBjaGFpbklkLmVxdWFscyhDT1JFX0RBT19URVNUTkVUX0NIQUlOX0lEKSB8fFxuICAgICAgY2hhaW5JZC5lcXVhbHMoQ09SRV9EQU9fVEVTVE5FVDJfQ0hBSU5fSUQpIHx8XG4gICAgICBjaGFpbklkLmVxdWFscyhDT1JFX0RBT19NQUlOTkVUX0NIQUlOX0lEKVxuICAgIClcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYEludmFsaWQgQ2hhaW5JRDogJHtjaGFpbklkLnRvU3RyaW5nKFxuICAgICAgICAnaGV4J1xuICAgICAgKX0uIE11c3QgYmUgZWl0aGVyIDB4MDQ1OCAoZGV2bmV0KSwgMHgwNDViICh0ZXN0bmV0KSwgb3IgMHgwNDVjIChtYWlubmV0KS5gXG4gICAgKTtcbiAgfVxuICBvZmZzZXQgKz0gMjtcblxuICAvLyBEZWNvZGUgZGVsZWdhdG9yXG4gIGNvbnN0IGRlbGVnYXRvciA9IEJ1ZmZlci5mcm9tKGRhdGFCdWZmZXIuc3ViYXJyYXkob2Zmc2V0LCBvZmZzZXQgKyAyMCkpO1xuICBvZmZzZXQgKz0gMjA7XG5cbiAgLy8gRGVjb2RlIHZhbGlkYXRvclxuICBjb25zdCB2YWxpZGF0b3IgPSBCdWZmZXIuZnJvbShkYXRhQnVmZmVyLnN1YmFycmF5KG9mZnNldCwgb2Zmc2V0ICsgMjApKTtcbiAgb2Zmc2V0ICs9IDIwO1xuXG4gIC8vIERlY29kZSBmZWVcbiAgY29uc3QgZmVlID0gZGF0YUJ1ZmZlcltvZmZzZXRdO1xuICBvZmZzZXQgKz0gMTtcblxuICBjb25zdCBiYXNlUGFyYW1zID0geyB2ZXJzaW9uLCBjaGFpbklkLCBkZWxlZ2F0b3IsIHZhbGlkYXRvciwgZmVlIH07XG5cbiAgLy8gRGVjb2RlIHJlZGVlbVNjcmlwdCBvciB0aW1lbG9ja1xuICBpZiAob2Zmc2V0ID09PSBkYXRhQnVmZmVyLmxlbmd0aCAtIDQpIHtcbiAgICByZXR1cm4geyAuLi5iYXNlUGFyYW1zLCB0aW1lbG9jazogZGVjb2RlVGltZWxvY2soZGF0YUJ1ZmZlci5zdWJhcnJheShvZmZzZXQpKSB9O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB7IC4uLmJhc2VQYXJhbXMsIHJlZGVlbVNjcmlwdDogQnVmZmVyLmZyb20oZGF0YUJ1ZmZlci5zdWJhcnJheShvZmZzZXQpKSB9O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1N0cmluZyhwYXJhbXM6IE9wUmV0dXJuUGFyYW1zKTogc3RyaW5nIHtcbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHtcbiAgICB2ZXJzaW9uOiBwYXJhbXMudmVyc2lvbixcbiAgICBjaGFpbklkOiBwYXJhbXMuY2hhaW5JZC50b1N0cmluZygnaGV4JyksXG4gICAgZGVsZWdhdG9yOiBwYXJhbXMuZGVsZWdhdG9yLnRvU3RyaW5nKCdoZXgnKSxcbiAgICB2YWxpZGF0b3I6IHBhcmFtcy52YWxpZGF0b3IudG9TdHJpbmcoJ2hleCcpLFxuICAgIGZlZTogcGFyYW1zLmZlZSxcbiAgICAuLi4oJ3JlZGVlbVNjcmlwdCcgaW4gcGFyYW1zID8geyByZWRlZW1TY3JpcHQ6IHBhcmFtcy5yZWRlZW1TY3JpcHQudG9TdHJpbmcoJ2hleCcpIH0gOiB7fSksXG4gICAgLi4uKCd0aW1lbG9jaycgaW4gcGFyYW1zID8geyB0aW1lbG9jazogcGFyYW1zLnRpbWVsb2NrIH0gOiB7fSksXG4gIH0pO1xufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo/utxo-staking",
3
- "version": "1.3.4",
3
+ "version": "1.5.0",
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",
@@ -44,5 +44,5 @@
44
44
  "@bitgo/utxo-lib": "^11.2.1",
45
45
  "@bitgo/wasm-miniscript": "^2.0.0-beta.2"
46
46
  },
47
- "gitHead": "468038e97633249365d8361415fd04c52edb47a0"
47
+ "gitHead": "e9a7f5fa057dd4966907be08d4b78d00deb68808"
48
48
  }