@rosen-bridge/watcher-data-extractor 0.1.8 → 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.
@@ -1,7 +1,6 @@
1
1
  import { DataSource } from 'typeorm';
2
- import * as wasm from 'ergo-lib-wasm-nodejs';
3
- import { AbstractExtractor, BlockEntity } from '@rosen-bridge/scanner';
4
- declare class EventTriggerExtractor extends AbstractExtractor<wasm.Transaction> {
2
+ import { AbstractExtractor, BlockEntity, Transaction } from '@rosen-bridge/scanner';
3
+ declare class EventTriggerExtractor extends AbstractExtractor<Transaction> {
5
4
  id: string;
6
5
  private readonly dataSource;
7
6
  private readonly actions;
@@ -15,7 +14,7 @@ declare class EventTriggerExtractor extends AbstractExtractor<wasm.Transaction>
15
14
  * @param block
16
15
  * @param txs
17
16
  */
18
- processTransactions: (txs: Array<wasm.Transaction>, block: BlockEntity) => Promise<boolean>;
17
+ processTransactions: (txs: Array<Transaction>, block: BlockEntity) => Promise<boolean>;
19
18
  forkBlock: (hash: string) => Promise<void>;
20
19
  /**
21
20
  * Extractor box initialization
@@ -1 +1 @@
1
- {"version":3,"file":"EventTriggerExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractor/EventTriggerExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGvE,cAAM,qBAAsB,SAAQ,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;IACrE,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAG3B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM;IAYb,KAAK,eAAiB;IAEtB;;;;;OAKG;IACH,mBAAmB,QACZ,MAAM,KAAK,WAAW,CAAC,SACrB,WAAW,KACjB,QAAQ,OAAO,CAAC,CAmFjB;IAEF,SAAS,SAAgB,MAAM,mBAE7B;IAEF;;;OAGG;IACH,eAAe,sBAEb;CACH;AAED,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"EventTriggerExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractor/EventTriggerExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAI/B,cAAM,qBAAsB,SAAQ,iBAAiB,CAAC,WAAW,CAAC;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAG3B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM;IAYb,KAAK,eAAiB;IAEtB;;;;;OAKG;IACH,mBAAmB,QACZ,MAAM,WAAW,CAAC,SAChB,WAAW,KACjB,QAAQ,OAAO,CAAC,CAiGjB;IAEF,SAAS,SAAgB,MAAM,mBAE7B;IAEF;;;OAGG;IACH,eAAe,sBAEb;CACH;AAED,eAAe,qBAAqB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import * as wasm from 'ergo-lib-wasm-nodejs';
2
2
  import EventTriggerDB from '../actions/EventTriggerDB';
3
- import { AbstractExtractor } from '@rosen-bridge/scanner';
3
+ import { AbstractExtractor, } from '@rosen-bridge/scanner';
4
+ import { JsonBI } from '../network/parser';
4
5
  class EventTriggerExtractor extends AbstractExtractor {
5
6
  id;
6
7
  dataSource;
@@ -30,37 +31,42 @@ class EventTriggerExtractor extends AbstractExtractor {
30
31
  const boxes = [];
31
32
  const spendIds = [];
32
33
  txs.forEach((transaction) => {
33
- for (let index = 0; index < transaction.outputs().len(); index++) {
34
- const output = transaction.outputs().get(index);
34
+ for (const output of transaction.outputs) {
35
35
  try {
36
- const r4 = output.register_value(4);
37
- const r5 = output.register_value(5);
38
- if (r4 && r5) {
39
- const R5Serialized = r5.to_coll_coll_byte();
40
- const R4Serialized = r4.to_coll_coll_byte();
41
- if (output.tokens().len() > 0 &&
42
- output.tokens().get(0).id().to_str() === this.RWT &&
43
- R4Serialized.length >= 1 &&
44
- R5Serialized.length >= 11 &&
45
- output.ergo_tree().to_base16_bytes() ===
46
- this.eventTriggerErgoTree) {
47
- const WIDs = R4Serialized.map((byteArray) => Buffer.from(byteArray).toString('hex')).join(',');
48
- boxes.push({
49
- boxId: output.box_id().to_str(),
50
- boxSerialized: Buffer.from(output.sigma_serialize_bytes()).toString('base64'),
51
- toChain: Buffer.from(R5Serialized[2]).toString(),
52
- toAddress: Buffer.from(R5Serialized[4]).toString(),
53
- networkFee: BigInt('0x' + Buffer.from(R5Serialized[7]).toString('hex')).toString(10),
54
- bridgeFee: BigInt('0x' + Buffer.from(R5Serialized[6]).toString('hex')).toString(10),
55
- amount: BigInt('0x' + Buffer.from(R5Serialized[5]).toString('hex')).toString(10),
56
- sourceChainTokenId: Buffer.from(R5Serialized[8]).toString(),
57
- targetChainTokenId: Buffer.from(R5Serialized[9]).toString(),
58
- sourceTxId: Buffer.from(R5Serialized[0]).toString(),
59
- fromChain: Buffer.from(R5Serialized[1]).toString(),
60
- fromAddress: Buffer.from(R5Serialized[3]).toString(),
61
- sourceBlockId: Buffer.from(R5Serialized[10]).toString(),
62
- WIDs: WIDs,
63
- });
36
+ if (output.additionalRegisters &&
37
+ output.assets &&
38
+ output.assets.length > 0 &&
39
+ output.assets[0].tokenId === this.RWT &&
40
+ output.ergoTree === this.eventTriggerErgoTree) {
41
+ const R4 = output.additionalRegisters.R4;
42
+ const R5 = output.additionalRegisters.R5;
43
+ if (R4 && R5) {
44
+ const outputParsed = wasm.ErgoBox.from_json(JsonBI.stringify(output));
45
+ const R4Const = outputParsed.register_value(wasm.NonMandatoryRegisterId.R4);
46
+ const R5Const = outputParsed.register_value(wasm.NonMandatoryRegisterId.R5);
47
+ if (R4Const && R5Const) {
48
+ const R4Serialized = R4Const.to_coll_coll_byte();
49
+ const R5Serialized = R5Const.to_coll_coll_byte();
50
+ if (R4Serialized.length >= 1 && R5Serialized.length >= 11) {
51
+ const WIDs = R4Serialized.map((byteArray) => Buffer.from(byteArray).toString('hex')).join(',');
52
+ boxes.push({
53
+ boxId: output.boxId,
54
+ boxSerialized: Buffer.from(outputParsed.sigma_serialize_bytes()).toString('base64'),
55
+ toChain: Buffer.from(R5Serialized[2]).toString(),
56
+ toAddress: Buffer.from(R5Serialized[4]).toString(),
57
+ networkFee: BigInt('0x' + Buffer.from(R5Serialized[7]).toString('hex')).toString(10),
58
+ bridgeFee: BigInt('0x' + Buffer.from(R5Serialized[6]).toString('hex')).toString(10),
59
+ amount: BigInt('0x' + Buffer.from(R5Serialized[5]).toString('hex')).toString(10),
60
+ sourceChainTokenId: Buffer.from(R5Serialized[8]).toString(),
61
+ targetChainTokenId: Buffer.from(R5Serialized[9]).toString(),
62
+ sourceTxId: Buffer.from(R5Serialized[0]).toString(),
63
+ fromChain: Buffer.from(R5Serialized[1]).toString(),
64
+ fromAddress: Buffer.from(R5Serialized[3]).toString(),
65
+ sourceBlockId: Buffer.from(R5Serialized[10]).toString(),
66
+ WIDs: WIDs,
67
+ });
68
+ }
69
+ }
64
70
  }
65
71
  }
66
72
  }
@@ -68,9 +74,8 @@ class EventTriggerExtractor extends AbstractExtractor {
68
74
  continue;
69
75
  }
70
76
  // process inputs
71
- for (let index = 0; index < transaction.inputs().len(); index++) {
72
- const input = transaction.inputs().get(index);
73
- spendIds.push(input.box_id().to_str());
77
+ for (const input of transaction.inputs) {
78
+ spendIds.push(input.boxId);
74
79
  }
75
80
  }
76
81
  });
@@ -107,4 +112,4 @@ class EventTriggerExtractor extends AbstractExtractor {
107
112
  };
108
113
  }
109
114
  export default EventTriggerExtractor;
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRUcmlnZ2VyRXh0cmFjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2V4dHJhY3Rvci9FdmVudFRyaWdnZXJFeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLElBQUksTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLGNBQWMsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQWUsTUFBTSx1QkFBdUIsQ0FBQztBQUd2RSxNQUFNLHFCQUFzQixTQUFRLGlCQUFtQztJQUNyRSxFQUFFLENBQVM7SUFDTSxVQUFVLENBQWE7SUFDdkIsT0FBTyxDQUFpQjtJQUN4QixvQkFBb0IsQ0FBUztJQUM3QixHQUFHLENBQVM7SUFFN0IsWUFDRSxFQUFVLEVBQ1YsVUFBc0IsRUFDdEIsT0FBZSxFQUNmLEdBQVc7UUFFWCxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO2FBQzFELFlBQVksRUFBRTthQUNkLGVBQWUsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUV0Qjs7Ozs7T0FLRztJQUNILG1CQUFtQixHQUFHLENBQ3BCLEdBQTRCLEVBQzVCLEtBQWtCLEVBQ0EsRUFBRTtRQUNwQixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUk7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Tzt5QkFDVCxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7eUJBQzVDLElBQUksQ0FBQyxHQUFHLEVBQUU7d0JBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNoQixDQUFDLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUM7cUJBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3Q0FBd0MsS0FBSyxFQUFFLENBQUMsQ0FBQztvQkFDN0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDZixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ1osQ0FBQyxDQUFDLENBQUM7YUFDTjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxHQUFHLENBQ1QsU0FBUyxLQUFLLDBDQUEwQyxFQUN4RCxDQUFDLENBQ0YsQ0FBQztnQkFDRixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDWDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBRUYsU0FBUyxHQUFHLEtBQUssRUFBRSxJQUFZLEVBQUUsRUFBRTtRQUNqQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxlQUFlLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDM0IsT0FBTztJQUNULENBQUMsQ0FBQztDQUNIO0FBRUQsZUFBZSxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCAqIGFzIHdhc20gZnJvbSAnZXJnby1saWItd2FzbS1ub2RlanMnO1xuaW1wb3J0IEV2ZW50VHJpZ2dlckRCIGZyb20gJy4uL2FjdGlvbnMvRXZlbnRUcmlnZ2VyREInO1xuaW1wb3J0IHsgQWJzdHJhY3RFeHRyYWN0b3IsIEJsb2NrRW50aXR5IH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9zY2FubmVyJztcbmltcG9ydCB7IEV4dHJhY3RlZEV2ZW50VHJpZ2dlciB9IGZyb20gJy4uL2ludGVyZmFjZXMvZXh0cmFjdGVkRXZlbnRUcmlnZ2VyJztcblxuY2xhc3MgRXZlbnRUcmlnZ2VyRXh0cmFjdG9yIGV4dGVuZHMgQWJzdHJhY3RFeHRyYWN0b3I8d2FzbS5UcmFuc2FjdGlvbj4ge1xuICBpZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGRhdGFTb3VyY2U6IERhdGFTb3VyY2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgYWN0aW9uczogRXZlbnRUcmlnZ2VyREI7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRUcmlnZ2VyRXJnb1RyZWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBSV1Q6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpZDogc3RyaW5nLFxuICAgIGRhdGFTb3VyY2U6IERhdGFTb3VyY2UsXG4gICAgYWRkcmVzczogc3RyaW5nLFxuICAgIFJXVDogc3RyaW5nXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5pZCA9IGlkO1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IGRhdGFTb3VyY2U7XG4gICAgdGhpcy5hY3Rpb25zID0gbmV3IEV2ZW50VHJpZ2dlckRCKGRhdGFTb3VyY2UpO1xuICAgIHRoaXMuZXZlbnRUcmlnZ2VyRXJnb1RyZWUgPSB3YXNtLkFkZHJlc3MuZnJvbV9iYXNlNTgoYWRkcmVzcylcbiAgICAgIC50b19lcmdvX3RyZWUoKVxuICAgICAgLnRvX2Jhc2UxNl9ieXRlcygpO1xuICAgIHRoaXMuUldUID0gUldUO1xuICB9XG5cbiAgZ2V0SWQgPSAoKSA9PiB0aGlzLmlkO1xuXG4gIC8qKlxuICAgKiBnZXRzIGJsb2NrIGlkIGFuZCB0cmFuc2FjdGlvbnMgY29ycmVzcG9uZGluZyB0byB0aGUgYmxvY2sgYW5kIHNhdmVzIGlmIHRoZXkgYXJlIHZhbGlkIHJvc2VuXG4gICAqICB0cmFuc2FjdGlvbnMgYW5kIGluIGNhc2Ugb2Ygc3VjY2VzcyByZXR1cm4gdHJ1ZSBhbmQgaW4gY2FzZSBvZiBmYWlsdXJlIHJldHVybnMgZmFsc2VcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSB0eHNcbiAgICovXG4gIHByb2Nlc3NUcmFuc2FjdGlvbnMgPSAoXG4gICAgdHhzOiBBcnJheTx3YXNtLlRyYW5zYWN0aW9uPixcbiAgICBibG9jazogQmxvY2tFbnRpdHlcbiAgKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGJveGVzOiBBcnJheTxFeHRyYWN0ZWRFdmVudFRyaWdnZXI+ID0gW107XG4gICAgICAgIGNvbnN0IHNwZW5kSWRzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgICAgIHR4cy5mb3JFYWNoKCh0cmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0cmFuc2FjdGlvbi5vdXRwdXRzKCkubGVuKCk7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGNvbnN0IG91dHB1dCA9IHRyYW5zYWN0aW9uLm91dHB1dHMoKS5nZXQoaW5kZXgpO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgY29uc3QgcjQgPSBvdXRwdXQucmVnaXN0ZXJfdmFsdWUoNCk7XG4gICAgICAgICAgICAgIGNvbnN0IHI1ID0gb3V0cHV0LnJlZ2lzdGVyX3ZhbHVlKDUpO1xuICAgICAgICAgICAgICBpZiAocjQgJiYgcjUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBSNVNlcmlhbGl6ZWQgPSByNS50b19jb2xsX2NvbGxfYnl0ZSgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IFI0U2VyaWFsaXplZCA9IHI0LnRvX2NvbGxfY29sbF9ieXRlKCk7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgb3V0cHV0LnRva2VucygpLmxlbigpID4gMCAmJlxuICAgICAgICAgICAgICAgICAgb3V0cHV0LnRva2VucygpLmdldCgwKS5pZCgpLnRvX3N0cigpID09PSB0aGlzLlJXVCAmJlxuICAgICAgICAgICAgICAgICAgUjRTZXJpYWxpemVkLmxlbmd0aCA+PSAxICYmXG4gICAgICAgICAgICAgICAgICBSNVNlcmlhbGl6ZWQubGVuZ3RoID49IDExICYmXG4gICAgICAgICAgICAgICAgICBvdXRwdXQuZXJnb190cmVlKCkudG9fYmFzZTE2X2J5dGVzKCkgPT09XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXZlbnRUcmlnZ2VyRXJnb1RyZWVcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IFdJRHMgPSBSNFNlcmlhbGl6ZWQubWFwKChieXRlQXJyYXkpID0+XG4gICAgICAgICAgICAgICAgICAgIEJ1ZmZlci5mcm9tKGJ5dGVBcnJheSkudG9TdHJpbmcoJ2hleCcpXG4gICAgICAgICAgICAgICAgICApLmpvaW4oJywnKTtcbiAgICAgICAgICAgICAgICAgIGJveGVzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBib3hJZDogb3V0cHV0LmJveF9pZCgpLnRvX3N0cigpLFxuICAgICAgICAgICAgICAgICAgICBib3hTZXJpYWxpemVkOiBCdWZmZXIuZnJvbShcbiAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQuc2lnbWFfc2VyaWFsaXplX2J5dGVzKClcbiAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygnYmFzZTY0JyksXG4gICAgICAgICAgICAgICAgICAgIHRvQ2hhaW46IEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFsyXSkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgdG9BZGRyZXNzOiBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbNF0pLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgIG5ldHdvcmtGZWU6IEJpZ0ludChcbiAgICAgICAgICAgICAgICAgICAgICAnMHgnICsgQnVmZmVyLmZyb20oUjVTZXJpYWxpemVkWzddKS50b1N0cmluZygnaGV4JylcbiAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygxMCksXG4gICAgICAgICAgICAgICAgICAgIGJyaWRnZUZlZTogQmlnSW50KFxuICAgICAgICAgICAgICAgICAgICAgICcweCcgKyBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbNl0pLnRvU3RyaW5nKCdoZXgnKVxuICAgICAgICAgICAgICAgICAgICApLnRvU3RyaW5nKDEwKSxcbiAgICAgICAgICAgICAgICAgICAgYW1vdW50OiBCaWdJbnQoXG4gICAgICAgICAgICAgICAgICAgICAgJzB4JyArIEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFs1XSkudG9TdHJpbmcoJ2hleCcpXG4gICAgICAgICAgICAgICAgICAgICkudG9TdHJpbmcoMTApLFxuICAgICAgICAgICAgICAgICAgICBzb3VyY2VDaGFpblRva2VuSWQ6IEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFs4XSkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0Q2hhaW5Ub2tlbklkOiBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbOV0pLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZVR4SWQ6IEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFswXSkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgZnJvbUNoYWluOiBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbMV0pLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgIGZyb21BZGRyZXNzOiBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbM10pLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZUJsb2NrSWQ6IEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFsxMF0pLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgIFdJRHM6IFdJRHMsXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHByb2Nlc3MgaW5wdXRzXG4gICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdHJhbnNhY3Rpb24uaW5wdXRzKCkubGVuKCk7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgY29uc3QgaW5wdXQgPSB0cmFuc2FjdGlvbi5pbnB1dHMoKS5nZXQoaW5kZXgpO1xuICAgICAgICAgICAgICBzcGVuZElkcy5wdXNoKGlucHV0LmJveF9pZCgpLnRvX3N0cigpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmFjdGlvbnNcbiAgICAgICAgICAuc3RvcmVFdmVudFRyaWdnZXJzKGJveGVzLCBibG9jaywgdGhpcy5nZXRJZCgpKVxuICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWN0aW9uc1xuICAgICAgICAgICAgICAuc3BlbmRFdmVudFRyaWdnZXJzKHNwZW5kSWRzLCBibG9jaywgdGhpcy5pZClcbiAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRXJyb3IgaW4gc29yaW5nIHBlcm1pdHMgb2YgdGhlIGJsb2NrICR7YmxvY2t9YCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlKTtcbiAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgYGJsb2NrICR7YmxvY2t9IGRvZXNuJ3Qgc2F2ZSBpbiB0aGUgZGF0YWJhc2Ugd2l0aCBlcnJvcmAsXG4gICAgICAgICAgZVxuICAgICAgICApO1xuICAgICAgICByZWplY3QoZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgZm9ya0Jsb2NrID0gYXN5bmMgKGhhc2g6IHN0cmluZykgPT4ge1xuICAgIGF3YWl0IHRoaXMuYWN0aW9ucy5kZWxldGVCbG9jayhoYXNoLCB0aGlzLmdldElkKCkpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBFeHRyYWN0b3IgYm94IGluaXRpYWxpemF0aW9uXG4gICAqIE5vIGFjdGlvbiBuZWVkZWQgaW4gZXZlbnQgdHJpZ2dlciBleHRyYWN0b3JzXG4gICAqL1xuICBpbml0aWFsaXplQm94ZXMgPSBhc3luYyAoKSA9PiB7XG4gICAgcmV0dXJuO1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBFdmVudFRyaWdnZXJFeHRyYWN0b3I7XG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRUcmlnZ2VyRXh0cmFjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2V4dHJhY3Rvci9FdmVudFRyaWdnZXJFeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLElBQUksTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLGNBQWMsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQ0wsaUJBQWlCLEdBR2xCLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTNDLE1BQU0scUJBQXNCLFNBQVEsaUJBQThCO0lBQ2hFLEVBQUUsQ0FBUztJQUNNLFVBQVUsQ0FBYTtJQUN2QixPQUFPLENBQWlCO0lBQ3hCLG9CQUFvQixDQUFTO0lBQzdCLEdBQUcsQ0FBUztJQUU3QixZQUNFLEVBQVUsRUFDVixVQUFzQixFQUN0QixPQUFlLEVBQ2YsR0FBVztRQUVYLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7YUFDMUQsWUFBWSxFQUFFO2FBQ2QsZUFBZSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBRXRCOzs7OztPQUtHO0lBQ0gsbUJBQW1CLEdBQUcsQ0FDcEIsR0FBdUIsRUFDdkIsS0FBa0IsRUFDQSxFQUFFO1FBQ3BCLE9BQU8sSUFBSSxPQUFPLENB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R0FBRyxFQUFFO29CQUNULElBQUksQ0FBQyxPQUFPO3lCQUNULGtCQUFrQixDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQzt5QkFDNUMsSUFBSSxDQUFDLEdBQUcsRUFBRTt3QkFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2hCLENBQUMsQ0FBQyxDQUFDO2dCQUNQLENBQUMsQ0FBQztxQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxLQUFLLEVBQUUsQ0FBQyxDQUFDO29CQUM3RCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNmLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDWixDQUFDLENBQUMsQ0FBQzthQUNOO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FDVCxTQUFTLEtBQUssMENBQTBDLEVBQ3hELENBQUMsQ0FDRixDQUFDO2dCQUNGLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNYO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRixTQUFTLEdBQUcsS0FBSyxFQUFFLElBQVksRUFBRSxFQUFFO1FBQ2pDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUMsQ0FBQztJQUVGOzs7T0FHRztJQUNILGVBQWUsR0FBRyxLQUFLLElBQUksRUFBRTtRQUMzQixPQUFPO0lBQ1QsQ0FBQyxDQUFDO0NBQ0g7QUFFRCxlQUFlLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJ3R5cGVvcm0nO1xuaW1wb3J0ICogYXMgd2FzbSBmcm9tICdlcmdvLWxpYi13YXNtLW5vZGVqcyc7XG5pbXBvcnQgRXZlbnRUcmlnZ2VyREIgZnJvbSAnLi4vYWN0aW9ucy9FdmVudFRyaWdnZXJEQic7XG5pbXBvcnQge1xuICBBYnN0cmFjdEV4dHJhY3RvcixcbiAgQmxvY2tFbnRpdHksXG4gIFRyYW5zYWN0aW9uLFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXInO1xuaW1wb3J0IHsgRXh0cmFjdGVkRXZlbnRUcmlnZ2VyIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9leHRyYWN0ZWRFdmVudFRyaWdnZXInO1xuaW1wb3J0IHsgSnNvbkJJIH0gZnJvbSAnLi4vbmV0d29yay9wYXJzZXInO1xuXG5jbGFzcyBFdmVudFRyaWdnZXJFeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdEV4dHJhY3RvcjxUcmFuc2FjdGlvbj4ge1xuICBpZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGRhdGFTb3VyY2U6IERhdGFTb3VyY2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgYWN0aW9uczogRXZlbnRUcmlnZ2VyREI7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRUcmlnZ2VyRXJnb1RyZWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBSV1Q6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpZDogc3RyaW5nLFxuICAgIGRhdGFTb3VyY2U6IERhdGFTb3VyY2UsXG4gICAgYWRkcmVzczogc3RyaW5nLFxuICAgIFJXVDogc3RyaW5nXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5pZCA9IGlkO1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IGRhdGFTb3VyY2U7XG4gICAgdGhpcy5hY3Rpb25zID0gbmV3IEV2ZW50VHJpZ2dlckRCKGRhdGFTb3VyY2UpO1xuICAgIHRoaXMuZXZlbnRUcmlnZ2VyRXJnb1RyZWUgPSB3YXNtLkFkZHJlc3MuZnJvbV9iYXNlNTgoYWRkcmVzcylcbiAgICAgIC50b19lcmdvX3RyZWUoKVxuICAgICAgLnRvX2Jhc2UxNl9ieXRlcygpO1xuICAgIHRoaXMuUldUID0gUldUO1xuICB9XG5cbiAgZ2V0SWQgPSAoKSA9PiB0aGlzLmlkO1xuXG4gIC8qKlxuICAgKiBnZXRzIGJsb2NrIGlkIGFuZCB0cmFuc2FjdGlvbnMgY29ycmVzcG9uZGluZyB0byB0aGUgYmxvY2sgYW5kIHNhdmVzIGlmIHRoZXkgYXJlIHZhbGlkIHJvc2VuXG4gICAqICB0cmFuc2FjdGlvbnMgYW5kIGluIGNhc2Ugb2Ygc3VjY2VzcyByZXR1cm4gdHJ1ZSBhbmQgaW4gY2FzZSBvZiBmYWlsdXJlIHJldHVybnMgZmFsc2VcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSB0eHNcbiAgICovXG4gIHByb2Nlc3NUcmFuc2FjdGlvbnMgPSAoXG4gICAgdHhzOiBBcnJheTxUcmFuc2FjdGlvbj4sXG4gICAgYmxvY2s6IEJsb2NrRW50aXR5XG4gICk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBib3hlczogQXJyYXk8RXh0cmFjdGVkRXZlbnRUcmlnZ2VyPiA9IFtdO1xuICAgICAgICBjb25zdCBzcGVuZElkczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgICAgICB0eHMuZm9yRWFjaCgodHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgICBmb3IgKGNvbnN0IG91dHB1dCBvZiB0cmFuc2FjdGlvbi5vdXRwdXRzKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgb3V0cHV0LmFkZGl0aW9uYWxSZWdpc3RlcnMgJiZcbiAgICAgICAgICAgICAgICBvdXRwdXQuYXNzZXRzICYmXG4gICAgICAgICAgICAgICAgb3V0cHV0LmFzc2V0cy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAgICAgb3V0cHV0LmFzc2V0c1swXS50b2tlbklkID09PSB0aGlzLlJXVCAmJlxuICAgICAgICAgICAgICAgIG91dHB1dC5lcmdvVHJlZSA9PT0gdGhpcy5ldmVudFRyaWdnZXJFcmdvVHJlZVxuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBSNCA9IG91dHB1dC5hZGRpdGlvbmFsUmVnaXN0ZXJzLlI0O1xuICAgICAgICAgICAgICAgIGNvbnN0IFI1ID0gb3V0cHV0LmFkZGl0aW9uYWxSZWdpc3RlcnMuUjU7XG4gICAgICAgICAgICAgICAgaWYgKFI0ICYmIFI1KSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBvdXRwdXRQYXJzZWQgPSB3YXNtLkVyZ29Cb3guZnJvbV9qc29uKFxuICAgICAgICAgICAgICAgICAgICBKc29uQkkuc3RyaW5naWZ5KG91dHB1dClcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICBjb25zdCBSNENvbnN0ID0gb3V0cHV0UGFyc2VkLnJlZ2lzdGVyX3ZhbHVlKFxuICAgICAgICAgICAgICAgICAgICB3YXNtLk5vbk1hbmRhdG9yeVJlZ2lzdGVySWQuUjRcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICBjb25zdCBSNUNvbnN0ID0gb3V0cHV0UGFyc2VkLnJlZ2lzdGVyX3ZhbHVlKFxuICAgICAgICAgICAgICAgICAgICB3YXNtLk5vbk1hbmRhdG9yeVJlZ2lzdGVySWQuUjVcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICBpZiAoUjRDb25zdCAmJiBSNUNvbnN0KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFI0U2VyaWFsaXplZCA9IFI0Q29uc3QudG9fY29sbF9jb2xsX2J5dGUoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgUjVTZXJpYWxpemVkID0gUjVDb25zdC50b19jb2xsX2NvbGxfYnl0ZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoUjRTZXJpYWxpemVkLmxlbmd0aCA+PSAxICYmIFI1U2VyaWFsaXplZC5sZW5ndGggPj0gMTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXSURzID0gUjRTZXJpYWxpemVkLm1hcCgoYnl0ZUFycmF5KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyLmZyb20oYnl0ZUFycmF5KS50b1N0cmluZygnaGV4JylcbiAgICAgICAgICAgICAgICAgICAgICApLmpvaW4oJywnKTtcbiAgICAgICAgICAgICAgICAgICAgICBib3hlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveElkOiBvdXRwdXQuYm94SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBib3hTZXJpYWxpemVkOiBCdWZmZXIuZnJvbShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0UGFyc2VkLnNpZ21hX3NlcmlhbGl6ZV9ieXRlcygpXG4gICAgICAgICAgICAgICAgICAgICAgICApLnRvU3RyaW5nKCdiYXNlNjQnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvQ2hhaW46IEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFsyXSkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvQWRkcmVzczogQnVmZmVyLmZyb20oUjVTZXJpYWxpemVkWzRdKS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV0d29ya0ZlZTogQmlnSW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnMHgnICsgQnVmZmVyLmZyb20oUjVTZXJpYWxpemVkWzddKS50b1N0cmluZygnaGV4JylcbiAgICAgICAgICAgICAgICAgICAgICAgICkudG9TdHJpbmcoMTApLFxuICAgICAgICAgICAgICAgICAgICAgICAgYnJpZGdlRmVlOiBCaWdJbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICcweCcgKyBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbNl0pLnRvU3RyaW5nKCdoZXgnKVxuICAgICAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygxMCksXG4gICAgICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IEJpZ0ludChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJzB4JyArIEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFs1XSkudG9TdHJpbmcoJ2hleCcpXG4gICAgICAgICAgICAgICAgICAgICAgICApLnRvU3RyaW5nKDEwKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUNoYWluVG9rZW5JZDogQnVmZmVyLmZyb20oXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFI1U2VyaWFsaXplZFs4XVxuICAgICAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0Q2hhaW5Ub2tlbklkOiBCdWZmZXIuZnJvbShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgUjVTZXJpYWxpemVkWzldXG4gICAgICAgICAgICAgICAgICAgICAgICApLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VUeElkOiBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbMF0pLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBmcm9tQ2hhaW46IEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFsxXSkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZyb21BZGRyZXNzOiBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbM10pLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VCbG9ja0lkOiBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbMTBdKS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgV0lEczogV0lEcyxcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gcHJvY2VzcyBpbnB1dHNcbiAgICAgICAgICAgIGZvciAoY29uc3QgaW5wdXQgb2YgdHJhbnNhY3Rpb24uaW5wdXRzKSB7XG4gICAgICAgICAgICAgIHNwZW5kSWRzLnB1c2goaW5wdXQuYm94SWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1xuICAgICAgICAgIC5zdG9yZUV2ZW50VHJpZ2dlcnMoYm94ZXMsIGJsb2NrLCB0aGlzLmdldElkKCkpXG4gICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25zXG4gICAgICAgICAgICAgIC5zcGVuZEV2ZW50VHJpZ2dlcnMoc3BlbmRJZHMsIGJsb2NrLCB0aGlzLmlkKVxuICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBFcnJvciBpbiBzb3JpbmcgcGVybWl0cyBvZiB0aGUgYmxvY2sgJHtibG9ja31gKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICBgYmxvY2sgJHtibG9ja30gZG9lc24ndCBzYXZlIGluIHRoZSBkYXRhYmFzZSB3aXRoIGVycm9yYCxcbiAgICAgICAgICBlXG4gICAgICAgICk7XG4gICAgICAgIHJlamVjdChlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBmb3JrQmxvY2sgPSBhc3luYyAoaGFzaDogc3RyaW5nKSA9PiB7XG4gICAgYXdhaXQgdGhpcy5hY3Rpb25zLmRlbGV0ZUJsb2NrKGhhc2gsIHRoaXMuZ2V0SWQoKSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEV4dHJhY3RvciBib3ggaW5pdGlhbGl6YXRpb25cbiAgICogTm8gYWN0aW9uIG5lZWRlZCBpbiBldmVudCB0cmlnZ2VyIGV4dHJhY3RvcnNcbiAgICovXG4gIGluaXRpYWxpemVCb3hlcyA9IGFzeW5jICgpID0+IHtcbiAgICByZXR1cm47XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IEV2ZW50VHJpZ2dlckV4dHJhY3RvcjtcbiJdfQ==
@@ -1,7 +1,6 @@
1
- import * as wasm from 'ergo-lib-wasm-nodejs';
2
1
  import { DataSource } from 'typeorm';
3
- import { AbstractExtractor, BlockEntity } from '@rosen-bridge/scanner';
4
- declare class CommitmentExtractor extends AbstractExtractor<wasm.Transaction> {
2
+ import { AbstractExtractor, BlockEntity, Transaction } from '@rosen-bridge/scanner';
3
+ declare class CommitmentExtractor extends AbstractExtractor<Transaction> {
5
4
  id: string;
6
5
  private readonly dataSource;
7
6
  private readonly commitmentsErgoTrees;
@@ -18,7 +17,7 @@ declare class CommitmentExtractor extends AbstractExtractor<wasm.Transaction> {
18
17
  * @param txs
19
18
  * @param block
20
19
  */
21
- processTransactions: (txs: Array<wasm.Transaction>, block: BlockEntity) => Promise<boolean>;
20
+ processTransactions: (txs: Array<Transaction>, block: BlockEntity) => Promise<boolean>;
22
21
  /**
23
22
  * fork one block and remove all stored information for this block
24
23
  * @param hash: block hash
@@ -1 +1 @@
1
- {"version":3,"file":"commitmentExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractor/commitmentExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEvE,cAAM,mBAAoB,SAAQ,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgB;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;gBAG/C,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EACxB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,UAAU;IAYxB;;OAEG;IACH,KAAK,eAAiB;IAEtB;;;;;OAKG;IACH,mBAAmB,QACZ,MAAM,KAAK,WAAW,CAAC,SACrB,WAAW,KACjB,QAAQ,OAAO,CAAC,CAkEjB;IAEF;;;OAGG;IACH,SAAS,SAAgB,MAAM,KAAG,QAAQ,IAAI,CAAC,CAE7C;IAEF;;;OAGG;IACH,eAAe,sBAEb;CACH;AAED,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"commitmentExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractor/commitmentExtractor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAG/B,cAAM,mBAAoB,SAAQ,iBAAiB,CAAC,WAAW,CAAC;IAC9D,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgB;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;gBAG/C,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EACxB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,UAAU;IAYxB;;OAEG;IACH,KAAK,eAAiB;IAEtB;;;;;OAKG;IACH,mBAAmB,QACZ,MAAM,WAAW,CAAC,SAChB,WAAW,KACjB,QAAQ,OAAO,CAAC,CAsEjB;IAEF;;;OAGG;IACH,SAAS,SAAgB,MAAM,KAAG,QAAQ,IAAI,CAAC,CAE7C;IAEF;;;OAGG;IACH,eAAe,sBAEb;CACH;AAED,eAAe,mBAAmB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import * as wasm from 'ergo-lib-wasm-nodejs';
2
2
  import CommitmentEntityAction from '../actions/commitmentDB';
3
- import { AbstractExtractor } from '@rosen-bridge/scanner';
3
+ import { AbstractExtractor, } from '@rosen-bridge/scanner';
4
+ import { JsonBI } from '../network/parser';
4
5
  class CommitmentExtractor extends AbstractExtractor {
5
6
  id;
6
7
  dataSource;
@@ -32,37 +33,41 @@ class CommitmentExtractor extends AbstractExtractor {
32
33
  const spendIds = [];
33
34
  txs.forEach((transaction) => {
34
35
  // process outputs
35
- for (let index = 0; index < transaction.outputs().len(); index++) {
36
- const output = transaction.outputs().get(index);
37
- if (output.tokens().len() > 0 &&
38
- output.tokens().get(0).id().to_str() === this.RWTId &&
39
- this.commitmentsErgoTrees.indexOf(output.ergo_tree().to_base16_bytes()) !== -1) {
36
+ for (const output of transaction.outputs) {
37
+ if (output.assets &&
38
+ output.additionalRegisters &&
39
+ output.assets.length > 0 &&
40
+ output.assets[0].tokenId === this.RWTId &&
41
+ this.commitmentsErgoTrees.indexOf(output.ergoTree) !== -1) {
40
42
  try {
41
- const R4 = output.register_value(4);
42
- const R5 = output.register_value(5);
43
- const R6 = output.register_value(6);
43
+ const decodedBox = wasm.ErgoBox.from_json(JsonBI.stringify(output));
44
+ const R4 = decodedBox.register_value(wasm.NonMandatoryRegisterId.R4);
45
+ const R5 = decodedBox.register_value(wasm.NonMandatoryRegisterId.R5);
46
+ const R6 = decodedBox.register_value(wasm.NonMandatoryRegisterId.R6);
44
47
  if (R4 && R5 && R6) {
45
- const WID = Buffer.from(R4.to_coll_coll_byte()[0]).toString('hex');
46
- const requestId = Buffer.from(R5.to_coll_coll_byte()[0]).toString('hex');
47
- const eventDigest = Buffer.from(R6.to_byte_array()).toString('hex');
48
+ const R4Value = R4.to_coll_coll_byte();
49
+ const R5Value = R5.to_coll_coll_byte();
50
+ const R6Value = R6.to_byte_array();
51
+ const WID = Buffer.from(R4Value[0]).toString('hex');
52
+ const requestId = Buffer.from(R5Value[0]).toString('hex');
53
+ const eventDigest = Buffer.from(R6Value).toString('hex');
48
54
  commitments.push({
49
55
  WID: WID,
50
56
  commitment: eventDigest,
51
57
  eventId: requestId,
52
- boxId: output.box_id().to_str(),
53
- boxSerialized: Buffer.from(output.sigma_serialize_bytes()).toString('base64'),
58
+ boxId: output.boxId,
59
+ boxSerialized: Buffer.from(decodedBox.sigma_serialize_bytes()).toString('base64'),
54
60
  });
55
61
  }
56
62
  }
57
63
  catch {
58
- continue;
64
+ // empty
59
65
  }
60
66
  }
61
67
  }
62
68
  // process inputs
63
- for (let index = 0; index < transaction.inputs().len(); index++) {
64
- const input = transaction.inputs().get(index);
65
- spendIds.push(input.box_id().to_str());
69
+ for (const input of transaction.inputs) {
70
+ spendIds.push(input.boxId);
66
71
  }
67
72
  });
68
73
  // process save commitments
@@ -98,4 +103,4 @@ class CommitmentExtractor extends AbstractExtractor {
98
103
  };
99
104
  }
100
105
  export default CommitmentExtractor;
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWl0bWVudEV4dHJhY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9leHRyYWN0b3IvY29tbWl0bWVudEV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLHNCQUFzQixDQUFDO0FBRzdDLE9BQU8sc0JBQXNCLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7QUFFdkUsTUFBTSxtQkFBb0IsU0FBUSxpQkFBbUM7SUFDbkUsRUFBRSxDQUFTO0lBQ00sVUFBVSxDQUFhO0lBQ3ZCLG9CQUFvQixDQUFnQjtJQUNwQyxLQUFLLENBQVM7SUFDZCxPQUFPLENBQXlCO0lBRWpELFlBQ0UsRUFBVSxFQUNWLFNBQXdCLEVBQ3hCLEtBQWEsRUFDYixVQUFzQjtRQUV0QixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNwRCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FDbkUsQ0FBQztRQUNGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUV0Qjs7Ozs7T0FLRztJQUNILG1CQUFtQixHQUFHLENBQ3BCLEdBQTRCLEVBQzVCLEtBQWtCLEVBQ0EsRUFBRTtRQUNw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QUNULGdCQUFnQixDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztxQkFDN0MsSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7d0JBQ2hFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDaEIsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDO3FCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDNUI7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixPQUFPLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUM3RCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNmLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNYO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxTQUFTLEdBQUcsS0FBSyxFQUFFLElBQVksRUFBaUIsRUFBRTtRQUNoRCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUMsQ0FBQztJQUVGOzs7T0FHRztJQUNILGVBQWUsR0FBRyxLQUFLLElBQUksRUFBRTtRQUMzQixPQUFPO0lBQ1QsQ0FBQyxDQUFDO0NBQ0g7QUFFRCxlQUFlLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgd2FzbSBmcm9tICdlcmdvLWxpYi13YXNtLW5vZGVqcyc7XG5pbXBvcnQgeyBleHRyYWN0ZWRDb21taXRtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9leHRyYWN0ZWRDb21taXRtZW50JztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCBDb21taXRtZW50RW50aXR5QWN0aW9uIGZyb20gJy4uL2FjdGlvbnMvY29tbWl0bWVudERCJztcbmltcG9ydCB7IEFic3RyYWN0RXh0cmFjdG9yLCBCbG9ja0VudGl0eSB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lcic7XG5cbmNsYXNzIENvbW1pdG1lbnRFeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdEV4dHJhY3Rvcjx3YXNtLlRyYW5zYWN0aW9uPiB7XG4gIGlkOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YVNvdXJjZTogRGF0YVNvdXJjZTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb21taXRtZW50c0VyZ29UcmVlczogQXJyYXk8c3RyaW5nPjtcbiAgcHJpdmF0ZSByZWFkb25seSBSV1RJZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGFjdGlvbnM6IENvbW1pdG1lbnRFbnRpdHlBY3Rpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBhZGRyZXNzZXM6IEFycmF5PHN0cmluZz4sXG4gICAgUldUSWQ6IHN0cmluZyxcbiAgICBkYXRhU291cmNlOiBEYXRhU291cmNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5pZCA9IGlkO1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IGRhdGFTb3VyY2U7XG4gICAgdGhpcy5jb21taXRtZW50c0VyZ29UcmVlcyA9IGFkZHJlc3Nlcy5tYXAoKGFkZHJlc3MpID0+XG4gICAgICB3YXNtLkFkZHJlc3MuZnJvbV9iYXNlNTgoYWRkcmVzcykudG9fZXJnb190cmVlKCkudG9fYmFzZTE2X2J5dGVzKClcbiAgICApO1xuICAgIHRoaXMuYWN0aW9ucyA9IG5ldyBDb21taXRtZW50RW50aXR5QWN0aW9uKGRhdGFTb3VyY2UpO1xuICAgIHRoaXMuUldUSWQgPSBSV1RJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgSWQgZm9yIGN1cnJlbnQgZXh0cmFjdG9yXG4gICAqL1xuICBnZXRJZCA9ICgpID0+IHRoaXMuaWQ7XG5cbiAgLyoqXG4gICAqIGdldHMgYmxvY2sgaWQgYW5kIHRyYW5zYWN0aW9ucyBjb3JyZXNwb25kaW5nIHRvIHRoZSBibG9jayBhbmQgc2F2ZXMgaWYgdGhleSBhcmUgdmFsaWQgcm9zZW5cbiAgICogIHRyYW5zYWN0aW9ucyBhbmQgaW4gY2FzZSBvZiBzdWNjZXNzIHJldHVybiB0cnVlIGFuZCBpbiBjYXNlIG9mIGZhaWx1cmUgcmV0dXJucyBmYWxzZVxuICAgKiBAcGFyYW0gdHhzXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKi9cbiAgcHJvY2Vzc1RyYW5zYWN0aW9ucyA9IChcbiAgICB0eHM6IEFycmF5PHdhc20uVHJhbnNhY3Rpb24+LFxuICAgIGJsb2NrOiBCbG9ja0VudGl0eVxuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgY29tbWl0bWVudHM6IEFycmF5PGV4dHJhY3RlZENvbW1pdG1lbnQ+ID0gW107XG4gICAgICAgIGNvbnN0IHNwZW5kSWRzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgICAgIHR4cy5mb3JFYWNoKCh0cmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgIC8vIHByb2Nlc3Mgb3V0cHV0c1xuICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0cmFuc2FjdGlvbi5vdXRwdXRzKCkubGVuKCk7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGNvbnN0IG91dHB1dCA9IHRyYW5zYWN0aW9uLm91dHB1dHMoKS5nZXQoaW5kZXgpO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBvdXRwdXQudG9rZW5zKCkubGVuKCkgPiAwICYmXG4gICAgICAgICAgICAgIG91dHB1dC50b2tlbnMoKS5nZXQoMCkuaWQoKS50b19zdHIoKSA9PT0gdGhpcy5SV1RJZCAmJlxuICAgICAgICAgICAgICB0aGlzLmNvbW1pdG1lbnRzRXJnb1RyZWVzLmluZGV4T2YoXG4gICAgICAgICAgICAgICAgb3V0cHV0LmVyZ29fdHJlZSgpLnRvX2Jhc2UxNl9ieXRlcygpXG4gICAgICAgICAgICAgICkgIT09IC0xXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCBSNCA9IG91dHB1dC5yZWdpc3Rlcl92YWx1ZSg0KTtcbiAgICAgICAgICAgICAgICBjb25zdCBSNSA9IG91dHB1dC5yZWdpc3Rlcl92YWx1ZSg1KTtcbiAgICAgICAgICAgICAgICBjb25zdCBSNiA9IG91dHB1dC5yZWdpc3Rlcl92YWx1ZSg2KTtcbiAgICAgICAgICAgICAgICBpZiAoUjQgJiYgUjUgJiYgUjYpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IFdJRCA9IEJ1ZmZlci5mcm9tKFI0LnRvX2NvbGxfY29sbF9ieXRlKClbMF0pLnRvU3RyaW5nKFxuICAgICAgICAgICAgICAgICAgICAnaGV4J1xuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RJZCA9IEJ1ZmZlci5mcm9tKFxuICAgICAgICAgICAgICAgICAgICBSNS50b19jb2xsX2NvbGxfYnl0ZSgpWzBdXG4gICAgICAgICAgICAgICAgICApLnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGV2ZW50RGlnZXN0ID0gQnVmZmVyLmZyb20oUjYudG9fYnl0ZV9hcnJheSgpKS50b1N0cmluZyhcbiAgICAgICAgICAgICAgICAgICAgJ2hleCdcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICBjb21taXRtZW50cy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgV0lEOiBXSUQsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1pdG1lbnQ6IGV2ZW50RGlnZXN0LFxuICAgICAgICAgICAgICAgICAgICBldmVudElkOiByZXF1ZXN0SWQsXG4gICAgICAgICAgICAgICAgICAgIGJveElkOiBvdXRwdXQuYm94X2lkKCkudG9fc3RyKCksXG4gICAgICAgICAgICAgICAgICAgIGJveFNlcmlhbGl6ZWQ6IEJ1ZmZlci5mcm9tKFxuICAgICAgICAgICAgICAgICAgICAgIG91dHB1dC5zaWdtYV9zZXJpYWxpemVfYnl0ZXMoKVxuICAgICAgICAgICAgICAgICAgICApLnRvU3RyaW5nKCdiYXNlNjQnKSxcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gcHJvY2VzcyBpbnB1dHNcbiAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdHJhbnNhY3Rpb24uaW5wdXRzKCkubGVuKCk7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gdHJhbnNhY3Rpb24uaW5wdXRzKCkuZ2V0KGluZGV4KTtcbiAgICAgICAgICAgIHNwZW5kSWRzLnB1c2goaW5wdXQuYm94X2lkKCkudG9fc3RyKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIC8vIHByb2Nlc3Mgc2F2ZSBjb21taXRtZW50c1xuICAgICAgICB0aGlzLmFjdGlvbnNcbiAgICAgICAgICAuc3RvcmVDb21taXRtZW50cyhjb21taXRtZW50cywgYmxvY2ssIHRoaXMuaWQpXG4gICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25zLnNwZW5kQ29tbWl0bWVudHMoc3BlbmRJZHMsIGJsb2NrLCB0aGlzLmlkKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKChlKSA9PiByZWplY3QoZSkpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhgRXJyb3IgaW4gc29yaW5nIHBlcm1pdHMgb2YgdGhlIGJsb2NrICR7YmxvY2t9YCk7XG4gICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgICByZWplY3QoZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIGZvcmsgb25lIGJsb2NrIGFuZCByZW1vdmUgYWxsIHN0b3JlZCBpbmZvcm1hdGlvbiBmb3IgdGhpcyBibG9ja1xuICAgKiBAcGFyYW0gaGFzaDogYmxvY2sgaGFzaFxuICAgKi9cbiAgZm9ya0Jsb2NrID0gYXN5bmMgKGhhc2g6IHN0cmluZyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGF3YWl0IHRoaXMuYWN0aW9ucy5kZWxldGVCbG9ja0NvbW1pdG1lbnQoaGFzaCwgdGhpcy5nZXRJZCgpKTtcbiAgfTtcblxuICAvKipcbiAgICogRXh0cmFjdG9yIGJveCBpbml0aWFsaXphdGlvblxuICAgKiBObyBhY3Rpb24gbmVlZGVkIGZvciBjb21taXRtZW50IGV4dHJhY3RvclxuICAgKi9cbiAgaW5pdGlhbGl6ZUJveGVzID0gYXN5bmMgKCkgPT4ge1xuICAgIHJldHVybjtcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29tbWl0bWVudEV4dHJhY3RvcjtcbiJdfQ==
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWl0bWVudEV4dHJhY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9leHRyYWN0b3IvY29tbWl0bWVudEV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLHNCQUFzQixDQUFDO0FBRzdDLE9BQU8sc0JBQXNCLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUNMLGlCQUFpQixHQUdsQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQyxNQUFNLG1CQUFvQixTQUFRLGlCQUE4QjtJQUM5RCxFQUFFLENBQVM7SUFDTSxVQUFVLENBQWE7SUFDdkIsb0JBQW9CLENBQWdCO0lBQ3BDLEtBQUssQ0FBUztJQUNkLE9BQU8sQ0FBeUI7SUFFakQsWUFDRSxFQUFVLEVBQ1YsU0FBd0IsRUFDeEIsS0FBYSxFQUNiLFVBQXNCO1FBRXRCLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ3BELElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUNuRSxDQUFDO1FBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBRXRCOzs7OztPQUtHO0lBQ0gsbUJBQW1C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LFdBQVcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztxQkFDN0MsSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7d0JBQ2hFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDaEIsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDO3FCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDNUI7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixPQUFPLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUM3RCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNmLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNYO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxTQUFTLEdBQUcsS0FBSyxFQUFFLElBQVksRUFBaUIsRUFBRTtRQUNoRCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUMsQ0FBQztJQUVGOzs7T0FHRztJQUNILGVBQWUsR0FBRyxLQUFLLElBQUksRUFBRTtRQUMzQixPQUFPO0lBQ1QsQ0FBQyxDQUFDO0NBQ0g7QUFFRCxlQUFlLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgd2FzbSBmcm9tICdlcmdvLWxpYi13YXNtLW5vZGVqcyc7XG5pbXBvcnQgeyBleHRyYWN0ZWRDb21taXRtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9leHRyYWN0ZWRDb21taXRtZW50JztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCBDb21taXRtZW50RW50aXR5QWN0aW9uIGZyb20gJy4uL2FjdGlvbnMvY29tbWl0bWVudERCJztcbmltcG9ydCB7XG4gIEFic3RyYWN0RXh0cmFjdG9yLFxuICBCbG9ja0VudGl0eSxcbiAgVHJhbnNhY3Rpb24sXG59IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lcic7XG5pbXBvcnQgeyBKc29uQkkgfSBmcm9tICcuLi9uZXR3b3JrL3BhcnNlcic7XG5cbmNsYXNzIENvbW1pdG1lbnRFeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdEV4dHJhY3RvcjxUcmFuc2FjdGlvbj4ge1xuICBpZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGRhdGFTb3VyY2U6IERhdGFTb3VyY2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbWl0bWVudHNFcmdvVHJlZXM6IEFycmF5PHN0cmluZz47XG4gIHByaXZhdGUgcmVhZG9ubHkgUldUSWQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb25zOiBDb21taXRtZW50RW50aXR5QWN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgYWRkcmVzc2VzOiBBcnJheTxzdHJpbmc+LFxuICAgIFJXVElkOiBzdHJpbmcsXG4gICAgZGF0YVNvdXJjZTogRGF0YVNvdXJjZVxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuaWQgPSBpZDtcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBkYXRhU291cmNlO1xuICAgIHRoaXMuY29tbWl0bWVudHNFcmdvVHJlZXMgPSBhZGRyZXNzZXMubWFwKChhZGRyZXNzKSA9PlxuICAgICAgd2FzbS5BZGRyZXNzLmZyb21fYmFzZTU4KGFkZHJlc3MpLnRvX2VyZ29fdHJlZSgpLnRvX2Jhc2UxNl9ieXRlcygpXG4gICAgKTtcbiAgICB0aGlzLmFjdGlvbnMgPSBuZXcgQ29tbWl0bWVudEVudGl0eUFjdGlvbihkYXRhU291cmNlKTtcbiAgICB0aGlzLlJXVElkID0gUldUSWQ7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IElkIGZvciBjdXJyZW50IGV4dHJhY3RvclxuICAgKi9cbiAgZ2V0SWQgPSAoKSA9PiB0aGlzLmlkO1xuXG4gIC8qKlxuICAgKiBnZXRzIGJsb2NrIGlkIGFuZCB0cmFuc2FjdGlvbnMgY29ycmVzcG9uZGluZyB0byB0aGUgYmxvY2sgYW5kIHNhdmVzIGlmIHRoZXkgYXJlIHZhbGlkIHJvc2VuXG4gICAqICB0cmFuc2FjdGlvbnMgYW5kIGluIGNhc2Ugb2Ygc3VjY2VzcyByZXR1cm4gdHJ1ZSBhbmQgaW4gY2FzZSBvZiBmYWlsdXJlIHJldHVybnMgZmFsc2VcbiAgICogQHBhcmFtIHR4c1xuICAgKiBAcGFyYW0gYmxvY2tcbiAgICovXG4gIHByb2Nlc3NUcmFuc2FjdGlvbnMgPSAoXG4gICAgdHhzOiBBcnJheTxUcmFuc2FjdGlvbj4sXG4gICAgYmxvY2s6IEJsb2NrRW50aXR5XG4gICk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBjb21taXRtZW50czogQXJyYXk8ZXh0cmFjdGVkQ29tbWl0bWVudD4gPSBbXTtcbiAgICAgICAgY29uc3Qgc3BlbmRJZHM6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgICAgICAgdHhzLmZvckVhY2goKHRyYW5zYWN0aW9uKSA9PiB7XG4gICAgICAgICAgLy8gcHJvY2VzcyBvdXRwdXRzXG4gICAgICAgICAgZm9yIChjb25zdCBvdXRwdXQgb2YgdHJhbnNhY3Rpb24ub3V0cHV0cykge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBvdXRwdXQuYXNzZXRzICYmXG4gICAgICAgICAgICAgIG91dHB1dC5hZGRpdGlvbmFsUmVnaXN0ZXJzICYmXG4gICAgICAgICAgICAgIG91dHB1dC5hc3NldHMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgICBvdXRwdXQuYXNzZXRzWzBdLnRva2VuSWQgPT09IHRoaXMuUldUSWQgJiZcbiAgICAgICAgICAgICAgdGhpcy5jb21taXRtZW50c0VyZ29UcmVlcy5pbmRleE9mKG91dHB1dC5lcmdvVHJlZSkgIT09IC0xXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkZWNvZGVkQm94ID0gd2FzbS5FcmdvQm94LmZyb21fanNvbihcbiAgICAgICAgICAgICAgICAgIEpzb25CSS5zdHJpbmdpZnkob3V0cHV0KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgY29uc3QgUjQgPSBkZWNvZGVkQm94LnJlZ2lzdGVyX3ZhbHVlKFxuICAgICAgICAgICAgICAgICAgd2FzbS5Ob25NYW5kYXRvcnlSZWdpc3RlcklkLlI0XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBjb25zdCBSNSA9IGRlY29kZWRCb3gucmVnaXN0ZXJfdmFsdWUoXG4gICAgICAgICAgICAgICAgICB3YXNtLk5vbk1hbmRhdG9yeVJlZ2lzdGVySWQuUjVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGNvbnN0IFI2ID0gZGVjb2RlZEJveC5yZWdpc3Rlcl92YWx1ZShcbiAgICAgICAgICAgICAgICAgIHdhc20uTm9uTWFuZGF0b3J5UmVnaXN0ZXJJZC5SNlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgaWYgKFI0ICYmIFI1ICYmIFI2KSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBSNFZhbHVlID0gUjQudG9fY29sbF9jb2xsX2J5dGUoKTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IFI1VmFsdWUgPSBSNS50b19jb2xsX2NvbGxfYnl0ZSgpO1xuICAgICAgICAgICAgICAgICAgY29uc3QgUjZWYWx1ZSA9IFI2LnRvX2J5dGVfYXJyYXkoKTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IFdJRCA9IEJ1ZmZlci5mcm9tKFI0VmFsdWVbMF0pLnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RJZCA9IEJ1ZmZlci5mcm9tKFI1VmFsdWVbMF0pLnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGV2ZW50RGlnZXN0ID0gQnVmZmVyLmZyb20oUjZWYWx1ZSkudG9TdHJpbmcoJ2hleCcpO1xuICAgICAgICAgICAgICAgICAgY29tbWl0bWVudHMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIFdJRDogV0lELFxuICAgICAgICAgICAgICAgICAgICBjb21taXRtZW50OiBldmVudERpZ2VzdCxcbiAgICAgICAgICAgICAgICAgICAgZXZlbnRJZDogcmVxdWVzdElkLFxuICAgICAgICAgICAgICAgICAgICBib3hJZDogb3V0cHV0LmJveElkLFxuICAgICAgICAgICAgICAgICAgICBib3hTZXJpYWxpemVkOiBCdWZmZXIuZnJvbShcbiAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVkQm94LnNpZ21hX3NlcmlhbGl6ZV9ieXRlcygpXG4gICAgICAgICAgICAgICAgICAgICkudG9TdHJpbmcoJ2Jhc2U2NCcpLFxuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICAvLyBlbXB0eVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIHByb2Nlc3MgaW5wdXRzXG4gICAgICAgICAgZm9yIChjb25zdCBpbnB1dCBvZiB0cmFuc2FjdGlvbi5pbnB1dHMpIHtcbiAgICAgICAgICAgIHNwZW5kSWRzLnB1c2goaW5wdXQuYm94SWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIC8vIHByb2Nlc3Mgc2F2ZSBjb21taXRtZW50c1xuICAgICAgICB0aGlzLmFjdGlvbnNcbiAgICAgICAgICAuc3RvcmVDb21taXRtZW50cyhjb21taXRtZW50cywgYmxvY2ssIHRoaXMuaWQpXG4gICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25zLnNwZW5kQ29tbWl0bWVudHMoc3BlbmRJZHMsIGJsb2NrLCB0aGlzLmlkKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKChlKSA9PiByZWplY3QoZSkpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhgRXJyb3IgaW4gc29yaW5nIHBlcm1pdHMgb2YgdGhlIGJsb2NrICR7YmxvY2t9YCk7XG4gICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgICByZWplY3QoZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIGZvcmsgb25lIGJsb2NrIGFuZCByZW1vdmUgYWxsIHN0b3JlZCBpbmZvcm1hdGlvbiBmb3IgdGhpcyBibG9ja1xuICAgKiBAcGFyYW0gaGFzaDogYmxvY2sgaGFzaFxuICAgKi9cbiAgZm9ya0Jsb2NrID0gYXN5bmMgKGhhc2g6IHN0cmluZyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGF3YWl0IHRoaXMuYWN0aW9ucy5kZWxldGVCbG9ja0NvbW1pdG1lbnQoaGFzaCwgdGhpcy5nZXRJZCgpKTtcbiAgfTtcblxuICAvKipcbiAgICogRXh0cmFjdG9yIGJveCBpbml0aWFsaXphdGlvblxuICAgKiBObyBhY3Rpb24gbmVlZGVkIGZvciBjb21taXRtZW50IGV4dHJhY3RvclxuICAgKi9cbiAgaW5pdGlhbGl6ZUJveGVzID0gYXN5bmMgKCkgPT4ge1xuICAgIHJldHVybjtcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29tbWl0bWVudEV4dHJhY3RvcjtcbiJdfQ==
@@ -1,9 +1,8 @@
1
1
  import { DataSource } from 'typeorm';
2
- import * as wasm from 'ergo-lib-wasm-nodejs';
3
2
  import PermitEntityAction from '../actions/permitDB';
4
- import { AbstractExtractor, BlockEntity } from '@rosen-bridge/scanner';
3
+ import { AbstractExtractor, BlockEntity, Transaction } from '@rosen-bridge/scanner';
5
4
  import { ExplorerApi } from '../network/ergoNetworkApi';
6
- declare class PermitExtractor extends AbstractExtractor<wasm.Transaction> {
5
+ declare class PermitExtractor extends AbstractExtractor<Transaction> {
7
6
  id: string;
8
7
  private readonly dataSource;
9
8
  readonly actions: PermitEntityAction;
@@ -18,7 +17,7 @@ declare class PermitExtractor extends AbstractExtractor<wasm.Transaction> {
18
17
  * @param block
19
18
  * @param txs
20
19
  */
21
- processTransactions: (txs: Array<wasm.Transaction>, block: BlockEntity) => Promise<boolean>;
20
+ processTransactions: (txs: Array<Transaction>, block: BlockEntity) => Promise<boolean>;
22
21
  forkBlock: (hash: string) => Promise<void>;
23
22
  /**
24
23
  * Initializes the database with older permits related to the address
@@ -1 +1 @@
1
- {"version":3,"file":"permitExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractor/permitExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAC7C,OAAO,kBAAkB,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGvE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,cAAM,eAAgB,SAAQ,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;IAC/D,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;gBAGhC,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM;IAarB,KAAK,eAAiB;IAEtB;;;;;OAKG;IACH,mBAAmB,QACZ,MAAM,KAAK,WAAW,CAAC,SACrB,WAAW,KACjB,QAAQ,OAAO,CAAC,CA6DjB;IAEF,SAAS,SAAgB,MAAM,mBAE7B;IAEF;;OAEG;IACH,eAAe,kBAAyB,MAAM,mBAuC5C;CACH;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"permitExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractor/permitExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,kBAAkB,MAAM,qBAAqB,CAAC;AAErD,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,cAAM,eAAgB,SAAQ,iBAAiB,CAAC,WAAW,CAAC;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;gBAGhC,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM;IAarB,KAAK,eAAiB;IAEtB;;;;;OAKG;IACH,mBAAmB,QACZ,MAAM,WAAW,CAAC,SAChB,WAAW,KACjB,QAAQ,OAAO,CAAC,CAmEjB;IAEF,SAAS,SAAgB,MAAM,mBAE7B;IAEF;;OAEG;IACH,eAAe,kBAAyB,MAAM,mBAuC5C;CACH;AAED,eAAe,eAAe,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import * as wasm from 'ergo-lib-wasm-nodejs';
2
2
  import PermitEntityAction from '../actions/permitDB';
3
- import { AbstractExtractor } from '@rosen-bridge/scanner';
3
+ import { AbstractExtractor, } from '@rosen-bridge/scanner';
4
4
  import * as ergoLib from 'ergo-lib-wasm-nodejs';
5
5
  import { Buffer } from 'buffer';
6
6
  import { ExplorerApi } from '../network/ergoNetworkApi';
@@ -36,33 +36,35 @@ class PermitExtractor extends AbstractExtractor {
36
36
  const boxes = [];
37
37
  const spendIds = [];
38
38
  txs.forEach((transaction) => {
39
- for (let index = 0; index < transaction.outputs().len(); index++) {
40
- const output = transaction.outputs().get(index);
39
+ for (const output of transaction.outputs) {
41
40
  try {
42
- const r4 = output.register_value(4);
43
- if (r4) {
44
- const R4Serialized = r4.to_coll_coll_byte();
45
- if (output.tokens().len() > 0 &&
46
- output.tokens().get(0).id().to_str() == this.RWT &&
47
- output.ergo_tree().to_base16_bytes() ===
48
- this.permitErgoTree &&
49
- R4Serialized.length >= 1) {
50
- boxes.push({
51
- boxId: output.box_id().to_str(),
52
- boxSerialized: Buffer.from(output.sigma_serialize_bytes()).toString('base64'),
53
- WID: Buffer.from(R4Serialized[0]).toString('hex'),
54
- });
41
+ if (output.additionalRegisters &&
42
+ output.additionalRegisters.R4 &&
43
+ output.assets &&
44
+ output.assets.length > 0 &&
45
+ output.assets[0].tokenId === this.RWT &&
46
+ output.ergoTree === this.permitErgoTree) {
47
+ const boxOutput = wasm.ErgoBox.from_json(JsonBI.stringify(output));
48
+ const r4 = boxOutput.register_value(wasm.NonMandatoryRegisterId.R4);
49
+ if (r4) {
50
+ const R4Serialized = r4.to_coll_coll_byte();
51
+ if (R4Serialized.length >= 1) {
52
+ boxes.push({
53
+ boxId: output.boxId,
54
+ boxSerialized: Buffer.from(boxOutput.sigma_serialize_bytes()).toString('base64'),
55
+ WID: Buffer.from(R4Serialized[0]).toString('hex'),
56
+ });
57
+ }
55
58
  }
56
59
  }
57
60
  }
58
61
  catch {
59
- continue;
62
+ // empty
60
63
  }
61
64
  }
62
65
  // process inputs
63
- for (let index = 0; index < transaction.inputs().len(); index++) {
64
- const input = transaction.inputs().get(index);
65
- spendIds.push(input.box_id().to_str());
66
+ for (const input of transaction.inputs) {
67
+ spendIds.push(input.boxId);
66
68
  }
67
69
  });
68
70
  this.actions
@@ -122,4 +124,4 @@ class PermitExtractor extends AbstractExtractor {
122
124
  };
123
125
  }
124
126
  export default PermitExtractor;
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWl0RXh0cmFjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2V4dHJhY3Rvci9wZXJtaXRFeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLElBQUksTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLGtCQUFrQixNQUFNLHFCQUFxQixDQUFDO0FBRXJELE9BQU8sRUFBRSxpQkFBaUIsRUFBZSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTNDLE1BQU0sZUFBZ0IsU0FBUSxpQkFBbUM7SUFDL0QsRUFBRSxDQUFTO0lBQ00sVUFBVSxDQUFhO0lBQy9CLE9BQU8sQ0FBcUI7SUFDcEIsY0FBYyxDQUFTO0lBQ3ZCLEdBQUcsQ0FBUztJQUNwQixXQUFXLENBQWM7SUFFbEMsWUFDRSxFQUFVLEVBQ1YsVUFBc0IsRUFDdEIsT0FBZSxFQUNmLEdBQVcsRUFDWCxXQUFtQjtRQUVuQixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO2FBQ3BELFlBQVksRUFBRTthQUNkLGVBQWUsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFD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ICd0eXBlb3JtJztcbmltcG9ydCAqIGFzIHdhc20gZnJvbSAnZXJnby1saWItd2FzbS1ub2RlanMnO1xuaW1wb3J0IFBlcm1pdEVudGl0eUFjdGlvbiBmcm9tICcuLi9hY3Rpb25zL3Blcm1pdERCJztcbmltcG9ydCB7IEV4dHJhY3RlZFBlcm1pdCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZXh0cmFjdGVkUGVybWl0JztcbmltcG9ydCB7IEFic3RyYWN0RXh0cmFjdG9yLCBCbG9ja0VudGl0eSB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lcic7XG5pbXBvcnQgKiBhcyBlcmdvTGliIGZyb20gJ2VyZ28tbGliLXdhc20tbm9kZWpzJztcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ2J1ZmZlcic7XG5pbXBvcnQgeyBFeHBsb3JlckFwaSB9IGZyb20gJy4uL25ldHdvcmsvZXJnb05ldHdvcmtBcGknO1xuaW1wb3J0IHsgSnNvbkJJIH0gZnJvbSAnLi4vbmV0d29yay9wYXJzZXInO1xuXG5jbGFzcyBQZXJtaXRFeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdEV4dHJhY3Rvcjx3YXNtLlRyYW5zYWN0aW9uPiB7XG4gIGlkOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YVNvdXJjZTogRGF0YVNvdXJjZTtcbiAgcmVhZG9ubHkgYWN0aW9uczogUGVybWl0RW50aXR5QWN0aW9uO1xuICBwcml2YXRlIHJlYWRvbmx5IHBlcm1pdEVyZ29UcmVlOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgUldUOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGV4cGxvcmVyQXBpOiBFeHBsb3JlckFwaTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpZDogc3RyaW5nLFxuICAgIGRhdGFTb3VyY2U6IERhdGFTb3VyY2UsXG4gICAgYWRkcmVzczogc3RyaW5nLFxuICAgIFJXVDogc3RyaW5nLFxuICAgIGV4cGxvcmVyVXJsOiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmlkID0gaWQ7XG4gICAgdGhpcy5kYXRhU291cmNlID0gZGF0YVNvdXJjZTtcbiAgICB0aGlzLmFjdGlvbnMgPSBuZXcgUGVybWl0RW50aXR5QWN0aW9uKGRhdGFTb3VyY2UpO1xuICAgIHRoaXMucGVybWl0RXJnb1RyZWUgPSB3YXNtLkFkZHJlc3MuZnJvbV9iYXNlNTgoYWRkcmVzcylcbiAgICAgIC50b19lcmdvX3RyZWUoKVxuICAgICAgLnRvX2Jhc2UxNl9ieXRlcygpO1xuICAgIHRoaXMuUldUID0gUldUO1xuICAgIHRoaXMuZXhwbG9yZXJBcGkgPSBuZXcgRXhwbG9yZXJBcGkoZXhwbG9yZXJVcmwpO1xuICB9XG5cbiAgZ2V0SWQgPSAoKSA9PiB0aGlzLmlkO1xuXG4gIC8qKlxuICAgKiBnZXRzIGJsb2NrIGlkIGFuZCB0cmFuc2FjdGlvbnMgY29ycmVzcG9uZGluZyB0byB0aGUgYmxvY2sgYW5kIHNhdmVzIGlmIHRoZXkgYXJlIHZhbGlkIHJvc2VuXG4gICAqICB0cmFuc2FjdGlvbnMgYW5kIGluIGNhc2Ugb2Ygc3VjY2VzcyByZXR1cm4gdHJ1ZSBhbmQgaW4gY2FzZSBvZiBmYWlsdXJlIHJldHVybnMgZmFsc2VcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSB0eHNcbiAgICovXG4gIHByb2Nlc3NUcmFuc2FjdGlvbnMgPSAoXG4gICAgdHhzOiBBcnJheTx3YXNtLlRyYW5zYWN0aW9uPixcbiAgICBibG9jazogQmxvY2tFbnRpdHlcbiAgKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGJveGVzOiBBcnJheTxFeHRyYWN0ZWRQZXJtaXQ+ID0gW107XG4gICAgICAgIGNvbnN0IHNwZW5kSWRzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgICAgIHR4cy5mb3JFYWNoKCh0cmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0cmFuc2FjdGlvbi5vdXRwdXRzKCkubGVuKCk7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGNvbnN0IG91dHB1dCA9IHRyYW5zYWN0aW9uLm91dHB1dHMoKS5nZXQoaW5kZXgpO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgY29uc3QgcjQgPSBvdXRwdXQucmVnaXN0ZXJfdmFsdWUoNCk7XG4gICAgICAgICAgICAgIGlmIChyNCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IFI0U2VyaWFsaXplZCA9IHI0LnRvX2NvbGxfY29sbF9ieXRlKCk7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgb3V0cHV0LnRva2VucygpLmxlbigpID4gMCAmJlxuICAgICAgICAgICAgICAgICAgb3V0cHV0LnRva2VucygpLmdldCgwKS5pZCgpLnRvX3N0cigpID09IHRoaXMuUldUICYmXG4gICAgICAgICAgICAgICAgICBvdXRwdXQuZXJnb190cmVlKCkudG9fYmFzZTE2X2J5dGVzKCkgPT09XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGVybWl0RXJnb1RyZWUgJiZcbiAgICAgICAgICAgICAgICAgIFI0U2VyaWFsaXplZC5sZW5ndGggPj0gMVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgYm94ZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIGJveElkOiBvdXRwdXQuYm94X2lkKCkudG9fc3RyKCksXG4gICAgICAgICAgICAgICAgICAgIGJveFNlcmlhbGl6ZWQ6IEJ1ZmZlci5mcm9tKFxuICAgICAgICAgICAgICAgICAgICAgIG91dHB1dC5zaWdtYV9zZXJpYWxpemVfYnl0ZXMoKVxuICAgICAgICAgICAgICAgICAgICApLnRvU3RyaW5nKCdiYXNlNjQnKSxcbiAgICAgICAgICAgICAgICAgICAgV0lEOiBCdWZmZXIuZnJvbShSNFNlcmlhbGl6ZWRbMF0pLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBwcm9jZXNzIGlucHV0c1xuICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0cmFuc2FjdGlvbi5pbnB1dHMoKS5sZW4oKTsgaW5kZXgrKykge1xuICAgICAgICAgICAgY29uc3QgaW5wdXQgPSB0cmFuc2FjdGlvbi5pbnB1dHMoKS5nZXQoaW5kZXgpO1xuICAgICAgICAgICAgc3BlbmRJZHMucHVzaChpbnB1dC5ib3hfaWQoKS50b19zdHIoKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmFjdGlvbnNcbiAgICAgICAgICAuc3RvcmVQZXJtaXRzKGJveGVzLCBibG9jaywgdGhpcy5nZXRJZCgpKVxuICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWN0aW9uc1xuICAgICAgICAgICAgICAuc3BlbmRQZXJtaXRzKHNwZW5kSWRzLCBibG9jaywgdGhpcy5nZXRJZCgpKVxuICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBFcnJvciBpbiBzdG9yaW5nIHBlcm1pdHMgb2YgdGhlIGJsb2NrICR7YmxvY2t9YCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlKTtcbiAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgYGJsb2NrICR7YmxvY2t9IGRvZXNuJ3Qgc2F2ZSBpbiB0aGUgZGF0YWJhc2Ugd2l0aCBlcnJvcmAsXG4gICAgICAgICAgZVxuICAgICAgICApO1xuICAgICAgICByZWplY3QoZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgZm9ya0Jsb2NrID0gYXN5bmMgKGhhc2g6IHN0cmluZykgPT4ge1xuICAgIGF3YWl0IHRoaXMuYWN0aW9ucy5kZWxldGVCbG9jayhoYXNoLCB0aGlzLmdldElkKCkpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyB0aGUgZGF0YWJhc2Ugd2l0aCBvbGRlciBwZXJtaXRzIHJlbGF0ZWQgdG8gdGhlIGFkZHJlc3NcbiAgICovXG4gIGluaXRpYWxpemVCb3hlcyA9IGFzeW5jIChpbml0aWFsSGVpZ2h0OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBleHRyYWN0ZWRCb3hlczogQXJyYXk8RXh0cmFjdGVkUGVybWl0PiA9IFtdO1xuICAgIGxldCBvZmZzZXQgPSAwLFxuICAgICAgdG90YWwgPSAxMDA7XG4gICAgd2hpbGUgKG9mZnNldCA8IHRvdGFsKSB7XG4gICAgICBjb25zdCBib3hlcyA9IGF3YWl0IHRoaXMuZXhwbG9yZXJBcGkuZ2V0Qm94ZXNGb3JBZGRyZXNzKFxuICAgICAgICB0aGlzLnBlcm1pdEVyZ29UcmVlLFxuICAgICAgICBvZmZzZXRcbiAgICAgICk7XG4gICAgICBib3hlcy5pdGVtcy5mb3JFYWNoKChib3hKc29uKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBib3hKc29uLnNldHRsZW1lbnRIZWlnaHQgPCBpbml0aWFsSGVpZ2h0ICYmXG4gICAgICAgICAgYm94SnNvbi5hc3NldHMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgIGJveEpzb24uYXNzZXRzWzBdLnRva2VuSWQgPT0gdGhpcy5SV1RcbiAgICAgICAgKSB7XG4gICAgICAgICAgY29uc3QgYm94ID0gZXJnb0xpYi5FcmdvQm94LmZyb21fanNvbihKc29uQkkuc3RyaW5naWZ5KGJveEpzb24pKTtcbiAgICAgICAgICBjb25zdCByNCA9IGJveC5yZWdpc3Rlcl92YWx1ZSg0KTtcbiAgICAgICAgICBpZiAocjQpIHtcbiAgICAgICAgICAgIGNvbnN0IFI0U2VyaWFsaXplZCA9IHI0LnRvX2NvbGxfY29sbF9ieXRlKCk7XG4gICAgICAgICAgICBleHRyYWN0ZWRCb3hlcy5wdXNoKHtcbiAgICAgICAgICAgICAgYm94SWQ6IGJveC5ib3hfaWQoKS50b19zdHIoKSxcbiAgICAgICAgICAgICAgYm94U2VyaWFsaXplZDogQnVmZmVyLmZyb20oYm94LnNpZ21hX3NlcmlhbGl6ZV9ieXRlcygpKS50b1N0cmluZyhcbiAgICAgICAgICAgICAgICAnYmFzZTY0J1xuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBibG9jazogYm94SnNvbi5ibG9ja0lkLFxuICAgICAgICAgICAgICBoZWlnaHQ6IGJveEpzb24uc2V0dGxlbWVudEhlaWdodCxcbiAgICAgICAgICAgICAgV0lEOiBCdWZmZXIuZnJvbShSNFNlcmlhbGl6ZWRbMF0pLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0b3RhbCA9IGJveGVzLnRvdGFsO1xuICAgICAgb2Zmc2V0ICs9IDEwMDtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5hY3Rpb25zLnN0b3JlSW5pdGlhbFBlcm1pdHMoXG4gICAgICBleHRyYWN0ZWRCb3hlcyxcbiAgICAgIGluaXRpYWxIZWlnaHQsXG4gICAgICB0aGlzLmdldElkKClcbiAgICApO1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBQZXJtaXRFeHRyYWN0b3I7XG4iXX0=
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWl0RXh0cmFjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2V4dHJhY3Rvci9wZXJtaXRFeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLElBQUksTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLGtCQUFrQixNQUFNLHFCQUFxQixDQUFDO0FBRXJELE9BQU8sRUFDTCxpQkFBaUIsR0FHbEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEtBQUssT0FBTyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQyxNQUFNLGVBQWdCLFNBQVEsaUJBQThCO0lBQzFELEVBQUUsQ0FBUztJQUNNLFVBQVUsQ0FBYTtJQUMvQixPQUFPLENBQXFCO0lBQ3BCLGNBQWMsQ0FBUztJQUN2QixHQUFHLENBQVM7SUFDcEIsV0FBVyxDQUFjO0lBRWxDLFlBQ0UsRUFBVSxFQUNWLFVBQXNCLEVBQ3RCLE9BQWUsRUFDZixHQUFXLEVBQ1gsV0FBbUI7UUFFbkIsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQzthQUNwRCxZQUFZLEVBQUU7YUFDZCxlQUFlLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBRXRCOzs7OztPQUtHO0lBQ0gsbUJBQW1CLEdBQUcsQ0FDcEIsR0FBdUIsRUFDdkIsS0FBa0IsRUFDQSxFQUFFO1FBQ3BCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsSUFBSTtnQkFDRixNQUFNLEtBQUssR0FBMkIsRUFBRSxDQUFDO2dCQUN6QyxNQUFNLFFBQVEsR0FBa0IsRUFBRSxDQUFDO2dCQUNuQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7b0JBQzFCLEtBQUssTUFBTSxNQUFNLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRTt3QkFDeEMsSUFBSTs0QkFDRixJQUNFLE1BQU0sQ0FBQyxtQkFBbUI7Z0NBQzFCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO2dDQUM3QixNQUFNLENBQUMsTUFBTTtnQ0FDYixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDO2dDQUN4QixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsR0FBRztnQ0FDckMsTUFBTSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsY0FBYyxFQUN2QztnQ0FDQSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FDdEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FDekIsQ0FBQztnQ0FDRixNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsY0FBYyxDQUNqQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUMvQixDQUFDO2dDQUNGLElBQUksRUFBRSxFQUFFO29DQUNOLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO29DQUM1QyxJQUFJLFlBQVksQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO3dDQUM1QixLQUFLLENBQUMsSUFBSSxDQUFDOzRDQUNULEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSzs0Q0FDbkIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQ3hCLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxDQUNsQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7NENBQ3BCLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7eUNBQ2xELENBQUMsQ0FBQztxQ0FDSjtpQ0FDRjs2QkFDRjt5QkFDRjt3QkFBQyxNQUFNOzRCQUNOLFFBQVE7eUJBQ1Q7cUJBQ0Y7b0JBQ0QsaUJBQWlCO29CQUNqQixLQUFLLE1BQU0sS0FBSyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUU7d0JBQ3RDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUM1QjtnQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFFSCxJQUFJLENBQUMsT0FBTztxQkFDVCxZQUFZLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7cUJBQ3hDLElBQUksQ0FBQyxHQUFHLEVBQUU7b0JBQ1QsSUFBSSxDQUFDLE9BQU87eUJBQ1QsWUFBWSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO3lCQUMzQyxJQUFJLENBQUMsR0FBRyxFQUFFO3dCQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDaEIsQ0FBQyxDQUFDLENBQUM7Z0JBQ1AsQ0FBQyxDQUFDO3FCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMseUNBQXlDLEtBQUssRUFBRSxDQUFDLENBQUM7b0JBQzlELE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2YsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNaLENBQUMsQ0FBQyxDQUFDO2FBQ047WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixPQUFPLENBQUMsR0FBRyxDQUNULFNBQVMsS0FBSywwQ0FBMEMsRUFDeEQsQ0FBQyxDQUNGLENBQUM7Z0JBQ0YsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ1g7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztJQUVGLFNBQVMsR0FBRyxLQUFLLEVBQUUsSUFBWSxFQUFFLEVBQUU7UUFDakMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQyxDQUFDO0lBRUY7O09BRUc7SUFDSCxlQUFlLEdBQUcsS0FBSyxFQUFFLGFBQXFCLEVBQUUsRUFBRTtRQUNoRCxNQUFNLGNBQWMsR0FBMkIsRUFBRSxDQUFDO1FBQ2xELElBQUksTUFBTSxHQUFHLENBQUMsRUFDWixLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2QsT0FBTyxNQUFNLEdBQUcsS0FBSyxFQUFFO1lBQ3JCLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FDckQsSUFBSSxDQUFDLGNBQWMsRUFDbkIsTUFBTSxDQUNQLENBQUM7WUFDRixLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUM5QixJQUNFLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxhQUFhO29CQUN4QyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDO29CQUN6QixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxFQUNyQztvQkFDQSxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7b0JBQ2pFLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2pDLElBQUksRUFBRSxFQUFFO3dCQUNOLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO3dCQUM1QyxjQUFjLENBQUMsSUFBSSxDQUFDOzRCQUNsQixLQUFLLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRTs0QkFDNUIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQyxRQUFRLENBQzlELFFBQVEsQ0FDVDs0QkFDRCxLQUFLLEVBQUUsT0FBTyxDQUFDLE9BQU87NEJBQ3RCLE1BQU0sRUFBRSxPQUFPLENBQUMsZ0JBQWdCOzRCQUNoQyxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO3lCQUNsRCxDQUFDLENBQUM7cUJBQ0o7aUJBQ0Y7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxHQUFHLENBQUM7U0FDZjtRQUNELE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FDcEMsY0FBYyxFQUNkLGFBQWEsRUFDYixJQUFJLENBQUMsS0FBSyxFQUFFLENBQ2IsQ0FBQztJQUNKLENBQUMsQ0FBQztDQUNIO0FBRUQsZUFBZSxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAndHlwZW9ybSc7XG5pbXBvcnQgKiBhcyB3YXNtIGZyb20gJ2VyZ28tbGliLXdhc20tbm9kZWpzJztcbmltcG9ydCBQZXJtaXRFbnRpdHlBY3Rpb24gZnJvbSAnLi4vYWN0aW9ucy9wZXJtaXREQic7XG5pbXBvcnQgeyBFeHRyYWN0ZWRQZXJtaXQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2V4dHJhY3RlZFBlcm1pdCc7XG5pbXBvcnQge1xuICBBYnN0cmFjdEV4dHJhY3RvcixcbiAgQmxvY2tFbnRpdHksXG4gIFRyYW5zYWN0aW9uLFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXInO1xuaW1wb3J0ICogYXMgZXJnb0xpYiBmcm9tICdlcmdvLWxpYi13YXNtLW5vZGVqcyc7XG5pbXBvcnQgeyBCdWZmZXIgfSBmcm9tICdidWZmZXInO1xuaW1wb3J0IHsgRXhwbG9yZXJBcGkgfSBmcm9tICcuLi9uZXR3b3JrL2VyZ29OZXR3b3JrQXBpJztcbmltcG9ydCB7IEpzb25CSSB9IGZyb20gJy4uL25ldHdvcmsvcGFyc2VyJztcblxuY2xhc3MgUGVybWl0RXh0cmFjdG9yIGV4dGVuZHMgQWJzdHJhY3RFeHRyYWN0b3I8VHJhbnNhY3Rpb24+IHtcbiAgaWQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBkYXRhU291cmNlOiBEYXRhU291cmNlO1xuICByZWFkb25seSBhY3Rpb25zOiBQZXJtaXRFbnRpdHlBY3Rpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgcGVybWl0RXJnb1RyZWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBSV1Q6IHN0cmluZztcbiAgcmVhZG9ubHkgZXhwbG9yZXJBcGk6IEV4cGxvcmVyQXBpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgZGF0YVNvdXJjZTogRGF0YVNvdXJjZSxcbiAgICBhZGRyZXNzOiBzdHJpbmcsXG4gICAgUldUOiBzdHJpbmcsXG4gICAgZXhwbG9yZXJVcmw6IHN0cmluZ1xuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuaWQgPSBpZDtcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBkYXRhU291cmNlO1xuICAgIHRoaXMuYWN0aW9ucyA9IG5ldyBQZXJtaXRFbnRpdHlBY3Rpb24oZGF0YVNvdXJjZSk7XG4gICAgdGhpcy5wZXJtaXRFcmdvVHJlZSA9IHdhc20uQWRkcmVzcy5mcm9tX2Jhc2U1OChhZGRyZXNzKVxuICAgICAgLnRvX2VyZ29fdHJlZSgpXG4gICAgICAudG9fYmFzZTE2X2J5dGVzKCk7XG4gICAgdGhpcy5SV1QgPSBSV1Q7XG4gICAgdGhpcy5leHBsb3JlckFwaSA9IG5ldyBFeHBsb3JlckFwaShleHBsb3JlclVybCk7XG4gIH1cblxuICBnZXRJZCA9ICgpID0+IHRoaXMuaWQ7XG5cbiAgLyoqXG4gICAqIGdldHMgYmxvY2sgaWQgYW5kIHRyYW5zYWN0aW9ucyBjb3JyZXNwb25kaW5nIHRvIHRoZSBibG9jayBhbmQgc2F2ZXMgaWYgdGhleSBhcmUgdmFsaWQgcm9zZW5cbiAgICogIHRyYW5zYWN0aW9ucyBhbmQgaW4gY2FzZSBvZiBzdWNjZXNzIHJldHVybiB0cnVlIGFuZCBpbiBjYXNlIG9mIGZhaWx1cmUgcmV0dXJucyBmYWxzZVxuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHBhcmFtIHR4c1xuICAgKi9cbiAgcHJvY2Vzc1RyYW5zYWN0aW9ucyA9IChcbiAgICB0eHM6IEFycmF5PFRyYW5zYWN0aW9uPixcbiAgICBibG9jazogQmxvY2tFbnRpdHlcbiAgKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGJveGVzOiBBcnJheTxFeHRyYWN0ZWRQZXJtaXQ+ID0gW107XG4gICAgICAgIGNvbnN0IHNwZW5kSWRzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgICAgIHR4cy5mb3JFYWNoKCh0cmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgIGZvciAoY29uc3Qgb3V0cHV0IG9mIHRyYW5zYWN0aW9uLm91dHB1dHMpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBvdXRwdXQuYWRkaXRpb25hbFJlZ2lzdGVycyAmJlxuICAgICAgICAgICAgICAgIG91dHB1dC5hZGRpdGlvbmFsUmVnaXN0ZXJzLlI0ICYmXG4gICAgICAgICAgICAgICAgb3V0cHV0LmFzc2V0cyAmJlxuICAgICAgICAgICAgICAgIG91dHB1dC5hc3NldHMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgICAgIG91dHB1dC5hc3NldHNbMF0udG9rZW5JZCA9PT0gdGhpcy5SV1QgJiZcbiAgICAgICAgICAgICAgICBvdXRwdXQuZXJnb1RyZWUgPT09IHRoaXMucGVybWl0RXJnb1RyZWVcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYm94T3V0cHV0ID0gd2FzbS5FcmdvQm94LmZyb21fanNvbihcbiAgICAgICAgICAgICAgICAgIEpzb25CSS5zdHJpbmdpZnkob3V0cHV0KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgY29uc3QgcjQgPSBib3hPdXRwdXQucmVnaXN0ZXJfdmFsdWUoXG4gICAgICAgICAgICAgICAgICB3YXNtLk5vbk1hbmRhdG9yeVJlZ2lzdGVySWQuUjRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChyNCkge1xuICAgICAgICAgICAgICAgICAgY29uc3QgUjRTZXJpYWxpemVkID0gcjQudG9fY29sbF9jb2xsX2J5dGUoKTtcbiAgICAgICAgICAgICAgICAgIGlmIChSNFNlcmlhbGl6ZWQubGVuZ3RoID49IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgYm94ZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgYm94SWQ6IG91dHB1dC5ib3hJZCxcbiAgICAgICAgICAgICAgICAgICAgICBib3hTZXJpYWxpemVkOiBCdWZmZXIuZnJvbShcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveE91dHB1dC5zaWdtYV9zZXJpYWxpemVfYnl0ZXMoKVxuICAgICAgICAgICAgICAgICAgICAgICkudG9TdHJpbmcoJ2Jhc2U2NCcpLFxuICAgICAgICAgICAgICAgICAgICAgIFdJRDogQnVmZmVyLmZyb20oUjRTZXJpYWxpemVkWzBdKS50b1N0cmluZygnaGV4JyksXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgIC8vIGVtcHR5XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIHByb2Nlc3MgaW5wdXRzXG4gICAgICAgICAgZm9yIChjb25zdCBpbnB1dCBvZiB0cmFuc2FjdGlvbi5pbnB1dHMpIHtcbiAgICAgICAgICAgIHNwZW5kSWRzLnB1c2goaW5wdXQuYm94SWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hY3Rpb25zXG4gICAgICAgICAgLnN0b3JlUGVybWl0cyhib3hlcywgYmxvY2ssIHRoaXMuZ2V0SWQoKSlcbiAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFjdGlvbnNcbiAgICAgICAgICAgICAgLnNwZW5kUGVybWl0cyhzcGVuZElkcywgYmxvY2ssIHRoaXMuZ2V0SWQoKSlcbiAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRXJyb3IgaW4gc3RvcmluZyBwZXJtaXRzIG9mIHRoZSBibG9jayAke2Jsb2NrfWApO1xuICAgICAgICAgICAgY29uc29sZS5sb2coZSk7XG4gICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGBibG9jayAke2Jsb2NrfSBkb2Vzbid0IHNhdmUgaW4gdGhlIGRhdGFiYXNlIHdpdGggZXJyb3JgLFxuICAgICAgICAgIGVcbiAgICAgICAgKTtcbiAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIGZvcmtCbG9jayA9IGFzeW5jIChoYXNoOiBzdHJpbmcpID0+IHtcbiAgICBhd2FpdCB0aGlzLmFjdGlvbnMuZGVsZXRlQmxvY2soaGFzaCwgdGhpcy5nZXRJZCgpKTtcbiAgfTtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgdGhlIGRhdGFiYXNlIHdpdGggb2xkZXIgcGVybWl0cyByZWxhdGVkIHRvIHRoZSBhZGRyZXNzXG4gICAqL1xuICBpbml0aWFsaXplQm94ZXMgPSBhc3luYyAoaW5pdGlhbEhlaWdodDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgZXh0cmFjdGVkQm94ZXM6IEFycmF5PEV4dHJhY3RlZFBlcm1pdD4gPSBbXTtcbiAgICBsZXQgb2Zmc2V0ID0gMCxcbiAgICAgIHRvdGFsID0gMTAwO1xuICAgIHdoaWxlIChvZmZzZXQgPCB0b3RhbCkge1xuICAgICAgY29uc3QgYm94ZXMgPSBhd2FpdCB0aGlzLmV4cGxvcmVyQXBpLmdldEJveGVzRm9yQWRkcmVzcyhcbiAgICAgICAgdGhpcy5wZXJtaXRFcmdvVHJlZSxcbiAgICAgICAgb2Zmc2V0XG4gICAgICApO1xuICAgICAgYm94ZXMuaXRlbXMuZm9yRWFjaCgoYm94SnNvbikgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgYm94SnNvbi5zZXR0bGVtZW50SGVpZ2h0IDwgaW5pdGlhbEhlaWdodCAmJlxuICAgICAgICAgIGJveEpzb24uYXNzZXRzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICBib3hKc29uLmFzc2V0c1swXS50b2tlbklkID09IHRoaXMuUldUXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IGJveCA9IGVyZ29MaWIuRXJnb0JveC5mcm9tX2pzb24oSnNvbkJJLnN0cmluZ2lmeShib3hKc29uKSk7XG4gICAgICAgICAgY29uc3QgcjQgPSBib3gucmVnaXN0ZXJfdmFsdWUoNCk7XG4gICAgICAgICAgaWYgKHI0KSB7XG4gICAgICAgICAgICBjb25zdCBSNFNlcmlhbGl6ZWQgPSByNC50b19jb2xsX2NvbGxfYnl0ZSgpO1xuICAgICAgICAgICAgZXh0cmFjdGVkQm94ZXMucHVzaCh7XG4gICAgICAgICAgICAgIGJveElkOiBib3guYm94X2lkKCkudG9fc3RyKCksXG4gICAgICAgICAgICAgIGJveFNlcmlhbGl6ZWQ6IEJ1ZmZlci5mcm9tKGJveC5zaWdtYV9zZXJpYWxpemVfYnl0ZXMoKSkudG9TdHJpbmcoXG4gICAgICAgICAgICAgICAgJ2Jhc2U2NCdcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgYmxvY2s6IGJveEpzb24uYmxvY2tJZCxcbiAgICAgICAgICAgICAgaGVpZ2h0OiBib3hKc29uLnNldHRsZW1lbnRIZWlnaHQsXG4gICAgICAgICAgICAgIFdJRDogQnVmZmVyLmZyb20oUjRTZXJpYWxpemVkWzBdKS50b1N0cmluZygnaGV4JyksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdG90YWwgPSBib3hlcy50b3RhbDtcbiAgICAgIG9mZnNldCArPSAxMDA7XG4gICAgfVxuICAgIGF3YWl0IHRoaXMuYWN0aW9ucy5zdG9yZUluaXRpYWxQZXJtaXRzKFxuICAgICAgZXh0cmFjdGVkQm94ZXMsXG4gICAgICBpbml0aWFsSGVpZ2h0LFxuICAgICAgdGhpcy5nZXRJZCgpXG4gICAgKTtcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgUGVybWl0RXh0cmFjdG9yO1xuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rosen-bridge/watcher-data-extractor",
3
- "version": "0.1.8",
3
+ "version": "0.2.0-5bbac016",
4
4
  "description": "Extractor for rosen specific boxes on ergo blockchain",
5
5
  "author": "Sahand Zoufan",
6
6
  "license": "GPL-3.0",
@@ -19,7 +19,7 @@
19
19
  "dist"
20
20
  ],
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",