@rosen-bridge/evm-address-tx-extractor 1.2.0 → 1.2.2-82c56984

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.
Files changed (33) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/actions/db.d.ts +2 -2
  3. package/dist/actions/db.d.ts.map +1 -1
  4. package/dist/actions/db.js +2 -2
  5. package/dist/entities/{AddressTxsEntity.d.ts → addressTxsEntity.d.ts} +1 -1
  6. package/dist/entities/{AddressTxsEntity.d.ts.map → addressTxsEntity.d.ts.map} +1 -1
  7. package/dist/entities/{AddressTxsEntity.js → addressTxsEntity.js} +1 -1
  8. package/dist/extractors/{EvmTxExtractor.d.ts → evmTxExtractor.d.ts} +3 -3
  9. package/dist/extractors/evmTxExtractor.d.ts.map +1 -0
  10. package/dist/extractors/{EvmTxExtractor.js → evmTxExtractor.js} +3 -3
  11. package/dist/index.d.ts +2 -2
  12. package/dist/index.js +3 -3
  13. package/package.json +25 -17
  14. package/.eslintignore +0 -1
  15. package/dist/extractors/EvmTxExtractor.d.ts.map +0 -1
  16. package/lib/actions/db.ts +0 -69
  17. package/lib/entities/AddressTxsEntity.ts +0 -32
  18. package/lib/extractors/EvmTxExtractor.ts +0 -95
  19. package/lib/index.ts +0 -5
  20. package/lib/interfaces/types.ts +0 -12
  21. package/lib/migrations/index.ts +0 -9
  22. package/lib/migrations/postgres/1713694851290-migration.ts +0 -29
  23. package/lib/migrations/postgres/1722346608595-migration.ts +0 -21
  24. package/lib/migrations/sqlite/1713694799333-migration.ts +0 -28
  25. package/lib/migrations/sqlite/1722346500068-migration.ts +0 -91
  26. package/tests/actions/db.spec.ts +0 -124
  27. package/tests/extractor/EvmTxExtractor.spec.ts +0 -70
  28. package/tests/extractor/testData.ts +0 -104
  29. package/tests/testUtils.ts +0 -22
  30. package/tsconfig.build.json +0 -11
  31. package/tsconfig.build.tsbuildinfo +0 -1
  32. package/tsconfig.json +0 -11
  33. package/vitest.config.ts +0 -18
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # @rosen-bridge/evm-address-tx-extractor
2
2
 
3
+ ## 1.2.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Fix package-lock and move typescript and types/node into root
8
+ - Update eslint and plugins:
9
+ - Apply new rules such as sort imports and file name
10
+ - Update dependencies
11
+ - @rosen-bridge/extended-typeorm@1.0.1
12
+ - @rosen-clients/rate-limited-axios@1.1.0
13
+ - @rosen-bridge/rosen-extractor@10.1.1
14
+ - @rosen-bridge/tokens@4.0.1
15
+ - @rosen-bridge/abstract-logger@3.0.1
16
+ - @rosen-bridge/json-bigint@1.1.0
17
+ - @rosen-clients/ergo-explorer@2.1.0
18
+ - @rosen-clients/ergo-node@3.1.0
19
+ - @rosen-bridge/abstract-extractor@2.1.2
20
+ - @rosen-bridge/scanner-interfaces@0.2.1
21
+
22
+ ## 1.2.1
23
+
24
+ ### Patch Changes
25
+
26
+ - Update dependencies
27
+ - @rosen-bridge/abstract-extractor@2.1.1
28
+ - @rosen-bridge/extended-typeorm@1.0.0
29
+ - @rosen-bridge/abstract-logger@3.0.0
30
+
3
31
  ## 1.2.0
4
32
 
5
33
  ### Minor Changes
@@ -1,7 +1,7 @@
1
- import { ExtractedTx } from '../interfaces/types';
2
- import { DataSource } from '@rosen-bridge/extended-typeorm';
3
1
  import { AbstractLogger } from '@rosen-bridge/abstract-logger';
2
+ import { DataSource } from '@rosen-bridge/extended-typeorm';
4
3
  import { Block } from '@rosen-bridge/scanner-interfaces';
4
+ import { ExtractedTx } from '../interfaces/types';
5
5
  export declare class TxAction {
6
6
  private readonly repository;
7
7
  readonly logger: AbstractLogger;
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../lib/actions/db.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAc,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAEzD,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;gBAEpB,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,cAAc;IAK3D;;;;OAIG;IACH,cAAc,YAAmB,MAAM,aAAa,MAAM,mBAYxD;IAEF;;;;;;OAMG;IACH,QAAQ,QACD,MAAM,WAAW,CAAC,SAChB,KAAK,aACD,MAAM,mBAuBjB;CACH"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../lib/actions/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAc,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAGzD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;gBAEpB,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,cAAc;IAK3D;;;;OAIG;IACH,cAAc,GAAU,SAAS,MAAM,EAAE,WAAW,MAAM,mBAYxD;IAEF;;;;;;OAMG;IACH,QAAQ,GACN,KAAK,KAAK,CAAC,WAAW,CAAC,EACvB,OAAO,KAAK,EACZ,WAAW,MAAM,mBAuBjB;CACH"}
@@ -1,5 +1,5 @@
1
- import { AddressTxsEntity } from '../entities/AddressTxsEntity';
2
1
  import { DummyLogger } from '@rosen-bridge/abstract-logger';
2
+ import { AddressTxsEntity } from '../entities/addressTxsEntity';
3
3
  export class TxAction {
4
4
  repository;
5
5
  logger;
@@ -48,4 +48,4 @@ export class TxAction {
48
48
  .execute();
49
49
  };
50
50
  }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvYWN0aW9ucy9kYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUdoRSxPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRzVFLE1BQU0sT0FBTyxRQUFRO0lBQ0YsVUFBVSxDQUErQjtJQUNqRCxNQUFNLENBQWlCO0lBRWhDLFlBQVksVUFBc0IsRUFBRSxNQUF1QjtRQUN6RCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsY0FBYyxHQUFHLEtBQUssRUFBRSxPQUFlLEVBQUUsU0FBaUIsRUFBRSxFQUFFO1FBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLGtDQUFrQyxPQUFPLGtCQUFrQixTQUFTLEVBQUUsQ0FDdkUsQ0FBQztRQUNGLE1BQU0sSUFBSSxDQUFDLFVBQVU7YUFDbEIsa0JBQWtCLEVBQUU7YUFDcEIsTUFBTSxFQUFFO2FBQ1IsS0FBSyxDQUFDLCtDQUErQyxFQUFFO1lBQ3RELE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7YUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNmLENBQUMsQ0FBQztJQUVGOzs7Ozs7T0FNRztJQUNILFFBQVEsR0FBRyxLQUFLLEVBQ2QsR0FBdUIsRUFDdkIsS0FBWSxFQUNaLFNBQWlCLEVBQ2pCLEVBQUU7UUFDRixNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZiwrQkFBK0IsR0FBRyxDQUFDLEdBQUcsQ0FDcEMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQ3RCLGNBQWMsS0FBSyxDQUFDLElBQUksa0JBQWtCLFNBQVMsRUFBRSxDQUN2RCxDQUFDO1FBQ0YsTUFBTSxJQUFJLENBQUMsVUFBVTthQUNsQixrQkFBa0IsRUFBRTthQUNwQixNQUFNLEVBQUU7YUFDUixNQUFNLENBQ0wsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNmLFlBQVksRUFBRSxFQUFFLENBQUMsWUFBWTtZQUM3QixVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVU7WUFDekIsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLO1lBQ2YsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPO1lBQ25CLE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNuQixTQUFTLEVBQUUsU0FBUztZQUNwQixNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU07U0FDbEIsQ0FBQyxDQUFDLENBQ0o7YUFDQSxPQUFPLEVBQUUsQ0FBQztJQUNmLENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWRkcmVzc1R4c0VudGl0eSB9IGZyb20gJy4uL2VudGl0aWVzL0FkZHJlc3NUeHNFbnRpdHknO1xuaW1wb3J0IHsgRXh0cmFjdGVkVHggfSBmcm9tICcuLi9pbnRlcmZhY2VzL3R5cGVzJztcbmltcG9ydCB7IERhdGFTb3VyY2UsIFJlcG9zaXRvcnkgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2V4dGVuZGVkLXR5cGVvcm0nO1xuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIsIER1bW15TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHsgQmxvY2sgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXItaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjbGFzcyBUeEFjdGlvbiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVwb3NpdG9yeTogUmVwb3NpdG9yeTxBZGRyZXNzVHhzRW50aXR5PjtcbiAgcmVhZG9ubHkgbG9nZ2VyOiBBYnN0cmFjdExvZ2dlcjtcblxuICBjb25zdHJ1Y3RvcihkYXRhU291cmNlOiBEYXRhU291cmNlLCBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlcikge1xuICAgIHRoaXMucmVwb3NpdG9yeSA9IGRhdGFTb3VyY2UuZ2V0UmVwb3NpdG9yeShBZGRyZXNzVHhzRW50aXR5KTtcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlciA/IGxvZ2dlciA6IG5ldyBEdW1teUxvZ2dlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIHJlbW92ZSBhbGwgaW5zZXJ0ZWQgdHJhbnNhY3Rpb24gZm9yIHNwZWNpZmljIGJsb2NrIGluIHNwZWNpZmljIGV4dHJhY3RvciBmcm9tIGRhdGFiYXNlXG4gICAqIEBwYXJhbSBibG9ja0lkIHNlbGVjdGVkIGJsb2NrIGlkXG4gICAqIEBwYXJhbSBleHRyYWN0b3Igc2VsZWN0ZWQgZXh0cmFjdG9yXG4gICAqL1xuICBkZWxldGVCbG9ja1R4cyA9IGFzeW5jIChibG9ja0lkOiBzdHJpbmcsIGV4dHJhY3Rvcjogc3RyaW5nKSA9PiB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICBgRGVsZXRpbmcgdHJhbnNhY3Rpb25zIG9mIGJsb2NrICR7YmxvY2tJZH0gYW5kIGV4dHJhY3RvciAke2V4dHJhY3Rvcn1gLFxuICAgICk7XG4gICAgYXdhaXQgdGhpcy5yZXBvc2l0b3J5XG4gICAgICAuY3JlYXRlUXVlcnlCdWlsZGVyKClcbiAgICAgIC5kZWxldGUoKVxuICAgICAgLndoZXJlKCdleHRyYWN0b3IgPSA6ZXh0cmFjdG9yIEFORCBibG9ja0lkID0gOmJsb2NrSWQnLCB7XG4gICAgICAgIGJsb2NrSWQ6IGJsb2NrSWQsXG4gICAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgICAgfSlcbiAgICAgIC5leGVjdXRlKCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIHJlbW92ZSBvbGQgbGlzdCBvZiB0cmFuc2FjdGlvbnMgYW5kXG4gICAqIHN0b3JlIGEgbmV3IGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGRhdGFiYXNlIGZvciBzcGVjaWZpYyBibG9jayBhbmQgZXh0cmFjdG9yXG4gICAqIEBwYXJhbSB0eHNcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIHN0b3JlVHhzID0gYXN5bmMgKFxuICAgIHR4czogQXJyYXk8RXh0cmFjdGVkVHg+LFxuICAgIGJsb2NrOiBCbG9jayxcbiAgICBleHRyYWN0b3I6IHN0cmluZyxcbiAgKSA9PiB7XG4gICAgYXdhaXQgdGhpcy5kZWxldGVCbG9ja1R4cyhibG9jay5oYXNoLCBleHRyYWN0b3IpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgYEluc2VydGluZyBuZXcgdHJhbnNhY3Rpb25zIFske3R4cy5tYXAoXG4gICAgICAgICh0eCkgPT4gdHguc2lnbmVkSGFzaCxcbiAgICAgICl9XSBpbiBibG9jayAke2Jsb2NrLmhhc2h9IGFuZCBleHRyYWN0b3IgJHtleHRyYWN0b3J9YCxcbiAgICApO1xuICAgIGF3YWl0IHRoaXMucmVwb3NpdG9yeVxuICAgICAgLmNyZWF0ZVF1ZXJ5QnVpbGRlcigpXG4gICAgICAuaW5zZXJ0KClcbiAgICAgIC52YWx1ZXMoXG4gICAgICAgIHR4cy5tYXAoKHR4KSA9PiAoe1xuICAgICAgICAgIHVuc2lnbmVkSGFzaDogdHgudW5zaWduZWRIYXNoLFxuICAgICAgICAgIHNpZ25lZEhhc2g6IHR4LnNpZ25lZEhhc2gsXG4gICAgICAgICAgbm9uY2U6IHR4Lm5vbmNlLFxuICAgICAgICAgIGFkZHJlc3M6IHR4LmFkZHJlc3MsXG4gICAgICAgICAgYmxvY2tJZDogYmxvY2suaGFzaCxcbiAgICAgICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICAgICAgICBzdGF0dXM6IHR4LnN0YXR1cyxcbiAgICAgICAgfSkpLFxuICAgICAgKVxuICAgICAgLmV4ZWN1dGUoKTtcbiAgfTtcbn1cbiJdfQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvYWN0aW9ucy9kYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSTVFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR2hFLE1BQU0sT0FBTyxRQUFRO0lBQ0YsVUFBVSxDQUErQjtJQUNqRCxNQUFNLENBQWlCO0lBRWhDLFlBQVksVUFBc0IsRUFBRSxNQUF1QjtRQUN6RCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsY0FBYyxHQUFHLEtBQUssRUFBRSxPQUFlLEVBQUUsU0FBaUIsRUFBRSxFQUFFO1FBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLGtDQUFrQyxPQUFPLGtCQUFrQixTQUFTLEVBQUUsQ0FDdkUsQ0FBQztRQUNGLE1BQU0sSUFBSSxDQUFDLFVBQVU7YUFDbEIsa0JBQWtCLEVBQUU7YUFDcEIsTUFBTSxFQUFFO2FBQ1IsS0FBSyxDQUFDLCtDQUErQyxFQUFFO1lBQ3RELE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7YUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNmLENBQUMsQ0FBQztJQUVGOzs7Ozs7T0FNRztJQUNILFFBQVEsR0FBRyxLQUFLLEVBQ2QsR0FBdUIsRUFDdkIsS0FBWSxFQUNaLFNBQWlCLEVBQ2pCLEVBQUU7UUFDRixNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZiwrQkFBK0IsR0FBRyxDQUFDLEdBQUcsQ0FDcEMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQ3RCLGNBQWMsS0FBSyxDQUFDLElBQUksa0JBQWtCLFNBQVMsRUFBRSxDQUN2RCxDQUFDO1FBQ0YsTUFBTSxJQUFJLENBQUMsVUFBVTthQUNsQixrQkFBa0IsRUFBRTthQUNwQixNQUFNLEVBQUU7YUFDUixNQUFNLENBQ0wsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNmLFlBQVksRUFBRSxFQUFFLENBQUMsWUFBWTtZQUM3QixVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVU7WUFDekIsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLO1lBQ2YsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPO1lBQ25CLE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNuQixTQUFTLEVBQUUsU0FBUztZQUNwQixNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU07U0FDbEIsQ0FBQyxDQUFDLENBQ0o7YUFDQSxPQUFPLEVBQUUsQ0FBQztJQUNmLENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIsIER1bW15TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSwgUmVwb3NpdG9yeSB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvZXh0ZW5kZWQtdHlwZW9ybSc7XG5pbXBvcnQgeyBCbG9jayB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lci1pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgQWRkcmVzc1R4c0VudGl0eSB9IGZyb20gJy4uL2VudGl0aWVzL2FkZHJlc3NUeHNFbnRpdHknO1xuaW1wb3J0IHsgRXh0cmFjdGVkVHggfSBmcm9tICcuLi9pbnRlcmZhY2VzL3R5cGVzJztcblxuZXhwb3J0IGNsYXNzIFR4QWN0aW9uIHtcbiAgcHJpdmF0ZSByZWFkb25seSByZXBvc2l0b3J5OiBSZXBvc2l0b3J5PEFkZHJlc3NUeHNFbnRpdHk+O1xuICByZWFkb25seSBsb2dnZXI6IEFic3RyYWN0TG9nZ2VyO1xuXG4gIGNvbnN0cnVjdG9yKGRhdGFTb3VyY2U6IERhdGFTb3VyY2UsIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyKSB7XG4gICAgdGhpcy5yZXBvc2l0b3J5ID0gZGF0YVNvdXJjZS5nZXRSZXBvc2l0b3J5KEFkZHJlc3NUeHNFbnRpdHkpO1xuICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyID8gbG9nZ2VyIDogbmV3IER1bW15TG9nZ2VyKCk7XG4gIH1cblxuICAvKipcbiAgICogcmVtb3ZlIGFsbCBpbnNlcnRlZCB0cmFuc2FjdGlvbiBmb3Igc3BlY2lmaWMgYmxvY2sgaW4gc3BlY2lmaWMgZXh0cmFjdG9yIGZyb20gZGF0YWJhc2VcbiAgICogQHBhcmFtIGJsb2NrSWQgc2VsZWN0ZWQgYmxvY2sgaWRcbiAgICogQHBhcmFtIGV4dHJhY3RvciBzZWxlY3RlZCBleHRyYWN0b3JcbiAgICovXG4gIGRlbGV0ZUJsb2NrVHhzID0gYXN5bmMgKGJsb2NrSWQ6IHN0cmluZywgZXh0cmFjdG9yOiBzdHJpbmcpID0+IHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBEZWxldGluZyB0cmFuc2FjdGlvbnMgb2YgYmxvY2sgJHtibG9ja0lkfSBhbmQgZXh0cmFjdG9yICR7ZXh0cmFjdG9yfWAsXG4gICAgKTtcbiAgICBhd2FpdCB0aGlzLnJlcG9zaXRvcnlcbiAgICAgIC5jcmVhdGVRdWVyeUJ1aWxkZXIoKVxuICAgICAgLmRlbGV0ZSgpXG4gICAgICAud2hlcmUoJ2V4dHJhY3RvciA9IDpleHRyYWN0b3IgQU5EIGJsb2NrSWQgPSA6YmxvY2tJZCcsIHtcbiAgICAgICAgYmxvY2tJZDogYmxvY2tJZCxcbiAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICB9KVxuICAgICAgLmV4ZWN1dGUoKTtcbiAgfTtcblxuICAvKipcbiAgICogcmVtb3ZlIG9sZCBsaXN0IG9mIHRyYW5zYWN0aW9ucyBhbmRcbiAgICogc3RvcmUgYSBuZXcgbGlzdCBvZiB0cmFuc2FjdGlvbnMgZGF0YWJhc2UgZm9yIHNwZWNpZmljIGJsb2NrIGFuZCBleHRyYWN0b3JcbiAgICogQHBhcmFtIHR4c1xuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKi9cbiAgc3RvcmVUeHMgPSBhc3luYyAoXG4gICAgdHhzOiBBcnJheTxFeHRyYWN0ZWRUeD4sXG4gICAgYmxvY2s6IEJsb2NrLFxuICAgIGV4dHJhY3Rvcjogc3RyaW5nLFxuICApID0+IHtcbiAgICBhd2FpdCB0aGlzLmRlbGV0ZUJsb2NrVHhzKGJsb2NrLmhhc2gsIGV4dHJhY3Rvcik7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICBgSW5zZXJ0aW5nIG5ldyB0cmFuc2FjdGlvbnMgWyR7dHhzLm1hcChcbiAgICAgICAgKHR4KSA9PiB0eC5zaWduZWRIYXNoLFxuICAgICAgKX1dIGluIGJsb2NrICR7YmxvY2suaGFzaH0gYW5kIGV4dHJhY3RvciAke2V4dHJhY3Rvcn1gLFxuICAgICk7XG4gICAgYXdhaXQgdGhpcy5yZXBvc2l0b3J5XG4gICAgICAuY3JlYXRlUXVlcnlCdWlsZGVyKClcbiAgICAgIC5pbnNlcnQoKVxuICAgICAgLnZhbHVlcyhcbiAgICAgICAgdHhzLm1hcCgodHgpID0+ICh7XG4gICAgICAgICAgdW5zaWduZWRIYXNoOiB0eC51bnNpZ25lZEhhc2gsXG4gICAgICAgICAgc2lnbmVkSGFzaDogdHguc2lnbmVkSGFzaCxcbiAgICAgICAgICBub25jZTogdHgubm9uY2UsXG4gICAgICAgICAgYWRkcmVzczogdHguYWRkcmVzcyxcbiAgICAgICAgICBibG9ja0lkOiBibG9jay5oYXNoLFxuICAgICAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgICAgICAgIHN0YXR1czogdHguc3RhdHVzLFxuICAgICAgICB9KSksXG4gICAgICApXG4gICAgICAuZXhlY3V0ZSgpO1xuICB9O1xufVxuIl19
@@ -8,4 +8,4 @@ export declare class AddressTxsEntity {
8
8
  extractor: string;
9
9
  status: string;
10
10
  }
11
- //# sourceMappingURL=AddressTxsEntity.d.ts.map
11
+ //# sourceMappingURL=addressTxsEntity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddressTxsEntity.d.ts","sourceRoot":"","sources":["../../lib/entities/AddressTxsEntity.ts"],"names":[],"mappings":"AAMA,qBACa,gBAAgB;IAE3B,EAAE,EAAE,MAAM,CAAC;IAGX,YAAY,EAAE,MAAM,CAAC;IAGrB,UAAU,EAAE,MAAM,CAAC;IAGnB,KAAK,EAAE,MAAM,CAAC;IAGd,OAAO,EAAE,MAAM,CAAC;IAGhB,OAAO,EAAE,MAAM,CAAC;IAGhB,SAAS,EAAE,MAAM,CAAC;IAGlB,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"addressTxsEntity.d.ts","sourceRoot":"","sources":["../../lib/entities/addressTxsEntity.ts"],"names":[],"mappings":"AAMA,qBACa,gBAAgB;IAE3B,EAAE,EAAE,MAAM,CAAC;IAGX,YAAY,EAAE,MAAM,CAAC;IAGrB,UAAU,EAAE,MAAM,CAAC;IAGnB,KAAK,EAAE,MAAM,CAAC;IAGd,OAAO,EAAE,MAAM,CAAC;IAGhB,OAAO,EAAE,MAAM,CAAC;IAGhB,SAAS,EAAE,MAAM,CAAC;IAGlB,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -54,4 +54,4 @@ AddressTxsEntity = __decorate([
54
54
  Entity('address_txs_entity')
55
55
  ], AddressTxsEntity);
56
56
  export { AddressTxsEntity };
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRkcmVzc1R4c0VudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9lbnRpdGllcy9BZGRyZXNzVHhzRW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLHNCQUFzQixHQUN2QixNQUFNLGdDQUFnQyxDQUFDO0FBR2pDLElBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWdCO0lBRTNCLEVBQUUsQ0FBUztJQUdYLFlBQVksQ0FBUztJQUdyQixVQUFVLENBQVM7SUFHbkIsS0FBSyxDQUFTO0lBR2QsT0FBTyxDQUFTO0lBR2hCLE9BQU8sQ0FBUztJQUdoQixTQUFTLENBQVM7SUFHbEIsTUFBTSxDQUFTO0NBQ2hCLENBQUE7QUF0QkM7SUFEQyxzQkFBc0IsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQzs7NENBQ2pDO0FBR1g7SUFEQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7O3NEQUNQO0FBR3JCO0lBREMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDOztvREFDVDtBQUduQjtJQURDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQzs7K0NBQ2Q7QUFHZDtJQURDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQzs7aURBQ1o7QUFHaEI7SUFEQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7O2lEQUNaO0FBR2hCO0lBREMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDOzttREFDVjtBQUdsQjtJQURDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQzs7Z0RBQ2I7QUF2QkosZ0JBQWdCO0lBRDVCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztHQUNoQixnQkFBZ0IsQ0F3QjVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29sdW1uLFxuICBFbnRpdHksXG4gIFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4sXG59IGZyb20gJ0Byb3Nlbi1icmlkZ2UvZXh0ZW5kZWQtdHlwZW9ybSc7XG5cbkBFbnRpdHkoJ2FkZHJlc3NfdHhzX2VudGl0eScpXG5leHBvcnQgY2xhc3MgQWRkcmVzc1R4c0VudGl0eSB7XG4gIEBQcmltYXJ5R2VuZXJhdGVkQ29sdW1uKHsgdHlwZTogJ2ludGVnZXInIH0pXG4gIGlkOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IHR5cGU6ICd2YXJjaGFyJyB9KVxuICB1bnNpZ25lZEhhc2g6IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogJ3ZhcmNoYXInIH0pXG4gIHNpZ25lZEhhc2g6IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogJ2ludGVnZXInIH0pXG4gIG5vbmNlOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IHR5cGU6ICd2YXJjaGFyJyB9KVxuICBhZGRyZXNzOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6ICd2YXJjaGFyJyB9KVxuICBibG9ja0lkOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6ICd2YXJjaGFyJyB9KVxuICBleHRyYWN0b3I6IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogJ3ZhcmNoYXInIH0pXG4gIHN0YXR1czogc3RyaW5nO1xufVxuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzc1R4c0VudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9lbnRpdGllcy9hZGRyZXNzVHhzRW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLHNCQUFzQixHQUN2QixNQUFNLGdDQUFnQyxDQUFDO0FBR2pDLElBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWdCO0lBRTNCLEVBQUUsQ0FBUztJQUdYLFlBQVksQ0FBUztJQUdyQixVQUFVLENBQVM7SUFHbkIsS0FBSyxDQUFTO0lBR2QsT0FBTyxDQUFTO0lBR2hCLE9BQU8sQ0FBUztJQUdoQixTQUFTLENBQVM7SUFHbEIsTUFBTSxDQUFTO0NBQ2hCLENBQUE7QUF0QkM7SUFEQyxzQkFBc0IsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQzs7NENBQ2pDO0FBR1g7SUFEQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7O3NEQUNQO0FBR3JCO0lBREMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDOztvREFDVDtBQUduQjtJQURDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQzs7K0NBQ2Q7QUFHZDtJQURDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQzs7aURBQ1o7QUFHaEI7SUFEQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7O2lEQUNaO0FBR2hCO0lBREMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDOzttREFDVjtBQUdsQjtJQURDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQzs7Z0RBQ2I7QUF2QkosZ0JBQWdCO0lBRDVCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztHQUNoQixnQkFBZ0IsQ0F3QjVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29sdW1uLFxuICBFbnRpdHksXG4gIFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4sXG59IGZyb20gJ0Byb3Nlbi1icmlkZ2UvZXh0ZW5kZWQtdHlwZW9ybSc7XG5cbkBFbnRpdHkoJ2FkZHJlc3NfdHhzX2VudGl0eScpXG5leHBvcnQgY2xhc3MgQWRkcmVzc1R4c0VudGl0eSB7XG4gIEBQcmltYXJ5R2VuZXJhdGVkQ29sdW1uKHsgdHlwZTogJ2ludGVnZXInIH0pXG4gIGlkOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IHR5cGU6ICd2YXJjaGFyJyB9KVxuICB1bnNpZ25lZEhhc2g6IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogJ3ZhcmNoYXInIH0pXG4gIHNpZ25lZEhhc2g6IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogJ2ludGVnZXInIH0pXG4gIG5vbmNlOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IHR5cGU6ICd2YXJjaGFyJyB9KVxuICBhZGRyZXNzOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6ICd2YXJjaGFyJyB9KVxuICBibG9ja0lkOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6ICd2YXJjaGFyJyB9KVxuICBleHRyYWN0b3I6IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogJ3ZhcmNoYXInIH0pXG4gIHN0YXR1czogc3RyaW5nO1xufVxuIl19
@@ -1,8 +1,8 @@
1
- import { DataSource } from '@rosen-bridge/extended-typeorm';
2
1
  import { TransactionResponse } from 'ethers';
2
+ import { AbstractExtractor } from '@rosen-bridge/abstract-extractor';
3
3
  import { AbstractLogger } from '@rosen-bridge/abstract-logger';
4
+ import { DataSource } from '@rosen-bridge/extended-typeorm';
4
5
  import { Block } from '@rosen-bridge/scanner-interfaces';
5
- import { AbstractExtractor } from '@rosen-bridge/abstract-extractor';
6
6
  import { TxAction } from '../actions/db';
7
7
  export declare class EvmTxExtractor extends AbstractExtractor<TransactionResponse> {
8
8
  readonly logger: AbstractLogger;
@@ -33,4 +33,4 @@ export declare class EvmTxExtractor extends AbstractExtractor<TransactionRespons
33
33
  */
34
34
  initializeBoxes: () => Promise<void>;
35
35
  }
36
- //# sourceMappingURL=EvmTxExtractor.d.ts.map
36
+ //# sourceMappingURL=evmTxExtractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evmTxExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractors/evmTxExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,qBAAa,cAAe,SAAQ,iBAAiB,CAAC,mBAAmB,CAAC;IACxE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC;;OAEG;gBAED,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,cAAkC;IAS5C;;OAEG;IACH,KAAK,eAAiB;IAEtB;;;;OAIG;IACH,mBAAmB,GACjB,KAAK,KAAK,CAAC,mBAAmB,CAAC,EAC/B,OAAO,KAAK,KACX,OAAO,CAAC,OAAO,CAAC,CAkCjB;IAEF;;;OAGG;IACH,SAAS,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAE7C;IAEF;;OAEG;IACH,eAAe,sBAEb;CACH"}
@@ -1,8 +1,8 @@
1
1
  import { isCallException, Transaction } from 'ethers';
2
- import { DummyLogger } from '@rosen-bridge/abstract-logger';
3
2
  import { AbstractExtractor } from '@rosen-bridge/abstract-extractor';
4
- import { EvmTxStatus } from '../interfaces/types';
3
+ import { DummyLogger } from '@rosen-bridge/abstract-logger';
5
4
  import { TxAction } from '../actions/db';
5
+ import { EvmTxStatus } from '../interfaces/types';
6
6
  export class EvmTxExtractor extends AbstractExtractor {
7
7
  logger;
8
8
  action;
@@ -78,4 +78,4 @@ export class EvmTxExtractor extends AbstractExtractor {
78
78
  return;
79
79
  };
80
80
  }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZtVHhFeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZXh0cmFjdG9ycy9Fdm1UeEV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBdUIsTUFBTSxRQUFRLENBQUM7QUFDM0UsT0FBTyxFQUFrQixXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVyRSxPQUFPLEVBQUUsV0FBVyxFQUFlLE1BQU0scUJBQXFCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxNQUFNLE9BQU8sY0FBZSxTQUFRLGlCQUFzQztJQUMvRCxNQUFNLENBQWlCO0lBQ3ZCLE1BQU0sQ0FBVztJQUNULEVBQUUsQ0FBUztJQUNYLE9BQU8sQ0FBUztJQUVqQzs7T0FFRztJQUNILFlBQ0UsVUFBc0IsRUFDdEIsRUFBVSxFQUNWLE9BQWUsRUFDZixTQUF5QixJQUFJLFdBQVcsRUFBRTtRQUUxQyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBRXRCOzs7O09BSUc7SUFDSCxtQkFBbUIsR0FBRyxLQUFLLEVBQ3pCLEdBQStCLEVBQy9CLEtBQVksRUFDTSxFQUFFO1FBQ3BCLE1BQU0sWUFBWSxHQUF1QixFQUFFLENBQUM7UUFDNUMsS0FBSyxNQUFNLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNyQixJQUFJLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ3JCLE1BQU0sS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7WUFDeEUsQ0FBQztZQUNELElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDckIsTUFBTSxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQztZQUN4RSxDQUFDO1lBQ0QsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxNQUFtQixDQUFDO2dCQUN4QixJQUFJLENBQUM7b0JBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNoQyxJQUFJLE1BQU07d0JBQUUsTUFBTSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7O3dCQUV2QyxNQUFNLEtBQUssQ0FDVCxnQ0FBZ0MsRUFBRSxDQUFDLElBQUksMkJBQTJCLEtBQUssQ0FBQyxJQUFJLDZDQUE2QyxDQUMxSCxDQUFDO2dCQUNOLENBQUM7Z0JBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztvQkFDWCxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUM7d0JBQUUsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7O3dCQUMvQyxNQUFNLENBQUMsQ0FBQztnQkFDZixDQUFDO2dCQUNELFlBQVksQ0FBQyxJQUFJLENBQUM7b0JBQ2hCLFlBQVksRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVk7b0JBQy9DLFVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSTtvQkFDbkIsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLO29CQUNmLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtvQkFDOUIsTUFBTSxFQUFFLE1BQU07aUJBQ2YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUN6QixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDaEUsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxTQUFTLEdBQUcsS0FBSyxFQUFFLElBQVksRUFBaUIsRUFBRTtRQUNoRCxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDLENBQUM7SUFFRjs7T0FFRztJQUNILGVBQWUsR0FBRyxLQUFLLElBQUksRUFBRTtRQUMzQixPQUFPO0lBQ1QsQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9leHRlbmRlZC10eXBlb3JtJztcbmltcG9ydCB7IGlzQ2FsbEV4Y2VwdGlvbiwgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uUmVzcG9uc2UgfSBmcm9tICdldGhlcnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIsIER1bW15TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHsgQmxvY2sgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXItaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEV4dHJhY3RvciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtZXh0cmFjdG9yJztcblxuaW1wb3J0IHsgRXZtVHhTdGF0dXMsIEV4dHJhY3RlZFR4IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90eXBlcyc7XG5pbXBvcnQgeyBUeEFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMvZGInO1xuXG5leHBvcnQgY2xhc3MgRXZtVHhFeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdEV4dHJhY3RvcjxUcmFuc2FjdGlvblJlc3BvbnNlPiB7XG4gIHJlYWRvbmx5IGxvZ2dlcjogQWJzdHJhY3RMb2dnZXI7XG4gIHJlYWRvbmx5IGFjdGlvbjogVHhBY3Rpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBhZGRyZXNzOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGFkZHJlc3Mgc2hvdWxkIGJlIGxvd2VyIGNhc2UgKHdpdGhvdXQgY2hlY2tzdW0pXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBkYXRhU291cmNlOiBEYXRhU291cmNlLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgYWRkcmVzczogc3RyaW5nLFxuICAgIGxvZ2dlcjogQWJzdHJhY3RMb2dnZXIgPSBuZXcgRHVtbXlMb2dnZXIoKSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmlkID0gaWQ7XG4gICAgdGhpcy5hZGRyZXNzID0gYWRkcmVzcztcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlcjtcbiAgICB0aGlzLmFjdGlvbiA9IG5ldyBUeEFjdGlvbihkYXRhU291cmNlLCB0aGlzLmxvZ2dlcik7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IElkIGZvciBjdXJyZW50IGV4dHJhY3RvclxuICAgKi9cbiAgZ2V0SWQgPSAoKSA9PiB0aGlzLmlkO1xuXG4gIC8qKlxuICAgKiBnZXRzIGJsb2NrIGlkIGFuZCB0cmFuc2FjdGlvbnMgY29ycmVzcG9uZGluZyB0byB0aGUgYmxvY2sgYW5kIHNhdmVzIGFsbCB0cmFuc2FjdGlvbiBpZHMgaW4gZGF0YWJhc2VcbiAgICogQHBhcmFtIHR4c1xuICAgKiBAcGFyYW0gYmxvY2tcbiAgICovXG4gIHByb2Nlc3NUcmFuc2FjdGlvbnMgPSBhc3luYyAoXG4gICAgdHhzOiBBcnJheTxUcmFuc2FjdGlvblJlc3BvbnNlPixcbiAgICBibG9jazogQmxvY2ssXG4gICk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIGNvbnN0IGV4dHJhY3RlZFR4czogQXJyYXk8RXh0cmFjdGVkVHg+ID0gW107XG4gICAgZm9yIChjb25zdCB0eCBvZiB0eHMpIHtcbiAgICAgIGlmICh0eC5mcm9tID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IEVycm9yKCdJbXBvc3NpYmxlQmVoYXZpb3I6IFJQQyB0cmFuc2FjdGlvbnMgbXVzdCBoYXZlIGBmcm9tYC4nKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eC5oYXNoID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IEVycm9yKCdJbXBvc3NpYmxlQmVoYXZpb3I6IFJQQyB0cmFuc2FjdGlvbnMgbXVzdCBoYXZlIGBoYXNoYC4nKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eC5mcm9tLnRvTG93ZXJDYXNlKCkgPT09IHRoaXMuYWRkcmVzcykge1xuICAgICAgICBsZXQgc3RhdHVzOiBFdm1UeFN0YXR1cztcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0eC53YWl0KDApO1xuICAgICAgICAgIGlmIChyZXN1bHQpIHN0YXR1cyA9IEV2bVR4U3RhdHVzLnN1Y2NlZWQ7XG4gICAgICAgICAgZWxzZVxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgICAgIGBJbXBvc3NpYmxlIGJlaGF2aW9yOiBFdm0gVHggWyR7dHguaGFzaH1dIGlzIGluY2x1ZGVkIGluIGJsb2NrIFske2Jsb2NrLmhhc2h9XSBidXQgd2FpdGluZyByZXN1bHRlZCBpbiBudWxsIG9yIHVuZGVmaW5lZGAsXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgaWYgKGlzQ2FsbEV4Y2VwdGlvbihlKSkgc3RhdHVzID0gRXZtVHhTdGF0dXMuZmFpbGVkO1xuICAgICAgICAgIGVsc2UgdGhyb3cgZTtcbiAgICAgICAgfVxuICAgICAgICBleHRyYWN0ZWRUeHMucHVzaCh7XG4gICAgICAgICAgdW5zaWduZWRIYXNoOiBUcmFuc2FjdGlvbi5mcm9tKHR4KS51bnNpZ25lZEhhc2gsXG4gICAgICAgICAgc2lnbmVkSGFzaDogdHguaGFzaCxcbiAgICAgICAgICBub25jZTogdHgubm9uY2UsXG4gICAgICAgICAgYWRkcmVzczogdHguZnJvbS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICAgIHN0YXR1czogc3RhdHVzLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGV4dHJhY3RlZFR4cy5sZW5ndGggPiAwKVxuICAgICAgYXdhaXQgdGhpcy5hY3Rpb24uc3RvcmVUeHMoZXh0cmFjdGVkVHhzLCBibG9jaywgdGhpcy5nZXRJZCgpKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcblxuICAvKipcbiAgICogZm9yayBvbmUgYmxvY2sgYW5kIHJlbW92ZSBhbGwgc3RvcmVkIHR4SWQgZm9yIHRoaXMgYmxvY2tcbiAgICogQHBhcmFtIGhhc2g6IGJsb2NrIGhhc2hcbiAgICovXG4gIGZvcmtCbG9jayA9IGFzeW5jIChoYXNoOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBhd2FpdCB0aGlzLmFjdGlvbi5kZWxldGVCbG9ja1R4cyhoYXNoLCB0aGlzLmdldElkKCkpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyB0aGUgZGF0YWJhc2Ugd2l0aCBvbGRlciBib3hlcyByZWxhdGVkIHRvIHRoZSBhZGRyZXNzXG4gICAqL1xuICBpbml0aWFsaXplQm94ZXMgPSBhc3luYyAoKSA9PiB7XG4gICAgcmV0dXJuO1xuICB9O1xufVxuIl19
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZtVHhFeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZXh0cmFjdG9ycy9ldm1UeEV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBdUIsTUFBTSxRQUFRLENBQUM7QUFFM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFrQixXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUk1RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQWUsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRCxNQUFNLE9BQU8sY0FBZSxTQUFRLGlCQUFzQztJQUMvRCxNQUFNLENBQWlCO0lBQ3ZCLE1BQU0sQ0FBVztJQUNULEVBQUUsQ0FBUztJQUNYLE9BQU8sQ0FBUztJQUVqQzs7T0FFRztJQUNILFlBQ0UsVUFBc0IsRUFDdEIsRUFBVSxFQUNWLE9BQWUsRUFDZixTQUF5QixJQUFJLFdBQVcsRUFBRTtRQUUxQyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBRXRCOzs7O09BSUc7SUFDSCxtQkFBbUIsR0FBRyxLQUFLLEVBQ3pCLEdBQStCLEVBQy9CLEtBQVksRUFDTSxFQUFFO1FBQ3BCLE1BQU0sWUFBWSxHQUF1QixFQUFFLENBQUM7UUFDNUMsS0FBSyxNQUFNLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNyQixJQUFJLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ3JCLE1BQU0sS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7WUFDeEUsQ0FBQztZQUNELElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDckIsTUFBTSxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQztZQUN4RSxDQUFDO1lBQ0QsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxNQUFtQixDQUFDO2dCQUN4QixJQUFJLENBQUM7b0JBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNoQyxJQUFJLE1BQU07d0JBQUUsTUFBTSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7O3dCQUV2QyxNQUFNLEtBQUssQ0FDVCxnQ0FBZ0MsRUFBRSxDQUFDLElBQUksMkJBQTJCLEtBQUssQ0FBQyxJQUFJLDZDQUE2QyxDQUMxSCxDQUFDO2dCQUNOLENBQUM7Z0JBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztvQkFDWCxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUM7d0JBQUUsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7O3dCQUMvQyxNQUFNLENBQUMsQ0FBQztnQkFDZixDQUFDO2dCQUNELFlBQVksQ0FBQyxJQUFJLENBQUM7b0JBQ2hCLFlBQVksRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVk7b0JBQy9DLFVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSTtvQkFDbkIsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLO29CQUNmLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtvQkFDOUIsTUFBTSxFQUFFLE1BQU07aUJBQ2YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUN6QixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDaEUsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxTQUFTLEdBQUcsS0FBSyxFQUFFLElBQVksRUFBaUIsRUFBRTtRQUNoRCxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDLENBQUM7SUFFRjs7T0FFRztJQUNILGVBQWUsR0FBRyxLQUFLLElBQUksRUFBRTtRQUMzQixPQUFPO0lBQ1QsQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0NhbGxFeGNlcHRpb24sIFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvblJlc3BvbnNlIH0gZnJvbSAnZXRoZXJzJztcblxuaW1wb3J0IHsgQWJzdHJhY3RFeHRyYWN0b3IgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWV4dHJhY3Rvcic7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciwgRHVtbXlMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9leHRlbmRlZC10eXBlb3JtJztcbmltcG9ydCB7IEJsb2NrIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9zY2FubmVyLWludGVyZmFjZXMnO1xuXG5pbXBvcnQgeyBUeEFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMvZGInO1xuaW1wb3J0IHsgRXZtVHhTdGF0dXMsIEV4dHJhY3RlZFR4IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBFdm1UeEV4dHJhY3RvciBleHRlbmRzIEFic3RyYWN0RXh0cmFjdG9yPFRyYW5zYWN0aW9uUmVzcG9uc2U+IHtcbiAgcmVhZG9ubHkgbG9nZ2VyOiBBYnN0cmFjdExvZ2dlcjtcbiAgcmVhZG9ubHkgYWN0aW9uOiBUeEFjdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBpZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGFkZHJlc3M6IHN0cmluZztcblxuICAvKipcbiAgICogYWRkcmVzcyBzaG91bGQgYmUgbG93ZXIgY2FzZSAod2l0aG91dCBjaGVja3N1bSlcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIGRhdGFTb3VyY2U6IERhdGFTb3VyY2UsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBhZGRyZXNzOiBzdHJpbmcsXG4gICAgbG9nZ2VyOiBBYnN0cmFjdExvZ2dlciA9IG5ldyBEdW1teUxvZ2dlcigpLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuaWQgPSBpZDtcbiAgICB0aGlzLmFkZHJlc3MgPSBhZGRyZXNzO1xuICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyO1xuICAgIHRoaXMuYWN0aW9uID0gbmV3IFR4QWN0aW9uKGRhdGFTb3VyY2UsIHRoaXMubG9nZ2VyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgSWQgZm9yIGN1cnJlbnQgZXh0cmFjdG9yXG4gICAqL1xuICBnZXRJZCA9ICgpID0+IHRoaXMuaWQ7XG5cbiAgLyoqXG4gICAqIGdldHMgYmxvY2sgaWQgYW5kIHRyYW5zYWN0aW9ucyBjb3JyZXNwb25kaW5nIHRvIHRoZSBibG9jayBhbmQgc2F2ZXMgYWxsIHRyYW5zYWN0aW9uIGlkcyBpbiBkYXRhYmFzZVxuICAgKiBAcGFyYW0gdHhzXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKi9cbiAgcHJvY2Vzc1RyYW5zYWN0aW9ucyA9IGFzeW5jIChcbiAgICB0eHM6IEFycmF5PFRyYW5zYWN0aW9uUmVzcG9uc2U+LFxuICAgIGJsb2NrOiBCbG9jayxcbiAgKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgY29uc3QgZXh0cmFjdGVkVHhzOiBBcnJheTxFeHRyYWN0ZWRUeD4gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHR4IG9mIHR4cykge1xuICAgICAgaWYgKHR4LmZyb20gPT09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoJ0ltcG9zc2libGVCZWhhdmlvcjogUlBDIHRyYW5zYWN0aW9ucyBtdXN0IGhhdmUgYGZyb21gLicpO1xuICAgICAgfVxuICAgICAgaWYgKHR4Lmhhc2ggPT09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoJ0ltcG9zc2libGVCZWhhdmlvcjogUlBDIHRyYW5zYWN0aW9ucyBtdXN0IGhhdmUgYGhhc2hgLicpO1xuICAgICAgfVxuICAgICAgaWYgKHR4LmZyb20udG9Mb3dlckNhc2UoKSA9PT0gdGhpcy5hZGRyZXNzKSB7XG4gICAgICAgIGxldCBzdGF0dXM6IEV2bVR4U3RhdHVzO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHR4LndhaXQoMCk7XG4gICAgICAgICAgaWYgKHJlc3VsdCkgc3RhdHVzID0gRXZtVHhTdGF0dXMuc3VjY2VlZDtcbiAgICAgICAgICBlbHNlXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgICAgICAgYEltcG9zc2libGUgYmVoYXZpb3I6IEV2bSBUeCBbJHt0eC5oYXNofV0gaXMgaW5jbHVkZWQgaW4gYmxvY2sgWyR7YmxvY2suaGFzaH1dIGJ1dCB3YWl0aW5nIHJlc3VsdGVkIGluIG51bGwgb3IgdW5kZWZpbmVkYCxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBpZiAoaXNDYWxsRXhjZXB0aW9uKGUpKSBzdGF0dXMgPSBFdm1UeFN0YXR1cy5mYWlsZWQ7XG4gICAgICAgICAgZWxzZSB0aHJvdyBlO1xuICAgICAgICB9XG4gICAgICAgIGV4dHJhY3RlZFR4cy5wdXNoKHtcbiAgICAgICAgICB1bnNpZ25lZEhhc2g6IFRyYW5zYWN0aW9uLmZyb20odHgpLnVuc2lnbmVkSGFzaCxcbiAgICAgICAgICBzaWduZWRIYXNoOiB0eC5oYXNoLFxuICAgICAgICAgIG5vbmNlOiB0eC5ub25jZSxcbiAgICAgICAgICBhZGRyZXNzOiB0eC5mcm9tLnRvTG93ZXJDYXNlKCksXG4gICAgICAgICAgc3RhdHVzOiBzdGF0dXMsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZXh0cmFjdGVkVHhzLmxlbmd0aCA+IDApXG4gICAgICBhd2FpdCB0aGlzLmFjdGlvbi5zdG9yZVR4cyhleHRyYWN0ZWRUeHMsIGJsb2NrLCB0aGlzLmdldElkKCkpO1xuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIC8qKlxuICAgKiBmb3JrIG9uZSBibG9jayBhbmQgcmVtb3ZlIGFsbCBzdG9yZWQgdHhJZCBmb3IgdGhpcyBibG9ja1xuICAgKiBAcGFyYW0gaGFzaDogYmxvY2sgaGFzaFxuICAgKi9cbiAgZm9ya0Jsb2NrID0gYXN5bmMgKGhhc2g6IHN0cmluZyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGF3YWl0IHRoaXMuYWN0aW9uLmRlbGV0ZUJsb2NrVHhzKGhhc2gsIHRoaXMuZ2V0SWQoKSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIHRoZSBkYXRhYmFzZSB3aXRoIG9sZGVyIGJveGVzIHJlbGF0ZWQgdG8gdGhlIGFkZHJlc3NcbiAgICovXG4gIGluaXRpYWxpemVCb3hlcyA9IGFzeW5jICgpID0+IHtcbiAgICByZXR1cm47XG4gIH07XG59XG4iXX0=
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from './interfaces/types';
2
- export * from './extractors/EvmTxExtractor';
3
- export * from './entities/AddressTxsEntity';
2
+ export * from './extractors/evmTxExtractor';
3
+ export * from './entities/addressTxsEntity';
4
4
  export * from './actions/db';
5
5
  export { default as migrations } from './migrations';
6
6
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from './interfaces/types';
2
- export * from './extractors/EvmTxExtractor';
3
- export * from './entities/AddressTxsEntity';
2
+ export * from './extractors/evmTxExtractor';
3
+ export * from './entities/addressTxsEntity';
4
4
  export * from './actions/db';
5
5
  export { default as migrations } from './migrations';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxjQUFjLENBQUM7QUFDN0IsT0FBTyxFQUFFLE9BQU8sSUFBSSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9leHRyYWN0b3JzL0V2bVR4RXh0cmFjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZW50aXRpZXMvQWRkcmVzc1R4c0VudGl0eSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbnMvZGInO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBtaWdyYXRpb25zIH0gZnJvbSAnLi9taWdyYXRpb25zJztcbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxjQUFjLENBQUM7QUFDN0IsT0FBTyxFQUFFLE9BQU8sSUFBSSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9leHRyYWN0b3JzL2V2bVR4RXh0cmFjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZW50aXRpZXMvYWRkcmVzc1R4c0VudGl0eSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbnMvZGInO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBtaWdyYXRpb25zIH0gZnJvbSAnLi9taWdyYXRpb25zJztcbiJdfQ==
package/package.json CHANGED
@@ -1,37 +1,45 @@
1
1
  {
2
2
  "name": "@rosen-bridge/evm-address-tx-extractor",
3
- "version": "1.2.0",
3
+ "version": "1.2.2-82c56984",
4
4
  "description": "Extract and store EVM chain notable data of transactions for an address",
5
- "repository": "",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/rosen-bridge/scanner.git"
8
+ },
6
9
  "license": "MIT",
7
10
  "author": "Rosen Team",
8
11
  "type": "module",
9
12
  "main": "dist/index.js",
10
13
  "types": "dist/index.d.ts",
14
+ "files": [
15
+ "dist",
16
+ "CHANGELOG.md"
17
+ ],
11
18
  "scripts": {
12
19
  "build": "tsc --build tsconfig.build.json",
20
+ "clean": "rimraf dist && rimraf tsconfig.build.tsbuildinfo",
13
21
  "coverage": "npm run test -- --coverage",
14
22
  "lint": "eslint --fix . && npm run prettify",
15
- "prettify": "prettier --write . --ignore-path ./.gitignore",
16
- "release": "npm run test -- --run && npm run build && npm publish --access public",
17
- "test": "NODE_OPTIONS=--loader=extensionless vitest",
23
+ "lint:check": "eslint . && npm run prettify:check",
24
+ "prettify": "prettier --write . --ignore-path ../../.gitignore",
25
+ "prettify:check": "prettier --check . --ignore-path ../../.gitignore",
26
+ "release": "npm run test -- --run && npm run clean && npm run build && npm publish --access public",
27
+ "test": "NODE_OPTIONS='--import tsx' vitest",
18
28
  "type-check": "tsc --noEmit"
19
29
  },
30
+ "dependencies": {
31
+ "@rosen-bridge/abstract-extractor": "^2.1.2-82c56984",
32
+ "@rosen-bridge/abstract-logger": "^3.0.1",
33
+ "@rosen-bridge/extended-typeorm": "^1.0.1",
34
+ "@rosen-bridge/scanner-interfaces": "^0.2.1-82c56984",
35
+ "ethers": "6.13.2"
36
+ },
20
37
  "devDependencies": {
21
- "@types/node": "^22.18.0",
22
- "@vitest/coverage-istanbul": "^1.2.2",
23
- "extensionless": "^1.9.6",
24
- "typescript": "^5.3.3",
25
- "vitest": "^1.2.2"
38
+ "@vitest/coverage-istanbul": "^3.1.4",
39
+ "tsx": "^4.19.4",
40
+ "vitest": "^3.1.4"
26
41
  },
27
42
  "engines": {
28
43
  "node": ">=22.18.0"
29
- },
30
- "dependencies": {
31
- "@rosen-bridge/abstract-extractor": "^2.1.0",
32
- "@rosen-bridge/abstract-logger": "^2.0.1",
33
- "@rosen-bridge/extended-typeorm": "^0.2.1",
34
- "@rosen-bridge/scanner-interfaces": "^0.2.0",
35
- "ethers": "6.13.2"
36
44
  }
37
45
  }
package/.eslintignore DELETED
@@ -1 +0,0 @@
1
- dist
@@ -1 +0,0 @@
1
- {"version":3,"file":"EvmTxExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractors/EvmTxExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAgC,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAGrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,qBAAa,cAAe,SAAQ,iBAAiB,CAAC,mBAAmB,CAAC;IACxE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC;;OAEG;gBAED,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,cAAkC;IAS5C;;OAEG;IACH,KAAK,eAAiB;IAEtB;;;;OAIG;IACH,mBAAmB,QACZ,MAAM,mBAAmB,CAAC,SACxB,KAAK,KACX,QAAQ,OAAO,CAAC,CAkCjB;IAEF;;;OAGG;IACH,SAAS,SAAgB,MAAM,KAAG,QAAQ,IAAI,CAAC,CAE7C;IAEF;;OAEG;IACH,eAAe,sBAEb;CACH"}
package/lib/actions/db.ts DELETED
@@ -1,69 +0,0 @@
1
- import { AddressTxsEntity } from '../entities/AddressTxsEntity';
2
- import { ExtractedTx } from '../interfaces/types';
3
- import { DataSource, Repository } from '@rosen-bridge/extended-typeorm';
4
- import { AbstractLogger, DummyLogger } from '@rosen-bridge/abstract-logger';
5
- import { Block } from '@rosen-bridge/scanner-interfaces';
6
-
7
- export class TxAction {
8
- private readonly repository: Repository<AddressTxsEntity>;
9
- readonly logger: AbstractLogger;
10
-
11
- constructor(dataSource: DataSource, logger?: AbstractLogger) {
12
- this.repository = dataSource.getRepository(AddressTxsEntity);
13
- this.logger = logger ? logger : new DummyLogger();
14
- }
15
-
16
- /**
17
- * remove all inserted transaction for specific block in specific extractor from database
18
- * @param blockId selected block id
19
- * @param extractor selected extractor
20
- */
21
- deleteBlockTxs = async (blockId: string, extractor: string) => {
22
- this.logger.debug(
23
- `Deleting transactions of block ${blockId} and extractor ${extractor}`,
24
- );
25
- await this.repository
26
- .createQueryBuilder()
27
- .delete()
28
- .where('extractor = :extractor AND blockId = :blockId', {
29
- blockId: blockId,
30
- extractor: extractor,
31
- })
32
- .execute();
33
- };
34
-
35
- /**
36
- * remove old list of transactions and
37
- * store a new list of transactions database for specific block and extractor
38
- * @param txs
39
- * @param block
40
- * @param extractor
41
- */
42
- storeTxs = async (
43
- txs: Array<ExtractedTx>,
44
- block: Block,
45
- extractor: string,
46
- ) => {
47
- await this.deleteBlockTxs(block.hash, extractor);
48
- this.logger.debug(
49
- `Inserting new transactions [${txs.map(
50
- (tx) => tx.signedHash,
51
- )}] in block ${block.hash} and extractor ${extractor}`,
52
- );
53
- await this.repository
54
- .createQueryBuilder()
55
- .insert()
56
- .values(
57
- txs.map((tx) => ({
58
- unsignedHash: tx.unsignedHash,
59
- signedHash: tx.signedHash,
60
- nonce: tx.nonce,
61
- address: tx.address,
62
- blockId: block.hash,
63
- extractor: extractor,
64
- status: tx.status,
65
- })),
66
- )
67
- .execute();
68
- };
69
- }
@@ -1,32 +0,0 @@
1
- import {
2
- Column,
3
- Entity,
4
- PrimaryGeneratedColumn,
5
- } from '@rosen-bridge/extended-typeorm';
6
-
7
- @Entity('address_txs_entity')
8
- export class AddressTxsEntity {
9
- @PrimaryGeneratedColumn({ type: 'integer' })
10
- id: number;
11
-
12
- @Column({ type: 'varchar' })
13
- unsignedHash: string;
14
-
15
- @Column({ type: 'varchar' })
16
- signedHash: string;
17
-
18
- @Column({ type: 'integer' })
19
- nonce: number;
20
-
21
- @Column({ type: 'varchar' })
22
- address: string;
23
-
24
- @Column({ type: 'varchar' })
25
- blockId: string;
26
-
27
- @Column({ type: 'varchar' })
28
- extractor: string;
29
-
30
- @Column({ type: 'varchar' })
31
- status: string;
32
- }
@@ -1,95 +0,0 @@
1
- import { DataSource } from '@rosen-bridge/extended-typeorm';
2
- import { isCallException, Transaction, TransactionResponse } from 'ethers';
3
- import { AbstractLogger, DummyLogger } from '@rosen-bridge/abstract-logger';
4
- import { Block } from '@rosen-bridge/scanner-interfaces';
5
- import { AbstractExtractor } from '@rosen-bridge/abstract-extractor';
6
-
7
- import { EvmTxStatus, ExtractedTx } from '../interfaces/types';
8
- import { TxAction } from '../actions/db';
9
-
10
- export class EvmTxExtractor extends AbstractExtractor<TransactionResponse> {
11
- readonly logger: AbstractLogger;
12
- readonly action: TxAction;
13
- private readonly id: string;
14
- private readonly address: string;
15
-
16
- /**
17
- * address should be lower case (without checksum)
18
- */
19
- constructor(
20
- dataSource: DataSource,
21
- id: string,
22
- address: string,
23
- logger: AbstractLogger = new DummyLogger(),
24
- ) {
25
- super();
26
- this.id = id;
27
- this.address = address;
28
- this.logger = logger;
29
- this.action = new TxAction(dataSource, this.logger);
30
- }
31
-
32
- /**
33
- * get Id for current extractor
34
- */
35
- getId = () => this.id;
36
-
37
- /**
38
- * gets block id and transactions corresponding to the block and saves all transaction ids in database
39
- * @param txs
40
- * @param block
41
- */
42
- processTransactions = async (
43
- txs: Array<TransactionResponse>,
44
- block: Block,
45
- ): Promise<boolean> => {
46
- const extractedTxs: Array<ExtractedTx> = [];
47
- for (const tx of txs) {
48
- if (tx.from === null) {
49
- throw Error('ImpossibleBehavior: RPC transactions must have `from`.');
50
- }
51
- if (tx.hash === null) {
52
- throw Error('ImpossibleBehavior: RPC transactions must have `hash`.');
53
- }
54
- if (tx.from.toLowerCase() === this.address) {
55
- let status: EvmTxStatus;
56
- try {
57
- const result = await tx.wait(0);
58
- if (result) status = EvmTxStatus.succeed;
59
- else
60
- throw Error(
61
- `Impossible behavior: Evm Tx [${tx.hash}] is included in block [${block.hash}] but waiting resulted in null or undefined`,
62
- );
63
- } catch (e) {
64
- if (isCallException(e)) status = EvmTxStatus.failed;
65
- else throw e;
66
- }
67
- extractedTxs.push({
68
- unsignedHash: Transaction.from(tx).unsignedHash,
69
- signedHash: tx.hash,
70
- nonce: tx.nonce,
71
- address: tx.from.toLowerCase(),
72
- status: status,
73
- });
74
- }
75
- }
76
- if (extractedTxs.length > 0)
77
- await this.action.storeTxs(extractedTxs, block, this.getId());
78
- return true;
79
- };
80
-
81
- /**
82
- * fork one block and remove all stored txId for this block
83
- * @param hash: block hash
84
- */
85
- forkBlock = async (hash: string): Promise<void> => {
86
- await this.action.deleteBlockTxs(hash, this.getId());
87
- };
88
-
89
- /**
90
- * Initializes the database with older boxes related to the address
91
- */
92
- initializeBoxes = async () => {
93
- return;
94
- };
95
- }
package/lib/index.ts DELETED
@@ -1,5 +0,0 @@
1
- export * from './interfaces/types';
2
- export * from './extractors/EvmTxExtractor';
3
- export * from './entities/AddressTxsEntity';
4
- export * from './actions/db';
5
- export { default as migrations } from './migrations';
@@ -1,12 +0,0 @@
1
- export interface ExtractedTx {
2
- unsignedHash: string;
3
- signedHash: string;
4
- nonce: number;
5
- address: string;
6
- status: EvmTxStatus;
7
- }
8
-
9
- export enum EvmTxStatus {
10
- failed = 'failed',
11
- succeed = 'succeed',
12
- }
@@ -1,9 +0,0 @@
1
- import { Migration1713694851290 } from './postgres/1713694851290-migration';
2
- import { Migration1722346608595 } from './postgres/1722346608595-migration';
3
- import { Migration1713694799333 } from './sqlite/1713694799333-migration';
4
- import { Migration1722346500068 } from './sqlite/1722346500068-migration';
5
-
6
- export default {
7
- sqlite: [Migration1713694799333, Migration1722346500068],
8
- postgres: [Migration1713694851290, Migration1722346608595],
9
- };
@@ -1,29 +0,0 @@
1
- import {
2
- MigrationInterface,
3
- QueryRunner,
4
- } from '@rosen-bridge/extended-typeorm';
5
-
6
- export class Migration1713694851290 implements MigrationInterface {
7
- name = 'Migration1713694851290';
8
-
9
- public async up(queryRunner: QueryRunner): Promise<void> {
10
- await queryRunner.query(`
11
- CREATE TABLE "address_txs_entity" (
12
- "id" SERIAL NOT NULL,
13
- "unsignedHash" character varying NOT NULL,
14
- "signedHash" character varying NOT NULL,
15
- "nonce" integer NOT NULL,
16
- "address" character varying NOT NULL,
17
- "blockId" character varying NOT NULL,
18
- "extractor" character varying NOT NULL,
19
- CONSTRAINT "PK_3d12ab238cb8eed0354cec04ea4" PRIMARY KEY ("id")
20
- )
21
- `);
22
- }
23
-
24
- public async down(queryRunner: QueryRunner): Promise<void> {
25
- await queryRunner.query(`
26
- DROP TABLE "address_txs_entity"
27
- `);
28
- }
29
- }
@@ -1,21 +0,0 @@
1
- import {
2
- MigrationInterface,
3
- QueryRunner,
4
- } from '@rosen-bridge/extended-typeorm';
5
-
6
- export class Migration1722346608595 implements MigrationInterface {
7
- name = 'Migration1722346608595';
8
-
9
- public async up(queryRunner: QueryRunner): Promise<void> {
10
- await queryRunner.query(`
11
- ALTER TABLE "address_txs_entity"
12
- ADD "status" character varying NOT NULL
13
- `);
14
- }
15
-
16
- public async down(queryRunner: QueryRunner): Promise<void> {
17
- await queryRunner.query(`
18
- ALTER TABLE "address_txs_entity" DROP COLUMN "status"
19
- `);
20
- }
21
- }
@@ -1,28 +0,0 @@
1
- import {
2
- MigrationInterface,
3
- QueryRunner,
4
- } from '@rosen-bridge/extended-typeorm';
5
-
6
- export class Migration1713694799333 implements MigrationInterface {
7
- name = 'Migration1713694799333';
8
-
9
- public async up(queryRunner: QueryRunner): Promise<void> {
10
- await queryRunner.query(`
11
- CREATE TABLE "address_txs_entity" (
12
- "id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
13
- "unsignedHash" varchar NOT NULL,
14
- "signedHash" varchar NOT NULL,
15
- "nonce" integer NOT NULL,
16
- "address" varchar NOT NULL,
17
- "blockId" varchar NOT NULL,
18
- "extractor" varchar NOT NULL
19
- )
20
- `);
21
- }
22
-
23
- public async down(queryRunner: QueryRunner): Promise<void> {
24
- await queryRunner.query(`
25
- DROP TABLE "address_txs_entity"
26
- `);
27
- }
28
- }