@subql/node-ethereum 4.7.4-0 → 4.7.4-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.
- package/CHANGELOG.md +1 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/app.module.js +9 -4
- package/dist/app.module.js.map +1 -1
- package/dist/indexer/fetch.module.js +1 -13
- package/dist/indexer/fetch.module.js.map +1 -1
- package/dist/indexer/fetch.service.d.ts +2 -2
- package/dist/indexer/fetch.service.js +4 -3
- package/dist/indexer/fetch.service.js.map +1 -1
- package/dist/indexer/worker/worker-fetch.module.js +1 -14
- package/dist/indexer/worker/worker-fetch.module.js.map +1 -1
- package/dist/indexer/worker/worker.module.js +1 -0
- package/dist/indexer/worker/worker.module.js.map +1 -1
- package/package.json +3 -3
- package/dist/admin/admin.module.d.ts +0 -2
- package/dist/admin/admin.module.js +0 -25
- package/dist/admin/admin.module.js.map +0 -1
- package/dist/meta/meta.controller.d.ts +0 -21
- package/dist/meta/meta.controller.js +0 -37
- package/dist/meta/meta.controller.js.map +0 -1
- package/dist/meta/meta.module.d.ts +0 -2
- package/dist/meta/meta.module.js +0 -28
- package/dist/meta/meta.module.js.map +0 -1
- package/dist/meta/meta.service.d.ts +0 -24
- package/dist/meta/meta.service.js +0 -123
- package/dist/meta/meta.service.js.map +0 -1
package/dist/app.module.js
CHANGED
|
@@ -13,10 +13,12 @@ const common_1 = require("@nestjs/common");
|
|
|
13
13
|
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
14
14
|
const schedule_1 = require("@nestjs/schedule");
|
|
15
15
|
const node_core_1 = require("@subql/node-core");
|
|
16
|
-
const admin_module_1 = require("./admin/admin.module");
|
|
17
16
|
const configure_module_1 = require("./configure/configure.module");
|
|
18
17
|
const fetch_module_1 = require("./indexer/fetch.module");
|
|
19
|
-
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
19
|
+
const { version: ethersSdkVersion } = require('ethers/package.json');
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
21
|
+
const { version: packageVersion } = require('../package.json');
|
|
20
22
|
let AppModule = class AppModule {
|
|
21
23
|
};
|
|
22
24
|
AppModule = __decorate([
|
|
@@ -26,9 +28,12 @@ AppModule = __decorate([
|
|
|
26
28
|
event_emitter_1.EventEmitterModule.forRoot(),
|
|
27
29
|
configure_module_1.ConfigureModule.register(),
|
|
28
30
|
schedule_1.ScheduleModule.forRoot(),
|
|
31
|
+
node_core_1.CoreModule,
|
|
29
32
|
fetch_module_1.FetchModule,
|
|
30
|
-
|
|
31
|
-
|
|
33
|
+
node_core_1.MetaModule.forRoot({
|
|
34
|
+
version: packageVersion,
|
|
35
|
+
sdkVersion: { name: 'ethers.js', version: ethersSdkVersion },
|
|
36
|
+
}),
|
|
32
37
|
],
|
|
33
38
|
controllers: [],
|
|
34
39
|
})
|
package/dist/app.module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;AAEnC,2CAAwC;AACxC,yDAA2D;AAC3D,+CAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;AAEnC,2CAAwC;AACxC,yDAA2D;AAC3D,+CAAkD;AAClD,gDAAoE;AACpE,mEAA+D;AAC/D,yDAAqD;AAErD,8DAA8D;AAC9D,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACrE,8DAA8D;AAC9D,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAiBxD,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,SAAS;IAfrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,oBAAQ,CAAC,OAAO,EAAE;YAClB,kCAAkB,CAAC,OAAO,EAAE;YAC5B,kCAAe,CAAC,QAAQ,EAAE;YAC1B,yBAAc,CAAC,OAAO,EAAE;YACxB,sBAAU;YACV,0BAAW;YACX,sBAAU,CAAC,OAAO,CAAC;gBACjB,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE;aAC7D,CAAC;SACH;QACD,WAAW,EAAE,EAAE;KAChB,CAAC;GACW,SAAS,CAAG;AAAZ,8BAAS","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Module } from '@nestjs/common';\nimport { EventEmitterModule } from '@nestjs/event-emitter';\nimport { ScheduleModule } from '@nestjs/schedule';\nimport { DbModule, CoreModule, MetaModule } from '@subql/node-core';\nimport { ConfigureModule } from './configure/configure.module';\nimport { FetchModule } from './indexer/fetch.module';\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst { version: ethersSdkVersion } = require('ethers/package.json');\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst { version: packageVersion } = require('../package.json');\n\n@Module({\n imports: [\n DbModule.forRoot(),\n EventEmitterModule.forRoot(),\n ConfigureModule.register(),\n ScheduleModule.forRoot(),\n CoreModule,\n FetchModule,\n MetaModule.forRoot({\n version: packageVersion,\n sdkVersion: { name: 'ethers.js', version: ethersSdkVersion },\n }),\n ],\n controllers: [],\n})\nexport class AppModule {}\n"]}
|
|
@@ -25,10 +25,8 @@ let FetchModule = class FetchModule {
|
|
|
25
25
|
};
|
|
26
26
|
FetchModule = __decorate([
|
|
27
27
|
(0, common_1.Module)({
|
|
28
|
+
imports: [node_core_1.CoreModule],
|
|
28
29
|
providers: [
|
|
29
|
-
node_core_1.InMemoryCacheService,
|
|
30
|
-
node_core_1.StoreService,
|
|
31
|
-
node_core_1.StoreCacheService,
|
|
32
30
|
{
|
|
33
31
|
provide: node_core_1.ApiService,
|
|
34
32
|
useFactory: async (project, connectionPoolService, eventEmitter, nodeConfig) => {
|
|
@@ -44,8 +42,6 @@ FetchModule = __decorate([
|
|
|
44
42
|
],
|
|
45
43
|
},
|
|
46
44
|
indexer_manager_1.IndexerManager,
|
|
47
|
-
node_core_1.ConnectionPoolStateManager,
|
|
48
|
-
node_core_1.ConnectionPoolService,
|
|
49
45
|
{
|
|
50
46
|
provide: 'IBlockDispatcher',
|
|
51
47
|
useFactory: (nodeConfig, eventEmitter, projectService, projectUpgradeService, apiService, indexerManager, cacheService, storeService, storeCacheService, poiSyncService, project, dynamicDsService, unfinalizedBlocks, connectionPoolState, monitorService) => nodeConfig.workers
|
|
@@ -70,23 +66,15 @@ FetchModule = __decorate([
|
|
|
70
66
|
],
|
|
71
67
|
},
|
|
72
68
|
fetch_service_1.FetchService,
|
|
73
|
-
node_core_1.ConnectionPoolService,
|
|
74
|
-
node_core_1.IndexingBenchmarkService,
|
|
75
|
-
node_core_1.PoiBenchmarkService,
|
|
76
69
|
ethDictionary_service_1.EthDictionaryService,
|
|
77
|
-
node_core_1.SandboxService,
|
|
78
70
|
ds_processor_service_1.DsProcessorService,
|
|
79
71
|
dynamic_ds_service_1.DynamicDsService,
|
|
80
|
-
node_core_1.PoiService,
|
|
81
|
-
node_core_1.PoiSyncService,
|
|
82
72
|
{
|
|
83
73
|
useClass: project_service_1.ProjectService,
|
|
84
74
|
provide: 'IProjectService',
|
|
85
75
|
},
|
|
86
|
-
node_core_1.MonitorService,
|
|
87
76
|
unfinalizedBlocks_service_1.UnfinalizedBlocksService,
|
|
88
77
|
],
|
|
89
|
-
exports: [node_core_1.StoreService, node_core_1.StoreCacheService, node_core_1.MonitorService, node_core_1.PoiService],
|
|
90
78
|
})
|
|
91
79
|
], FetchModule);
|
|
92
80
|
exports.FetchModule = FetchModule;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.module.js","sourceRoot":"","sources":["../../src/indexer/fetch.module.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;AAEnC,2CAAwC;AACxC,yDAAsD;AACtD,
|
|
1
|
+
{"version":3,"file":"fetch.module.js","sourceRoot":"","sources":["../../src/indexer/fetch.module.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;AAEnC,2CAAwC;AACxC,yDAAsD;AACtD,gDAY0B;AAG1B,2EAAsE;AACtE,uDAG2B;AAC3B,8EAA0E;AAC1E,iEAA4D;AAC5D,6DAAwD;AACxD,mDAA+C;AAC/C,uDAAmD;AACnD,uDAAmD;AACnD,2EAAuE;AA0GhE,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,WAAW;IAxGvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,sBAAU,CAAC;QACrB,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,sBAAU;gBACnB,UAAU,EAAE,KAAK,EACf,OAAwB,EACxB,qBAAmE,EACnE,YAA2B,EAC3B,UAAsB,EACtB,EAAE;oBACF,MAAM,UAAU,GAAG,IAAI,yCAAkB,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;gBACE,OAAO,EAAE,kBAAkB;gBAC3B,UAAU,EAAE,CACV,UAAsB,EACtB,YAA2B,EAC3B,cAA8B,EAC9B,qBAA6C,EAC7C,UAA8B,EAC9B,cAA8B,EAC9B,YAAkC,EAClC,YAA0B,EAC1B,iBAAoC,EACpC,cAA8B,EAC9B,OAAwB,EACxB,gBAAkC,EAClC,iBAA2C,EAC3C,mBAAsE,EACtE,cAA+B,EAC/B,EAAE,CACF,UAAU,CAAC,OAAO;oBAChB,CAAC,CAAC,IAAI,8CAA4B,CAC9B,UAAU,EACV,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,CACf;oBACH,CAAC,CAAC,IAAI,wCAAsB,CACxB,UAAU,EACV,UAAU,EACV,cAAc,EACd,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,OAAO,CACR;gBACP,MAAM,EAAE;oBACN,sBAAU;oBACV,6BAAa;oBACb,iBAAiB;oBACjB,wBAAwB;oBACxB,sBAAU;oBACV,gCAAc;oBACd,gCAAoB;oBACpB,wBAAY;oBACZ,6BAAiB;oBACjB,0BAAc;oBACd,kBAAkB;oBAClB,qCAAgB;oBAChB,oDAAwB;oBACxB,sCAA0B;oBAC1B,0BAAc;iBACf;aACF;YACD,4BAAY;YACZ,4CAAoB;YACpB,yCAAkB;YAClB,qCAAgB;YAChB;gBACE,QAAQ,EAAE,gCAAc;gBACxB,OAAO,EAAE,iBAAiB;aAC3B;YACD,oDAAwB;SACzB;KACF,CAAC;GACW,WAAW,CAAG;AAAd,kCAAW","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 StoreService,\n ApiService,\n NodeConfig,\n ConnectionPoolService,\n ConnectionPoolStateManager,\n StoreCacheService,\n IProjectUpgradeService,\n PoiSyncService,\n InMemoryCacheService,\n MonitorService,\n CoreModule,\n} from '@subql/node-core';\nimport { SubqueryProject } from '../configure/SubqueryProject';\nimport { EthereumApiConnection } from '../ethereum/api.connection';\nimport { EthereumApiService } from '../ethereum/api.service.ethereum';\nimport {\n BlockDispatcherService,\n WorkerBlockDispatcherService,\n} from './blockDispatcher';\nimport { EthDictionaryService } from './dictionary/ethDictionary.service';\nimport { DsProcessorService } from './ds-processor.service';\nimport { DynamicDsService } from './dynamic-ds.service';\nimport { FetchService } from './fetch.service';\nimport { IndexerManager } from './indexer.manager';\nimport { ProjectService } from './project.service';\nimport { UnfinalizedBlocksService } from './unfinalizedBlocks.service';\n\n@Module({\n imports: [CoreModule],\n providers: [\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 IndexerManager,\n {\n provide: 'IBlockDispatcher',\n useFactory: (\n nodeConfig: NodeConfig,\n eventEmitter: EventEmitter2,\n projectService: ProjectService,\n projectUpgradeService: IProjectUpgradeService,\n apiService: EthereumApiService,\n indexerManager: IndexerManager,\n cacheService: InMemoryCacheService,\n storeService: StoreService,\n storeCacheService: StoreCacheService,\n poiSyncService: PoiSyncService,\n project: SubqueryProject,\n dynamicDsService: DynamicDsService,\n unfinalizedBlocks: UnfinalizedBlocksService,\n connectionPoolState: ConnectionPoolStateManager<EthereumApiConnection>,\n monitorService?: MonitorService,\n ) =>\n nodeConfig.workers\n ? new WorkerBlockDispatcherService(\n nodeConfig,\n eventEmitter,\n projectService,\n projectUpgradeService,\n cacheService,\n storeService,\n storeCacheService,\n poiSyncService,\n project,\n dynamicDsService,\n unfinalizedBlocks,\n connectionPoolState,\n monitorService,\n )\n : new BlockDispatcherService(\n apiService,\n nodeConfig,\n indexerManager,\n eventEmitter,\n projectService,\n projectUpgradeService,\n storeService,\n storeCacheService,\n poiSyncService,\n project,\n ),\n inject: [\n NodeConfig,\n EventEmitter2,\n 'IProjectService',\n 'IProjectUpgradeService',\n ApiService,\n IndexerManager,\n InMemoryCacheService,\n StoreService,\n StoreCacheService,\n PoiSyncService,\n 'ISubqueryProject',\n DynamicDsService,\n UnfinalizedBlocksService,\n ConnectionPoolStateManager,\n MonitorService,\n ],\n },\n FetchService,\n EthDictionaryService,\n DsProcessorService,\n DynamicDsService,\n {\n useClass: ProjectService,\n provide: 'IProjectService',\n },\n UnfinalizedBlocksService,\n ],\n})\nexport class FetchModule {}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EventEmitter2 } from '@nestjs/event-emitter';
|
|
2
2
|
import { SchedulerRegistry } from '@nestjs/schedule';
|
|
3
|
-
import { NodeConfig, BaseFetchService, ApiService, Header } from '@subql/node-core';
|
|
3
|
+
import { NodeConfig, BaseFetchService, ApiService, Header, StoreCacheService } from '@subql/node-core';
|
|
4
4
|
import { EthereumBlock, SubqlDatasource } from '@subql/types-ethereum';
|
|
5
5
|
import { SubqueryProject } from '../configure/SubqueryProject';
|
|
6
6
|
import { EthereumApi } from '../ethereum';
|
|
@@ -10,7 +10,7 @@ import { ProjectService } from './project.service';
|
|
|
10
10
|
import { UnfinalizedBlocksService } from './unfinalizedBlocks.service';
|
|
11
11
|
export declare class FetchService extends BaseFetchService<SubqlDatasource, IEthereumBlockDispatcher, EthereumBlock> {
|
|
12
12
|
private apiService;
|
|
13
|
-
constructor(apiService: ApiService, nodeConfig: NodeConfig, projectService: ProjectService, project: SubqueryProject, blockDispatcher: IEthereumBlockDispatcher, dictionaryService: EthDictionaryService, unfinalizedBlocksService: UnfinalizedBlocksService, eventEmitter: EventEmitter2, schedulerRegistry: SchedulerRegistry);
|
|
13
|
+
constructor(apiService: ApiService, nodeConfig: NodeConfig, projectService: ProjectService, project: SubqueryProject, blockDispatcher: IEthereumBlockDispatcher, dictionaryService: EthDictionaryService, unfinalizedBlocksService: UnfinalizedBlocksService, eventEmitter: EventEmitter2, schedulerRegistry: SchedulerRegistry, storeCacheService: StoreCacheService);
|
|
14
14
|
get api(): EthereumApi;
|
|
15
15
|
protected getFinalizedHeader(): Promise<Header>;
|
|
16
16
|
protected getBestHeight(): Promise<number>;
|
|
@@ -29,8 +29,8 @@ const BLOCK_TIME_VARIANCE = 5000;
|
|
|
29
29
|
const INTERVAL_PERCENT = 0.9;
|
|
30
30
|
let FetchService = class FetchService extends node_core_1.BaseFetchService {
|
|
31
31
|
apiService;
|
|
32
|
-
constructor(apiService, nodeConfig, projectService, project, blockDispatcher, dictionaryService, unfinalizedBlocksService, eventEmitter, schedulerRegistry) {
|
|
33
|
-
super(nodeConfig, projectService, project.network, blockDispatcher, dictionaryService, eventEmitter, schedulerRegistry, unfinalizedBlocksService);
|
|
32
|
+
constructor(apiService, nodeConfig, projectService, project, blockDispatcher, dictionaryService, unfinalizedBlocksService, eventEmitter, schedulerRegistry, storeCacheService) {
|
|
33
|
+
super(nodeConfig, projectService, project.network, blockDispatcher, dictionaryService, eventEmitter, schedulerRegistry, unfinalizedBlocksService, storeCacheService);
|
|
34
34
|
this.apiService = apiService;
|
|
35
35
|
}
|
|
36
36
|
get api() {
|
|
@@ -70,7 +70,8 @@ FetchService = __decorate([
|
|
|
70
70
|
SubqueryProject_1.SubqueryProject, Object, ethDictionary_service_1.EthDictionaryService,
|
|
71
71
|
unfinalizedBlocks_service_1.UnfinalizedBlocksService,
|
|
72
72
|
event_emitter_1.EventEmitter2,
|
|
73
|
-
schedule_1.SchedulerRegistry
|
|
73
|
+
schedule_1.SchedulerRegistry,
|
|
74
|
+
node_core_1.StoreCacheService])
|
|
74
75
|
], FetchService);
|
|
75
76
|
exports.FetchService = FetchService;
|
|
76
77
|
//# sourceMappingURL=fetch.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.service.js","sourceRoot":"","sources":["../../src/indexer/fetch.service.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;AAEnC,2CAAoD;AACpD,yDAAsD;AACtD,+CAAqD;AAErD,4DAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"fetch.service.js","sourceRoot":"","sources":["../../src/indexer/fetch.service.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;AAEnC,2CAAoD;AACpD,yDAAsD;AACtD,+CAAqD;AAErD,4DAAyE;AACzE,gDAQ0B;AAE1B,kEAA+D;AAE/D,+DAGoC;AAEpC,8EAA0E;AAC1E,uDAAmD;AACnD,2EAAuE;AAEvE,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAGtB,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,4BAIjC;IAEW;IADV,YACU,UAAsB,EAC9B,UAAsB,EACK,cAA8B,EAC7B,OAAwB,EAEpD,eAAyC,EACzC,iBAAuC,EACvC,wBAAkD,EAClD,YAA2B,EAC3B,iBAAoC,EACpC,iBAAoC;QAEpC,KAAK,CACH,UAAU,EACV,cAAc,EACd,OAAO,CAAC,OAAO,EACf,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,CAClB,CAAC;QAtBM,eAAU,GAAV,UAAU,CAAY;IAuBhC,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;IACnC,CAAC;IAES,KAAK,CAAC,kBAAkB;QAChC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACjD,OAAO,IAAA,sCAAqB,EAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAES,KAAK,CAAC,aAAa;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;IACvC,CAAC;IAED,4DAA4D;IAClD,KAAK,CAAC,gBAAgB;QAC9B,MAAM,cAAc,GAAG,IAAA,6BAAY,EAAC,IAAI,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC;QAEjE,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;IACvD,CAAC;IAES,UAAU,CAAC,WAA8B;QACjD,OAAO,IAAA,sBAAU,EAAC,WAAW,EAAE,4BAAU,EAAE,qCAAmB,CAAC,KAAK,CAAC,CAAC;IACxE,CAAC;IAES,KAAK,CAAC,mBAAmB;QACjC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACzC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAC5C,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,WAAW;QACzB,4CAA4C;QAC5C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF,CAAA;AAjEY,YAAY;IADxB,IAAA,mBAAU,GAAE;IASR,WAAA,IAAA,eAAM,EAAC,iBAAiB,CAAC,CAAA;IACzB,WAAA,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAA;IAC1B,WAAA,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAA;qCAJP,sBAAU;QAClB,sBAAU;QACqB,gCAAc;QACpB,iCAAe,UAGjC,4CAAoB;QACb,oDAAwB;QACpC,6BAAa;QACR,4BAAiB;QACjB,6BAAiB;GAhB3B,YAAY,CAiExB;AAjEY,oCAAY","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Inject, Injectable } from '@nestjs/common';\nimport { EventEmitter2 } from '@nestjs/event-emitter';\nimport { SchedulerRegistry } from '@nestjs/schedule';\n\nimport { isCustomDs, EthereumHandlerKind } from '@subql/common-ethereum';\nimport {\n NodeConfig,\n BaseFetchService,\n ApiService,\n getModulos,\n getLogger,\n Header,\n StoreCacheService,\n} from '@subql/node-core';\nimport { EthereumBlock, SubqlDatasource } from '@subql/types-ethereum';\nimport { SubqueryProject } from '../configure/SubqueryProject';\nimport { EthereumApi } from '../ethereum';\nimport {\n calcInterval,\n ethereumBlockToHeader,\n} from '../ethereum/utils.ethereum';\nimport { IEthereumBlockDispatcher } from './blockDispatcher';\nimport { EthDictionaryService } from './dictionary/ethDictionary.service';\nimport { ProjectService } from './project.service';\nimport { UnfinalizedBlocksService } from './unfinalizedBlocks.service';\n\nconst BLOCK_TIME_VARIANCE = 5000;\n\nconst INTERVAL_PERCENT = 0.9;\n\n@Injectable()\nexport class FetchService extends BaseFetchService<\n SubqlDatasource,\n IEthereumBlockDispatcher,\n EthereumBlock\n> {\n constructor(\n private apiService: ApiService,\n nodeConfig: NodeConfig,\n @Inject('IProjectService') projectService: ProjectService,\n @Inject('ISubqueryProject') project: SubqueryProject,\n @Inject('IBlockDispatcher')\n blockDispatcher: IEthereumBlockDispatcher,\n dictionaryService: EthDictionaryService,\n unfinalizedBlocksService: UnfinalizedBlocksService,\n eventEmitter: EventEmitter2,\n schedulerRegistry: SchedulerRegistry,\n storeCacheService: StoreCacheService,\n ) {\n super(\n nodeConfig,\n projectService,\n project.network,\n blockDispatcher,\n dictionaryService,\n eventEmitter,\n schedulerRegistry,\n unfinalizedBlocksService,\n storeCacheService,\n );\n }\n\n get api(): EthereumApi {\n return this.apiService.unsafeApi;\n }\n\n protected async getFinalizedHeader(): Promise<Header> {\n const block = await this.api.getFinalizedBlock();\n return ethereumBlockToHeader(block);\n }\n\n protected async getBestHeight(): Promise<number> {\n return this.api.getBestBlockHeight();\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n protected async getChainInterval(): Promise<number> {\n const CHAIN_INTERVAL = calcInterval(this.api) * INTERVAL_PERCENT;\n\n return Math.min(BLOCK_TIME_VARIANCE, CHAIN_INTERVAL);\n }\n\n protected getModulos(dataSources: SubqlDatasource[]): number[] {\n return getModulos(dataSources, isCustomDs, EthereumHandlerKind.Block);\n }\n\n protected async initBlockDispatcher(): Promise<void> {\n await this.blockDispatcher.init((height) =>\n Promise.resolve(this.resetForNewDs(height)),\n );\n }\n\n protected async preLoopHook(): Promise<void> {\n // Ethereum doesn't need to do anything here\n return Promise.resolve();\n }\n}\n"]}
|
|
@@ -23,13 +23,9 @@ let WorkerFetchModule = class WorkerFetchModule {
|
|
|
23
23
|
};
|
|
24
24
|
WorkerFetchModule = __decorate([
|
|
25
25
|
(0, common_1.Module)({
|
|
26
|
+
imports: [node_core_1.WorkerCoreModule],
|
|
26
27
|
providers: [
|
|
27
28
|
indexer_manager_1.IndexerManager,
|
|
28
|
-
{
|
|
29
|
-
provide: node_core_1.ConnectionPoolStateManager,
|
|
30
|
-
useFactory: () => new node_core_1.WorkerConnectionPoolStateManager(global.host),
|
|
31
|
-
},
|
|
32
|
-
node_core_1.ConnectionPoolService,
|
|
33
29
|
{
|
|
34
30
|
provide: node_core_1.ApiService,
|
|
35
31
|
useFactory: async (project, connectionPoolService, eventEmitter, nodeConfig) => {
|
|
@@ -44,7 +40,6 @@ WorkerFetchModule = __decorate([
|
|
|
44
40
|
node_core_1.NodeConfig,
|
|
45
41
|
],
|
|
46
42
|
},
|
|
47
|
-
node_core_1.SandboxService,
|
|
48
43
|
ds_processor_service_1.DsProcessorService,
|
|
49
44
|
{
|
|
50
45
|
provide: dynamic_ds_service_1.DynamicDsService,
|
|
@@ -59,14 +54,6 @@ WorkerFetchModule = __decorate([
|
|
|
59
54
|
useFactory: () => new node_core_1.WorkerUnfinalizedBlocksService(global.host),
|
|
60
55
|
},
|
|
61
56
|
worker_service_1.WorkerService,
|
|
62
|
-
{
|
|
63
|
-
provide: node_core_1.MonitorService,
|
|
64
|
-
useFactory: () => new node_core_1.WorkerMonitorService(global.host),
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
provide: node_core_1.InMemoryCacheService,
|
|
68
|
-
useFactory: () => new node_core_1.WorkerInMemoryCacheService(global.host),
|
|
69
|
-
},
|
|
70
57
|
],
|
|
71
58
|
})
|
|
72
59
|
], WorkerFetchModule);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-fetch.module.js","sourceRoot":"","sources":["../../../src/indexer/worker/worker-fetch.module.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;AAEnC,2CAAwC;AACxC,yDAAsD;AACtD,
|
|
1
|
+
{"version":3,"file":"worker-fetch.module.js","sourceRoot":"","sources":["../../../src/indexer/worker/worker-fetch.module.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;AAEnC,2CAAwC;AACxC,yDAAsD;AACtD,gDAO0B;AAE1B,6CAAoD;AAEpD,kEAA6D;AAC7D,8DAAyD;AACzD,wDAAoD;AACpD,wDAAoD;AACpD,4EAAwE;AACxE,qDAAiD;AA+C1C,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAAG,CAAA;AAApB,iBAAiB;IA7C7B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,4BAAgB,CAAC;QAC3B,SAAS,EAAE;YACT,gCAAc;YACd;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,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;SACd;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 NodeConfig,\n WorkerUnfinalizedBlocksService,\n WorkerCoreModule,\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 { UnfinalizedBlocksService } from '../unfinalizedBlocks.service';\nimport { WorkerService } from './worker.service';\n\n@Module({\n imports: [WorkerCoreModule],\n providers: [\n IndexerManager,\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 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})\nexport class WorkerFetchModule {}\n"]}
|
|
@@ -24,6 +24,7 @@ WorkerModule = __decorate([
|
|
|
24
24
|
event_emitter_1.EventEmitterModule.forRoot(),
|
|
25
25
|
configure_module_1.ConfigureModule.register(),
|
|
26
26
|
schedule_1.ScheduleModule.forRoot(),
|
|
27
|
+
node_core_1.WorkerCoreModule,
|
|
27
28
|
worker_fetch_module_1.WorkerFetchModule,
|
|
28
29
|
],
|
|
29
30
|
controllers: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.module.js","sourceRoot":"","sources":["../../../src/indexer/worker/worker.module.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;AAEnC,2CAAwC;AACxC,yDAA2D;AAC3D,+CAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"worker.module.js","sourceRoot":"","sources":["../../../src/indexer/worker/worker.module.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;AAEnC,2CAAwC;AACxC,yDAA2D;AAC3D,+CAAkD;AAClD,gDAA8D;AAC9D,uEAAmE;AACnE,+DAA0D;AAanD,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,YAAY;IAXxB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,oBAAQ,CAAC,OAAO,EAAE;YAClB,kCAAkB,CAAC,OAAO,EAAE;YAC5B,kCAAe,CAAC,QAAQ,EAAE;YAC1B,yBAAc,CAAC,OAAO,EAAE;YACxB,4BAAgB;YAChB,uCAAiB;SAClB;QACD,WAAW,EAAE,EAAE;KAChB,CAAC;GACW,YAAY,CAAG;AAAf,oCAAY","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Module } from '@nestjs/common';\nimport { EventEmitterModule } from '@nestjs/event-emitter';\nimport { ScheduleModule } from '@nestjs/schedule';\nimport { DbModule, WorkerCoreModule } from '@subql/node-core';\nimport { ConfigureModule } from '../../configure/configure.module';\nimport { WorkerFetchModule } from './worker-fetch.module';\n\n@Module({\n imports: [\n DbModule.forRoot(),\n EventEmitterModule.forRoot(),\n ConfigureModule.register(),\n ScheduleModule.forRoot(),\n WorkerCoreModule,\n WorkerFetchModule,\n ],\n controllers: [],\n})\nexport class WorkerModule {}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@subql/node-ethereum",
|
|
3
|
-
"version": "4.7.4-
|
|
3
|
+
"version": "4.7.4-1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Ian He",
|
|
6
6
|
"license": "GPL-3.0",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"@nestjs/platform-express": "^9.4.0",
|
|
26
26
|
"@nestjs/schedule": "^3.0.1",
|
|
27
27
|
"@subql/common-ethereum": "4.3.1-0",
|
|
28
|
-
"@subql/node-core": "^
|
|
28
|
+
"@subql/node-core": "^12.0.0",
|
|
29
29
|
"@subql/testing": "^2.2.1",
|
|
30
30
|
"@subql/types-ethereum": "3.11.1-0",
|
|
31
31
|
"cacheable-lookup": "6",
|
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
"/dist",
|
|
60
60
|
"/bin"
|
|
61
61
|
],
|
|
62
|
-
"stableVersion": "4.7.
|
|
62
|
+
"stableVersion": "4.7.4-0"
|
|
63
63
|
}
|
|
@@ -1,25 +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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
exports.AdminModule = void 0;
|
|
12
|
-
const common_1 = require("@nestjs/common");
|
|
13
|
-
const node_core_1 = require("@subql/node-core");
|
|
14
|
-
const fetch_module_1 = require("../indexer/fetch.module");
|
|
15
|
-
let AdminModule = class AdminModule {
|
|
16
|
-
};
|
|
17
|
-
AdminModule = __decorate([
|
|
18
|
-
(0, common_1.Module)({
|
|
19
|
-
imports: [fetch_module_1.FetchModule],
|
|
20
|
-
controllers: [...node_core_1.adminControllers],
|
|
21
|
-
providers: [...node_core_1.adminServices],
|
|
22
|
-
})
|
|
23
|
-
], AdminModule);
|
|
24
|
-
exports.AdminModule = AdminModule;
|
|
25
|
-
//# sourceMappingURL=admin.module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"admin.module.js","sourceRoot":"","sources":["../../src/admin/admin.module.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;AAEnC,2CAAwC;AACxC,gDAAmE;AACnE,0DAAsD;AAO/C,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,WAAW;IALvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,0BAAW,CAAC;QACtB,WAAW,EAAE,CAAC,GAAG,4BAAgB,CAAC;QAClC,SAAS,EAAE,CAAC,GAAG,yBAAa,CAAC;KAC9B,CAAC;GACW,WAAW,CAAG;AAAd,kCAAW","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Module } from '@nestjs/common';\nimport { adminControllers, adminServices } from '@subql/node-core';\nimport { FetchModule } from '../indexer/fetch.module';\n\n@Module({\n imports: [FetchModule],\n controllers: [...adminControllers],\n providers: [...adminServices],\n})\nexport class AdminModule {}\n"]}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { MetaService } from './meta.service';
|
|
2
|
-
export declare class MetaController {
|
|
3
|
-
private metaService;
|
|
4
|
-
constructor(metaService: MetaService);
|
|
5
|
-
getMeta(): {
|
|
6
|
-
chain?: string | undefined;
|
|
7
|
-
specName?: string | undefined;
|
|
8
|
-
genesisHash?: string | undefined;
|
|
9
|
-
currentProcessingHeight: number | undefined;
|
|
10
|
-
currentProcessingTimestamp: number | undefined;
|
|
11
|
-
targetHeight: number | undefined;
|
|
12
|
-
bestHeight: number | undefined;
|
|
13
|
-
indexerNodeVersion: string;
|
|
14
|
-
lastProcessedHeight: number | undefined;
|
|
15
|
-
lastProcessedTimestamp: number | undefined;
|
|
16
|
-
uptime: number;
|
|
17
|
-
processedBlockCount: number | undefined;
|
|
18
|
-
apiConnected: boolean | undefined;
|
|
19
|
-
usingDictionary: boolean | undefined;
|
|
20
|
-
};
|
|
21
|
-
}
|
|
@@ -1,37 +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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.MetaController = void 0;
|
|
15
|
-
const common_1 = require("@nestjs/common");
|
|
16
|
-
const meta_service_1 = require("./meta.service");
|
|
17
|
-
let MetaController = class MetaController {
|
|
18
|
-
metaService;
|
|
19
|
-
constructor(metaService) {
|
|
20
|
-
this.metaService = metaService;
|
|
21
|
-
}
|
|
22
|
-
getMeta() {
|
|
23
|
-
return this.metaService.getMeta();
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
__decorate([
|
|
27
|
-
(0, common_1.Get)(),
|
|
28
|
-
__metadata("design:type", Function),
|
|
29
|
-
__metadata("design:paramtypes", []),
|
|
30
|
-
__metadata("design:returntype", void 0)
|
|
31
|
-
], MetaController.prototype, "getMeta", null);
|
|
32
|
-
MetaController = __decorate([
|
|
33
|
-
(0, common_1.Controller)('meta'),
|
|
34
|
-
__metadata("design:paramtypes", [meta_service_1.MetaService])
|
|
35
|
-
], MetaController);
|
|
36
|
-
exports.MetaController = MetaController;
|
|
37
|
-
//# sourceMappingURL=meta.controller.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"meta.controller.js","sourceRoot":"","sources":["../../src/meta/meta.controller.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;AAEnC,2CAAiD;AACjD,iDAA6C;AAGtC,IAAM,cAAc,GAApB,MAAM,cAAc;IACL;IAApB,YAAoB,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAGhD,OAAO;QACL,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC;CACF,CAAA;AAJC;IAAC,IAAA,YAAG,GAAE;;;;6CAGL;AANU,cAAc;IAD1B,IAAA,mBAAU,EAAC,MAAM,CAAC;qCAEgB,0BAAW;GADjC,cAAc,CAO1B;AAPY,wCAAc","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Controller, Get } from '@nestjs/common';\nimport { MetaService } from './meta.service';\n\n@Controller('meta')\nexport class MetaController {\n constructor(private metaService: MetaService) {}\n\n @Get()\n getMeta() {\n return this.metaService.getMeta();\n }\n}\n"]}
|
package/dist/meta/meta.module.js
DELETED
|
@@ -1,28 +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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
exports.MetaModule = void 0;
|
|
12
|
-
const common_1 = require("@nestjs/common");
|
|
13
|
-
const node_core_1 = require("@subql/node-core");
|
|
14
|
-
const nestjs_prometheus_1 = require("@willsoto/nestjs-prometheus");
|
|
15
|
-
const fetch_module_1 = require("../indexer/fetch.module");
|
|
16
|
-
const meta_controller_1 = require("./meta.controller");
|
|
17
|
-
const meta_service_1 = require("./meta.service");
|
|
18
|
-
let MetaModule = class MetaModule {
|
|
19
|
-
};
|
|
20
|
-
MetaModule = __decorate([
|
|
21
|
-
(0, common_1.Module)({
|
|
22
|
-
imports: [nestjs_prometheus_1.PrometheusModule.register(), fetch_module_1.FetchModule],
|
|
23
|
-
controllers: [...node_core_1.metaControllers, meta_controller_1.MetaController],
|
|
24
|
-
providers: [...node_core_1.metaServices, meta_service_1.MetaService],
|
|
25
|
-
})
|
|
26
|
-
], MetaModule);
|
|
27
|
-
exports.MetaModule = MetaModule;
|
|
28
|
-
//# sourceMappingURL=meta.module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"meta.module.js","sourceRoot":"","sources":["../../src/meta/meta.module.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;AAEnC,2CAAwC;AACxC,gDAAiE;AACjE,mEAA+D;AAC/D,0DAAsD;AACtD,uDAAmD;AACnD,iDAA6C;AAOtC,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,UAAU;IALtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,oCAAgB,CAAC,QAAQ,EAAE,EAAE,0BAAW,CAAC;QACnD,WAAW,EAAE,CAAC,GAAG,2BAAe,EAAE,gCAAc,CAAC;QACjD,SAAS,EAAE,CAAC,GAAG,wBAAY,EAAE,0BAAW,CAAC;KAC1C,CAAC;GACW,UAAU,CAAG;AAAb,gCAAU","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Module } from '@nestjs/common';\nimport { metaControllers, metaServices } from '@subql/node-core';\nimport { PrometheusModule } from '@willsoto/nestjs-prometheus';\nimport { FetchModule } from '../indexer/fetch.module';\nimport { MetaController } from './meta.controller';\nimport { MetaService } from './meta.service';\n\n@Module({\n imports: [PrometheusModule.register(), FetchModule],\n controllers: [...metaControllers, MetaController],\n providers: [...metaServices, MetaService],\n})\nexport class MetaModule {}\n"]}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { BaseMetaService, NodeConfig, StoreCacheService } from '@subql/node-core';
|
|
2
|
-
export declare class MetaService extends BaseMetaService {
|
|
3
|
-
private nodeConfig;
|
|
4
|
-
private accEnqueueBlocks;
|
|
5
|
-
private accFetchBlocks;
|
|
6
|
-
private currentFilteringBlockNum;
|
|
7
|
-
private accRpcCalls;
|
|
8
|
-
private lastReportedFilteringBlockNum;
|
|
9
|
-
private lastReportedEnqueueBlocks;
|
|
10
|
-
private lastReportedFetchBlocks;
|
|
11
|
-
private lastReportedRpcCalls;
|
|
12
|
-
private lastStatsReportedTs?;
|
|
13
|
-
protected packageVersion: any;
|
|
14
|
-
constructor(nodeConfig: NodeConfig, storeCacheService: StoreCacheService);
|
|
15
|
-
protected sdkVersion(): {
|
|
16
|
-
name: string;
|
|
17
|
-
version: string;
|
|
18
|
-
};
|
|
19
|
-
handleEnqueueBlocks(size: number): void;
|
|
20
|
-
handleFilteringBlocks(height: number): void;
|
|
21
|
-
handleFetchBlock(): void;
|
|
22
|
-
handleRpcCall(): void;
|
|
23
|
-
blockFilteringSpeed(): void;
|
|
24
|
-
}
|
|
@@ -1,123 +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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.MetaService = void 0;
|
|
15
|
-
const common_1 = require("@nestjs/common");
|
|
16
|
-
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
17
|
-
const schedule_1 = require("@nestjs/schedule");
|
|
18
|
-
const node_core_1 = require("@subql/node-core");
|
|
19
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
20
|
-
const { version: ethersSdkVersion } = require('ethers/package.json');
|
|
21
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
22
|
-
const { version: packageVersion } = require('../../package.json');
|
|
23
|
-
const logger = (0, node_core_1.getLogger)('profiler');
|
|
24
|
-
let MetaService = class MetaService extends node_core_1.BaseMetaService {
|
|
25
|
-
nodeConfig;
|
|
26
|
-
accEnqueueBlocks = 0;
|
|
27
|
-
accFetchBlocks = 0;
|
|
28
|
-
currentFilteringBlockNum = 0;
|
|
29
|
-
accRpcCalls = 0;
|
|
30
|
-
lastReportedFilteringBlockNum = 0;
|
|
31
|
-
lastReportedEnqueueBlocks = 0;
|
|
32
|
-
lastReportedFetchBlocks = 0;
|
|
33
|
-
lastReportedRpcCalls = 0;
|
|
34
|
-
lastStatsReportedTs;
|
|
35
|
-
packageVersion = packageVersion;
|
|
36
|
-
constructor(nodeConfig, storeCacheService) {
|
|
37
|
-
super(storeCacheService, nodeConfig);
|
|
38
|
-
this.nodeConfig = nodeConfig;
|
|
39
|
-
}
|
|
40
|
-
sdkVersion() {
|
|
41
|
-
return { name: 'ethersSdkVersion', version: ethersSdkVersion };
|
|
42
|
-
}
|
|
43
|
-
handleEnqueueBlocks(size) {
|
|
44
|
-
this.accEnqueueBlocks += size;
|
|
45
|
-
if (!this.lastStatsReportedTs) {
|
|
46
|
-
this.lastStatsReportedTs = new Date();
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
handleFilteringBlocks(height) {
|
|
50
|
-
this.currentFilteringBlockNum = height;
|
|
51
|
-
if (!this.lastStatsReportedTs) {
|
|
52
|
-
this.lastReportedFilteringBlockNum = height;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
handleFetchBlock() {
|
|
56
|
-
this.accFetchBlocks++;
|
|
57
|
-
if (!this.lastStatsReportedTs) {
|
|
58
|
-
this.lastStatsReportedTs = new Date();
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
handleRpcCall() {
|
|
62
|
-
this.accRpcCalls++;
|
|
63
|
-
if (!this.lastStatsReportedTs) {
|
|
64
|
-
this.lastStatsReportedTs = new Date();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
blockFilteringSpeed() {
|
|
68
|
-
if (!this.nodeConfig.profiler || !this.lastStatsReportedTs) {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
const count = this.accEnqueueBlocks - this.lastReportedEnqueueBlocks;
|
|
72
|
-
this.lastReportedEnqueueBlocks = this.accEnqueueBlocks;
|
|
73
|
-
const filteringCount = this.currentFilteringBlockNum - this.lastReportedFilteringBlockNum;
|
|
74
|
-
const now = new Date();
|
|
75
|
-
const timepass = now.getTime() - this.lastStatsReportedTs.getTime();
|
|
76
|
-
this.lastStatsReportedTs = now;
|
|
77
|
-
this.lastReportedFilteringBlockNum = this.currentFilteringBlockNum;
|
|
78
|
-
const rpcCalls = this.accRpcCalls - this.lastReportedRpcCalls;
|
|
79
|
-
this.lastReportedRpcCalls = this.accRpcCalls;
|
|
80
|
-
const fetchCount = this.accFetchBlocks - this.lastReportedFetchBlocks;
|
|
81
|
-
this.lastReportedFetchBlocks = this.accFetchBlocks;
|
|
82
|
-
logger.info(`actual block filtering: ${(count / (timepass / 1000)).toFixed(2)}/sec, \
|
|
83
|
-
seeming speed: ${(filteringCount / (timepass / 1000)).toFixed(2)}/sec, rpcCalls: ${(rpcCalls / (timepass / 1000)).toFixed(2)}/sec \
|
|
84
|
-
fetch speed: ${(fetchCount / (timepass / 1000)).toFixed(2)}/sec`);
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
__decorate([
|
|
88
|
-
(0, event_emitter_1.OnEvent)('enqueueBlocks'),
|
|
89
|
-
__metadata("design:type", Function),
|
|
90
|
-
__metadata("design:paramtypes", [Number]),
|
|
91
|
-
__metadata("design:returntype", void 0)
|
|
92
|
-
], MetaService.prototype, "handleEnqueueBlocks", null);
|
|
93
|
-
__decorate([
|
|
94
|
-
(0, event_emitter_1.OnEvent)('filteringBlocks'),
|
|
95
|
-
__metadata("design:type", Function),
|
|
96
|
-
__metadata("design:paramtypes", [Number]),
|
|
97
|
-
__metadata("design:returntype", void 0)
|
|
98
|
-
], MetaService.prototype, "handleFilteringBlocks", null);
|
|
99
|
-
__decorate([
|
|
100
|
-
(0, event_emitter_1.OnEvent)('fetchBlock'),
|
|
101
|
-
__metadata("design:type", Function),
|
|
102
|
-
__metadata("design:paramtypes", []),
|
|
103
|
-
__metadata("design:returntype", void 0)
|
|
104
|
-
], MetaService.prototype, "handleFetchBlock", null);
|
|
105
|
-
__decorate([
|
|
106
|
-
(0, event_emitter_1.OnEvent)('rpcCall'),
|
|
107
|
-
__metadata("design:type", Function),
|
|
108
|
-
__metadata("design:paramtypes", []),
|
|
109
|
-
__metadata("design:returntype", void 0)
|
|
110
|
-
], MetaService.prototype, "handleRpcCall", null);
|
|
111
|
-
__decorate([
|
|
112
|
-
(0, schedule_1.Interval)(10000),
|
|
113
|
-
__metadata("design:type", Function),
|
|
114
|
-
__metadata("design:paramtypes", []),
|
|
115
|
-
__metadata("design:returntype", void 0)
|
|
116
|
-
], MetaService.prototype, "blockFilteringSpeed", null);
|
|
117
|
-
MetaService = __decorate([
|
|
118
|
-
(0, common_1.Injectable)(),
|
|
119
|
-
__metadata("design:paramtypes", [node_core_1.NodeConfig,
|
|
120
|
-
node_core_1.StoreCacheService])
|
|
121
|
-
], MetaService);
|
|
122
|
-
exports.MetaService = MetaService;
|
|
123
|
-
//# sourceMappingURL=meta.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"meta.service.js","sourceRoot":"","sources":["../../src/meta/meta.service.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Injectable } from '@nestjs/common';\nimport { OnEvent } from '@nestjs/event-emitter';\nimport { Interval } from '@nestjs/schedule';\nimport {\n BaseMetaService,\n getLogger,\n NodeConfig,\n StoreCacheService,\n} from '@subql/node-core';\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst { version: ethersSdkVersion } = require('ethers/package.json');\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst { version: packageVersion } = require('../../package.json');\nconst logger = getLogger('profiler');\n\n@Injectable()\nexport class MetaService extends BaseMetaService {\n private accEnqueueBlocks = 0;\n private accFetchBlocks = 0;\n private currentFilteringBlockNum = 0;\n private accRpcCalls = 0;\n private lastReportedFilteringBlockNum = 0;\n private lastReportedEnqueueBlocks = 0;\n private lastReportedFetchBlocks = 0;\n private lastReportedRpcCalls = 0;\n private lastStatsReportedTs?: Date;\n protected packageVersion = packageVersion;\n\n constructor(\n private nodeConfig: NodeConfig,\n storeCacheService: StoreCacheService,\n ) {\n super(storeCacheService, nodeConfig);\n }\n\n protected sdkVersion(): { name: string; version: string } {\n return { name: 'ethersSdkVersion', version: ethersSdkVersion };\n }\n\n @OnEvent('enqueueBlocks')\n handleEnqueueBlocks(size: number): void {\n this.accEnqueueBlocks += size;\n if (!this.lastStatsReportedTs) {\n this.lastStatsReportedTs = new Date();\n }\n }\n\n @OnEvent('filteringBlocks')\n handleFilteringBlocks(height: number): void {\n this.currentFilteringBlockNum = height;\n if (!this.lastStatsReportedTs) {\n this.lastReportedFilteringBlockNum = height;\n }\n }\n\n @OnEvent('fetchBlock')\n handleFetchBlock(): void {\n this.accFetchBlocks++;\n if (!this.lastStatsReportedTs) {\n this.lastStatsReportedTs = new Date();\n }\n }\n\n @OnEvent('rpcCall')\n handleRpcCall(): void {\n this.accRpcCalls++;\n if (!this.lastStatsReportedTs) {\n this.lastStatsReportedTs = new Date();\n }\n }\n\n @Interval(10000)\n blockFilteringSpeed(): void {\n if (!this.nodeConfig.profiler || !this.lastStatsReportedTs) {\n return;\n }\n const count = this.accEnqueueBlocks - this.lastReportedEnqueueBlocks;\n this.lastReportedEnqueueBlocks = this.accEnqueueBlocks;\n const filteringCount =\n this.currentFilteringBlockNum - this.lastReportedFilteringBlockNum;\n const now = new Date();\n const timepass = now.getTime() - this.lastStatsReportedTs.getTime();\n this.lastStatsReportedTs = now;\n this.lastReportedFilteringBlockNum = this.currentFilteringBlockNum;\n const rpcCalls = this.accRpcCalls - this.lastReportedRpcCalls;\n this.lastReportedRpcCalls = this.accRpcCalls;\n const fetchCount = this.accFetchBlocks - this.lastReportedFetchBlocks;\n this.lastReportedFetchBlocks = this.accFetchBlocks;\n logger.info(`actual block filtering: ${(count / (timepass / 1000)).toFixed(\n 2,\n )}/sec, \\\nseeming speed: ${(filteringCount / (timepass / 1000)).toFixed(\n 2,\n )}/sec, rpcCalls: ${(rpcCalls / (timepass / 1000)).toFixed(2)}/sec \\\nfetch speed: ${(fetchCount / (timepass / 1000)).toFixed(2)}/sec`);\n }\n}\n"]}
|