@rosen-bridge/evm-address-tx-extractor 1.2.0 → 1.2.2-a25ac382
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/dist/actions/db.d.ts +2 -2
- package/dist/actions/db.d.ts.map +1 -1
- package/dist/actions/db.js +2 -2
- package/dist/entities/{AddressTxsEntity.d.ts → addressTxsEntity.d.ts} +1 -1
- package/dist/entities/{AddressTxsEntity.d.ts.map → addressTxsEntity.d.ts.map} +1 -1
- package/dist/entities/{AddressTxsEntity.js → addressTxsEntity.js} +1 -1
- package/dist/extractors/{EvmTxExtractor.d.ts → evmTxExtractor.d.ts} +3 -3
- package/dist/extractors/evmTxExtractor.d.ts.map +1 -0
- package/dist/extractors/{EvmTxExtractor.js → evmTxExtractor.js} +3 -3
- package/dist/index.d.ts +2 -2
- package/dist/index.js +3 -3
- package/package.json +25 -17
- package/.eslintignore +0 -1
- package/dist/extractors/EvmTxExtractor.d.ts.map +0 -1
- package/lib/actions/db.ts +0 -69
- package/lib/entities/AddressTxsEntity.ts +0 -32
- package/lib/extractors/EvmTxExtractor.ts +0 -95
- package/lib/index.ts +0 -5
- package/lib/interfaces/types.ts +0 -12
- package/lib/migrations/index.ts +0 -9
- package/lib/migrations/postgres/1713694851290-migration.ts +0 -29
- package/lib/migrations/postgres/1722346608595-migration.ts +0 -21
- package/lib/migrations/sqlite/1713694799333-migration.ts +0 -28
- package/lib/migrations/sqlite/1722346500068-migration.ts +0 -91
- package/tests/actions/db.spec.ts +0 -124
- package/tests/extractor/EvmTxExtractor.spec.ts +0 -70
- package/tests/extractor/testData.ts +0 -104
- package/tests/testUtils.ts +0 -22
- package/tsconfig.build.json +0 -11
- package/tsconfig.build.tsbuildinfo +0 -1
- package/tsconfig.json +0 -11
- 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
|
package/dist/actions/db.d.ts
CHANGED
|
@@ -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;
|
package/dist/actions/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../lib/actions/db.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/actions/db.js
CHANGED
|
@@ -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,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvYWN0aW9ucy9kYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSTVFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR2hFLE1BQU0sT0FBTyxRQUFRO0lBQ0YsVUFBVSxDQUErQjtJQUNqRCxNQUFNLENBQWlCO0lBRWhDLFlBQVksVUFBc0IsRUFBRSxNQUF1QjtRQUN6RCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsY0FBYyxHQUFHLEtBQUssRUFBRSxPQUFlLEVBQUUsU0FBaUIsRUFBRSxFQUFFO1FBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLGtDQUFrQyxPQUFPLGtCQUFrQixTQUFTLEVBQUUsQ0FDdkUsQ0FBQztRQUNGLE1BQU0sSUFBSSxDQUFDLFVBQVU7YUFDbEIsa0JBQWtCLEVBQUU7YUFDcEIsTUFBTSxFQUFFO2FBQ1IsS0FBSyxDQUFDLCtDQUErQyxFQUFFO1lBQ3RELE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7YUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNmLENBQUMsQ0FBQztJQUVGOzs7Ozs7T0FNRztJQUNILFFBQVEsR0FBRyxLQUFLLEVBQ2QsR0FBdUIsRUFDdkIsS0FBWSxFQUNaLFNBQWlCLEVBQ2pCLEVBQUU7UUFDRixNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZiwrQkFBK0IsR0FBRyxDQUFDLEdBQUcsQ0FDcEMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQ3RCLGNBQWMsS0FBSyxDQUFDLElBQUksa0JBQWtCLFNBQVMsRUFBRSxDQUN2RCxDQUFDO1FBQ0YsTUFBTSxJQUFJLENBQUMsVUFBVTthQUNsQixrQkFBa0IsRUFBRTthQUNwQixNQUFNLEVBQUU7YUFDUixNQUFNLENBQ0wsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNmLFlBQVksRUFBRSxFQUFFLENBQUMsWUFBWTtZQUM3QixVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVU7WUFDekIsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLO1lBQ2YsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPO1lBQ25CLE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNuQixTQUFTLEVBQUUsU0FBUztZQUNwQixNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU07U0FDbEIsQ0FBQyxDQUFDLENBQ0o7YUFDQSxPQUFPLEVBQUUsQ0FBQztJQUNmLENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIsIER1bW15TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSwgUmVwb3NpdG9yeSB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvZXh0ZW5kZWQtdHlwZW9ybSc7XG5pbXBvcnQgeyBCbG9jayB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lci1pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgQWRkcmVzc1R4c0VudGl0eSB9IGZyb20gJy4uL2VudGl0aWVzL2FkZHJlc3NUeHNFbnRpdHknO1xuaW1wb3J0IHsgRXh0cmFjdGVkVHggfSBmcm9tICcuLi9pbnRlcmZhY2VzL3R5cGVzJztcblxuZXhwb3J0IGNsYXNzIFR4QWN0aW9uIHtcbiAgcHJpdmF0ZSByZWFkb25seSByZXBvc2l0b3J5OiBSZXBvc2l0b3J5PEFkZHJlc3NUeHNFbnRpdHk+O1xuICByZWFkb25seSBsb2dnZXI6IEFic3RyYWN0TG9nZ2VyO1xuXG4gIGNvbnN0cnVjdG9yKGRhdGFTb3VyY2U6IERhdGFTb3VyY2UsIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyKSB7XG4gICAgdGhpcy5yZXBvc2l0b3J5ID0gZGF0YVNvdXJjZS5nZXRSZXBvc2l0b3J5KEFkZHJlc3NUeHNFbnRpdHkpO1xuICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyID8gbG9nZ2VyIDogbmV3IER1bW15TG9nZ2VyKCk7XG4gIH1cblxuICAvKipcbiAgICogcmVtb3ZlIGFsbCBpbnNlcnRlZCB0cmFuc2FjdGlvbiBmb3Igc3BlY2lmaWMgYmxvY2sgaW4gc3BlY2lmaWMgZXh0cmFjdG9yIGZyb20gZGF0YWJhc2VcbiAgICogQHBhcmFtIGJsb2NrSWQgc2VsZWN0ZWQgYmxvY2sgaWRcbiAgICogQHBhcmFtIGV4dHJhY3RvciBzZWxlY3RlZCBleHRyYWN0b3JcbiAgICovXG4gIGRlbGV0ZUJsb2NrVHhzID0gYXN5bmMgKGJsb2NrSWQ6IHN0cmluZywgZXh0cmFjdG9yOiBzdHJpbmcpID0+IHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBEZWxldGluZyB0cmFuc2FjdGlvbnMgb2YgYmxvY2sgJHtibG9ja0lkfSBhbmQgZXh0cmFjdG9yICR7ZXh0cmFjdG9yfWAsXG4gICAgKTtcbiAgICBhd2FpdCB0aGlzLnJlcG9zaXRvcnlcbiAgICAgIC5jcmVhdGVRdWVyeUJ1aWxkZXIoKVxuICAgICAgLmRlbGV0ZSgpXG4gICAgICAud2hlcmUoJ2V4dHJhY3RvciA9IDpleHRyYWN0b3IgQU5EIGJsb2NrSWQgPSA6YmxvY2tJZCcsIHtcbiAgICAgICAgYmxvY2tJZDogYmxvY2tJZCxcbiAgICAgICAgZXh0cmFjdG9yOiBleHRyYWN0b3IsXG4gICAgICB9KVxuICAgICAgLmV4ZWN1dGUoKTtcbiAgfTtcblxuICAvKipcbiAgICogcmVtb3ZlIG9sZCBsaXN0IG9mIHRyYW5zYWN0aW9ucyBhbmRcbiAgICogc3RvcmUgYSBuZXcgbGlzdCBvZiB0cmFuc2FjdGlvbnMgZGF0YWJhc2UgZm9yIHNwZWNpZmljIGJsb2NrIGFuZCBleHRyYWN0b3JcbiAgICogQHBhcmFtIHR4c1xuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKi9cbiAgc3RvcmVUeHMgPSBhc3luYyAoXG4gICAgdHhzOiBBcnJheTxFeHRyYWN0ZWRUeD4sXG4gICAgYmxvY2s6IEJsb2NrLFxuICAgIGV4dHJhY3Rvcjogc3RyaW5nLFxuICApID0+IHtcbiAgICBhd2FpdCB0aGlzLmRlbGV0ZUJsb2NrVHhzKGJsb2NrLmhhc2gsIGV4dHJhY3Rvcik7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICBgSW5zZXJ0aW5nIG5ldyB0cmFuc2FjdGlvbnMgWyR7dHhzLm1hcChcbiAgICAgICAgKHR4KSA9PiB0eC5zaWduZWRIYXNoLFxuICAgICAgKX1dIGluIGJsb2NrICR7YmxvY2suaGFzaH0gYW5kIGV4dHJhY3RvciAke2V4dHJhY3Rvcn1gLFxuICAgICk7XG4gICAgYXdhaXQgdGhpcy5yZXBvc2l0b3J5XG4gICAgICAuY3JlYXRlUXVlcnlCdWlsZGVyKClcbiAgICAgIC5pbnNlcnQoKVxuICAgICAgLnZhbHVlcyhcbiAgICAgICAgdHhzLm1hcCgodHgpID0+ICh7XG4gICAgICAgICAgdW5zaWduZWRIYXNoOiB0eC51bnNpZ25lZEhhc2gsXG4gICAgICAgICAgc2lnbmVkSGFzaDogdHguc2lnbmVkSGFzaCxcbiAgICAgICAgICBub25jZTogdHgubm9uY2UsXG4gICAgICAgICAgYWRkcmVzczogdHguYWRkcmVzcyxcbiAgICAgICAgICBibG9ja0lkOiBibG9jay5oYXNoLFxuICAgICAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgICAgICAgIHN0YXR1czogdHguc3RhdHVzLFxuICAgICAgICB9KSksXG4gICAgICApXG4gICAgICAuZXhlY3V0ZSgpO1xuICB9O1xufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
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,
|
|
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=
|
|
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 {
|
|
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,
|
|
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/
|
|
3
|
-
export * from './entities/
|
|
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/
|
|
3
|
-
export * from './entities/
|
|
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,
|
|
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.
|
|
3
|
+
"version": "1.2.2-a25ac382",
|
|
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
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
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",
|
|
32
|
+
"@rosen-bridge/abstract-logger": "^3.0.1",
|
|
33
|
+
"@rosen-bridge/extended-typeorm": "^1.0.1",
|
|
34
|
+
"@rosen-bridge/scanner-interfaces": "^0.2.1-a25ac382",
|
|
35
|
+
"ethers": "6.13.2"
|
|
36
|
+
},
|
|
20
37
|
"devDependencies": {
|
|
21
|
-
"@
|
|
22
|
-
"
|
|
23
|
-
"
|
|
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
package/lib/interfaces/types.ts
DELETED
package/lib/migrations/index.ts
DELETED
|
@@ -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
|
-
}
|