@rosen-bridge/evm-address-tx-extractor 1.0.2 → 1.0.4
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 +17 -0
- package/dist/actions/db.js +3 -3
- package/dist/extractors/EvmTxExtractor.d.ts +3 -0
- package/dist/extractors/EvmTxExtractor.d.ts.map +1 -1
- package/dist/extractors/EvmTxExtractor.js +6 -3
- package/lib/actions/db.ts +2 -2
- package/lib/extractors/EvmTxExtractor.ts +5 -2
- package/package.json +3 -3
- package/tests/extractor/testData.ts +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @rosen-bridge/evm-address-tx-extractor
|
|
2
2
|
|
|
3
|
+
## 1.0.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
- @rosen-bridge/scanner@4.1.3
|
|
9
|
+
|
|
10
|
+
## 1.0.3
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- fix address comparision (uses lower case address while comparing)
|
|
15
|
+
- change log levels to debug
|
|
16
|
+
- Updated dependencies
|
|
17
|
+
- @rosen-bridge/abstract-extractor@0.3.0
|
|
18
|
+
- @rosen-bridge/scanner@4.1.2
|
|
19
|
+
|
|
3
20
|
## 1.0.2
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
package/dist/actions/db.js
CHANGED
|
@@ -13,7 +13,7 @@ export class TxAction {
|
|
|
13
13
|
* @param extractor selected extractor
|
|
14
14
|
*/
|
|
15
15
|
deleteBlockTxs = async (blockId, extractor) => {
|
|
16
|
-
this.logger.
|
|
16
|
+
this.logger.debug(`Deleting transactions of block ${blockId} and extractor ${extractor}`);
|
|
17
17
|
await this.repository
|
|
18
18
|
.createQueryBuilder()
|
|
19
19
|
.delete()
|
|
@@ -32,7 +32,7 @@ export class TxAction {
|
|
|
32
32
|
*/
|
|
33
33
|
storeTxs = async (txs, block, extractor) => {
|
|
34
34
|
await this.deleteBlockTxs(block.hash, extractor);
|
|
35
|
-
this.logger.
|
|
35
|
+
this.logger.debug(`Inserting new transactions [${txs.map((tx) => tx.signedHash)}] in block ${block.hash} and extractor ${extractor}`);
|
|
36
36
|
await this.repository
|
|
37
37
|
.createQueryBuilder()
|
|
38
38
|
.insert()
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvYWN0aW9ucy9kYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUdoRSxPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRzVFLE1BQU0sT0FBTyxRQUFRO0lBQ0YsVUFBVSxDQUErQjtJQUNqRCxNQUFNLENBQWlCO0lBRWhDLFlBQVksVUFBc0IsRUFBRSxNQUF1QjtRQUN6RCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsY0FBYyxHQUFHLEtBQUssRUFBRSxPQUFlLEVBQUUsU0FBaUIsRUFBRSxFQUFFO1FBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLGtDQUFrQyxPQUFPLGtCQUFrQixTQUFTLEVBQUUsQ0FDdkUsQ0FBQztRQUNGLE1BQU0sSUFBSSxDQUFDLFVBQVU7YUFDbEIsa0JBQWtCLEVBQUU7YUFDcEIsTUFBTSxFQUFFO2FBQ1IsS0FBSyxDQUFDLCtDQUErQyxFQUFFO1lBQ3RELE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7YUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNmLENBQUMsQ0FBQztJQUVGOzs7Ozs7T0FNRztJQUNILFFBQVEsR0FBRyxLQUFLLEVBQ2QsR0FBdUIsRUFDdkIsS0FBWSxFQUNaLFNBQWlCLEVBQ2pCLEVBQUU7UUFDRixNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZiwrQkFBK0IsR0FBRyxDQUFDLEdBQUcsQ0FDcEMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQ3RCLGNBQWMsS0FBSyxDQUFDLElBQUksa0JBQWtCLFNBQVMsRUFBRSxDQUN2RCxDQUFDO1FBQ0YsTUFBTSxJQUFJLENBQUMsVUFBVTthQUNsQixrQkFBa0IsRUFBRTthQUNwQixNQUFNLEVBQUU7YUFDUixNQUFNLENBQ0wsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNmLFlBQVksRUFBRSxFQUFFLENBQUMsWUFBWTtZQUM3QixVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVU7WUFDekIsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLO1lBQ2YsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPO1lBQ25CLE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNuQixTQUFTLEVBQUUsU0FBUztZQUNwQixNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU07U0FDbEIsQ0FBQyxDQUFDLENBQ0o7YUFDQSxPQUFPLEVBQUUsQ0FBQztJQUNmLENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWRkcmVzc1R4c0VudGl0eSB9IGZyb20gJy4uL2VudGl0aWVzL0FkZHJlc3NUeHNFbnRpdHknO1xuaW1wb3J0IHsgRXh0cmFjdGVkVHggfSBmcm9tICcuLi9pbnRlcmZhY2VzL3R5cGVzJztcbmltcG9ydCB7IERhdGFTb3VyY2UsIFJlcG9zaXRvcnkgfSBmcm9tICd0eXBlb3JtJztcbmltcG9ydCB7IEFic3RyYWN0TG9nZ2VyLCBEdW1teUxvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCB7IEJsb2NrIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1leHRyYWN0b3InO1xuXG5leHBvcnQgY2xhc3MgVHhBY3Rpb24ge1xuICBwcml2YXRlIHJlYWRvbmx5IHJlcG9zaXRvcnk6IFJlcG9zaXRvcnk8QWRkcmVzc1R4c0VudGl0eT47XG4gIHJlYWRvbmx5IGxvZ2dlcjogQWJzdHJhY3RMb2dnZXI7XG5cbiAgY29uc3RydWN0b3IoZGF0YVNvdXJjZTogRGF0YVNvdXJjZSwgbG9nZ2VyPzogQWJzdHJhY3RMb2dnZXIpIHtcbiAgICB0aGlzLnJlcG9zaXRvcnkgPSBkYXRhU291cmNlLmdldFJlcG9zaXRvcnkoQWRkcmVzc1R4c0VudGl0eSk7XG4gICAgdGhpcy5sb2dnZXIgPSBsb2dnZXIgPyBsb2dnZXIgOiBuZXcgRHVtbXlMb2dnZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZW1vdmUgYWxsIGluc2VydGVkIHRyYW5zYWN0aW9uIGZvciBzcGVjaWZpYyBibG9jayBpbiBzcGVjaWZpYyBleHRyYWN0b3IgZnJvbSBkYXRhYmFzZVxuICAgKiBAcGFyYW0gYmxvY2tJZCBzZWxlY3RlZCBibG9jayBpZFxuICAgKiBAcGFyYW0gZXh0cmFjdG9yIHNlbGVjdGVkIGV4dHJhY3RvclxuICAgKi9cbiAgZGVsZXRlQmxvY2tUeHMgPSBhc3luYyAoYmxvY2tJZDogc3RyaW5nLCBleHRyYWN0b3I6IHN0cmluZykgPT4ge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgYERlbGV0aW5nIHRyYW5zYWN0aW9ucyBvZiBibG9jayAke2Jsb2NrSWR9IGFuZCBleHRyYWN0b3IgJHtleHRyYWN0b3J9YFxuICAgICk7XG4gICAgYXdhaXQgdGhpcy5yZXBvc2l0b3J5XG4gICAgICAuY3JlYXRlUXVlcnlCdWlsZGVyKClcbiAgICAgIC5kZWxldGUoKVxuICAgICAgLndoZXJlKCdleHRyYWN0b3IgPSA6ZXh0cmFjdG9yIEFORCBibG9ja0lkID0gOmJsb2NrSWQnLCB7XG4gICAgICAgIGJsb2NrSWQ6IGJsb2NrSWQsXG4gICAgICAgIGV4dHJhY3RvcjogZXh0cmFjdG9yLFxuICAgICAgfSlcbiAgICAgIC5leGVjdXRlKCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIHJlbW92ZSBvbGQgbGlzdCBvZiB0cmFuc2FjdGlvbnMgYW5kXG4gICAqIHN0b3JlIGEgbmV3IGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGRhdGFiYXNlIGZvciBzcGVjaWZpYyBibG9jayBhbmQgZXh0cmFjdG9yXG4gICAqIEBwYXJhbSB0eHNcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIHN0b3JlVHhzID0gYXN5bmMgKFxuICAgIHR4czogQXJyYXk8RXh0cmFjdGVkVHg+LFxuICAgIGJsb2NrOiBCbG9jayxcbiAgICBleHRyYWN0b3I6IHN0cmluZ1xuICApID0+IHtcbiAgICBhd2FpdCB0aGlzLmRlbGV0ZUJsb2NrVHhzKGJsb2NrLmhhc2gsIGV4dHJhY3Rvcik7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICBgSW5zZXJ0aW5nIG5ldyB0cmFuc2FjdGlvbnMgWyR7dHhzLm1hcChcbiAgICAgICAgKHR4KSA9PiB0eC5zaWduZWRIYXNoXG4gICAgICApfV0gaW4gYmxvY2sgJHtibG9jay5oYXNofSBhbmQgZXh0cmFjdG9yICR7ZXh0cmFjdG9yfWBcbiAgICApO1xuICAgIGF3YWl0IHRoaXMucmVwb3NpdG9yeVxuICAgICAgLmNyZWF0ZVF1ZXJ5QnVpbGRlcigpXG4gICAgICAuaW5zZXJ0KClcbiAgICAgIC52YWx1ZXMoXG4gICAgICAgIHR4cy5tYXAoKHR4KSA9PiAoe1xuICAgICAgICAgIHVuc2lnbmVkSGFzaDogdHgudW5zaWduZWRIYXNoLFxuICAgICAgICAgIHNpZ25lZEhhc2g6IHR4LnNpZ25lZEhhc2gsXG4gICAgICAgICAgbm9uY2U6IHR4Lm5vbmNlLFxuICAgICAgICAgIGFkZHJlc3M6IHR4LmFkZHJlc3MsXG4gICAgICAgICAgYmxvY2tJZDogYmxvY2suaGFzaCxcbiAgICAgICAgICBleHRyYWN0b3I6IGV4dHJhY3RvcixcbiAgICAgICAgICBzdGF0dXM6IHR4LnN0YXR1cyxcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgICAuZXhlY3V0ZSgpO1xuICB9O1xufVxuIl19
|
|
@@ -8,6 +8,9 @@ export declare class EvmTxExtractor extends AbstractExtractor<TransactionRespons
|
|
|
8
8
|
readonly action: TxAction;
|
|
9
9
|
private readonly id;
|
|
10
10
|
private readonly address;
|
|
11
|
+
/**
|
|
12
|
+
* address should be lower case (without checksum)
|
|
13
|
+
*/
|
|
11
14
|
constructor(dataSource: DataSource, id: string, address: string, logger?: AbstractLogger);
|
|
12
15
|
/**
|
|
13
16
|
* get Id for current extractor
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvmTxExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractors/EvmTxExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAgC,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAE5E,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;
|
|
1
|
+
{"version":3,"file":"EvmTxExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractors/EvmTxExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAgC,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAE5E,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"}
|
|
@@ -8,6 +8,9 @@ export class EvmTxExtractor extends AbstractExtractor {
|
|
|
8
8
|
action;
|
|
9
9
|
id;
|
|
10
10
|
address;
|
|
11
|
+
/**
|
|
12
|
+
* address should be lower case (without checksum)
|
|
13
|
+
*/
|
|
11
14
|
constructor(dataSource, id, address, logger = new DummyLogger()) {
|
|
12
15
|
super();
|
|
13
16
|
this.id = id;
|
|
@@ -34,7 +37,7 @@ export class EvmTxExtractor extends AbstractExtractor {
|
|
|
34
37
|
if (tx.hash === null) {
|
|
35
38
|
throw Error('ImpossibleBehavior: RPC transactions must have `hash`.');
|
|
36
39
|
}
|
|
37
|
-
if (tx.from === this.address) {
|
|
40
|
+
if (tx.from.toLowerCase() === this.address) {
|
|
38
41
|
let status;
|
|
39
42
|
try {
|
|
40
43
|
const result = await txRes.wait(0);
|
|
@@ -53,7 +56,7 @@ export class EvmTxExtractor extends AbstractExtractor {
|
|
|
53
56
|
unsignedHash: tx.unsignedHash,
|
|
54
57
|
signedHash: tx.hash,
|
|
55
58
|
nonce: tx.nonce,
|
|
56
|
-
address: tx.from,
|
|
59
|
+
address: tx.from.toLowerCase(),
|
|
57
60
|
status: status,
|
|
58
61
|
});
|
|
59
62
|
}
|
|
@@ -75,4 +78,4 @@ export class EvmTxExtractor extends AbstractExtractor {
|
|
|
75
78
|
return;
|
|
76
79
|
};
|
|
77
80
|
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZtVHhFeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZXh0cmFjdG9ycy9Fdm1UeEV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUF1QixNQUFNLFFBQVEsQ0FBQztBQUMzRSxPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQWUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQVMsTUFBTSxrQ0FBa0MsQ0FBQztBQUU1RSxNQUFNLE9BQU8sY0FBZSxTQUFRLGlCQUFzQztJQUMvRCxNQUFNLENBQWlCO0lBQ3ZCLE1BQU0sQ0FBVztJQUNULEVBQUUsQ0FBUztJQUNYLE9BQU8sQ0FBUztJQUVqQzs7T0FFRztJQUNILFlBQ0UsVUFBc0IsRUFDdEIsRUFBVSxFQUNWLE9BQWUsRUFDZixTQUF5QixJQUFJLFdBQVcsRUFBRTtRQUUxQyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBRXRCOzs7O09BSUc7SUFDSCxtQkFBbUIsR0FBRyxLQUFLLEVBQ3pCLEdBQStCLEVBQy9CLEtBQVksRUFDTSxFQUFFO1FBQ3BCLE1BQU0sWUFBWSxHQUF1QixFQUFFLENBQUM7UUFDNUMsS0FBSyxNQUFNLEtBQUssSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUN4QixNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25DLElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDckIsTUFBTSxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQztZQUN4RSxDQUFDO1lBQ0QsSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUNyQixNQUFNLEtBQUssQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO1lBQ3hFLENBQUM7WUFDRCxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUMzQyxJQUFJLE1BQW1CLENBQUM7Z0JBQ3hCLElBQUksQ0FBQztvQkFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ25DLElBQUksTUFBTTt3QkFBRSxNQUFNLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQzs7d0JBRXZDLE1BQU0sS0FBSyxDQUNULGdDQUFnQyxLQUFLLENBQUMsSUFBSSwyQkFBMkIsS0FBSyxDQUFDLElBQUksNkNBQTZDLENBQzdILENBQUM7Z0JBQ04sQ0FBQztnQkFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUNYLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQzt3QkFBRSxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQzs7d0JBQy9DLE1BQU0sQ0FBQyxDQUFDO2dCQUNmLENBQUM7Z0JBQ0QsWUFBWSxDQUFDLElBQUksQ0FBQztvQkFDaEIsWUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZO29CQUM3QixVQUFVLEVBQUUsRUFBRSxDQUFDLElBQUk7b0JBQ25CLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSztvQkFDZixPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7b0JBQzlCLE1BQU0sRUFBRSxNQUFNO2lCQUNmLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO1FBQ0QsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzlELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0lBRUY7OztPQUdHO0lBQ0gsU0FBUyxHQUFHLEtBQUssRUFBRSxJQUFZLEVBQWlCLEVBQUU7UUFDaEQsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQyxDQUFDO0lBRUY7O09BRUc7SUFDSCxlQUFlLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDM0IsT0FBTztJQUNULENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJ3R5cGVvcm0nO1xuaW1wb3J0IHsgVHhBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL2RiJztcbmltcG9ydCB7IGlzQ2FsbEV4Y2VwdGlvbiwgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uUmVzcG9uc2UgfSBmcm9tICdldGhlcnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIsIER1bW15TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHsgRXZtVHhTdGF0dXMsIEV4dHJhY3RlZFR4IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90eXBlcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEV4dHJhY3RvciwgQmxvY2sgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWV4dHJhY3Rvcic7XG5cbmV4cG9ydCBjbGFzcyBFdm1UeEV4dHJhY3RvciBleHRlbmRzIEFic3RyYWN0RXh0cmFjdG9yPFRyYW5zYWN0aW9uUmVzcG9uc2U+IHtcbiAgcmVhZG9ubHkgbG9nZ2VyOiBBYnN0cmFjdExvZ2dlcjtcbiAgcmVhZG9ubHkgYWN0aW9uOiBUeEFjdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBpZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGFkZHJlc3M6IHN0cmluZztcblxuICAvKipcbiAgICogYWRkcmVzcyBzaG91bGQgYmUgbG93ZXIgY2FzZSAod2l0aG91dCBjaGVja3N1bSlcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIGRhdGFTb3VyY2U6IERhdGFTb3VyY2UsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBhZGRyZXNzOiBzdHJpbmcsXG4gICAgbG9nZ2VyOiBBYnN0cmFjdExvZ2dlciA9IG5ldyBEdW1teUxvZ2dlcigpXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5pZCA9IGlkO1xuICAgIHRoaXMuYWRkcmVzcyA9IGFkZHJlc3M7XG4gICAgdGhpcy5sb2dnZXIgPSBsb2dnZXI7XG4gICAgdGhpcy5hY3Rpb24gPSBuZXcgVHhBY3Rpb24oZGF0YVNvdXJjZSwgdGhpcy5sb2dnZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBJZCBmb3IgY3VycmVudCBleHRyYWN0b3JcbiAgICovXG4gIGdldElkID0gKCkgPT4gdGhpcy5pZDtcblxuICAvKipcbiAgICogZ2V0cyBibG9jayBpZCBhbmQgdHJhbnNhY3Rpb25zIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGJsb2NrIGFuZCBzYXZlcyBhbGwgdHJhbnNhY3Rpb24gaWRzIGluIGRhdGFiYXNlXG4gICAqIEBwYXJhbSB0eHNcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqL1xuICBwcm9jZXNzVHJhbnNhY3Rpb25zID0gYXN5bmMgKFxuICAgIHR4czogQXJyYXk8VHJhbnNhY3Rpb25SZXNwb25zZT4sXG4gICAgYmxvY2s6IEJsb2NrXG4gICk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIGNvbnN0IGV4dHJhY3RlZFR4czogQXJyYXk8RXh0cmFjdGVkVHg+ID0gW107XG4gICAgZm9yIChjb25zdCB0eFJlcyBvZiB0eHMpIHtcbiAgICAgIGNvbnN0IHR4ID0gVHJhbnNhY3Rpb24uZnJvbSh0eFJlcyk7XG4gICAgICBpZiAodHguZnJvbSA9PT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBFcnJvcignSW1wb3NzaWJsZUJlaGF2aW9yOiBSUEMgdHJhbnNhY3Rpb25zIG11c3QgaGF2ZSBgZnJvbWAuJyk7XG4gICAgICB9XG4gICAgICBpZiAodHguaGFzaCA9PT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBFcnJvcignSW1wb3NzaWJsZUJlaGF2aW9yOiBSUEMgdHJhbnNhY3Rpb25zIG11c3QgaGF2ZSBgaGFzaGAuJyk7XG4gICAgICB9XG4gICAgICBpZiAodHguZnJvbS50b0xvd2VyQ2FzZSgpID09PSB0aGlzLmFkZHJlc3MpIHtcbiAgICAgICAgbGV0IHN0YXR1czogRXZtVHhTdGF0dXM7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdHhSZXMud2FpdCgwKTtcbiAgICAgICAgICBpZiAocmVzdWx0KSBzdGF0dXMgPSBFdm1UeFN0YXR1cy5zdWNjZWVkO1xuICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAgICAgICBgSW1wb3NzaWJsZSBiZWhhdmlvcjogRXZtIFR4IFske3R4UmVzLmhhc2h9XSBpcyBpbmNsdWRlZCBpbiBibG9jayBbJHtibG9jay5oYXNofV0gYnV0IHdhaXRpbmcgcmVzdWx0ZWQgaW4gbnVsbCBvciB1bmRlZmluZWRgXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgaWYgKGlzQ2FsbEV4Y2VwdGlvbihlKSkgc3RhdHVzID0gRXZtVHhTdGF0dXMuZmFpbGVkO1xuICAgICAgICAgIGVsc2UgdGhyb3cgZTtcbiAgICAgICAgfVxuICAgICAgICBleHRyYWN0ZWRUeHMucHVzaCh7XG4gICAgICAgICAgdW5zaWduZWRIYXNoOiB0eC51bnNpZ25lZEhhc2gsXG4gICAgICAgICAgc2lnbmVkSGFzaDogdHguaGFzaCxcbiAgICAgICAgICBub25jZTogdHgubm9uY2UsXG4gICAgICAgICAgYWRkcmVzczogdHguZnJvbS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICAgIHN0YXR1czogc3RhdHVzLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgYXdhaXQgdGhpcy5hY3Rpb24uc3RvcmVUeHMoZXh0cmFjdGVkVHhzLCBibG9jaywgdGhpcy5nZXRJZCgpKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcblxuICAvKipcbiAgICogZm9yayBvbmUgYmxvY2sgYW5kIHJlbW92ZSBhbGwgc3RvcmVkIHR4SWQgZm9yIHRoaXMgYmxvY2tcbiAgICogQHBhcmFtIGhhc2g6IGJsb2NrIGhhc2hcbiAgICovXG4gIGZvcmtCbG9jayA9IGFzeW5jIChoYXNoOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBhd2FpdCB0aGlzLmFjdGlvbi5kZWxldGVCbG9ja1R4cyhoYXNoLCB0aGlzLmdldElkKCkpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyB0aGUgZGF0YWJhc2Ugd2l0aCBvbGRlciBib3hlcyByZWxhdGVkIHRvIHRoZSBhZGRyZXNzXG4gICAqL1xuICBpbml0aWFsaXplQm94ZXMgPSBhc3luYyAoKSA9PiB7XG4gICAgcmV0dXJuO1xuICB9O1xufVxuIl19
|
package/lib/actions/db.ts
CHANGED
|
@@ -19,7 +19,7 @@ export class TxAction {
|
|
|
19
19
|
* @param extractor selected extractor
|
|
20
20
|
*/
|
|
21
21
|
deleteBlockTxs = async (blockId: string, extractor: string) => {
|
|
22
|
-
this.logger.
|
|
22
|
+
this.logger.debug(
|
|
23
23
|
`Deleting transactions of block ${blockId} and extractor ${extractor}`
|
|
24
24
|
);
|
|
25
25
|
await this.repository
|
|
@@ -45,7 +45,7 @@ export class TxAction {
|
|
|
45
45
|
extractor: string
|
|
46
46
|
) => {
|
|
47
47
|
await this.deleteBlockTxs(block.hash, extractor);
|
|
48
|
-
this.logger.
|
|
48
|
+
this.logger.debug(
|
|
49
49
|
`Inserting new transactions [${txs.map(
|
|
50
50
|
(tx) => tx.signedHash
|
|
51
51
|
)}] in block ${block.hash} and extractor ${extractor}`
|
|
@@ -11,6 +11,9 @@ export class EvmTxExtractor extends AbstractExtractor<TransactionResponse> {
|
|
|
11
11
|
private readonly id: string;
|
|
12
12
|
private readonly address: string;
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* address should be lower case (without checksum)
|
|
16
|
+
*/
|
|
14
17
|
constructor(
|
|
15
18
|
dataSource: DataSource,
|
|
16
19
|
id: string,
|
|
@@ -47,7 +50,7 @@ export class EvmTxExtractor extends AbstractExtractor<TransactionResponse> {
|
|
|
47
50
|
if (tx.hash === null) {
|
|
48
51
|
throw Error('ImpossibleBehavior: RPC transactions must have `hash`.');
|
|
49
52
|
}
|
|
50
|
-
if (tx.from === this.address) {
|
|
53
|
+
if (tx.from.toLowerCase() === this.address) {
|
|
51
54
|
let status: EvmTxStatus;
|
|
52
55
|
try {
|
|
53
56
|
const result = await txRes.wait(0);
|
|
@@ -64,7 +67,7 @@ export class EvmTxExtractor extends AbstractExtractor<TransactionResponse> {
|
|
|
64
67
|
unsignedHash: tx.unsignedHash,
|
|
65
68
|
signedHash: tx.hash,
|
|
66
69
|
nonce: tx.nonce,
|
|
67
|
-
address: tx.from,
|
|
70
|
+
address: tx.from.toLowerCase(),
|
|
68
71
|
status: status,
|
|
69
72
|
});
|
|
70
73
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rosen-bridge/evm-address-tx-extractor",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Extract and store EVM chain notable data of transactions for an address",
|
|
5
5
|
"repository": "",
|
|
6
6
|
"license": "GPL-3.0",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@rosen-bridge/abstract-logger": "^1.0.0",
|
|
37
|
-
"@rosen-bridge/abstract-extractor": "^0.
|
|
38
|
-
"@rosen-bridge/scanner": "^4.1.
|
|
37
|
+
"@rosen-bridge/abstract-extractor": "^0.3.0",
|
|
38
|
+
"@rosen-bridge/scanner": "^4.1.3",
|
|
39
39
|
"ethers": "^6.11.0",
|
|
40
40
|
"typeorm": "^0.3.20"
|
|
41
41
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { JsonRpcProvider, Transaction, TransactionResponse } from 'ethers';
|
|
2
2
|
import { EvmTxStatus } from '../../lib';
|
|
3
3
|
|
|
4
|
-
export const address = '
|
|
4
|
+
export const address = '0x103931ca7ea5a385918e77e64fdd96430f6d2eca';
|
|
5
5
|
export const txs: Array<TransactionResponse> = [
|
|
6
6
|
Transaction.from({
|
|
7
7
|
type: 2,
|