@bitgo-beta/sdk-coin-btc 1.0.2-beta.167 → 1.0.2-beta.169

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,35 @@
1
1
  /// <reference types="node" />
2
2
  import { AbstractUtxoCoin } from '@bitgo-beta/abstract-utxo';
3
- import { IInscriptionBuilder, IWallet, PreparedInscriptionRevealData, SubmitTransactionResponse } from '@bitgo-beta/sdk-core';
3
+ import { IInscriptionBuilder, IWallet, PrebuildTransactionResult, PreparedInscriptionRevealData, SubmitTransactionResponse } from '@bitgo-beta/sdk-core';
4
4
  import * as utxolib from '@bitgo-beta/utxo-lib';
5
+ import { SatPoint } from '@bitgo-beta/utxo-ord';
5
6
  export declare class InscriptionBuilder implements IInscriptionBuilder {
6
7
  private readonly wallet;
7
8
  private readonly coin;
8
9
  constructor(wallet: IWallet, coin: AbstractUtxoCoin);
9
10
  prepareReveal(inscriptionData: Buffer, contentType: string): Promise<PreparedInscriptionRevealData>;
11
+ /**
12
+ * Build a transaction to send an inscription
13
+ * @param satPoint Satpoint you want to send
14
+ * @param recipient Address you want to send to
15
+ * @param feeRateSatKB Fee rate for transaction
16
+ * @param signer first signer of the transaction
17
+ * @param cosigner second signer of the transaction
18
+ * @param inscriptionConstraints.minChangeOutput (optional) the minimum size of the change output
19
+ * @param inscriptionConstraints.minInscriptionOutput (optional) the minimum number of sats of the output containing the inscription
20
+ * @param inscriptionConstraints.maxInscriptionOutput (optional) the maximum number of sats of the output containing the inscription
21
+ * @param changeAddressType Address type of the change address
22
+ */
23
+ prepareTransfer(satPoint: SatPoint, recipient: string, feeRateSatKB: number, { signer, cosigner, inscriptionConstraints, changeAddressType, }: {
24
+ signer: utxolib.bitgo.KeyName;
25
+ cosigner: utxolib.bitgo.KeyName;
26
+ inscriptionConstraints: {
27
+ minChangeOutput?: bigint;
28
+ minInscriptionOutput?: bigint;
29
+ maxInscriptionOutput?: bigint;
30
+ };
31
+ changeAddressType: utxolib.bitgo.outputScripts.ScriptType2Of3;
32
+ }): Promise<PrebuildTransactionResult>;
10
33
  /**
11
34
  *
12
35
  * @param walletPassphrase
@@ -17,5 +40,11 @@ export declare class InscriptionBuilder implements IInscriptionBuilder {
17
40
  * @param recipientAddress
18
41
  */
19
42
  signAndSendReveal(walletPassphrase: string, tapLeafScript: utxolib.bitgo.TapLeafScript, commitAddress: string, unsignedCommitTx: Buffer, commitTransactionUnspents: utxolib.bitgo.WalletUnspent[], recipientAddress: string): Promise<SubmitTransactionResponse>;
43
+ /**
44
+ * Sign and send a transaction that transfers an inscription
45
+ * @param walletPassphrase passphrase to unlock your keys
46
+ * @param txPrebuild this is the output of `inscription.prepareTransfer`
47
+ */
48
+ signAndSendTransfer(walletPassphrase: string, txPrebuild: PrebuildTransactionResult): Promise<SubmitTransactionResponse>;
20
49
  }
21
50
  //# sourceMappingURL=inscriptionBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inscriptionBuilder.d.ts","sourceRoot":"","sources":["../../src/inscriptionBuilder.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAEL,mBAAmB,EACnB,OAAO,EAEP,6BAA6B,EAC7B,yBAAyB,EAE1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAIhD,qBAAa,kBAAmB,YAAW,mBAAmB;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;gBAE5B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB;IAK7C,aAAa,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAQzG;;;;;;;;OAQG;IACG,iBAAiB,CACrB,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,EAC1C,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EACxB,yBAAyB,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,EACxD,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,yBAAyB,CAAC;CA6BtC"}
1
+ {"version":3,"file":"inscriptionBuilder.d.ts","sourceRoot":"","sources":["../../src/inscriptionBuilder.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAEL,mBAAmB,EACnB,OAAO,EAEP,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EAG1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAML,QAAQ,EACT,MAAM,sBAAsB,CAAC;AAG9B,qBAAa,kBAAmB,YAAW,mBAAmB;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;gBAE5B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB;IAK7C,aAAa,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAQzG;;;;;;;;;;;OAWG;IACG,eAAe,CACnB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,EACE,MAAe,EACf,QAAkB,EAClB,sBAAsD,EACtD,iBAA0B,GAC3B,EAAE;QACD,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAC9B,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAChC,sBAAsB,EAAE;YACtB,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;SAC/B,CAAC;QACF,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC;KAC/D,GACA,OAAO,CAAC,yBAAyB,CAAC;IAgDrC;;;;;;;;OAQG;IACG,iBAAiB,CACrB,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,EAC1C,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EACxB,yBAAyB,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,EACxD,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,yBAAyB,CAAC;IA8BrC;;;;OAIG;IACG,mBAAmB,CACvB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,yBAAyB,CAAC;CAOtC"}
@@ -1,10 +1,30 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
2
21
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
23
  };
5
24
  Object.defineProperty(exports, "__esModule", { value: true });
6
25
  exports.InscriptionBuilder = void 0;
7
26
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
27
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
8
28
  const utxo_ord_1 = require("@bitgo-beta/utxo-ord");
9
29
  const assert_1 = __importDefault(require("assert"));
10
30
  class InscriptionBuilder {
@@ -18,6 +38,52 @@ class InscriptionBuilder {
18
38
  const pubkey = Buffer.from(user.pub, 'hex');
19
39
  return utxo_ord_1.inscriptions.createInscriptionRevealData(pubkey, contentType, inscriptionData, this.coin.network);
20
40
  }
41
+ /**
42
+ * Build a transaction to send an inscription
43
+ * @param satPoint Satpoint you want to send
44
+ * @param recipient Address you want to send to
45
+ * @param feeRateSatKB Fee rate for transaction
46
+ * @param signer first signer of the transaction
47
+ * @param cosigner second signer of the transaction
48
+ * @param inscriptionConstraints.minChangeOutput (optional) the minimum size of the change output
49
+ * @param inscriptionConstraints.minInscriptionOutput (optional) the minimum number of sats of the output containing the inscription
50
+ * @param inscriptionConstraints.maxInscriptionOutput (optional) the maximum number of sats of the output containing the inscription
51
+ * @param changeAddressType Address type of the change address
52
+ */
53
+ async prepareTransfer(satPoint, recipient, feeRateSatKB, { signer = 'user', cosigner = 'bitgo', inscriptionConstraints = utxo_ord_1.DefaultInscriptionConstraints, changeAddressType = 'p2tr', }) {
54
+ const wk = (await this.wallet.baseCoin.keychains().list()).keys;
55
+ assert_1.default(wk.length === 3);
56
+ const rootWalletKeys = new utxolib.bitgo.RootWalletKeys(wk.map((k) => {
57
+ assert_1.default(k.pub);
58
+ return utxolib.bip32.fromBase58(k.pub);
59
+ }));
60
+ const parsedSatPoint = utxo_ord_1.parseSatPoint(satPoint);
61
+ const transaction = await this.wallet.getTransaction({ txHash: parsedSatPoint.txid });
62
+ // TODO(BG-70900): allow supplemental unspents
63
+ const unspents = [transaction.outputs[parsedSatPoint.vout]];
64
+ const txInfo = { unspents };
65
+ const changeAddress = await this.wallet.createAddress({
66
+ chain: utxolib.bitgo.getExternalChainCode(changeAddressType),
67
+ });
68
+ const outputs = {
69
+ inscriptionRecipient: recipient,
70
+ changeOutputs: [
71
+ { chain: changeAddress.chain, index: changeAddress.index },
72
+ { chain: changeAddress.chain, index: changeAddress.index },
73
+ ],
74
+ };
75
+ const psbt = utxo_ord_1.createPsbtForSingleInscriptionPassingTransaction(this.coin.network, {
76
+ walletKeys: rootWalletKeys,
77
+ signer,
78
+ cosigner,
79
+ }, unspents, satPoint, outputs, { feeRateSatKB, ...inscriptionConstraints });
80
+ return {
81
+ walletId: this.wallet.id(),
82
+ txHex: psbt.getUnsignedTx().toHex(),
83
+ txInfo,
84
+ feeInfo: { fee: feeRateSatKB, feeString: feeRateSatKB.toString() },
85
+ };
86
+ }
21
87
  /**
22
88
  *
23
89
  * @param walletPassphrase
@@ -38,7 +104,7 @@ class InscriptionBuilder {
38
104
  txInfo: { unspents: commitTransactionUnspents },
39
105
  },
40
106
  }));
41
- const fullySignedRevealTransaction = await utxo_ord_1.inscriptions.signRevealTransaction(Buffer.from(prv, 'hex'), tapLeafScript, commitAddress, recipientAddress, unsignedCommitTx, this.coin.network);
107
+ const fullySignedRevealTransaction = await utxo_ord_1.inscriptions.signRevealTransaction(Buffer.from(prv, 'hex'), tapLeafScript, commitAddress, recipientAddress, Buffer.from(halfSignedCommitTransaction.txHex, 'hex'), this.coin.network);
42
108
  return this.wallet.submitTransaction({
43
109
  halfSigned: {
44
110
  txHex: halfSignedCommitTransaction.txHex,
@@ -46,6 +112,17 @@ class InscriptionBuilder {
46
112
  },
47
113
  });
48
114
  }
115
+ /**
116
+ * Sign and send a transaction that transfers an inscription
117
+ * @param walletPassphrase passphrase to unlock your keys
118
+ * @param txPrebuild this is the output of `inscription.prepareTransfer`
119
+ */
120
+ async signAndSendTransfer(walletPassphrase, txPrebuild) {
121
+ const userKeychain = await this.wallet.baseCoin.keychains().get({ id: this.wallet.keyIds()[sdk_core_1.KeyIndices.USER] });
122
+ const prv = this.wallet.getUserPrv({ keychain: userKeychain, walletPassphrase });
123
+ const halfSigned = (await this.wallet.signTransaction({ prv, txPrebuild }));
124
+ return this.wallet.submitTransaction({ halfSigned });
125
+ }
49
126
  }
50
127
  exports.InscriptionBuilder = InscriptionBuilder;
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zY3JpcHRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luc2NyaXB0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxtREFROEI7QUFFOUIsbURBQW9EO0FBQ3BELG9EQUE0QjtBQUU1QixNQUFhLGtCQUFrQjtJQUk3QixZQUFZLE1BQWUsRUFBRSxJQUFzQjtRQUNqRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxlQUF1QixFQUFFLFdBQW1CO1FBQzlELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMscUJBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkcsZ0JBQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTVDLE9BQU8sdUJBQVksQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILEtBQUssQ0FBQyxpQkFBaUIsQ0FDckIsZ0JBQXdCLEVBQ3hCLGFBQTBDLEVBQzFDLGFBQXFCLEVBQ3JCLGdCQUF3QixFQUN4Qix5QkFBd0QsRUFDeEQsZ0JBQXdCO1FBRXhCLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMscUJBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0csTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ3hGLE1BQU0sR0FBRyxHQUFHLHVCQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0IsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUM7WUFDckUsR0FBRyxFQUFFLElBQUk7WUFDVCxVQUFVLEVBQUU7Z0JBQ1YsS0FBSyxFQUFFLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQ3ZDLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSx5QkFBeUIsRUFBRTthQUNoRDtTQUNGLENBQUMsQ0FBOEIsQ0FBQztRQUVqQyxNQUFNLDRCQUE0QixHQUFHLE1BQU0sdUJBQVksQ0FBQyxxQkFBcUIsQ0FDM0UsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQ3ZCLGFBQWEsRUFDYixhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FDbEIsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztZQUNuQyxVQUFVLEVBQUU7Z0JBQ1YsS0FBSyxFQUFFLDJCQUEyQixDQUFDLEtBQUs7Z0JBQ3hDLGVBQWUsRUFBRSw0QkFBNEIsQ0FBQyxLQUFLLEVBQUU7YUFDdEQ7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUE5REQsZ0RBOERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RVdHhvQ29pbiB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LXV0eG8nO1xuaW1wb3J0IHtcbiAgSGFsZlNpZ25lZFV0eG9UcmFuc2FjdGlvbixcbiAgSUluc2NyaXB0aW9uQnVpbGRlcixcbiAgSVdhbGxldCxcbiAgS2V5SW5kaWNlcyxcbiAgUHJlcGFyZWRJbnNjcmlwdGlvblJldmVhbERhdGEsXG4gIFN1Ym1pdFRyYW5zYWN0aW9uUmVzcG9uc2UsXG4gIHhwcnZUb1Jhd1Bydixcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyBpbnNjcmlwdGlvbnMgfSBmcm9tICdAYml0Z28tYmV0YS91dHhvLW9yZCc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmV4cG9ydCBjbGFzcyBJbnNjcmlwdGlvbkJ1aWxkZXIgaW1wbGVtZW50cyBJSW5zY3JpcHRpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSB3YWxsZXQ6IElXYWxsZXQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29pbjogQWJzdHJhY3RVdHhvQ29pbjtcblxuICBjb25zdHJ1Y3Rvcih3YWxsZXQ6IElXYWxsZXQsIGNvaW46IEFic3RyYWN0VXR4b0NvaW4pIHtcbiAgICB0aGlzLndhbGxldCA9IHdhbGxldDtcbiAgICB0aGlzLmNvaW4gPSBjb2luO1xuICB9XG5cbiAgYXN5bmMgcHJlcGFyZVJldmVhbChpbnNjcmlwdGlvbkRhdGE6IEJ1ZmZlciwgY29udGVudFR5cGU6IHN0cmluZyk6IFByb21pc2U8UHJlcGFyZWRJbnNjcmlwdGlvblJldmVhbERhdGE+IHtcbiAgICBjb25zdCB1c2VyID0gYXdhaXQgdGhpcy53YWxsZXQuYmFzZUNvaW4ua2V5Y2hhaW5zKCkuZ2V0KHsgaWQ6IHRoaXMud2FsbGV0LmtleUlkcygpW0tleUluZGljZXMuVVNFUl0gfSk7XG4gICAgYXNzZXJ0KHVzZXIucHViKTtcbiAgICBjb25zdCBwdWJrZXkgPSBCdWZmZXIuZnJvbSh1c2VyLnB1YiwgJ2hleCcpO1xuXG4gICAgcmV0dXJuIGluc2NyaXB0aW9ucy5jcmVhdGVJbnNjcmlwdGlvblJldmVhbERhdGEocHVia2V5LCBjb250ZW50VHlwZSwgaW5zY3JpcHRpb25EYXRhLCB0aGlzLmNvaW4ubmV0d29yayk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHdhbGxldFBhc3NwaHJhc2VcbiAgICogQHBhcmFtIHRhcExlYWZTY3JpcHRcbiAgICogQHBhcmFtIGNvbW1pdEFkZHJlc3NcbiAgICogQHBhcmFtIHVuc2lnbmVkQ29tbWl0VHhcbiAgICogQHBhcmFtIGNvbW1pdFRyYW5zYWN0aW9uVW5zcGVudHNcbiAgICogQHBhcmFtIHJlY2lwaWVudEFkZHJlc3NcbiAgICovXG4gIGFzeW5jIHNpZ25BbmRTZW5kUmV2ZWFsKFxuICAgIHdhbGxldFBhc3NwaHJhc2U6IHN0cmluZyxcbiAgICB0YXBMZWFmU2NyaXB0OiB1dHhvbGliLmJpdGdvLlRhcExlYWZTY3JpcHQsXG4gICAgY29tbWl0QWRkcmVzczogc3RyaW5nLFxuICAgIHVuc2lnbmVkQ29tbWl0VHg6IEJ1ZmZlcixcbiAgICBjb21taXRUcmFuc2FjdGlvblVuc3BlbnRzOiB1dHhvbGliLmJpdGdvLldhbGxldFVuc3BlbnRbXSxcbiAgICByZWNpcGllbnRBZGRyZXNzOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxTdWJtaXRUcmFuc2FjdGlvblJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXNlcktleWNoYWluID0gYXdhaXQgdGhpcy53YWxsZXQuYmFzZUNvaW4ua2V5Y2hhaW5zKCkuZ2V0KHsgaWQ6IHRoaXMud2FsbGV0LmtleUlkcygpW0tleUluZGljZXMuVVNFUl0gfSk7XG4gICAgY29uc3QgeHBydiA9IGF3YWl0IHRoaXMud2FsbGV0LmdldFVzZXJQcnYoeyBrZXljaGFpbjogdXNlcktleWNoYWluLCB3YWxsZXRQYXNzcGhyYXNlIH0pO1xuICAgIGNvbnN0IHBydiA9IHhwcnZUb1Jhd1Bydih4cHJ2KTtcblxuICAgIGNvbnN0IGhhbGZTaWduZWRDb21taXRUcmFuc2FjdGlvbiA9IChhd2FpdCB0aGlzLndhbGxldC5zaWduVHJhbnNhY3Rpb24oe1xuICAgICAgcHJ2OiB4cHJ2LFxuICAgICAgdHhQcmVidWlsZDoge1xuICAgICAgICB0eEhleDogdW5zaWduZWRDb21taXRUeC50b1N0cmluZygnaGV4JyksXG4gICAgICAgIHR4SW5mbzogeyB1bnNwZW50czogY29tbWl0VHJhbnNhY3Rpb25VbnNwZW50cyB9LFxuICAgICAgfSxcbiAgICB9KSkgYXMgSGFsZlNpZ25lZFV0eG9UcmFuc2FjdGlvbjtcblxuICAgIGNvbnN0IGZ1bGx5U2lnbmVkUmV2ZWFsVHJhbnNhY3Rpb24gPSBhd2FpdCBpbnNjcmlwdGlvbnMuc2lnblJldmVhbFRyYW5zYWN0aW9uKFxuICAgICAgQnVmZmVyLmZyb20ocHJ2LCAnaGV4JyksXG4gICAgICB0YXBMZWFmU2NyaXB0LFxuICAgICAgY29tbWl0QWRkcmVzcyxcbiAgICAgIHJlY2lwaWVudEFkZHJlc3MsXG4gICAgICB1bnNpZ25lZENvbW1pdFR4LFxuICAgICAgdGhpcy5jb2luLm5ldHdvcmtcbiAgICApO1xuXG4gICAgcmV0dXJuIHRoaXMud2FsbGV0LnN1Ym1pdFRyYW5zYWN0aW9uKHtcbiAgICAgIGhhbGZTaWduZWQ6IHtcbiAgICAgICAgdHhIZXg6IGhhbGZTaWduZWRDb21taXRUcmFuc2FjdGlvbi50eEhleCxcbiAgICAgICAgc2lnbmVkQ2hpbGRQc2J0OiBmdWxseVNpZ25lZFJldmVhbFRyYW5zYWN0aW9uLnRvSGV4KCksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zY3JpcHRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luc2NyaXB0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsbURBVThCO0FBQzlCLDhEQUFnRDtBQUNoRCxtREFPOEI7QUFDOUIsb0RBQTRCO0FBRTVCLE1BQWEsa0JBQWtCO0lBSTdCLFlBQVksTUFBZSxFQUFFLElBQXNCO1FBQ2pELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLGVBQXVCLEVBQUUsV0FBbUI7UUFDOUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxxQkFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2RyxnQkFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFNUMsT0FBTyx1QkFBWSxDQUFDLDJCQUEyQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0csQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsS0FBSyxDQUFDLGVBQWUsQ0FDbkIsUUFBa0IsRUFDbEIsU0FBaUIsRUFDakIsWUFBb0IsRUFDcEIsRUFDRSxNQUFNLEdBQUcsTUFBTSxFQUNmLFFBQVEsR0FBRyxPQUFPLEVBQ2xCLHNC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LElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvRyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBRWpGLE1BQU0sVUFBVSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUE4QixDQUFDO1FBQ3pHLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztDQUNGO0FBN0pELGdEQTZKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0VXR4b0NvaW4gfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC11dHhvJztcbmltcG9ydCB7XG4gIEhhbGZTaWduZWRVdHhvVHJhbnNhY3Rpb24sXG4gIElJbnNjcmlwdGlvbkJ1aWxkZXIsXG4gIElXYWxsZXQsXG4gIEtleUluZGljZXMsXG4gIFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQsXG4gIFByZXBhcmVkSW5zY3JpcHRpb25SZXZlYWxEYXRhLFxuICBTdWJtaXRUcmFuc2FjdGlvblJlc3BvbnNlLFxuICBUcmlwbGUsXG4gIHhwcnZUb1Jhd1Bydixcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQge1xuICBjcmVhdGVQc2J0Rm9yU2luZ2xlSW5zY3JpcHRpb25QYXNzaW5nVHJhbnNhY3Rpb24sXG4gIERlZmF1bHRJbnNjcmlwdGlvbkNvbnN0cmFpbnRzLFxuICBJbnNjcmlwdGlvbk91dHB1dHMsXG4gIGluc2NyaXB0aW9ucyxcbiAgcGFyc2VTYXRQb2ludCxcbiAgU2F0UG9pbnQsXG59IGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tb3JkJztcbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuZXhwb3J0IGNsYXNzIEluc2NyaXB0aW9uQnVpbGRlciBpbXBsZW1lbnRzIElJbnNjcmlwdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHdhbGxldDogSVdhbGxldDtcbiAgcHJpdmF0ZSByZWFkb25seSBjb2luOiBBYnN0cmFjdFV0eG9Db2luO1xuXG4gIGNvbnN0cnVjdG9yKHdhbGxldDogSVdhbGxldCwgY29pbjogQWJzdHJhY3RVdHhvQ29pbikge1xuICAgIHRoaXMud2FsbGV0ID0gd2FsbGV0O1xuICAgIHRoaXMuY29pbiA9IGNvaW47XG4gIH1cblxuICBhc3luYyBwcmVwYXJlUmV2ZWFsKGluc2NyaXB0aW9uRGF0YTogQnVmZmVyLCBjb250ZW50VHlwZTogc3RyaW5nKTogUHJvbWlzZTxQcmVwYXJlZEluc2NyaXB0aW9uUmV2ZWFsRGF0YT4ge1xuICAgIGNvbnN0IHVzZXIgPSBhd2FpdCB0aGlzLndhbGxldC5iYXNlQ29pbi5rZXljaGFpbnMoKS5nZXQoeyBpZDogdGhpcy53YWxsZXQua2V5SWRzKClbS2V5SW5kaWNlcy5VU0VSXSB9KTtcbiAgICBhc3NlcnQodXNlci5wdWIpO1xuICAgIGNvbnN0IHB1YmtleSA9IEJ1ZmZlci5mcm9tKHVzZXIucHViLCAnaGV4Jyk7XG5cbiAgICByZXR1cm4gaW5zY3JpcHRpb25zLmNyZWF0ZUluc2NyaXB0aW9uUmV2ZWFsRGF0YShwdWJrZXksIGNvbnRlbnRUeXBlLCBpbnNjcmlwdGlvbkRhdGEsIHRoaXMuY29pbi5uZXR3b3JrKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBhIHRyYW5zYWN0aW9uIHRvIHNlbmQgYW4gaW5zY3JpcHRpb25cbiAgICogQHBhcmFtIHNhdFBvaW50IFNhdHBvaW50IHlvdSB3YW50IHRvIHNlbmRcbiAgICogQHBhcmFtIHJlY2lwaWVudCBBZGRyZXNzIHlvdSB3YW50IHRvIHNlbmQgdG9cbiAgICogQHBhcmFtIGZlZVJhdGVTYXRLQiBGZWUgcmF0ZSBmb3IgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIHNpZ25lciBmaXJzdCBzaWduZXIgb2YgdGhlIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBjb3NpZ25lciBzZWNvbmQgc2lnbmVyIG9mIHRoZSB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0gaW5zY3JpcHRpb25Db25zdHJhaW50cy5taW5DaGFuZ2VPdXRwdXQgKG9wdGlvbmFsKSB0aGUgbWluaW11bSBzaXplIG9mIHRoZSBjaGFuZ2Ugb3V0cHV0XG4gICAqIEBwYXJhbSBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzLm1pbkluc2NyaXB0aW9uT3V0cHV0IChvcHRpb25hbCkgdGhlIG1pbmltdW0gbnVtYmVyIG9mIHNhdHMgb2YgdGhlIG91dHB1dCBjb250YWluaW5nIHRoZSBpbnNjcmlwdGlvblxuICAgKiBAcGFyYW0gaW5zY3JpcHRpb25Db25zdHJhaW50cy5tYXhJbnNjcmlwdGlvbk91dHB1dCAob3B0aW9uYWwpIHRoZSBtYXhpbXVtIG51bWJlciBvZiBzYXRzIG9mIHRoZSBvdXRwdXQgY29udGFpbmluZyB0aGUgaW5zY3JpcHRpb25cbiAgICogQHBhcmFtIGNoYW5nZUFkZHJlc3NUeXBlIEFkZHJlc3MgdHlwZSBvZiB0aGUgY2hhbmdlIGFkZHJlc3NcbiAgICovXG4gIGFzeW5jIHByZXBhcmVUcmFuc2ZlcihcbiAgICBzYXRQb2ludDogU2F0UG9pbnQsXG4gICAgcmVjaXBpZW50OiBzdHJpbmcsXG4gICAgZmVlUmF0ZVNhdEtCOiBudW1iZXIsXG4gICAge1xuICAgICAgc2lnbmVyID0gJ3VzZXInLFxuICAgICAgY29zaWduZXIgPSAnYml0Z28nLFxuICAgICAgaW5zY3JpcHRpb25Db25zdHJhaW50cyA9IERlZmF1bHRJbnNjcmlwdGlvbkNvbnN0cmFpbnRzLFxuICAgICAgY2hhbmdlQWRkcmVzc1R5cGUgPSAncDJ0cicsXG4gICAgfToge1xuICAgICAgc2lnbmVyOiB1dHhvbGliLmJpdGdvLktleU5hbWU7XG4gICAgICBjb3NpZ25lcjogdXR4b2xpYi5iaXRnby5LZXlOYW1lO1xuICAgICAgaW5zY3JpcHRpb25Db25zdHJhaW50czoge1xuICAgICAgICBtaW5DaGFuZ2VPdXRwdXQ/OiBiaWdpbnQ7XG4gICAgICAgIG1pbkluc2NyaXB0aW9uT3V0cHV0PzogYmlnaW50O1xuICAgICAgICBtYXhJbnNjcmlwdGlvbk91dHB1dD86IGJpZ2ludDtcbiAgICAgIH07XG4gICAgICBjaGFuZ2VBZGRyZXNzVHlwZTogdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLlNjcmlwdFR5cGUyT2YzO1xuICAgIH1cbiAgKTogUHJvbWlzZTxQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0PiB7XG4gICAgY29uc3Qgd2sgPSAoYXdhaXQgdGhpcy53YWxsZXQuYmFzZUNvaW4ua2V5Y2hhaW5zKCkubGlzdCgpKS5rZXlzO1xuICAgIGFzc2VydCh3ay5sZW5ndGggPT09IDMpO1xuICAgIGNvbnN0IHJvb3RXYWxsZXRLZXlzID0gbmV3IHV0eG9saWIuYml0Z28uUm9vdFdhbGxldEtleXMoXG4gICAgICB3ay5tYXAoKGspID0+IHtcbiAgICAgICAgYXNzZXJ0KGsucHViKTtcbiAgICAgICAgcmV0dXJuIHV0eG9saWIuYmlwMzIuZnJvbUJhc2U1OChrLnB1Yik7XG4gICAgICB9KSBhcyBUcmlwbGU8dXR4b2xpYi5CSVAzMkludGVyZmFjZT5cbiAgICApO1xuXG4gICAgY29uc3QgcGFyc2VkU2F0UG9pbnQgPSBwYXJzZVNhdFBvaW50KHNhdFBvaW50KTtcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IGF3YWl0IHRoaXMud2FsbGV0LmdldFRyYW5zYWN0aW9uKHsgdHhIYXNoOiBwYXJzZWRTYXRQb2ludC50eGlkIH0pO1xuICAgIC8vIFRPRE8oQkctNzA5MDApOiBhbGxvdyBzdXBwbGVtZW50YWwgdW5zcGVudHNcbiAgICBjb25zdCB1bnNwZW50cyA9IFt0cmFuc2FjdGlvbi5vdXRwdXRzW3BhcnNlZFNhdFBvaW50LnZvdXRdXTtcbiAgICBjb25zdCB0eEluZm8gPSB7IHVuc3BlbnRzIH07XG5cbiAgICBjb25zdCBjaGFuZ2VBZGRyZXNzID0gYXdhaXQgdGhpcy53YWxsZXQuY3JlYXRlQWRkcmVzcyh7XG4gICAgICBjaGFpbjogdXR4b2xpYi5iaXRnby5nZXRFeHRlcm5hbENoYWluQ29kZShjaGFuZ2VBZGRyZXNzVHlwZSksXG4gICAgfSk7XG4gICAgY29uc3Qgb3V0cHV0czogSW5zY3JpcHRpb25PdXRwdXRzID0ge1xuICAgICAgaW5zY3JpcHRpb25SZWNpcGllbnQ6IHJlY2lwaWVudCxcbiAgICAgIGNoYW5nZU91dHB1dHM6IFtcbiAgICAgICAgeyBjaGFpbjogY2hhbmdlQWRkcmVzcy5jaGFpbiwgaW5kZXg6IGNoYW5nZUFkZHJlc3MuaW5kZXggfSxcbiAgICAgICAgeyBjaGFpbjogY2hhbmdlQWRkcmVzcy5jaGFpbiwgaW5kZXg6IGNoYW5nZUFkZHJlc3MuaW5kZXggfSxcbiAgICAgIF0sXG4gICAgfTtcblxuICAgIGNvbnN0IHBzYnQgPSBjcmVhdGVQc2J0Rm9yU2luZ2xlSW5zY3JpcHRpb25QYXNzaW5nVHJhbnNhY3Rpb24oXG4gICAgICB0aGlzLmNvaW4ubmV0d29yayxcbiAgICAgIHtcbiAgICAgICAgd2FsbGV0S2V5czogcm9vdFdhbGxldEtleXMsXG4gICAgICAgIHNpZ25lcixcbiAgICAgICAgY29zaWduZXIsXG4gICAgICB9LFxuICAgICAgdW5zcGVudHMsXG4gICAgICBzYXRQb2ludCxcbiAgICAgIG91dHB1dHMsXG4gICAgICB7IGZlZVJhdGVTYXRLQiwgLi4uaW5zY3JpcHRpb25Db25zdHJhaW50cyB9XG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICB3YWxsZXRJZDogdGhpcy53YWxsZXQuaWQoKSxcbiAgICAgIHR4SGV4OiBwc2J0LmdldFVuc2lnbmVkVHgoKS50b0hleCgpLFxuICAgICAgdHhJbmZvLFxuICAgICAgZmVlSW5mbzogeyBmZWU6IGZlZVJhdGVTYXRLQiwgZmVlU3RyaW5nOiBmZWVSYXRlU2F0S0IudG9TdHJpbmcoKSB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHdhbGxldFBhc3NwaHJhc2VcbiAgICogQHBhcmFtIHRhcExlYWZTY3JpcHRcbiAgICogQHBhcmFtIGNvbW1pdEFkZHJlc3NcbiAgICogQHBhcmFtIHVuc2lnbmVkQ29tbWl0VHhcbiAgICogQHBhcmFtIGNvbW1pdFRyYW5zYWN0aW9uVW5zcGVudHNcbiAgICogQHBhcmFtIHJlY2lwaWVudEFkZHJlc3NcbiAgICovXG4gIGFzeW5jIHNpZ25BbmRTZW5kUmV2ZWFsKFxuICAgIHdhbGxldFBhc3NwaHJhc2U6IHN0cmluZyxcbiAgICB0YXBMZWFmU2NyaXB0OiB1dHhvbGliLmJpdGdvLlRhcExlYWZTY3JpcHQsXG4gICAgY29tbWl0QWRkcmVzczogc3RyaW5nLFxuICAgIHVuc2lnbmVkQ29tbWl0VHg6IEJ1ZmZlcixcbiAgICBjb21taXRUcmFuc2FjdGlvblVuc3BlbnRzOiB1dHhvbGliLmJpdGdvLldhbGxldFVuc3BlbnRbXSxcbiAgICByZWNpcGllbnRBZGRyZXNzOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxTdWJtaXRUcmFuc2FjdGlvblJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXNlcktleWNoYWluID0gYXdhaXQgdGhpcy53YWxsZXQuYmFzZUNvaW4ua2V5Y2hhaW5zKCkuZ2V0KHsgaWQ6IHRoaXMud2FsbGV0LmtleUlkcygpW0tleUluZGljZXMuVVNFUl0gfSk7XG4gICAgY29uc3QgeHBydiA9IGF3YWl0IHRoaXMud2FsbGV0LmdldFVzZXJQcnYoeyBrZXljaGFpbjogdXNlcktleWNoYWluLCB3YWxsZXRQYXNzcGhyYXNlIH0pO1xuICAgIGNvbnN0IHBydiA9IHhwcnZUb1Jhd1Bydih4cHJ2KTtcblxuICAgIGNvbnN0IGhhbGZTaWduZWRDb21taXRUcmFuc2FjdGlvbiA9IChhd2FpdCB0aGlzLndhbGxldC5zaWduVHJhbnNhY3Rpb24oe1xuICAgICAgcHJ2OiB4cHJ2LFxuICAgICAgdHhQcmVidWlsZDoge1xuICAgICAgICB0eEhleDogdW5zaWduZWRDb21taXRUeC50b1N0cmluZygnaGV4JyksXG4gICAgICAgIHR4SW5mbzogeyB1bnNwZW50czogY29tbWl0VHJhbnNhY3Rpb25VbnNwZW50cyB9LFxuICAgICAgfSxcbiAgICB9KSkgYXMgSGFsZlNpZ25lZFV0eG9UcmFuc2FjdGlvbjtcblxuICAgIGNvbnN0IGZ1bGx5U2lnbmVkUmV2ZWFsVHJhbnNhY3Rpb24gPSBhd2FpdCBpbnNjcmlwdGlvbnMuc2lnblJldmVhbFRyYW5zYWN0aW9uKFxuICAgICAgQnVmZmVyLmZyb20ocHJ2LCAnaGV4JyksXG4gICAgICB0YXBMZWFmU2NyaXB0LFxuICAgICAgY29tbWl0QWRkcmVzcyxcbiAgICAgIHJlY2lwaWVudEFkZHJlc3MsXG4gICAgICBCdWZmZXIuZnJvbShoYWxmU2lnbmVkQ29tbWl0VHJhbnNhY3Rpb24udHhIZXgsICdoZXgnKSxcbiAgICAgIHRoaXMuY29pbi5uZXR3b3JrXG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLndhbGxldC5zdWJtaXRUcmFuc2FjdGlvbih7XG4gICAgICBoYWxmU2lnbmVkOiB7XG4gICAgICAgIHR4SGV4OiBoYWxmU2lnbmVkQ29tbWl0VHJhbnNhY3Rpb24udHhIZXgsXG4gICAgICAgIHNpZ25lZENoaWxkUHNidDogZnVsbHlTaWduZWRSZXZlYWxUcmFuc2FjdGlvbi50b0hleCgpLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWduIGFuZCBzZW5kIGEgdHJhbnNhY3Rpb24gdGhhdCB0cmFuc2ZlcnMgYW4gaW5zY3JpcHRpb25cbiAgICogQHBhcmFtIHdhbGxldFBhc3NwaHJhc2UgcGFzc3BocmFzZSB0byB1bmxvY2sgeW91ciBrZXlzXG4gICAqIEBwYXJhbSB0eFByZWJ1aWxkIHRoaXMgaXMgdGhlIG91dHB1dCBvZiBgaW5zY3JpcHRpb24ucHJlcGFyZVRyYW5zZmVyYFxuICAgKi9cbiAgYXN5bmMgc2lnbkFuZFNlbmRUcmFuc2ZlcihcbiAgICB3YWxsZXRQYXNzcGhyYXNlOiBzdHJpbmcsXG4gICAgdHhQcmVidWlsZDogUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdFxuICApOiBQcm9taXNlPFN1Ym1pdFRyYW5zYWN0aW9uUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1c2VyS2V5Y2hhaW4gPSBhd2FpdCB0aGlzLndhbGxldC5iYXNlQ29pbi5rZXljaGFpbnMoKS5nZXQoeyBpZDogdGhpcy53YWxsZXQua2V5SWRzKClbS2V5SW5kaWNlcy5VU0VSXSB9KTtcbiAgICBjb25zdCBwcnYgPSB0aGlzLndhbGxldC5nZXRVc2VyUHJ2KHsga2V5Y2hhaW46IHVzZXJLZXljaGFpbiwgd2FsbGV0UGFzc3BocmFzZSB9KTtcblxuICAgIGNvbnN0IGhhbGZTaWduZWQgPSAoYXdhaXQgdGhpcy53YWxsZXQuc2lnblRyYW5zYWN0aW9uKHsgcHJ2LCB0eFByZWJ1aWxkIH0pKSBhcyBIYWxmU2lnbmVkVXR4b1RyYW5zYWN0aW9uO1xuICAgIHJldHVybiB0aGlzLndhbGxldC5zdWJtaXRUcmFuc2FjdGlvbih7IGhhbGZTaWduZWQgfSk7XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo-beta/sdk-coin-btc",
3
- "version": "1.0.2-beta.167",
3
+ "version": "1.0.2-beta.169",
4
4
  "description": "BitGo SDK coin library for Bitcoin",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -40,14 +40,14 @@
40
40
  ]
41
41
  },
42
42
  "dependencies": {
43
- "@bitgo-beta/abstract-utxo": "1.1.1-beta.167",
44
- "@bitgo-beta/sdk-core": "1.1.1-beta.168",
45
- "@bitgo-beta/utxo-lib": "2.4.2-beta.168",
46
- "@bitgo-beta/utxo-ord": "1.0.1-beta.7"
43
+ "@bitgo-beta/abstract-utxo": "1.1.1-beta.169",
44
+ "@bitgo-beta/sdk-core": "1.1.1-beta.170",
45
+ "@bitgo-beta/utxo-lib": "2.4.2-beta.170",
46
+ "@bitgo-beta/utxo-ord": "1.0.1-beta.9"
47
47
  },
48
48
  "devDependencies": {
49
- "@bitgo-beta/sdk-api": "1.1.1-beta.168",
49
+ "@bitgo-beta/sdk-api": "1.1.1-beta.170",
50
50
  "@bitgo-beta/sdk-test": "^1.2.15"
51
51
  },
52
- "gitHead": "10594f67de23ffd4a5aad24dca874ac03b5f975d"
52
+ "gitHead": "34403a6c8cc16f68a7d4a877991168cd646e05b6"
53
53
  }