@bitgo-beta/utxo-staking 1.1.1-beta.251 → 1.1.1-beta.252

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.
@@ -12,6 +12,13 @@ export type ValueWithTypeUrl<T> = {
12
12
  export declare function getSignedPsbt(psbt: bitcoinjslib.Psbt, descriptor: Descriptor, signers: utxolib.ECPairInterface[], { finalize }: {
13
13
  finalize?: boolean | undefined;
14
14
  }): bitcoinjslib.Psbt;
15
+ /**
16
+ * Utility method to work around a bug in btc-staking-ts
17
+ * https://github.com/babylonlabs-io/btc-staking-ts/issues/71
18
+ * @param buffer
19
+ * @param network
20
+ */
21
+ export declare function forceFinalizePsbt(buffer: Buffer, network: BabylonNetworkLike): bitcoinjslib.Psbt;
15
22
  export declare function getBtcProviderForECKey(descriptorBuilder: BabylonDescriptorBuilder, stakerKey: utxolib.ECPairInterface): vendor.BtcProvider;
16
23
  type Result = {
17
24
  unsignedDelegationMsg: ValueWithTypeUrl<babylonProtobuf.btcstakingtx.MsgCreateBTCDelegation>;
@@ -1 +1 @@
1
- {"version":3,"file":"delegationMessage.d.ts","sourceRoot":"","sources":["../../../src/babylon/delegationMessage.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,2CAA2C,CAAC;AACpE,OAAO,KAAK,eAAe,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAsB,MAAM,WAAW,CAAC;AAEnE,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAEhE,wBAAgB,aAAa,CAC3B,IAAI,EAAE,YAAY,CAAC,IAAI,EACvB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,CAAC,eAAe,EAAE,EAClC,EAAE,QAAgB,EAAE;;CAAA,GACnB,YAAY,CAAC,IAAI,CAmBnB;AAED,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,wBAAwB,EAC3C,SAAS,EAAE,OAAO,CAAC,eAAe,GACjC,MAAM,CAAC,WAAW,CAkCpB;AAED,KAAK,MAAM,GAAG;IACZ,qBAAqB,EAAE,gBAAgB,CAAC,eAAe,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;IAC7F,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,OAAO,CAAC,eAAe,GAAG,MAAM,GAAG,MAAM,EACrD,aAAa,EAAE,MAAM,GACpB,MAAM,CAAC,UAAU,CAWnB;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,CAAC,UAAU,EAChC,YAAY,EAAE,MAAM,CAAC,aAAa,EAClC,eAAe,GAAE,MAAM,CAAC,sBAAsB,EAA8B,GAC3E,MAAM,CAAC,OAAO,CAehB;AAED,KAAK,eAAe,GAChB,YAAY,CAAC,IAAI,GACjB,YAAY,CAAC,WAAW,GACxB,OAAO,CAAC,WAAW,GACnB,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,GAC9C,OAAO,CAAC,IAAI,GACZ,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;AAe3B,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,eAAe,GAAG,YAAY,CAAC,WAAW,CAKlF;AAQD,wBAAsB,sCAAsC,CAC1D,OAAO,EAAE,MAAM,CAAC,wBAAwB,EACxC,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,eAAe,EAC5B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAiBhF;AAED,wBAAsB,mEAAmE,CACvF,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,OAAO,EAAE,YAAY,CAAC,OAAO,EAC7B,aAAa,EAAE,MAAM,CAAC,UAAU,EAChC,YAAY,EAAE,MAAM,CAAC,aAAa,EAClC,mBAAmB,EAAE,MAAM,EAC3B,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,EACzB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,aAAa,GAAE,MAAM,CAAC,sBAAsB,EAA8B,GACzE,OAAO,CAAC,MAAM,CAAC,CAgBjB"}
1
+ {"version":3,"file":"delegationMessage.d.ts","sourceRoot":"","sources":["../../../src/babylon/delegationMessage.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,2CAA2C,CAAC;AACpE,OAAO,KAAK,eAAe,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAsB,MAAM,WAAW,CAAC;AAEnE,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAEhE,wBAAgB,aAAa,CAC3B,IAAI,EAAE,YAAY,CAAC,IAAI,EACvB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,CAAC,eAAe,EAAE,EAClC,EAAE,QAAgB,EAAE;;CAAA,GACnB,YAAY,CAAC,IAAI,CAmBnB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,YAAY,CAAC,IAAI,CAKhG;AAED,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,wBAAwB,EAC3C,SAAS,EAAE,OAAO,CAAC,eAAe,GACjC,MAAM,CAAC,WAAW,CAkCpB;AAED,KAAK,MAAM,GAAG;IACZ,qBAAqB,EAAE,gBAAgB,CAAC,eAAe,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;IAC7F,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,OAAO,CAAC,eAAe,GAAG,MAAM,GAAG,MAAM,EACrD,aAAa,EAAE,MAAM,GACpB,MAAM,CAAC,UAAU,CAWnB;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,CAAC,UAAU,EAChC,YAAY,EAAE,MAAM,CAAC,aAAa,EAClC,eAAe,GAAE,MAAM,CAAC,sBAAsB,EAA8B,GAC3E,MAAM,CAAC,OAAO,CAehB;AAED,KAAK,eAAe,GAChB,YAAY,CAAC,IAAI,GACjB,YAAY,CAAC,WAAW,GACxB,OAAO,CAAC,WAAW,GACnB,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,GAC9C,OAAO,CAAC,IAAI,GACZ,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;AAe3B,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,eAAe,GAAG,YAAY,CAAC,WAAW,CAKlF;AAQD,wBAAsB,sCAAsC,CAC1D,OAAO,EAAE,MAAM,CAAC,wBAAwB,EACxC,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,eAAe,EAC5B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAiBhF;AAED,wBAAsB,mEAAmE,CACvF,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,OAAO,EAAE,YAAY,CAAC,OAAO,EAC7B,aAAa,EAAE,MAAM,CAAC,UAAU,EAChC,YAAY,EAAE,MAAM,CAAC,aAAa,EAClC,mBAAmB,EAAE,MAAM,EAC3B,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,EACzB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,aAAa,GAAE,MAAM,CAAC,sBAAsB,EAA8B,GACzE,OAAO,CAAC,MAAM,CAAC,CAgBjB"}
@@ -37,6 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.getSignedPsbt = getSignedPsbt;
40
+ exports.forceFinalizePsbt = forceFinalizePsbt;
40
41
  exports.getBtcProviderForECKey = getBtcProviderForECKey;
41
42
  exports.toStakerInfo = toStakerInfo;
42
43
  exports.createStaking = createStaking;
@@ -75,6 +76,18 @@ function getSignedPsbt(psbt, descriptor, signers, { finalize = false }) {
75
76
  }
76
77
  return bitcoinjslib.Psbt.fromBuffer(Buffer.from(wrappedPsbt.serialize()));
77
78
  }
79
+ /**
80
+ * Utility method to work around a bug in btc-staking-ts
81
+ * https://github.com/babylonlabs-io/btc-staking-ts/issues/71
82
+ * @param buffer
83
+ * @param network
84
+ */
85
+ function forceFinalizePsbt(buffer, network) {
86
+ const psbt = bitcoinjslib.Psbt.fromBuffer(buffer, { network: (0, network_1.toBitcoinJsNetwork)(network) });
87
+ // this only works with certain bitcoinjslib versions
88
+ psbt.finalizeAllInputs();
89
+ return psbt;
90
+ }
78
91
  function getBtcProviderForECKey(descriptorBuilder, stakerKey) {
79
92
  function signWithDescriptor(psbt, descriptor, key) {
80
93
  psbt = getSignedPsbt(psbt, descriptor, [key], { finalize: false });
@@ -173,4 +186,4 @@ async function createUnsignedPreStakeRegistrationBabylonTransactionWithBtcProvid
173
186
  const unsignedDelegationMsg = await createDelegationMessageWithTransaction(manager, staking, stakingInput.stakingAmountSat, transaction, babylonAddress);
174
187
  return { unsignedDelegationMsg, stakingTx: transaction };
175
188
  }
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGlvbk1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFieWxvbi9kZWxlZ2F0aW9uTWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQSxzQ0F3QkM7QUFFRCx3REFxQ0M7QUFXRCxvQ0FjQztBQUVELHNDQXFCQztBQXVCRCxvREFLQztBQVFELHdGQXVCQztBQUVELGtKQTBCQztBQTFORDs7R0FFRztBQUNILG9EQUE0QjtBQUU1QixrRkFBb0U7QUFFcEUsNERBQThDO0FBQzlDLDhEQUFnRDtBQUVoRCxxREFBeUQ7QUFDekQsaUVBQWlFO0FBR2pFLHFEQUF3RDtBQUN4RCxtREFBbUQ7QUFDbkQsdUNBQW1FO0FBSW5FLFNBQWdCLGFBQWEsQ0FDM0IsSUFBdUIsRUFDdkIsVUFBc0IsRUFDdEIsT0FBa0MsRUFDbEMsRUFBRSxRQUFRLEdBQUcsS0FBSyxFQUFFO0lBRXBCLE1BQU0sV0FBVyxHQUFHLElBQUEsMEJBQWEsRUFBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNuRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDekQsSUFBQSxnQkFBTSxFQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxQixJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUM1RSxXQUFXLENBQUMseUJBQXlCLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFB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QUEsZ0NBQWdCLEVBQUMsT0FBTyxDQUFDO0lBRTFFLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLElBQUEscUNBQW9CLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUMxRSxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDeEcsc0NBQXNDO0lBQ3RDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxPQUFPLENBQUMsd0JBQXdCLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNqSCxNQUFNLHFCQUFxQixHQUFHLE1BQU0sc0NBQXNDLENBQ3hFLE9BQU8sRUFDUCxPQUFPLEVBQ1AsWUFBWSxDQUFDLGdCQUFnQixFQUM3QixXQUFXLEVBQ1gsY0FBYyxDQUNmLENBQUM7SUFDRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDO0FBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9iYWJ5bG9ubGFicy1pby9iYWJ5bG9uL2Jsb2IvdjEuOTkuMC1zbmFwc2hvdC4yNTAyMTEveC9idGNzdGFraW5nL3R5cGVzL3ZhbGlkYXRlX3BhcnNlZF9tZXNzYWdlLmdvXG4gKi9cbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0ICogYXMgdmVuZG9yIGZyb20gJ0BiaXRnby1iZXRhL2JhYnlsb25sYWJzLWlvLWJ0Yy1zdGFraW5nLXRzJztcbmltcG9ydCAqIGFzIGJhYnlsb25Qcm90b2J1ZiBmcm9tICdAYmFieWxvbmxhYnMtaW8vYmFieWxvbi1wcm90by10cyc7XG5pbXBvcnQgKiBhcyBiaXRjb2luanNsaWIgZnJvbSAnYml0Y29pbmpzLWxpYic7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IERlc2NyaXB0b3IgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcbmltcG9ydCB7IHRvWE9ubHlQdWJsaWNLZXkgfSBmcm9tICdAYml0Z28tYmV0YS91dHhvLWNvcmUnO1xuaW1wb3J0IHsgdG9XcmFwcGVkUHNidCB9IGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tY29yZS9kZXNjcmlwdG9yJztcblxuaW1wb3J0IHsgQmFieWxvbkRlc2NyaXB0b3JCdWlsZGVyIH0gZnJvbSAnLi9kZXNjcmlwdG9yJztcbmltcG9ydCB7IGNyZWF0ZVN0YWtpbmdNYW5hZ2VyIH0gZnJvbSAnLi9zdGFraW5nTWFuYWdlcic7XG5pbXBvcnQgeyBnZXRTdGFraW5nUGFyYW1zIH0gZnJvbSAnLi9zdGFraW5nUGFyYW1zJztcbmltcG9ydCB7IEJhYnlsb25OZXR3b3JrTGlrZSwgdG9CaXRjb2luSnNOZXR3b3JrIH0gZnJvbSAnLi9uZXR3b3JrJztcblxuZXhwb3J0IHR5cGUgVmFsdWVXaXRoVHlwZVVybDxUPiA9IHsgdHlwZVVybDogc3RyaW5nOyB2YWx1ZTogVCB9O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2lnbmVkUHNidChcbiAgcHNidDogYml0Y29pbmpzbGliLlBzYnQsXG4gIGRlc2NyaXB0b3I6IERlc2NyaXB0b3IsXG4gIHNpZ25lcnM6IHV0eG9saWIuRUNQYWlySW50ZXJmYWNlW10sXG4gIHsgZmluYWxpemUgPSBmYWxzZSB9XG4pOiBiaXRjb2luanNsaWIuUHNidCB7XG4gIGNvbnN0IHdyYXBwZWRQc2J0ID0gdG9XcmFwcGVkUHNidChwc2J0LnRvQnVmZmVyKCkpO1xuICBjb25zdCBzaWduZWRJbnB1dHMgPSBwc2J0LmRhdGEuaW5wdXRzLmZsYXRNYXAoKGlucHV0LCBpKSA9PiB7XG4gICAgYXNzZXJ0KGlucHV0LndpdG5lc3NVdHhvKTtcbiAgICBpZiAoQnVmZmVyLmZyb20oZGVzY3JpcHRvci5zY3JpcHRQdWJrZXkoKSkuZXF1YWxzKGlucHV0LndpdG5lc3NVdHhvLnNjcmlwdCkpIHtcbiAgICAgIHdyYXBwZWRQc2J0LnVwZGF0ZUlucHV0V2l0aERlc2NyaXB0b3IoaSwgZGVzY3JpcHRvcik7XG4gICAgICBjb25zdCBzaWduUmVzdWx0cyA9IHNpZ25lcnMubWFwKChzaWduZXIpID0+IHtcbiAgICAgICAgYXNzZXJ0KHNpZ25lci5wcml2YXRlS2V5KTtcbiAgICAgICAgcmV0dXJuIHdyYXBwZWRQc2J0LnNpZ25XaXRoUHJ2KHNpZ25lci5wcml2YXRlS2V5KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIFtbaSwgc2lnblJlc3VsdHNdXTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9KTtcbiAgYXNzZXJ0KHNpZ25lZElucHV0cy5sZW5ndGggPiAwKTtcbiAgaWYgKGZpbmFsaXplKSB7XG4gICAgd3JhcHBlZFBzYnQuZmluYWxpemUoKTtcbiAgfVxuICByZXR1cm4gYml0Y29pbmpzbGliLlBzYnQuZnJvbUJ1ZmZlcihCdWZmZXIuZnJvbSh3cmFwcGVkUHNidC5zZXJpYWxpemUoKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnRjUHJvdmlkZXJGb3JFQ0tleShcbiAgZGVzY3JpcHRvckJ1aWxkZXI6IEJhYnlsb25EZXNjcmlwdG9yQnVpbGRlcixcbiAgc3Rha2VyS2V5OiB1dHhvbGliLkVDUGFpckludGVyZmFjZVxuKTogdmVuZG9yLkJ0Y1Byb3ZpZGVyIHtcbiAgZnVuY3Rpb24gc2lnbldpdGhEZXNjcmlwdG9yKFxuICAgIHBzYnQ6IGJpdGNvaW5qc2xpYi5Qc2J0LFxuICAgIGRlc2NyaXB0b3I6IERlc2NyaXB0b3IsXG4gICAga2V5OiB1dHhvbGliLkVDUGFpckludGVyZmFjZVxuICApOiBiaXRjb2luanNsaWIuUHNidCB7XG4gICAgcHNidCA9IGdldFNpZ25lZFBzYnQocHNidCwgZGVzY3JpcHRvciwgW2tleV0sIHsgZmluYWxpemU6IGZhbHNlIH0pO1xuICAgIC8vIEJVRzogd2UgbmVlZCB0byBibGluZGx5IGZpbmFsaXplIGhlcmUgZXZlbiB0aG91Z2ggd2UgaGF2ZSBub3QgZnVsbHkgc2lnbmVkXG4gICAgcHNidC5maW5hbGl6ZUFsbElucHV0cygpO1xuICAgIHJldHVybiBwc2J0O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBhc3luYyBzaWduTWVzc2FnZShzaWduaW5nU3RlcDogdmVuZG9yLlNpZ25pbmdTdGVwLCBtZXNzYWdlOiBzdHJpbmcsIHR5cGU6ICdlY2RzYScpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgYXNzZXJ0KHR5cGUgPT09ICdlY2RzYScpO1xuICAgICAgc3dpdGNoIChzaWduaW5nU3RlcCkge1xuICAgICAgICBjYXNlICdwcm9vZi1vZi1wb3NzZXNzaW9uJzpcbiAgICAgICAgICByZXR1cm4gc3Rha2VyS2V5LnNpZ24oQnVmZmVyLmZyb20obWVzc2FnZSwgJ2hleCcpKS50b1N0cmluZygnaGV4Jyk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB1bmV4cGVjdGVkIHNpZ25pbmcgc3RlcDogJHtzaWduaW5nU3RlcH1gKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGFzeW5jIHNpZ25Qc2J0KHNpZ25pbmdTdGVwOiB2ZW5kb3IuU2lnbmluZ1N0ZXAsIHBzYnRIZXg6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICBjb25zdCBwc2J0ID0gYml0Y29pbmpzbGliLlBzYnQuZnJvbUhleChwc2J0SGV4KTtcbiAgICAgIHN3aXRjaCAoc2lnbmluZ1N0ZXApIHtcbiAgICAgICAgY2FzZSAnc3Rha2luZy1zbGFzaGluZyc6XG4gICAgICAgICAgcmV0dXJuIHNpZ25XaXRoRGVzY3JpcHRvcihwc2J0LCBkZXNjcmlwdG9yQnVpbGRlci5nZXRTdGFraW5nRGVzY3JpcHRvcigpLCBzdGFrZXJLZXkpLnRvSGV4KCk7XG4gICAgICAgIGNhc2UgJ3VuYm9uZGluZy1zbGFzaGluZyc6XG4gICAgICAgICAgcmV0dXJuIHNpZ25XaXRoRGVzY3JpcHRvcihwc2J0LCBkZXNjcmlwdG9yQnVpbGRlci5nZXRVbmJvbmRpbmdEZXNjcmlwdG9yKCksIHN0YWtlcktleSkudG9IZXgoKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHVuZXhwZWN0ZWQgc2lnbmluZyBzdGVwOiAke3NpZ25pbmdTdGVwfWApO1xuICAgICAgfVxuICAgIH0sXG4gIH07XG59XG5cbnR5cGUgUmVzdWx0ID0ge1xuICB1bnNpZ25lZERlbGVnYXRpb25Nc2c6IFZhbHVlV2l0aFR5cGVVcmw8YmFieWxvblByb3RvYnVmLmJ0Y3N0YWtpbmd0eC5Nc2dDcmVhdGVCVENEZWxlZ2F0aW9uPjtcbiAgc3Rha2luZ1R4OiBiaXRjb2luanNsaWIuVHJhbnNhY3Rpb247XG59O1xuXG4vKipcbiAqIEBwYXJhbSBzdGFraW5nS2V5IC0gdGhpcyBpcyB0aGUgc2luZ2xlLXNpZyBrZXkgdGhhdCBpcyB1c2VkIGZvciBjby1zaWduaW5nIHRoZSBzdGFraW5nIG91dHB1dFxuICogQHBhcmFtIGNoYW5nZUFkZHJlc3MgLSB0aGlzIGlzIHVucmVsYXRlZCB0byB0aGUgc3Rha2luZyBrZXkgYW5kIGlzIHVzZWQgZm9yIHRoZSBjaGFuZ2Ugb3V0cHV0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1N0YWtlckluZm8oXG4gIHN0YWtpbmdLZXk6IHV0eG9saWIuRUNQYWlySW50ZXJmYWNlIHwgQnVmZmVyIHwgc3RyaW5nLFxuICBjaGFuZ2VBZGRyZXNzOiBzdHJpbmdcbik6IHZlbmRvci5TdGFrZXJJbmZvIHtcbiAgaWYgKHR5cGVvZiBzdGFraW5nS2V5ID09PSAnb2JqZWN0JyAmJiAncHVibGljS2V5JyBpbiBzdGFraW5nS2V5KSB7XG4gICAgc3Rha2luZ0tleSA9IHN0YWtpbmdLZXkucHVibGljS2V5O1xuICB9XG4gIGlmICh0eXBlb2Ygc3Rha2luZ0tleSA9PT0gJ3N0cmluZycpIHtcbiAgICBzdGFraW5nS2V5ID0gQnVmZmVyLmZyb20oc3Rha2luZ0tleSwgJ2hleCcpO1xuICB9XG4gIHJldHVybiB7XG4gICAgcHVibGljS2V5Tm9Db29yZEhleDogdG9YT25seVB1YmxpY0tleShzdGFraW5nS2V5KS50b1N0cmluZygnaGV4JyksXG4gICAgYWRkcmVzczogY2hhbmdlQWRkcmVzcyxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVN0YWtpbmcoXG4gIG5ldHdvcms6IEJhYnlsb25OZXR3b3JrTGlrZSxcbiAgYmxvY2tIZWlnaHQ6IG51bWJlcixcbiAgc3Rha2VyQnRjSW5mbzogdmVuZG9yLlN0YWtlckluZm8sXG4gIHN0YWtpbmdJbnB1dDogdmVuZG9yLlN0YWtpbmdJbnB1dHMsXG4gIHZlcnNpb25lZFBhcmFtczogdmVuZG9yLlZlcnNpb25lZFN0YWtpbmdQYXJhbXNbXSA9IGdldFN0YWtpbmdQYXJhbXMobmV0d29yaylcbik6IHZlbmRvci5TdGFraW5nIHtcbiAgaWYgKGJsb2NrSGVpZ2h0ID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdCYWJ5bG9uIEJUQyB0aXAgaGVpZ2h0IGNhbm5vdCBiZSAwJyk7XG4gIH1cblxuICAvLyBHZXQgdGhlIEJhYnlsb24gcGFyYW1zIGJhc2VkIG9uIHRoZSBCVEMgdGlwIGhlaWdodCBmcm9tIEJhYnlsb24gY2hhaW5cbiAgY29uc3QgcGFyYW1zID0gdmVuZG9yLmdldEJhYnlsb25QYXJhbUJ5QnRjSGVpZ2h0KGJsb2NrSGVpZ2h0LCB2ZXJzaW9uZWRQYXJhbXMpO1xuXG4gIHJldHVybiBuZXcgdmVuZG9yLlN0YWtpbmcoXG4gICAgdG9CaXRjb2luSnNOZXR3b3JrKG5ldHdvcmspLFxuICAgIHN0YWtlckJ0Y0luZm8sXG4gICAgcGFyYW1zLFxuICAgIHN0YWtpbmdJbnB1dC5maW5hbGl0eVByb3ZpZGVyUGtOb0Nvb3JkSGV4LFxuICAgIHN0YWtpbmdJbnB1dC5zdGFraW5nVGltZWxvY2tcbiAgKTtcbn1cblxudHlwZSBUcmFuc2FjdGlvbkxpa2UgPVxuICB8IGJpdGNvaW5qc2xpYi5Qc2J0XG4gIHwgYml0Y29pbmpzbGliLlRyYW5zYWN0aW9uXG4gIHwgdXR4b2xpYi5UcmFuc2FjdGlvblxuICB8IHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uPGJpZ2ludCB8IG51bWJlcj5cbiAgfCB1dHhvbGliLlBzYnRcbiAgfCB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0O1xuXG5mdW5jdGlvbiB0b1N0YWtpbmdUcmFuc2FjdGlvbkZyb21Qc2J0KFxuICBwc2J0OiBiaXRjb2luanNsaWIuUHNidCB8IHV0eG9saWIuUHNidCB8IHV0eG9saWIuYml0Z28uVXR4b1BzYnRcbik6IGJpdGNvaW5qc2xpYi5UcmFuc2FjdGlvbiB7XG4gIGlmICghKHBzYnQgaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0KSkge1xuICAgIHBzYnQgPSB1dHhvbGliLmJpdGdvLmNyZWF0ZVBzYnRGcm9tQnVmZmVyKHBzYnQudG9CdWZmZXIoKSwgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luKTtcbiAgfVxuICBpZiAocHNidCBpbnN0YW5jZW9mIHV0eG9saWIuYml0Z28uVXR4b1BzYnQpIHtcbiAgICAvLyBvbmx5IHV0eG9saWIuYml0Z28uVXR4b1BzYnQgaGFzIHRoZSBnZXRVbnNpZ25lZFR4IG1ldGhvZFxuICAgIHJldHVybiBiaXRjb2luanNsaWIuVHJhbnNhY3Rpb24uZnJvbUhleChwc2J0LmdldFVuc2lnbmVkVHgoKS50b0hleCgpKTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ2lsbGVnYWwgc3RhdGUnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvU3Rha2luZ1RyYW5zYWN0aW9uKHR4OiBUcmFuc2FjdGlvbkxpa2UpOiBiaXRjb2luanNsaWIuVHJhbnNhY3Rpb24ge1xuICBpZiAodHggaW5zdGFuY2VvZiBiaXRjb2luanNsaWIuUHNidCB8fCB0eCBpbnN0YW5jZW9mIHV0eG9saWIuUHNidCkge1xuICAgIHJldHVybiB0b1N0YWtpbmdUcmFuc2FjdGlvbkZyb21Qc2J0KHR4KTtcbiAgfVxuICByZXR1cm4gYml0Y29pbmpzbGliLlRyYW5zYWN0aW9uLmZyb21IZXgodHgudG9IZXgoKSk7XG59XG5cbi8qXG4gKiBUaGlzIGlzIG1vc3RseSBsaWZ0ZWQgZnJvbVxuICogaHR0cHM6Ly9naXRodWIuY29tL2JhYnlsb25sYWJzLWlvL2J0Yy1zdGFraW5nLXRzL2Jsb2IvdjAuNC4wLXJjLjIvc3JjL3N0YWtpbmcvbWFuYWdlci50cyNMMTAwLUwxNzJcbiAqXG4gKiBUaGUgZGlmZmVyZW5jZSBpcyB0aGF0IGhlcmUgd2UgYXJlIHJldHVybmluZyBhbiBfdW5zaWduZWRfIGRlbGVnYXRpb24gbWVzc2FnZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZURlbGVnYXRpb25NZXNzYWdlV2l0aFRyYW5zYWN0aW9uKFxuICBtYW5hZ2VyOiB2ZW5kb3IuQmFieWxvbkJ0Y1N0YWtpbmdNYW5hZ2VyLFxuICBzdGFraW5nOiB2ZW5kb3IuU3Rha2luZyxcbiAgc3Rha2luZ0Ftb3VudFNhdDogbnVtYmVyLFxuICB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25MaWtlLFxuICBiYWJ5bG9uQWRkcmVzczogc3RyaW5nXG4pOiBQcm9taXNlPFZhbHVlV2l0aFR5cGVVcmw8YmFieWxvblByb3RvYnVmLmJ0Y3N0YWtpbmd0eC5Nc2dDcmVhdGVCVENEZWxlZ2F0aW9uPj4ge1xuICBpZiAoIXZlbmRvci5pc1ZhbGlkQmFieWxvbkFkZHJlc3MoYmFieWxvbkFkZHJlc3MpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIEJhYnlsb24gYWRkcmVzcycpO1xuICB9XG4gIC8vIENyZWF0ZSBkZWxlZ2F0aW9uIG1lc3NhZ2Ugd2l0aG91dCBpbmNsdWRpbmcgaW5jbHVzaW9uIHByb29mXG4gIHJldHVybiBtYW5hZ2VyLmNyZWF0ZUJ0Y0RlbGVnYXRpb25Nc2coXG4gICAgc3Rha2luZyxcbiAgICB7XG4gICAgICBzdGFraW5nVGltZWxvY2s6IHN0YWtpbmcuc3Rha2luZ1RpbWVsb2NrLFxuICAgICAgZmluYWxpdHlQcm92aWRlclBrTm9Db29yZEhleDogc3Rha2luZy5maW5hbGl0eVByb3ZpZGVyUGtOb0Nvb3JkSGV4LFxuICAgICAgc3Rha2luZ0Ftb3VudFNhdCxcbiAgICB9LFxuICAgIHRvU3Rha2luZ1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uKSxcbiAgICBiYWJ5bG9uQWRkcmVzcyxcbiAgICBzdGFraW5nLnN0YWtlckluZm8sXG4gICAgc3Rha2luZy5wYXJhbXNcbiAgKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVVuc2lnbmVkUHJlU3Rha2VSZWdpc3RyYXRpb25CYWJ5bG9uVHJhbnNhY3Rpb25XaXRoQnRjUHJvdmlkZXIoXG4gIGJ0Y1Byb3ZpZGVyOiB2ZW5kb3IuQnRjUHJvdmlkZXIsXG4gIG5ldHdvcms6IGJpdGNvaW5qc2xpYi5OZXR3b3JrLFxuICBzdGFrZXJCdGNJbmZvOiB2ZW5kb3IuU3Rha2VySW5mbyxcbiAgc3Rha2luZ0lucHV0OiB2ZW5kb3IuU3Rha2luZ0lucHV0cyxcbiAgYmFieWxvbkJ0Y1RpcEhlaWdodDogbnVtYmVyLFxuICBpbnB1dFVUWE9zOiB2ZW5kb3IuVVRYT1tdLFxuICBmZWVSYXRlU2F0QjogbnVtYmVyLFxuICBiYWJ5bG9uQWRkcmVzczogc3RyaW5nLFxuICBzdGFraW5nUGFyYW1zOiB2ZW5kb3IuVmVyc2lvbmVkU3Rha2luZ1BhcmFtc1tdID0gZ2V0U3Rha2luZ1BhcmFtcyhuZXR3b3JrKVxuKTogUHJvbWlzZTxSZXN1bHQ+IHtcbiAgaWYgKGlucHV0VVRYT3MubGVuZ3RoID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdObyBpbnB1dCBVVFhPcyBwcm92aWRlZCcpO1xuICB9XG4gIGNvbnN0IG1hbmFnZXIgPSBjcmVhdGVTdGFraW5nTWFuYWdlcihuZXR3b3JrLCBidGNQcm92aWRlciwgc3Rha2luZ1BhcmFtcyk7XG4gIGNvbnN0IHN0YWtpbmcgPSBjcmVhdGVTdGFraW5nKG5ldHdvcmssIGJhYnlsb25CdGNUaXBIZWlnaHQsIHN0YWtlckJ0Y0luZm8sIHN0YWtpbmdJbnB1dCwgc3Rha2luZ1BhcmFtcyk7XG4gIC8vIENyZWF0ZSB1bnNpZ25lZCBzdGFraW5nIHRyYW5zYWN0aW9uXG4gIGNvbnN0IHsgdHJhbnNhY3Rpb24gfSA9IHN0YWtpbmcuY3JlYXRlU3Rha2luZ1RyYW5zYWN0aW9uKHN0YWtpbmdJbnB1dC5zdGFraW5nQW1vdW50U2F0LCBpbnB1dFVUWE9zLCBmZWVSYXRlU2F0Qik7XG4gIGNvbnN0IHVuc2lnbmVkRGVsZWdhdGlvbk1zZyA9IGF3YWl0IGNyZWF0ZURlbGVnYXRpb25NZXNzYWdlV2l0aFRyYW5zYWN0aW9uKFxuICAgIG1hbmFnZXIsXG4gICAgc3Rha2luZyxcbiAgICBzdGFraW5nSW5wdXQuc3Rha2luZ0Ftb3VudFNhdCxcbiAgICB0cmFuc2FjdGlvbixcbiAgICBiYWJ5bG9uQWRkcmVzc1xuICApO1xuICByZXR1cm4geyB1bnNpZ25lZERlbGVnYXRpb25Nc2csIHN0YWtpbmdUeDogdHJhbnNhY3Rpb24gfTtcbn1cbiJdfQ==
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGlvbk1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFieWxvbi9kZWxlZ2F0aW9uTWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQSxzQ0F3QkM7QUFRRCw4Q0FLQztBQUVELHdEQXFDQztBQVdELG9DQWNDO0FBRUQsc0NBcUJDO0FBdUJELG9EQUtDO0FBUUQsd0ZBdUJDO0FBRUQsa0pBMEJDO0FBdk9EOztHQUVHO0FBQ0gsb0RBQTRCO0FBRTVCLGtGQUFvRTtBQUVwRSw0REFBOEM7QUFDOUMsOERBQWdEO0FBRWhELHFEQUF5RDtBQUN6RCxpRUFBaUU7QUFHakUscURBQXdEO0FBQ3hELG1EQUFtRDtBQUNuRCx1Q0FBbUU7QUFJbkUsU0FBZ0IsYUFBYSxDQUMzQixJQUF1QixFQUN2QixVQUFzQixFQUN0QixPQUFrQyxFQUNsQyxFQUFFLFFBQVEsR0FBRyxLQUFLLEVBQUU7SUFFcEIsTUFBTSxXQUFXLEdBQUcsSUFBQSwwQkFBYSxFQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUN6RCxJQUFBLGdCQUFNLEVBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFCLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzVFLFdBQVcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDckQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1B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NEJBQTRCO1FBQ2xFLGdCQUFnQjtLQUNqQixFQUNELG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxFQUNqQyxjQUFjLEVBQ2QsT0FBTyxDQUFDLFVBQVUsRUFDbEIsT0FBTyxDQUFDLE1BQU0sQ0FDZixDQUFDO0FBQ0osQ0FBQztBQUVNLEtBQUssVUFBVSxtRUFBbUUsQ0FDdkYsV0FBK0IsRUFDL0IsT0FBNkIsRUFDN0IsYUFBZ0MsRUFDaEMsWUFBa0MsRUFDbEMsbUJBQTJCLEVBQzNCLFVBQXlCLEVBQ3pCLFdBQW1CLEVBQ25CLGNBQXNCLEVBQ3RCLGdCQUFpRCxJQUFBLGdDQUFnQixFQUFDLE9BQU8sQ0FBQztJQUUxRSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFBLHFDQUFvQixFQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDMUUsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3hHLHNDQUFzQztJQUN0QyxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDLHdCQUF3QixDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDakgsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLHNDQUFzQyxDQUN4RSxPQUFPLEVBQ1AsT0FBTyxFQUNQLFlBQVksQ0FBQyxnQkFBZ0IsRUFDN0IsV0FBVyxFQUNYLGNBQWMsQ0FDZixDQUFDO0lBQ0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQztBQUMzRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBodHRwczovL2dpdGh1Yi5jb20vYmFieWxvbmxhYnMtaW8vYmFieWxvbi9ibG9iL3YxLjk5LjAtc25hcHNob3QuMjUwMjExL3gvYnRjc3Rha2luZy90eXBlcy92YWxpZGF0ZV9wYXJzZWRfbWVzc2FnZS5nb1xuICovXG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCAqIGFzIHZlbmRvciBmcm9tICdAYml0Z28tYmV0YS9iYWJ5bG9ubGFicy1pby1idGMtc3Rha2luZy10cyc7XG5pbXBvcnQgKiBhcyBiYWJ5bG9uUHJvdG9idWYgZnJvbSAnQGJhYnlsb25sYWJzLWlvL2JhYnlsb24tcHJvdG8tdHMnO1xuaW1wb3J0ICogYXMgYml0Y29pbmpzbGliIGZyb20gJ2JpdGNvaW5qcy1saWInO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyBEZXNjcmlwdG9yIH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5pbXBvcnQgeyB0b1hPbmx5UHVibGljS2V5IH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1jb3JlJztcbmltcG9ydCB7IHRvV3JhcHBlZFBzYnQgfSBmcm9tICdAYml0Z28tYmV0YS91dHhvLWNvcmUvZGVzY3JpcHRvcic7XG5cbmltcG9ydCB7IEJhYnlsb25EZXNjcmlwdG9yQnVpbGRlciB9IGZyb20gJy4vZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBjcmVhdGVTdGFraW5nTWFuYWdlciB9IGZyb20gJy4vc3Rha2luZ01hbmFnZXInO1xuaW1wb3J0IHsgZ2V0U3Rha2luZ1BhcmFtcyB9IGZyb20gJy4vc3Rha2luZ1BhcmFtcyc7XG5pbXBvcnQgeyBCYWJ5bG9uTmV0d29ya0xpa2UsIHRvQml0Y29pbkpzTmV0d29yayB9IGZyb20gJy4vbmV0d29yayc7XG5cbmV4cG9ydCB0eXBlIFZhbHVlV2l0aFR5cGVVcmw8VD4gPSB7IHR5cGVVcmw6IHN0cmluZzsgdmFsdWU6IFQgfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNpZ25lZFBzYnQoXG4gIHBzYnQ6IGJpdGNvaW5qc2xpYi5Qc2J0LFxuICBkZXNjcmlwdG9yOiBEZXNjcmlwdG9yLFxuICBzaWduZXJzOiB1dHhvbGliLkVDUGFpckludGVyZmFjZVtdLFxuICB7IGZpbmFsaXplID0gZmFsc2UgfVxuKTogYml0Y29pbmpzbGliLlBzYnQge1xuICBjb25zdCB3cmFwcGVkUHNidCA9IHRvV3JhcHBlZFBzYnQocHNidC50b0J1ZmZlcigpKTtcbiAgY29uc3Qgc2lnbmVkSW5wdXRzID0gcHNidC5kYXRhLmlucHV0cy5mbGF0TWFwKChpbnB1dCwgaSkgPT4ge1xuICAgIGFzc2VydChpbnB1dC53aXRuZXNzVXR4byk7XG4gICAgaWYgKEJ1ZmZlci5mcm9tKGRlc2NyaXB0b3Iuc2NyaXB0UHVia2V5KCkpLmVxdWFscyhpbnB1dC53aXRuZXNzVXR4by5zY3JpcHQpKSB7XG4gICAgICB3cmFwcGVkUHNidC51cGRhdGVJbnB1dFdpdGhEZXNjcmlwdG9yKGksIGRlc2NyaXB0b3IpO1xuICAgICAgY29uc3Qgc2lnblJlc3VsdHMgPSBzaWduZXJzLm1hcCgoc2lnbmVyKSA9PiB7XG4gICAgICAgIGFzc2VydChzaWduZXIucHJpdmF0ZUtleSk7XG4gICAgICAgIHJldHVybiB3cmFwcGVkUHNidC5zaWduV2l0aFBydihzaWduZXIucHJpdmF0ZUtleSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBbW2ksIHNpZ25SZXN1bHRzXV07XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfSk7XG4gIGFzc2VydChzaWduZWRJbnB1dHMubGVuZ3RoID4gMCk7XG4gIGlmIChmaW5hbGl6ZSkge1xuICAgIHdyYXBwZWRQc2J0LmZpbmFsaXplKCk7XG4gIH1cbiAgcmV0dXJuIGJpdGNvaW5qc2xpYi5Qc2J0LmZyb21CdWZmZXIoQnVmZmVyLmZyb20od3JhcHBlZFBzYnQuc2VyaWFsaXplKCkpKTtcbn1cblxuLyoqXG4gKiBVdGlsaXR5IG1ldGhvZCB0byB3b3JrIGFyb3VuZCBhIGJ1ZyBpbiBidGMtc3Rha2luZy10c1xuICogaHR0cHM6Ly9naXRodWIuY29tL2JhYnlsb25sYWJzLWlvL2J0Yy1zdGFraW5nLXRzL2lzc3Vlcy83MVxuICogQHBhcmFtIGJ1ZmZlclxuICogQHBhcmFtIG5ldHdvcmtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcmNlRmluYWxpemVQc2J0KGJ1ZmZlcjogQnVmZmVyLCBuZXR3b3JrOiBCYWJ5bG9uTmV0d29ya0xpa2UpOiBiaXRjb2luanNsaWIuUHNidCB7XG4gIGNvbnN0IHBzYnQgPSBiaXRjb2luanNsaWIuUHNidC5mcm9tQnVmZmVyKGJ1ZmZlciwgeyBuZXR3b3JrOiB0b0JpdGNvaW5Kc05ldHdvcmsobmV0d29yaykgfSk7XG4gIC8vIHRoaXMgb25seSB3b3JrcyB3aXRoIGNlcnRhaW4gYml0Y29pbmpzbGliIHZlcnNpb25zXG4gIHBzYnQuZmluYWxpemVBbGxJbnB1dHMoKTtcbiAgcmV0dXJuIHBzYnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCdGNQcm92aWRlckZvckVDS2V5KFxuICBkZXNjcmlwdG9yQnVpbGRlcjogQmFieWxvbkRlc2NyaXB0b3JCdWlsZGVyLFxuICBzdGFrZXJLZXk6IHV0eG9saWIuRUNQYWlySW50ZXJmYWNlXG4pOiB2ZW5kb3IuQnRjUHJvdmlkZXIge1xuICBmdW5jdGlvbiBzaWduV2l0aERlc2NyaXB0b3IoXG4gICAgcHNidDogYml0Y29pbmpzbGliLlBzYnQsXG4gICAgZGVzY3JpcHRvcjogRGVzY3JpcHRvcixcbiAgICBrZXk6IHV0eG9saWIuRUNQYWlySW50ZXJmYWNlXG4gICk6IGJpdGNvaW5qc2xpYi5Qc2J0IHtcbiAgICBwc2J0ID0gZ2V0U2lnbmVkUHNidChwc2J0LCBkZXNjcmlwdG9yLCBba2V5XSwgeyBmaW5hbGl6ZTogZmFsc2UgfSk7XG4gICAgLy8gQlVHOiB3ZSBuZWVkIHRvIGJsaW5kbHkgZmluYWxpemUgaGVyZSBldmVuIHRob3VnaCB3ZSBoYXZlIG5vdCBmdWxseSBzaWduZWRcbiAgICBwc2J0LmZpbmFsaXplQWxsSW5wdXRzKCk7XG4gICAgcmV0dXJuIHBzYnQ7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGFzeW5jIHNpZ25NZXNzYWdlKHNpZ25pbmdTdGVwOiB2ZW5kb3IuU2lnbmluZ1N0ZXAsIG1lc3NhZ2U6IHN0cmluZywgdHlwZTogJ2VjZHNhJyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICBhc3NlcnQodHlwZSA9PT0gJ2VjZHNhJyk7XG4gICAgICBzd2l0Y2ggKHNpZ25pbmdTdGVwKSB7XG4gICAgICAgIGNhc2UgJ3Byb29mLW9mLXBvc3Nlc3Npb24nOlxuICAgICAgICAgIHJldHVybiBzdGFrZXJLZXkuc2lnbihCdWZmZXIuZnJvbShtZXNzYWdlLCAnaGV4JykpLnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHVuZXhwZWN0ZWQgc2lnbmluZyBzdGVwOiAke3NpZ25pbmdTdGVwfWApO1xuICAgICAgfVxuICAgIH0sXG4gICAgYXN5bmMgc2lnblBzYnQoc2lnbmluZ1N0ZXA6IHZlbmRvci5TaWduaW5nU3RlcCwgcHNidEhleDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgIGNvbnN0IHBzYnQgPSBiaXRjb2luanNsaWIuUHNidC5mcm9tSGV4KHBzYnRIZXgpO1xuICAgICAgc3dpdGNoIChzaWduaW5nU3RlcCkge1xuICAgICAgICBjYXNlICdzdGFraW5nLXNsYXNoaW5nJzpcbiAgICAgICAgICByZXR1cm4gc2lnbldpdGhEZXNjcmlwdG9yKHBzYnQsIGRlc2NyaXB0b3JCdWlsZGVyLmdldFN0YWtpbmdEZXNjcmlwdG9yKCksIHN0YWtlcktleSkudG9IZXgoKTtcbiAgICAgICAgY2FzZSAndW5ib25kaW5nLXNsYXNoaW5nJzpcbiAgICAgICAgICByZXR1cm4gc2lnbldpdGhEZXNjcmlwdG9yKHBzYnQsIGRlc2NyaXB0b3JCdWlsZGVyLmdldFVuYm9uZGluZ0Rlc2NyaXB0b3IoKSwgc3Rha2VyS2V5KS50b0hleCgpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgdW5leHBlY3RlZCBzaWduaW5nIHN0ZXA6ICR7c2lnbmluZ1N0ZXB9YCk7XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbn1cblxudHlwZSBSZXN1bHQgPSB7XG4gIHVuc2lnbmVkRGVsZWdhdGlvbk1zZzogVmFsdWVXaXRoVHlwZVVybDxiYWJ5bG9uUHJvdG9idWYuYnRjc3Rha2luZ3R4Lk1zZ0NyZWF0ZUJUQ0RlbGVnYXRpb24+O1xuICBzdGFraW5nVHg6IGJpdGNvaW5qc2xpYi5UcmFuc2FjdGlvbjtcbn07XG5cbi8qKlxuICogQHBhcmFtIHN0YWtpbmdLZXkgLSB0aGlzIGlzIHRoZSBzaW5nbGUtc2lnIGtleSB0aGF0IGlzIHVzZWQgZm9yIGNvLXNpZ25pbmcgdGhlIHN0YWtpbmcgb3V0cHV0XG4gKiBAcGFyYW0gY2hhbmdlQWRkcmVzcyAtIHRoaXMgaXMgdW5yZWxhdGVkIHRvIHRoZSBzdGFraW5nIGtleSBhbmQgaXMgdXNlZCBmb3IgdGhlIGNoYW5nZSBvdXRwdXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvU3Rha2VySW5mbyhcbiAgc3Rha2luZ0tleTogdXR4b2xpYi5FQ1BhaXJJbnRlcmZhY2UgfCBCdWZmZXIgfCBzdHJpbmcsXG4gIGNoYW5nZUFkZHJlc3M6IHN0cmluZ1xuKTogdmVuZG9yLlN0YWtlckluZm8ge1xuICBpZiAodHlwZW9mIHN0YWtpbmdLZXkgPT09ICdvYmplY3QnICYmICdwdWJsaWNLZXknIGluIHN0YWtpbmdLZXkpIHtcbiAgICBzdGFraW5nS2V5ID0gc3Rha2luZ0tleS5wdWJsaWNLZXk7XG4gIH1cbiAgaWYgKHR5cGVvZiBzdGFraW5nS2V5ID09PSAnc3RyaW5nJykge1xuICAgIHN0YWtpbmdLZXkgPSBCdWZmZXIuZnJvbShzdGFraW5nS2V5LCAnaGV4Jyk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBwdWJsaWNLZXlOb0Nvb3JkSGV4OiB0b1hPbmx5UHVibGljS2V5KHN0YWtpbmdLZXkpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICBhZGRyZXNzOiBjaGFuZ2VBZGRyZXNzLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU3Rha2luZyhcbiAgbmV0d29yazogQmFieWxvbk5ldHdvcmtMaWtlLFxuICBibG9ja0hlaWdodDogbnVtYmVyLFxuICBzdGFrZXJCdGNJbmZvOiB2ZW5kb3IuU3Rha2VySW5mbyxcbiAgc3Rha2luZ0lucHV0OiB2ZW5kb3IuU3Rha2luZ0lucHV0cyxcbiAgdmVyc2lvbmVkUGFyYW1zOiB2ZW5kb3IuVmVyc2lvbmVkU3Rha2luZ1BhcmFtc1tdID0gZ2V0U3Rha2luZ1BhcmFtcyhuZXR3b3JrKVxuKTogdmVuZG9yLlN0YWtpbmcge1xuICBpZiAoYmxvY2tIZWlnaHQgPT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0JhYnlsb24gQlRDIHRpcCBoZWlnaHQgY2Fubm90IGJlIDAnKTtcbiAgfVxuXG4gIC8vIEdldCB0aGUgQmFieWxvbiBwYXJhbXMgYmFzZWQgb24gdGhlIEJUQyB0aXAgaGVpZ2h0IGZyb20gQmFieWxvbiBjaGFpblxuICBjb25zdCBwYXJhbXMgPSB2ZW5kb3IuZ2V0QmFieWxvblBhcmFtQnlCdGNIZWlnaHQoYmxvY2tIZWlnaHQsIHZlcnNpb25lZFBhcmFtcyk7XG5cbiAgcmV0dXJuIG5ldyB2ZW5kb3IuU3Rha2luZyhcbiAgICB0b0JpdGNvaW5Kc05ldHdvcmsobmV0d29yayksXG4gICAgc3Rha2VyQnRjSW5mbyxcbiAgICBwYXJhbXMsXG4gICAgc3Rha2luZ0lucHV0LmZpbmFsaXR5UHJvdmlkZXJQa05vQ29vcmRIZXgsXG4gICAgc3Rha2luZ0lucHV0LnN0YWtpbmdUaW1lbG9ja1xuICApO1xufVxuXG50eXBlIFRyYW5zYWN0aW9uTGlrZSA9XG4gIHwgYml0Y29pbmpzbGliLlBzYnRcbiAgfCBiaXRjb2luanNsaWIuVHJhbnNhY3Rpb25cbiAgfCB1dHhvbGliLlRyYW5zYWN0aW9uXG4gIHwgdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248YmlnaW50IHwgbnVtYmVyPlxuICB8IHV0eG9saWIuUHNidFxuICB8IHV0eG9saWIuYml0Z28uVXR4b1BzYnQ7XG5cbmZ1bmN0aW9uIHRvU3Rha2luZ1RyYW5zYWN0aW9uRnJvbVBzYnQoXG4gIHBzYnQ6IGJpdGNvaW5qc2xpYi5Qc2J0IHwgdXR4b2xpYi5Qc2J0IHwgdXR4b2xpYi5iaXRnby5VdHhvUHNidFxuKTogYml0Y29pbmpzbGliLlRyYW5zYWN0aW9uIHtcbiAgaWYgKCEocHNidCBpbnN0YW5jZW9mIHV0eG9saWIuYml0Z28uVXR4b1BzYnQpKSB7XG4gICAgcHNidCA9IHV0eG9saWIuYml0Z28uY3JlYXRlUHNidEZyb21CdWZmZXIocHNidC50b0J1ZmZlcigpLCB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW4pO1xuICB9XG4gIGlmIChwc2J0IGluc3RhbmNlb2YgdXR4b2xpYi5iaXRnby5VdHhvUHNidCkge1xuICAgIC8vIG9ubHkgdXR4b2xpYi5iaXRnby5VdHhvUHNidCBoYXMgdGhlIGdldFVuc2lnbmVkVHggbWV0aG9kXG4gICAgcmV0dXJuIGJpdGNvaW5qc2xpYi5UcmFuc2FjdGlvbi5mcm9tSGV4KHBzYnQuZ2V0VW5zaWduZWRUeCgpLnRvSGV4KCkpO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcignaWxsZWdhbCBzdGF0ZScpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9TdGFraW5nVHJhbnNhY3Rpb24odHg6IFRyYW5zYWN0aW9uTGlrZSk6IGJpdGNvaW5qc2xpYi5UcmFuc2FjdGlvbiB7XG4gIGlmICh0eCBpbnN0YW5jZW9mIGJpdGNvaW5qc2xpYi5Qc2J0IHx8IHR4IGluc3RhbmNlb2YgdXR4b2xpYi5Qc2J0KSB7XG4gICAgcmV0dXJuIHRvU3Rha2luZ1RyYW5zYWN0aW9uRnJvbVBzYnQodHgpO1xuICB9XG4gIHJldHVybiBiaXRjb2luanNsaWIuVHJhbnNhY3Rpb24uZnJvbUhleCh0eC50b0hleCgpKTtcbn1cblxuLypcbiAqIFRoaXMgaXMgbW9zdGx5IGxpZnRlZCBmcm9tXG4gKiBodHRwczovL2dpdGh1Yi5jb20vYmFieWxvbmxhYnMtaW8vYnRjLXN0YWtpbmctdHMvYmxvYi92MC40LjAtcmMuMi9zcmMvc3Rha2luZy9tYW5hZ2VyLnRzI0wxMDAtTDE3MlxuICpcbiAqIFRoZSBkaWZmZXJlbmNlIGlzIHRoYXQgaGVyZSB3ZSBhcmUgcmV0dXJuaW5nIGFuIF91bnNpZ25lZF8gZGVsZWdhdGlvbiBtZXNzYWdlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlRGVsZWdhdGlvbk1lc3NhZ2VXaXRoVHJhbnNhY3Rpb24oXG4gIG1hbmFnZXI6IHZlbmRvci5CYWJ5bG9uQnRjU3Rha2luZ01hbmFnZXIsXG4gIHN0YWtpbmc6IHZlbmRvci5TdGFraW5nLFxuICBzdGFraW5nQW1vdW50U2F0OiBudW1iZXIsXG4gIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkxpa2UsXG4gIGJhYnlsb25BZGRyZXNzOiBzdHJpbmdcbik6IFByb21pc2U8VmFsdWVXaXRoVHlwZVVybDxiYWJ5bG9uUHJvdG9idWYuYnRjc3Rha2luZ3R4Lk1zZ0NyZWF0ZUJUQ0RlbGVnYXRpb24+PiB7XG4gIGlmICghdmVuZG9yLmlzVmFsaWRCYWJ5bG9uQWRkcmVzcyhiYWJ5bG9uQWRkcmVzcykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgQmFieWxvbiBhZGRyZXNzJyk7XG4gIH1cbiAgLy8gQ3JlYXRlIGRlbGVnYXRpb24gbWVzc2FnZSB3aXRob3V0IGluY2x1ZGluZyBpbmNsdXNpb24gcHJvb2ZcbiAgcmV0dXJuIG1hbmFnZXIuY3JlYXRlQnRjRGVsZWdhdGlvbk1zZyhcbiAgICBzdGFraW5nLFxuICAgIHtcbiAgICAgIHN0YWtpbmdUaW1lbG9jazogc3Rha2luZy5zdGFraW5nVGltZWxvY2ssXG4gICAgICBmaW5hbGl0eVByb3ZpZGVyUGtOb0Nvb3JkSGV4OiBzdGFraW5nLmZpbmFsaXR5UHJvdmlkZXJQa05vQ29vcmRIZXgsXG4gICAgICBzdGFraW5nQW1vdW50U2F0LFxuICAgIH0sXG4gICAgdG9TdGFraW5nVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pLFxuICAgIGJhYnlsb25BZGRyZXNzLFxuICAgIHN0YWtpbmcuc3Rha2VySW5mbyxcbiAgICBzdGFraW5nLnBhcmFtc1xuICApO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVW5zaWduZWRQcmVTdGFrZVJlZ2lzdHJhdGlvbkJhYnlsb25UcmFuc2FjdGlvbldpdGhCdGNQcm92aWRlcihcbiAgYnRjUHJvdmlkZXI6IHZlbmRvci5CdGNQcm92aWRlcixcbiAgbmV0d29yazogYml0Y29pbmpzbGliLk5ldHdvcmssXG4gIHN0YWtlckJ0Y0luZm86IHZlbmRvci5TdGFrZXJJbmZvLFxuICBzdGFraW5nSW5wdXQ6IHZlbmRvci5TdGFraW5nSW5wdXRzLFxuICBiYWJ5bG9uQnRjVGlwSGVpZ2h0OiBudW1iZXIsXG4gIGlucHV0VVRYT3M6IHZlbmRvci5VVFhPW10sXG4gIGZlZVJhdGVTYXRCOiBudW1iZXIsXG4gIGJhYnlsb25BZGRyZXNzOiBzdHJpbmcsXG4gIHN0YWtpbmdQYXJhbXM6IHZlbmRvci5WZXJzaW9uZWRTdGFraW5nUGFyYW1zW10gPSBnZXRTdGFraW5nUGFyYW1zKG5ldHdvcmspXG4pOiBQcm9taXNlPFJlc3VsdD4ge1xuICBpZiAoaW5wdXRVVFhPcy5sZW5ndGggPT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGlucHV0IFVUWE9zIHByb3ZpZGVkJyk7XG4gIH1cbiAgY29uc3QgbWFuYWdlciA9IGNyZWF0ZVN0YWtpbmdNYW5hZ2VyKG5ldHdvcmssIGJ0Y1Byb3ZpZGVyLCBzdGFraW5nUGFyYW1zKTtcbiAgY29uc3Qgc3Rha2luZyA9IGNyZWF0ZVN0YWtpbmcobmV0d29yaywgYmFieWxvbkJ0Y1RpcEhlaWdodCwgc3Rha2VyQnRjSW5mbywgc3Rha2luZ0lucHV0LCBzdGFraW5nUGFyYW1zKTtcbiAgLy8gQ3JlYXRlIHVuc2lnbmVkIHN0YWtpbmcgdHJhbnNhY3Rpb25cbiAgY29uc3QgeyB0cmFuc2FjdGlvbiB9ID0gc3Rha2luZy5jcmVhdGVTdGFraW5nVHJhbnNhY3Rpb24oc3Rha2luZ0lucHV0LnN0YWtpbmdBbW91bnRTYXQsIGlucHV0VVRYT3MsIGZlZVJhdGVTYXRCKTtcbiAgY29uc3QgdW5zaWduZWREZWxlZ2F0aW9uTXNnID0gYXdhaXQgY3JlYXRlRGVsZWdhdGlvbk1lc3NhZ2VXaXRoVHJhbnNhY3Rpb24oXG4gICAgbWFuYWdlcixcbiAgICBzdGFraW5nLFxuICAgIHN0YWtpbmdJbnB1dC5zdGFraW5nQW1vdW50U2F0LFxuICAgIHRyYW5zYWN0aW9uLFxuICAgIGJhYnlsb25BZGRyZXNzXG4gICk7XG4gIHJldHVybiB7IHVuc2lnbmVkRGVsZWdhdGlvbk1zZywgc3Rha2luZ1R4OiB0cmFuc2FjdGlvbiB9O1xufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo-beta/utxo-staking",
3
- "version": "1.1.1-beta.251",
3
+ "version": "1.1.1-beta.252",
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",
@@ -43,10 +43,10 @@
43
43
  },
44
44
  "dependencies": {
45
45
  "@babylonlabs-io/babylon-proto-ts": "1.0.0",
46
- "@bitgo-beta/babylonlabs-io-btc-staking-ts": "0.4.0-beta.55",
47
- "@bitgo-beta/unspents": "0.13.2-beta.810",
48
- "@bitgo-beta/utxo-core": "1.0.0-beta.121",
49
- "@bitgo-beta/utxo-lib": "8.0.3-beta.811",
46
+ "@bitgo-beta/babylonlabs-io-btc-staking-ts": "0.4.0-beta.56",
47
+ "@bitgo-beta/unspents": "0.13.2-beta.811",
48
+ "@bitgo-beta/utxo-core": "1.0.0-beta.122",
49
+ "@bitgo-beta/utxo-lib": "8.0.3-beta.812",
50
50
  "@bitgo/wasm-miniscript": "2.0.0-beta.7",
51
51
  "bitcoinjs-lib": "^6.1.7",
52
52
  "fp-ts": "^2.16.2",
@@ -56,5 +56,5 @@
56
56
  "devDependencies": {
57
57
  "yargs": "^17.7.2"
58
58
  },
59
- "gitHead": "4b018a833a3291fbfc33e1dcc30b127381dcd01a"
59
+ "gitHead": "a5bb5b1a8ca972004f0d70f259c780fc2063f6cc"
60
60
  }