diff --git a/packages/node/CHANGELOG.md b/packages/node/CHANGELOG.md index 6a35e7fa0..a3e943e28 100644 --- a/packages/node/CHANGELOG.md +++ b/packages/node/CHANGELOG.md @@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ### Changed - Update cosmos and subql dependencies (#270) +- Update to latest `@subql/node-core` (#272) ### Added - Detection of Cosmos SDK version to use correct client type (#270) diff --git a/packages/node/package.json b/packages/node/package.json index 348607c4a..504e522a3 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -31,7 +31,7 @@ "@nestjs/schedule": "^3.0.1", "@subql/common": "^4.1.0", "@subql/common-cosmos": "workspace:*", - "@subql/node-core": "^11.0.0", + "@subql/node-core": "^12.0.0", "@subql/types-cosmos": "workspace:*", "lodash": "^4.17.21", "protobufjs": "^6.11.4", diff --git a/packages/node/src/admin/admin.module.ts b/packages/node/src/admin/admin.module.ts deleted file mode 100644 index fa4e64250..000000000 --- a/packages/node/src/admin/admin.module.ts +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors -// SPDX-License-Identifier: GPL-3.0 - -import { Module } from '@nestjs/common'; -import { adminControllers, adminServices } from '@subql/node-core'; -import { FetchModule } from '../indexer/fetch.module'; - -@Module({ - imports: [FetchModule], - controllers: [...adminControllers], - providers: [...adminServices], -}) -export class AdminModule {} diff --git a/packages/node/src/app.module.ts b/packages/node/src/app.module.ts index a987ef275..df7dd75d3 100644 --- a/packages/node/src/app.module.ts +++ b/packages/node/src/app.module.ts @@ -4,11 +4,14 @@ import { Module } from '@nestjs/common'; import { EventEmitterModule } from '@nestjs/event-emitter'; import { ScheduleModule } from '@nestjs/schedule'; -import { DbModule } from '@subql/node-core'; -import { AdminModule } from './admin/admin.module'; +import { DbModule, CoreModule, MetaModule } from '@subql/node-core'; import { ConfigureModule } from './configure/configure.module'; import { FetchModule } from './indexer/fetch.module'; -import { MetaModule } from './meta/meta.module'; + +// eslint-disable-next-line @typescript-eslint/no-var-requires +const { version: cosmosSdkVersion } = require('@cosmjs/stargate/package.json'); +// eslint-disable-next-line @typescript-eslint/no-var-requires +const { version: packageVersion } = require('../package.json'); @Module({ imports: [ @@ -16,9 +19,12 @@ import { MetaModule } from './meta/meta.module'; EventEmitterModule.forRoot(), ConfigureModule.register(), ScheduleModule.forRoot(), + CoreModule, FetchModule, - MetaModule, - AdminModule, + MetaModule.forRoot({ + version: packageVersion, + sdkVersion: { name: '@cosmjs/stargate', version: cosmosSdkVersion }, + }), ], controllers: [], }) diff --git a/packages/node/src/indexer/fetch.module.ts b/packages/node/src/indexer/fetch.module.ts index 1738ae002..6924ef0b5 100644 --- a/packages/node/src/indexer/fetch.module.ts +++ b/packages/node/src/indexer/fetch.module.ts @@ -4,18 +4,14 @@ import { Module } from '@nestjs/common'; import { EventEmitter2 } from '@nestjs/event-emitter'; import { - PoiBenchmarkService, - IndexingBenchmarkService, + CoreModule, StoreService, - PoiService, PoiSyncService, NodeConfig, - ConnectionPoolService, StoreCacheService, ConnectionPoolStateManager, IProjectUpgradeService, InMemoryCacheService, - SandboxService, MonitorService, } from '@subql/node-core'; import { SubqueryProject } from '../configure/SubqueryProject'; @@ -34,13 +30,10 @@ import { ProjectService } from './project.service'; import { UnfinalizedBlocksService } from './unfinalizedBlocks.service'; @Module({ + imports: [CoreModule], providers: [ - InMemoryCacheService, - StoreService, - StoreCacheService, ApiService, IndexerManager, - ConnectionPoolStateManager, { provide: 'IBlockDispatcher', useFactory: ( @@ -107,22 +100,14 @@ import { UnfinalizedBlocksService } from './unfinalizedBlocks.service'; ], }, FetchService, - ConnectionPoolService, - IndexingBenchmarkService, - PoiBenchmarkService, DictionaryService, - SandboxService, DsProcessorService, DynamicDsService, - PoiService, - PoiSyncService, { useClass: ProjectService, provide: 'IProjectService', }, - MonitorService, UnfinalizedBlocksService, ], - exports: [StoreService, StoreCacheService, MonitorService, PoiService], }) export class FetchModule {} diff --git a/packages/node/src/indexer/fetch.service.ts b/packages/node/src/indexer/fetch.service.ts index 13ff694e7..1852bac27 100644 --- a/packages/node/src/indexer/fetch.service.ts +++ b/packages/node/src/indexer/fetch.service.ts @@ -14,6 +14,7 @@ import { BaseFetchService, getModulos, Header, + StoreCacheService, } from '@subql/node-core'; import { SubqueryProject } from '../configure/SubqueryProject'; import * as CosmosUtil from '../utils/cosmos'; @@ -45,6 +46,7 @@ export class FetchService extends BaseFetchService< unfinalizedBlocksService: UnfinalizedBlocksService, eventEmitter: EventEmitter2, schedulerRegistry: SchedulerRegistry, + storeCacheService: StoreCacheService, ) { super( nodeConfig, @@ -55,6 +57,7 @@ export class FetchService extends BaseFetchService< eventEmitter, schedulerRegistry, unfinalizedBlocksService, + storeCacheService, ); } diff --git a/packages/node/src/indexer/worker/worker-fetch.module.ts b/packages/node/src/indexer/worker/worker-fetch.module.ts index 092ce6596..b1beed11f 100644 --- a/packages/node/src/indexer/worker/worker-fetch.module.ts +++ b/packages/node/src/indexer/worker/worker-fetch.module.ts @@ -4,17 +4,11 @@ import { Module } from '@nestjs/common'; import { EventEmitter2 } from '@nestjs/event-emitter'; import { + WorkerCoreModule, ConnectionPoolService, WorkerDynamicDsService, - ConnectionPoolStateManager, - WorkerConnectionPoolStateManager, - InMemoryCacheService, - WorkerInMemoryCacheService, NodeConfig, - SandboxService, WorkerUnfinalizedBlocksService, - MonitorService, - WorkerMonitorService, } from '@subql/node-core'; import { SubqueryProject } from '../../configure/SubqueryProject'; import { ApiService } from '../api.service'; @@ -27,14 +21,9 @@ import { UnfinalizedBlocksService } from '../unfinalizedBlocks.service'; import { WorkerService } from './worker.service'; @Module({ + imports: [WorkerCoreModule], providers: [ IndexerManager, - { - provide: ConnectionPoolStateManager, - useFactory: () => - new WorkerConnectionPoolStateManager((global as any).host), - }, - ConnectionPoolService, { provide: ApiService, useFactory: async ( @@ -59,7 +48,6 @@ import { WorkerService } from './worker.service'; NodeConfig, ], }, - SandboxService, DsProcessorService, { provide: DynamicDsService, @@ -75,15 +63,6 @@ import { WorkerService } from './worker.service'; useFactory: () => new WorkerUnfinalizedBlocksService((global as any).host), }, - { - provide: InMemoryCacheService, - useFactory: () => new WorkerInMemoryCacheService((global as any).host), - }, - { - provide: MonitorService, - useFactory: () => new WorkerMonitorService((global as any).host), - }, ], - exports: [], }) export class WorkerFetchModule {} diff --git a/packages/node/src/indexer/worker/worker.module.ts b/packages/node/src/indexer/worker/worker.module.ts index fe6dfd91b..f48ffc20b 100644 --- a/packages/node/src/indexer/worker/worker.module.ts +++ b/packages/node/src/indexer/worker/worker.module.ts @@ -4,7 +4,7 @@ import { Module } from '@nestjs/common'; import { EventEmitterModule } from '@nestjs/event-emitter'; import { ScheduleModule } from '@nestjs/schedule'; -import { DbModule } from '@subql/node-core'; +import { DbModule, WorkerCoreModule } from '@subql/node-core'; import { ConfigureModule } from '../../configure/configure.module'; import { WorkerFetchModule } from './worker-fetch.module'; @@ -14,6 +14,7 @@ import { WorkerFetchModule } from './worker-fetch.module'; EventEmitterModule.forRoot(), ConfigureModule.register(), ScheduleModule.forRoot(), + WorkerCoreModule, WorkerFetchModule, ], controllers: [], diff --git a/packages/node/src/meta/meta.controller.ts b/packages/node/src/meta/meta.controller.ts deleted file mode 100644 index fa7b06185..000000000 --- a/packages/node/src/meta/meta.controller.ts +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors -// SPDX-License-Identifier: GPL-3.0 - -import { Controller, Get } from '@nestjs/common'; -import { MetaService } from './meta.service'; - -@Controller('meta') -export class MetaController { - constructor(private metaService: MetaService) {} - - @Get() - getMeta() { - return this.metaService.getMeta(); - } -} diff --git a/packages/node/src/meta/meta.module.ts b/packages/node/src/meta/meta.module.ts deleted file mode 100644 index cc474236d..000000000 --- a/packages/node/src/meta/meta.module.ts +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors -// SPDX-License-Identifier: GPL-3.0 - -import { Module } from '@nestjs/common'; -import { metaControllers, metaServices } from '@subql/node-core'; -import { PrometheusModule } from '@willsoto/nestjs-prometheus'; -import { FetchModule } from '../indexer/fetch.module'; -import { MetaController } from './meta.controller'; -import { MetaService } from './meta.service'; - -@Module({ - imports: [PrometheusModule.register(), FetchModule], - controllers: [...metaControllers, MetaController], - providers: [...metaServices, MetaService], -}) -export class MetaModule {} diff --git a/packages/node/src/meta/meta.service.ts b/packages/node/src/meta/meta.service.ts deleted file mode 100644 index cf4f9c9f1..000000000 --- a/packages/node/src/meta/meta.service.ts +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors -// SPDX-License-Identifier: GPL-3.0 - -import { Injectable } from '@nestjs/common'; -import { - BaseMetaService, - NodeConfig, - StoreCacheService, -} from '@subql/node-core'; - -// eslint-disable-next-line @typescript-eslint/no-var-requires -const { version: cosmosSdkVersion } = require('@cosmjs/stargate/package.json'); -// eslint-disable-next-line @typescript-eslint/no-var-requires -const { version: packageVersion } = require('../../package.json'); - -@Injectable() -export class MetaService extends BaseMetaService { - protected packageVersion = packageVersion; - protected sdkVersion(): { name: string; version: string } { - return { name: 'cosmosSdkVersion', version: cosmosSdkVersion }; - } - constructor(storeCacheService: StoreCacheService, config: NodeConfig) { - super(storeCacheService, config); - } -} diff --git a/yarn.lock b/yarn.lock index ea39da717..1f8bd807b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6402,9 +6402,9 @@ __metadata: languageName: node linkType: hard -"@subql/node-core@npm:^11.0.0": - version: 11.0.0 - resolution: "@subql/node-core@npm:11.0.0" +"@subql/node-core@npm:^12.0.0": + version: 12.0.0 + resolution: "@subql/node-core@npm:12.0.0" dependencies: "@apollo/client": ^3.8.8 "@nestjs/common": ^9.4.0 @@ -6413,7 +6413,7 @@ __metadata: "@subql/common": 4.1.0 "@subql/testing": 2.2.1 "@subql/types": 3.9.0 - "@subql/utils": 2.12.1 + "@subql/utils": 2.13.0 "@willsoto/nestjs-prometheus": ^5.4.0 async-lock: ^1.4.0 async-mutex: ^0.4.0 @@ -6431,7 +6431,7 @@ __metadata: toposort-class: ^1.0.1 vm2: ^3.9.19 yargs: ^16.2.0 - checksum: b41ec97d614ceafc006e66cf5f6419fba027d5831cd56ed335d431d63b176f902ab1039db5764ba01d5cadbfba695cbd4c06f67e5b7b4f9941877ea482e8e066 + checksum: a37ab972f75dee4ecda070aafb125194a03952bcc8c6f2dacbae4c8c4f97cb5228b53ab09614d24658ad576f8f9de7a5d07c491f288ea1f449a2f80040235731 languageName: node linkType: hard @@ -6453,7 +6453,7 @@ __metadata: "@nestjs/testing": ^9.4.0 "@subql/common": ^4.1.0 "@subql/common-cosmos": "workspace:*" - "@subql/node-core": ^11.0.0 + "@subql/node-core": ^12.0.0 "@subql/types-cosmos": "workspace:*" "@types/express": ^4.17.13 "@types/jest": ^27.4.0 @@ -6524,9 +6524,9 @@ __metadata: languageName: node linkType: hard -"@subql/utils@npm:2.12.1": - version: 2.12.1 - resolution: "@subql/utils@npm:2.12.1" +"@subql/utils@npm:2.13.0": + version: 2.13.0 + resolution: "@subql/utils@npm:2.13.0" dependencies: "@polkadot/util": ^12.6.2 "@polkadot/util-crypto": ^12.6.2 @@ -6542,7 +6542,7 @@ __metadata: rotating-file-stream: ^3.0.2 semver: ^7.5.2 tar: ^6.2.1 - checksum: 8ee95bfde1e1672a85cade26d51af57ee2023587ab7977379430e5d957422d80deff505fba377b51fb008b80e2f6c23ccbc266e717f74ee3f5f5e4092bba0ed9 + checksum: e2c43c0c2865f5e014572da3ec0a41691e5c534f90b0f008f12770ab9871783bba348cb929f5d51e36527d11344107718c3f86ef1b227dbc344ee03233c48031 languageName: node linkType: hard