subquery / subql

SubQuery is an Open, Flexible, Fast and Universal data indexing framework for web3. Our mission is to help developers create the decentralised products of the future.
https://subquery.network
GNU General Public License v3.0
19.06k stars 328 forks source link

Blockchain service #2517

Open stwiname opened 1 month ago

stwiname commented 1 month ago

Description

This is another phase of moving more code to node core, it is a shift away from using super classes and now defines a clear interface for blockchain specific code.

This reduces a lot of boiler plate in extending classes and having to redefine constructors as well as nestjs modules. This will greatly simplify adding support for new blockchains.

TODOs

Type of change

Please delete options that are not relevant.

Checklist

github-actions[bot] commented 1 month ago

Coverage report for .

[!CAUTION] Test run failed

St.:grey_question:
Category Percentage Covered / Total
🟑 Statements
64.59% (-5.52% πŸ”»)
19145/29642
🟑 Branches
78.89% (+0.59% πŸ”Ό)
2507/3178
🟑 Functions
66.9% (+4.4% πŸ”Ό)
1049/1568
🟑 Lines
64.59% (-5.52% πŸ”»)
19145/29642
Show new covered files 🐣
|
St.:grey_question:
| File | Statements | Branches | Functions | Lines | | :-: | :- | :- | :- | :- | :- | | 🟒 |
`...` / migrate.ts
| 85.34% | 16.67% | 100% | 85.34% | | 🟒 |
`...` / migrate-abis.controller.ts
| 95% | 87.5% | 100% | 95% | | 🟒 |
`...` / constants.ts
| 100% | 100% | 100% | 100% | | 🟒 |
`...` / index.ts
| 100% | 100% | 100% | 100% | | 🟒 |
`...` / ethereum.ts
| 82.28% | 83.33% | 100% | 82.28% | | 🟒 |
`...` / migrate-manifest.controller.ts
| 88% | 73.33% | 88.89% | 88% | | 🟒 |
`...` / migrate-mapping.controller.ts
| 100% | 100% | 100% | 100% | | 🟒 |
`...` / migrate-controller.ts
| 92.41% | 84.62% | 100% | 92.41% | | 🟒 |
`...` / migrate.fixtures.ts
| 100% | 100% | 100% | 100% | | 🟒 |
`...` / migrate-schema.controller.ts
| 97.18% | 78.95% | 100% | 97.18% | | πŸ”΄ |
`...` / types.ts
| 0% | 0% | 0% | 0% | | 🟒 |
`...` / createProject.fixtures.ts
| 92.24% | 66.67% | 100% | 92.24% | | 🟒 |
`...` / config.ts
| 100% | 100% | 100% | 100% | | 🟒 |
`...` / index.ts
| 100% | 100% | 100% | 100% | | πŸ”΄ |
`...` / moduleLoader.ts
| 56% | 40% | 100% | 56% | | 🟒 |
`...` / types.ts
| 100% | 100% | 100% | 100% | | πŸ”΄ |
`...` / utils.ts
| 0% | 0% | 0% | 0% | | 🟒 |
`...` / networkFamily.ts
| 92.59% | 88.89% | 100% | 92.59% | | 🟑 |
`...` / IPFSHTTPClientLite.ts
| 63.97% | 63.16% | 77.78% | 63.97% | | 🟒 |
`...` / index.ts
| 100% | 100% | 100% | 100% | | 🟒 |
`...` / utils.ts
| 92% | 66.67% | 100% | 92% | | 🟑 |
`...` / admin.controller.ts
| 77.24% | 96.3% | 78.57% | 77.24% | | πŸ”΄ |
`...` / blockRange.ts
| 46.67% | 100% | 50% | 46.67% | | 🟒 |
`...` / index.ts
| 100% | 100% | 100% | 100% | | 🟒 |
`...` / blockchain.service.ts
| 100% | 100% | 100% | 100% | | 🟒 |
`...` / SubqueryProject.ts
| 84.14% | 50% | 71.43% | 84.14% | | 🟒 |
`...` / core.module.ts
| 100% | 100% | 100% | 100% | | 🟒 |
`...` / dictionary.fixtures.ts
| 100% | 100% | 100% | 100% | | 🟑 |
`...` / monitor.service.ts
| 70.04% | 88.24% | 94.12% | 70.04% | | πŸ”΄ |
`...` / sandbox.service.ts
| 33.33% | 50% | 25% | 33.33% | | 🟒 |
`...` / worker.core.module.ts
| 100% | 100% | 0% | 100% | | πŸ”΄ |
`...` / worker.monitor.service.ts
| 41.46% | 100% | 0% | 41.46% | | πŸ”΄ |
`...` / meta.controller.ts
| 53.33% | 100% | 0% | 53.33% | | 🟑 |
`...` / meta.module.ts
| 60% | 100% | 0% | 60% | | πŸ”΄ |
`...` / process.ts
| 50% | 66.67% | 40% | 50% | | πŸ”΄ |
`...` / foreceClean.init.ts
| 47.62% | 100% | 0% | 47.62% | | πŸ”΄ |
`...` / reindex.init.ts
| 34.48% | 100% | 0% | 34.48% | | 🟒 |
`...` / testing.core.module.ts
| 100% | 100% | 100% | 100% | | 🟒 |
`...` / string.ts
| 100% | 100% | 100% | 100% | | 🟑 |
`...` / blockchain.service.ts
| 63.98% | 100% | 46.15% | 63.98% | | πŸ”΄ |
`...` / datasourceProcessors.ts
| 0% | 0% | 0% | 0% | | πŸ”΄ |
`...` / index.ts
| 0% | 0% | 0% | 0% | | πŸ”΄ |
`...` / types.ts
| 0% | 0% | 0% | 0% | | πŸ”΄ |
`...` / networking.ts
| 31.58% | 100% | 0% | 31.58% |
Show files with reduced coverage πŸ”»
|
St.:grey_question:
| File | Statements | Branches | Functions | Lines | | :-: | :- | :- | :- | :- | :- | | 🟒 |
`...` / index.ts
| 82.95% |
50% (-16.67% πŸ”»)
|
66.67% (+16.67% πŸ”Ό)
| 82.95% | | πŸ”΄ |
`...` / delete.ts
|
48.72% (-5.57% πŸ”»)
| 100% |
50% (+50% πŸ”Ό)
|
48.72% (-5.57% πŸ”»)
| | πŸ”΄ |
`...` / promote.ts
|
44.19% (-4.53% πŸ”»)
| 100% |
50% (+50% πŸ”Ό)
|
44.19% (-4.53% πŸ”»)
| | 🟑 |
`...` / add.ts
|
61.29% (-0.78% πŸ”»)
| 100% |
50% (+50% πŸ”Ό)
|
61.29% (-0.78% πŸ”»)
| | πŸ”΄ |
`...` / publish.ts
|
25.58% (-63.75% πŸ”»)
|
100% (+42.86% πŸ”Ό)
|
50% (-50% πŸ”»)
|
25.58% (-63.75% πŸ”»)
| | πŸ”΄ |
`...` / add-chain-controller.ts
|
39.85% (-0.23% πŸ”»)
| 66.67% | 30% |
39.85% (-0.23% πŸ”»)
| | 🟒 |
`...` / codegen-controller.ts
|
88.52% (-0.86% πŸ”»)
|
84.72% (+9.14% πŸ”Ό)
| 100% |
88.52% (-0.86% πŸ”»)
| | πŸ”΄ |
`...` / deploy-controller.ts
|
32.22% (-5.24% πŸ”»)
|
100% (+22.22% πŸ”Ό)
|
12.5% (-12.5% πŸ”»)
|
32.22% (-5.24% πŸ”»)
| | 🟒 |
`...` / generate-controller.ts
|
97.75% (+0.1% πŸ”Ό)
|
93.24% (-0.79% πŸ”»)
| 100% |
97.75% (+0.1% πŸ”Ό)
| | 🟑 |
`...` / init-controller.ts
|
73.03% (+2.54% πŸ”Ό)
|
54.55% (-13.45% πŸ”»)
|
61.11% (+7.78% πŸ”Ό)
|
73.03% (+2.54% πŸ”Ό)
| | πŸ”΄ |
`...` / project-controller.ts
|
17.81% (-79.45% πŸ”»)
|
100% (+40% πŸ”Ό)
|
0% (-100% πŸ”»)
|
17.81% (-79.45% πŸ”»)
| | πŸ”΄ |
`...` / publish-controller.ts
|
13.56% (-66.69% πŸ”»)
|
100% (+28.89% πŸ”Ό)
|
0% (-100% πŸ”»)
|
13.56% (-66.69% πŸ”»)
| | 🟒 |
`...` / utils.ts
|
80.38% (-0.7% πŸ”»)
|
85.71% (+5.01% πŸ”Ό)
|
80.77% (+3.5% πŸ”Ό)
|
80.38% (-0.7% πŸ”»)
| | πŸ”΄ |
`...` / models.ts
|
50% (-49.44% πŸ”»)
|
94.12% (+1.81% πŸ”Ό)
|
30.77% (-69.23% πŸ”»)
|
50% (-49.44% πŸ”»)
| | 🟒 |
`...` / model.ts
|
93.14% (-4.57% πŸ”»)
| 100% |
73.33% (+1.9% πŸ”Ό)
|
93.14% (-4.57% πŸ”»)
| | πŸ”΄ |
`...` / models.ts
|
47.06% (-52.94% πŸ”»)
| 100% |
0% (-100% πŸ”»)
|
47.06% (-52.94% πŸ”»)
| | πŸ”΄ |
`...` / load.ts
| 59.18% |
37.5% (-18.06% πŸ”»)
| 66.67% | 59.18% | | 🟑 |
`...` / github-reader.ts
|
65.52% (-23.77% πŸ”»)
|
85.71% (+10.71% πŸ”Ό)
|
71.43% (-11.9% πŸ”»)
|
65.52% (-23.77% πŸ”»)
| | 🟑 |
`...` / ipfs-reader.ts
|
60.66% (-25.06% πŸ”»)
|
70% (+6.36% πŸ”Ό)
|
71.43% (-11.9% πŸ”»)
|
60.66% (-25.06% πŸ”»)
| | 🟑 |
`...` / local-reader.ts
|
67.5% (-18.55% πŸ”»)
|
100% (+37.5% πŸ”Ό)
|
83.33% (-16.67% πŸ”»)
|
67.5% (-18.55% πŸ”»)
| | 🟑 |
`...` / reader.ts
|
63.16% (-26.32% πŸ”»)
|
33.33% (-41.67% πŸ”»)
| 100% |
63.16% (-26.32% πŸ”»)
| | πŸ”΄ |
`...` / base.ts
|
45.79% (-52.21% πŸ”»)
| 100% |
40% (-40% πŸ”»)
|
45.79% (-52.21% πŸ”»)
| | πŸ”΄ |
`...` / models.ts
|
25.9% (-74.1% πŸ”»)
| 100% |
0% (-100% πŸ”»)
|
25.9% (-74.1% πŸ”»)
| | 🟒 |
`...` / NodeConfig.ts
|
88.06% (-0.55% πŸ”»)
|
78.18% (-1.45% πŸ”»)
|
84.78% (-1.26% πŸ”»)
|
88.06% (-0.55% πŸ”»)
| | 🟑 |
`...` / ProjectUpgrade.service.ts
|
72.4% (-14.68% πŸ”»)
|
86.49% (-4.87% πŸ”»)
|
84.62% (-6.69% πŸ”»)
|
72.4% (-14.68% πŸ”»)
| | 🟒 |
`...` / db.module.ts
|
89.06% (+0.78% πŸ”Ό)
|
62.5% (-20.83% πŸ”»)
| 80% |
89.06% (+0.78% πŸ”Ό)
| | 🟒 |
`...` / SchemaMigration.service.ts
|
81.12% (-6.44% πŸ”»)
|
80.65% (-0.6% πŸ”»)
|
83.33% (-16.67% πŸ”»)
|
81.12% (-6.44% πŸ”»)
| | 🟑 |
`...` / migration-helpers.ts
|
75.28% (-0.74% πŸ”»)
|
88.24% (+7.64% πŸ”Ό)
| 90.91% |
75.28% (-0.74% πŸ”»)
| | 🟑 |
`...` / migration.ts
|
69.57% (-12.71% πŸ”»)
| 79.73% |
86.36% (-4.11% πŸ”»)
|
69.57% (-12.71% πŸ”»)
| | 🟒 |
`...` / StoreOperations.ts
|
85.88% (-6.43% πŸ”»)
|
66.67% (-18.33% πŸ”»)
| 100% |
85.88% (-6.43% πŸ”»)
| | πŸ”΄ |
`...` / benchmark.service.ts
|
43.36% (-11.89% πŸ”»)
| 66.67% |
36.36% (-3.64% πŸ”»)
|
43.36% (-11.89% πŸ”»)
| | πŸ”΄ |
`...` / base-block-dispatcher.ts
|
19.27% (-28.08% πŸ”»)
| 100% |
4.35% (-5.65% πŸ”»)
|
19.27% (-28.08% πŸ”»)
| | πŸ”΄ |
`...` / block-dispatcher.ts
|
27.35% (-13.64% πŸ”»)
| 66.67% |
25% (-3.57% πŸ”»)
|
27.35% (-13.64% πŸ”»)
| | πŸ”΄ |
`...` / worker-block-dispatcher.ts
|
37.59% (-12.62% πŸ”»)
| 100% |
23.08% (-4.2% πŸ”»)
|
37.59% (-12.62% πŸ”»)
| | πŸ”΄ |
`...` / coreDictionary.ts
|
45.33% (-54.67% πŸ”»)
|
87.5% (-6.94% πŸ”»)
|
77.78% (-22.22% πŸ”»)
|
45.33% (-54.67% πŸ”»)
| | 🟑 |
`...` / dictionary.service.ts
|
67% (-18.15% πŸ”»)
|
80% (-5.71% πŸ”»)
|
83.33% (-7.58% πŸ”»)
|
67% (-18.15% πŸ”»)
| | 🟒 |
`...` / utils.ts
|
92.59% (-3.7% πŸ”»)
|
69.23% (-24.89% πŸ”»)
| 100% |
92.59% (-3.7% πŸ”»)
| | 🟑 |
`...` / dictionaryV1.ts
|
73.47% (-19.76% πŸ”»)
|
75% (-3.26% πŸ”»)
|
91.67% (-8.33% πŸ”»)
|
73.47% (-19.76% πŸ”»)
| | 🟑 |
`...` / dictionaryV2.ts
|
67.37% (-14.31% πŸ”»)
|
68% (+2.78% πŸ”Ό)
|
88.89% (-11.11% πŸ”»)
|
67.37% (-14.31% πŸ”»)
| | πŸ”΄ |
`...` / ds-processor.service.ts
|
34.68% (-27.41% πŸ”»)
|
73.33% (-1.67% πŸ”»)
|
58.33% (-29.17% πŸ”»)
|
34.68% (-27.41% πŸ”»)
| | πŸ”΄ |
`...` / dynamic-ds.service.ts
|
49.31% (-40.89% πŸ”»)
|
80.95% (+14.29% πŸ”Ό)
|
63.64% (-22.08% πŸ”»)
|
49.31% (-40.89% πŸ”»)
| | 🟒 |
`...` / fetch.service.ts
|
92.49% (+0.21% πŸ”Ό)
|
90.12% (+1.39% πŸ”Ό)
|
85.19% (-1.77% πŸ”»)
|
92.49% (+0.21% πŸ”Ό)
| | πŸ”΄ |
`...` / indexer.manager.ts
|
17.5% (-15.71% πŸ”»)
| 100% |
10% (-2.5% πŸ”»)
|
17.5% (-15.71% πŸ”»)
| | 🟒 |
`...` / PoiBlock.ts
|
83.87% (-14.52% πŸ”»)
| 96.55% |
75% (-25% πŸ”»)
|
83.87% (-14.52% πŸ”»)
| | πŸ”΄ |
`...` / poi.service.ts
|
57.21% (+33.28% πŸ”Ό)
|
55.56% (-44.44% πŸ”»)
|
80% (+51.43% πŸ”Ό)
|
57.21% (+33.28% πŸ”Ό)
| | πŸ”΄ |
`...` / poiModel.ts
|
40% (-23.64% πŸ”»)
| 71.43% |
44.44% (-12.7% πŸ”»)
|
40% (-23.64% πŸ”»)
| | πŸ”΄ |
`...` / poiSync.service.ts
|
55.88% (-31% πŸ”»)
|
77.61% (+1.05% πŸ”Ό)
|
88.89% (-3.42% πŸ”»)
|
55.88% (-31% πŸ”»)
| | 🟑 |
`...` / project.service.ts
|
66.6% (-13.4% πŸ”»)
|
66.67% (-3.51% πŸ”»)
|
80.77% (-3.23% πŸ”»)
|
66.6% (-13.4% πŸ”»)
| | πŸ”΄ |
`...` / sandbox.ts
|
59.09% (-8.89% πŸ”»)
|
56.25% (-0.89% πŸ”»)
|
57.14% (-4.4% πŸ”»)
|
59.09% (-8.89% πŸ”»)
| | πŸ”΄ |
`...` / smartBatch.service.ts
|
10.43% (-13.91% πŸ”»)
| 100% |
12.5% (-1.79% πŸ”»)
|
10.43% (-13.91% πŸ”»)
| | πŸ”΄ |
`...` / store.service.ts
|
55.19% (-10.85% πŸ”»)
|
72.92% (+4.5% πŸ”Ό)
|
60% (+2.86% πŸ”Ό)
|
55.19% (-10.85% πŸ”»)
| | 🟒 |
`...` / entity.ts
|
92.31% (+30.77% πŸ”Ό)
|
75% (-25% πŸ”»)
|
75% (+75% πŸ”Ό)
|
92.31% (+30.77% πŸ”Ό)
| | πŸ”΄ |
`...` / store.ts
|
13.11% (-19.09% πŸ”»)
| 100% | 0% |
13.11% (-19.09% πŸ”»)
| | 🟑 |
`...` / baseCache.service.ts
|
62.9% (-30.43% πŸ”»)
| 87.5% |
66.67% (-13.33% πŸ”»)
|
62.9% (-30.43% πŸ”»)
| | 🟑 |
`...` / cacheMetadata.ts
|
66.81% (-21.7% πŸ”»)
|
72.5% (-3.06% πŸ”»)
|
87.5% (-5.83% πŸ”»)
|
66.81% (-21.7% πŸ”»)
| | 🟑 |
`...` / cachePoi.ts
|
75.53% (-18.09% πŸ”»)
| 88.89% |
71.43% (-11.9% πŸ”»)
|
75.53% (-18.09% πŸ”»)
| | 🟒 |
`...` / cacheable.ts
|
89.66% (-0.97% πŸ”»)
| 75% | 100% |
89.66% (-0.97% πŸ”»)
| | 🟑 |
`...` / csvStore.service.ts
|
76.92% (-14.1% πŸ”»)
| 80% |
80% (-20% πŸ”»)
|
76.92% (-14.1% πŸ”»)
| | 🟒 |
`...` / setValueModel.ts
|
83.97% (+1.96% πŸ”Ό)
|
80.56% (-0.69% πŸ”»)
|
85.71% (+1.1% πŸ”Ό)
|
83.97% (+1.96% πŸ”Ό)
| | 🟑 |
`...` / storeCache.service.ts
|
61.23% (-14.01% πŸ”»)
|
82.5% (+13.75% πŸ”Ό)
|
77.78% (-3.47% πŸ”»)
|
61.23% (-14.01% πŸ”»)
| | 🟒 |
`...` / test.runner.ts
|
94.9% (-4.43% πŸ”»)
|
77.78% (+4.44% πŸ”Ό)
|
75% (-25% πŸ”»)
|
94.9% (-4.43% πŸ”»)
| | πŸ”΄ |
`...` / testing.service.ts
|
12% (-16.57% πŸ”»)
| 100% | 0% |
12% (-16.57% πŸ”»)
| | 🟑 |
`...` / unfinalizedBlocks.service.ts
|
66.23% (-17.76% πŸ”»)
|
96.61% (-0.11% πŸ”»)
|
86.96% (-4.71% πŸ”»)
|
66.23% (-17.76% πŸ”»)
| | πŸ”΄ |
`...` / worker.builder.ts
|
59.83% (-19.36% πŸ”»)
| 65.38% | 80% |
59.83% (-19.36% πŸ”»)
| | πŸ”΄ |
`...` / worker.cache.service.ts
|
48.78% (-9.76% πŸ”»)
| 100% | 0% |
48.78% (-9.76% πŸ”»)
| | πŸ”΄ |
`...` / worker.connectionPoolState.manager.ts
|
38.21% (-22.76% πŸ”»)
| 100% | 0% |
38.21% (-22.76% πŸ”»)
| | πŸ”΄ |
`...` / worker.dynamic-ds.service.ts
|
44.44% (-17.78% πŸ”»)
| 100% | 0% |
44.44% (-17.78% πŸ”»)
| | πŸ”΄ |
`...` / worker.service.ts
|
20.35% (-24.29% πŸ”»)
| 100% | 0% |
20.35% (-24.29% πŸ”»)
| | 🟒 |
`...` / worker.store.service.ts
|
80% (-2.61% πŸ”»)
| 100% | 50% |
80% (-2.61% πŸ”»)
| | πŸ”΄ |
`...` / worker.ts
|
42.34% (-0.11% πŸ”»)
| 100% | 0% |
42.34% (-0.11% πŸ”»)
| | πŸ”΄ |
`...` / worker.unfinalizedBlocks.service.ts
|
30.61% (-69.39% πŸ”»)
| 100% |
0% (-100% πŸ”»)
|
30.61% (-69.39% πŸ”»)
| | πŸ”΄ |
`...` / logger.ts
|
47.89% (-16.59% πŸ”»)
| 33.33% |
40% (+20% πŸ”Ό)
|
47.89% (-16.59% πŸ”»)
| | πŸ”΄ |
`...` / event.listener.ts
|
15.15% (-65.66% πŸ”»)
| 100% |
0% (-25% πŸ”»)
|
15.15% (-65.66% πŸ”»)
| | πŸ”΄ |
`...` / health.controller.ts
|
37.93% (-17.24% πŸ”»)
| 100% |
0% (-50% πŸ”»)
|
37.93% (-17.24% πŸ”»)
| | πŸ”΄ |
`...` / health.service.ts
|
21.92% (-35.62% πŸ”»)
| 100% |
0% (-20% πŸ”»)
|
21.92% (-35.62% πŸ”»)
| | πŸ”΄ |
`...` / meta.service.ts
|
34.26% (-35.26% πŸ”»)
|
100% (+20% πŸ”Ό)
|
0% (-40% πŸ”»)
|
34.26% (-35.26% πŸ”»)
| | πŸ”΄ |
`...` / ready.controller.ts
|
34.78% (-21.74% πŸ”»)
| 100% |
0% (-50% πŸ”»)
|
34.78% (-21.74% πŸ”»)
| | πŸ”΄ |
`...` / ready.service.ts
|
37.5% (-54.17% πŸ”»)
| 100% |
0% (-66.67% πŸ”»)
|
37.5% (-54.17% πŸ”»)
| | πŸ”΄ |
`...` / forceClean.service.ts
|
22.08% (-4.24% πŸ”»)
| 100% | 0% |
22.08% (-4.24% πŸ”»)
| | πŸ”΄ |
`...` / reindex.service.ts
|
15.2% (-18.13% πŸ”»)
| 100% | 0% |
15.2% (-18.13% πŸ”»)
| | 🟑 |
`...` / autoQueue.ts
|
60.3% (-28.09% πŸ”»)
| 85.11% |
73.08% (-6.09% πŸ”»)
|
60.3% (-28.09% πŸ”»)
| | 🟑 |
`...` / blocks.ts
|
77.78% (-22.22% πŸ”»)
| 88.89% |
66.67% (-33.33% πŸ”»)
|
77.78% (-22.22% πŸ”»)
| | 🟑 |
`...` / project.ts
|
64.42% (-8.95% πŸ”»)
|
57.41% (-17.17% πŸ”»)
| 77.78% |
64.42% (-8.95% πŸ”»)
| | 🟒 |
`...` / promise.ts
|
86.44% (-5.32% πŸ”»)
|
100% (+13.64% πŸ”Ό)
|
71.43% (-14.29% πŸ”»)
|
86.44% (-5.32% πŸ”»)
| | πŸ”΄ |
`...` / yargs.ts
|
42.51% (-2.97% πŸ”»)
| 100% | 14.29% |
42.51% (-2.97% πŸ”»)
| | 🟒 |
`...` / SubqueryProject.ts
|
100% (+4.48% πŸ”Ό)
|
66.67% (-15.69% πŸ”»)
|
100% (+14.29% πŸ”Ό)
|
100% (+4.48% πŸ”Ό)
| | 🟒 |
`...` / apiPromise.connection.ts
|
80% (+10.92% πŸ”Ό)
|
64.29% (-15.71% πŸ”»)
|
66.67% (+23.81% πŸ”Ό)
|
80% (+10.92% πŸ”Ό)
| | 🟒 |
`...` / substrateDictionary.service.ts
|
98.15% (+7.58% πŸ”Ό)
|
66.67% (-6.06% πŸ”»)
|
100% (+20% πŸ”Ό)
|
98.15% (+7.58% πŸ”Ό)
| | 🟒 |
`...` / substrateDictionaryV1.ts
|
85.43% (-0.05% πŸ”»)
|
78.72% (+8.96% πŸ”Ό)
|
84.62% (+1.28% πŸ”Ό)
|
85.43% (-0.05% πŸ”»)
| | 🟑 |
`...` / substrateDictionaryV2.ts
|
73.03% (-2.48% πŸ”»)
| 75% | 33.33% |
73.03% (-2.48% πŸ”»)
| | 🟒 |
`...` / fetch.module.ts
|
86.36% (-5.51% πŸ”»)
|
66.67% (-8.33% πŸ”»)
| 100% |
86.36% (-5.51% πŸ”»)
| | πŸ”΄ |
`...` / indexer.manager.ts
|
54.85% (-2.69% πŸ”»)
| 100% |
16.67% (+7.58% πŸ”Ό)
|
54.85% (-2.69% πŸ”»)
| | 🟒 |
`...` / runtimeService.ts
|
83.53% (-8.68% πŸ”»)
|
81.82% (-7.07% πŸ”»)
|
83.33% (+3.33% πŸ”Ό)
|
83.53% (-8.68% πŸ”»)
| | 🟒 |
`...` / project.ts
|
88.73% (-0.16% πŸ”»)
| 68.18% | 87.5% |
88.73% (-0.16% πŸ”»)
| | 🟒 |
`...` / buffer.ts
|
95.12% (-4.88% πŸ”»)
|
95.83% (-4.17% πŸ”»)
|
90.48% (+6.27% πŸ”Ό)
|
95.12% (-4.88% πŸ”»)
| | 🟒 |
`...` / entities.ts
|
86.39% (-1.93% πŸ”»)
|
82.54% (-3.55% πŸ”»)
| 100% |
86.39% (-1.93% πŸ”»)
| | 🟑 |
`...` / logger.ts
|
69.19% (-0.41% πŸ”»)
|
48.15% (-6.85% πŸ”»)
|
78.57% (+3.57% πŸ”Ό)
|
69.19% (-0.41% πŸ”»)
|

Test suite run failed

Failed tests: 19/577. Failed suites: 6/103.
``` ● DynamicDsService β€Ί loads all datasources and params when init Unable to find matching template in project for name: "Test" 125 | const t = (this.project.templates ?? []).find((t) => t.name === templateName); 126 | if (!t) { > 127 | throw new Error(`Unable to find matching template in project for name: "${templateName}"`); | ^ 128 | } 129 | const {name, ...template} = cloneDeep(t); 130 | return {...template, startBlock} as T; at TestDynamicDsService.getTemplate (packages/node-core/src/indexer/dynamic-ds.service.ts:127:13) at TestDynamicDsService.getTemplate (packages/node-core/src/indexer/dynamic-ds.service.spec.ts:21:18) at TestDynamicDsService.getDatasource (packages/node-core/src/indexer/dynamic-ds.service.ts:134:24) at packages/node-core/src/indexer/dynamic-ds.service.ts:107:71 at Array.map () at TestDynamicDsService.loadDynamicDatasources (packages/node-core/src/indexer/dynamic-ds.service.ts:107:50) at TestDynamicDsService.getDynamicDatasources (packages/node-core/src/indexer/dynamic-ds.service.ts:99:18) at TestDynamicDsService.init (packages/node-core/src/indexer/dynamic-ds.service.ts:45:5) at Object. (packages/node-core/src/indexer/dynamic-ds.service.spec.ts:53:5) ● DynamicDsService β€Ί keeps reference to added dynamic datasources Unable to find matching template in project for name: "Test" 125 | const t = (this.project.templates ?? []).find((t) => t.name === templateName); 126 | if (!t) { > 127 | throw new Error(`Unable to find matching template in project for name: "${templateName}"`); | ^ 128 | } 129 | const {name, ...template} = cloneDeep(t); 130 | return {...template, startBlock} as T; at TestDynamicDsService.getTemplate (packages/node-core/src/indexer/dynamic-ds.service.ts:127:13) at TestDynamicDsService.getTemplate (packages/node-core/src/indexer/dynamic-ds.service.spec.ts:21:18) at TestDynamicDsService.getDatasource (packages/node-core/src/indexer/dynamic-ds.service.ts:134:24) at packages/node-core/src/indexer/dynamic-ds.service.ts:107:71 at Array.map () at TestDynamicDsService.loadDynamicDatasources (packages/node-core/src/indexer/dynamic-ds.service.ts:107:50) at TestDynamicDsService.getDynamicDatasources (packages/node-core/src/indexer/dynamic-ds.service.ts:99:18) at TestDynamicDsService.init (packages/node-core/src/indexer/dynamic-ds.service.ts:45:5) at Object. (packages/node-core/src/indexer/dynamic-ds.service.spec.ts:62:5) ● DynamicDsService β€Ί resets dynamic datasources Unable to find matching template in project for name: "Test" 125 | const t = (this.project.templates ?? []).find((t) => t.name === templateName); 126 | if (!t) { > 127 | throw new Error(`Unable to find matching template in project for name: "${templateName}"`); | ^ 128 | } 129 | const {name, ...template} = cloneDeep(t); 130 | return {...template, startBlock} as T; at TestDynamicDsService.getTemplate (packages/node-core/src/indexer/dynamic-ds.service.ts:127:13) at TestDynamicDsService.getTemplate (packages/node-core/src/indexer/dynamic-ds.service.spec.ts:21:18) at TestDynamicDsService.getDatasource (packages/node-core/src/indexer/dynamic-ds.service.ts:134:24) at packages/node-core/src/indexer/dynamic-ds.service.ts:107:71 at Array.map () at TestDynamicDsService.loadDynamicDatasources (packages/node-core/src/indexer/dynamic-ds.service.ts:107:50) at TestDynamicDsService.getDynamicDatasources (packages/node-core/src/indexer/dynamic-ds.service.ts:99:18) at TestDynamicDsService.init (packages/node-core/src/indexer/dynamic-ds.service.ts:45:5) at Object. (packages/node-core/src/indexer/dynamic-ds.service.spec.ts:74:5) ● DynamicDsService β€Ί getDynamicDatasources with force reloads from metadata Unable to find matching template in project for name: "Test" 125 | const t = (this.project.templates ?? []).find((t) => t.name === templateName); 126 | if (!t) { > 127 | throw new Error(`Unable to find matching template in project for name: "${templateName}"`); | ^ 128 | } 129 | const {name, ...template} = cloneDeep(t); 130 | return {...template, startBlock} as T; at TestDynamicDsService.getTemplate (packages/node-core/src/indexer/dynamic-ds.service.ts:127:13) at TestDynamicDsService.getTemplate (packages/node-core/src/indexer/dynamic-ds.service.spec.ts:21:18) at TestDynamicDsService.getDatasource (packages/node-core/src/indexer/dynamic-ds.service.ts:134:24) at packages/node-core/src/indexer/dynamic-ds.service.ts:107:71 at Array.map () at TestDynamicDsService.loadDynamicDatasources (packages/node-core/src/indexer/dynamic-ds.service.ts:107:50) at TestDynamicDsService.getDynamicDatasources (packages/node-core/src/indexer/dynamic-ds.service.ts:99:18) at TestDynamicDsService.init (packages/node-core/src/indexer/dynamic-ds.service.ts:45:5) at Object. (packages/node-core/src/indexer/dynamic-ds.service.spec.ts:84:5) ``` --- ``` ● IPFSClient Lite β€Ί should upload files and yield results Failed to upload files to IPFS 116 | return jsonLines.map((line) => JSON.parse(line)).map(mapResponse); 117 | } catch (error) { > 118 | throw new Error(`Failed to upload files to IPFS`, {cause: error}); | ^ 119 | } 120 | } 121 | at IPFSHTTPClientLite.addAll (packages/common/src/project/IpfsHttpClientLite/IPFSHTTPClientLite.ts:118:13) at Object. (packages/common/src/project/IpfsHttpClientLite/IpfsHttpClientLite.spec.ts:25:21) Cause: AxiosError: Request failed with status code 403 at settle (node_modules/axios/lib/core/settle.js:17:12) at IncomingMessage.handleStreamEnd (node_modules/axios/lib/adapters/http.js:382:11) ● IPFSClient Lite β€Ί should add a file to IPFS and return AddResult Failed to upload files to IPFS 116 | return jsonLines.map((line) => JSON.parse(line)).map(mapResponse); 117 | } catch (error) { > 118 | throw new Error(`Failed to upload files to IPFS`, {cause: error}); | ^ 119 | } 120 | } 121 | at IPFSHTTPClientLite.addAll (packages/common/src/project/IpfsHttpClientLite/IPFSHTTPClientLite.ts:118:13) at IPFSHTTPClientLite.add (packages/common/src/project/IpfsHttpClientLite/IPFSHTTPClientLite.ts:52:21) at Object. (packages/common/src/project/IpfsHttpClientLite/IpfsHttpClientLite.spec.ts:55:23) Cause: AxiosError: Request failed with status code 403 at settle (node_modules/axios/lib/core/settle.js:17:12) at IncomingMessage.handleStreamEnd (node_modules/axios/lib/adapters/http.js:382:11) ● IPFSClient Lite β€Ί should pin a content with given CID to a remote pinning service Failed to pin CID QmQKeYj2UZJoTN5yXSvzJy4A3CjUuSmEWAKeZV4herh5bS to remote service 74 | return response.data; 75 | } catch (e) { > 76 | throw new Error(`Failed to pin CID ${cid} to remote service`, {cause: e}); | ^ 77 | } 78 | } 79 | at IPFSHTTPClientLite.pinRemoteAdd (packages/common/src/project/IpfsHttpClientLite/IPFSHTTPClientLite.ts:76:13) at Object. (packages/common/src/project/IpfsHttpClientLite/IpfsHttpClientLite.spec.ts:64:20) Cause: AxiosError: Request failed with status code 403 at settle (node_modules/axios/lib/core/settle.js:17:12) at IncomingMessage.handleStreamEnd (node_modules/axios/lib/adapters/http.js:382:11) ``` --- ``` ● ApiPromiseConnection β€Ί should not make duplicate requests for state_getRuntimeVersion on wsProvider expect(jest.fn()).toHaveBeenCalledTimes(expected) Expected number of calls: 1 Received number of calls: 2 37 | ]); 38 | > 39 | expect(wsProvider.send).toHaveBeenCalledTimes(1); | ^ 40 | }); 41 | 42 | it('should not make duplicate requests for chain_getHeader on wsProvider', async () => { at Object. (packages/node/src/indexer/x-provider/x-provider.spec.ts:39:29) ● ApiPromiseConnection β€Ί should not make duplicate requests for chain_getHeader on wsProvider expect(jest.fn()).toHaveBeenCalledTimes(expected) Expected number of calls: 1 Received number of calls: 2 45 | wsProvider.send('chain_getHeader', [TEST_BLOCKHASH]), 46 | ]); > 47 | expect(wsProvider.send).toHaveBeenCalledTimes(1); | ^ 48 | }); 49 | 50 | it('should not make duplicate requests for state_getRuntimeVersion on httpProvider', async () => { at Object. (packages/node/src/indexer/x-provider/x-provider.spec.ts:47:29) ● ApiPromiseConnection β€Ί should not make duplicate requests for state_getRuntimeVersion on httpProvider expect(jest.fn()).toHaveBeenCalledTimes(expected) Expected number of calls: 1 Received number of calls: 2 53 | httpProvider.send('state_getRuntimeVersion', [TEST_BLOCKHASH]), 54 | ]); > 55 | expect(httpProvider.send).toHaveBeenCalledTimes(1); | ^ 56 | }); 57 | 58 | it('should not make duplicate requests for chain_getHeader on httpProvider', async () => { at Object. (packages/node/src/indexer/x-provider/x-provider.spec.ts:55:31) ● ApiPromiseConnection β€Ί should not make duplicate requests for chain_getHeader on httpProvider expect(jest.fn()).toHaveBeenCalledTimes(expected) Expected number of calls: 1 Received number of calls: 2 61 | httpProvider.send('chain_getHeader', [TEST_BLOCKHASH]), 62 | ]); > 63 | expect(httpProvider.send).toHaveBeenCalledTimes(1); | ^ 64 | }); 65 | 66 | it('should not cache requests if there are no args', async () => { at Object. (packages/node/src/indexer/x-provider/x-provider.spec.ts:63:31) ``` --- ``` ● Intergration test - Publish β€Ί overwrites any exisiting CID files [tsl] ERROR in /tmp/LC3MeR/mocked_starter/src/mappings/mappingHandlers.ts(45,5) TS2322: Type 'Date | undefined' is not assignable to type 'Date'. Type 'undefined' is not assignable to type 'Date'. 70 | ); 71 | } > 72 | | ^ 73 | for (const i in buildEntries) { 74 | if (typeof buildEntries[i] !== 'string') { 75 | this.warn(`Ignoring entry ${i} from build.`); at Object.error (node_modules/@oclif/core/lib/errors/index.js:27:15) at Build.error (node_modules/@oclif/core/lib/command.js:139:23) at Build.run (packages/cli/src/commands/build/index.ts:72:18) at async Build._run (node_modules/@oclif/core/lib/command.js:117:22) at async createTestProject (packages/cli/src/createProject.fixtures.ts:76:5) at async Object. (packages/cli/src/commands/publish.test.ts:17:22) ● Intergration test - Publish β€Ί create ipfsCID file stored in local with dictiory path [tsl] ERROR in /tmp/LC3MeR/mocked_starter/src/mappings/mappingHandlers.ts(45,5) TS2322: Type 'Date | undefined' is not assignable to type 'Date'. Type 'undefined' is not assignable to type 'Date'. 70 | ); 71 | } > 72 | | ^ 73 | for (const i in buildEntries) { 74 | if (typeof buildEntries[i] !== 'string') { 75 | this.warn(`Ignoring entry ${i} from build.`); at Object.error (node_modules/@oclif/core/lib/errors/index.js:27:15) at Build.error (node_modules/@oclif/core/lib/command.js:139:23) at Build.run (packages/cli/src/commands/build/index.ts:72:18) at async Build._run (node_modules/@oclif/core/lib/command.js:117:22) at async createTestProject (packages/cli/src/createProject.fixtures.ts:76:5) at async Object. (packages/cli/src/commands/publish.test.ts:17:22) ● Intergration test - Publish β€Ί file name consistent with manfiest file name, if -f is used [tsl] ERROR in /tmp/LC3MeR/mocked_starter/src/mappings/mappingHandlers.ts(45,5) TS2322: Type 'Date | undefined' is not assignable to type 'Date'. Type 'undefined' is not assignable to type 'Date'. 70 | ); 71 | } > 72 | | ^ 73 | for (const i in buildEntries) { 74 | if (typeof buildEntries[i] !== 'string') { 75 | this.warn(`Ignoring entry ${i} from build.`); at Object.error (node_modules/@oclif/core/lib/errors/index.js:27:15) at Build.error (node_modules/@oclif/core/lib/command.js:139:23) at Build.run (packages/cli/src/commands/build/index.ts:72:18) at async Build._run (node_modules/@oclif/core/lib/command.js:117:22) at async createTestProject (packages/cli/src/createProject.fixtures.ts:76:5) at async Object. (packages/cli/src/commands/publish.test.ts:17:22) ``` --- ``` ● Cli publish β€Ί should upload appropriate project to IPFS [tsl] ERROR in /tmp/yJ9lKU/mocked_starter/src/mappings/mappingHandlers.ts(45,5) TS2322: Type 'Date | undefined' is not assignable to type 'Date'. Type 'undefined' is not assignable to type 'Date'. 70 | ); 71 | } > 72 | | ^ 73 | for (const i in buildEntries) { 74 | if (typeof buildEntries[i] !== 'string') { 75 | this.warn(`Ignoring entry ${i} from build.`); at Object.error (node_modules/@oclif/core/lib/errors/index.js:27:15) at Build.error (node_modules/@oclif/core/lib/command.js:139:23) at Build.run (packages/cli/src/commands/build/index.ts:72:18) at async Build._run (node_modules/@oclif/core/lib/command.js:117:22) at async createTestProject (packages/cli/src/createProject.fixtures.ts:76:5) at async Promise.all (index 0) at async Object. (packages/cli/src/controller/publish-controller.spec.ts:18:21) ● Cli publish β€Ί convert to deployment and removed descriptive field [tsl] ERROR in /tmp/yJ9lKU/mocked_starter/src/mappings/mappingHandlers.ts(45,5) TS2322: Type 'Date | undefined' is not assignable to type 'Date'. Type 'undefined' is not assignable to type 'Date'. 70 | ); 71 | } > 72 | | ^ 73 | for (const i in buildEntries) { 74 | if (typeof buildEntries[i] !== 'string') { 75 | this.warn(`Ignoring entry ${i} from build.`); at Object.error (node_modules/@oclif/core/lib/errors/index.js:27:15) at Build.error (node_modules/@oclif/core/lib/command.js:139:23) at Build.run (packages/cli/src/commands/build/index.ts:72:18) at async Build._run (node_modules/@oclif/core/lib/command.js:117:22) at async createTestProject (packages/cli/src/createProject.fixtures.ts:76:5) at async Promise.all (index 0) at async Object. (packages/cli/src/controller/publish-controller.spec.ts:18:21) ● Cli publish β€Ί convert js object to JSON object [tsl] ERROR in /tmp/yJ9lKU/mocked_starter/src/mappings/mappingHandlers.ts(45,5) TS2322: Type 'Date | undefined' is not assignable to type 'Date'. Type 'undefined' is not assignable to type 'Date'. 70 | ); 71 | } > 72 | | ^ 73 | for (const i in buildEntries) { 74 | if (typeof buildEntries[i] !== 'string') { 75 | this.warn(`Ignoring entry ${i} from build.`); at Object.error (node_modules/@oclif/core/lib/errors/index.js:27:15) at Build.error (node_modules/@oclif/core/lib/command.js:139:23) at Build.run (packages/cli/src/commands/build/index.ts:72:18) at async Build._run (node_modules/@oclif/core/lib/command.js:117:22) at async createTestProject (packages/cli/src/createProject.fixtures.ts:76:5) at async Promise.all (index 0) at async Object. (packages/cli/src/controller/publish-controller.spec.ts:18:21) ● Cli publish β€Ί Get directory CID from multi-chain project [tsl] ERROR in /tmp/yJ9lKU/mocked_starter/src/mappings/mappingHandlers.ts(45,5) TS2322: Type 'Date | undefined' is not assignable to type 'Date'. Type 'undefined' is not assignable to type 'Date'. 70 | ); 71 | } > 72 | | ^ 73 | for (const i in buildEntries) { 74 | if (typeof buildEntries[i] !== 'string') { 75 | this.warn(`Ignoring entry ${i} from build.`); at Object.error (node_modules/@oclif/core/lib/errors/index.js:27:15) at Build.error (node_modules/@oclif/core/lib/command.js:139:23) at Build.run (packages/cli/src/commands/build/index.ts:72:18) at async Build._run (node_modules/@oclif/core/lib/command.js:117:22) at async createTestProject (packages/cli/src/createProject.fixtures.ts:76:5) at async Promise.all (index 0) at async Object. (packages/cli/src/controller/publish-controller.spec.ts:18:21) ``` --- ``` ● Load chain type hasher β€Ί should use new hasher function, types hasher string should be replaced with function thrown: "Exceeded timeout of 90000 ms for a test. Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout." 508 | }; 509 | > 510 | it('should use new hasher function, types hasher string should be replaced with function', async () => { | ^ 511 | const apiService = await prepareApiService(); 512 | const api = apiService.api; 513 | expect(typeof (api as any)._options.typesBundle.spec.gargantua.hasher).toBe( at packages/node/src/indexer/api.service.test.ts:510:3 at Object. (packages/node/src/indexer/api.service.test.ts:446:1) ```

Report generated by πŸ§ͺjest coverage report action from 8a7c91be5aa75fdbc45ec89d8b1aa3eb2d2b735f