beignet 0.0.10 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -158,6 +158,14 @@ const txs = [
158
158
  { address: 'address3', amount: 3000 },
159
159
  ];
160
160
  const sendManyRes = await wallet.sendMany({ txs });
161
+
162
+ // Sweep from a private key
163
+ const sweepPrivateKeyRes = await wallet.sweepPrivateKey({
164
+ privateKey: 'privateKey',
165
+ toAddress: 'toAddress',
166
+ satsPerByte: 5,
167
+ broadcast: false
168
+ });
161
169
  ```
162
170
 
163
171
  ## Documentation
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.defaultFeesShape = exports.defaultWalletData = exports.getDefaultHeader = exports.getAddressTypeContent = exports.getDefaultSendTransaction = exports.defaultSendTransaction = exports.defaultAddressContent = exports.addressTypes = void 0;
6
+ exports.getAddressTypes = exports.defaultFeesShape = exports.defaultWalletData = exports.getDefaultHeader = exports.getAddressTypeContent = exports.getDefaultSendTransaction = exports.defaultSendTransaction = exports.defaultAddressContent = exports.addressTypes = void 0;
7
7
  const lodash_clonedeep_1 = __importDefault(require("lodash.clonedeep"));
8
8
  const types_1 = require("../types");
9
9
  const types_2 = require("../types");
@@ -112,4 +112,8 @@ exports.defaultFeesShape = {
112
112
  minimum: 1,
113
113
  timestamp: Date.now() - 60 * 30 * 1000 - 1
114
114
  };
115
+ const getAddressTypes = () => {
116
+ return (0, lodash_clonedeep_1.default)(Object.values(types_1.EAddressType));
117
+ };
118
+ exports.getAddressTypes = getAddressTypes;
115
119
  //# sourceMappingURL=wallet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/shapes/wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/shapes/wallet.ts"],"names":[],"mappings":"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"}
@@ -210,7 +210,12 @@ class Transaction {
210
210
  const { inputs } = transactionDataRes;
211
211
  for (const [index, input] of inputs.entries()) {
212
212
  try {
213
- const keyPair = bip32Interface.derivePath(input.path);
213
+ let keyPair = input === null || input === void 0 ? void 0 : input.keyPair;
214
+ if (!keyPair && (input === null || input === void 0 ? void 0 : input.path)) {
215
+ keyPair = bip32Interface.derivePath(input.path);
216
+ }
217
+ if (!keyPair)
218
+ return (0, utils_1.err)('Unable to derive keyPair.');
214
219
  psbt.signInput(index, keyPair);
215
220
  }
216
221
  catch (e) {
@@ -280,8 +285,13 @@ class Transaction {
280
285
  const psbt = new bitcoin.Psbt({ network });
281
286
  try {
282
287
  for (const input of inputs) {
283
- const path = input.path;
284
- const keyPair = root.derivePath(path);
288
+ let keyPair = input === null || input === void 0 ? void 0 : input.keyPair;
289
+ if (!keyPair && (input === null || input === void 0 ? void 0 : input.path)) {
290
+ keyPair = root.derivePath(input.path);
291
+ }
292
+ if (!keyPair) {
293
+ return (0, utils_1.err)('Unable to derive keyPair.');
294
+ }
285
295
  await this.addInput({
286
296
  psbt,
287
297
  keyPair,
@@ -332,6 +342,9 @@ class Transaction {
332
342
  if (input.value <= constants_1.TRANSACTION_DEFAULTS.dustLimit) {
333
343
  return (0, utils_1.err)('Input value is below dust limit.');
334
344
  }
345
+ if (input === null || input === void 0 ? void 0 : input.keyPair) {
346
+ keyPair = input.keyPair;
347
+ }
335
348
  if (type === 'p2wpkh') {
336
349
  const p2wpkh = bitcoin.payments.p2wpkh({
337
350
  pubkey: keyPair.publicKey,
@@ -625,6 +638,36 @@ class Transaction {
625
638
  utxo.tx_pos === blacklistedUtxo.tx_pos);
626
639
  });
627
640
  }
641
+ addExternalInputs({ inputs, keyPair }) {
642
+ if (!inputs || !inputs.length)
643
+ return (0, utils_1.err)('No inputs provided.');
644
+ const transaction = this.data;
645
+ const satsPerByte = transaction.satsPerByte;
646
+ const newInputs = inputs.map((input) => {
647
+ return Object.assign(Object.assign({}, input), { keyPair });
648
+ });
649
+ const _inputs = [...transaction.inputs, ...newInputs];
650
+ const feeInfo = this.getTotalFeeObj({
651
+ satsPerByte,
652
+ transaction: Object.assign(Object.assign({}, transaction), { inputs: _inputs })
653
+ });
654
+ if (feeInfo.isErr())
655
+ return (0, utils_1.err)(feeInfo.error.message);
656
+ const feeUpdateRes = this.updateFee({
657
+ satsPerByte,
658
+ transaction: Object.assign(Object.assign({}, transaction), { inputs: _inputs })
659
+ });
660
+ if (feeUpdateRes.isErr())
661
+ return (0, utils_1.err)(feeUpdateRes.error.message);
662
+ const updateSendRes = this.updateSendTransaction({
663
+ transaction: {
664
+ inputs: _inputs
665
+ }
666
+ });
667
+ if (updateSendRes.isErr())
668
+ return (0, utils_1.err)(updateSendRes.error.message);
669
+ return (0, utils_1.ok)(_inputs);
670
+ }
628
671
  updateFee({ satsPerByte, selectedFeeId = types_1.EFeeId.custom, index = 0, transaction = this.data }) {
629
672
  var _a, _b;
630
673
  const inputTotal = this.getTransactionInputValue({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transaction/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transaction/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCASkB;AAClB,sCAAsD;AAEtD,oCAAgE;AAChE,oCAAqD;AACrD,mDAA2D;AAC3D,oCAKkB;AAQlB,iDAA+C;AAE/C,wEAA0C;AAC1C,uDAAyC;AACzC,2EAA4D;AAG5D,OAAO,CAAC,UAAU,CAAC,mBAAG,CAAC,CAAC;AAExB,MAAa,WAAW;IAIvB,YAAY,EAAE,MAAM,EAAsB;QAsK1C,gBAAW,GAAG,CAAC,EACd,WAAW,EACX,OAAO,GAAG,EAAE,EACZ,WAAW,GAAG,IAAI,CAAC,IAAI,EACvB,gBAAgB,GAAG,KAAK,EAMxB,EAAU,EAAE;YACZ,MAAM,mBAAmB,GAAG,gCAAoB,CAAC,kBAAkB,CAAC;YACpE,IAAI;gBACH,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1C,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;gBAGhD,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC5D,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAGhE,IAAI,aAAa,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE;oBACtC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;iBACpC;gBAGD,MAAM,UAAU,GAAG,IAAA,+BAAuB,EAAC,cAAc,CAAC,CAAC;gBAC3D,MAAM,WAAW,GAAG,IAAA,+BAAuB,EAAC,eAAe,CAAC,CAAC;gBAE7D,IAAI,gBAAgB,EAAE;oBACrB,WAAW,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;iBACnD;gBAED,IAAI,oBAAoB,GAAG,IAAA,oBAAY,EAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;gBAC1E,IAAI,WAAW,GAAG,CAAC,EAAE;oBACpB,MAAM,YAAY,GAAG,gCAAoB,CAAC,kBAAkB,CAAC;oBAC7D,IAAI,oBAAoB,GAAG,YAAY;wBACtC,oBAAoB,GAAG,YAAY,CAAC;iBACrC;gBACD,OAAO,oBAAoB,GAAG,WAAW,CAAC;aAC1C;YAAC,WAAM;gBACP,OAAO,mBAAmB,GAAG,WAAW,CAAC;aACzC;QACF,CAAC,CAAC;QAWF,mBAAc,GAAG,CAAC,EACjB,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAC9C,OAAO,GAAG,EAAE,EACZ,WAAW,GAAG,IAAI,CAAC,IAAI,EACvB,gBAAgB,GAAG,KAAK,KAMrB,EAAE,EAA2B,EAAE;;YAClC,IAAI;gBACH,IAAI,CAAC,CAAA,MAAA,WAAW,CAAC,MAAM,0CAAE,MAAM,CAAA,EAAE;oBAChC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;oBAC1B,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;iBACxB;gBACD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1C,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;gBAEhD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;oBACnB,OAAO,IAAA,UAAE,EAAC;wBACT,QAAQ,EAAE,CAAC;wBACX,oBAAoB,EAAE,CAAC;wBACvB,WAAW,EAAE,CAAC;wBACd,aAAa,EAAE,CAAC;qBAChB,CAAC,CAAC;iBACH;gBAGD,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC5D,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAGhE,IAAI,oBAAoB,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;oBAC5B,oBAAoB,EAAE,CAAC;iBACvB;gBAED,IAAI,aAAa,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE;oBACtC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;iBACpC;gBAGD,MAAM,UAAU,GAAG,IAAA,+BAAuB,EAAC,cAAc,CAAC,CAAC;gBAC3D,MAAM,WAAW,GAAG,IAAA,+BAAuB,EAAC,eAAe,EAAE;oBAC5D,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAE;iBACxE,CAAC,CAAC;gBAEH,IAAI,gBAAgB,EAAE;oBACrB,WAAW,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;iBACnD;gBAED,IAAI,oBAAoB,GAAG,IAAA,oBAAY,EAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;gBAC1E,IAAI,WAAW,GAAG,CAAC,EAAE;oBACpB,MAAM,YAAY,GAAG,gCAAoB,CAAC,kBAAkB,CAAC;oBAC7D,IAAI,oBAAoB,GAAG,YAAY;wBACtC,oBAAoB,GAAG,YAAY,CAAC;iBACrC;gBACD,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;gBAEjE,MAAM,SAAS,GACd,YAAY,IAAI,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;gBACzE,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC;oBAC5C,oBAAoB;oBACpB,OAAO,EAAE,SAAS;iBAClB,CAAC,CAAC;gBACH,IAAI,aAAa,GAAG,WAAW,EAAE;oBAChC,OAAO,IAAA,UAAE,EAAC;wBACT,QAAQ,EAAE,oBAAoB,GAAG,aAAa;wBAC9C,oBAAoB,EAAE,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;wBAC9D,WAAW,EAAE,aAAa;wBAC1B,aAAa;qBACb,CAAC,CAAC;iBACH;gBACD,OAAO,IAAA,UAAE,EAAC;oBACT,QAAQ,EAAE,oBAAoB,GAAG,WAAW;oBAC5C,oBAAoB;oBACpB,WAAW;oBACX,aAAa;iBACb,CAAC,CAAC;aACH;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,IAAA,WAAG,EAAC,CAAC,CAAC,CAAC;aACd;QACF,CAAC,CAAC;QAQF,sBAAiB,GAAG,CAAC,EACpB,oBAAoB,EACpB,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAInC,EAAU,EAAE;YACZ,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC;QAQF,sBAAiB,GAAG,KAAK,EAAE,EAC1B,eAAe,GAAG,IAAI,CAAC,IAAI,EAC3B,cAAc,GAAG,IAAI,KACE,EAAE,EAAgD,EAAE;YAE3E,IAAA,yBAAiB,EAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE3C,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC;gBAChD,MAAM,EAAE,eAAe,CAAC,MAAM;aAC9B,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,yBAAyB,CAAC;gBAClD,OAAO,EAAE,eAAe,CAAC,OAAO;aAChC,CAAC,CAAC;YACH,IAAI,UAAU,KAAK,CAAC,EAAE;gBACrB,MAAM,OAAO,GAAG,qBAAqB,CAAC;gBACtC,OAAO,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC;aACpB;YACD,MAAM,GAAG,GAAG,UAAU,GAAG,WAAW,CAAC;YAGrC,IAAI,GAAG,GAAG,UAAU,EAAE;gBACrB,MAAM,OAAO,GAAG,0CAA0C,CAAC;gBAC3D,OAAO,IAAA,WAAG,EAAC,OAAO,CAAC,CAAC;aACpB;YAED,MAAM,WAAW,GAAG,IAAA,2BAAmB,EAAC,eAAe,CAAC,CAAC;YACzD,IAAI,WAAW,CAAC,KAAK,EAAE;gBAAE,OAAO,IAAA,WAAG,EAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAE/D,IAAI;gBACH,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBACjE,IAAI,iBAAiB,CAAC,KAAK,EAAE,EAAE;oBAC9B,OAAO,IAAA,WAAG,EAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;iBAC5C;gBAGD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC;oBACxD,eAAe;oBACf,cAAc,EAAE,iBAAiB,CAAC,KAAK;oBACvC,cAAc,EAAE,cAAc;iBAC9B,CAAC,CAAC;gBAEH,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE;oBACpB,OAAO,IAAA,WAAG,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iBAC1B;gBAED,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;gBAE3B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;oBACzC,IAAI;oBACJ,cAAc,EAAE,iBAAiB,CAAC,KAAK;iBACvC,CAAC,CAAC;gBAEH,IAAI,aAAa,CAAC,KAAK,EAAE,EAAE;oBAC1B,OAAO,IAAA,WAAG,EAAC,aAAa,CAAC,KAAK,CAAC,CAAC;iBAChC;gBAED,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;gBACpD,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;gBACvB,OAAO,IAAA,UAAE,EAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;aACvB;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,IAAA,WAAG,EAAC,CAAC,CAAC,CAAC;aACd;QACF,CAAC,CAAC;QAMF,6BAAwB,GAAG,CAAC,EAAE,MAAM,EAAwB,EAAU,EAAE;YACvE,IAAI;gBACH,IAAI,CAAC,MAAM,EAAE;oBACZ,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;oBAC9B,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;iBAC5B;gBACD,IAAI,MAAM,EAAE;oBACX,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;oBAC9D,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE;wBACpB,OAAO,QAAQ,CAAC,KAAK,CAAC;qBACtB;iBACD;gBACD,OAAO,CAAC,CAAC;aACT;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,CAAC,CAAC;aACT;QACF,CAAC,CAAC;QAQF,aAAQ,GAAG,KAAK,EAAE,EACjB,IAAI,EACJ,cAAc,EAId,EAAyB,EAAE;YAC3B,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC;YAErC,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC;YACtC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE;gBAC9C,IAAI;oBACH,IAAI,OAAO,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC;oBAC7B,IAAI,CAAC,OAAO,KAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAA,EAAE;wBAC5B,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;qBAChD;oBACD,IAAI,CAAC,OAAO;wBAAE,OAAO,IAAA,WAAG,EAAC,2BAA2B,CAAC,CAAC;oBACtD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;iBAC/B;gBAAC,OAAO,CAAC,EAAE;oBACX,OAAO,IAAA,WAAG,EAAC,CAAC,CAAC,CAAC;iBACd;aACD;YAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,OAAO,IAAA,UAAE,EAAC,IAAI,CAAC,CAAC;QACjB,CAAC,CAAC;QASF,kCAA6B,GAAG,KAAK,EAAE,EACtC,eAAe,EACf,cAAc,EACd,cAAc,GAAG,IAAI,EAKrB,EAAyB,EAAE;YAC3B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC;YACtD,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;YAGjD,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC;gBAC7C,MAAM;aACN,CAAC,CAAC;YAGH,MAAM,WAAW,GAAG,IAAI,CAAC,yBAAyB,CAAC;gBAClD,OAAO;aACP,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,wBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAG/C,IAAI,OAAO,GAAe,OAAO,CAAC,MAAM,EAAE,CAAC;YAG3C,IAAI,aAAa,EAAE;gBAClB,MAAM,kBAAkB,GAAG,OAAO,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;gBAGzD,IAAI,kBAAkB,GAAG,gCAAoB,CAAC,SAAS,EAAE;oBACxD,OAAO,CAAC,IAAI,CAAC;wBACZ,OAAO,EAAE,aAAa;wBACtB,KAAK,EAAE,kBAAkB;wBACzB,KAAK,EAAE,OAAO,CAAC,MAAM;qBACrB,CAAC,CAAC;iBACH;aAGD;iBAAM,IAAI,WAAW,GAAG,GAAG,GAAG,OAAO,EAAE;gBAEvC,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;gBAChD,IAAI,SAAS,GAAG,gCAAoB,CAAC,SAAS,EAAE;oBAC/C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;oBAC/D,IAAI,gBAAgB,CAAC,KAAK,EAAE,EAAE;wBAC7B,OAAO,IAAA,WAAG,EAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;qBAC3C;oBACD,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC;oBAC/C,OAAO,CAAC,IAAI,CAAC;wBACZ,OAAO,EAAE,aAAa;wBACtB,KAAK,EAAE,SAAS;wBAChB,KAAK,EAAE,OAAO,CAAC,MAAM;qBACrB,CAAC,CAAC;iBACH;aACD;YAGD,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC1B,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;gBACrC,MAAM,SAAS,GAAG,CAAC,CAAC;gBAEpB,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,GAAG,SAAS,EAAE;oBACnD,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC;iBACjD;gBACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACpC,IAAI,EAAE,CAAC,IAAI,CAAC;oBACZ,OAAO;iBACP,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;aACzE;YAED,IAAI,CAAC,cAAc,EAAE;gBACpB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBACjE,IAAI,iBAAiB,CAAC,KAAK,EAAE,EAAE;oBAC9B,OAAO,IAAA,WAAG,EAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;iBAC5C;gBACD,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC;aACzC;YAED,MAAM,IAAI,GAAG,cAAc,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YAG3C,IAAI;gBACH,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;oBAC3B,IAAI,OAAO,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC;oBAC7B,IAAI,CAAC,OAAO,KAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAA,EAAE;wBAC5B,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;qBACtC;oBACD,IAAI,CAAC,OAAO,EAAE;wBACb,OAAO,IAAA,WAAG,EAAC,2BAA2B,CAAC,CAAC;qBACxC;oBACD,MAAM,IAAI,CAAC,QAAQ,CAAC;wBACnB,IAAI;wBACJ,OAAO;wBACP,KAAK;qBACL,CAAC,CAAC;iBACH;aACD;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,IAAA,WAAG,EAAC,CAAC,CAAC,CAAC;aACd;YAGD,IAAA,uBAAe,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAGzC,IAAI,cAAc,EAAE;gBACnB,OAAO,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC;aAChC;YAED,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;;gBAE1B,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,IAAI;oBACH,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;iBAC7B;gBAAC,OAAO,CAAC,EAAE,GAAE;gBACd,IAAI,UAAU,EAAE;oBACf,IAAI,MAAM,CAAC,MAAM,EAAE;wBAClB,IAAI,CAAC,SAAS,CAAC;4BACd,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,KAAK,EAAE,MAAA,MAAM,CAAC,KAAK,mCAAI,CAAC;yBACxB,CAAC,CAAC;qBACH;iBACD;qBAAM;oBACN,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE;wBACnC,IAAI,CAAC,SAAS,CAAC;4BACd,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,KAAK,EAAE,MAAM,CAAC,KAAK;yBACnB,CAAC,CAAC;qBACH;iBACD;YACF,CAAC,CAAC,CAAC;YAEH,OAAO,IAAA,UAAE,EAAC,IAAI,CAAC,CAAC;QACjB,CAAC,CAAC;QAEF,aAAQ,GAAG,KAAK,EAAE,EACjB,IAAI,EACJ,OAAO,EACP,KAAK,EACM,EAA2B,EAAE;YACxC,IAAI;gBACH,MAAM,OAAO,GAAG,wBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,2CAAc,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAE/C,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;oBACjB,OAAO,IAAA,WAAG,EAAC,oBAAoB,CAAC,CAAC;iBACjC;gBAED,IAAI,KAAK,CAAC,KAAK,IAAI,gCAAoB,CAAC,SAAS,EAAE;oBAClD,OAAO,IAAA,WAAG,EAAC,kCAAkC,CAAC,CAAC;iBAC/C;gBAGD,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAAE;oBACnB,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;iBACxB;gBAED,IAAI,IAAI,KAAK,QAAQ,EAAE;oBACtB,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;wBACtC,MAAM,EAAE,OAAO,CAAC,SAAS;wBACzB,OAAO;qBACP,CAAC,CAAC;oBACH,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA,EAAE;wBACpB,OAAO,IAAA,WAAG,EAAC,6BAA6B,CAAC,CAAC;qBAC1C;oBACD,IAAI,CAAC,QAAQ,CAAC;wBACb,IAAI,EAAE,KAAK,CAAC,OAAO;wBACnB,KAAK,EAAE,KAAK,CAAC,MAAM;wBACnB,WAAW,EAAE;4BACZ,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,KAAK,EAAE,KAAK,CAAC,KAAK;yBAClB;qBACD,CAAC,CAAC;iBACH;gBAED,IAAI,IAAI,KAAK,MAAM,EAAE;oBACpB,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;wBACtC,MAAM,EAAE,OAAO,CAAC,SAAS;wBACzB,OAAO;qBACP,CAAC,CAAC;oBACH,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;oBAChE,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAA,EAAE;wBAClB,OAAO,IAAA,WAAG,EAAC,2BAA2B,CAAC,CAAC;qBACxC;oBACD,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAA,EAAE;wBAClB,OAAO,IAAA,WAAG,EAAC,kCAAkC,CAAC,CAAC;qBAC/C;oBACD,IAAI,CAAC,QAAQ,CAAC;wBACb,IAAI,EAAE,KAAK,CAAC,OAAO;wBACnB,KAAK,EAAE,KAAK,CAAC,MAAM;wBACnB,WAAW,EAAE;4BACZ,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,KAAK,EAAE,KAAK,CAAC,KAAK;yBAClB;wBACD,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;qBAChC,CAAC,CAAC;iBACH;gBAED,IAAI,IAAI,KAAK,OAAO,EAAE;oBACrB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;wBAC/D,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;qBACtC,CAAC,CAAC;oBACH,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE;wBACxB,OAAO,IAAA,WAAG,EAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;qBACtC;oBACD,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;oBACjD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAC/C,IAAI,CAAC,QAAQ,CAAC;wBACb,IAAI,EAAE,KAAK,CAAC,OAAO;wBACnB,KAAK,EAAE,KAAK,CAAC,MAAM;wBACnB,cAAc;qBACd,CAAC,CAAC;iBACH;gBACD,OAAO,IAAA,UAAE,EAAC,SAAS,CAAC,CAAC;aACrB;YAAC,WAAM;gBACP,OAAO,IAAA,WAAG,EAAC,sBAAsB,CAAC,CAAC;aACnC;QACF,CAAC,CAAC;QAyDF,cAAS,GAAG,KAAK,EAAE,EAClB,OAAO,EACP,KAAK,EACL,KAAK,GAAG,CAAC,EACA,EAA2B,EAAE;;YACtC,IAAI,KAAK,IAAI,gCAAoB,CAAC,SAAS,EAAE;gBAC5C,OAAO,IAAA,WAAG,EAAC,mCAAmC,CAAC,CAAC;aAChD;YACD,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAA,EAAE;gBAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC/C,IAAI,QAAQ,CAAC,KAAK,EAAE;oBAAE,OAAO,IAAA,WAAG,EAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aACzD;YACD,OAAO,IAAI,CAAC,qBAAqB,CAAC;gBACjC,WAAW,EAAE;oBACZ,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;iBACpC;aACD,CAAC,CAAC;QACJ,CAAC,CAAC;QAOF,8BAAyB,GAAG,CAAC,EAC5B,OAAO,KAGJ,EAAE,EAAU,EAAE;YACjB,IAAI;gBACH,IAAI,CAAC,OAAO,EAAE;oBACb,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;oBAC9B,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;iBAC9B;gBACD,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/D,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE;oBACpB,OAAO,QAAQ,CAAC,KAAK,CAAC;iBACtB;gBACD,OAAO,CAAC,CAAC;aACT;YAAC,WAAM;gBACP,OAAO,CAAC,CAAC;aACT;QACF,CAAC,CAAC;QAOF,0BAAqB,GAAG,CAAC,EACxB,WAAW,EAGX,EAAkB,EAAE;YACpB,IAAI;gBAEH,IAAI,WAAW,CAAC,OAAO,EAAE;oBACxB,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;oBACzD,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACpD,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;wBAEtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;oBAChC,CAAC,CAAC,CAAC;oBACH,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;iBAC9B;gBAED,IAAI,CAAC,KAAK,mCACN,IAAI,CAAC,KAAK,GACV,WAAW,CACd,CAAC;gBAEF,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBAE7D,OAAO,IAAA,UAAE,EAAC,qBAAqB,CAAC,CAAC;aACjC;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,IAAA,WAAG,EAAC,CAAC,CAAC,CAAC;aACd;QACF,CAAC,CAAC;QAoFF,YAAO,GAAG,KAAK,EAAE,EAChB,OAAO,EACP,WAAW,EACX,KAAK,GAAG,CAAC,EACT,WAAW,EACX,GAAG,GAAG,KAAK,KAOR,EAAE,EAA2B,EAAE;;YAClC,IAAI;gBACH,IAAI,CAAC,WAAW,EAAE;oBACjB,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;iBACxB;gBACD,IAAI,CAAC,CAAA,MAAA,WAAW,CAAC,MAAM,0CAAE,MAAM,CAAA,EAAE;oBAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;oBACtD,IAAI,QAAQ,CAAC,KAAK,EAAE;wBAAE,OAAO,IAAA,WAAG,EAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;iBACzD;gBACD,MAAM,OAAO,GAAG,MAAA,WAAW,CAAC,OAAO,mCAAI,EAAE,CAAC;gBAE1C,IAAI,CAAC,OAAO,EAAE;oBACb,OAAO,GAAG,MAAA,MAAA,OAAO,CAAC,KAAK,CAAC,0CAAE,OAAO,mCAAI,EAAE,CAAC;iBACxC;gBAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC;oBAC/C,WAAW,EAAE,MAAA,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,mCAAI,CAAC;oBACzD,aAAa,EAAE,WAAW,CAAC,aAAa;oBACxC,WAAW;iBACX,CAAC,CAAC;gBACH,IAAI,iBAAiB,CAAC,KAAK,EAAE,EAAE;oBAC9B,OAAO,IAAA,WAAG,EAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;iBACpC;gBACD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC;gBAEhD,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE;oBACrB,IAAI,CAAC,qBAAqB,CAAC;wBAC1B,WAAW,EAAE;4BACZ,GAAG,EAAE,IAAI;4BACT,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;4BAC5C,GAAG;yBACH;qBACD,CAAC,CAAC;iBACH;qBAAM;oBACN,IAAI,CAAC,qBAAqB,CAAC;wBAC1B,WAAW,EAAE;4BACZ,GAAG,EAAE,KAAK;yBACV;qBACD,CAAC,CAAC;iBACH;gBAED,OAAO,IAAA,UAAE,EAAC,0CAA0C,CAAC,CAAC;aACtD;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,IAAA,WAAG,EAAC,CAAC,CAAC,CAAC;aACd;QACF,CAAC,CAAC;QAQF,6BAAwB,GAAG,CAAC,EAC3B,WAAW,EACX,aAAa,EAIb,EAAgE,EAAE;;YAClE,IAAI;gBACH,IAAI,CAAC,WAAW,EAAE;oBACjB,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;iBACxB;gBAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBACxC,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC;gBAE7C,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC;oBAChD,MAAM,EAAE,WAAW,CAAC,MAAM;iBAC1B,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC;gBAEzE,IAAI,KAAK,GAAY,EAAE,CAAC;gBAExB,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,IAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,CAAC,MAAM,CAAA,EAAE;oBAC5D,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;iBAC3B;qBAAM;oBACN,KAAK,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,mCAAI,EAAE,CAAC;iBACnC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;gBACvC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;gBACjD,MAAM,WAAW,GAAG,MAAA,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,IAAI,CAAC,aAAa,CAAC,mCAAI,CAAC,CAAC;gBAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;oBAC5B,WAAW;oBACX,OAAO,EAAE,WAAW,CAAC,OAAO;oBAC5B,WAAW,kCACP,WAAW,KACd,GAAG,EAAE,IAAI,EACT,MAAM,EAAE,KAAK,EACb,aAAa;wBACb,WAAW,GACX;iBACD,CAAC,CAAC;gBAEH,IAAI,MAAM,IAAI,GAAG,EAAE;oBAClB,OAAO,IAAA,WAAG,EACT,gBAAgB,MAAM,gDAAgD,GAAG,OAAO,WAAW,gBAAgB,CAC3G,CAAC;iBACF;gBAED,MAAM,SAAS,GAAG;oBACjB,MAAM,EAAE,MAAM,GAAG,GAAG;oBACpB,GAAG;oBACH,WAAW;iBACX,CAAC;gBAEF,OAAO,IAAA,UAAE,EAAC,SAAS,CAAC,CAAC;aACrB;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,IAAA,WAAG,EAAC,CAAC,CAAC,CAAC;aACd;QACF,CAAC,CAAC;QA3/BD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAA,kCAAyB,GAAE,CAAC;IAC1C,CAAC;IAED,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAYM,KAAK,CAAC,gBAAgB,CAAC,EAC7B,aAAa,EACb,KAAK,EACL,GAAG,GAAG,KAAK,EACX,WAAW,GAAG,CAAC,EACf,OAAO,KACe,EAAE;;QACxB,IAAI;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;YAElD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAExC,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;YAG9C,IAAI,MAAM,GAAY,EAAE,CAAC;YACzB,IAAI,aAAa,EAAE;gBAElB,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC5C,OAAO,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7C,CAAC,CAAC,CAAC;aACH;iBAAM,IAAI,KAAK,EAAE;gBACjB,MAAM,GAAG,KAAK,CAAC;aACf;iBAAM;gBACN,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC;aAC7B;YAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBAEnB,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBAClC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;iBAC5B;qBAAM;oBAEN,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;iBAC1D;aACD;YAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBACnB,OAAO,IAAA,WAAG,EAAC,0CAA0C,CAAC,CAAC;aACvD;YAED,MAAM,sBAAsB,GAAG,aAAa,CAAC,eAAe,CAAC;YAE7D,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAY,CAAC,CAAC;YACpD,IAAI,eAAe,GAAe,EAAE,CAAC;YACrC,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC/B,eAAe,mCACX,eAAe,GACf,sBAAsB,CAAC,GAAG,CAAC,CAC9B,CAAC;YACH,CAAC,CAAC,CAAC;YACH,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAC5D,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CACxB,CAAC;YAEF,MAAM,yBAAyB,GAC9B,aAAa,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAE/C,MAAM,aAAa,GAAG,yBAAyB,CAAC,OAAO,CAAC;YACxD,IAAI,CAAC,aAAa,EAAE;gBACnB,OAAO,IAAA,WAAG,EAAC,mDAAmD,CAAC,CAAC;aAChE;YAED,MAAM,gBAAgB,GAAG,MAAA,aAAa,CAAC,WAAW,0CAAE,gBAAgB,CAAC;YAErE,OAAO,GAAG,OAAO,KAAI,MAAA,aAAa,CAAC,WAAW,0CAAE,OAAO,CAAA,IAAI,EAAE,CAAC;YAC9D,IAAI,CAAC,gBAAgB,EAAE;gBAEtB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;oBACnC,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;wBACnE,OAAO,MAAM,CAAC;qBACd;gBACF,CAAC,CAAC,CAAC;aACH;YAGD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;gBAC5B,WAAW;gBACX,OAAO,EAAE,EAAE;gBACX,WAAW,kCACP,WAAW,KACd,MAAM;oBACN,OAAO,GACP;aACD,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG;gBACf,MAAM;gBACN,aAAa;gBACb,GAAG;gBACH,OAAO;gBACP,GAAG;gBACH,WAAW;aACX,CAAC;YAEF,IAAI,CAAC,KAAK,mCACN,IAAI,CAAC,KAAK,GACV,OAAO,CACV,CAAC;YAGF,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAE7D,OAAO,IAAA,UAAE,EAAC,OAAO,CAAC,CAAC;SACnB;QAAC,OAAO,CAAC,EAAE;YACX,OAAO,IAAA,WAAG,EAAC,CAAC,CAAC,CAAC;SACd;IACF,CAAC;IAMD,KAAK,CAAC,oBAAoB;QACzB,IAAI,CAAC,KAAK,GAAG,IAAA,kCAAyB,GAAE,CAAC;QACzC,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7D,OAAO,IAAA,UAAE,EAAC,oBAAoB,CAAC,CAAC;IACjC,CAAC;IAMD,sBAAsB,CAAC,KAAe;QACrC,IAAI,CAAC,KAAK,EAAE;YACX,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;SAChC;QACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC5D,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5B,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAC5B,CAAC,eAAe,EAAE,EAAE,CACnB,IAAI,CAAC,OAAO,KAAK,eAAe,CAAC,OAAO;gBACxC,IAAI,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM;gBACtC,IAAI,CAAC,OAAO,KAAK,eAAe,CAAC,OAAO;gBACxC,IAAI,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,CACvC,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAmhBM,iBAAiB,CAAC,EACxB,MAAM,EACN,OAAO,EAIP;QACA,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,IAAA,WAAG,EAAC,qBAAqB,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9B,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,uCACI,KAAK,KACR,OAAO,IACN;QACH,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;YACnC,WAAW;YACX,WAAW,kCACP,WAAW,KACd,MAAM,EAAE,OAAO,GACf;SACD,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,KAAK,EAAE;YAAE,OAAO,IAAA,WAAG,EAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC;YACnC,WAAW;YACX,WAAW,kCACP,WAAW,KACd,MAAM,EAAE,OAAO,GACf;SACD,CAAC,CAAC;QACH,IAAI,YAAY,CAAC,KAAK,EAAE;YAAE,OAAO,IAAA,WAAG,EAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjE,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC;YAChD,WAAW,EAAE;gBACZ,MAAM,EAAE,OAAO;aACf;SACD,CAAC,CAAC;QACH,IAAI,aAAa,CAAC,KAAK,EAAE;YAAE,OAAO,IAAA,WAAG,EAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnE,OAAO,IAAA,UAAE,EAAC,OAAO,CAAC,CAAC;IACpB,CAAC;IAgGM,SAAS,CAAC,EAChB,WAAW,EACX,aAAa,GAAG,cAAM,CAAC,MAAM,EAC7B,KAAK,GAAG,CAAC,EACT,WAAW,GAAG,IAAI,CAAC,IAAI,EAMvB;;QACA,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC;YAChD,MAAM,EAAE,WAAW,CAAC,MAAM;SAC1B,CAAC,CAAC;QAEH,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAC9C,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,EAAE;YAC3B,OAAO,GAAG,MAAA,MAAA,OAAO,CAAC,KAAK,CAAC,0CAAE,OAAO,mCAAI,EAAE,CAAC;SACxC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QAGvE,IAAI,MAAM,IAAI,UAAU,GAAG,CAAC,EAAE;YAC7B,OAAO,IAAA,WAAG,EACT,mGAAmG,CACnG,CAAC;SACF;QAED,MAAM,qBAAqB,GAAG,IAAI,CAAC,yBAAyB,CAAC;YAC5D,OAAO;SACP,CAAC,CAAC;QAGH,IAAI,MAAM,IAAI,qBAAqB,GAAG,CAAC,EAAE;YACxC,OAAO,IAAA,WAAG,EACT,2GAA2G,CAC3G,CAAC;SACF;QAED,MAAM,cAAc,GAAG,qBAAqB,GAAG,MAAM,CAAC;QACtD,MAAM,YAAY,GAA8B;YAC/C,WAAW;YACX,GAAG,EAAE,MAAM;YACX,aAAa;SACb,CAAC;QAEF,IAAI,GAAG,EAAE;YAER,YAAY,CAAC,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;SACxE;QAGD,IAAI,GAAG,IAAI,cAAc,IAAI,UAAU,EAAE;YACxC,IAAI,CAAC,qBAAqB,CAAC;gBAC1B,WAAW,EAAE,YAAY;aACzB,CAAC,CAAC;YACH,OAAO,IAAA,UAAE,EAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;SAC3B;QAED,OAAO,IAAA,WAAG,EACT,uFAAuF,CACvF,CAAC;IACH,CAAC;IA8ID,gBAAgB,CAAC,EAChB,WAAW,EACX,aAAa,GAAG,cAAM,CAAC,IAAI,EAC3B,WAAW,GAAG,IAAI,CAAC,IAAI,EAKvB;;QACA,IAAI;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC;gBAChD,MAAM,EAAE,WAAW,CAAC,MAAM;aAC1B,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,UAAU,CAAC;YAE1B,MAAM,MAAM,GAAG,MAAA,WAAW,CAAC,MAAM,mCAAI,EAAE,CAAC;YAExC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;gBAC5B,WAAW;gBACX,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,WAAW,kCACP,WAAW,KACd,GAAG,EAAE,IAAI,EACT,MAAM;oBACN,aAAa;oBACb,WAAW,GACX;aACD,CAAC,CAAC;YAEH,IAAI,MAAM,IAAI,GAAG,EAAE;gBAClB,OAAO,IAAA,WAAG,EACT,gBAAgB,MAAM,gDAAgD,GAAG,OAAO,WAAW,gBAAgB,CAC3G,CAAC;aACF;YAED,MAAM,SAAS,GAAG;gBACjB,MAAM,EAAE,MAAM,GAAG,GAAG;gBACpB,GAAG;aACH,CAAC;YAEF,OAAO,IAAA,UAAE,EAAC,SAAS,CAAC,CAAC;SACrB;QAAC,OAAO,CAAC,EAAE;YACX,OAAO,IAAA,WAAG,EAAC,CAAC,CAAC,CAAC;SACd;IACF,CAAC;IAOD,KAAK,CAAC,SAAS,CAAC,EACf,IAAI,EACJ,WAAW,EAIX;;QACA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC;YAC5C,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YACxC,GAAG,EAAE,IAAI;SACT,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAChE,IAAI,cAAc,CAAC,KAAK,EAAE,EAAE;YAC3B,OAAO,IAAA,WAAG,EAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SACzC;QAED,IAAI,CAAC,KAAK,iDACN,IAAI,CAAC,KAAK,GACV,QAAQ,KACX,WAAW,EAAE,MAAA,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,WAAW,mCAAI,CAAC,EACvD,SAAS,EAAE,kBAAU,CAAC,IAAI,GAC1B,CAAC;QAGF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;YAC1C,OAAO,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CAAC;QACH,IAAI,eAAe,CAAC,KAAK,EAAE,EAAE;YAC5B,OAAO,IAAA,WAAG,EAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC1C;QAED,OAAO,IAAA,UAAE,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;CACD;AA9lCD,kCA8lCC"}
@@ -1,5 +1,5 @@
1
1
  import { TAddressTypeContent, IHeader, TAddressTypes, IOnchainFees } from '../types';
2
- import { IAddress, ISendTransaction, IWalletData } from '../types';
2
+ import { IAddress, ISendTransaction, IWalletData, EAddressType } from '../types';
3
3
  export declare const addressTypes: Readonly<TAddressTypes>;
4
4
  export declare const defaultAddressContent: Readonly<IAddress>;
5
5
  export declare const defaultSendTransaction: ISendTransaction;
@@ -8,3 +8,4 @@ export declare const getAddressTypeContent: <T>(data: T) => Readonly<TAddressTyp
8
8
  export declare const getDefaultHeader: () => IHeader;
9
9
  export declare const defaultWalletData: Readonly<IWalletData>;
10
10
  export declare const defaultFeesShape: IOnchainFees;
11
+ export declare const getAddressTypes: () => EAddressType[];
@@ -4,6 +4,7 @@ import { Result } from '../utils';
4
4
  import { IAddInput, ICreateTransaction, ISetupTransaction, TSetupTransactionResponse } from '../types';
5
5
  import { Psbt } from 'bitcoinjs-lib';
6
6
  import { BIP32Interface } from 'bip32';
7
+ import { ECPairInterface } from 'ecpair';
7
8
  export declare class Transaction {
8
9
  private _data;
9
10
  private readonly _wallet;
@@ -47,6 +48,10 @@ export declare class Transaction {
47
48
  shuffleTargets?: boolean | undefined;
48
49
  }) => Promise<Result<Psbt>>;
49
50
  addInput: ({ psbt, keyPair, input }: IAddInput) => Promise<Result<string>>;
51
+ addExternalInputs({ inputs, keyPair }: {
52
+ inputs: IUtxo[];
53
+ keyPair: BIP32Interface | ECPairInterface;
54
+ }): Result<IUtxo[]>;
50
55
  addOutput: ({ address, value, index }: IOutput) => Promise<Result<string>>;
51
56
  getTransactionOutputValue: ({ outputs }?: {
52
57
  outputs?: IOutput[] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/types/transaction.ts"],"names":[],"mappings":";;;AA+BA,IAAY,MAMX;AAND,WAAY,MAAM;IACjB,uBAAa,CAAA;IACb,2BAAiB,CAAA;IACjB,uBAAa,CAAA;IACb,2BAAiB,CAAA;IACjB,uBAAa,CAAA;AACd,CAAC,EANW,MAAM,GAAN,cAAM,KAAN,cAAM,QAMjB"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/types/transaction.ts"],"names":[],"mappings":";;;AAgCA,IAAY,MAMX;AAND,WAAY,MAAM;IACjB,uBAAa,CAAA;IACb,2BAAiB,CAAA;IACjB,uBAAa,CAAA;IACb,2BAAiB,CAAA;IACjB,uBAAa,CAAA;AACd,CAAC,EANW,MAAM,GAAN,cAAM,KAAN,cAAM,QAMjB"}
@@ -3,13 +3,14 @@ import { IOutput, ISendTransaction, IUtxo, IVin, IVout } from './wallet';
3
3
  import { BIP32Interface } from 'bip32';
4
4
  import { Psbt } from 'bitcoinjs-lib';
5
5
  import { Result } from '../utils';
6
+ import { ECPairInterface } from 'ecpair';
6
7
  export interface ICreateTransaction {
7
8
  transactionData?: ISendTransaction;
8
9
  shuffleOutputs?: boolean;
9
10
  }
10
11
  export interface IAddInput {
11
12
  psbt: Psbt;
12
- keyPair: BIP32Interface;
13
+ keyPair: BIP32Interface | ECPairInterface;
13
14
  input: IUtxo;
14
15
  }
15
16
  export interface ITargets {
@@ -5,6 +5,8 @@ import { EElectrumNetworks, IHeader, INewBlock, TServer, TTxResult } from './ele
5
5
  import { EFeeId } from './transaction';
6
6
  import { TLSSocket } from 'tls';
7
7
  import { Server } from 'net';
8
+ import { ECPairInterface } from 'ecpair';
9
+ import { BIP32Interface } from 'bip32';
8
10
  export type TAvailableNetworks = 'bitcoin' | 'testnet' | 'regtest';
9
11
  export type TAddressType = 'p2wpkh' | 'p2sh' | 'p2pkh';
10
12
  export type TAddressLabel = 'bech32' | 'segwit' | 'legacy';
@@ -54,6 +56,7 @@ export interface IUtxo {
54
56
  tx_hash: string;
55
57
  tx_pos: number;
56
58
  value: number;
59
+ keyPair?: BIP32Interface | ECPairInterface;
57
60
  }
58
61
  export interface IVin {
59
62
  scriptSig: {
@@ -211,16 +214,6 @@ export interface IGetAddressBalanceRes {
211
214
  confirmed: number;
212
215
  unconfirmed: number;
213
216
  }
214
- export interface IUtxo {
215
- address: string;
216
- index: number;
217
- path: string;
218
- scriptHash: string;
219
- height: number;
220
- tx_hash: string;
221
- tx_pos: number;
222
- value: number;
223
- }
224
217
  export interface IGenerateAddresses {
225
218
  addressAmount?: number;
226
219
  changeAddressAmount?: number;
@@ -243,6 +236,14 @@ export interface IGetAddressResponse {
243
236
  path: string;
244
237
  publicKey: string;
245
238
  }
239
+ export interface IGetAddressesFromPrivateKey {
240
+ keyPair: BIP32Interface | ECPairInterface;
241
+ addresses: IGetAddressesFromKeyPair[];
242
+ }
243
+ export interface IGetAddressesFromKeyPair {
244
+ address: string;
245
+ publicKey: string;
246
+ }
246
247
  export interface IGetNextAvailableAddressResponse {
247
248
  addressIndex: IAddress;
248
249
  lastUsedAddressIndex: IAddress;
@@ -399,3 +400,21 @@ export interface IBoostedTransaction {
399
400
  export interface IBoostedTransactions {
400
401
  [txId: string]: IBoostedTransaction;
401
402
  }
403
+ export interface IPrivateKeyInfo {
404
+ balance: number;
405
+ utxos: IUtxo[];
406
+ keyPair: ECPairInterface | BIP32Interface;
407
+ addresses: IGetAddressesFromKeyPair[];
408
+ }
409
+ export interface ISweepPrivateKey {
410
+ privateKey: string;
411
+ toAddress: string;
412
+ satsPerByte?: number;
413
+ broadcast?: boolean;
414
+ combineWithWalletUtxos?: boolean;
415
+ }
416
+ export interface ISweepPrivateKeyRes {
417
+ balance: number;
418
+ id: string;
419
+ hex: string;
420
+ }
@@ -1,6 +1,9 @@
1
1
  /// <reference types="node" />
2
- import { EAddressType, EAvailableNetworks, IKeyDerivationPath } from '../types';
2
+ import { EAddressType, EAvailableNetworks, IGetAddressesFromKeyPair, IGetAddressesFromPrivateKey, IKeyDerivationPath } from '../types';
3
+ import { Network } from 'bitcoinjs-lib';
3
4
  import { Result } from './result';
5
+ import { ECPairInterface } from 'ecpair';
6
+ import { BIP32Interface } from 'bip32';
4
7
  export declare const getAddressFromScriptPubKey: (scriptPubKey: string, selectedNetwork: EAvailableNetworks) => string;
5
8
  export declare const getSha256: (str: string) => string;
6
9
  export declare const validateAddress: ({ address, network }: {
@@ -21,3 +24,13 @@ export declare const getScriptHash: ({ address, network }: {
21
24
  export declare const generateMnemonic: (strength?: number, rng?: ((size: number) => Buffer) | undefined, wordlist?: string[]) => string;
22
25
  export declare const validateMnemonic: (mnemonic?: string) => boolean;
23
26
  export declare const objectsMatch: (obj1: any, obj2: any) => boolean;
27
+ export declare const getAddressFromKeyPair: ({ keyPair, addressType, network }: {
28
+ keyPair: BIP32Interface | ECPairInterface;
29
+ addressType: EAddressType;
30
+ network: Network;
31
+ }) => IGetAddressesFromKeyPair;
32
+ export declare const getAddressesFromPrivateKey: ({ privateKey, addrTypes, network }: {
33
+ privateKey: string;
34
+ addrTypes?: EAddressType[] | undefined;
35
+ network?: Network | undefined;
36
+ }) => Result<IGetAddressesFromPrivateKey>;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
3
  import { BIP32Interface } from 'bip32';
4
- import { EAddressType, EAvailableNetworks, EBoostType, EFeeId, IAddress, IBoostedTransaction, IBoostedTransactions, IExchangeRates, IFormattedTransaction, IFormattedTransactions, IGenerateAddresses, IGenerateAddressesResponse, IGetAddress, IGetAddressBalanceRes, IGetAddressByPath, IGetAddressResponse, IGetNextAvailableAddressResponse, IGetUtxosResponse, IHeader, IKeyDerivationPath, InputData, IOnchainFees, IRbfData, ISendTransaction, ISendTx, ISetupTransaction, ITransaction, ITxHash, IUtxo, IWallet, IWalletData, TAddressIndexInfo, TGetTotalFeeObj, TOnMessage, TServer, TSetupTransactionResponse, TWalletDataKeys } from '../types';
4
+ import { EAddressType, EAvailableNetworks, EBoostType, EFeeId, IAddress, IBoostedTransaction, IBoostedTransactions, IExchangeRates, IFormattedTransaction, IFormattedTransactions, IGenerateAddresses, IGenerateAddressesResponse, IGetAddress, IGetAddressBalanceRes, IGetAddressByPath, IGetAddressesFromPrivateKey, IGetAddressResponse, IGetNextAvailableAddressResponse, IGetUtxosResponse, IHeader, IKeyDerivationPath, InputData, IOnchainFees, IPrivateKeyInfo, IRbfData, ISendTransaction, ISendTx, ISetupTransaction, ISweepPrivateKey, ISweepPrivateKeyRes, ITransaction, ITxHash, IUtxo, IWallet, IWalletData, TAddressIndexInfo, TGetTotalFeeObj, TOnMessage, TServer, TSetupTransactionResponse, TWalletDataKeys } from '../types';
5
5
  import { Result } from '../utils';
6
6
  import { Electrum } from '../electrum';
7
7
  import { Transaction } from '../transaction';
@@ -218,4 +218,7 @@ export declare class Wallet {
218
218
  }): Result<string>;
219
219
  updateExchangeRates(): Promise<Result<IExchangeRates>>;
220
220
  updateFeeEstimates(forceUpdate?: boolean): Promise<Result<IOnchainFees>>;
221
+ getAddressesFromPrivateKey(privateKey: string, _addressTypes?: EAddressType[]): Result<IGetAddressesFromPrivateKey>;
222
+ getPrivateKeyInfo(privateKey: string): Promise<Result<IPrivateKeyInfo>>;
223
+ sweepPrivateKey({ privateKey, toAddress, satsPerByte, broadcast, combineWithWalletUtxos }: ISweepPrivateKey): Promise<Result<ISweepPrivateKeyRes>>;
221
224
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/types/wallet.ts"],"names":[],"mappings":";;;AAuBA,IAAY,kBAQX;AARD,WAAY,kBAAkB;IAC7B,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,gDAA0B,CAAA;IAC1B,yCAAmB,CAAA;IACnB,gDAA0B,CAAA;IAC1B,yCAAmB,CAAA;IACnB,gDAA0B,CAAA;AAC3B,CAAC,EARW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAQ7B;AACD,IAAY,YAMX;AAND,WAAY,YAAY;IACvB,iCAAiB,CAAA;IACjB,6BAAa,CAAA;IACb,+BAAe,CAAA;AAGhB,CAAC,EANW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAMvB;AAED,IAAY,YAGX;AAHD,WAAY,YAAY;IACvB,6BAAa,CAAA;IACb,qCAAqB,CAAA;AACtB,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB;AAqED,IAAY,UAGX;AAHD,WAAY,UAAU;IACrB,yBAAW,CAAA;IACX,2BAAa,CAAA;AACd,CAAC,EAHW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAGrB;AAwPD,IAAY,KAIX;AAJD,WAAY,KAAK;IAChB,4BAAmB,CAAA;IACnB,oBAAW,CAAA;IACX,sBAAa,CAAA;AACd,CAAC,EAJW,KAAK,GAAL,aAAK,KAAL,aAAK,QAIhB"}
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/types/wallet.ts"],"names":[],"mappings":";;;AAyBA,IAAY,kBAQX;AARD,WAAY,kBAAkB;IAC7B,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,gDAA0B,CAAA;IAC1B,yCAAmB,CAAA;IACnB,gDAA0B,CAAA;IAC1B,yCAAmB,CAAA;IACnB,gDAA0B,CAAA;AAC3B,CAAC,EARW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAQ7B;AACD,IAAY,YAMX;AAND,WAAY,YAAY;IACvB,iCAAiB,CAAA;IACjB,6BAAa,CAAA;IACb,+BAAe,CAAA;AAGhB,CAAC,EANW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAMvB;AAED,IAAY,YAGX;AAHD,WAAY,YAAY;IACvB,6BAAa,CAAA;IACb,qCAAqB,CAAA;AACtB,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB;AAsED,IAAY,UAGX;AAHD,WAAY,UAAU;IACrB,yBAAW,CAAA;IACX,2BAAa,CAAA;AACd,CAAC,EAHW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAGrB;AAuPD,IAAY,KAIX;AAJD,WAAY,KAAK;IAChB,4BAAmB,CAAA;IACnB,oBAAW,CAAA;IACX,sBAAa,CAAA;AACd,CAAC,EAJW,KAAK,GAAL,aAAK,KAAL,aAAK,QAIhB"}
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.objectsMatch = exports.validateMnemonic = exports.generateMnemonic = exports.getScriptHash = exports.getKeyDerivationPath = exports.validateAddress = exports.getSha256 = exports.getAddressFromScriptPubKey = void 0;
26
+ exports.getAddressesFromPrivateKey = exports.getAddressFromKeyPair = exports.objectsMatch = exports.validateMnemonic = exports.generateMnemonic = exports.getScriptHash = exports.getKeyDerivationPath = exports.validateAddress = exports.getSha256 = exports.getAddressFromScriptPubKey = void 0;
27
27
  const types_1 = require("../types");
28
28
  const bitcoinjs_lib_1 = require("bitcoinjs-lib");
29
29
  const bip39 = __importStar(require("bip39"));
@@ -32,6 +32,9 @@ const wallet_1 = require("./wallet");
32
32
  const result_1 = require("./result");
33
33
  const shapes_1 = require("../shapes");
34
34
  const derivation_path_1 = require("./derivation-path");
35
+ const ecpair_1 = require("ecpair");
36
+ const ecc = __importStar(require("@bitcoinerlab/secp256k1"));
37
+ const ECPair = (0, ecpair_1.ECPairFactory)(ecc);
35
38
  const getAddressFromScriptPubKey = (scriptPubKey, selectedNetwork) => {
36
39
  const network = bitcoinjs_lib_1.networks[selectedNetwork];
37
40
  return bitcoin.address.fromOutputScript(Buffer.from(scriptPubKey, 'hex'), network);
@@ -134,4 +137,63 @@ const objectsMatch = (obj1, obj2) => {
134
137
  }
135
138
  };
136
139
  exports.objectsMatch = objectsMatch;
140
+ const getAddressFromKeyPair = ({ keyPair, addressType, network }) => {
141
+ var _a, _b, _c;
142
+ let address = '';
143
+ switch (addressType) {
144
+ case types_1.EAddressType.p2wpkh:
145
+ address =
146
+ (_a = bitcoin.payments.p2wpkh({
147
+ pubkey: keyPair.publicKey,
148
+ network
149
+ }).address) !== null && _a !== void 0 ? _a : '';
150
+ break;
151
+ case types_1.EAddressType.p2sh:
152
+ address =
153
+ (_b = bitcoin.payments.p2sh({
154
+ redeem: bitcoin.payments.p2wpkh({
155
+ pubkey: keyPair.publicKey,
156
+ network
157
+ }),
158
+ network
159
+ }).address) !== null && _b !== void 0 ? _b : '';
160
+ break;
161
+ case types_1.EAddressType.p2pkh:
162
+ address =
163
+ (_c = bitcoin.payments.p2pkh({
164
+ pubkey: keyPair.publicKey,
165
+ network
166
+ }).address) !== null && _c !== void 0 ? _c : '';
167
+ break;
168
+ }
169
+ return {
170
+ address,
171
+ publicKey: keyPair.publicKey.toString('hex')
172
+ };
173
+ };
174
+ exports.getAddressFromKeyPair = getAddressFromKeyPair;
175
+ const getAddressesFromPrivateKey = ({ privateKey, addrTypes = (0, shapes_1.getAddressTypes)(), network = bitcoin.networks.bitcoin }) => {
176
+ try {
177
+ if (!privateKey)
178
+ return (0, result_1.err)('No private key provided.');
179
+ const keyPair = ECPair.fromWIF(privateKey, network);
180
+ const response = addrTypes.map((addressType) => {
181
+ return (0, exports.getAddressFromKeyPair)({
182
+ keyPair,
183
+ addressType,
184
+ network
185
+ });
186
+ });
187
+ if (!response)
188
+ return (0, result_1.err)('Unable to get addresses from private key.');
189
+ return (0, result_1.ok)({
190
+ keyPair,
191
+ addresses: response
192
+ });
193
+ }
194
+ catch (e) {
195
+ return (0, result_1.err)(e);
196
+ }
197
+ };
198
+ exports.getAddressesFromPrivateKey = getAddressesFromPrivateKey;
137
199
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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"}