@subql/node-ethereum 5.4.1-1 → 5.4.1-3

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 (70) hide show
  1. package/CHANGELOG.md +3 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/blockchain.service.d.ts +30 -0
  4. package/dist/blockchain.service.js +112 -0
  5. package/dist/blockchain.service.js.map +1 -0
  6. package/dist/{indexer/project.service.test.js → blockchain.service.test.js} +7 -7
  7. package/dist/blockchain.service.test.js.map +1 -0
  8. package/dist/ethereum/api.service.ethereum.d.ts +2 -2
  9. package/dist/ethereum/api.service.ethereum.js +11 -8
  10. package/dist/ethereum/api.service.ethereum.js.map +1 -1
  11. package/dist/ethereum/api.service.ethereum.test.js +10 -2
  12. package/dist/ethereum/api.service.ethereum.test.js.map +1 -1
  13. package/dist/ethereum/ethers/celo/celo-provider.d.ts +18 -18
  14. package/dist/ethereum/ethers/json-rpc-batch-provider.d.ts +1 -1
  15. package/dist/ethereum/ethers/json-rpc-batch-provider.js.map +1 -1
  16. package/dist/ethereum/ethers/op/op-provider.d.ts +20 -20
  17. package/dist/ethereum/ethers/web/index.js.map +1 -1
  18. package/dist/indexer/dictionary/ethDictionary.service.js +1 -1
  19. package/dist/indexer/dictionary/ethDictionary.service.js.map +1 -1
  20. package/dist/indexer/fetch.module.js +30 -24
  21. package/dist/indexer/fetch.module.js.map +1 -1
  22. package/dist/indexer/indexer.manager.d.ts +3 -5
  23. package/dist/indexer/indexer.manager.js +14 -12
  24. package/dist/indexer/indexer.manager.js.map +1 -1
  25. package/dist/indexer/unfinalizedBlocks.service.d.ts +3 -6
  26. package/dist/indexer/unfinalizedBlocks.service.js +10 -41
  27. package/dist/indexer/unfinalizedBlocks.service.js.map +1 -1
  28. package/dist/indexer/unfinalizedBlocks.service.spec.js +11 -9
  29. package/dist/indexer/unfinalizedBlocks.service.spec.js.map +1 -1
  30. package/dist/indexer/worker/worker-fetch.module.js +7 -18
  31. package/dist/indexer/worker/worker-fetch.module.js.map +1 -1
  32. package/dist/indexer/worker/worker.js.map +1 -1
  33. package/dist/indexer/worker/worker.service.js +1 -0
  34. package/dist/indexer/worker/worker.service.js.map +1 -1
  35. package/dist/init.js +1 -2
  36. package/dist/init.js.map +1 -1
  37. package/dist/subcommands/reindex.module.js +10 -11
  38. package/dist/subcommands/reindex.module.js.map +1 -1
  39. package/dist/subcommands/testing.module.js +14 -31
  40. package/dist/subcommands/testing.module.js.map +1 -1
  41. package/dist/subcommands/testing.service.d.ts +1 -3
  42. package/dist/subcommands/testing.service.js +0 -3
  43. package/dist/subcommands/testing.service.js.map +1 -1
  44. package/package.json +12 -12
  45. package/dist/indexer/blockDispatcher/block-dispatcher.service.d.ts +0 -15
  46. package/dist/indexer/blockDispatcher/block-dispatcher.service.js +0 -51
  47. package/dist/indexer/blockDispatcher/block-dispatcher.service.js.map +0 -1
  48. package/dist/indexer/blockDispatcher/ethereum-block-dispatcher.d.ts +0 -5
  49. package/dist/indexer/blockDispatcher/ethereum-block-dispatcher.js +0 -5
  50. package/dist/indexer/blockDispatcher/ethereum-block-dispatcher.js.map +0 -1
  51. package/dist/indexer/blockDispatcher/index.d.ts +0 -4
  52. package/dist/indexer/blockDispatcher/index.js +0 -10
  53. package/dist/indexer/blockDispatcher/index.js.map +0 -1
  54. package/dist/indexer/blockDispatcher/worker-block-dispatcher.service.d.ts +0 -17
  55. package/dist/indexer/blockDispatcher/worker-block-dispatcher.service.js +0 -48
  56. package/dist/indexer/blockDispatcher/worker-block-dispatcher.service.js.map +0 -1
  57. package/dist/indexer/ds-processor.service.d.ts +0 -5
  58. package/dist/indexer/ds-processor.service.js +0 -22
  59. package/dist/indexer/ds-processor.service.js.map +0 -1
  60. package/dist/indexer/dynamic-ds.service.d.ts +0 -8
  61. package/dist/indexer/dynamic-ds.service.js +0 -69
  62. package/dist/indexer/dynamic-ds.service.js.map +0 -1
  63. package/dist/indexer/fetch.service.d.ts +0 -20
  64. package/dist/indexer/fetch.service.js +0 -74
  65. package/dist/indexer/fetch.service.js.map +0 -1
  66. package/dist/indexer/project.service.d.ts +0 -16
  67. package/dist/indexer/project.service.js +0 -77
  68. package/dist/indexer/project.service.js.map +0 -1
  69. package/dist/indexer/project.service.test.js.map +0 -1
  70. /package/dist/{indexer/project.service.test.d.ts → blockchain.service.test.d.ts} +0 -0
@@ -1,77 +0,0 @@
1
- "use strict";
2
- // Copyright 2020-2025 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.ProjectService = void 0;
18
- const worker_threads_1 = require("worker_threads");
19
- const common_1 = require("@nestjs/common");
20
- const event_emitter_1 = require("@nestjs/event-emitter");
21
- const node_core_1 = require("@subql/node-core");
22
- const x_sequelize_1 = require("@subql/x-sequelize");
23
- const ethereum_1 = require("../ethereum");
24
- const ds_processor_service_1 = require("./ds-processor.service");
25
- const dynamic_ds_service_1 = require("./dynamic-ds.service");
26
- const unfinalizedBlocks_service_1 = require("./unfinalizedBlocks.service");
27
- // eslint-disable-next-line @typescript-eslint/no-var-requires
28
- const { version: packageVersion } = require('../../package.json');
29
- let ProjectService = class ProjectService extends node_core_1.BaseProjectService {
30
- packageVersion = packageVersion;
31
- constructor(dsProcessorService, apiService, poiService, poiSyncService, sequelize, project, projectUpgradeService, storeService, nodeConfig, dynamicDsService, eventEmitter, unfinalizedBlockService) {
32
- super(dsProcessorService, apiService, poiService, poiSyncService, sequelize, project, projectUpgradeService, storeService, nodeConfig, dynamicDsService, eventEmitter, unfinalizedBlockService);
33
- }
34
- // eslint-disable-next-line @typescript-eslint/require-await
35
- async init(startHeight) {
36
- return super.init(startHeight);
37
- }
38
- async getBlockTimestamp(height) {
39
- const block = await this.apiService.unsafeApi.api.getBlock(height);
40
- return new Date(block.timestamp * 1000); // TODO test and make sure its in MS not S
41
- }
42
- onProjectChange(project) {
43
- // TODO update this when implementing skipBlock feature for Eth
44
- this.apiService.updateBlockFetching();
45
- }
46
- // eslint-disable-next-line @typescript-eslint/require-await
47
- async initUnfinalized() {
48
- return this.unfinalizedBlockService.init(this.reindex.bind(this), this.apiService.api.supportsFinalization);
49
- }
50
- };
51
- exports.ProjectService = ProjectService;
52
- __decorate([
53
- (0, node_core_1.profiler)(),
54
- __metadata("design:type", Function),
55
- __metadata("design:paramtypes", [Number]),
56
- __metadata("design:returntype", Promise)
57
- ], ProjectService.prototype, "init", null);
58
- exports.ProjectService = ProjectService = __decorate([
59
- (0, common_1.Injectable)(),
60
- __param(1, (0, common_1.Inject)(node_core_1.ApiService)),
61
- __param(2, (0, common_1.Inject)(worker_threads_1.isMainThread ? node_core_1.PoiService : 'Null')),
62
- __param(3, (0, common_1.Inject)(worker_threads_1.isMainThread ? node_core_1.PoiSyncService : 'Null')),
63
- __param(4, (0, common_1.Inject)(worker_threads_1.isMainThread ? x_sequelize_1.Sequelize : 'Null')),
64
- __param(5, (0, common_1.Inject)('ISubqueryProject')),
65
- __param(6, (0, common_1.Inject)('IProjectUpgradeService')),
66
- __param(7, (0, common_1.Inject)(worker_threads_1.isMainThread ? node_core_1.StoreService : 'Null')),
67
- __metadata("design:paramtypes", [ds_processor_service_1.DsProcessorService,
68
- ethereum_1.EthereumApiService,
69
- node_core_1.PoiService,
70
- node_core_1.PoiSyncService,
71
- x_sequelize_1.Sequelize, Object, Object, node_core_1.StoreService,
72
- node_core_1.NodeConfig,
73
- dynamic_ds_service_1.DynamicDsService,
74
- event_emitter_1.EventEmitter2,
75
- unfinalizedBlocks_service_1.UnfinalizedBlocksService])
76
- ], ProjectService);
77
- //# sourceMappingURL=project.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project.service.js","sourceRoot":"","sources":["../../src/indexer/project.service.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;AAEnC,mDAA8C;AAC9C,2CAAoD;AACpD,yDAAsD;AACtD,gDAU0B;AAC1B,oDAA+C;AAK/C,0CAAiD;AACjD,iEAA4D;AAC5D,6DAAwD;AACxD,2EAAuE;AAEvE,8DAA8D;AAC9D,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAG3D,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,8BAInC;IACW,cAAc,GAAG,cAAc,CAAC;IAE1C,YACE,kBAAsC,EAClB,UAA8B,EACN,UAAsB,EAElE,cAA8B,EACa,SAAoB,EACnC,OAAwB,EAEpD,qBAA8D,EAChB,YAA0B,EACxE,UAAsB,EACtB,gBAAkC,EAClC,YAA2B,EAC3B,uBAAiD;QAEjD,KAAK,CACH,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACT,OAAO,EACP,qBAAqB,EACrB,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,uBAAuB,CACxB,CAAC;IACJ,CAAC;IAED,4DAA4D;IAEtD,AAAN,KAAK,CAAC,IAAI,CAAC,WAAoB;QAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,MAAc;QAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEnE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,0CAA0C;IACrF,CAAC;IAES,eAAe,CAAC,OAAwB;QAChD,+DAA+D;QAC/D,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC;IACxC,CAAC;IAED,4DAA4D;IAClD,KAAK,CAAC,eAAe;QAC7B,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,CACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,CACzC,CAAC;IACJ,CAAC;CACF,CAAA;AA/DY,wCAAc;AAyCnB;IADL,IAAA,oBAAQ,GAAE;;;;0CAGV;yBA3CU,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAUR,WAAA,IAAA,eAAM,EAAC,sBAAU,CAAC,CAAA;IAClB,WAAA,IAAA,eAAM,EAAC,6BAAY,CAAC,CAAC,CAAC,sBAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAC1C,WAAA,IAAA,eAAM,EAAC,6BAAY,CAAC,CAAC,CAAC,0BAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAE9C,WAAA,IAAA,eAAM,EAAC,6BAAY,CAAC,CAAC,CAAC,uBAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IACzC,WAAA,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAA;IAC1B,WAAA,IAAA,eAAM,EAAC,wBAAwB,CAAC,CAAA;IAEhC,WAAA,IAAA,eAAM,EAAC,6BAAY,CAAC,CAAC,CAAC,wBAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;qCATzB,yCAAkB;QACN,6BAAkB;QACM,sBAAU;QAElD,0BAAc;QACwB,uBAAS,kBAIH,wBAAY;QAC5D,sBAAU;QACJ,qCAAgB;QACpB,6BAAa;QACF,oDAAwB;GArBxC,cAAc,CA+D1B","sourcesContent":["// Copyright 2020-2025 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 { EventEmitter2 } from '@nestjs/event-emitter';\nimport {\n PoiService,\n PoiSyncService,\n BaseProjectService,\n StoreService,\n NodeConfig,\n IProjectUpgradeService,\n ApiService,\n profiler,\n Header,\n} from '@subql/node-core';\nimport { Sequelize } from '@subql/x-sequelize';\nimport {\n EthereumProjectDs,\n SubqueryProject,\n} from '../configure/SubqueryProject';\nimport { EthereumApiService } from '../ethereum';\nimport { DsProcessorService } from './ds-processor.service';\nimport { DynamicDsService } from './dynamic-ds.service';\nimport { UnfinalizedBlocksService } from './unfinalizedBlocks.service';\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst { version: packageVersion } = require('../../package.json');\n\n@Injectable()\nexport class ProjectService extends BaseProjectService<\n EthereumApiService,\n EthereumProjectDs,\n UnfinalizedBlocksService\n> {\n protected packageVersion = packageVersion;\n\n constructor(\n dsProcessorService: DsProcessorService,\n @Inject(ApiService) apiService: EthereumApiService,\n @Inject(isMainThread ? PoiService : 'Null') poiService: PoiService,\n @Inject(isMainThread ? PoiSyncService : 'Null')\n poiSyncService: PoiSyncService,\n @Inject(isMainThread ? Sequelize : 'Null') sequelize: Sequelize,\n @Inject('ISubqueryProject') project: SubqueryProject,\n @Inject('IProjectUpgradeService')\n projectUpgradeService: IProjectUpgradeService<SubqueryProject>,\n @Inject(isMainThread ? StoreService : 'Null') storeService: StoreService,\n nodeConfig: NodeConfig,\n dynamicDsService: DynamicDsService,\n eventEmitter: EventEmitter2,\n unfinalizedBlockService: UnfinalizedBlocksService,\n ) {\n super(\n dsProcessorService,\n apiService,\n poiService,\n poiSyncService,\n sequelize,\n project,\n projectUpgradeService,\n storeService,\n nodeConfig,\n dynamicDsService,\n eventEmitter,\n unfinalizedBlockService,\n );\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n @profiler()\n async init(startHeight?: number): Promise<void> {\n return super.init(startHeight);\n }\n\n protected async getBlockTimestamp(height: number): Promise<Date> {\n const block = await this.apiService.unsafeApi.api.getBlock(height);\n\n return new Date(block.timestamp * 1000); // TODO test and make sure its in MS not S\n }\n\n protected onProjectChange(project: SubqueryProject): void | Promise<void> {\n // TODO update this when implementing skipBlock feature for Eth\n this.apiService.updateBlockFetching();\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n protected async initUnfinalized(): Promise<Header | undefined> {\n return this.unfinalizedBlockService.init(\n this.reindex.bind(this),\n this.apiService.api.supportsFinalization,\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"project.service.test.js","sourceRoot":"","sources":["../../src/indexer/project.service.test.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;AAEnC,yDAAsD;AACtD,0CAA8D;AAC9D,uDAAmD;AAEnD,MAAM,aAAa,GAAG,8CAA8C,CAAC;AAErE,MAAM,cAAc,GAAG,GAAuB,EAAE;IAC9C,MAAM,MAAM,GAAG,IAAI,sBAAW,CAAC,aAAa,EAAE,EAAE,EAAE,IAAI,6BAAa,EAAE,CAAC,CAAC;IAEvE,uBAAuB;IAEvB,OAAO;QACL,SAAS,EAAE,MAAM;KACX,CAAC;AACX,CAAC,CAAC;AAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,cAA8B,CAAC;IAEnC,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;QAEpC,cAAc,GAAG,IAAI,gCAAc,CACjC,IAAW,EACX,UAAU,EACV,IAAW,EACX,IAAW,EACX,IAAW,EACX,IAAW,EACX,IAAW,EACX,IAAW,EACX,EAAS,EACT,IAAW,EACX,IAAW,EACX,IAAW,CACZ,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,SAAS,GAAG,MAAO,cAAsB,CAAC,iBAAiB,CAC/D,SAAS,CACV,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["// Copyright 2020-2025 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { EventEmitter2 } from '@nestjs/event-emitter';\nimport { EthereumApi, EthereumApiService } from '../ethereum';\nimport { ProjectService } from './project.service';\n\nconst HTTP_ENDPOINT = 'https://ethereum.rpc.subquery.network/public';\n\nconst mockApiService = (): EthereumApiService => {\n const ethApi = new EthereumApi(HTTP_ENDPOINT, 20, new EventEmitter2());\n\n // await ethApi.init();\n\n return {\n unsafeApi: ethApi,\n } as any;\n};\n\ndescribe('ProjectService', () => {\n let projectService: ProjectService;\n\n beforeEach(() => {\n const apiService = mockApiService();\n\n projectService = new ProjectService(\n null as any,\n apiService,\n null as any,\n null as any,\n null as any,\n null as any,\n null as any,\n null as any,\n {} as any,\n null as any,\n null as any,\n null as any,\n );\n });\n\n it('can get a block timestamps', async () => {\n const timestamp = await (projectService as any).getBlockTimestamp(\n 4_000_000,\n );\n\n expect(timestamp).toEqual(new Date('2017-07-09T20:52:47.000Z'));\n });\n});\n"]}