@bitgo/utxo-bin 2.7.4 → 2.8.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.
@@ -20,9 +20,9 @@ export declare class InputOutputParser extends Parser {
20
20
  parseScriptParts(type: string, parts: Array<Buffer | number>): ParserNode[];
21
21
  parseInputScript(buffer: Buffer): ParserNode;
22
22
  parseWitness(script: Buffer[]): ParserNode;
23
- parsePubkeys(parsed: utxolib.bitgo.ParsedSignatureScript2Of3): ParserNode;
24
- parseSignatureBuffer(type: utxolib.bitgo.outputScripts.ScriptType2Of3, buf: Buffer | 0, signerIndex: number): ParserNode[];
25
- parseSignatures(parsed: utxolib.bitgo.ParsedSignatureScript2Of3, tx: utxolib.bitgo.UtxoTransaction, inputIndex: number, prevOutputs?: utxolib.TxOutput[]): ParserNode;
23
+ parsePubkeys(parsed: utxolib.bitgo.ParsedSignatureScriptP2ms): ParserNode;
24
+ parseSignatureBuffer(type: utxolib.bitgo.outputScripts.ScriptType2Of3 | utxolib.bitgo.ParsedScriptType2Of3, buf: Buffer | 0, signerIndex: number): ParserNode[];
25
+ parseSignatures(parsed: utxolib.bitgo.ParsedSignatureScriptP2ms, tx: utxolib.bitgo.UtxoTransaction, inputIndex: number, prevOutputs?: utxolib.TxOutput[]): ParserNode;
26
26
  parseSigScriptWithType(tx: utxolib.bitgo.UtxoTransaction, inputIndex: number, parsed: utxolib.bitgo.ParsedSignatureScript | HollowSegwitSpend, prevOutputs?: utxolib.TxOutput[]): ParserNode;
27
27
  parseSigScript(tx: utxolib.bitgo.UtxoTransaction, inputIndex: number, prevOutputs?: utxolib.TxOutput[]): ParserNode;
28
28
  parsePrevOut(input: utxolib.TxInput, i: number, network: utxolib.Network, prevOutputs?: utxolib.TxOutput[]): ParserNode[];
@@ -1 +1 @@
1
- {"version":3,"file":"InputOutputParser.d.ts","sourceRoot":"","sources":["../../src/InputOutputParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InputOutputParser.d.ts","sourceRoot":"","sources":["../../src/InputOutputParser.ts"],"names":[],"mappings":"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"}
@@ -82,7 +82,7 @@ class InputOutputParser extends Parser_1.Parser {
82
82
  if (0 <= signerIndex) {
83
83
  nodes.push(this.node('signedBy', ['user', 'backup', 'bitgo'][signerIndex]));
84
84
  }
85
- if (type === 'p2tr') {
85
+ if (type === 'taprootScriptPathSpend') {
86
86
  // TODO
87
87
  }
88
88
  else {
@@ -111,8 +111,12 @@ class InputOutputParser extends Parser_1.Parser {
111
111
  }
112
112
  parseSigScriptWithType(tx, inputIndex, parsed, prevOutputs) {
113
113
  var _a;
114
- if (parsed.scriptType && utxolib.bitgo.outputScripts.isScriptType2Of3(parsed.scriptType)) {
115
- return this.node('sigScript', parsed.scriptType, [
114
+ if (parsed.scriptType &&
115
+ (utxolib.bitgo.outputScripts.isScriptType2Of3(parsed.scriptType) ||
116
+ parsed.scriptType === 'taprootScriptPathSpend' ||
117
+ parsed.scriptType === 'taprootKeyPathSpend')) {
118
+ const parsed2Of3 = parsed.scriptType === 'taprootScriptPathSpend' ? { ...parsed, scriptType: 'p2tr' } : parsed;
119
+ return this.node('sigScript', parsed2Of3.scriptType, [
116
120
  this.parsePubkeys(parsed),
117
121
  this.parseSignatures(parsed, tx, inputIndex, prevOutputs),
118
122
  ]);
@@ -189,4 +193,4 @@ class InputOutputParser extends Parser_1.Parser {
189
193
  }
190
194
  }
191
195
  exports.InputOutputParser = InputOutputParser;
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5wdXRPdXRwdXRQYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvSW5wdXRPdXRwdXRQYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQTJDO0FBRTNDLGlEQUF3RDtBQUV4RCxxQ0FBOEM7QUFDOUMsbURBQWdEO0FBQ2hELHFDQUFxQztBQUVyQywyREFBdUc7QUFDdkcsbUNBQWtDO0FBRWxDLFNBQVMsZ0JBQWdCLENBQUMsQ0FBUztJQUNqQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQzNCLEtBQXNCLEVBQ3RCLE9BQXdCO0lBRXhCLE9BQU8sMENBQXNCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDN0YsQ0FBQztBQUVELE1BQWEsaUJBQWtCLFNBQVEsZUFBTTtJQUMzQyxZQUNVLE1BU1A7UUFFRCxLQUFLLEVBQUUsQ0FBQztRQVhBLFdBQU0sR0FBTixNQUFNLENBU2I7SUFHSCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVksRUFBRSxJQUFZLEVBQUUsQ0FBUyxFQUFFLENBQVM7UUFDN0QsSUFDRSxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkMsQ0FBQyxDQUFDLElBQUksS0FBSyxZQUFZLElBQUksSUFBSSxLQUFLLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDeEU7WUFDQSxJQUFJLE1BQU0sQ0FBQztZQUVYLElBQUk7Z0JBQ0YsTUFBTSxHQUFHLE9BQU8sQ0FB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RyxPQUFPLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDL0Q7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLFNBQVM7U0FDVjtRQUVELE1BQU0sYUFBYSxHQUFHLElBQUksNkJBQWEsQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRWpGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsT0FBTyxhQUFQLE9BQU8sY0FBUCxPQUFPLEdBQUksY0FBYyxFQUFFO1lBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGtCQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixJQUFJLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM1RyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO1NBQ3RFLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQS9QRCw4Q0ErUEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyBPdXRwdXRTcGVuZCB9IGZyb20gJ0BiaXRnby9ibG9ja2FwaXMnO1xuaW1wb3J0IHsgc2NyaXB0LCBTY3JpcHRTaWduYXR1cmUgfSBmcm9tICdiaXRjb2luanMtbGliJztcblxuaW1wb3J0IHsgUGFyc2VyLCBQYXJzZXJOb2RlIH0gZnJvbSAnLi9QYXJzZXInO1xuaW1wb3J0IHsgQWRkcmVzc1BhcnNlciB9IGZyb20gJy4vQWRkcmVzc1BhcnNlcic7XG5pbXBvcnQgeyBmb3JtYXRTYXQgfSBmcm9tICcuL2Zvcm1hdCc7XG5pbXBvcnQgeyBDaGFpbkluZm8gfSBmcm9tICcuL1R4UGFyc2VyJztcbmltcG9ydCB7IHBhcnNlSG9sbG93U2Vnd2l0U3BlbmQsIEhvbGxvd1NlZ3dpdFNwZW5kLCBnZXRIb2xsb3dTcGVuZE1lc3NhZ2UgfSBmcm9tICcuL2hvbGxvd1NlZ3dpdFNwZW5kJztcbmltcG9ydCB7IGlzSGlnaFMgfSBmcm9tICcuL2VjZHNhJztcblxuZnVuY3Rpb24gdG9CdWZmZXJVSW50MzJCRShuOiBudW1iZXIpOiBCdWZmZXIge1xuICBjb25zdCBidWYgPSBCdWZmZXIuYWxsb2MoNCk7XG4gIGJ1Zi53cml0ZVVJbnQzMkxFKG4sIDApO1xuICByZXR1cm4gYnVmO1xufVxuXG5mdW5jdGlvbiBwYXJzZVNpZ25hdHVyZVNjcmlwdChcbiAgaW5wdXQ6IHV0eG9saWIuVHhJbnB1dCxcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrXG4pOiB1dHhvbGliLmJpdGdvLlBhcnNlZFNpZ25hdHVyZVNjcmlwdCB8IEhvbGxvd1NlZ3dpdFNwZW5kIHtcbiAgcmV0dXJuIHBhcnNlSG9sbG93U2Vnd2l0U3BlbmQoaW5wdXQsIG5ldHdvcmspIHx8IHV0eG9saWIuYml0Z28ucGFyc2VTaWduYXR1cmVTY3JpcHQoaW5wdXQpO1xufVxuXG5leHBvcnQgY2xhc3MgSW5wdXRPdXRwdXRQYXJzZXIgZXh0ZW5kcyBQYXJzZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBhcmFtczoge1xuICAgICAgcGFyc2VPdXRwdXRTY3JpcHQ6IGJvb2xlYW47XG4gICAgICBwYXJzZVNjcmlwdEFzbTogYm9vbGVhbjtcbiAgICAgIHBhcnNlU2NyaXB0RGF0YTogYm9vbGVhbjtcbiAgICAgIHBhcnNlU2lnbmF0dXJlRGF0YToge1xuICAgICAgICBzY3JpcHQ6IGJvb2xlYW47XG4gICAgICAgIGVjZHNhOiBib29sZWFuO1xuICAgICAgICBzY2hub3JyOiBib29sZWFuO1xuICAgICAgfTtcbiAgICB9XG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwYXJzZVNjcmlwdEFzbSh0eXBlOiBzdHJpbmcsIHBhcnQ6IEJ1ZmZlciwgaTogbnVtYmVyLCBuOiBudW1iZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmIChcbiAgICAgICh0eXBlID09PSAndGFwcm9vdCcgJiYgaSA9PT0gbiAtIDIpIHx8XG4gICAgICAoKHR5cGUgPT09ICdzY3JpcHRoYXNoJyB8fCB0eXBlID09PSAnd2l0bmVzc3NjcmlwdGhhc2gnKSAmJiBpID09PSBuIC0gMSlcbiAgICApIHtcbiAgICAgIGxldCBwYXJzZWQ7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHBhcnNlZCA9IHV0eG9saWIuc2NyaXB0LnRvQVNNKHBhcnQpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4gJ2Vycm9yJztcbiAgICAgIH1cblxuICAgICAgaWYgKHBhcnNlZCkge1xuICAgICAgICByZXR1cm4gWycnLCAuLi5wYXJzZWQuc3BsaXQoJyAnKV0uam9pbignXFxuJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcGFyc2VTY3JpcHRQYXJ0cyh0eXBlOiBzdHJpbmcsIHBhcnRzOiBBcnJheTxCdWZmZXIgfCBudW1iZXI+KTogUGFyc2VyTm9kZVtdIHtcbiAgICByZXR1cm4gcGFydHMubWFwKCh2LCBpKSA9PiB7XG4gICAgICBsZXQgYXNtTm9kZTogUGFyc2VyTm9kZSB8IHVuZGVmaW5lZDtcbiAgICAgIGlmICh0aGlzLnBhcmFtcy5wYXJzZVNjcmlwdEFzbSAmJiBCdWZmZXIuaXNCdWZmZXIodikpIHtcbiAgICAgICAgY29uc3QgcGFyc2VkID0gdGhpcy5wYXJzZVNjcmlwdEFzbSh0eXBlLCB2LCBpLCBwYXJ0cy5sZW5ndGgpO1xuICAgICAgICBhc21Ob2RlID0gcGFyc2VkID8gdGhpcy5ub2RlKCdhc20nLCBwYXJzZWQpIDogdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5ub2RlKGksIHRoaXMucGFyYW1zLnBhcnNlU2NyaXB0RGF0YSA/IHYgOiB1bmRlZmluZWQsIGFzbU5vZGUgPyBbYXNtTm9kZV0gOiB1bmRlZmluZWQpO1xuICAgIH0pO1xuICB9XG5cbiAgcGFyc2VJbnB1dFNjcmlwdChidWZmZXI6IEJ1ZmZlcik6IFBhcnNlck5vZGUge1xuICAgIGxldCB2YWx1ZTtcbiAgICBsZXQgbm9kZXM7XG4gICAgaWYgKGJ1ZmZlci5sZW5ndGggJiYgdGhpcy5wYXJhbXMucGFyc2VTaWduYXR1cmVEYXRhLnNjcmlwdCkge1xuICAgICAgY29uc3QgdHlwZSA9IHV0eG9saWIuY2xhc3NpZnkuaW5wdXQoYnVmZmVyLCB0cnVlKSA/PyAndW5rbm93bic7XG4gICAgICBjb25zdCBkZWNvbXBpbGVkID0gdXR4b2xpYi5zY3JpcHQuZGVjb21waWxlKGJ1ZmZlcik7XG4gICAgICBpZiAoZGVjb21waWxlZCkge1xuICAgICAgICBub2RlcyA9IHRoaXMucGFyc2VTY3JpcHRQYXJ0cyh0eXBlLCBkZWNvbXBpbGVkKTtcbiAgICAgIH1cbiAgICAgIHZhbHVlID0gdHlwZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWUgPSBidWZmZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubm9kZSgnc2NyaXB0U2lnJywgdmFsdWUsIG5vZGVzKTtcbiAgfVxuXG4gIHBhcnNlV2l0bmVzcyhzY3JpcHQ6IEJ1ZmZlcltdKTogUGFyc2VyTm9kZSB7XG4gICAgaWYgKHNjcmlwdC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0aGlzLm5vZGUoJ3dpdG5lc3MnLCAnW10nKTtcbiAgICB9XG4gICAgY29uc3QgdHlwZSA9IHV0eG9saWIuY2xhc3NpZnkud2l0bmVzcyhzY3JpcHQsIHRydWUpID8/ICd1bmtub3duJztcbiAgICByZXR1cm4gdGhpcy5ub2RlKCd3aXRuZXNzJywgdHlwZSwgdGhpcy5wYXJhbXMucGFyc2VTY3JpcHREYXRhID8gdGhpcy5wYXJzZVNjcmlwdFBhcnRzKHR5cGUsIHNjcmlwdCkgOiB1bmRlZmluZWQpO1xuICB9XG5cbiAgcGFyc2VQdWJrZXlzKHBhcnNlZDogdXR4b2xpYi5iaXRnby5QYXJzZWRTaWduYXR1cmVTY3JpcHQyT2YzKTogUGFyc2VyTm9kZSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZShcbiAgICAgICdwdWJrZXlzJyxcbiAgICAgIHBhcnNlZC5wdWJsaWNLZXlzLmxlbmd0aCxcbiAgICAgIHBhcnNlZC5wdWJsaWNLZXlzLm1hcCgoaywgaSkgPT4gdGhpcy5ub2RlKGksIGspKVxuICAgICk7XG4gIH1cblxuICBwYXJzZVNpZ25hdHVyZUJ1ZmZlcihcbiAgICB0eXBlOiB1dHhvbGliLmJpdGdvLm91dHB1dFNjcmlwdHMuU2NyaXB0VHlwZTJPZjMsXG4gICAgYnVmOiBCdWZmZXIgfCAwLFxuICAgIHNpZ25lckluZGV4OiBudW1iZXJcbiAgKTogUGFyc2VyTm9kZVtdIHtcbiAgICBpZiAoYnVmID09PSAwKSB7XG4gICAgICByZXR1cm4gW3RoaXMubm9kZSgndHlwZScsICdwbGFjZWhvbGRlciAoMCknKV07XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZXMgPSBbdGhpcy5ub2RlKCdieXRlcycsIGJ1ZiksIHRoaXMubm9kZSgndmFsaWQnLCAwIDw9IHNpZ25lckluZGV4KV07XG4gICAgaWYgKDAgPD0gc2lnbmVySW5kZXgpIHtcbiAgICAgIG5vZGVzLnB1c2godGhpcy5ub2RlKCdzaWduZWRCeScsIFsndXNlcicsICdiYWNrdXAnLCAnYml0Z28nXVtzaWduZXJJbmRleF0pKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ3AydHInKSB7XG4gICAgICAvLyBUT0RPXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHsgc2lnbmF0dXJlLCBoYXNoVHlwZSB9ID0gU2NyaXB0U2lnbmF0dXJlLmRlY29kZShidWYpO1xuICAgICAgY29uc3QgciA9IHNpZ25hdHVyZS5zdWJhcnJheSgwLCAzMik7XG4gICAgICBjb25zdCBzID0gc2lnbmF0dXJlLnN1YmFycmF5KDMyKTtcblxuICAgICAgaWYgKHIubGVuZ3RoICE9PSAzMiB8fCBzLmxlbmd0aCAhPT0gMzIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIHNjYWxhciBsZW5ndGhgKTtcbiAgICAgIH1cblxuICAgICAgbm9kZXMucHVzaChcbiAgICAgICAgdGhpcy5ub2RlKCdpc0Nhbm9uaWNhbCcsIHNjcmlwdC5pc0Nhbm9uaWNhbFNjcmlwdFNpZ25hdHVyZShidWYpKSxcbiAgICAgICAgdGhpcy5ub2RlKCdoYXNoVHlwZScsIGhhc2hUeXBlKSxcbiAgICAgICAgdGhpcy5ub2RlKCdyJywgciksXG4gICAgICAgIHRoaXMubm9kZSgncycsIHMpLFxuICAgICAgICB0aGlzLm5vZGUoJ2hpZ2hTJywgaXNIaWdoUyhzKSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVzO1xuICB9XG5cbiAgcGFyc2VTaWduYXR1cmVzKFxuICAgIHBhcnNlZDogdXR4b2xpYi5iaXRnby5QYXJzZWRTaWduYXR1cmVTY3JpcHQyT2YzLFxuICAgIHR4OiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbixcbiAgICBpbnB1dEluZGV4OiBudW1iZXIsXG4gICAgcHJldk91dHB1dHM/OiB1dHhvbGliLlR4T3V0cHV0W11cbiAgKTogUGFyc2VyTm9kZSB7XG4gICAgY29uc3Qgbm9kZXM6IFBhcnNlck5vZGVbXSA9IFtdO1xuICAgIGlmIChwcmV2T3V0cHV0cykge1xuICAgICAgY29uc3Qgc2lnbmVkQnkgPSB1dHhvbGliLmJpdGdvLmdldFNpZ25hdHVyZXNXaXRoUHVibGljS2V5cyh0eCwgaW5wdXRJbmRleCwgcHJldk91dHB1dHMsIHBhcnNlZC5wdWJsaWNLZXlzKTtcbiAgICAgIG5vZGVzLnB1c2godGhpcy5ub2RlKCdzaWduZWQgYnknLCBgWyR7c2lnbmVkQnkuZmxhdE1hcCgodiwgaSkgPT4gKHYgPyBbaV0gOiBbXSkpLmpvaW4oJywgJyl9XWApKTtcbiAgICAgIGlmICh0aGlzLnBhcmFtcy5wYXJzZVNpZ25hdHVyZURhdGEuZWNkc2EgfHwgdGhpcy5wYXJhbXMucGFyc2VTaWduYXR1cmVEYXRhLnNjaG5vcnIpIHtcbiAgICAgICAgbm9kZXMucHVzaChcbiAgICAgICAgICAuLi5wYXJzZWQuc2lnbmF0dXJlcy5tYXAoKHM6IEJ1ZmZlciB8IDAsIGk6IG51bWJlcikgPT5cbiAgICAgICAgICAgIHRoaXMubm9kZShpLCB1bmRlZmluZWQsIHRoaXMucGFyc2VTaWduYXR1cmVCdWZmZXIocGFyc2VkLnNjcmlwdFR5cGUsIHMsIHMgPT09IDAgPyAtMSA6IHNpZ25lZEJ5LmluZGV4T2YocykpKVxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubm9kZShcbiAgICAgICdzaWduYXR1cmVzJyxcbiAgICAgIHBhcnNlZC5zaWduYXR1cmVzXG4gICAgICAgIC5tYXAoKHM6IEJ1ZmZlciB8IDApID0+XG4gICAgICAgICAgdXR4b2xpYi5iaXRnby5pc1BsYWNlaG9sZGVyU2lnbmF0dXJlKHMpID8gJ1tdJyA6IEJ1ZmZlci5pc0J1ZmZlcihzKSA/IGBbJHtzLmxlbmd0aH1ieXRlXWAgOiBgWyR7c31dYFxuICAgICAgICApXG4gICAgICAgIC5qb2luKCcgJyksXG4gICAgICBub2Rlc1xuICAgICk7XG4gIH1cblxuICBwYXJzZVNpZ1NjcmlwdFdpdGhUeXBlKFxuICAgIHR4OiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbixcbiAgICBpbnB1dEluZGV4OiBudW1iZXIsXG4gICAgcGFyc2VkOiB1dHhvbGliLmJpdGdvLlBhcnNlZFNpZ25hdHVyZVNjcmlwdCB8IEhvbGxvd1NlZ3dpdFNwZW5kLFxuICAgIHByZXZPdXRwdXRzPzogdXR4b2xpYi5UeE91dHB1dFtdXG4gICk6IFBhcnNlck5vZGUge1xuICAgIGlmIChwYXJzZWQuc2NyaXB0VHlwZSAmJiB1dHhvbGliLmJpdGdvLm91dHB1dFNjcmlwdHMuaXNTY3JpcHRUeXBlMk9mMyhwYXJzZWQuc2NyaXB0VHlwZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLm5vZGUoJ3NpZ1NjcmlwdCcsIHBhcnNlZC5zY3JpcHRUeXBlLCBbXG4gICAgICAgIHRoaXMucGFyc2VQdWJrZXlzKHBhcnNlZCBhcyB1dHhvbGliLmJpdGdvLlBhcnNlZFNpZ25hdHVyZVNjcmlwdDJPZjMpLFxuICAgICAgICB0aGlzLnBhcnNlU2lnbmF0dXJlcyhwYXJzZWQgYXMgdXR4b2xpYi5iaXRnby5QYXJzZWRTaWduYXR1cmVTY3JpcHQyT2YzLCB0eCwgaW5wdXRJbmRleCwgcHJldk91dHB1dHMpLFxuICAgICAgXSk7XG4gICAgfVxuXG4gICAgaWYgKHBhcnNlZC5zY3JpcHRUeXBlID09PSAncDJzaFAyd3NoSG9sbG93JyB8fCBwYXJzZWQuc2NyaXB0VHlwZSA9PT0gJ3Ayc2hQMndwa2hIb2xsb3cnKSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlKCdzaWdTY3JpcHQnLCBwYXJzZWQuc2NyaXB0VHlwZSwgW3RoaXMubm9kZSgnaW5mbycsIGdldEhvbGxvd1NwZW5kTWVzc2FnZSgpKV0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLm5vZGUoJ3NpZ1NjcmlwdCcsIHBhcnNlZC5zY3JpcHRUeXBlID8/ICd1bmtub3duJyk7XG4gIH1cblxuICBwYXJzZVNpZ1NjcmlwdCh0eDogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb24sIGlucHV0SW5kZXg6IG51bWJlciwgcHJldk91dHB1dHM/OiB1dHhvbGliLlR4T3V0cHV0W10pOiBQYXJzZXJOb2RlIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHRoaXMucGFyc2VTaWdTY3JpcHRXaXRoVHlwZShcbiAgICAgICAgdHgsXG4gICAgICAgIGlucHV0SW5kZXgsXG4gICAgICAgIHBhcnNlU2lnbmF0dXJlU2NyaXB0KHR4Lmluc1tpbnB1dEluZGV4XSwgdHgubmV0d29yayksXG4gICAgICAgIHByZXZPdXRwdXRzXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB0aGlzLm5vZGUoJ2Vycm9yJywgU3RyaW5nKGUpKTtcbiAgICB9XG4gIH1cblxuICBwYXJzZVByZXZPdXQoXG4gICAgaW5wdXQ6IHV0eG9saWIuVHhJbnB1dCxcbiAgICBpOiBudW1iZXIsXG4gICAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrLFxuICAgIHByZXZPdXRwdXRzPzogdXR4b2xpYi5UeE91dHB1dFtdXG4gICk6IFBhcnNlck5vZGVbXSB7XG4gICAgaWYgKCFwcmV2T3V0cHV0cyB8fCAhcHJldk91dHB1dHNbaV0pIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgY29uc3QgeyBzY3JpcHQsIHZhbHVlIH0gPSBwcmV2T3V0cHV0c1tpXTtcbiAgICBsZXQgYWRkcmVzcztcbiAgICB0cnkge1xuICAgICAgYWRkcmVzcyA9IHV0eG9saWIuYWRkcmVzcy5mcm9tT3V0cHV0U2NyaXB0KHNjcmlwdCwgbmV0d29yayk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgYWRkcmVzcyA9ICcoZXJyb3IpJztcbiAgICB9XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMubm9kZSgndmFsdWUnLCB2YWx1ZSAvIDFlOCksXG4gICAgICB0aGlzLm5vZGUoJ3B1YlNjcmlwdCcsIHNjcmlwdCwgYWRkcmVzcyA/IFt0aGlzLm5vZGUoJ2FkZHJlc3MnLCBhZGRyZXNzKV0gOiB1bmRlZmluZWQpLFxuICAgIF07XG4gIH1cblxuICBwYXJzZUlucHV0KFxuICAgIHR4aWQ6IHN0cmluZyxcbiAgICB0eDogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb24sXG4gICAgaTogbnVtYmVyLFxuICAgIGlucHV0OiB1dHhvbGliLlR4SW5wdXQsXG4gICAgb3V0cHV0SW5mbzogQ2hhaW5JbmZvXG4gICk6IFBhcnNlck5vZGUge1xuICAgIHJldHVybiB0aGlzLm5vZGUoaSwgdXR4b2xpYi5iaXRnby5mb3JtYXRPdXRwdXRJZCh1dHhvbGliLmJpdGdvLmdldE91dHB1dElkRm9ySW5wdXQoaW5wdXQpKSwgW1xuICAgICAgdGhpcy5ub2RlKCdzZXF1ZW5jZScsIHRvQnVmZmVyVUludDMyQkUoaW5wdXQuc2VxdWVuY2UpKSxcbiAgICAgIHRoaXMucGFyc2VJbnB1dFNjcmlwdChpbnB1dC5zY3JpcHQpLFxuICAgICAgdGhpcy5wYXJzZVdpdG5lc3MoaW5wdXQud2l0bmVzcyksXG4gICAgICB0aGlzLnBhcnNlU2lnU2NyaXB0KHR4LCBpLCBvdXRwdXRJbmZvLnByZXZPdXRwdXRzKSxcbiAgICAgIC4uLnRoaXMucGFyc2VQcmV2T3V0KGlucHV0LCBpLCB0eC5uZXR3b3JrLCBvdXRwdXRJbmZvLnByZXZPdXRwdXRzKSxcbiAgICAgIC4uLnRoaXMucGFyc2VTcGVuZCh0eGlkLCBpLCBvdXRwdXRJbmZvLnByZXZPdXRwdXRTcGVuZHMsIHsgY29uZmxpY3Q6IHRydWUgfSksXG4gICAgXSk7XG4gIH1cblxuICBwYXJzZVNwZW5kKFxuICAgIHR4aWQ6IHN0cmluZyxcbiAgICBpbmRleDogbnVtYmVyLFxuICAgIHNwZW5kczogT3V0cHV0U3BlbmRbXSB8IHVuZGVmaW5lZCxcbiAgICBwYXJhbXM6IHsgY29uZmxpY3Q6IGJvb2xlYW4gfVxuICApOiBQYXJzZXJOb2RlW10ge1xuICAgIGlmICghc3BlbmRzIHx8ICFzcGVuZHNbaW5kZXhdKSB7XG4gICAgICAvLyBubyBzcGVuZCBkYXRhIGF2YWlsYWJsZVxuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBjb25zdCBzcGVuZCA9IHNwZW5kc1tpbmRleF07XG4gICAgaWYgKHNwZW5kLnR4aWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIFt0aGlzLm5vZGUoJ3NwZW50JywgZmFsc2UpXTtcbiAgICB9XG4gICAgaWYgKHNwZW5kLnR4aWQgPT09IHR4aWQpIHtcbiAgICAgIC8vIGlmIGlucHV0IGlzIHNwZW50IGJ5IHRoaXMgdHJhbnNhY3Rpb24gd2UgZG9uJ3QgZGlzcGxheSBpdFxuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gW3RoaXMubm9kZSgnc3BlbnQnLCBgJHtzcGVuZC50eGlkfToke3NwZW5kLnZpbn1gLCBwYXJhbXMuY29uZmxpY3QgPyBbdGhpcy5ub2RlKCdjb25mbGljdCcsIHRydWUpXSA6IFtdKV07XG4gIH1cblxuICBwYXJzZU91dHB1dCh0eGlkOiBzdHJpbmcsIG86IHV0eG9saWIuVHhPdXRwdXQsIGk6IG51bWJlciwgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrLCBwYXJhbXM6IENoYWluSW5mbyk6IFBhcnNlck5vZGUge1xuICAgIGxldCBhZGRyZXNzO1xuICAgIHRyeSB7XG4gICAgICBhZGRyZXNzID0gdXR4b2xpYi5hZGRyZXNzLmZyb21PdXRwdXRTY3JpcHQoby5zY3JpcHQsIG5ldHdvcmspO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGlnbm9yZVxuICAgIH1cblxuICAgIGNvbnN0IGFkZHJlc3NQYXJzZXIgPSBuZXcgQWRkcmVzc1BhcnNlcih7IG5ldHdvcmssIGFsbDogZmFsc2UsIGNvbnZlcnQ6IGZhbHNlIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMubm9kZShpLCBhZGRyZXNzID8/ICcobm8gYWRkcmVzcyknLCBbXG4gICAgICB0aGlzLm5vZGUoYHZhbHVlYCwgZm9ybWF0U2F0KG8udmFsdWUpKSxcbiAgICAgIC4uLih0aGlzLnBhcmFtcy5wYXJzZU91dHB1dFNjcmlwdCB8fCBhZGRyZXNzID09PSB1bmRlZmluZWQgPyBhZGRyZXNzUGFyc2VyLnBhcnNlT3V0cHV0U2NyaXB0KG8uc2NyaXB0KSA6IFtdKSxcbiAgICAgIC4uLnRoaXMucGFyc2VTcGVuZCh0eGlkLCBpLCBwYXJhbXMub3V0cHV0U3BlbmRzLCB7IGNvbmZsaWN0OiBmYWxzZSB9KSxcbiAgICBdKTtcbiAgfVxufVxuIl19
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5wdXRPdXRwdXRQYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvSW5wdXRPdXRwdXRQYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQTJDO0FBRTNDLGlEQUF3RDtBQUV4RCxxQ0FBOEM7QUFDOUMsbURBQWdEO0FBQ2hELHFDQUFxQztBQUVyQywyREFBdUc7QUFDdkcsbUNBQWtDO0FBRWxDLFNBQVMsZ0JBQWdCLENBQUMsQ0FBUztJQUNqQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQzNCLEtBQXNCLEVBQ3RCLE9BQXdCO0lBRXhCLE9BQU8sMENBQXNCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDN0YsQ0FBQztBQUVELE1BQWEsaUJBQWtCLFNBQVEsZUFBTTtJQUMzQyxZQUNVLE1BU1A7UUFFRCxLQUFLLEVBQUUsQ0FBQztRQVhBLFdBQU0sR0FBTixNQUFNLENBU2I7SUFHSCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVksRUFBRSxJQUFZLEVBQUUsQ0FBUyxFQUFFLENBQVM7UUFDN0QsSUFDRSxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkMsQ0FBQyxDQUFDLElBQUksS0FBSyxZQUFZLElBQUksSUFBSSxLQUFLLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDeEU7WUFDQSxJQUFJLE1BQU0sQ0FBQztZQUVYLElBQUk7Z0JBQ0YsTUFBTSxHQUFHLE9BQU8sQ0FB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aWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IE91dHB1dFNwZW5kIH0gZnJvbSAnQGJpdGdvL2Jsb2NrYXBpcyc7XG5pbXBvcnQgeyBzY3JpcHQsIFNjcmlwdFNpZ25hdHVyZSB9IGZyb20gJ2JpdGNvaW5qcy1saWInO1xuXG5pbXBvcnQgeyBQYXJzZXIsIFBhcnNlck5vZGUgfSBmcm9tICcuL1BhcnNlcic7XG5pbXBvcnQgeyBBZGRyZXNzUGFyc2VyIH0gZnJvbSAnLi9BZGRyZXNzUGFyc2VyJztcbmltcG9ydCB7IGZvcm1hdFNhdCB9IGZyb20gJy4vZm9ybWF0JztcbmltcG9ydCB7IENoYWluSW5mbyB9IGZyb20gJy4vVHhQYXJzZXInO1xuaW1wb3J0IHsgcGFyc2VIb2xsb3dTZWd3aXRTcGVuZCwgSG9sbG93U2Vnd2l0U3BlbmQsIGdldEhvbGxvd1NwZW5kTWVzc2FnZSB9IGZyb20gJy4vaG9sbG93U2Vnd2l0U3BlbmQnO1xuaW1wb3J0IHsgaXNIaWdoUyB9IGZyb20gJy4vZWNkc2EnO1xuXG5mdW5jdGlvbiB0b0J1ZmZlclVJbnQzMkJFKG46IG51bWJlcik6IEJ1ZmZlciB7XG4gIGNvbnN0IGJ1ZiA9IEJ1ZmZlci5hbGxvYyg0KTtcbiAgYnVmLndyaXRlVUludDMyTEUobiwgMCk7XG4gIHJldHVybiBidWY7XG59XG5cbmZ1bmN0aW9uIHBhcnNlU2lnbmF0dXJlU2NyaXB0KFxuICBpbnB1dDogdXR4b2xpYi5UeElucHV0LFxuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmtcbik6IHV0eG9saWIuYml0Z28uUGFyc2VkU2lnbmF0dXJlU2NyaXB0IHwgSG9sbG93U2Vnd2l0U3BlbmQge1xuICByZXR1cm4gcGFyc2VIb2xsb3dTZWd3aXRTcGVuZChpbnB1dCwgbmV0d29yaykgfHwgdXR4b2xpYi5iaXRnby5wYXJzZVNpZ25hdHVyZVNjcmlwdChpbnB1dCk7XG59XG5cbmV4cG9ydCBjbGFzcyBJbnB1dE91dHB1dFBhcnNlciBleHRlbmRzIFBhcnNlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGFyYW1zOiB7XG4gICAgICBwYXJzZU91dHB1dFNjcmlwdDogYm9vbGVhbjtcbiAgICAgIHBhcnNlU2NyaXB0QXNtOiBib29sZWFuO1xuICAgICAgcGFyc2VTY3JpcHREYXRhOiBib29sZWFuO1xuICAgICAgcGFyc2VTaWduYXR1cmVEYXRhOiB7XG4gICAgICAgIHNjcmlwdDogYm9vbGVhbjtcbiAgICAgICAgZWNkc2E6IGJvb2xlYW47XG4gICAgICAgIHNjaG5vcnI6IGJvb2xlYW47XG4gICAgICB9O1xuICAgIH1cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHBhcnNlU2NyaXB0QXNtKHR5cGU6IHN0cmluZywgcGFydDogQnVmZmVyLCBpOiBudW1iZXIsIG46IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKFxuICAgICAgKHR5cGUgPT09ICd0YXByb290JyAmJiBpID09PSBuIC0gMikgfHxcbiAgICAgICgodHlwZSA9PT0gJ3NjcmlwdGhhc2gnIHx8IHR5cGUgPT09ICd3aXRuZXNzc2NyaXB0aGFzaCcpICYmIGkgPT09IG4gLSAxKVxuICAgICkge1xuICAgICAgbGV0IHBhcnNlZDtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcGFyc2VkID0gdXR4b2xpYi5zY3JpcHQudG9BU00ocGFydCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiAnZXJyb3InO1xuICAgICAgfVxuXG4gICAgICBpZiAocGFyc2VkKSB7XG4gICAgICAgIHJldHVybiBbJycsIC4uLnBhcnNlZC5zcGxpdCgnICcpXS5qb2luKCdcXG4nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwYXJzZVNjcmlwdFBhcnRzKHR5cGU6IHN0cmluZywgcGFydHM6IEFycmF5PEJ1ZmZlciB8IG51bWJlcj4pOiBQYXJzZXJOb2RlW10ge1xuICAgIHJldHVybiBwYXJ0cy5tYXAoKHYsIGkpID0+IHtcbiAgICAgIGxldCBhc21Ob2RlOiBQYXJzZXJOb2RlIHwgdW5kZWZpbmVkO1xuICAgICAgaWYgKHRoaXMucGFyYW1zLnBhcnNlU2NyaXB0QXNtICYmIEJ1ZmZlci5pc0J1ZmZlcih2KSkge1xuICAgICAgICBjb25zdCBwYXJzZWQgPSB0aGlzLnBhcnNlU2NyaXB0QXNtKHR5cGUsIHYsIGksIHBhcnRzLmxlbmd0aCk7XG4gICAgICAgIGFzbU5vZGUgPSBwYXJzZWQgPyB0aGlzLm5vZGUoJ2FzbScsIHBhcnNlZCkgOiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLm5vZGUoaSwgdGhpcy5wYXJhbXMucGFyc2VTY3JpcHREYXRhID8gdiA6IHVuZGVmaW5lZCwgYXNtTm9kZSA/IFthc21Ob2RlXSA6IHVuZGVmaW5lZCk7XG4gICAgfSk7XG4gIH1cblxuICBwYXJzZUlucHV0U2NyaXB0KGJ1ZmZlcjogQnVmZmVyKTogUGFyc2VyTm9kZSB7XG4gICAgbGV0IHZhbHVlO1xuICAgIGxldCBub2RlcztcbiAgICBpZiAoYnVmZmVyLmxlbmd0aCAmJiB0aGlzLnBhcmFtcy5wYXJzZVNpZ25hdHVyZURhdGEuc2NyaXB0KSB7XG4gICAgICBjb25zdCB0eXBlID0gdXR4b2xpYi5jbGFzc2lmeS5pbnB1dChidWZmZXIsIHRydWUpID8/ICd1bmtub3duJztcbiAgICAgIGNvbnN0IGRlY29tcGlsZWQgPSB1dHhvbGliLnNjcmlwdC5kZWNvbXBpbGUoYnVmZmVyKTtcbiAgICAgIGlmIChkZWNvbXBpbGVkKSB7XG4gICAgICAgIG5vZGVzID0gdGhpcy5wYXJzZVNjcmlwdFBhcnRzKHR5cGUsIGRlY29tcGlsZWQpO1xuICAgICAgfVxuICAgICAgdmFsdWUgPSB0eXBlO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9IGJ1ZmZlcjtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5ub2RlKCdzY3JpcHRTaWcnLCB2YWx1ZSwgbm9kZXMpO1xuICB9XG5cbiAgcGFyc2VXaXRuZXNzKHNjcmlwdDogQnVmZmVyW10pOiBQYXJzZXJOb2RlIHtcbiAgICBpZiAoc2NyaXB0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMubm9kZSgnd2l0bmVzcycsICdbXScpO1xuICAgIH1cbiAgICBjb25zdCB0eXBlID0gdXR4b2xpYi5jbGFzc2lmeS53aXRuZXNzKHNjcmlwdCwgdHJ1ZSkgPz8gJ3Vua25vd24nO1xuICAgIHJldHVybiB0aGlzLm5vZGUoJ3dpdG5lc3MnLCB0eXBlLCB0aGlzLnBhcmFtcy5wYXJzZVNjcmlwdERhdGEgPyB0aGlzLnBhcnNlU2NyaXB0UGFydHModHlwZSwgc2NyaXB0KSA6IHVuZGVmaW5lZCk7XG4gIH1cblxuICBwYXJzZVB1YmtleXMocGFyc2VkOiB1dHhvbGliLmJpdGdvLlBhcnNlZFNpZ25hdHVyZVNjcmlwdFAybXMpOiBQYXJzZXJOb2RlIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlKFxuICAgICAgJ3B1YmtleXMnLFxuICAgICAgcGFyc2VkLnB1YmxpY0tleXMubGVuZ3RoLFxuICAgICAgcGFyc2VkLnB1YmxpY0tleXMubWFwKChrLCBpKSA9PiB0aGlzLm5vZGUoaSwgaykpXG4gICAgKTtcbiAgfVxuXG4gIHBhcnNlU2lnbmF0dXJlQnVmZmVyKFxuICAgIHR5cGU6IHV0eG9saWIuYml0Z28ub3V0cHV0U2NyaXB0cy5TY3JpcHRUeXBlMk9mMyB8IHV0eG9saWIuYml0Z28uUGFyc2VkU2NyaXB0VHlwZTJPZjMsXG4gICAgYnVmOiBCdWZmZXIgfCAwLFxuICAgIHNpZ25lckluZGV4OiBudW1iZXJcbiAgKTogUGFyc2VyTm9kZVtdIHtcbiAgICBpZiAoYnVmID09PSAwKSB7XG4gICAgICByZXR1cm4gW3RoaXMubm9kZSgndHlwZScsICdwbGFjZWhvbGRlciAoMCknKV07XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZXMgPSBbdGhpcy5ub2RlKCdieXRlcycsIGJ1ZiksIHRoaXMubm9kZSgndmFsaWQnLCAwIDw9IHNpZ25lckluZGV4KV07XG4gICAgaWYgKDAgPD0gc2lnbmVySW5kZXgpIHtcbiAgICAgIG5vZGVzLnB1c2godGhpcy5ub2RlKCdzaWduZWRCeScsIFsndXNlcicsICdiYWNrdXAnLCAnYml0Z28nXVtzaWduZXJJbmRleF0pKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ3RhcHJvb3RTY3JpcHRQYXRoU3BlbmQnKSB7XG4gICAgICAvLyBUT0RPXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHsgc2lnbmF0dXJlLCBoYXNoVHlwZSB9ID0gU2NyaXB0U2lnbmF0dXJlLmRlY29kZShidWYpO1xuICAgICAgY29uc3QgciA9IHNpZ25hdHVyZS5zdWJhcnJheSgwLCAzMik7XG4gICAgICBjb25zdCBzID0gc2lnbmF0dXJlLnN1YmFycmF5KDMyKTtcblxuICAgICAgaWYgKHIubGVuZ3RoICE9PSAzMiB8fCBzLmxlbmd0aCAhPT0gMzIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIHNjYWxhciBsZW5ndGhgKTtcbiAgICAgIH1cblxuICAgICAgbm9kZXMucHVzaChcbiAgICAgICAgdGhpcy5ub2RlKCdpc0Nhbm9uaWNhbCcsIHNjcmlwdC5pc0Nhbm9uaWNhbFNjcmlwdFNpZ25hdHVyZShidWYpKSxcbiAgICAgICAgdGhpcy5ub2RlKCdoYXNoVHlwZScsIGhhc2hUeXBlKSxcbiAgICAgICAgdGhpcy5ub2RlKCdyJywgciksXG4gICAgICAgIHRoaXMubm9kZSgncycsIHMpLFxuICAgICAgICB0aGlzLm5vZGUoJ2hpZ2hTJywgaXNIaWdoUyhzKSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVzO1xuICB9XG5cbiAgcGFyc2VTaWduYXR1cmVzKFxuICAgIHBhcnNlZDogdXR4b2xpYi5iaXRnby5QYXJzZWRTaWduYXR1cmVTY3JpcHRQMm1zLFxuICAgIHR4OiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbixcbiAgICBpbnB1dEluZGV4OiBudW1iZXIsXG4gICAgcHJldk91dHB1dHM/OiB1dHhvbGliLlR4T3V0cHV0W11cbiAgKTogUGFyc2VyTm9kZSB7XG4gICAgY29uc3Qgbm9kZXM6IFBhcnNlck5vZGVbXSA9IFtdO1xuICAgIGlmIChwcmV2T3V0cHV0cykge1xuICAgICAgY29uc3Qgc2lnbmVkQnkgPSB1dHhvbGliLmJpdGdvLmdldFNpZ25hdHVyZXNXaXRoUHVibGljS2V5cyh0eCwgaW5wdXRJbmRleCwgcHJldk91dHB1dHMsIHBhcnNlZC5wdWJsaWNLZXlzKTtcbiAgICAgIG5vZGVzLnB1c2godGhpcy5ub2RlKCdzaWduZWQgYnknLCBgWyR7c2lnbmVkQnkuZmxhdE1hcCgodiwgaSkgPT4gKHYgPyBbaV0gOiBbXSkpLmpvaW4oJywgJyl9XWApKTtcbiAgICAgIGlmICh0aGlzLnBhcmFtcy5wYXJzZVNpZ25hdHVyZURhdGEuZWNkc2EgfHwgdGhpcy5wYXJhbXMucGFyc2VTaWduYXR1cmVEYXRhLnNjaG5vcnIpIHtcbiAgICAgICAgbm9kZXMucHVzaChcbiAgICAgICAgICAuLi5wYXJzZWQuc2lnbmF0dXJlcy5tYXAoKHM6IEJ1ZmZlciB8IDAsIGk6IG51bWJlcikgPT5cbiAgICAgICAgICAgIHRoaXMubm9kZShpLCB1bmRlZmluZWQsIHRoaXMucGFyc2VTaWduYXR1cmVCdWZmZXIocGFyc2VkLnNjcmlwdFR5cGUsIHMsIHMgPT09IDAgPyAtMSA6IHNpZ25lZEJ5LmluZGV4T2YocykpKVxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubm9kZShcbiAgICAgICdzaWduYXR1cmVzJyxcbiAgICAgIHBhcnNlZC5zaWduYXR1cmVzXG4gICAgICAgIC5tYXAoKHM6IEJ1ZmZlciB8IDApID0+XG4gICAgICAgICAgdXR4b2xpYi5iaXRnby5pc1BsYWNlaG9sZGVyU2lnbmF0dXJlKHMpID8gJ1tdJyA6IEJ1ZmZlci5pc0J1ZmZlcihzKSA/IGBbJHtzLmxlbmd0aH1ieXRlXWAgOiBgWyR7c31dYFxuICAgICAgICApXG4gICAgICAgIC5qb2luKCcgJyksXG4gICAgICBub2Rlc1xuICAgICk7XG4gIH1cblxuICBwYXJzZVNpZ1NjcmlwdFdpdGhUeXBlKFxuICAgIHR4OiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbixcbiAgICBpbnB1dEluZGV4OiBudW1iZXIsXG4gICAgcGFyc2VkOiB1dHhvbGliLmJpdGdvLlBhcnNlZFNpZ25hdHVyZVNjcmlwdCB8IEhvbGxvd1NlZ3dpdFNwZW5kLFxuICAgIHByZXZPdXRwdXRzPzogdXR4b2xpYi5UeE91dHB1dFtdXG4gICk6IFBhcnNlck5vZGUge1xuICAgIGlmIChcbiAgICAgIHBhcnNlZC5zY3JpcHRUeXBlICYmXG4gICAgICAodXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLmlzU2NyaXB0VHlwZTJPZjMocGFyc2VkLnNjcmlwdFR5cGUpIHx8XG4gICAgICAgIHBhcnNlZC5zY3JpcHRUeXBlID09PSAndGFwcm9vdFNjcmlwdFBhdGhTcGVuZCcgfHxcbiAgICAgICAgcGFyc2VkLnNjcmlwdFR5cGUgPT09ICd0YXByb290S2V5UGF0aFNwZW5kJylcbiAgICApIHtcbiAgICAgIGNvbnN0IHBhcnNlZDJPZjMgPSBwYXJzZWQuc2NyaXB0VHlwZSA9PT0gJ3RhcHJvb3RTY3JpcHRQYXRoU3BlbmQnID8geyAuLi5wYXJzZWQsIHNjcmlwdFR5cGU6ICdwMnRyJyB9IDogcGFyc2VkO1xuICAgICAgcmV0dXJuIHRoaXMubm9kZSgnc2lnU2NyaXB0JywgcGFyc2VkMk9mMy5zY3JpcHRUeXBlLCBbXG4gICAgICAgIHRoaXMucGFyc2VQdWJrZXlzKHBhcnNlZCBhcyB1dHhvbGliLmJpdGdvLlBhcnNlZFNpZ25hdHVyZVNjcmlwdFAybXMpLFxuICAgICAgICB0aGlzLnBhcnNlU2lnbmF0dXJlcyhwYXJzZWQgYXMgdXR4b2xpYi5iaXRnby5QYXJzZWRTaWduYXR1cmVTY3JpcHRQMm1zLCB0eCwgaW5wdXRJbmRleCwgcHJldk91dHB1dHMpLFxuICAgICAgXSk7XG4gICAgfVxuXG4gICAgaWYgKHBhcnNlZC5zY3JpcHRUeXBlID09PSAncDJzaFAyd3NoSG9sbG93JyB8fCBwYXJzZWQuc2NyaXB0VHlwZSA9PT0gJ3Ayc2hQMndwa2hIb2xsb3cnKSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlKCdzaWdTY3JpcHQnLCBwYXJzZWQuc2NyaXB0VHlwZSwgW3RoaXMubm9kZSgnaW5mbycsIGdldEhvbGxvd1NwZW5kTWVzc2FnZSgpKV0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLm5vZGUoJ3NpZ1NjcmlwdCcsIHBhcnNlZC5zY3JpcHRUeXBlID8/ICd1bmtub3duJyk7XG4gIH1cblxuICBwYXJzZVNpZ1NjcmlwdCh0eDogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb24sIGlucHV0SW5kZXg6IG51bWJlciwgcHJldk91dHB1dHM/OiB1dHhvbGliLlR4T3V0cHV0W10pOiBQYXJzZXJOb2RlIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHRoaXMucGFyc2VTaWdTY3JpcHRXaXRoVHlwZShcbiAgICAgICAgdHgsXG4gICAgICAgIGlucHV0SW5kZXgsXG4gICAgICAgIHBhcnNlU2lnbmF0dXJlU2NyaXB0KHR4Lmluc1tpbnB1dEluZGV4XSwgdHgubmV0d29yayksXG4gICAgICAgIHByZXZPdXRwdXRzXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB0aGlzLm5vZGUoJ2Vycm9yJywgU3RyaW5nKGUpKTtcbiAgICB9XG4gIH1cblxuICBwYXJzZVByZXZPdXQoXG4gICAgaW5wdXQ6IHV0eG9saWIuVHhJbnB1dCxcbiAgICBpOiBudW1iZXIsXG4gICAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrLFxuICAgIHByZXZPdXRwdXRzPzogdXR4b2xpYi5UeE91dHB1dFtdXG4gICk6IFBhcnNlck5vZGVbXSB7XG4gICAgaWYgKCFwcmV2T3V0cHV0cyB8fCAhcHJldk91dHB1dHNbaV0pIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgY29uc3QgeyBzY3JpcHQsIHZhbHVlIH0gPSBwcmV2T3V0cHV0c1tpXTtcbiAgICBsZXQgYWRkcmVzcztcbiAgICB0cnkge1xuICAgICAgYWRkcmVzcyA9IHV0eG9saWIuYWRkcmVzcy5mcm9tT3V0cHV0U2NyaXB0KHNjcmlwdCwgbmV0d29yayk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgYWRkcmVzcyA9ICcoZXJyb3IpJztcbiAgICB9XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMubm9kZSgndmFsdWUnLCB2YWx1ZSAvIDFlOCksXG4gICAgICB0aGlzLm5vZGUoJ3B1YlNjcmlwdCcsIHNjcmlwdCwgYWRkcmVzcyA/IFt0aGlzLm5vZGUoJ2FkZHJlc3MnLCBhZGRyZXNzKV0gOiB1bmRlZmluZWQpLFxuICAgIF07XG4gIH1cblxuICBwYXJzZUlucHV0KFxuICAgIHR4aWQ6IHN0cmluZyxcbiAgICB0eDogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb24sXG4gICAgaTogbnVtYmVyLFxuICAgIGlucHV0OiB1dHhvbGliLlR4SW5wdXQsXG4gICAgb3V0cHV0SW5mbzogQ2hhaW5JbmZvXG4gICk6IFBhcnNlck5vZGUge1xuICAgIHJldHVybiB0aGlzLm5vZGUoaSwgdXR4b2xpYi5iaXRnby5mb3JtYXRPdXRwdXRJZCh1dHhvbGliLmJpdGdvLmdldE91dHB1dElkRm9ySW5wdXQoaW5wdXQpKSwgW1xuICAgICAgdGhpcy5ub2RlKCdzZXF1ZW5jZScsIHRvQnVmZmVyVUludDMyQkUoaW5wdXQuc2VxdWVuY2UpKSxcbiAgICAgIHRoaXMucGFyc2VJbnB1dFNjcmlwdChpbnB1dC5zY3JpcHQpLFxuICAgICAgdGhpcy5wYXJzZVdpdG5lc3MoaW5wdXQud2l0bmVzcyksXG4gICAgICB0aGlzLnBhcnNlU2lnU2NyaXB0KHR4LCBpLCBvdXRwdXRJbmZvLnByZXZPdXRwdXRzKSxcbiAgICAgIC4uLnRoaXMucGFyc2VQcmV2T3V0KGlucHV0LCBpLCB0eC5uZXR3b3JrLCBvdXRwdXRJbmZvLnByZXZPdXRwdXRzKSxcbiAgICAgIC4uLnRoaXMucGFyc2VTcGVuZCh0eGlkLCBpLCBvdXRwdXRJbmZvLnByZXZPdXRwdXRTcGVuZHMsIHsgY29uZmxpY3Q6IHRydWUgfSksXG4gICAgXSk7XG4gIH1cblxuICBwYXJzZVNwZW5kKFxuICAgIHR4aWQ6IHN0cmluZyxcbiAgICBpbmRleDogbnVtYmVyLFxuICAgIHNwZW5kczogT3V0cHV0U3BlbmRbXSB8IHVuZGVmaW5lZCxcbiAgICBwYXJhbXM6IHsgY29uZmxpY3Q6IGJvb2xlYW4gfVxuICApOiBQYXJzZXJOb2RlW10ge1xuICAgIGlmICghc3BlbmRzIHx8ICFzcGVuZHNbaW5kZXhdKSB7XG4gICAgICAvLyBubyBzcGVuZCBkYXRhIGF2YWlsYWJsZVxuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBjb25zdCBzcGVuZCA9IHNwZW5kc1tpbmRleF07XG4gICAgaWYgKHNwZW5kLnR4aWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIFt0aGlzLm5vZGUoJ3NwZW50JywgZmFsc2UpXTtcbiAgICB9XG4gICAgaWYgKHNwZW5kLnR4aWQgPT09IHR4aWQpIHtcbiAgICAgIC8vIGlmIGlucHV0IGlzIHNwZW50IGJ5IHRoaXMgdHJhbnNhY3Rpb24gd2UgZG9uJ3QgZGlzcGxheSBpdFxuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gW3RoaXMubm9kZSgnc3BlbnQnLCBgJHtzcGVuZC50eGlkfToke3NwZW5kLnZpbn1gLCBwYXJhbXMuY29uZmxpY3QgPyBbdGhpcy5ub2RlKCdjb25mbGljdCcsIHRydWUpXSA6IFtdKV07XG4gIH1cblxuICBwYXJzZU91dHB1dCh0eGlkOiBzdHJpbmcsIG86IHV0eG9saWIuVHhPdXRwdXQsIGk6IG51bWJlciwgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrLCBwYXJhbXM6IENoYWluSW5mbyk6IFBhcnNlck5vZGUge1xuICAgIGxldCBhZGRyZXNzO1xuICAgIHRyeSB7XG4gICAgICBhZGRyZXNzID0gdXR4b2xpYi5hZGRyZXNzLmZyb21PdXRwdXRTY3JpcHQoby5zY3JpcHQsIG5ldHdvcmspO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGlnbm9yZVxuICAgIH1cblxuICAgIGNvbnN0IGFkZHJlc3NQYXJzZXIgPSBuZXcgQWRkcmVzc1BhcnNlcih7IG5ldHdvcmssIGFsbDogZmFsc2UsIGNvbnZlcnQ6IGZhbHNlIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMubm9kZShpLCBhZGRyZXNzID8/ICcobm8gYWRkcmVzcyknLCBbXG4gICAgICB0aGlzLm5vZGUoYHZhbHVlYCwgZm9ybWF0U2F0KG8udmFsdWUpKSxcbiAgICAgIC4uLih0aGlzLnBhcmFtcy5wYXJzZU91dHB1dFNjcmlwdCB8fCBhZGRyZXNzID09PSB1bmRlZmluZWQgPyBhZGRyZXNzUGFyc2VyLnBhcnNlT3V0cHV0U2NyaXB0KG8uc2NyaXB0KSA6IFtdKSxcbiAgICAgIC4uLnRoaXMucGFyc2VTcGVuZCh0eGlkLCBpLCBwYXJhbXMub3V0cHV0U3BlbmRzLCB7IGNvbmZsaWN0OiBmYWxzZSB9KSxcbiAgICBdKTtcbiAgfVxufVxuIl19
@@ -557,18 +557,18 @@
557
557
  "affectsGlobalScope": false
558
558
  },
559
559
  "../../utxo-lib/dist/src/bitgo/types.d.ts": {
560
- "version": "b75907349e7621c0af4b0725cd272038d086e879cb5db399e278c5b5ef7f9a7d",
561
- "signature": "b75907349e7621c0af4b0725cd272038d086e879cb5db399e278c5b5ef7f9a7d",
560
+ "version": "68f18b63c9f01ba41c0c14bbf514074a9b08a03fb1e718ec2b99a02e69e407a1",
561
+ "signature": "68f18b63c9f01ba41c0c14bbf514074a9b08a03fb1e718ec2b99a02e69e407a1",
562
562
  "affectsGlobalScope": false
563
563
  },
564
564
  "../../utxo-lib/dist/src/bitgo/wallet/chains.d.ts": {
565
- "version": "70264c48be0e8083af77605b3beacd62fbcc6ec8838be5959d2c79868c735a4b",
566
- "signature": "70264c48be0e8083af77605b3beacd62fbcc6ec8838be5959d2c79868c735a4b",
565
+ "version": "741534ee446de2b35f3a2f49bffa1403ccc8f4612fc2571ca802d3f59fb2a8a1",
566
+ "signature": "741534ee446de2b35f3a2f49bffa1403ccc8f4612fc2571ca802d3f59fb2a8a1",
567
567
  "affectsGlobalScope": false
568
568
  },
569
569
  "../../utxo-lib/dist/src/bitgo/outputscripts.d.ts": {
570
- "version": "e3bf69fdcb55e8f6d13fe13329d02073343b1cb4757400f6a2ba1ea27c5fd68d",
571
- "signature": "e3bf69fdcb55e8f6d13fe13329d02073343b1cb4757400f6a2ba1ea27c5fd68d",
570
+ "version": "c7a3a773974daeaa7398bfec871d9566d27a8ef0b72d03b91c948f271a237a9e",
571
+ "signature": "c7a3a773974daeaa7398bfec871d9566d27a8ef0b72d03b91c948f271a237a9e",
572
572
  "affectsGlobalScope": false
573
573
  },
574
574
  "../../utxo-lib/dist/src/bitgo/utxotransaction.d.ts": {
@@ -581,9 +581,24 @@
581
581
  "signature": "7df2b9c4e93eeab03cc5eba9061a6468b682b605c55312ca09e4c9c201819c10",
582
582
  "affectsGlobalScope": false
583
583
  },
584
+ "../../../node_modules/bip32/types/bip32.d.ts": {
585
+ "version": "bcba99e785dcaf8c662da39e88d4b19b7bd1ac6f2747326627af703aeee75076",
586
+ "signature": "bcba99e785dcaf8c662da39e88d4b19b7bd1ac6f2747326627af703aeee75076",
587
+ "affectsGlobalScope": false
588
+ },
589
+ "../../../node_modules/bip32/types/index.d.ts": {
590
+ "version": "6bc78ca431af68b902781d24cbf7c6ae662e6b1610e56ed6173f3a9384c50304",
591
+ "signature": "6bc78ca431af68b902781d24cbf7c6ae662e6b1610e56ed6173f3a9384c50304",
592
+ "affectsGlobalScope": false
593
+ },
594
+ "../../../node_modules/bip174/src/lib/proprietarykeyval.d.ts": {
595
+ "version": "e4c94bbc250fdc12eb67d2eeab41b50771be16ea342f2f9a13a85854e2c2f385",
596
+ "signature": "e4c94bbc250fdc12eb67d2eeab41b50771be16ea342f2f9a13a85854e2c2f385",
597
+ "affectsGlobalScope": false
598
+ },
584
599
  "../../utxo-lib/dist/src/bitgo/utxopsbt.d.ts": {
585
- "version": "de04385a9461966f5fc1a6539bcaf3010006532c2b7b2ca940bddf5de4a329bd",
586
- "signature": "de04385a9461966f5fc1a6539bcaf3010006532c2b7b2ca940bddf5de4a329bd",
600
+ "version": "91e969c3f8f61c17b7c2204e9b649d4f672625bc2f6285f27dafbde13fda1a5f",
601
+ "signature": "91e969c3f8f61c17b7c2204e9b649d4f672625bc2f6285f27dafbde13fda1a5f",
587
602
  "affectsGlobalScope": false
588
603
  },
589
604
  "../../utxo-lib/dist/src/bitgo/dash/dashpsbt.d.ts": {
@@ -612,18 +627,8 @@
612
627
  "affectsGlobalScope": false
613
628
  },
614
629
  "../../utxo-lib/dist/src/bitgo/parseinput.d.ts": {
615
- "version": "00aae9b35f7003383f01f40d8fde8f9eaa0a774a274b5c0a3a5259294dd46f15",
616
- "signature": "00aae9b35f7003383f01f40d8fde8f9eaa0a774a274b5c0a3a5259294dd46f15",
617
- "affectsGlobalScope": false
618
- },
619
- "../../../node_modules/bip32/types/bip32.d.ts": {
620
- "version": "bcba99e785dcaf8c662da39e88d4b19b7bd1ac6f2747326627af703aeee75076",
621
- "signature": "bcba99e785dcaf8c662da39e88d4b19b7bd1ac6f2747326627af703aeee75076",
622
- "affectsGlobalScope": false
623
- },
624
- "../../../node_modules/bip32/types/index.d.ts": {
625
- "version": "6bc78ca431af68b902781d24cbf7c6ae662e6b1610e56ed6173f3a9384c50304",
626
- "signature": "6bc78ca431af68b902781d24cbf7c6ae662e6b1610e56ed6173f3a9384c50304",
630
+ "version": "8ddbd5b217234804631bf628b3cb9ec2b4cf580abf361ce26e69c967ddf1973d",
631
+ "signature": "8ddbd5b217234804631bf628b3cb9ec2b4cf580abf361ce26e69c967ddf1973d",
627
632
  "affectsGlobalScope": false
628
633
  },
629
634
  "../../utxo-lib/dist/src/bitgo/signature.d.ts": {
@@ -632,8 +637,8 @@
632
637
  "affectsGlobalScope": false
633
638
  },
634
639
  "../../utxo-lib/dist/src/bitgo/transaction.d.ts": {
635
- "version": "3c41225c75c4f599800881c2ef78c9daf1f299e64ef61203e2daca05ac79c553",
636
- "signature": "3c41225c75c4f599800881c2ef78c9daf1f299e64ef61203e2daca05ac79c553",
640
+ "version": "627f13a7a539dd90c17519f82e05159978e1c08bcb5b93a5054076aea39126d4",
641
+ "signature": "627f13a7a539dd90c17519f82e05159978e1c08bcb5b93a5054076aea39126d4",
637
642
  "affectsGlobalScope": false
638
643
  },
639
644
  "../../utxo-lib/dist/src/bitgo/unspent.d.ts": {
@@ -652,18 +657,18 @@
652
657
  "affectsGlobalScope": false
653
658
  },
654
659
  "../../utxo-lib/dist/src/bitgo/wallet/unspent.d.ts": {
655
- "version": "3e30d7bbc8ba2a8448d45eb5e1a2081ee32822354424c4d37b2a60502eafe31a",
656
- "signature": "3e30d7bbc8ba2a8448d45eb5e1a2081ee32822354424c4d37b2a60502eafe31a",
660
+ "version": "2a61ab34ec6f30af68b2ecfeb63b08050098fefc870dd8cb99f91deb69ace492",
661
+ "signature": "2a61ab34ec6f30af68b2ecfeb63b08050098fefc870dd8cb99f91deb69ace492",
657
662
  "affectsGlobalScope": false
658
663
  },
659
664
  "../../utxo-lib/dist/src/bitgo/wallet/psbt.d.ts": {
660
- "version": "a0aeed9110588200e5f200ebd71af723b73189a8dfe3625e0c9c09be024e16ee",
661
- "signature": "a0aeed9110588200e5f200ebd71af723b73189a8dfe3625e0c9c09be024e16ee",
665
+ "version": "974aaeb00537a29b5bbd14ddf4640cb0a8903be5e5c6a0e045af993db873c560",
666
+ "signature": "974aaeb00537a29b5bbd14ddf4640cb0a8903be5e5c6a0e045af993db873c560",
662
667
  "affectsGlobalScope": false
663
668
  },
664
669
  "../../utxo-lib/dist/src/bitgo/wallet/walletoutput.d.ts": {
665
- "version": "58d7c2c25ac51d619458742a29e25699f29ab5367b1cab71395a3a3caec66b28",
666
- "signature": "58d7c2c25ac51d619458742a29e25699f29ab5367b1cab71395a3a3caec66b28",
670
+ "version": "a4c1bf7c1e2f33a0da0961529264dda86ad772af235905ee13ac485ef9155f7e",
671
+ "signature": "a4c1bf7c1e2f33a0da0961529264dda86ad772af235905ee13ac485ef9155f7e",
667
672
  "affectsGlobalScope": false
668
673
  },
669
674
  "../../utxo-lib/dist/src/bitgo/wallet/walletscripts.d.ts": {
@@ -682,8 +687,8 @@
682
687
  "affectsGlobalScope": false
683
688
  },
684
689
  "../../utxo-lib/dist/src/bitgo/zcash/zcashpsbt.d.ts": {
685
- "version": "28d05704ec8bfba6053be88a359322e280f6da3161b3c6104c8523e26209c2b4",
686
- "signature": "28d05704ec8bfba6053be88a359322e280f6da3161b3c6104c8523e26209c2b4",
690
+ "version": "a6b9095d530cd9e2e28653a173bd4bd975b9b2759abc55d8bbcbc0d64dfba12f",
691
+ "signature": "a6b9095d530cd9e2e28653a173bd4bd975b9b2759abc55d8bbcbc0d64dfba12f",
687
692
  "affectsGlobalScope": false
688
693
  },
689
694
  "../../utxo-lib/dist/src/bitgo/zcash/zcashtransactionbuilder.d.ts": {
@@ -717,13 +722,33 @@
717
722
  "affectsGlobalScope": false
718
723
  },
719
724
  "../../utxo-lib/dist/src/taproot.d.ts": {
720
- "version": "f29caf343c476ea1584d8554083c7d2218bf007ea44a6e7bb23c3ee09fb167f3",
721
- "signature": "f29caf343c476ea1584d8554083c7d2218bf007ea44a6e7bb23c3ee09fb167f3",
725
+ "version": "ae6980bc5c77153a715fc013beb4853769bd976e7c23f549179d4a8838462402",
726
+ "signature": "ae6980bc5c77153a715fc013beb4853769bd976e7c23f549179d4a8838462402",
727
+ "affectsGlobalScope": false
728
+ },
729
+ "../../utxo-lib/dist/src/testutil/keys.d.ts": {
730
+ "version": "42f9bf86a24d44f75ddf7e8063326d640ea8cc0d13f29c7921d74da89fee3ecc",
731
+ "signature": "42f9bf86a24d44f75ddf7e8063326d640ea8cc0d13f29c7921d74da89fee3ecc",
732
+ "affectsGlobalScope": false
733
+ },
734
+ "../../utxo-lib/dist/src/testutil/mock.d.ts": {
735
+ "version": "281fd72521d5c85008445779e15086caf1dc82221c17cff47f9203345233771e",
736
+ "signature": "281fd72521d5c85008445779e15086caf1dc82221c17cff47f9203345233771e",
737
+ "affectsGlobalScope": false
738
+ },
739
+ "../../utxo-lib/dist/src/testutil/index.d.ts": {
740
+ "version": "dc134900147e5e8e5eee01cb53f8e9badcc6ca5e98ce4759518878243574ae0d",
741
+ "signature": "dc134900147e5e8e5eee01cb53f8e9badcc6ca5e98ce4759518878243574ae0d",
742
+ "affectsGlobalScope": false
743
+ },
744
+ "../../../node_modules/@brandonblack/musig/lib/index.d.ts": {
745
+ "version": "29b06bc4f667f793e8706c5cdc91e12214ebe3c9c24e422e2521dcf1ce3ab9ae",
746
+ "signature": "29b06bc4f667f793e8706c5cdc91e12214ebe3c9c24e422e2521dcf1ce3ab9ae",
722
747
  "affectsGlobalScope": false
723
748
  },
724
749
  "../../utxo-lib/dist/src/noble_ecc.d.ts": {
725
- "version": "092735ae15076f8ea428804ac558fd6cae86ed16a2146e71924832757c662d7a",
726
- "signature": "092735ae15076f8ea428804ac558fd6cae86ed16a2146e71924832757c662d7a",
750
+ "version": "935f2f183413bfb559b5308d59e15c663ea8a7a26609a7e42e4361f696334f63",
751
+ "signature": "935f2f183413bfb559b5308d59e15c663ea8a7a26609a7e42e4361f696334f63",
727
752
  "affectsGlobalScope": false
728
753
  },
729
754
  "../../utxo-lib/dist/src/payments/p2tr_ns.d.ts": {
@@ -742,8 +767,8 @@
742
767
  "affectsGlobalScope": false
743
768
  },
744
769
  "../../utxo-lib/dist/src/index.d.ts": {
745
- "version": "a076a9dbd8bc116a6d4e4fe17572d95850b7495d38736db42d9396ca6f3ccae4",
746
- "signature": "a076a9dbd8bc116a6d4e4fe17572d95850b7495d38736db42d9396ca6f3ccae4",
770
+ "version": "a6956bda1e7042dc49ac85d87875310fb65b798d67bda5f67d2ebb0c5ece433a",
771
+ "signature": "a6956bda1e7042dc49ac85d87875310fb65b798d67bda5f67d2ebb0c5ece433a",
747
772
  "affectsGlobalScope": false
748
773
  },
749
774
  "../../../node_modules/bech32/dist/index.d.ts": {
@@ -836,6 +861,11 @@
836
861
  "signature": "f491f3939bf1c85ad2ebe4cdd99d09c2efda9589f5405256bcdd8ff8492f662b",
837
862
  "affectsGlobalScope": false
838
863
  },
864
+ "../../../node_modules/bitcoinjs-lib/node_modules/bip174/src/lib/interfaces.d.ts": {
865
+ "version": "3e1f9b3c69152720aee400a26c71cf57f0a7e3190a8b237d8398dc7b3e510b42",
866
+ "signature": "3e1f9b3c69152720aee400a26c71cf57f0a7e3190a8b237d8398dc7b3e510b42",
867
+ "affectsGlobalScope": false
868
+ },
839
869
  "../../../node_modules/bitcoinjs-lib/src/types.d.ts": {
840
870
  "version": "66978ea7a01c26f9a0432f4c41e7060b4d327f56e243cd297f8a5c77a72b8cf7",
841
871
  "signature": "66978ea7a01c26f9a0432f4c41e7060b4d327f56e243cd297f8a5c77a72b8cf7",
@@ -926,6 +956,11 @@
926
956
  "signature": "83a8c6dbc3c4a5eac6e4e0328bd9e30fdaf53e02eeac194442c2f6aded8f6c3c",
927
957
  "affectsGlobalScope": false
928
958
  },
959
+ "../../../node_modules/bitcoinjs-lib/node_modules/bip174/src/lib/psbt.d.ts": {
960
+ "version": "9010bcd6fb2da0e3d050d2bdc99772bc65f0aded76b88cdef97cae19ff1b7111",
961
+ "signature": "9010bcd6fb2da0e3d050d2bdc99772bc65f0aded76b88cdef97cae19ff1b7111",
962
+ "affectsGlobalScope": false
963
+ },
929
964
  "../../../node_modules/bitcoinjs-lib/src/psbt.d.ts": {
930
965
  "version": "f0f9439e4302fb7127a172ad73fa9335ab8cf340ebdc4356700adf641fe74b62",
931
966
  "signature": "f0f9439e4302fb7127a172ad73fa9335ab8cf340ebdc4356700adf641fe74b62",
@@ -967,8 +1002,8 @@
967
1002
  "affectsGlobalScope": false
968
1003
  },
969
1004
  "../src/inputoutputparser.ts": {
970
- "version": "057998039e95c6a618f8a820d6a6eac6b7282441fe98ecd4513aab4b1d787b6e",
971
- "signature": "b4d39ff62273ed1d6a987326a6e25caec5c2e89de9360e2ed59866774c5683bd",
1005
+ "version": "1df571b7c3b422c09feb7de7ed7aaae65f6cabd77c34dfa6f9a0d05bfc330b4a",
1006
+ "signature": "00423c17bd4a13dc39fe80aa2df597e1c1656b243e62ce6bb11dad8c59e84398",
972
1007
  "affectsGlobalScope": false
973
1008
  },
974
1009
  "../../../node_modules/@types/yargs-parser/index.d.ts": {
@@ -982,13 +1017,13 @@
982
1017
  "affectsGlobalScope": false
983
1018
  },
984
1019
  "../../statics/dist/src/networks.d.ts": {
985
- "version": "7f368045024ed749d6925ae5f98daab76279068d35de0028481e06fdbdecfbbf",
986
- "signature": "7f368045024ed749d6925ae5f98daab76279068d35de0028481e06fdbdecfbbf",
1020
+ "version": "fc24bdfb504a25e669af40752735b313c8a044cde8b4b2ea252aed328d2b6170",
1021
+ "signature": "fc24bdfb504a25e669af40752735b313c8a044cde8b4b2ea252aed328d2b6170",
987
1022
  "affectsGlobalScope": false
988
1023
  },
989
1024
  "../../statics/dist/src/base.d.ts": {
990
- "version": "5acfde4f22599804c12764b3cc03dd7b2dcf4cde88be6cada1bb03bd2877e95a",
991
- "signature": "5acfde4f22599804c12764b3cc03dd7b2dcf4cde88be6cada1bb03bd2877e95a",
1025
+ "version": "6d51026ea29fef4f15cf200c814e6ba3b42c53123c9fad9f69f0094328533b59",
1026
+ "signature": "6d51026ea29fef4f15cf200c814e6ba3b42c53123c9fad9f69f0094328533b59",
992
1027
  "affectsGlobalScope": false
993
1028
  },
994
1029
  "../../statics/dist/src/map.d.ts": {
@@ -997,8 +1032,8 @@
997
1032
  "affectsGlobalScope": false
998
1033
  },
999
1034
  "../../statics/dist/src/coins.d.ts": {
1000
- "version": "601447b3eeb6af532c1c4dcfcd248f84a3c22782f0b00f161119a773095b04d0",
1001
- "signature": "601447b3eeb6af532c1c4dcfcd248f84a3c22782f0b00f161119a773095b04d0",
1035
+ "version": "27d354399096bb8841e6b1050246b625f8c9f7404b6e3ad7bc22348c1b1557c7",
1036
+ "signature": "27d354399096bb8841e6b1050246b625f8c9f7404b6e3ad7bc22348c1b1557c7",
1002
1037
  "affectsGlobalScope": false
1003
1038
  },
1004
1039
  "../../statics/dist/src/errors.d.ts": {
@@ -1007,8 +1042,8 @@
1007
1042
  "affectsGlobalScope": false
1008
1043
  },
1009
1044
  "../../statics/dist/src/tokenconfig.d.ts": {
1010
- "version": "04921844825fd269439403ee9ae1e4c904fad474d5e9c2b9025cc47ef5f89ff5",
1011
- "signature": "04921844825fd269439403ee9ae1e4c904fad474d5e9c2b9025cc47ef5f89ff5",
1045
+ "version": "ad7d80da39636240915656265f0a1456765fa18b6277c0e176195a546fc6227b",
1046
+ "signature": "ad7d80da39636240915656265f0a1456765fa18b6277c0e176195a546fc6227b",
1012
1047
  "affectsGlobalScope": false
1013
1048
  },
1014
1049
  "../../statics/dist/src/ofc.d.ts": {
@@ -1022,8 +1057,8 @@
1022
1057
  "affectsGlobalScope": false
1023
1058
  },
1024
1059
  "../../statics/dist/src/account.d.ts": {
1025
- "version": "0ed69df391e23417806cadf618fd2c6802d829271e32324d7767bcd5c221e133",
1026
- "signature": "0ed69df391e23417806cadf618fd2c6802d829271e32324d7767bcd5c221e133",
1060
+ "version": "857e24c2b3646eb0d3a568dcf16e187f8649866f6352a2234f93abbcb72c21dc",
1061
+ "signature": "857e24c2b3646eb0d3a568dcf16e187f8649866f6352a2234f93abbcb72c21dc",
1027
1062
  "affectsGlobalScope": false
1028
1063
  },
1029
1064
  "../../statics/dist/src/index.d.ts": {
@@ -2085,7 +2120,6 @@
2085
2120
  "../../utxo-lib/node_modules/bitcoinjs-lib/src/index.d.ts"
2086
2121
  ],
2087
2122
  "../../utxo-lib/dist/src/bitgo/parseinput.d.ts": [
2088
- "../../utxo-lib/dist/src/bitgo/outputscripts.d.ts",
2089
2123
  "../../utxo-lib/node_modules/@types/node/ts4.8/index.d.ts",
2090
2124
  "../../utxo-lib/node_modules/bitcoinjs-lib/src/index.d.ts"
2091
2125
  ],
@@ -2107,6 +2141,9 @@
2107
2141
  "../../utxo-lib/node_modules/@types/node/ts4.8/index.d.ts",
2108
2142
  "../../utxo-lib/node_modules/bitcoinjs-lib/src/index.d.ts"
2109
2143
  ],
2144
+ "../../utxo-lib/dist/src/bitgo/types.d.ts": [
2145
+ "../../../node_modules/bip174/src/lib/interfaces.d.ts"
2146
+ ],
2110
2147
  "../../utxo-lib/dist/src/bitgo/unspent.d.ts": [
2111
2148
  "../../utxo-lib/dist/src/bitgo/utxotransaction.d.ts",
2112
2149
  "../../utxo-lib/dist/src/bitgo/utxotransactionbuilder.d.ts",
@@ -2115,7 +2152,10 @@
2115
2152
  "../../utxo-lib/node_modules/bitcoinjs-lib/src/index.d.ts"
2116
2153
  ],
2117
2154
  "../../utxo-lib/dist/src/bitgo/utxopsbt.d.ts": [
2155
+ "../../../node_modules/bip174/src/lib/interfaces.d.ts",
2156
+ "../../../node_modules/bip174/src/lib/proprietarykeyval.d.ts",
2118
2157
  "../../../node_modules/bip174/src/lib/psbt.d.ts",
2158
+ "../../../node_modules/bip32/types/index.d.ts",
2119
2159
  "../../utxo-lib/dist/src/bitgo/utxotransaction.d.ts",
2120
2160
  "../../utxo-lib/dist/src/index.d.ts",
2121
2161
  "../../utxo-lib/node_modules/@types/node/ts4.8/index.d.ts"
@@ -2172,7 +2212,6 @@
2172
2212
  ],
2173
2213
  "../../utxo-lib/dist/src/bitgo/wallet/walletoutput.d.ts": [
2174
2214
  "../../utxo-lib/dist/src/bitgo/utxopsbt.d.ts",
2175
- "../../utxo-lib/dist/src/bitgo/utxotransaction.d.ts",
2176
2215
  "../../utxo-lib/dist/src/bitgo/wallet/chains.d.ts",
2177
2216
  "../../utxo-lib/dist/src/bitgo/wallet/walletkeys.d.ts"
2178
2217
  ],
@@ -2195,7 +2234,6 @@
2195
2234
  "../../utxo-lib/dist/src/bitgo/zcash/zcashpsbt.d.ts": [
2196
2235
  "../../../node_modules/bip174/src/lib/psbt.d.ts",
2197
2236
  "../../utxo-lib/dist/src/bitgo/utxopsbt.d.ts",
2198
- "../../utxo-lib/dist/src/bitgo/utxotransaction.d.ts",
2199
2237
  "../../utxo-lib/dist/src/bitgo/zcash/zcashtransaction.d.ts",
2200
2238
  "../../utxo-lib/dist/src/index.d.ts",
2201
2239
  "../../utxo-lib/node_modules/@types/node/ts4.8/index.d.ts",
@@ -2225,10 +2263,12 @@
2225
2263
  "../../utxo-lib/dist/src/noble_ecc.d.ts",
2226
2264
  "../../utxo-lib/dist/src/payments/index.d.ts",
2227
2265
  "../../utxo-lib/dist/src/taproot.d.ts",
2266
+ "../../utxo-lib/dist/src/testutil/index.d.ts",
2228
2267
  "../../utxo-lib/dist/src/transaction_builder.d.ts",
2229
2268
  "../../utxo-lib/node_modules/bitcoinjs-lib/src/index.d.ts"
2230
2269
  ],
2231
2270
  "../../utxo-lib/dist/src/noble_ecc.d.ts": [
2271
+ "../../../node_modules/@brandonblack/musig/lib/index.d.ts",
2232
2272
  "../../../node_modules/bip32/types/index.d.ts",
2233
2273
  "../../../node_modules/ecpair/src/index.d.ts"
2234
2274
  ],
@@ -2244,6 +2284,21 @@
2244
2284
  ],
2245
2285
  "../../utxo-lib/dist/src/taproot.d.ts": [
2246
2286
  "../../../node_modules/bip174/src/lib/interfaces.d.ts",
2287
+ "../../utxo-lib/node_modules/@types/node/ts4.8/index.d.ts",
2288
+ "../../utxo-lib/node_modules/bitcoinjs-lib/src/index.d.ts"
2289
+ ],
2290
+ "../../utxo-lib/dist/src/testutil/index.d.ts": [
2291
+ "../../utxo-lib/dist/src/testutil/keys.d.ts",
2292
+ "../../utxo-lib/dist/src/testutil/mock.d.ts"
2293
+ ],
2294
+ "../../utxo-lib/dist/src/testutil/keys.d.ts": [
2295
+ "../../../node_modules/bip32/types/index.d.ts",
2296
+ "../../utxo-lib/dist/src/bitgo/index.d.ts"
2297
+ ],
2298
+ "../../utxo-lib/dist/src/testutil/mock.d.ts": [
2299
+ "../../../node_modules/bip32/types/index.d.ts",
2300
+ "../../utxo-lib/dist/src/bitgo/index.d.ts",
2301
+ "../../utxo-lib/dist/src/networks.d.ts",
2247
2302
  "../../utxo-lib/node_modules/@types/node/ts4.8/index.d.ts"
2248
2303
  ],
2249
2304
  "../../utxo-lib/dist/src/transaction_builder.d.ts": [
@@ -3192,6 +3247,9 @@
3192
3247
  "../../../node_modules/bip174/src/lib/interfaces.d.ts": [
3193
3248
  "../../../node_modules/@types/node/index.d.ts"
3194
3249
  ],
3250
+ "../../../node_modules/bip174/src/lib/proprietarykeyval.d.ts": [
3251
+ "../../../node_modules/@types/node/index.d.ts"
3252
+ ],
3195
3253
  "../../../node_modules/bip174/src/lib/psbt.d.ts": [
3196
3254
  "../../../node_modules/@types/node/index.d.ts",
3197
3255
  "../../../node_modules/bip174/src/lib/interfaces.d.ts"
@@ -3202,6 +3260,13 @@
3202
3260
  "../../../node_modules/bip32/types/index.d.ts": [
3203
3261
  "../../../node_modules/bip32/types/bip32.d.ts"
3204
3262
  ],
3263
+ "../../../node_modules/bitcoinjs-lib/node_modules/bip174/src/lib/interfaces.d.ts": [
3264
+ "../../../node_modules/@types/node/index.d.ts"
3265
+ ],
3266
+ "../../../node_modules/bitcoinjs-lib/node_modules/bip174/src/lib/psbt.d.ts": [
3267
+ "../../../node_modules/@types/node/index.d.ts",
3268
+ "../../../node_modules/bitcoinjs-lib/node_modules/bip174/src/lib/interfaces.d.ts"
3269
+ ],
3205
3270
  "../../../node_modules/bitcoinjs-lib/src/address.d.ts": [
3206
3271
  "../../../node_modules/@types/node/index.d.ts",
3207
3272
  "../../../node_modules/bitcoinjs-lib/src/networks.d.ts"
@@ -3231,7 +3296,7 @@
3231
3296
  ],
3232
3297
  "../../../node_modules/bitcoinjs-lib/src/payments/index.d.ts": [
3233
3298
  "../../../node_modules/@types/node/index.d.ts",
3234
- "../../../node_modules/bip174/src/lib/interfaces.d.ts",
3299
+ "../../../node_modules/bitcoinjs-lib/node_modules/bip174/src/lib/interfaces.d.ts",
3235
3300
  "../../../node_modules/bitcoinjs-lib/src/networks.d.ts",
3236
3301
  "../../../node_modules/bitcoinjs-lib/src/payments/embed.d.ts",
3237
3302
  "../../../node_modules/bitcoinjs-lib/src/payments/p2ms.d.ts",
@@ -3270,8 +3335,8 @@
3270
3335
  ],
3271
3336
  "../../../node_modules/bitcoinjs-lib/src/psbt.d.ts": [
3272
3337
  "../../../node_modules/@types/node/index.d.ts",
3273
- "../../../node_modules/bip174/src/lib/interfaces.d.ts",
3274
- "../../../node_modules/bip174/src/lib/psbt.d.ts",
3338
+ "../../../node_modules/bitcoinjs-lib/node_modules/bip174/src/lib/interfaces.d.ts",
3339
+ "../../../node_modules/bitcoinjs-lib/node_modules/bip174/src/lib/psbt.d.ts",
3275
3340
  "../../../node_modules/bitcoinjs-lib/src/networks.d.ts",
3276
3341
  "../../../node_modules/bitcoinjs-lib/src/transaction.d.ts"
3277
3342
  ],
@@ -3290,7 +3355,7 @@
3290
3355
  ],
3291
3356
  "../../../node_modules/bitcoinjs-lib/src/taproot.d.ts": [
3292
3357
  "../../../node_modules/@types/node/index.d.ts",
3293
- "../../../node_modules/bip174/src/lib/interfaces.d.ts",
3358
+ "../../../node_modules/bitcoinjs-lib/node_modules/bip174/src/lib/interfaces.d.ts",
3294
3359
  "../../../node_modules/bitcoinjs-lib/src/types.d.ts"
3295
3360
  ],
3296
3361
  "../../../node_modules/bitcoinjs-lib/src/transaction.d.ts": [
@@ -3503,7 +3568,6 @@
3503
3568
  "../../utxo-lib/node_modules/bitcoinjs-lib/src/index.d.ts"
3504
3569
  ],
3505
3570
  "../../utxo-lib/dist/src/bitgo/parseinput.d.ts": [
3506
- "../../utxo-lib/dist/src/bitgo/outputscripts.d.ts",
3507
3571
  "../../utxo-lib/node_modules/@types/node/ts4.8/index.d.ts",
3508
3572
  "../../utxo-lib/node_modules/bitcoinjs-lib/src/index.d.ts"
3509
3573
  ],
@@ -3525,6 +3589,9 @@
3525
3589
  "../../utxo-lib/node_modules/@types/node/ts4.8/index.d.ts",
3526
3590
  "../../utxo-lib/node_modules/bitcoinjs-lib/src/index.d.ts"
3527
3591
  ],
3592
+ "../../utxo-lib/dist/src/bitgo/types.d.ts": [
3593
+ "../../../node_modules/bip174/src/lib/interfaces.d.ts"
3594
+ ],
3528
3595
  "../../utxo-lib/dist/src/bitgo/unspent.d.ts": [
3529
3596
  "../../utxo-lib/dist/src/bitgo/utxotransaction.d.ts",
3530
3597
  "../../utxo-lib/dist/src/bitgo/utxotransactionbuilder.d.ts",
@@ -3533,7 +3600,10 @@
3533
3600
  "../../utxo-lib/node_modules/bitcoinjs-lib/src/index.d.ts"
3534
3601
  ],
3535
3602
  "../../utxo-lib/dist/src/bitgo/utxopsbt.d.ts": [
3603
+ "../../../node_modules/bip174/src/lib/interfaces.d.ts",
3604
+ "../../../node_modules/bip174/src/lib/proprietarykeyval.d.ts",
3536
3605
  "../../../node_modules/bip174/src/lib/psbt.d.ts",
3606
+ "../../../node_modules/bip32/types/index.d.ts",
3537
3607
  "../../utxo-lib/dist/src/bitgo/utxotransaction.d.ts",
3538
3608
  "../../utxo-lib/dist/src/index.d.ts",
3539
3609
  "../../utxo-lib/node_modules/@types/node/ts4.8/index.d.ts"
@@ -3590,7 +3660,6 @@
3590
3660
  ],
3591
3661
  "../../utxo-lib/dist/src/bitgo/wallet/walletoutput.d.ts": [
3592
3662
  "../../utxo-lib/dist/src/bitgo/utxopsbt.d.ts",
3593
- "../../utxo-lib/dist/src/bitgo/utxotransaction.d.ts",
3594
3663
  "../../utxo-lib/dist/src/bitgo/wallet/chains.d.ts",
3595
3664
  "../../utxo-lib/dist/src/bitgo/wallet/walletkeys.d.ts"
3596
3665
  ],
@@ -3613,7 +3682,6 @@
3613
3682
  "../../utxo-lib/dist/src/bitgo/zcash/zcashpsbt.d.ts": [
3614
3683
  "../../../node_modules/bip174/src/lib/psbt.d.ts",
3615
3684
  "../../utxo-lib/dist/src/bitgo/utxopsbt.d.ts",
3616
- "../../utxo-lib/dist/src/bitgo/utxotransaction.d.ts",
3617
3685
  "../../utxo-lib/dist/src/bitgo/zcash/zcashtransaction.d.ts",
3618
3686
  "../../utxo-lib/dist/src/index.d.ts",
3619
3687
  "../../utxo-lib/node_modules/@types/node/ts4.8/index.d.ts",
@@ -3643,10 +3711,12 @@
3643
3711
  "../../utxo-lib/dist/src/noble_ecc.d.ts",
3644
3712
  "../../utxo-lib/dist/src/payments/index.d.ts",
3645
3713
  "../../utxo-lib/dist/src/taproot.d.ts",
3714
+ "../../utxo-lib/dist/src/testutil/index.d.ts",
3646
3715
  "../../utxo-lib/dist/src/transaction_builder.d.ts",
3647
3716
  "../../utxo-lib/node_modules/bitcoinjs-lib/src/index.d.ts"
3648
3717
  ],
3649
3718
  "../../utxo-lib/dist/src/noble_ecc.d.ts": [
3719
+ "../../../node_modules/@brandonblack/musig/lib/index.d.ts",
3650
3720
  "../../../node_modules/bip32/types/index.d.ts",
3651
3721
  "../../../node_modules/ecpair/src/index.d.ts"
3652
3722
  ],
@@ -3662,6 +3732,21 @@
3662
3732
  ],
3663
3733
  "../../utxo-lib/dist/src/taproot.d.ts": [
3664
3734
  "../../../node_modules/bip174/src/lib/interfaces.d.ts",
3735
+ "../../utxo-lib/node_modules/@types/node/ts4.8/index.d.ts",
3736
+ "../../utxo-lib/node_modules/bitcoinjs-lib/src/index.d.ts"
3737
+ ],
3738
+ "../../utxo-lib/dist/src/testutil/index.d.ts": [
3739
+ "../../utxo-lib/dist/src/testutil/keys.d.ts",
3740
+ "../../utxo-lib/dist/src/testutil/mock.d.ts"
3741
+ ],
3742
+ "../../utxo-lib/dist/src/testutil/keys.d.ts": [
3743
+ "../../../node_modules/bip32/types/index.d.ts",
3744
+ "../../utxo-lib/dist/src/bitgo/index.d.ts"
3745
+ ],
3746
+ "../../utxo-lib/dist/src/testutil/mock.d.ts": [
3747
+ "../../../node_modules/bip32/types/index.d.ts",
3748
+ "../../utxo-lib/dist/src/bitgo/index.d.ts",
3749
+ "../../utxo-lib/dist/src/networks.d.ts",
3665
3750
  "../../utxo-lib/node_modules/@types/node/ts4.8/index.d.ts"
3666
3751
  ],
3667
3752
  "../../utxo-lib/dist/src/transaction_builder.d.ts": [
@@ -4610,6 +4695,9 @@
4610
4695
  "../../../node_modules/bip174/src/lib/interfaces.d.ts": [
4611
4696
  "../../../node_modules/@types/node/index.d.ts"
4612
4697
  ],
4698
+ "../../../node_modules/bip174/src/lib/proprietarykeyval.d.ts": [
4699
+ "../../../node_modules/@types/node/index.d.ts"
4700
+ ],
4613
4701
  "../../../node_modules/bip174/src/lib/psbt.d.ts": [
4614
4702
  "../../../node_modules/@types/node/index.d.ts",
4615
4703
  "../../../node_modules/bip174/src/lib/interfaces.d.ts"
@@ -4620,6 +4708,13 @@
4620
4708
  "../../../node_modules/bip32/types/index.d.ts": [
4621
4709
  "../../../node_modules/bip32/types/bip32.d.ts"
4622
4710
  ],
4711
+ "../../../node_modules/bitcoinjs-lib/node_modules/bip174/src/lib/interfaces.d.ts": [
4712
+ "../../../node_modules/@types/node/index.d.ts"
4713
+ ],
4714
+ "../../../node_modules/bitcoinjs-lib/node_modules/bip174/src/lib/psbt.d.ts": [
4715
+ "../../../node_modules/@types/node/index.d.ts",
4716
+ "../../../node_modules/bitcoinjs-lib/node_modules/bip174/src/lib/interfaces.d.ts"
4717
+ ],
4623
4718
  "../../../node_modules/bitcoinjs-lib/src/address.d.ts": [
4624
4719
  "../../../node_modules/@types/node/index.d.ts",
4625
4720
  "../../../node_modules/bitcoinjs-lib/src/networks.d.ts"
@@ -4649,7 +4744,7 @@
4649
4744
  ],
4650
4745
  "../../../node_modules/bitcoinjs-lib/src/payments/index.d.ts": [
4651
4746
  "../../../node_modules/@types/node/index.d.ts",
4652
- "../../../node_modules/bip174/src/lib/interfaces.d.ts",
4747
+ "../../../node_modules/bitcoinjs-lib/node_modules/bip174/src/lib/interfaces.d.ts",
4653
4748
  "../../../node_modules/bitcoinjs-lib/src/networks.d.ts",
4654
4749
  "../../../node_modules/bitcoinjs-lib/src/payments/embed.d.ts",
4655
4750
  "../../../node_modules/bitcoinjs-lib/src/payments/p2ms.d.ts",
@@ -4688,8 +4783,8 @@
4688
4783
  ],
4689
4784
  "../../../node_modules/bitcoinjs-lib/src/psbt.d.ts": [
4690
4785
  "../../../node_modules/@types/node/index.d.ts",
4691
- "../../../node_modules/bip174/src/lib/interfaces.d.ts",
4692
- "../../../node_modules/bip174/src/lib/psbt.d.ts",
4786
+ "../../../node_modules/bitcoinjs-lib/node_modules/bip174/src/lib/interfaces.d.ts",
4787
+ "../../../node_modules/bitcoinjs-lib/node_modules/bip174/src/lib/psbt.d.ts",
4693
4788
  "../../../node_modules/bitcoinjs-lib/src/networks.d.ts",
4694
4789
  "../../../node_modules/bitcoinjs-lib/src/transaction.d.ts"
4695
4790
  ],
@@ -4708,7 +4803,7 @@
4708
4803
  ],
4709
4804
  "../../../node_modules/bitcoinjs-lib/src/taproot.d.ts": [
4710
4805
  "../../../node_modules/@types/node/index.d.ts",
4711
- "../../../node_modules/bip174/src/lib/interfaces.d.ts",
4806
+ "../../../node_modules/bitcoinjs-lib/node_modules/bip174/src/lib/interfaces.d.ts",
4712
4807
  "../../../node_modules/bitcoinjs-lib/src/types.d.ts"
4713
4808
  ],
4714
4809
  "../../../node_modules/bitcoinjs-lib/src/transaction.d.ts": [
@@ -4797,6 +4892,9 @@
4797
4892
  "../../utxo-lib/dist/src/payments/p2tr.d.ts",
4798
4893
  "../../utxo-lib/dist/src/payments/p2tr_ns.d.ts",
4799
4894
  "../../utxo-lib/dist/src/taproot.d.ts",
4895
+ "../../utxo-lib/dist/src/testutil/index.d.ts",
4896
+ "../../utxo-lib/dist/src/testutil/keys.d.ts",
4897
+ "../../utxo-lib/dist/src/testutil/mock.d.ts",
4800
4898
  "../../utxo-lib/dist/src/transaction_builder.d.ts",
4801
4899
  "../../utxo-lib/node_modules/bitcoinjs-lib/src/address.d.ts",
4802
4900
  "../../utxo-lib/node_modules/bitcoinjs-lib/src/block.d.ts",
@@ -4822,6 +4920,7 @@
4822
4920
  "../../utxo-lib/node_modules/bitcoinjs-lib/src/taproot.d.ts",
4823
4921
  "../../utxo-lib/node_modules/bitcoinjs-lib/src/transaction.d.ts",
4824
4922
  "../../utxo-lib/node_modules/bitcoinjs-lib/src/types.d.ts",
4923
+ "../../../node_modules/@brandonblack/musig/lib/index.d.ts",
4825
4924
  "../../../node_modules/@types/archy/index.d.ts",
4826
4925
  "../../../node_modules/@types/argparse/index.d.ts",
4827
4926
  "../../../node_modules/@types/aria-query/index.d.ts",
@@ -5026,9 +5125,12 @@
5026
5125
  "../../../node_modules/base-x/src/index.d.ts",
5027
5126
  "../../../node_modules/bech32/dist/index.d.ts",
5028
5127
  "../../../node_modules/bip174/src/lib/interfaces.d.ts",
5128
+ "../../../node_modules/bip174/src/lib/proprietarykeyval.d.ts",
5029
5129
  "../../../node_modules/bip174/src/lib/psbt.d.ts",
5030
5130
  "../../../node_modules/bip32/types/bip32.d.ts",
5031
5131
  "../../../node_modules/bip32/types/index.d.ts",
5132
+ "../../../node_modules/bitcoinjs-lib/node_modules/bip174/src/lib/interfaces.d.ts",
5133
+ "../../../node_modules/bitcoinjs-lib/node_modules/bip174/src/lib/psbt.d.ts",
5032
5134
  "../../../node_modules/bitcoinjs-lib/src/address.d.ts",
5033
5135
  "../../../node_modules/bitcoinjs-lib/src/block.d.ts",
5034
5136
  "../../../node_modules/bitcoinjs-lib/src/crypto.d.ts",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bitgo/utxo-bin",
3
3
  "description": "Command-line utility for BitGo UTXO transactions",
4
- "version": "2.7.4",
4
+ "version": "2.8.0",
5
5
  "files": [
6
6
  "dist/**/*"
7
7
  ],
@@ -26,9 +26,9 @@
26
26
  },
27
27
  "bin": "./dist/bin/index.js",
28
28
  "dependencies": {
29
- "@bitgo/blockapis": "^1.6.0",
30
- "@bitgo/statics": "^14.4.0",
31
- "@bitgo/utxo-lib": "^7.7.0",
29
+ "@bitgo/blockapis": "^1.6.1",
30
+ "@bitgo/statics": "^15.0.0",
31
+ "@bitgo/utxo-lib": "^8.0.0",
32
32
  "archy": "^1.0.0",
33
33
  "bech32": "^2.0.0",
34
34
  "bitcoinjs-lib": "npm:@bitgo-forks/bitcoinjs-lib@7.1.0-master.2",
@@ -54,5 +54,5 @@
54
54
  "access": "public"
55
55
  },
56
56
  "license": "MIT",
57
- "gitHead": "fa5d7a66fc7d85bb66f1642850c8c5a96e809393"
57
+ "gitHead": "fdabb43f7200612031c99fe4b8695c98d40c3cf7"
58
58
  }