@bitgo-beta/utxo-core 1.0.0-beta.19 → 1.0.0-beta.20

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.
@@ -5,7 +5,6 @@ export declare function getDefaultXPubs(seed?: string): Triple<string>;
5
5
  export declare function getUnspendableKey(): string;
6
6
  export type DescriptorTemplate = 'Wsh2Of3' | 'Tr2Of3-NoKeyPath' | 'Wsh2Of2' | 'ShWsh2Of3CltvDrop';
7
7
  export declare function getPsbtParams(t: DescriptorTemplate): Partial<PsbtParams>;
8
- export declare function getDescriptorString(template: DescriptorTemplate, keys?: KeyTriple | string[], path?: string): string;
9
8
  export declare function getDescriptor(template: DescriptorTemplate, keys?: KeyTriple | string[], path?: string): Descriptor;
10
9
  export declare function getDescriptorMap(template: DescriptorTemplate, keys?: KeyTriple | string[]): DescriptorMap;
11
10
  //# sourceMappingURL=descriptors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"descriptors.d.ts","sourceRoot":"","sources":["../../../../src/testutil/descriptor/descriptors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAgB,MAAM,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE/D,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAE7D;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAsB1C;AAMD,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,kBAAkB,GAClB,SAAS,GAMT,mBAAmB,CAAC;AAkCxB,wBAAgB,aAAa,CAAC,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CASxE;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,GAAE,SAAS,GAAG,MAAM,EAAsB,EAC9C,IAAI,SAAQ,GACX,MAAM,CAaR;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,GAAE,SAAS,GAAG,MAAM,EAAsB,EAC9C,IAAI,SAAQ,GACX,UAAU,CAEZ;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,GAAE,SAAS,GAAG,MAAM,EAAsB,GAC7C,aAAa,CAKf"}
1
+ {"version":3,"file":"descriptors.d.ts","sourceRoot":"","sources":["../../../../src/testutil/descriptor/descriptors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAO,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAgB,MAAM,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE/D,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAE7D;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAsB1C;AAMD,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,kBAAkB,GAClB,SAAS,GAMT,mBAAmB,CAAC;AAoBxB,wBAAgB,aAAa,CAAC,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CASxE;AAkCD,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,GAAE,SAAS,GAAG,MAAM,EAAsB,EAC9C,IAAI,SAAQ,GACX,UAAU,CAEZ;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,GAAE,SAAS,GAAG,MAAM,EAAsB,GAC7C,aAAa,CAKf"}
@@ -1,11 +1,14 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.getDefaultXPubs = getDefaultXPubs;
4
7
  exports.getUnspendableKey = getUnspendableKey;
5
8
  exports.getPsbtParams = getPsbtParams;
6
- exports.getDescriptorString = getDescriptorString;
7
9
  exports.getDescriptor = getDescriptor;
8
10
  exports.getDescriptorMap = getDescriptorMap;
11
+ const assert_1 = __importDefault(require("assert"));
9
12
  const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
10
13
  const key_utils_1 = require("../key.utils");
11
14
  function getDefaultXPubs(seed) {
@@ -37,13 +40,13 @@ function getUnspendableKey() {
37
40
  function toDescriptorMap(v) {
38
41
  return new Map(Object.entries(v).map(([k, v]) => [k, wasm_miniscript_1.Descriptor.fromString(v, 'derivable')]));
39
42
  }
40
- function toXPub(k) {
43
+ function toXPub(k, path) {
41
44
  if (typeof k === 'string') {
42
- return k;
45
+ return k + '/' + path;
43
46
  }
44
- return k.neutered().toBase58();
47
+ return k.neutered().toBase58() + '/' + path;
45
48
  }
46
- function multi(prefix, m, n, keys, path) {
49
+ function multiArgs(m, n, keys, path) {
47
50
  if (n < m) {
48
51
  throw new Error(`Cannot create ${m} of ${n} multisig`);
49
52
  }
@@ -51,13 +54,7 @@ function multi(prefix, m, n, keys, path) {
51
54
  throw new Error(`Not enough keys for ${m} of ${n} multisig: keys.length=${keys.length}`);
52
55
  }
53
56
  keys = keys.slice(0, n);
54
- return prefix + `(${m},${keys.map((k) => `${toXPub(k)}/${path}`).join(',')})`;
55
- }
56
- function multiWsh(m, n, keys, path) {
57
- return multi('multi', m, n, keys, path);
58
- }
59
- function multiTap(m, n, keys, path) {
60
- return multi('multi_a', m, n, keys, path);
57
+ return [m, ...keys.map((k) => toXPub(k, path))];
61
58
  }
62
59
  function getPsbtParams(t) {
63
60
  switch (t) {
@@ -69,22 +66,35 @@ function getPsbtParams(t) {
69
66
  return { locktime: 1 };
70
67
  }
71
68
  }
72
- function getDescriptorString(template, keys = getDefaultXPubs(), path = '0/*') {
69
+ function getDescriptorNode(template, keys = getDefaultXPubs(), path = '0/*') {
73
70
  switch (template) {
74
71
  case 'Wsh2Of3':
75
- return `wsh(${multiWsh(2, 3, keys, path)})`;
72
+ return {
73
+ wsh: { multi: multiArgs(2, 3, keys, path) },
74
+ };
76
75
  case 'ShWsh2Of3CltvDrop':
77
76
  const { locktime } = getPsbtParams(template);
78
- return `sh(wsh(and_v(r:after(${locktime}),${multiWsh(2, 3, keys, path)})))`;
77
+ (0, assert_1.default)(locktime);
78
+ return {
79
+ sh: {
80
+ wsh: {
81
+ and_v: [{ 'r:after': locktime }, { multi: multiArgs(2, 3, keys, path) }],
82
+ },
83
+ },
84
+ };
79
85
  case 'Wsh2Of2':
80
- return `wsh(${multiWsh(2, 2, keys, path)})`;
86
+ return {
87
+ wsh: { multi: multiArgs(2, 2, keys, path) },
88
+ };
81
89
  case 'Tr2Of3-NoKeyPath':
82
- return `tr(${getUnspendableKey()},${multiTap(2, 3, keys, path)})`;
90
+ return {
91
+ tr: [getUnspendableKey(), { multi_a: multiArgs(2, 3, keys, path) }],
92
+ };
83
93
  }
84
94
  throw new Error(`Unknown descriptor template: ${template}`);
85
95
  }
86
96
  function getDescriptor(template, keys = getDefaultXPubs(), path = '0/*') {
87
- return wasm_miniscript_1.Descriptor.fromString(getDescriptorString(template, keys, path), 'derivable');
97
+ return wasm_miniscript_1.Descriptor.fromString(wasm_miniscript_1.ast.formatNode(getDescriptorNode(template, keys, path)), 'derivable');
88
98
  }
89
99
  function getDescriptorMap(template, keys = getDefaultXPubs()) {
90
100
  return toDescriptorMap({
@@ -92,4 +102,4 @@ function getDescriptorMap(template, keys = getDefaultXPubs()) {
92
102
  internal: getDescriptor(template, keys, '1/*').toString(),
93
103
  });
94
104
  }
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGVzdHV0aWwvZGVzY3JpcHRvci9kZXNjcmlwdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU1BLDBDQUVDO0FBRUQsOENBc0JDO0FBaURELHNDQVNDO0FBRUQsa0RBaUJDO0FBRUQsc0NBTUM7QUFFRCw0Q0FRQztBQS9IRCw0REFBb0Q7QUFJcEQsNENBQStEO0FBRS9ELFNBQWdCLGVBQWUsQ0FBQyxJQUFhO0lBQzNDLE9BQU8sSUFBQSx3QkFBWSxFQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFtQixDQUFDO0FBQ2xGLENBQUM7QUFFRCxTQUFnQixpQkFBaUI7SUFDL0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFtQkU7SUFDRixPQUFPLGtFQUFrRSxDQUFDO0FBQzVFLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxDQUF5QjtJQUNoRCxPQUFPLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLDRCQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoRyxDQUFDO0FBYUQsU0FBUyxNQUFNLENBQUMsQ0FBMEI7SUFDeEMsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMxQixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFDRCxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUNqQyxDQUFDO0FBRUQsU0FBUyxLQUFLLENBQ1osTUFBMkIsRUFDM0Is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Q0FBQztBQUN2RixDQUFDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQzlCLFFBQTRCLEVBQzVCLE9BQTZCLGVBQWUsRUFBRTtJQUU5QyxPQUFPLGVBQWUsQ0FBQztRQUNyQixRQUFRLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFO1FBQ3pELFFBQVEsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUU7S0FDMUQsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc2NyaXB0b3IgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcbmltcG9ydCB7IEJJUDMySW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5pbXBvcnQgeyBEZXNjcmlwdG9yTWFwLCBQc2J0UGFyYW1zIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBnZXRLZXlUcmlwbGUsIFRyaXBsZSwgS2V5VHJpcGxlIH0gZnJvbSAnLi4va2V5LnV0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldERlZmF1bHRYUHVicyhzZWVkPzogc3RyaW5nKTogVHJpcGxlPHN0cmluZz4ge1xuICByZXR1cm4gZ2V0S2V5VHJpcGxlKHNlZWQpLm1hcCgoaykgPT4gay5uZXV0ZXJlZCgpLnRvQmFzZTU4KCkpIGFzIFRyaXBsZTxzdHJpbmc+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VW5zcGVuZGFibGVLZXkoKTogc3RyaW5nIHtcbiAgLypcbiAgaHR0cHM6Ly9naXRodWIuY29tL2JpdGNvaW4vYmlwcy9ibG9iL21hc3Rlci9iaXAtMDM0MS5tZWRpYXdpa2kjY29uc3RydWN0aW5nLWFuZC1zcGVuZGluZy10YXByb290LW91dHB1dHNcblxuICBgYGBcbiAgSWYgb25lIG9yIG1vcmUgb2YgdGhlIHNwZW5kaW5nIGNvbmRpdGlvbnMgY29uc2lzdCBvZiBqdXN0IGEgc2luZ2xlIGtleSAoYWZ0ZXIgYWdncmVnYXRpb24pLCB0aGUgbW9zdCBsaWtlbHkgb25lIHNob3VsZFxuICBiZSBtYWRlIHRoZSBpbnRlcm5hbCBrZXkuIElmIG5vIHN1Y2ggY29uZGl0aW9uIGV4aXN0cywgaXQgbWF5IGJlIHdvcnRod2hpbGUgYWRkaW5nIG9uZSB0aGF0IGNvbnNpc3RzIG9mIGFuIGFnZ3JlZ2F0aW9uXG4gIG9mIGFsbCBrZXlzIHBhcnRpY2lwYXRpbmcgaW4gYWxsIHNjcmlwdHMgY29tYmluZWQ7IGVmZmVjdGl2ZWx5IGFkZGluZyBhbiBcImV2ZXJ5b25lIGFncmVlc1wiIGJyYW5jaC4gSWYgdGhhdCBpc1xuICBpbmFjY2VwdGFibGUsIHBpY2sgYXMgaW50ZXJuYWwga2V5IGEgXCJOb3RoaW5nIFVwIE15IFNsZWV2ZVwiIChOVU1TKSBwb2ludCwgaS5lLiwgYSBwb2ludCB3aXRoIHVua25vd24gZGlzY3JldGVcbiAgbG9nYXJpdGhtLlxuXG4gIE9uZSBleGFtcGxlIG9mIHN1Y2ggYSBwb2ludCBpcyBIID0gbGlmdF94KDB4NTA5MjliNzRjMWEwNDk1NGI3OGI0YjYwMzVlOTdhNWUwNzhhNWEwZjI4ZWM5NmQ1NDdiZmVlOWFjZTgwM2FjMCkgd2hpY2ggaXNcbiAgY29uc3RydWN0ZWQgYnkgdGFraW5nIHRoZSBoYXNoIG9mIHRoZSBzdGFuZGFyZCB1bmNvbXByZXNzZWQgZW5jb2Rpbmcgb2YgdGhlIHNlY3AyNTZrMSBiYXNlIHBvaW50IEcgYXMgWCBjb29yZGluYXRlLlxuICBJbiBvcmRlciB0byBhdm9pZCBsZWFraW5nIHRoZSBpbmZvcm1hdGlvbiB0aGF0IGtleSBwYXRoIHNwZW5kaW5nIGlzIG5vdCBwb3NzaWJsZSBpdCBpcyByZWNvbW1lbmRlZCB0byBwaWNrIGEgZnJlc2hcbiAgaW50ZWdlciByIGluIHRoZSByYW5nZSAwLi4ubi0xIHVuaWZvcm1seSBhdCByYW5kb20gYW5kIHVzZSBIICsgckcgYXMgaW50ZXJuYWwga2V5LiBJdCBpcyBwb3NzaWJsZSB0byBwcm92ZSB0aGF0IHRoaXNcbiAgaW50ZXJuYWwga2V5IGRvZXMgbm90IGhhdmUgYSBrbm93biBkaXNjcmV0ZSBsb2dhcml0aG0gd2l0aCByZXNwZWN0IHRvIEcgYnkgcmV2ZWFsaW5nIHIgdG8gYSB2ZXJpZmllciB3aG8gY2FuIHRoZW5cbiAgcmVjb25zdHJ1Y3QgaG93IHRoZSBpbnRlcm5hbCBrZXkgd2FzIGNyZWF0ZWQuXG4gIGBgYFxuXG4gIFdlIGNvdWxkIGRvIHRoZSByYW5kb20gaW50ZWdlciB0cmljayBoZXJlLCBidXQgZm9yIGludGVybmFsIHRlc3RpbmcgaXQgaXMgc3VmZmljaWVudCB0byB1c2UgdGhlIGZpeGVkIHBvaW50LlxuICAqL1xuICByZXR1cm4gJzUwOTI5Yjc0YzFhMDQ5NTRiNzhiNGI2MDM1ZTk3YTVlMDc4YTVhMGYyOGVjOTZkNTQ3YmZlZTlhY2U4MDNhYzAnO1xufVxuXG5mdW5jdGlvbiB0b0Rlc2NyaXB0b3JNYXAodjogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IERlc2NyaXB0b3JNYXAge1xuICByZXR1cm4gbmV3IE1hcChPYmplY3QuZW50cmllcyh2KS5tYXAoKFtrLCB2XSkgPT4gW2ssIERlc2NyaXB0b3IuZnJvbVN0cmluZyh2LCAnZGVyaXZhYmxlJyldKSk7XG59XG5cbmV4cG9ydCB0eXBlIERlc2NyaXB0b3JUZW1wbGF0ZSA9XG4gIHwgJ1dzaDJPZjMnXG4gIHwgJ1RyMk9mMy1Ob0tleVBhdGgnXG4gIHwgJ1dzaDJPZjInXG4gIC8qXG4gICAqIFRoaXMgaXMgYSB3cmFwcGVkIHNlZ3dpdCAyb2YzIG11bHRpc2lnIHRoYXQgYWxzbyB1c2VzIGEgcmVsYXRpdmUgbG9ja3RpbWUgd2l0aFxuICAgKiBhbiBPUF9EUk9QIChyZXF1aXJpbmcgYSBtaW5pc2NyaXB0IGV4dGVuc2lvbikuXG4gICAqIEl0IGlzIGJhc2ljYWxseSB3aGF0IGlzIHVzZWQgaW4gQ29yZURhbyBzdGFraW5nIHRyYW5zYWN0aW9ucy5cbiAgICovXG4gIHwgJ1NoV3NoMk9mM0NsdHZEcm9wJztcblxuZnVuY3Rpb24gdG9YUHViKGs6IEJJUDMySW50ZXJmYWNlIHwgc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKHR5cGVvZiBrID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBrO1xuICB9XG4gIHJldHVybiBrLm5ldXRlcmVkKCkudG9CYXNlNTgoKTtcbn1cblxuZnVuY3Rpb24gbXVsdGkoXG4gIHByZWZpeDogJ211bHRpJyB8ICdtdWx0aV9hJyxcbiAgbTogbnVtYmVyLFxuICBuOiBudW1iZXIsXG4gIGtleXM6IEJJUDMySW50ZXJmYWNlW10gfCBzdHJpbmdbXSxcbiAgcGF0aDogc3RyaW5nXG4pOiBzdHJpbmcge1xuICBpZiAobiA8IG0pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBjcmVhdGUgJHttfSBvZiAke259IG11bHRpc2lnYCk7XG4gIH1cbiAgaWYgKGtleXMubGVuZ3RoIDwgbikge1xuICAgIHRocm93IG5ldyBFcnJvcihgTm90IGVub3VnaCBrZXlzIGZvciAke219IG9mICR7bn0gbXVsdGlzaWc6IGtleXMubGVuZ3RoPSR7a2V5cy5sZW5ndGh9YCk7XG4gIH1cbiAga2V5cyA9IGtleXMuc2xpY2UoMCwgbik7XG4gIHJldHVybiBwcmVmaXggKyBgKCR7bX0sJHtrZXlzLm1hcCgoaykgPT4gYCR7dG9YUHViKGspfS8ke3BhdGh9YCkuam9pbignLCcpfSlgO1xufVxuXG5mdW5jdGlvbiBtdWx0aVdzaChtOiBudW1iZXIsIG46IG51bWJlciwga2V5czogQklQMzJJbnRlcmZhY2VbXSB8IHN0cmluZ1tdLCBwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gbXVsdGkoJ211bHRpJywgbSwgbiwga2V5cywgcGF0aCk7XG59XG5cbmZ1bmN0aW9uIG11bHRpVGFwKG06IG51bWJlciwgbjogbnVtYmVyLCBrZXlzOiBCSVAzMkludGVyZmFjZVtdIHwgc3RyaW5nW10sIHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBtdWx0aSgnbXVsdGlfYScsIG0sIG4sIGtleXMsIHBhdGgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHNidFBhcmFtcyh0OiBEZXNjcmlwdG9yVGVtcGxhdGUpOiBQYXJ0aWFsPFBzYnRQYXJhbXM+IHtcbiAgc3dpdGNoICh0KSB7XG4gICAgY2FzZSAnV3NoMk9mMyc6XG4gICAgY2FzZSAnV3NoMk9mMic6XG4gICAgY2FzZSAnVHIyT2YzLU5vS2V5UGF0aCc6XG4gICAgICByZXR1cm4ge307XG4gICAgY2FzZSAnU2hXc2gyT2YzQ2x0dkRyb3AnOlxuICAgICAgcmV0dXJuIHsgbG9ja3RpbWU6IDEgfTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVzY3JpcHRvclN0cmluZyhcbiAgdGVtcGxhdGU6IERlc2NyaXB0b3JUZW1wbGF0ZSxcbiAga2V5czogS2V5VHJpcGxlIHwgc3RyaW5nW10gPSBnZXREZWZhdWx0WFB1YnMoKSxcbiAgcGF0aCA9ICcwLyonXG4pOiBzdHJpbmcge1xuICBzd2l0Y2ggKHRlbXBsYXRlKSB7XG4gICAgY2FzZSAnV3NoMk9mMyc6XG4gICAgICByZXR1cm4gYHdzaCgke211bHRpV3NoKDIsIDMsIGtleXMsIHBhdGgpfSlgO1xuICAgIGNhc2UgJ1NoV3NoMk9mM0NsdHZEcm9wJzpcbiAgICAgIGNvbnN0IHsgbG9ja3RpbWUgfSA9IGdldFBzYnRQYXJhbXModGVtcGxhdGUpO1xuICAgICAgcmV0dXJuIGBzaCh3c2goYW5kX3YocjphZnRlcigke2xvY2t0aW1lfSksJHttdWx0aVdzaCgyLCAzLCBrZXlzLCBwYXRoKX0pKSlgO1xuICAgIGNhc2UgJ1dzaDJPZjInOlxuICAgICAgcmV0dXJuIGB3c2goJHttdWx0aVdzaCgyLCAyLCBrZXlzLCBwYXRoKX0pYDtcbiAgICBjYXNlICdUcjJPZjMtTm9LZXlQYXRoJzpcbiAgICAgIHJldHVybiBgdHIoJHtnZXRVbnNwZW5kYWJsZUtleSgpfSwke211bHRpVGFwKDIsIDMsIGtleXMsIHBhdGgpfSlgO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBkZXNjcmlwdG9yIHRlbXBsYXRlOiAke3RlbXBsYXRlfWApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVzY3JpcHRvcihcbiAgdGVtcGxhdGU6IERlc2NyaXB0b3JUZW1wbGF0ZSxcbiAga2V5czogS2V5VHJpcGxlIHwgc3RyaW5nW10gPSBnZXREZWZhdWx0WFB1YnMoKSxcbiAgcGF0aCA9ICcwLyonXG4pOiBEZXNjcmlwdG9yIHtcbiAgcmV0dXJuIERlc2NyaXB0b3IuZnJvbVN0cmluZyhnZXREZXNjcmlwdG9yU3RyaW5nKHRlbXBsYXRlLCBrZXlzLCBwYXRoKSwgJ2Rlcml2YWJsZScpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVzY3JpcHRvck1hcChcbiAgdGVtcGxhdGU6IERlc2NyaXB0b3JUZW1wbGF0ZSxcbiAga2V5czogS2V5VHJpcGxlIHwgc3RyaW5nW10gPSBnZXREZWZhdWx0WFB1YnMoKVxuKTogRGVzY3JpcHRvck1hcCB7XG4gIHJldHVybiB0b0Rlc2NyaXB0b3JNYXAoe1xuICAgIGV4dGVybmFsOiBnZXREZXNjcmlwdG9yKHRlbXBsYXRlLCBrZXlzLCAnMC8qJykudG9TdHJpbmcoKSxcbiAgICBpbnRlcm5hbDogZ2V0RGVzY3JpcHRvcih0ZW1wbGF0ZSwga2V5cywgJzEvKicpLnRvU3RyaW5nKCksXG4gIH0pO1xufVxuIl19
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGVzdHV0aWwvZGVzY3JpcHRvci9kZXNjcmlwdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVFBLDBDQUVDO0FBRUQsOENBc0JDO0FBbUNELHNDQVNDO0FBa0NELHNDQU1DO0FBRUQsNENBUUM7QUFoSUQsb0RBQTRCO0FBRTVCLDREQUF5RDtBQUl6RCw0Q0FBK0Q7QUFFL0QsU0FBZ0IsZUFBZSxDQUFDLElBQWE7SUFDM0MsT0FBTyxJQUFBLHdCQUFZLEVBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQW1CLENBQUM7QUFDbEYsQ0FBQztBQUVELFNBQWdCLGlCQUFpQjtJQUMvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQW1CRTtJQUNGLE9BQU8sa0VBQWtFLENBQUM7QUFDNUUsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLENBQXlCO0lBQ2hELE9BQU8sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsNEJBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hHLENBQUM7QUFhRCxTQUFTLE1BQU0sQ0FBQyxDQUEwQixFQUFFLElBQVk7SUFDdEQsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMxQixPQUFPLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO0FBQzlDLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxDQUFTLEVBQUUsQ0FBUyxFQUFFLElBQWlDLEVBQUUsSUFBWTtJQUN0RixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFDRCxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEIsT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRCxTQUFnQixhQUFhLENBQUMsQ0FBcUI7SUFDakQsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNWLEtBQUssU0FBUyxDQUFDO1FBQ2YsS0FBSyxTQUFTLENBQUM7UUFDZixLQUFLLGtCQUFrQjtZQUNyQixPQUFPLEVBQUUsQ0FBQztRQUNaLEtBQUssbUJBQW1CO1lBQ3RCLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDM0IsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUN4QixRQUE0QixFQUM1QixPQUE2QixlQUFlLEVBQUUsRUFDOUMsSUFBSSxHQUFHLEtBQUs7SUFFWixRQUFRLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLEtBQUssU0FBUztZQUNaLE9BQU87Z0JBQ0wsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRTthQUM1QyxDQUFDO1FBQ0osS0FBSyxtQkFBbUI7WUFDdEIsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3QyxJQUFBLGdCQUFNLEVBQUMsUUFBUSxDQUFDLENBQUM7WUFDakIsT0FBTztnQkFDTCxFQUFFLEVBQUU7b0JBQ0YsR0FBRyxFQUFFO3dCQUNILEtBQUssRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO3FCQUN6RTtpQkFDRjthQUNGLENBQUM7UUFDSixLQUFLLFNBQVM7WUFDWixPQUFPO2dCQUNMLEdBQUcsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUU7YUFDNUMsQ0FBQztRQUNKLEtBQUssa0JBQWtCO1lBQ3JCLE9BQU87Z0JBQ0wsRUFBRSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQzthQUNwRSxDQUFDO0lBQ04sQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVELFNBQWdCLGFBQWEsQ0FDM0IsUUFBNEIsRUFDNUIsT0FBNkIsZUFBZSxFQUFFLEVBQzlDLElBQUksR0FBRyxLQUFLO0lBRVosT0FBTyw0QkFBVSxDQUFDLFVBQVUsQ0FBQyxxQkFBRyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDckcsQ0FBQztBQUVELFNBQWdCLGdCQUFnQixDQUM5QixRQUE0QixFQUM1QixPQUE2QixlQUFlLEVBQUU7SUFFOUMsT0FBTyxlQUFlLENBQUM7UUFDckIsUUFBUSxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRTtRQUN6RCxRQUFRLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFO0tBQzFELENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCB7IERlc2NyaXB0b3IsIGFzdCB9IGZyb20gJ0BiaXRnby93YXNtLW1pbmlzY3JpcHQnO1xuaW1wb3J0IHsgQklQMzJJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5cbmltcG9ydCB7IERlc2NyaXB0b3JNYXAsIFBzYnRQYXJhbXMgfSBmcm9tICcuLi8uLi9kZXNjcmlwdG9yJztcbmltcG9ydCB7IGdldEtleVRyaXBsZSwgVHJpcGxlLCBLZXlUcmlwbGUgfSBmcm9tICcuLi9rZXkudXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdFhQdWJzKHNlZWQ/OiBzdHJpbmcpOiBUcmlwbGU8c3RyaW5nPiB7XG4gIHJldHVybiBnZXRLZXlUcmlwbGUoc2VlZCkubWFwKChrKSA9PiBrLm5ldXRlcmVkKCkudG9CYXNlNTgoKSkgYXMgVHJpcGxlPHN0cmluZz47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRVbnNwZW5kYWJsZUtleSgpOiBzdHJpbmcge1xuICAvKlxuICBodHRwczovL2dpdGh1Yi5jb20vYml0Y29pbi9iaXBzL2Jsb2IvbWFzdGVyL2JpcC0wMzQxLm1lZGlhd2lraSNjb25zdHJ1Y3RpbmctYW5kLXNwZW5kaW5nLXRhcHJvb3Qtb3V0cHV0c1xuXG4gIGBgYFxuICBJZiBvbmUgb3IgbW9yZSBvZiB0aGUgc3BlbmRpbmcgY29uZGl0aW9ucyBjb25zaXN0IG9mIGp1c3QgYSBzaW5nbGUga2V5IChhZnRlciBhZ2dyZWdhdGlvbiksIHRoZSBtb3N0IGxpa2VseSBvbmUgc2hvdWxkXG4gIGJlIG1hZGUgdGhlIGludGVybmFsIGtleS4gSWYgbm8gc3VjaCBjb25kaXRpb24gZXhpc3RzLCBpdCBtYXkgYmUgd29ydGh3aGlsZSBhZGRpbmcgb25lIHRoYXQgY29uc2lzdHMgb2YgYW4gYWdncmVnYXRpb25cbiAgb2YgYWxsIGtleXMgcGFydGljaXBhdGluZyBpbiBhbGwgc2NyaXB0cyBjb21iaW5lZDsgZWZmZWN0aXZlbHkgYWRkaW5nIGFuIFwiZXZlcnlvbmUgYWdyZWVzXCIgYnJhbmNoLiBJZiB0aGF0IGlzXG4gIGluYWNjZXB0YWJsZSwgcGljayBhcyBpbnRlcm5hbCBrZXkgYSBcIk5vdGhpbmcgVXAgTXkgU2xlZXZlXCIgKE5VTVMpIHBvaW50LCBpLmUuLCBhIHBvaW50IHdpdGggdW5rbm93biBkaXNjcmV0ZVxuICBsb2dhcml0aG0uXG5cbiAgT25lIGV4YW1wbGUgb2Ygc3VjaCBhIHBvaW50IGlzIEggPSBsaWZ0X3goMHg1MDkyOWI3NGMxYTA0OTU0Yjc4YjRiNjAzNWU5N2E1ZTA3OGE1YTBmMjhlYzk2ZDU0N2JmZWU5YWNlODAzYWMwKSB3aGljaCBpc1xuICBjb25zdHJ1Y3RlZCBieSB0YWtpbmcgdGhlIGhhc2ggb2YgdGhlIHN0YW5kYXJkIHVuY29tcHJlc3NlZCBlbmNvZGluZyBvZiB0aGUgc2VjcDI1NmsxIGJhc2UgcG9pbnQgRyBhcyBYIGNvb3JkaW5hdGUuXG4gIEluIG9yZGVyIHRvIGF2b2lkIGxlYWtpbmcgdGhlIGluZm9ybWF0aW9uIHRoYXQga2V5IHBhdGggc3BlbmRpbmcgaXMgbm90IHBvc3NpYmxlIGl0IGlzIHJlY29tbWVuZGVkIHRvIHBpY2sgYSBmcmVzaFxuICBpbnRlZ2VyIHIgaW4gdGhlIHJhbmdlIDAuLi5uLTEgdW5pZm9ybWx5IGF0IHJhbmRvbSBhbmQgdXNlIEggKyByRyBhcyBpbnRlcm5hbCBrZXkuIEl0IGlzIHBvc3NpYmxlIHRvIHByb3ZlIHRoYXQgdGhpc1xuICBpbnRlcm5hbCBrZXkgZG9lcyBub3QgaGF2ZSBhIGtub3duIGRpc2NyZXRlIGxvZ2FyaXRobSB3aXRoIHJlc3BlY3QgdG8gRyBieSByZXZlYWxpbmcgciB0byBhIHZlcmlmaWVyIHdobyBjYW4gdGhlblxuICByZWNvbnN0cnVjdCBob3cgdGhlIGludGVybmFsIGtleSB3YXMgY3JlYXRlZC5cbiAgYGBgXG5cbiAgV2UgY291bGQgZG8gdGhlIHJhbmRvbSBpbnRlZ2VyIHRyaWNrIGhlcmUsIGJ1dCBmb3IgaW50ZXJuYWwgdGVzdGluZyBpdCBpcyBzdWZmaWNpZW50IHRvIHVzZSB0aGUgZml4ZWQgcG9pbnQuXG4gICovXG4gIHJldHVybiAnNTA5MjliNzRjMWEwNDk1NGI3OGI0YjYwMzVlOTdhNWUwNzhhNWEwZjI4ZWM5NmQ1NDdiZmVlOWFjZTgwM2FjMCc7XG59XG5cbmZ1bmN0aW9uIHRvRGVzY3JpcHRvck1hcCh2OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogRGVzY3JpcHRvck1hcCB7XG4gIHJldHVybiBuZXcgTWFwKE9iamVjdC5lbnRyaWVzKHYpLm1hcCgoW2ssIHZdKSA9PiBbaywgRGVzY3JpcHRvci5mcm9tU3RyaW5nKHYsICdkZXJpdmFibGUnKV0pKTtcbn1cblxuZXhwb3J0IHR5cGUgRGVzY3JpcHRvclRlbXBsYXRlID1cbiAgfCAnV3NoMk9mMydcbiAgfCAnVHIyT2YzLU5vS2V5UGF0aCdcbiAgfCAnV3NoMk9mMidcbiAgLypcbiAgICogVGhpcyBpcyBhIHdyYXBwZWQgc2Vnd2l0IDJvZjMgbXVsdGlzaWcgdGhhdCBhbHNvIHVzZXMgYSByZWxhdGl2ZSBsb2NrdGltZSB3aXRoXG4gICAqIGFuIE9QX0RST1AgKHJlcXVpcmluZyBhIG1pbmlzY3JpcHQgZXh0ZW5zaW9uKS5cbiAgICogSXQgaXMgYmFzaWNhbGx5IHdoYXQgaXMgdXNlZCBpbiBDb3JlRGFvIHN0YWtpbmcgdHJhbnNhY3Rpb25zLlxuICAgKi9cbiAgfCAnU2hXc2gyT2YzQ2x0dkRyb3AnO1xuXG5mdW5jdGlvbiB0b1hQdWIoazogQklQMzJJbnRlcmZhY2UgfCBzdHJpbmcsIHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICh0eXBlb2YgayA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gayArICcvJyArIHBhdGg7XG4gIH1cbiAgcmV0dXJuIGsubmV1dGVyZWQoKS50b0Jhc2U1OCgpICsgJy8nICsgcGF0aDtcbn1cblxuZnVuY3Rpb24gbXVsdGlBcmdzKG06IG51bWJlciwgbjogbnVtYmVyLCBrZXlzOiBCSVAzMkludGVyZmFjZVtdIHwgc3RyaW5nW10sIHBhdGg6IHN0cmluZyk6IFtudW1iZXIsIC4uLnN0cmluZ1tdXSB7XG4gIGlmIChuIDwgbSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGNyZWF0ZSAke219IG9mICR7bn0gbXVsdGlzaWdgKTtcbiAgfVxuICBpZiAoa2V5cy5sZW5ndGggPCBuKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBOb3QgZW5vdWdoIGtleXMgZm9yICR7bX0gb2YgJHtufSBtdWx0aXNpZzoga2V5cy5sZW5ndGg9JHtrZXlzLmxlbmd0aH1gKTtcbiAgfVxuICBrZXlzID0ga2V5cy5zbGljZSgwLCBuKTtcbiAgcmV0dXJuIFttLCAuLi5rZXlzLm1hcCgoaykgPT4gdG9YUHViKGssIHBhdGgpKV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQc2J0UGFyYW1zKHQ6IERlc2NyaXB0b3JUZW1wbGF0ZSk6IFBhcnRpYWw8UHNidFBhcmFtcz4ge1xuICBzd2l0Y2ggKHQpIHtcbiAgICBjYXNlICdXc2gyT2YzJzpcbiAgICBjYXNlICdXc2gyT2YyJzpcbiAgICBjYXNlICdUcjJPZjMtTm9LZXlQYXRoJzpcbiAgICAgIHJldHVybiB7fTtcbiAgICBjYXNlICdTaFdzaDJPZjNDbHR2RHJvcCc6XG4gICAgICByZXR1cm4geyBsb2NrdGltZTogMSB9O1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldERlc2NyaXB0b3JOb2RlKFxuICB0ZW1wbGF0ZTogRGVzY3JpcHRvclRlbXBsYXRlLFxuICBrZXlzOiBLZXlUcmlwbGUgfCBzdHJpbmdbXSA9IGdldERlZmF1bHRYUHVicygpLFxuICBwYXRoID0gJzAvKidcbik6IGFzdC5EZXNjcmlwdG9yTm9kZSB7XG4gIHN3aXRjaCAodGVtcGxhdGUpIHtcbiAgICBjYXNlICdXc2gyT2YzJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHdzaDogeyBtdWx0aTogbXVsdGlBcmdzKDIsIDMsIGtleXMsIHBhdGgpIH0sXG4gICAgICB9O1xuICAgIGNhc2UgJ1NoV3NoMk9mM0NsdHZEcm9wJzpcbiAgICAgIGNvbnN0IHsgbG9ja3RpbWUgfSA9IGdldFBzYnRQYXJhbXModGVtcGxhdGUpO1xuICAgICAgYXNzZXJ0KGxvY2t0aW1lKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNoOiB7XG4gICAgICAgICAgd3NoOiB7XG4gICAgICAgICAgICBhbmRfdjogW3sgJ3I6YWZ0ZXInOiBsb2NrdGltZSB9LCB7IG11bHRpOiBtdWx0aUFyZ3MoMiwgMywga2V5cywgcGF0aCkgfV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgY2FzZSAnV3NoMk9mMic6XG4gICAgICByZXR1cm4ge1xuICAgICAgICB3c2g6IHsgbXVsdGk6IG11bHRpQXJncygyLCAyLCBrZXlzLCBwYXRoKSB9LFxuICAgICAgfTtcbiAgICBjYXNlICdUcjJPZjMtTm9LZXlQYXRoJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRyOiBbZ2V0VW5zcGVuZGFibGVLZXkoKSwgeyBtdWx0aV9hOiBtdWx0aUFyZ3MoMiwgMywga2V5cywgcGF0aCkgfV0sXG4gICAgICB9O1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBkZXNjcmlwdG9yIHRlbXBsYXRlOiAke3RlbXBsYXRlfWApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVzY3JpcHRvcihcbiAgdGVtcGxhdGU6IERlc2NyaXB0b3JUZW1wbGF0ZSxcbiAga2V5czogS2V5VHJpcGxlIHwgc3RyaW5nW10gPSBnZXREZWZhdWx0WFB1YnMoKSxcbiAgcGF0aCA9ICcwLyonXG4pOiBEZXNjcmlwdG9yIHtcbiAgcmV0dXJuIERlc2NyaXB0b3IuZnJvbVN0cmluZyhhc3QuZm9ybWF0Tm9kZShnZXREZXNjcmlwdG9yTm9kZSh0ZW1wbGF0ZSwga2V5cywgcGF0aCkpLCAnZGVyaXZhYmxlJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXNjcmlwdG9yTWFwKFxuICB0ZW1wbGF0ZTogRGVzY3JpcHRvclRlbXBsYXRlLFxuICBrZXlzOiBLZXlUcmlwbGUgfCBzdHJpbmdbXSA9IGdldERlZmF1bHRYUHVicygpXG4pOiBEZXNjcmlwdG9yTWFwIHtcbiAgcmV0dXJuIHRvRGVzY3JpcHRvck1hcCh7XG4gICAgZXh0ZXJuYWw6IGdldERlc2NyaXB0b3IodGVtcGxhdGUsIGtleXMsICcwLyonKS50b1N0cmluZygpLFxuICAgIGludGVybmFsOiBnZXREZXNjcmlwdG9yKHRlbXBsYXRlLCBrZXlzLCAnMS8qJykudG9TdHJpbmcoKSxcbiAgfSk7XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo-beta/utxo-core",
3
- "version": "1.0.0-beta.19",
3
+ "version": "1.0.0-beta.20",
4
4
  "description": "BitGo UTXO Core types",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -51,10 +51,10 @@
51
51
  ]
52
52
  },
53
53
  "dependencies": {
54
- "@bitgo-beta/unspents": "0.13.2-beta.708",
55
- "@bitgo-beta/utxo-lib": "8.0.3-beta.709",
56
- "@bitgo/wasm-miniscript": "^2.0.0-beta.3",
54
+ "@bitgo-beta/unspents": "0.13.2-beta.709",
55
+ "@bitgo-beta/utxo-lib": "8.0.3-beta.710",
56
+ "@bitgo/wasm-miniscript": "^2.0.0-beta.4",
57
57
  "bip174": "npm:@bitgo-forks/bip174@3.1.0-master.4"
58
58
  },
59
- "gitHead": "fad8384e4bfbdc786d63a2ca57351b4e38736793"
59
+ "gitHead": "0b91d533336aa1eb96a0bf9f9f2a54865ff7fc8a"
60
60
  }