@rosen-bridge/address-extractor 0.1.10 → 0.2.0-5bbac016

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.
@@ -4,7 +4,8 @@ import { BoxEntityAction } from '../actions/db';
4
4
  import { AbstractExtractor } from '@rosen-bridge/scanner';
5
5
  import { BlockEntity } from '@rosen-bridge/scanner';
6
6
  import { ExplorerApi } from '../network/ergoNetworkApi';
7
- export declare class ErgoUTXOExtractor implements AbstractExtractor<ergoLib.Transaction> {
7
+ import { Transaction } from '@rosen-bridge/scanner';
8
+ export declare class ErgoUTXOExtractor implements AbstractExtractor<Transaction> {
8
9
  private readonly dataSource;
9
10
  readonly actions: BoxEntityAction;
10
11
  private readonly id;
@@ -24,7 +25,7 @@ export declare class ErgoUTXOExtractor implements AbstractExtractor<ergoLib.Tran
24
25
  * @param txs
25
26
  * @param block
26
27
  */
27
- processTransactions: (txs: Array<ergoLib.Transaction>, block: BlockEntity) => Promise<boolean>;
28
+ processTransactions: (txs: Array<Transaction>, block: BlockEntity) => Promise<boolean>;
28
29
  /**
29
30
  * fork one block and remove all stored information for this block
30
31
  * @param hash: block hash
@@ -1 +1 @@
1
- {"version":3,"file":"ergoUtxoExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractor/ergoUtxoExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAIxD,qBAAa,iBACX,YAAW,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC;IAEjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;gBAGhC,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,OAAO,CAAC,aAAa,EAClC,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;IAaxB,OAAO,CAAC,kBAAkB,CAWxB;IACF;;OAEG;IACH,KAAK,eAAsB;IAE3B;;;;;OAKG;IACH,mBAAmB,QACZ,MAAM,QAAQ,WAAW,CAAC,SACxB,WAAW,KACjB,QAAQ,OAAO,CAAC,CAgEjB;IAEF;;;OAGG;IACH,SAAS,SAAgB,MAAM,KAAG,QAAQ,IAAI,CAAC,CAE7C;IAEF;;OAEG;IACH,eAAe,kBAAyB,MAAM,mBA0C5C;CACH"}
1
+ {"version":3,"file":"ergoUtxoExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractor/ergoUtxoExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,qBAAa,iBAAkB,YAAW,iBAAiB,CAAC,WAAW,CAAC;IACtE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;gBAGhC,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,OAAO,CAAC,aAAa,EAClC,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;IAaxB,OAAO,CAAC,kBAAkB,CAWxB;IACF;;OAEG;IACH,KAAK,eAAsB;IAE3B;;;;;OAKG;IACH,mBAAmB,QACZ,MAAM,WAAW,CAAC,SAChB,WAAW,KACjB,QAAQ,OAAO,CAAC,CAyDjB;IAEF;;;OAGG;IACH,SAAS,SAAgB,MAAM,KAAG,QAAQ,IAAI,CAAC,CAE7C;IAEF;;OAEG;IACH,eAAe,kBAAyB,MAAM,mBA0C5C;CACH"}
@@ -48,31 +48,30 @@ export class ErgoUTXOExtractor {
48
48
  const boxes = [];
49
49
  const spendBoxes = [];
50
50
  txs.forEach((transaction) => {
51
- for (let index = 0; index < transaction.outputs().len(); index++) {
52
- const output = transaction.outputs().get(index);
53
- if (this.ergoTree &&
54
- output.ergo_tree().to_base16_bytes() !== this.ergoTree) {
51
+ for (const output of transaction.outputs) {
52
+ if (this.ergoTree && output.ergoTree !== this.ergoTree) {
55
53
  continue;
56
54
  }
57
55
  const filteredTokens = this.tokens.filter((token) => {
58
- for (let tokenIndex = 0; tokenIndex < output.tokens().len(); tokenIndex++) {
59
- if (output.tokens().get(tokenIndex).id().to_str() === token) {
56
+ const outputTokens = output.assets ? output.assets : [];
57
+ for (const outputToken of outputTokens) {
58
+ if (outputToken.tokenId === token) {
60
59
  return true;
61
60
  }
62
61
  }
62
+ return false;
63
63
  });
64
64
  if (this.tokens.filter((token) => filteredTokens.indexOf(token) === -1).length > 0) {
65
65
  continue;
66
66
  }
67
67
  boxes.push({
68
- boxId: output.box_id().to_str(),
69
- address: ergoLib.Address.recreate_from_ergo_tree(ergoLib.ErgoTree.from_base16_bytes(output.ergo_tree().to_base16_bytes())).to_base58(this.networkType),
70
- serialized: Buffer.from(output.sigma_serialize_bytes()).toString('base64'),
68
+ boxId: output.boxId,
69
+ address: ergoLib.Address.recreate_from_ergo_tree(ergoLib.ErgoTree.from_base16_bytes(output.ergoTree)).to_base58(this.networkType),
70
+ serialized: Buffer.from(ergoLib.ErgoBox.from_json(JsonBI.stringify(output)).sigma_serialize_bytes()).toString('base64'),
71
71
  });
72
72
  }
73
- for (let index2 = 0; index2 < transaction.inputs().len(); index2++) {
74
- const input = transaction.inputs().get(index2);
75
- spendBoxes.push(input.box_id().to_str());
73
+ for (const input of transaction.inputs) {
74
+ spendBoxes.push(input.boxId);
76
75
  }
77
76
  });
78
77
  this.actions
@@ -134,4 +133,4 @@ export class ErgoUTXOExtractor {
134
133
  await this.actions.storeInitialBoxes(extractedBoxes, initialHeight, this.getId());
135
134
  };
136
135
  }
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJnb1V0eG9FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZXh0cmFjdG9yL2VyZ29VdHhvRXh0cmFjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHM0MsTUFBTSxPQUFPLGlCQUFpQjtJQUdYLFVBQVUsQ0FBYTtJQUMvQixPQUFPLENBQWtCO0lBQ2pCLEVBQUUsQ0FBUztJQUNYLFdBQVcsQ0FBd0I7SUFDbkMsUUFBUSxDQUFVO0lBQ2xCLE1BQU0sQ0FBZ0I7SUFDOUIsV0FBVyxDQUFjO0lBRWxDLFlBQ0UsVUFBc0IsRUFDdEIsRUFBVSxFQUNWLFdBQWtDLEVBQ2xDLFdBQW1CLEVBQ25CLE9BQWdCLEVBQ2hCLE1BQXNCO1FBRXRCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU87WUFDckIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRTtZQUN2RSxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxD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LENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDO2FBQzdELE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2xCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUMxQixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMvRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ2xELFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQzFCLENBQUM7Z0JBQ0YsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtvQkFBRSxPQUFPLEtBQUssQ0FBQzthQUM5RDtZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO2FBQ0QsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN0RCxpQkFBaUI7UUFDakIsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUNsQyxjQUFjLEVBQ2QsYUFBYSxFQUNiLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FDYixDQUFDO0lBQ0osQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAndHlwZW9ybSc7XG5pbXBvcnQgKiBhcyBlcmdvTGliIGZyb20gJ2VyZ28tbGliLXdhc20tbm9kZWpzJztcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ2J1ZmZlcic7XG5pbXBvcnQgeyBCb3hFbnRpdHlBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL2RiJztcbmltcG9ydCB7IEFic3RyYWN0RXh0cmFjdG9yIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9zY2FubmVyJztcbmltcG9ydCBFeHRyYWN0ZWRCb3ggZnJvbSAnLi4vaW50ZXJmYWNlcy9FeHRyYWN0ZWRCb3gnO1xuaW1wb3J0IHsgQmxvY2tFbnRpdHkgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXInO1xuaW1wb3J0IHsgRXhwbG9yZXJBcGkgfSBmcm9tICcuLi9uZXR3b3JrL2VyZ29OZXR3b3JrQXBpJztcbmltcG9ydCB7IEpzb25CSSB9IGZyb20gJy4uL25ldHdvcmsvcGFyc2VyJztcbmltcG9ydCB7IEJveGVzLCBFcmdvQm94SnNvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgRXJnb1VUWE9FeHRyYWN0b3JcbiAgaW1wbGVtZW50cyBBYnN0cmFjdEV4dHJhY3RvcjxlcmdvTGliLlRyYW5zYWN0aW9uPlxue1xuICBwcml2YXRlIHJlYWRvbmx5IGRhdGFTb3VyY2U6IERhdGFTb3VyY2U7XG4gIHJlYWRvbmx5IGFjdGlvbnM6IEJveEVudGl0eUFjdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBpZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IG5ldHdvcmtUeXBlOiBlcmdvTGliLk5ldHdvcmtQcmVmaXg7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXJnb1RyZWU/OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgdG9rZW5zOiBBcnJheTxzdHJpbmc+O1xuICByZWFkb25seSBleHBsb3JlckFwaTogRXhwbG9yZXJBcGk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZGF0YVNvdXJjZTogRGF0YVNvdXJjZSxcbiAgICBpZDogc3RyaW5nLFxuICAgIG5ldHdvcmtUeXBlOiBlcmdvTGliLk5ldHdvcmtQcmVmaXgsXG4gICAgZXhwbG9yZXJVcmw6IHN0cmluZyxcbiAgICBhZGRyZXNzPzogc3RyaW5nLFxuICAgIHRva2Vucz86IEFycmF5PHN0cmluZz5cbiAgKSB7XG4gICAgdGhpcy5kYXRhU291cmNlID0gZGF0YVNvdXJjZTtcbiAgICB0aGlzLmFjdGlvbnMgPSBuZXcgQm94RW50aXR5QWN0aW9uKGRhdGFTb3VyY2UpO1xuICAgIHRoaXMuaWQgPSBpZDtcbiAgICB0aGlzLm5ldHdvcmtUeXBlID0gbmV0d29ya1R5cGU7XG4gICAgdGhpcy5lcmdvVHJlZSA9IGFkZHJlc3NcbiAgICAgID8gZXJnb0xpYi5BZGRyZXNzLmZyb21fYmFzZTU4KGFkZHJlc3MpLnRvX2VyZ29fdHJlZSgpLnRvX2Jhc2UxNl9ieXRlcygpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLnRva2VucyA9IHRva2VucyA/IHRva2VucyA6IFtdO1xuICAgIHRoaXMuZXhwbG9yZXJBcGkgPSBuZXcgRXhwbG9yZXJBcGkoZXhwbG9yZXJVcmwpO1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0Qm94RnJvbUpzb24gPSAoYm94SnNvbjogRXJnb0JveEpzb24pID0+IHtcbiAgICBjb25zdCBib3ggPSBlcmdvTGliLkVyZ29Cb3guZnJvbV9qc29uKEpzb25CSS5zdHJpbmdpZnkoYm94SnNvbikpO1xuICAgIHJldHVybiB7XG4gICAgICBib3hJZDogYm94LmJveF9pZCgpLnRvX3N0cigpLFxuICAgICAgYWRkcmVzczogZXJnb0xpYi5BZGRyZXNzLnJlY3JlYXRlX2Zyb21fZXJnb190cmVlKFxuICAgICAgICBlcmdvTGliLkVyZ29UcmVlLmZyb21fYmFzZTE2X2J5dGVzKGJveC5lcmdvX3RyZWUoKS50b19iYXNlMTZfYnl0ZXMoKSlcbiAgICAgICkudG9fYmFzZTU4KHRoaXMubmV0d29ya1R5cGUpLFxuICAgICAgc2VyaWFsaXplZDogQnVmZmVyLmZyb20oYm94LnNpZ21hX3NlcmlhbGl6ZV9ieXRlcygpKS50b1N0cmluZygnYmFzZTY0JyksXG4gICAgICBibG9ja0lkOiBib3hKc29uLmJsb2NrSWQsXG4gICAgICBoZWlnaHQ6IGJveEpzb24uc2V0dGxlbWVudEhlaWdodCxcbiAgICB9O1xuICB9O1xuICAvKipcbiAgICogZ2V0IElkIGZvciBjdXJyZW50IGV4dHJhY3RvclxuICAgKi9cbiAgZ2V0SWQgPSAoKSA9PiBgJHt0aGlzLmlkfWA7XG5cbiAgLyoqXG4gICAqIGdldHMgYmxvY2sgaWQgYW5kIHRyYW5zYWN0aW9ucyBjb3JyZXNwb25kaW5nIHRvIHRoZSBibG9jayBhbmQgc2F2ZXMgaWYgdGhleSBhcmUgdmFsaWQgcm9zZW5cbiAgICogIHRyYW5zYWN0aW9ucyBhbmQgaW4gY2FzZSBvZiBzdWNjZXNzIHJldHVybiB0cnVlIGFuZCBpbiBjYXNlIG9mIGZhaWx1cmUgcmV0dXJucyBmYWxzZVxuICAgKiBAcGFyYW0gdHhzXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKi9cbiAgcHJvY2Vzc1RyYW5zYWN0aW9ucyA9IChcbiAgICB0eHM6IEFycmF5PGVyZ29MaWIuVHJhbnNhY3Rpb24+LFxuICAgIGJsb2NrOiBCbG9ja0VudGl0eVxuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgYm94ZXM6IEFycmF5PEV4dHJhY3RlZEJveD4gPSBbXTtcbiAgICAgICAgY29uc3Qgc3BlbmRCb3hlczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgICAgICB0eHMuZm9yRWFjaCgodHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdHJhbnNhY3Rpb24ub3V0cHV0cygpLmxlbigpOyBpbmRleCsrKSB7XG4gICAgICAgICAgICBjb25zdCBvdXRwdXQgPSB0cmFuc2FjdGlvbi5vdXRwdXRzKCkuZ2V0KGluZGV4KTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdGhpcy5lcmdvVHJlZSAmJlxuICAgICAgICAgICAgICBvdXRwdXQuZXJnb190cmVlKCkudG9fYmFzZTE2X2J5dGVzKCkgIT09IHRoaXMuZXJnb1RyZWVcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkVG9rZW5zID0gdGhpcy50b2tlbnMuZmlsdGVyKCh0b2tlbikgPT4ge1xuICAgICAgICAgICAgICBmb3IgKFxuICAgICAgICAgICAgICAgIGxldCB0b2tlbkluZGV4ID0gMDtcbiAgICAgICAgICAgICAgICB0b2tlbkluZGV4IDwgb3V0cHV0LnRva2VucygpLmxlbigpO1xuICAgICAgICAgICAgICAgIHRva2VuSW5kZXgrK1xuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBpZiAob3V0cHV0LnRva2VucygpLmdldCh0b2tlbkluZGV4KS5pZCgpLnRvX3N0cigpID09PSB0b2tlbikge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdGhpcy50b2tlbnMuZmlsdGVyKFxuICAgICAgICAgICAgICAgICh0b2tlbikgPT4gZmlsdGVyZWRUb2tlbnMuaW5kZXhPZih0b2tlbikgPT09IC0xXG4gICAgICAgICAgICAgICkubGVuZ3RoID4gMFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYm94ZXMucHVzaCh7XG4gICAgICAgICAgICAgIGJveElkOiBvdXRwdXQuYm94X2lkKCkudG9fc3RyKCksXG4gICAgICAgICAgICAgIGFkZHJlc3M6IGVyZ29MaWIuQWRkcmVzcy5yZWNyZWF0ZV9mcm9tX2VyZ29fdHJlZShcbiAgICAgICAgICAgICAgICBlcmdvTGliLkVyZ29UcmVlLmZyb21fYmFzZTE2X2J5dGVzKFxuICAgICAgICAgICAgICAgICAgb3V0cHV0LmVyZ29fdHJlZSgpLnRvX2Jhc2UxNl9ieXRlcygpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICApLnRvX2Jhc2U1OCh0aGlzLm5ldHdvcmtUeXBlKSxcbiAgICAgICAgICAgICAgc2VyaWFsaXplZDogQnVmZmVyLmZyb20ob3V0cHV0LnNpZ21hX3NlcmlhbGl6ZV9ieXRlcygpKS50b1N0cmluZyhcbiAgICAgICAgICAgICAgICAnYmFzZTY0J1xuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGZvciAobGV0IGluZGV4MiA9IDA7IGluZGV4MiA8IHRyYW5zYWN0aW9uLmlucHV0cygpLmxlbigpOyBpbmRleDIrKykge1xuICAgICAgICAgICAgY29uc3QgaW5wdXQgPSB0cmFuc2FjdGlvbi5pbnB1dHMoKS5nZXQoaW5kZXgyKTtcbiAgICAgICAgICAgIHNwZW5kQm94ZXMucHVzaChpbnB1dC5ib3hfaWQoKS50b19zdHIoKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hY3Rpb25zXG4gICAgICAgICAgLnN0b3JlQm94KGJveGVzLCBzcGVuZEJveGVzLCBibG9jaywgdGhpcy5nZXRJZCgpKVxuICAgICAgICAgIC50aGVuKChzdGF0dXMpID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUoc3RhdHVzKTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5jYXRjaCgoZSkgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICAgIGBBbiBlcnJvciB1bmNhY2hlZCBleGNlcHRpb24gb2NjdXJyZWQgZHVyaW5nIHN0b3JlIGVyZ28gb2JzZXJ2YXRpb246ICR7ZX1gXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZWplY3QoZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIGZvcmsgb25lIGJsb2NrIGFuZCByZW1vdmUgYWxsIHN0b3JlZCBpbmZvcm1hdGlvbiBmb3IgdGhpcyBibG9ja1xuICAgKiBAcGFyYW0gaGFzaDogYmxvY2sgaGFzaFxuICAgKi9cbiAgZm9ya0Jsb2NrID0gYXN5bmMgKGhhc2g6IHN0cmluZyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGF3YWl0IHRoaXMuYWN0aW9ucy5kZWxldGVCbG9ja0JveGVzKGhhc2gsIHRoaXMuZ2V0SWQoKSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIHRoZSBkYXRhYmFzZSB3aXRoIG9sZGVyIGJveGVzIHJlbGF0ZWQgdG8gdGhlIGFkZHJlc3NcbiAgICovXG4gIGluaXRpYWxpemVCb3hlcyA9IGFzeW5jIChpbml0aWFsSGVpZ2h0OiBudW1iZXIpID0+IHtcbiAgICAvLyAxLiBHZXQgQm94ZXNcbiAgICBjb25zdCBhbGxCb3hlczogQXJyYXk8RXJnb0JveEpzb24+ID0gW107XG4gICAgbGV0IG9mZnNldCA9IDAsXG4gICAgICB0b3RhbCA9IDEwMCxcbiAgICAgIGJveGVzOiBCb3hlcztcbiAgICB3aGlsZSAob2Zmc2V0IDwgdG90YWwpIHtcbiAgICAgIGlmICh0aGlzLmVyZ29UcmVlKSB7XG4gICAgICAgIGJveGVzID0gYXdhaXQgdGhpcy5leHBsb3JlckFwaS5nZXRCb3hlc0ZvckFkZHJlc3MoXG4gICAgICAgICAgdGhpcy5lcmdvVHJlZSxcbiAgICAgICAgICBvZmZzZXRcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAoIXRoaXMuZXJnb1RyZWUgJiYgdGhpcy50b2tlbnMubGVuZ3RoID4gMCkge1xuICAgICAgICBib3hlcyA9IGF3YWl0IHRoaXMuZXhwbG9yZXJBcGkuZ2V0Qm94ZXNCeVRva2VuSWQoXG4gICAgICAgICAgdGhpcy50b2tlbnNbMF0sXG4gICAgICAgICAgb2Zmc2V0XG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgcmV0dXJuO1xuICAgICAgYWxsQm94ZXMucHVzaCguLi5ib3hlcy5pdGVtcyk7XG4gICAgICB0b3RhbCA9IGJveGVzLnRvdGFsO1xuICAgICAgb2Zmc2V0ICs9IDEwMDtcbiAgICB9XG4gICAgLy8gMi4gRmlsdGVyIEJveGVzXG4gICAgY29uc3QgZXh0cmFjdGVkQm94ZXMgPSBhbGxCb3hlc1xuICAgICAgLmZpbHRlcigoYm94SnNvbikgPT4gYm94SnNvbi5zZXR0bGVtZW50SGVpZ2h0IDwgaW5pdGlhbEhlaWdodClcbiAgICAgIC5maWx0ZXIoKGJveEpzb24pID0+IHtcbiAgICAgICAgaWYgKHRoaXMudG9rZW5zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBjb25zdCBib3hUb2tlbnMgPSBib3hKc29uLmFzc2V0cy5tYXAoKHRva2VuKSA9PiB0b2tlbi50b2tlbklkKTtcbiAgICAgICAgICBjb25zdCByZXF1aXJlZFRva2VucyA9IHRoaXMudG9rZW5zLmZpbHRlcigodG9rZW4pID0+XG4gICAgICAgICAgICBib3hUb2tlbnMuaW5jbHVkZXModG9rZW4pXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAocmVxdWlyZWRUb2tlbnMubGVuZ3RoIDwgdGhpcy50b2tlbnMubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9KVxuICAgICAgLm1hcCgoYm94SnNvbikgPT4gdGhpcy5leHRyYWN0Qm94RnJvbUpzb24oYm94SnNvbikpO1xuICAgIC8vIDMuIFN0b3JlIEJveGVzXG4gICAgYXdhaXQgdGhpcy5hY3Rpb25zLnN0b3JlSW5pdGlhbEJveGVzKFxuICAgICAgZXh0cmFjdGVkQm94ZXMsXG4gICAgICBpbml0aWFsSGVpZ2h0LFxuICAgICAgdGhpcy5nZXRJZCgpXG4gICAgKTtcbiAgfTtcbn1cbiJdfQ==
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJnb1V0eG9FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZXh0cmFjdG9yL2VyZ29VdHhvRXh0cmFjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJM0MsTUFBTSxPQUFPLGlCQUFpQjtJQUNYLFVBQVUsQ0FBYTtJQUMvQixPQUFPLENBQWtCO0lBQ2pCLEVBQUUsQ0FBUztJQUNYLFdBQVcsQ0FBd0I7SUFDbkMsUUFBUSxDQUFVO0lBQ2xCLE1BQU0sQ0FBZ0I7SUFDOUIsV0FBVyxDQUFjO0lBRWxDLFlBQ0UsVUFBc0IsRUFDdEIsRUFBVSxFQUNWLFdBQWtDLEVBQ2xDLFdBQW1CLEVBQ25CLE9BQWdCLEVBQ2hCLE1BQXNCO1FBRXRCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU87WUFDckIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRTtZQUN2RSxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxD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QUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ2xELFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQzFCLENBQUM7Z0JBQ0YsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtvQkFBRSxPQUFPLEtBQUssQ0FBQzthQUM5RDtZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO2FBQ0QsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN0RCxpQkFBaUI7UUFDakIsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUNsQyxjQUFjLEVBQ2QsYUFBYSxFQUNiLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FDYixDQUFDO0lBQ0osQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAndHlwZW9ybSc7XG5pbXBvcnQgKiBhcyBlcmdvTGliIGZyb20gJ2VyZ28tbGliLXdhc20tbm9kZWpzJztcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ2J1ZmZlcic7XG5pbXBvcnQgeyBCb3hFbnRpdHlBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL2RiJztcbmltcG9ydCB7IEFic3RyYWN0RXh0cmFjdG9yIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9zY2FubmVyJztcbmltcG9ydCBFeHRyYWN0ZWRCb3ggZnJvbSAnLi4vaW50ZXJmYWNlcy9FeHRyYWN0ZWRCb3gnO1xuaW1wb3J0IHsgQmxvY2tFbnRpdHkgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXInO1xuaW1wb3J0IHsgRXhwbG9yZXJBcGkgfSBmcm9tICcuLi9uZXR3b3JrL2VyZ29OZXR3b3JrQXBpJztcbmltcG9ydCB7IEpzb25CSSB9IGZyb20gJy4uL25ldHdvcmsvcGFyc2VyJztcbmltcG9ydCB7IEJveGVzLCBFcmdvQm94SnNvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvdHlwZXMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXInO1xuXG5leHBvcnQgY2xhc3MgRXJnb1VUWE9FeHRyYWN0b3IgaW1wbGVtZW50cyBBYnN0cmFjdEV4dHJhY3RvcjxUcmFuc2FjdGlvbj4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGRhdGFTb3VyY2U6IERhdGFTb3VyY2U7XG4gIHJlYWRvbmx5IGFjdGlvbnM6IEJveEVudGl0eUFjdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBpZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IG5ldHdvcmtUeXBlOiBlcmdvTGliLk5ldHdvcmtQcmVmaXg7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXJnb1RyZWU/OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgdG9rZW5zOiBBcnJheTxzdHJpbmc+O1xuICByZWFkb25seSBleHBsb3JlckFwaTogRXhwbG9yZXJBcGk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZGF0YVNvdXJjZTogRGF0YVNvdXJjZSxcbiAgICBpZDogc3RyaW5nLFxuICAgIG5ldHdvcmtUeXBlOiBlcmdvTGliLk5ldHdvcmtQcmVmaXgsXG4gICAgZXhwbG9yZXJVcmw6IHN0cmluZyxcbiAgICBhZGRyZXNzPzogc3RyaW5nLFxuICAgIHRva2Vucz86IEFycmF5PHN0cmluZz5cbiAgKSB7XG4gICAgdGhpcy5kYXRhU291cmNlID0gZGF0YVNvdXJjZTtcbiAgICB0aGlzLmFjdGlvbnMgPSBuZXcgQm94RW50aXR5QWN0aW9uKGRhdGFTb3VyY2UpO1xuICAgIHRoaXMuaWQgPSBpZDtcbiAgICB0aGlzLm5ldHdvcmtUeXBlID0gbmV0d29ya1R5cGU7XG4gICAgdGhpcy5lcmdvVHJlZSA9IGFkZHJlc3NcbiAgICAgID8gZXJnb0xpYi5BZGRyZXNzLmZyb21fYmFzZTU4KGFkZHJlc3MpLnRvX2VyZ29fdHJlZSgpLnRvX2Jhc2UxNl9ieXRlcygpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLnRva2VucyA9IHRva2VucyA/IHRva2VucyA6IFtdO1xuICAgIHRoaXMuZXhwbG9yZXJBcGkgPSBuZXcgRXhwbG9yZXJBcGkoZXhwbG9yZXJVcmwpO1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0Qm94RnJvbUpzb24gPSAoYm94SnNvbjogRXJnb0JveEpzb24pID0+IHtcbiAgICBjb25zdCBib3ggPSBlcmdvTGliLkVyZ29Cb3guZnJvbV9qc29uKEpzb25CSS5zdHJpbmdpZnkoYm94SnNvbikpO1xuICAgIHJldHVybiB7XG4gICAgICBib3hJZDogYm94LmJveF9pZCgpLnRvX3N0cigpLFxuICAgICAgYWRkcmVzczogZXJnb0xpYi5BZGRyZXNzLnJlY3JlYXRlX2Zyb21fZXJnb190cmVlKFxuICAgICAgICBlcmdvTGliLkVyZ29UcmVlLmZyb21fYmFzZTE2X2J5dGVzKGJveC5lcmdvX3RyZWUoKS50b19iYXNlMTZfYnl0ZXMoKSlcbiAgICAgICkudG9fYmFzZTU4KHRoaXMubmV0d29ya1R5cGUpLFxuICAgICAgc2VyaWFsaXplZDogQnVmZmVyLmZyb20oYm94LnNpZ21hX3NlcmlhbGl6ZV9ieXRlcygpKS50b1N0cmluZygnYmFzZTY0JyksXG4gICAgICBibG9ja0lkOiBib3hKc29uLmJsb2NrSWQsXG4gICAgICBoZWlnaHQ6IGJveEpzb24uc2V0dGxlbWVudEhlaWdodCxcbiAgICB9O1xuICB9O1xuICAvKipcbiAgICogZ2V0IElkIGZvciBjdXJyZW50IGV4dHJhY3RvclxuICAgKi9cbiAgZ2V0SWQgPSAoKSA9PiBgJHt0aGlzLmlkfWA7XG5cbiAgLyoqXG4gICAqIGdldHMgYmxvY2sgaWQgYW5kIHRyYW5zYWN0aW9ucyBjb3JyZXNwb25kaW5nIHRvIHRoZSBibG9jayBhbmQgc2F2ZXMgaWYgdGhleSBhcmUgdmFsaWQgcm9zZW5cbiAgICogIHRyYW5zYWN0aW9ucyBhbmQgaW4gY2FzZSBvZiBzdWNjZXNzIHJldHVybiB0cnVlIGFuZCBpbiBjYXNlIG9mIGZhaWx1cmUgcmV0dXJucyBmYWxzZVxuICAgKiBAcGFyYW0gdHhzXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKi9cbiAgcHJvY2Vzc1RyYW5zYWN0aW9ucyA9IChcbiAgICB0eHM6IEFycmF5PFRyYW5zYWN0aW9uPixcbiAgICBibG9jazogQmxvY2tFbnRpdHlcbiAgKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGJveGVzOiBBcnJheTxFeHRyYWN0ZWRCb3g+ID0gW107XG4gICAgICAgIGNvbnN0IHNwZW5kQm94ZXM6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgICAgICAgdHhzLmZvckVhY2goKHRyYW5zYWN0aW9uKSA9PiB7XG4gICAgICAgICAgZm9yIChjb25zdCBvdXRwdXQgb2YgdHJhbnNhY3Rpb24ub3V0cHV0cykge1xuICAgICAgICAgICAgaWYgKHRoaXMuZXJnb1RyZWUgJiYgb3V0cHV0LmVyZ29UcmVlICE9PSB0aGlzLmVyZ29UcmVlKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRUb2tlbnMgPSB0aGlzLnRva2Vucy5maWx0ZXIoKHRva2VuKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG91dHB1dFRva2VucyA9IG91dHB1dC5hc3NldHMgPyBvdXRwdXQuYXNzZXRzIDogW107XG4gICAgICAgICAgICAgIGZvciAoY29uc3Qgb3V0cHV0VG9rZW4gb2Ygb3V0cHV0VG9rZW5zKSB7XG4gICAgICAgICAgICAgICAgaWYgKG91dHB1dFRva2VuLnRva2VuSWQgPT09IHRva2VuKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIHRoaXMudG9rZW5zLmZpbHRlcihcbiAgICAgICAgICAgICAgICAodG9rZW4pID0+IGZpbHRlcmVkVG9rZW5zLmluZGV4T2YodG9rZW4pID09PSAtMVxuICAgICAgICAgICAgICApLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJveGVzLnB1c2goe1xuICAgICAgICAgICAgICBib3hJZDogb3V0cHV0LmJveElkLFxuICAgICAgICAgICAgICBhZGRyZXNzOiBlcmdvTGliLkFkZHJlc3MucmVjcmVhdGVfZnJvbV9lcmdvX3RyZWUoXG4gICAgICAgICAgICAgICAgZXJnb0xpYi5FcmdvVHJlZS5mcm9tX2Jhc2UxNl9ieXRlcyhvdXRwdXQuZXJnb1RyZWUpXG4gICAgICAgICAgICAgICkudG9fYmFzZTU4KHRoaXMubmV0d29ya1R5cGUpLFxuICAgICAgICAgICAgICBzZXJpYWxpemVkOiBCdWZmZXIuZnJvbShcbiAgICAgICAgICAgICAgICBlcmdvTGliLkVyZ29Cb3guZnJvbV9qc29uKFxuICAgICAgICAgICAgICAgICAgSnNvbkJJLnN0cmluZ2lmeShvdXRwdXQpXG4gICAgICAgICAgICAgICAgKS5zaWdtYV9zZXJpYWxpemVfYnl0ZXMoKVxuICAgICAgICAgICAgICApLnRvU3RyaW5nKCdiYXNlNjQnKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBmb3IgKGNvbnN0IGlucHV0IG9mIHRyYW5zYWN0aW9uLmlucHV0cykge1xuICAgICAgICAgICAgc3BlbmRCb3hlcy5wdXNoKGlucHV0LmJveElkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmFjdGlvbnNcbiAgICAgICAgICAuc3RvcmVCb3goYm94ZXMsIHNwZW5kQm94ZXMsIGJsb2NrLCB0aGlzLmdldElkKCkpXG4gICAgICAgICAgLnRoZW4oKHN0YXR1cykgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZShzdGF0dXMpO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgICAgYEFuIGVycm9yIHVuY2FjaGVkIGV4Y2VwdGlvbiBvY2N1cnJlZCBkdXJpbmcgc3RvcmUgZXJnbyBvYnNlcnZhdGlvbjogJHtlfWBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJlamVjdChlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICAvKipcbiAgICogZm9yayBvbmUgYmxvY2sgYW5kIHJlbW92ZSBhbGwgc3RvcmVkIGluZm9ybWF0aW9uIGZvciB0aGlzIGJsb2NrXG4gICAqIEBwYXJhbSBoYXNoOiBibG9jayBoYXNoXG4gICAqL1xuICBmb3JrQmxvY2sgPSBhc3luYyAoaGFzaDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgYXdhaXQgdGhpcy5hY3Rpb25zLmRlbGV0ZUJsb2NrQm94ZXMoaGFzaCwgdGhpcy5nZXRJZCgpKTtcbiAgfTtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgdGhlIGRhdGFiYXNlIHdpdGggb2xkZXIgYm94ZXMgcmVsYXRlZCB0byB0aGUgYWRkcmVzc1xuICAgKi9cbiAgaW5pdGlhbGl6ZUJveGVzID0gYXN5bmMgKGluaXRpYWxIZWlnaHQ6IG51bWJlcikgPT4ge1xuICAgIC8vIDEuIEdldCBCb3hlc1xuICAgIGNvbnN0IGFsbEJveGVzOiBBcnJheTxFcmdvQm94SnNvbj4gPSBbXTtcbiAgICBsZXQgb2Zmc2V0ID0gMCxcbiAgICAgIHRvdGFsID0gMTAwLFxuICAgICAgYm94ZXM6IEJveGVzO1xuICAgIHdoaWxlIChvZmZzZXQgPCB0b3RhbCkge1xuICAgICAgaWYgKHRoaXMuZXJnb1RyZWUpIHtcbiAgICAgICAgYm94ZXMgPSBhd2FpdCB0aGlzLmV4cGxvcmVyQXBpLmdldEJveGVzRm9yQWRkcmVzcyhcbiAgICAgICAgICB0aGlzLmVyZ29UcmVlLFxuICAgICAgICAgIG9mZnNldFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmICghdGhpcy5lcmdvVHJlZSAmJiB0aGlzLnRva2Vucy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGJveGVzID0gYXdhaXQgdGhpcy5leHBsb3JlckFwaS5nZXRCb3hlc0J5VG9rZW5JZChcbiAgICAgICAgICB0aGlzLnRva2Vuc1swXSxcbiAgICAgICAgICBvZmZzZXRcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSByZXR1cm47XG4gICAgICBhbGxCb3hlcy5wdXNoKC4uLmJveGVzLml0ZW1zKTtcbiAgICAgIHRvdGFsID0gYm94ZXMudG90YWw7XG4gICAgICBvZmZzZXQgKz0gMTAwO1xuICAgIH1cbiAgICAvLyAyLiBGaWx0ZXIgQm94ZXNcbiAgICBjb25zdCBleHRyYWN0ZWRCb3hlcyA9IGFsbEJveGVzXG4gICAgICAuZmlsdGVyKChib3hKc29uKSA9PiBib3hKc29uLnNldHRsZW1lbnRIZWlnaHQgPCBpbml0aWFsSGVpZ2h0KVxuICAgICAgLmZpbHRlcigoYm94SnNvbikgPT4ge1xuICAgICAgICBpZiAodGhpcy50b2tlbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGNvbnN0IGJveFRva2VucyA9IGJveEpzb24uYXNzZXRzLm1hcCgodG9rZW4pID0+IHRva2VuLnRva2VuSWQpO1xuICAgICAgICAgIGNvbnN0IHJlcXVpcmVkVG9rZW5zID0gdGhpcy50b2tlbnMuZmlsdGVyKCh0b2tlbikgPT5cbiAgICAgICAgICAgIGJveFRva2Vucy5pbmNsdWRlcyh0b2tlbilcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChyZXF1aXJlZFRva2Vucy5sZW5ndGggPCB0aGlzLnRva2Vucy5sZW5ndGgpIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0pXG4gICAgICAubWFwKChib3hKc29uKSA9PiB0aGlzLmV4dHJhY3RCb3hGcm9tSnNvbihib3hKc29uKSk7XG4gICAgLy8gMy4gU3RvcmUgQm94ZXNcbiAgICBhd2FpdCB0aGlzLmFjdGlvbnMuc3RvcmVJbml0aWFsQm94ZXMoXG4gICAgICBleHRyYWN0ZWRCb3hlcyxcbiAgICAgIGluaXRpYWxIZWlnaHQsXG4gICAgICB0aGlzLmdldElkKClcbiAgICApO1xuICB9O1xufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rosen-bridge/address-extractor",
3
- "version": "0.1.10",
3
+ "version": "0.2.0-5bbac016",
4
4
  "description": "UTXO box extractor for any address or token.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -19,7 +19,7 @@
19
19
  "author": "Vorujack",
20
20
  "license": "GPL-3.0",
21
21
  "dependencies": {
22
- "@rosen-bridge/scanner": "^0.2.5",
22
+ "@rosen-bridge/scanner": "^0.3.0-5bbac016",
23
23
  "blakejs": "^1.2.1",
24
24
  "ergo-lib-wasm-nodejs": "^0.21.0",
25
25
  "reflect-metadata": "^0.1.13",