@subql/node-ethereum 4.1.1 → 4.1.2-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/indexer/blockDispatcher/block-dispatcher.service.d.ts +2 -3
  4. package/dist/indexer/blockDispatcher/block-dispatcher.service.js +5 -8
  5. package/dist/indexer/blockDispatcher/block-dispatcher.service.js.map +1 -1
  6. package/dist/indexer/blockDispatcher/ethereum-block-dispatcher.js.map +1 -1
  7. package/dist/indexer/blockDispatcher/worker-block-dispatcher.service.d.ts +2 -2
  8. package/dist/indexer/blockDispatcher/worker-block-dispatcher.service.js +4 -5
  9. package/dist/indexer/blockDispatcher/worker-block-dispatcher.service.js.map +1 -1
  10. package/dist/indexer/dictionary/ethDictionary.service.js +2 -1
  11. package/dist/indexer/dictionary/ethDictionary.service.js.map +1 -1
  12. package/dist/indexer/dictionary/v1/ethDictionaryV1.js +1 -1
  13. package/dist/indexer/dictionary/v1/ethDictionaryV1.js.map +1 -1
  14. package/dist/indexer/dictionary/v2/ethDictionaryV2.js +15 -9
  15. package/dist/indexer/dictionary/v2/ethDictionaryV2.js.map +1 -1
  16. package/dist/indexer/dictionary/v2/ethDictionaryV2.spec.js +33 -0
  17. package/dist/indexer/dictionary/v2/ethDictionaryV2.spec.js.map +1 -1
  18. package/dist/indexer/ds-processor.service.d.ts +2 -6
  19. package/dist/indexer/ds-processor.service.js +1 -22
  20. package/dist/indexer/ds-processor.service.js.map +1 -1
  21. package/dist/indexer/fetch.module.js +4 -20
  22. package/dist/indexer/fetch.module.js.map +1 -1
  23. package/dist/indexer/fetch.service.d.ts +0 -1
  24. package/dist/indexer/fetch.service.js +0 -3
  25. package/dist/indexer/fetch.service.js.map +1 -1
  26. package/dist/indexer/indexer.manager.d.ts +4 -11
  27. package/dist/indexer/indexer.manager.js +1 -3
  28. package/dist/indexer/indexer.manager.js.map +1 -1
  29. package/dist/indexer/project.service.d.ts +0 -1
  30. package/dist/indexer/project.service.js +0 -1
  31. package/dist/indexer/project.service.js.map +1 -1
  32. package/dist/indexer/{worker-fetch.module.js → worker/worker-fetch.module.js} +8 -9
  33. package/dist/indexer/worker/worker-fetch.module.js.map +1 -0
  34. package/dist/indexer/worker/worker.module.js +1 -1
  35. package/dist/indexer/worker/worker.module.js.map +1 -1
  36. package/dist/subcommands/forceClean.init.d.ts +1 -1
  37. package/dist/subcommands/forceClean.init.js +1 -15
  38. package/dist/subcommands/forceClean.init.js.map +1 -1
  39. package/dist/subcommands/reindex.init.d.ts +1 -1
  40. package/dist/subcommands/reindex.init.js +1 -20
  41. package/dist/subcommands/reindex.init.js.map +1 -1
  42. package/dist/subcommands/testing.module.js +1 -2
  43. package/dist/subcommands/testing.module.js.map +1 -1
  44. package/dist/utils/project.js.map +1 -1
  45. package/package.json +8 -7
  46. package/dist/indexer/sandbox.service.d.ts +0 -14
  47. package/dist/indexer/sandbox.service.js +0 -69
  48. package/dist/indexer/sandbox.service.js.map +0 -1
  49. package/dist/indexer/worker-fetch.module.js.map +0 -1
  50. /package/dist/indexer/{worker-fetch.module.d.ts → worker/worker-fetch.module.d.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@subql/node-ethereum",
3
- "version": "4.1.1",
3
+ "version": "4.1.2-1",
4
4
  "description": "",
5
5
  "author": "Ian He",
6
6
  "license": "GPL-3.0",
@@ -25,11 +25,11 @@
25
25
  "@nestjs/event-emitter": "^2.0.0",
26
26
  "@nestjs/platform-express": "^9.4.0",
27
27
  "@nestjs/schedule": "^3.0.1",
28
- "@subql/common": "^3.5.0",
29
- "@subql/common-ethereum": "3.5.0",
30
- "@subql/node-core": "^9.0.0",
31
- "@subql/testing": "^2.1.1-0",
32
- "@subql/types-ethereum": "3.5.0",
28
+ "@subql/common": "^3.5.1",
29
+ "@subql/common-ethereum": "3.5.1-0",
30
+ "@subql/node-core": "^10.0.0",
31
+ "@subql/testing": "^2.1.1",
32
+ "@subql/types-ethereum": "3.5.1-0",
33
33
  "cacheable-lookup": "6",
34
34
  "cron-converter": "^1.0.2",
35
35
  "ethers": "^5.7.0",
@@ -65,5 +65,6 @@
65
65
  "files": [
66
66
  "/dist",
67
67
  "/bin"
68
- ]
68
+ ],
69
+ "stableVersion": "4.1.2-0"
69
70
  }
@@ -1,14 +0,0 @@
1
- import { NodeConfig, StoreService, IndexerSandbox, ISubqueryProject, ApiService, InMemoryCacheService } from '@subql/node-core';
2
- import { BaseDataSource } from '@subql/types-core';
3
- import SafeEthProvider from '../ethereum/safe-api';
4
- export declare class SandboxService {
5
- private readonly apiService;
6
- private readonly storeService;
7
- private readonly cacheService;
8
- private readonly nodeConfig;
9
- private readonly project;
10
- private processorCache;
11
- constructor(apiService: ApiService, storeService: StoreService, cacheService: InMemoryCacheService, nodeConfig: NodeConfig, project: ISubqueryProject);
12
- getDsProcessor(ds: BaseDataSource, api: SafeEthProvider): IndexerSandbox;
13
- private getDataSourceEntry;
14
- }
@@ -1,69 +0,0 @@
1
- "use strict";
2
- // Copyright 2020-2024 SubQuery Pte Ltd authors & contributors
3
- // SPDX-License-Identifier: GPL-3.0
4
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
7
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
8
- return c > 3 && r && Object.defineProperty(target, key, r), r;
9
- };
10
- var __metadata = (this && this.__metadata) || function (k, v) {
11
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
12
- };
13
- var __param = (this && this.__param) || function (paramIndex, decorator) {
14
- return function (target, key) { decorator(target, key, paramIndex); }
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.SandboxService = void 0;
18
- const worker_threads_1 = require("worker_threads");
19
- const common_1 = require("@nestjs/common");
20
- const node_core_1 = require("@subql/node-core");
21
- /* It would be nice to move this to node core but need to find a way to inject other things into the sandbox */
22
- let SandboxService = class SandboxService {
23
- constructor(apiService, storeService, cacheService, nodeConfig, project) {
24
- this.apiService = apiService;
25
- this.storeService = storeService;
26
- this.cacheService = cacheService;
27
- this.nodeConfig = nodeConfig;
28
- this.project = project;
29
- this.processorCache = {};
30
- }
31
- getDsProcessor(ds, api) {
32
- const store = worker_threads_1.isMainThread
33
- ? this.storeService.getStore()
34
- : (0, node_core_1.hostStoreToStore)(global.host); // Provided in worker.ts
35
- const cache = this.cacheService.getCache();
36
- const entry = this.getDataSourceEntry(ds);
37
- let processor = this.processorCache[entry];
38
- if (!processor) {
39
- processor = new node_core_1.IndexerSandbox({
40
- cache,
41
- store,
42
- root: this.project.root,
43
- entry,
44
- chainId: this.project.network.chainId,
45
- }, this.nodeConfig);
46
- this.processorCache[entry] = processor;
47
- }
48
- processor.freeze(api, 'api');
49
- if (this.nodeConfig.unsafe) {
50
- processor.freeze(this.apiService.api.api, 'unsafeApi');
51
- }
52
- processor.freeze(this.project.network.chainId, 'chainId');
53
- return processor;
54
- }
55
- getDataSourceEntry(ds) {
56
- return ds.mapping.file;
57
- }
58
- };
59
- SandboxService = __decorate([
60
- (0, common_1.Injectable)(),
61
- __param(1, (0, common_1.Inject)(worker_threads_1.isMainThread ? node_core_1.StoreService : 'Null')),
62
- __param(4, (0, common_1.Inject)('ISubqueryProject')),
63
- __metadata("design:paramtypes", [node_core_1.ApiService,
64
- node_core_1.StoreService,
65
- node_core_1.InMemoryCacheService,
66
- node_core_1.NodeConfig, Object])
67
- ], SandboxService);
68
- exports.SandboxService = SandboxService;
69
- //# sourceMappingURL=sandbox.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sandbox.service.js","sourceRoot":"","sources":["../../src/indexer/sandbox.service.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;AAEnC,mDAA8C;AAC9C,2CAAoD;AACpD,gDAQ0B;AAI1B,+GAA+G;AAExG,IAAM,cAAc,GAApB,MAAM,cAAc;IAGzB,YACmB,UAAsB,EAEtB,YAA0B,EAC1B,YAAkC,EAClC,UAAsB,EACM,OAAyB;QALrD,eAAU,GAAV,UAAU,CAAY;QAEtB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,iBAAY,GAAZ,YAAY,CAAsB;QAClC,eAAU,GAAV,UAAU,CAAY;QACM,YAAO,GAAP,OAAO,CAAkB;QARhE,mBAAc,GAAmC,EAAE,CAAC;IASzD,CAAC;IAEJ,cAAc,CAAC,EAAkB,EAAE,GAAoB;QACrD,MAAM,KAAK,GAAU,6BAAY;YAC/B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;YAC9B,CAAC,CAAC,IAAA,4BAAgB,EAAE,MAAc,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB;QAEpE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE;YACd,SAAS,GAAG,IAAI,0BAAc,CAC5B;gBACE,KAAK;gBACL,KAAK;gBACL,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,KAAK;gBACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO;aACtC,EACD,IAAI,CAAC,UAAU,CAChB,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;SACxC;QACD,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAC1B,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;SACxD;QACD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1D,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,kBAAkB,CAAC,EAAkB;QAC3C,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACzB,CAAC;CACF,CAAA;AA5CY,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAMR,WAAA,IAAA,eAAM,EAAC,6BAAY,CAAC,CAAC,CAAC,wBAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAI5C,WAAA,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAA;qCALE,sBAAU;QAER,wBAAY;QACZ,gCAAoB;QACtB,sBAAU;GAR9B,cAAc,CA4C1B;AA5CY,wCAAc","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { isMainThread } from 'worker_threads';\nimport { Inject, Injectable } from '@nestjs/common';\nimport {\n NodeConfig,\n StoreService,\n IndexerSandbox,\n hostStoreToStore,\n ISubqueryProject,\n ApiService,\n InMemoryCacheService,\n} from '@subql/node-core';\nimport { BaseDataSource, Store } from '@subql/types-core';\nimport SafeEthProvider from '../ethereum/safe-api';\n\n/* It would be nice to move this to node core but need to find a way to inject other things into the sandbox */\n@Injectable()\nexport class SandboxService {\n private processorCache: Record<string, IndexerSandbox> = {};\n\n constructor(\n private readonly apiService: ApiService,\n @Inject(isMainThread ? StoreService : 'Null')\n private readonly storeService: StoreService,\n private readonly cacheService: InMemoryCacheService,\n private readonly nodeConfig: NodeConfig,\n @Inject('ISubqueryProject') private readonly project: ISubqueryProject,\n ) {}\n\n getDsProcessor(ds: BaseDataSource, api: SafeEthProvider): IndexerSandbox {\n const store: Store = isMainThread\n ? this.storeService.getStore()\n : hostStoreToStore((global as any).host); // Provided in worker.ts\n\n const cache = this.cacheService.getCache();\n const entry = this.getDataSourceEntry(ds);\n let processor = this.processorCache[entry];\n if (!processor) {\n processor = new IndexerSandbox(\n {\n cache,\n store,\n root: this.project.root,\n entry,\n chainId: this.project.network.chainId,\n },\n this.nodeConfig,\n );\n this.processorCache[entry] = processor;\n }\n processor.freeze(api, 'api');\n if (this.nodeConfig.unsafe) {\n processor.freeze(this.apiService.api.api, 'unsafeApi');\n }\n processor.freeze(this.project.network.chainId, 'chainId');\n return processor;\n }\n\n private getDataSourceEntry(ds: BaseDataSource): string {\n return ds.mapping.file;\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker-fetch.module.js","sourceRoot":"","sources":["../../src/indexer/worker-fetch.module.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;AAEnC,2CAAwC;AACxC,yDAAsD;AACtD,gDAU0B;AAE1B,0CAAiD;AAEjD,iEAA4D;AAC5D,6DAAwD;AACxD,uDAAmD;AACnD,uDAAmD;AACnD,uDAAmD;AACnD,2EAAuE;AACvE,4DAAwD;AAyDjD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAAG,CAAA;AAApB,iBAAiB;IAvD7B,IAAA,eAAM,EAAC;QACN,SAAS,EAAE;YACT,gCAAc;YACd;gBACE,OAAO,EAAE,sCAA0B;gBACnC,UAAU,EAAE,GAAG,EAAE,CACf,IAAI,4CAAgC,CAAE,MAAc,CAAC,IAAI,CAAC;aAC7D;YACD,iCAAqB;YACrB;gBACE,OAAO,EAAE,sBAAU;gBACnB,UAAU,EAAE,KAAK,EACf,OAAwB,EACxB,qBAAmE,EACnE,YAA2B,EAC3B,UAAsB,EACtB,EAAE;oBACF,MAAM,UAAU,GAAG,IAAI,6BAAkB,CACvC,OAAO,EACP,qBAAqB,EACrB,YAAY,EACZ,UAAU,CACX,CAAC;oBACF,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;oBACxB,OAAO,UAAU,CAAC;gBACpB,CAAC;gBACD,MAAM,EAAE;oBACN,kBAAkB;oBAClB,iCAAqB;oBACrB,6BAAa;oBACb,sBAAU;iBACX;aACF;YACD,gCAAc;YACd,yCAAkB;YAClB;gBACE,OAAO,EAAE,qCAAgB;gBACzB,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,kCAAsB,CAAE,MAAc,CAAC,IAAI,CAAC;aACnE;YACD;gBACE,OAAO,EAAE,iBAAiB;gBAC1B,QAAQ,EAAE,gCAAc;aACzB;YACD;gBACE,OAAO,EAAE,oDAAwB;gBACjC,UAAU,EAAE,GAAG,EAAE,CACf,IAAI,0CAA8B,CAAE,MAAc,CAAC,IAAI,CAAC;aAC3D;YACD,8BAAa;YACb;gBACE,OAAO,EAAE,gCAAoB;gBAC7B,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,sCAA0B,CAAE,MAAc,CAAC,IAAI,CAAC;aACvE;SACF;KACF,CAAC;GACW,iBAAiB,CAAG;AAApB,8CAAiB","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Module } from '@nestjs/common';\nimport { EventEmitter2 } from '@nestjs/event-emitter';\nimport {\n ApiService,\n ConnectionPoolService,\n WorkerDynamicDsService,\n WorkerConnectionPoolStateManager,\n ConnectionPoolStateManager,\n NodeConfig,\n InMemoryCacheService,\n WorkerInMemoryCacheService,\n WorkerUnfinalizedBlocksService,\n} from '@subql/node-core';\nimport { SubqueryProject } from '../configure/SubqueryProject';\nimport { EthereumApiService } from '../ethereum';\nimport { EthereumApiConnection } from '../ethereum/api.connection';\nimport { DsProcessorService } from './ds-processor.service';\nimport { DynamicDsService } from './dynamic-ds.service';\nimport { IndexerManager } from './indexer.manager';\nimport { ProjectService } from './project.service';\nimport { SandboxService } from './sandbox.service';\nimport { UnfinalizedBlocksService } from './unfinalizedBlocks.service';\nimport { WorkerService } from './worker/worker.service';\n\n@Module({\n providers: [\n IndexerManager,\n {\n provide: ConnectionPoolStateManager,\n useFactory: () =>\n new WorkerConnectionPoolStateManager((global as any).host),\n },\n ConnectionPoolService,\n {\n provide: ApiService,\n useFactory: async (\n project: SubqueryProject,\n connectionPoolService: ConnectionPoolService<EthereumApiConnection>,\n eventEmitter: EventEmitter2,\n nodeConfig: NodeConfig,\n ) => {\n const apiService = new EthereumApiService(\n project,\n connectionPoolService,\n eventEmitter,\n nodeConfig,\n );\n await apiService.init();\n return apiService;\n },\n inject: [\n 'ISubqueryProject',\n ConnectionPoolService,\n EventEmitter2,\n NodeConfig,\n ],\n },\n SandboxService,\n DsProcessorService,\n {\n provide: DynamicDsService,\n useFactory: () => new WorkerDynamicDsService((global as any).host),\n },\n {\n provide: 'IProjectService',\n useClass: ProjectService,\n },\n {\n provide: UnfinalizedBlocksService,\n useFactory: () =>\n new WorkerUnfinalizedBlocksService((global as any).host),\n },\n WorkerService,\n {\n provide: InMemoryCacheService,\n useFactory: () => new WorkerInMemoryCacheService((global as any).host),\n },\n ],\n})\nexport class WorkerFetchModule {}\n"]}