@rosen-bridge/evm-observation-extractor 5.1.5 → 5.1.6-52fc0239
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 +9 -0
- package/dist/BinanceRpcObservationExtractor.d.ts +1 -1
- package/dist/BinanceRpcObservationExtractor.d.ts.map +1 -1
- package/dist/BinanceRpcObservationExtractor.js +1 -1
- package/dist/EthereumRpcObservationExtractor.d.ts +1 -1
- package/dist/EthereumRpcObservationExtractor.d.ts.map +1 -1
- package/dist/EthereumRpcObservationExtractor.js +1 -1
- package/dist/EvmRpcObservationExtractor.d.ts +1 -1
- package/dist/EvmRpcObservationExtractor.d.ts.map +1 -1
- package/dist/EvmRpcObservationExtractor.js +2 -2
- package/lib/BinanceRpcObservationExtractor.ts +1 -1
- package/lib/EthereumRpcObservationExtractor.ts +1 -1
- package/lib/EvmRpcObservationExtractor.ts +1 -1
- package/package.json +8 -12
- package/tests/EvmRpcObservationExtractor.spec.ts +8 -7
- package/tests/testData.ts +10 -2
- package/tests/utils.mock.ts +5 -438
- package/tsconfig.build.json +2 -2
- package/tsconfig.build.tsbuildinfo +1 -1
- package/tsconfig.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @rosen-bridge/evm-observation-extractor
|
|
2
2
|
|
|
3
|
+
## 5.1.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Update package license to MIT
|
|
8
|
+
- Update dependencies
|
|
9
|
+
- @rosen-bridge/observation-extractor@7.1.4
|
|
10
|
+
- @rosen-bridge/scanner-interfaces@0.1.1
|
|
11
|
+
|
|
3
12
|
## 5.1.5
|
|
4
13
|
|
|
5
14
|
### Patch Changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AbstractLogger } from '@rosen-bridge/abstract-logger';
|
|
2
2
|
import { TokenMap } from '@rosen-bridge/tokens';
|
|
3
|
-
import { DataSource } from 'typeorm';
|
|
3
|
+
import { DataSource } from '@rosen-bridge/extended-typeorm';
|
|
4
4
|
import { EvmRpcObservationExtractor } from './EvmRpcObservationExtractor';
|
|
5
5
|
export declare class BinanceRpcObservationExtractor extends EvmRpcObservationExtractor {
|
|
6
6
|
readonly FROM_CHAIN = "binance";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinanceRpcObservationExtractor.d.ts","sourceRoot":"","sources":["../lib/BinanceRpcObservationExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"BinanceRpcObservationExtractor.d.ts","sourceRoot":"","sources":["../lib/BinanceRpcObservationExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,qBAAa,8BAA+B,SAAQ,0BAA0B;IAC5E,QAAQ,CAAC,UAAU,aAAa;gBAG9B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,QAAQ,EAChB,MAAM,CAAC,EAAE,cAAc;IAgBzB;;OAEG;IACH,KAAK,eAAiC;CACvC"}
|
|
@@ -10,4 +10,4 @@ export class BinanceRpcObservationExtractor extends EvmRpcObservationExtractor {
|
|
|
10
10
|
*/
|
|
11
11
|
getId = () => 'binance-rpc-extractor';
|
|
12
12
|
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmluYW5jZVJwY09ic2VydmF0aW9uRXh0cmFjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL0JpbmFuY2VScGNPYnNlcnZhdGlvbkV4dHJhY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUd4RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUxRSxNQUFNLE9BQU8sOEJBQStCLFNBQVEsMEJBQTBCO0lBQ25FLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFFaEMsWUFDRSxXQUFtQixFQUNuQixVQUFzQixFQUN0QixNQUFnQixFQUNoQixNQUF1QjtRQUV2QixLQUFLLENBQ0gsVUFBVSxFQUNWLE1BQU0sRUFDTixJQUFJLHVCQUF1QixDQUN6QixXQUFXLEVBQ1gsTUFBTSxFQUNOLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxDQUNQLEVBQ0QsTUFBTSxDQUNQLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7Q0FDdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdExvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCB7IEV2bUV0aGVyc1Jvc2VuRXh0cmFjdG9yIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9yb3Nlbi1leHRyYWN0b3InO1xuaW1wb3J0IHsgVG9rZW5NYXAgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3Rva2Vucyc7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9leHRlbmRlZC10eXBlb3JtJztcbmltcG9ydCB7IEV2bVJwY09ic2VydmF0aW9uRXh0cmFjdG9yIH0gZnJvbSAnLi9Fdm1ScGNPYnNlcnZhdGlvbkV4dHJhY3Rvcic7XG5cbmV4cG9ydCBjbGFzcyBCaW5hbmNlUnBjT2JzZXJ2YXRpb25FeHRyYWN0b3IgZXh0ZW5kcyBFdm1ScGNPYnNlcnZhdGlvbkV4dHJhY3RvciB7XG4gIHJlYWRvbmx5IEZST01fQ0hBSU4gPSAnYmluYW5jZSc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbG9ja0FkZHJlc3M6IHN0cmluZyxcbiAgICBkYXRhU291cmNlOiBEYXRhU291cmNlLFxuICAgIHRva2VuczogVG9rZW5NYXAsXG4gICAgbG9nZ2VyPzogQWJzdHJhY3RMb2dnZXJcbiAgKSB7XG4gICAgc3VwZXIoXG4gICAgICBkYXRhU291cmNlLFxuICAgICAgdG9rZW5zLFxuICAgICAgbmV3IEV2bUV0aGVyc1Jvc2VuRXh0cmFjdG9yKFxuICAgICAgICBsb2NrQWRkcmVzcyxcbiAgICAgICAgdG9rZW5zLFxuICAgICAgICAnYmluYW5jZScsXG4gICAgICAgICdibmInLFxuICAgICAgICBsb2dnZXJcbiAgICAgICksXG4gICAgICBsb2dnZXJcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldHMgSWQgZm9yIGN1cnJlbnQgZXh0cmFjdG9yXG4gICAqL1xuICBnZXRJZCA9ICgpID0+ICdiaW5hbmNlLXJwYy1leHRyYWN0b3InO1xufVxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AbstractLogger } from '@rosen-bridge/abstract-logger';
|
|
2
2
|
import { TokenMap } from '@rosen-bridge/tokens';
|
|
3
|
-
import { DataSource } from 'typeorm';
|
|
3
|
+
import { DataSource } from '@rosen-bridge/extended-typeorm';
|
|
4
4
|
import { EvmRpcObservationExtractor } from './EvmRpcObservationExtractor';
|
|
5
5
|
export declare class EthereumRpcObservationExtractor extends EvmRpcObservationExtractor {
|
|
6
6
|
readonly FROM_CHAIN = "ethereum";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EthereumRpcObservationExtractor.d.ts","sourceRoot":"","sources":["../lib/EthereumRpcObservationExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"EthereumRpcObservationExtractor.d.ts","sourceRoot":"","sources":["../lib/EthereumRpcObservationExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,qBAAa,+BAAgC,SAAQ,0BAA0B;IAC7E,QAAQ,CAAC,UAAU,cAAc;gBAG/B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,QAAQ,EAChB,MAAM,CAAC,EAAE,cAAc;IAgBzB;;OAEG;IACH,KAAK,eAAkC;CACxC"}
|
|
@@ -10,4 +10,4 @@ export class EthereumRpcObservationExtractor extends EvmRpcObservationExtractor
|
|
|
10
10
|
*/
|
|
11
11
|
getId = () => 'ethereum-rpc-extractor';
|
|
12
12
|
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXRoZXJldW1ScGNPYnNlcnZhdGlvbkV4dHJhY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9FdGhlcmV1bVJwY09ic2VydmF0aW9uRXh0cmFjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR3hFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTFFLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSwwQkFBMEI7SUFDcEUsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUVqQyxZQUNFLFdBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLE1BQWdCLEVBQ2hCLE1BQXVCO1FBRXZCLEtBQUssQ0FDSCxVQUFVLEVBQ1YsTUFBTSxFQUNOLElBQUksdUJBQXVCLENBQ3pCLFdBQVcsRUFDWCxNQUFNLEVBQ04sVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLENBQ1AsRUFDRCxNQUFNLENBQ1AsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztDQUN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHsgRXZtRXRoZXJzUm9zZW5FeHRyYWN0b3IgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3Jvc2VuLWV4dHJhY3Rvcic7XG5pbXBvcnQgeyBUb2tlbk1hcCB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvdG9rZW5zJztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2V4dGVuZGVkLXR5cGVvcm0nO1xuaW1wb3J0IHsgRXZtUnBjT2JzZXJ2YXRpb25FeHRyYWN0b3IgfSBmcm9tICcuL0V2bVJwY09ic2VydmF0aW9uRXh0cmFjdG9yJztcblxuZXhwb3J0IGNsYXNzIEV0aGVyZXVtUnBjT2JzZXJ2YXRpb25FeHRyYWN0b3IgZXh0ZW5kcyBFdm1ScGNPYnNlcnZhdGlvbkV4dHJhY3RvciB7XG4gIHJlYWRvbmx5IEZST01fQ0hBSU4gPSAnZXRoZXJldW0nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGxvY2tBZGRyZXNzOiBzdHJpbmcsXG4gICAgZGF0YVNvdXJjZTogRGF0YVNvdXJjZSxcbiAgICB0b2tlbnM6IFRva2VuTWFwLFxuICAgIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgZGF0YVNvdXJjZSxcbiAgICAgIHRva2VucyxcbiAgICAgIG5ldyBFdm1FdGhlcnNSb3NlbkV4dHJhY3RvcihcbiAgICAgICAgbG9ja0FkZHJlc3MsXG4gICAgICAgIHRva2VucyxcbiAgICAgICAgJ2V0aGVyZXVtJyxcbiAgICAgICAgJ2V0aCcsXG4gICAgICAgIGxvZ2dlclxuICAgICAgKSxcbiAgICAgIGxvZ2dlclxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0cyBJZCBmb3IgY3VycmVudCBleHRyYWN0b3JcbiAgICovXG4gIGdldElkID0gKCkgPT4gJ2V0aGVyZXVtLXJwYy1leHRyYWN0b3InO1xufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AbstractObservationExtractor } from '@rosen-bridge/observation-extractor';
|
|
1
|
+
import { AbstractObservationExtractor } from '@rosen-bridge/abstract-observation-extractor';
|
|
2
2
|
import { TransactionResponse } from 'ethers';
|
|
3
3
|
import { Block } from '@rosen-bridge/scanner-interfaces';
|
|
4
4
|
export declare abstract class EvmRpcObservationExtractor extends AbstractObservationExtractor<TransactionResponse> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EvmRpcObservationExtractor.d.ts","sourceRoot":"","sources":["../lib/EvmRpcObservationExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAE7B,MAAM,
|
|
1
|
+
{"version":3,"file":"EvmRpcObservationExtractor.d.ts","sourceRoot":"","sources":["../lib/EvmRpcObservationExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAE7B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAmB,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE9D,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAEzD,8BAAsB,0BAA2B,SAAQ,4BAA4B,CAAC,mBAAmB,CAAC;IACxG;;;;;;OAMG;IACH,mBAAmB,QACZ,MAAM,mBAAmB,CAAC,SACxB,KAAK,KACX,QAAQ,OAAO,CAAC,CAuCjB;IAEF;;OAEG;IACH,OAAO,OAAQ,mBAAmB,YAOhC;CACH"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AbstractObservationExtractor, } from '@rosen-bridge/observation-extractor';
|
|
1
|
+
import { AbstractObservationExtractor, } from '@rosen-bridge/abstract-observation-extractor';
|
|
2
2
|
import { isCallException } from 'ethers';
|
|
3
3
|
import { blake2b } from 'blakejs';
|
|
4
4
|
export class EvmRpcObservationExtractor extends AbstractObservationExtractor {
|
|
@@ -56,4 +56,4 @@ export class EvmRpcObservationExtractor extends AbstractObservationExtractor {
|
|
|
56
56
|
return tx.hash;
|
|
57
57
|
};
|
|
58
58
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZtUnBjT2JzZXJ2YXRpb25FeHRyYWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvRXZtUnBjT2JzZXJ2YXRpb25FeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDRCQUE0QixHQUU3QixNQUFNLDhDQUE4QyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQXVCLE1BQU0sUUFBUSxDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHbEMsTUFBTSxPQUFnQiwwQkFBMkIsU0FBUSw0QkFBaUQ7SUFDeEc7Ozs7OztPQU1HO0lBQ0gsbUJBQW1CLEdBQUcsS0FBSyxFQUN6QixHQUErQixFQUMvQixLQUFZLEVBQ00sRUFBRTtRQUNwQixNQUFNLFlBQVksR0FBZ0MsRUFBRSxDQUFDO1FBQ3JELEtBQUssTUFBTSxXQUFXLElBQUksR0FBRyxFQUFFLENBQUM7WUFDOUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0MsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxJQUFJLENBQUM7b0JBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN6QyxJQUFJLE1BQU0sRUFBRSxDQUFDO3dCQUNYLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FDbEQsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ2xCLFlBQVksQ0FBQyxJQUFJLENBQUM7NEJBQ2hCLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVTs0QkFDMUIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPOzRCQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07NEJBQ25CLGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0I7NEJBQzNDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0I7NEJBQzNDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTs0QkFDM0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTOzRCQUN6QixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7NEJBQzNCLGFBQWEsRUFBRSxLQUFLLENBQUMsSUFBSTs0QkFDekIsU0FBUyxFQUFFLFNBQVM7NEJBQ3BCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUzs0QkFDekIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO3lCQUM5QixDQUFDLENBQUM7b0JBQ0wsQ0FBQzs7d0JBQ0MsTUFBTSxLQUFLLENBQ1QsZ0NBQWdDLFdBQVcsQ0FBQyxJQUFJLDJCQUEyQixLQUFLLENBQUMsSUFBSSw2Q0FBNkMsQ0FDbkksQ0FBQztnQkFDTixDQUFDO2dCQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ1gsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDO3dCQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZixpQ0FBaUMsV0FBVyxDQUFDLElBQUksb0JBQW9CLENBQ3RFLENBQUM7O3dCQUNDLE1BQU0sQ0FBQyxDQUFDO2dCQUNmLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLENBQUMsQ0FBQztJQUVGOztPQUVHO0lBQ0gsT0FBTyxHQUFHLENBQUMsRUFBdUIsRUFBRSxFQUFFO1FBQ3BDLElBQUksRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNwQixNQUFNLEtBQUssQ0FDVCxxRUFBcUUsQ0FDdEUsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFDakIsQ0FBQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBYnN0cmFjdE9ic2VydmF0aW9uRXh0cmFjdG9yLFxuICBFeHRyYWN0ZWRPYnNlcnZhdGlvbixcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1vYnNlcnZhdGlvbi1leHRyYWN0b3InO1xuaW1wb3J0IHsgaXNDYWxsRXhjZXB0aW9uLCBUcmFuc2FjdGlvblJlc3BvbnNlIH0gZnJvbSAnZXRoZXJzJztcbmltcG9ydCB7IGJsYWtlMmIgfSBmcm9tICdibGFrZWpzJztcbmltcG9ydCB7IEJsb2NrIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9zY2FubmVyLWludGVyZmFjZXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRXZtUnBjT2JzZXJ2YXRpb25FeHRyYWN0b3IgZXh0ZW5kcyBBYnN0cmFjdE9ic2VydmF0aW9uRXh0cmFjdG9yPFRyYW5zYWN0aW9uUmVzcG9uc2U+IHtcbiAgLyoqXG4gICAqIGdldHMgYmxvY2sgaWQgYW5kIHRyYW5zYWN0aW9ucyBjb3JyZXNwb25kaW5nIHRvIHRoZSBibG9jayBhbmQgc2F2ZXMgaWYgdGhleSBhcmUgdmFsaWQgcm9zZW5cbiAgICogIHRyYW5zYWN0aW9ucyBhbmQgaW4gY2FzZSBvZiBzdWNjZXNzIHJldHVybiB0cnVlIGFuZCBpbiBjYXNlIG9mIGZhaWx1cmUgcmV0dXJucyBmYWxzZVxuICAgKiBhZGRpdGlvbmFsbHksIGl0IHJldHVybnMgZmFsc2UgaWYgdGhlIHRyYW5zYWN0aW9uIGlzIGZhaWxlZFxuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHBhcmFtIHR4c1xuICAgKi9cbiAgcHJvY2Vzc1RyYW5zYWN0aW9ucyA9IGFzeW5jIChcbiAgICB0eHM6IEFycmF5PFRyYW5zYWN0aW9uUmVzcG9uc2U+LFxuICAgIGJsb2NrOiBCbG9ja1xuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICBjb25zdCBvYnNlcnZhdGlvbnM6IEFycmF5PEV4dHJhY3RlZE9ic2VydmF0aW9uPiA9IFtdO1xuICAgIGZvciAoY29uc3QgdHJhbnNhY3Rpb24gb2YgdHhzKSB7XG4gICAgICBjb25zdCBkYXRhID0gdGhpcy5leHRyYWN0b3IuZ2V0KHRyYW5zYWN0aW9uKTtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdHJhbnNhY3Rpb24ud2FpdCgwKTtcbiAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICBjb25zdCByZXF1ZXN0SWQgPSBCdWZmZXIuZnJvbShcbiAgICAgICAgICAgICAgYmxha2UyYih0aGlzLmdldFR4SWQodHJhbnNhY3Rpb24pLCB1bmRlZmluZWQsIDMyKVxuICAgICAgICAgICAgKS50b1N0cmluZygnaGV4Jyk7XG4gICAgICAgICAgICBvYnNlcnZhdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgIGZyb21DaGFpbjogdGhpcy5GUk9NX0NIQUlOLFxuICAgICAgICAgICAgICB0b0NoYWluOiBkYXRhLnRvQ2hhaW4sXG4gICAgICAgICAgICAgIGFtb3VudDogZGF0YS5hbW91bnQsXG4gICAgICAgICAgICAgIHNvdXJjZUNoYWluVG9rZW5JZDogZGF0YS5zb3VyY2VDaGFpblRva2VuSWQsXG4gICAgICAgICAgICAgIHRhcmdldENoYWluVG9rZW5JZDogZGF0YS50YXJnZXRDaGFpblRva2VuSWQsXG4gICAgICAgICAgICAgIHNvdXJjZVR4SWQ6IGRhdGEuc291cmNlVHhJZCxcbiAgICAgICAgICAgICAgYnJpZGdlRmVlOiBkYXRhLmJyaWRnZUZlZSxcbiAgICAgICAgICAgICAgbmV0d29ya0ZlZTogZGF0YS5uZXR3b3JrRmVlLFxuICAgICAgICAgICAgICBzb3VyY2VCbG9ja0lkOiBibG9jay5oYXNoLFxuICAgICAgICAgICAgICByZXF1ZXN0SWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgICAgICAgdG9BZGRyZXNzOiBkYXRhLnRvQWRkcmVzcyxcbiAgICAgICAgICAgICAgZnJvbUFkZHJlc3M6IGRhdGEuZnJvbUFkZHJlc3MsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2VcbiAgICAgICAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAgICAgICBgSW1wb3NzaWJsZSBiZWhhdmlvcjogRXZtIFR4IFske3RyYW5zYWN0aW9uLmhhc2h9XSBpcyBpbmNsdWRlZCBpbiBibG9jayBbJHtibG9jay5oYXNofV0gYnV0IHdhaXRpbmcgcmVzdWx0ZWQgaW4gbnVsbCBvciB1bmRlZmluZWRgXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgaWYgKGlzQ2FsbEV4Y2VwdGlvbihlKSlcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgICBgZm91bmQgdmFsaWQgbG9jayB0cmFuc2FjdGlvbiBbJHt0cmFuc2FjdGlvbi5oYXNofV0gYnV0IHR4IGlzIGZhaWxlZGBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgZWxzZSB0aHJvdyBlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFjdGlvbnMuc3RvcmVPYnNlcnZhdGlvbnMob2JzZXJ2YXRpb25zLCBibG9jaywgdGhpcy5nZXRJZCgpKTtcbiAgfTtcblxuICAvKipcbiAgICogZ2V0cyB0cmFuc2FjdGlvbiBpZCBmcm9tIFRyYW5zYWN0aW9uVHlwZVxuICAgKi9cbiAgZ2V0VHhJZCA9ICh0eDogVHJhbnNhY3Rpb25SZXNwb25zZSkgPT4ge1xuICAgIGlmICh0eC5oYXNoID09IG51bGwpIHtcbiAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAnSW1wb3NzaWJsZUJlaGF2aW9yOiBUcmFuc2FjdGlvbnMgY29taW5nIGZyb20gUlBDIGhhdmUgdG8gYmUgc2lnbmVkLidcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0eC5oYXNoO1xuICB9O1xufVxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AbstractLogger } from '@rosen-bridge/abstract-logger';
|
|
2
2
|
import { EvmEthersRosenExtractor } from '@rosen-bridge/rosen-extractor';
|
|
3
3
|
import { TokenMap } from '@rosen-bridge/tokens';
|
|
4
|
-
import { DataSource } from 'typeorm';
|
|
4
|
+
import { DataSource } from '@rosen-bridge/extended-typeorm';
|
|
5
5
|
import { EvmRpcObservationExtractor } from './EvmRpcObservationExtractor';
|
|
6
6
|
|
|
7
7
|
export class BinanceRpcObservationExtractor extends EvmRpcObservationExtractor {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AbstractLogger } from '@rosen-bridge/abstract-logger';
|
|
2
2
|
import { EvmEthersRosenExtractor } from '@rosen-bridge/rosen-extractor';
|
|
3
3
|
import { TokenMap } from '@rosen-bridge/tokens';
|
|
4
|
-
import { DataSource } from 'typeorm';
|
|
4
|
+
import { DataSource } from '@rosen-bridge/extended-typeorm';
|
|
5
5
|
import { EvmRpcObservationExtractor } from './EvmRpcObservationExtractor';
|
|
6
6
|
|
|
7
7
|
export class EthereumRpcObservationExtractor extends EvmRpcObservationExtractor {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AbstractObservationExtractor,
|
|
3
3
|
ExtractedObservation,
|
|
4
|
-
} from '@rosen-bridge/observation-extractor';
|
|
4
|
+
} from '@rosen-bridge/abstract-observation-extractor';
|
|
5
5
|
import { isCallException, TransactionResponse } from 'ethers';
|
|
6
6
|
import { blake2b } from 'blakejs';
|
|
7
7
|
import { Block } from '@rosen-bridge/scanner-interfaces';
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rosen-bridge/evm-observation-extractor",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.6-52fc0239",
|
|
4
4
|
"description": "Event observation data extractor for EVM-compatible chains",
|
|
5
5
|
"repository": "https://github.com/rosen-bridge/scanner",
|
|
6
|
-
"license": "
|
|
6
|
+
"license": "MIT",
|
|
7
7
|
"author": "Rosen Team",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"main": "dist/index.js",
|
|
@@ -18,29 +18,25 @@
|
|
|
18
18
|
"type-check": "tsc --noEmit"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@rosen-bridge/
|
|
22
|
-
"@types/node": "^
|
|
23
|
-
"@typescript-eslint/eslint-plugin": "^6.19.1",
|
|
24
|
-
"@typescript-eslint/parser": "^6.19.1",
|
|
21
|
+
"@rosen-bridge/abstract-scanner": "^0.1.0-52fc0239",
|
|
22
|
+
"@types/node": "^22.18.0",
|
|
25
23
|
"@vitest/coverage-istanbul": "^1.2.2",
|
|
26
|
-
"eslint": "^8.56.0",
|
|
27
|
-
"eslint-config-prettier": "^9.1.0",
|
|
28
24
|
"extensionless": "^1.9.6",
|
|
29
25
|
"prettier": "^3.2.4",
|
|
30
26
|
"typescript": "^5.3.3",
|
|
31
27
|
"vitest": "^1.2.2"
|
|
32
28
|
},
|
|
33
29
|
"engines": {
|
|
34
|
-
"node": ">=
|
|
30
|
+
"node": ">=22.18.0"
|
|
35
31
|
},
|
|
36
32
|
"dependencies": {
|
|
37
33
|
"@rosen-bridge/abstract-logger": "^2.0.1",
|
|
38
|
-
"@rosen-bridge/
|
|
39
|
-
"@rosen-bridge/observation-extractor": "^7.1.3",
|
|
34
|
+
"@rosen-bridge/abstract-observation-extractor": "^0.1.0-52fc0239",
|
|
40
35
|
"@rosen-bridge/rosen-extractor": "^8.0.1",
|
|
41
|
-
"@rosen-bridge/scanner-interfaces": "^0.1.
|
|
36
|
+
"@rosen-bridge/scanner-interfaces": "^0.1.1-52fc0239",
|
|
42
37
|
"@rosen-bridge/tokens": "^3.1.1",
|
|
43
38
|
"blakejs": "^1.2.1",
|
|
39
|
+
"@rosen-bridge/extended-typeorm": "^0.2.1",
|
|
44
40
|
"ethers": "6.13.2"
|
|
45
41
|
}
|
|
46
42
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
|
|
1
3
|
import { vi } from 'vitest';
|
|
2
|
-
import { DataSource } from 'typeorm';
|
|
3
|
-
import {
|
|
4
|
-
import { ObservationEntity } from '@rosen-bridge/observation-extractor';
|
|
4
|
+
import { DataSource } from '@rosen-bridge/extended-typeorm';
|
|
5
|
+
import { ObservationEntity } from '@rosen-bridge/abstract-observation-extractor';
|
|
5
6
|
import { createDatabase, generateBlockEntity } from './utils.mock';
|
|
6
7
|
import { expectedObservation, rosenData, tx, txRes } from './testData';
|
|
7
8
|
import { TestEvmRpcObservationExtractor } from './TestObservationExtractor';
|
|
@@ -11,7 +12,7 @@ vi.mock('ethers', async (importOriginal) => {
|
|
|
11
12
|
const ref = await importOriginal<typeof import('ethers')>();
|
|
12
13
|
return {
|
|
13
14
|
...ref,
|
|
14
|
-
JsonRpcProvider: vi.fn().mockImplementation((
|
|
15
|
+
JsonRpcProvider: vi.fn().mockImplementation(() => {
|
|
15
16
|
return {};
|
|
16
17
|
}),
|
|
17
18
|
};
|
|
@@ -82,7 +83,7 @@ describe('EvmRpcObservationExtractor', () => {
|
|
|
82
83
|
it('should return true but insert no tx when transaction is failed', async () => {
|
|
83
84
|
vi.spyOn(extractor.getRosenExtractor(), 'get').mockReturnValue(rosenData);
|
|
84
85
|
|
|
85
|
-
vi.spyOn(txRes, 'wait').mockImplementation((
|
|
86
|
+
vi.spyOn(txRes, 'wait').mockImplementation(() => {
|
|
86
87
|
throw {
|
|
87
88
|
code: 'CALL_EXCEPTION',
|
|
88
89
|
};
|
|
@@ -99,7 +100,7 @@ describe('EvmRpcObservationExtractor', () => {
|
|
|
99
100
|
|
|
100
101
|
// check database
|
|
101
102
|
const repository = dataSource.getRepository(ObservationEntity);
|
|
102
|
-
const [
|
|
103
|
+
const [, rowsCount] = await repository.findAndCount();
|
|
103
104
|
expect(rowsCount).toEqual(0);
|
|
104
105
|
}, 100000);
|
|
105
106
|
|
|
@@ -129,7 +130,7 @@ describe('EvmRpcObservationExtractor', () => {
|
|
|
129
130
|
|
|
130
131
|
// check database
|
|
131
132
|
const repository = dataSource.getRepository(ObservationEntity);
|
|
132
|
-
const [
|
|
133
|
+
const [, rowsCount] = await repository.findAndCount();
|
|
133
134
|
expect(rowsCount).toEqual(0);
|
|
134
135
|
}, 100000);
|
|
135
136
|
});
|
package/tests/testData.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { blake2b } from 'blakejs';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
JsonRpcProvider,
|
|
4
|
+
Transaction,
|
|
5
|
+
TransactionResponse,
|
|
6
|
+
TransactionResponseParams,
|
|
7
|
+
} from 'ethers';
|
|
3
8
|
|
|
4
9
|
export const tx = Transaction.from({
|
|
5
10
|
type: 2,
|
|
@@ -20,7 +25,10 @@ export const tx = Transaction.from({
|
|
|
20
25
|
},
|
|
21
26
|
hash: '0x3b194eea7cf9507e745806265738ca19213be209885534161ec0fa9c232c9fea',
|
|
22
27
|
});
|
|
23
|
-
export const txRes = new TransactionResponse(
|
|
28
|
+
export const txRes = new TransactionResponse(
|
|
29
|
+
tx as unknown as TransactionResponseParams,
|
|
30
|
+
new JsonRpcProvider()
|
|
31
|
+
);
|
|
24
32
|
|
|
25
33
|
export const rosenData = {
|
|
26
34
|
toChain: 'to-chain',
|