@subql/node-ethereum 2.5.2 → 2.5.3-0
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/dist/.tsbuildinfo +1 -1
- package/dist/indexer/project.service.d.ts +1 -1
- package/dist/indexer/project.service.js +2 -2
- package/dist/indexer/project.service.js.map +1 -1
- package/dist/subcommands/mmrMigrate.module.js +2 -2
- package/dist/subcommands/mmrMigrate.module.js.map +1 -1
- package/dist/subcommands/reindex.service.d.ts +1 -1
- package/dist/subcommands/reindex.service.js +2 -2
- package/dist/subcommands/reindex.service.js.map +1 -1
- package/dist/subcommands/testing.service.d.ts +1 -1
- package/dist/subcommands/testing.service.js +2 -2
- package/dist/subcommands/testing.service.js.map +1 -1
- package/package.json +6 -5
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EventEmitter2 } from '@nestjs/event-emitter';
|
|
2
2
|
import { PoiService, MmrService, BaseProjectService, StoreService, NodeConfig, ApiService } from '@subql/node-core';
|
|
3
|
-
import { Sequelize } from 'sequelize';
|
|
3
|
+
import { Sequelize } from '@subql/x-sequelize';
|
|
4
4
|
import { SubqlProjectDs, SubqueryProject } from '../configure/SubqueryProject';
|
|
5
5
|
import { DsProcessorService } from './ds-processor.service';
|
|
6
6
|
import { DynamicDsService } from './dynamic-ds.service';
|
|
@@ -18,7 +18,7 @@ exports.ProjectService = void 0;
|
|
|
18
18
|
const common_1 = require("@nestjs/common");
|
|
19
19
|
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
20
20
|
const node_core_1 = require("@subql/node-core");
|
|
21
|
-
const
|
|
21
|
+
const x_sequelize_1 = require("@subql/x-sequelize");
|
|
22
22
|
const SubqueryProject_1 = require("../configure/SubqueryProject");
|
|
23
23
|
const ds_processor_service_1 = require("./ds-processor.service");
|
|
24
24
|
const dynamic_ds_service_1 = require("./dynamic-ds.service");
|
|
@@ -44,7 +44,7 @@ ProjectService = __decorate([
|
|
|
44
44
|
node_core_1.ApiService,
|
|
45
45
|
node_core_1.PoiService,
|
|
46
46
|
node_core_1.MmrService,
|
|
47
|
-
|
|
47
|
+
x_sequelize_1.Sequelize,
|
|
48
48
|
SubqueryProject_1.SubqueryProject,
|
|
49
49
|
node_core_1.StoreService,
|
|
50
50
|
node_core_1.NodeConfig,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.service.js","sourceRoot":"","sources":["../../src/indexer/project.service.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,sCAAsC;;;;;;;;;;;;;;;AAEtC,2CAAoD;AACpD,yDAAsD;AACtD,gDAO0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"project.service.js","sourceRoot":"","sources":["../../src/indexer/project.service.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,sCAAsC;;;;;;;;;;;;;;;AAEtC,2CAAoD;AACpD,yDAAsD;AACtD,gDAO0B;AAC1B,oDAA+C;AAC/C,kEAIsC;AACtC,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,8BAAkC;IAGpE,YACE,kBAAsC,EACtC,UAAsB,EACtB,UAAsB,EACtB,UAAsB,EACtB,SAAoB,EACQ,OAAwB,EACpD,YAA0B,EAC1B,UAAsB,EACtB,gBAAkC,EAClC,YAA2B,EAC3B,uBAAiD;QAEjD,KAAK,CACH,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACT,OAAO,EACP,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,uBAAuB,CACxB,CAAC;QA3BM,mBAAc,GAAG,cAAc,CAAC;IA4B1C,CAAC;IAES,KAAK,CAAC,yCAAyC,CACvD,EAAoB;QAEpB,OAAO,IAAA,2DAAyC,EAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5E,CAAC;IAES,wBAAwB;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;IAClC,CAAC;CACF,CAAA;AAxCY,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAUR,WAAA,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAA;qCALP,yCAAkB;QAC1B,sBAAU;QACV,sBAAU;QACV,sBAAU;QACX,uBAAS;QACiB,iCAAe;QACtC,wBAAY;QACd,sBAAU;QACJ,qCAAgB;QACpB,6BAAa;QACF,oDAAwB;GAdxC,cAAc,CAwC1B;AAxCY,wCAAc","sourcesContent":["// Copyright 2020-2022 OnFinality Limited authors & contributors\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Inject, Injectable } from '@nestjs/common';\nimport { EventEmitter2 } from '@nestjs/event-emitter';\nimport {\n PoiService,\n MmrService,\n BaseProjectService,\n StoreService,\n NodeConfig,\n ApiService,\n} from '@subql/node-core';\nimport { Sequelize } from '@subql/x-sequelize';\nimport {\n generateTimestampReferenceForBlockFilters,\n SubqlProjectDs,\n SubqueryProject,\n} from '../configure/SubqueryProject';\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<SubqlProjectDs> {\n protected packageVersion = packageVersion;\n\n constructor(\n dsProcessorService: DsProcessorService,\n apiService: ApiService,\n poiService: PoiService,\n mmrService: MmrService,\n sequelize: Sequelize,\n @Inject('ISubqueryProject') project: SubqueryProject,\n storeService: StoreService,\n nodeConfig: NodeConfig,\n dynamicDsService: DynamicDsService,\n eventEmitter: EventEmitter2,\n unfinalizedBlockService: UnfinalizedBlocksService,\n ) {\n super(\n dsProcessorService,\n apiService,\n poiService,\n mmrService,\n sequelize,\n project,\n storeService,\n nodeConfig,\n dynamicDsService,\n eventEmitter,\n unfinalizedBlockService,\n );\n }\n\n protected async generateTimestampReferenceForBlockFilters(\n ds: SubqlProjectDs[],\n ): Promise<SubqlProjectDs[]> {\n return generateTimestampReferenceForBlockFilters(ds, this.apiService.api);\n }\n\n protected getStartBlockDatasources(): SubqlProjectDs[] {\n return this.project.dataSources;\n }\n}\n"]}
|
|
@@ -12,7 +12,7 @@ exports.MMRMigrateModule = exports.MMRMigrateFeatureModule = void 0;
|
|
|
12
12
|
const common_1 = require("@nestjs/common");
|
|
13
13
|
const schedule_1 = require("@nestjs/schedule");
|
|
14
14
|
const node_core_1 = require("@subql/node-core");
|
|
15
|
-
const
|
|
15
|
+
const x_sequelize_1 = require("@subql/x-sequelize");
|
|
16
16
|
const configure_module_1 = require("../configure/configure.module");
|
|
17
17
|
let MMRMigrateFeatureModule = class MMRMigrateFeatureModule {
|
|
18
18
|
};
|
|
@@ -25,7 +25,7 @@ MMRMigrateFeatureModule = __decorate([
|
|
|
25
25
|
useFactory: (config, sequelize) => {
|
|
26
26
|
return new node_core_1.MMRMigrateService(config, sequelize);
|
|
27
27
|
},
|
|
28
|
-
inject: [node_core_1.NodeConfig,
|
|
28
|
+
inject: [node_core_1.NodeConfig, x_sequelize_1.Sequelize],
|
|
29
29
|
},
|
|
30
30
|
],
|
|
31
31
|
controllers: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mmrMigrate.module.js","sourceRoot":"","sources":["../../src/subcommands/mmrMigrate.module.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,sCAAsC;;;;;;;;;AAEtC,2CAAwC;AACxC,+CAAqD;AACrD,gDAA2E;AAC3E,
|
|
1
|
+
{"version":3,"file":"mmrMigrate.module.js","sourceRoot":"","sources":["../../src/subcommands/mmrMigrate.module.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,sCAAsC;;;;;;;;;AAEtC,2CAAwC;AACxC,+CAAqD;AACrD,gDAA2E;AAC3E,oDAA+C;AAC/C,oEAAgE;AAezD,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;CAAG,CAAA;AAA1B,uBAAuB;IAbnC,IAAA,eAAM,EAAC;QACN,SAAS,EAAE;YACT,4BAAiB;YACjB;gBACE,OAAO,EAAE,6BAAiB;gBAC1B,UAAU,EAAE,CAAC,MAAkB,EAAE,SAAoB,EAAE,EAAE;oBACvD,OAAO,IAAI,6BAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAClD,CAAC;gBACD,MAAM,EAAE,CAAC,sBAAU,EAAE,uBAAS,CAAC;aAChC;SACF;QACD,WAAW,EAAE,EAAE;KAChB,CAAC;GACW,uBAAuB,CAAG;AAA1B,0DAAuB;AAU7B,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAAG,CAAA;AAAnB,gBAAgB;IAR5B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,oBAAQ,CAAC,OAAO,EAAE;YAClB,kCAAe,CAAC,QAAQ,EAAE;YAC1B,uBAAuB;SACxB;QACD,WAAW,EAAE,EAAE;KAChB,CAAC;GACW,gBAAgB,CAAG;AAAnB,4CAAgB","sourcesContent":["// Copyright 2020-2022 OnFinality Limited authors & contributors\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Module } from '@nestjs/common';\nimport { SchedulerRegistry } from '@nestjs/schedule';\nimport { DbModule, NodeConfig, MMRMigrateService } from '@subql/node-core';\nimport { Sequelize } from '@subql/x-sequelize';\nimport { ConfigureModule } from '../configure/configure.module';\n\n@Module({\n providers: [\n SchedulerRegistry,\n {\n provide: MMRMigrateService,\n useFactory: (config: NodeConfig, sequelize: Sequelize) => {\n return new MMRMigrateService(config, sequelize);\n },\n inject: [NodeConfig, Sequelize],\n },\n ],\n controllers: [],\n})\nexport class MMRMigrateFeatureModule {}\n\n@Module({\n imports: [\n DbModule.forRoot(),\n ConfigureModule.register(),\n MMRMigrateFeatureModule,\n ],\n controllers: [],\n})\nexport class MMRMigrateModule {}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MmrService, NodeConfig, StoreService, ForceCleanService } from '@subql/node-core';
|
|
2
|
-
import { Sequelize } from 'sequelize';
|
|
2
|
+
import { Sequelize } from '@subql/x-sequelize';
|
|
3
3
|
import { SubqueryProject } from '../configure/SubqueryProject';
|
|
4
4
|
import { DynamicDsService } from '../indexer/dynamic-ds.service';
|
|
5
5
|
import { UnfinalizedBlocksService } from '../indexer/unfinalizedBlocks.service';
|
|
@@ -17,7 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
exports.ReindexService = void 0;
|
|
18
18
|
const common_1 = require("@nestjs/common");
|
|
19
19
|
const node_core_1 = require("@subql/node-core");
|
|
20
|
-
const
|
|
20
|
+
const x_sequelize_1 = require("@subql/x-sequelize");
|
|
21
21
|
const SubqueryProject_1 = require("../configure/SubqueryProject");
|
|
22
22
|
const dynamic_ds_service_1 = require("../indexer/dynamic-ds.service");
|
|
23
23
|
const unfinalizedBlocks_service_1 = require("../indexer/unfinalizedBlocks.service");
|
|
@@ -90,7 +90,7 @@ let ReindexService = class ReindexService {
|
|
|
90
90
|
ReindexService = __decorate([
|
|
91
91
|
(0, common_1.Injectable)(),
|
|
92
92
|
__param(4, (0, common_1.Inject)('ISubqueryProject')),
|
|
93
|
-
__metadata("design:paramtypes", [
|
|
93
|
+
__metadata("design:paramtypes", [x_sequelize_1.Sequelize,
|
|
94
94
|
node_core_1.NodeConfig,
|
|
95
95
|
node_core_1.StoreService,
|
|
96
96
|
node_core_1.MmrService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reindex.service.js","sourceRoot":"","sources":["../../src/subcommands/reindex.service.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,sCAAsC;;;;;;;;;;;;;;;AAEtC,2CAAoD;AACpD,gDAU0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"reindex.service.js","sourceRoot":"","sources":["../../src/subcommands/reindex.service.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2020-2022 OnFinality Limited authors & contributors\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Inject, Injectable } from '@nestjs/common';\nimport {\n getLogger,\n MmrService,\n NodeConfig,\n StoreService,\n getExistingProjectSchema,\n CacheMetadataModel,\n initDbSchema,\n ForceCleanService,\n reindex,\n} from '@subql/node-core';\nimport { Sequelize } from '@subql/x-sequelize';\nimport { SubqueryProject } from '../configure/SubqueryProject';\nimport { DynamicDsService } from '../indexer/dynamic-ds.service';\nimport { UnfinalizedBlocksService } from '../indexer/unfinalizedBlocks.service';\n\nconst logger = getLogger('Reindex');\n\n@Injectable()\nexport class ReindexService {\n private schema: string;\n private metadataRepo: CacheMetadataModel;\n\n constructor(\n private readonly sequelize: Sequelize,\n private readonly nodeConfig: NodeConfig,\n private readonly storeService: StoreService,\n private readonly mmrService: MmrService,\n @Inject('ISubqueryProject') private readonly project: SubqueryProject,\n private readonly forceCleanService: ForceCleanService,\n private readonly unfinalizedBlocksService: UnfinalizedBlocksService,\n private readonly dynamicDsService: DynamicDsService,\n ) {}\n\n async init(): Promise<void> {\n this.schema = await this.getExistingProjectSchema();\n\n if (!this.schema) {\n logger.error('Unable to locate schema');\n throw new Error('Schema does not exist.');\n }\n await this.initDbSchema();\n\n this.metadataRepo = this.storeService.storeCache.metadata;\n\n this.dynamicDsService.init(this.metadataRepo);\n }\n\n async getTargetHeightWithUnfinalizedBlocks(\n inputHeight: number,\n ): Promise<number> {\n const unfinalizedBlocks =\n await this.unfinalizedBlocksService.getMetadataUnfinalizedBlocks();\n const bestBlocks = unfinalizedBlocks.filter(\n ({ blockHeight }) => blockHeight <= inputHeight,\n );\n if (bestBlocks.length === 0) {\n return inputHeight;\n }\n const { blockHeight: firstBestBlock } = bestBlocks[0];\n return Math.min(inputHeight, firstBestBlock);\n }\n\n private async getExistingProjectSchema(): Promise<string> {\n return getExistingProjectSchema(this.nodeConfig, this.sequelize);\n }\n\n private async getLastProcessedHeight(): Promise<number | undefined> {\n return this.metadataRepo.find('lastProcessedHeight');\n }\n\n private async getMetadataBlockOffset(): Promise<number | undefined> {\n return this.metadataRepo.find('blockOffset');\n }\n\n private async getMetadataSpecName(): Promise<string | undefined> {\n return this.metadataRepo.find('specName');\n }\n\n private async initDbSchema(): Promise<void> {\n await initDbSchema(this.project, this.schema, this.storeService);\n }\n\n private getStartBlockFromDataSources(): number {\n const datasources = this.project.dataSources;\n\n const startBlocksList = datasources.map((item) => item.startBlock ?? 1);\n if (startBlocksList.length === 0) {\n logger.error(\n `Failed to find a valid datasource, Please check your endpoint if specName filter is used.`,\n );\n process.exit(1);\n } else {\n return Math.min(...startBlocksList);\n }\n }\n\n async reindex(targetBlockHeight: number): Promise<void> {\n const [startHeight, lastProcessedHeight] = await Promise.all([\n this.getStartBlockFromDataSources(),\n this.getLastProcessedHeight(),\n ]);\n\n await reindex(\n startHeight,\n await this.getMetadataBlockOffset(),\n targetBlockHeight,\n lastProcessedHeight,\n this.storeService,\n this.unfinalizedBlocksService,\n this.dynamicDsService,\n this.mmrService,\n this.sequelize,\n this.forceCleanService,\n );\n\n await this.storeService.storeCache.flushCache(true, true);\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NodeConfig, StoreService, TestingService as BaseTestingService, ApiService } from '@subql/node-core';
|
|
2
2
|
import { EthereumBlockWrapper } from '@subql/types-ethereum';
|
|
3
|
-
import { Sequelize } from 'sequelize';
|
|
3
|
+
import { Sequelize } from '@subql/x-sequelize';
|
|
4
4
|
import { SubqlProjectDs, SubqueryProject } from '../configure/SubqueryProject';
|
|
5
5
|
import { IndexerManager } from '../indexer/indexer.manager';
|
|
6
6
|
export declare class TestingService extends BaseTestingService<EthereumBlockWrapper, SubqlProjectDs> {
|
|
@@ -17,7 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
exports.TestingService = void 0;
|
|
18
18
|
const common_1 = require("@nestjs/common");
|
|
19
19
|
const node_core_1 = require("@subql/node-core");
|
|
20
|
-
const
|
|
20
|
+
const x_sequelize_1 = require("@subql/x-sequelize");
|
|
21
21
|
const SubqueryProject_1 = require("../configure/SubqueryProject");
|
|
22
22
|
const indexer_manager_1 = require("../indexer/indexer.manager");
|
|
23
23
|
let TestingService = class TestingService extends node_core_1.TestingService {
|
|
@@ -31,7 +31,7 @@ let TestingService = class TestingService extends node_core_1.TestingService {
|
|
|
31
31
|
TestingService = __decorate([
|
|
32
32
|
(0, common_1.Injectable)(),
|
|
33
33
|
__param(3, (0, common_1.Inject)('ISubqueryProject')),
|
|
34
|
-
__metadata("design:paramtypes", [
|
|
34
|
+
__metadata("design:paramtypes", [x_sequelize_1.Sequelize,
|
|
35
35
|
node_core_1.NodeConfig,
|
|
36
36
|
node_core_1.StoreService,
|
|
37
37
|
SubqueryProject_1.SubqueryProject,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.service.js","sourceRoot":"","sources":["../../src/subcommands/testing.service.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,sCAAsC;;;;;;;;;;;;;;;AAEtC,2CAAoD;AACpD,gDAK0B;AAE1B,
|
|
1
|
+
{"version":3,"file":"testing.service.js","sourceRoot":"","sources":["../../src/subcommands/testing.service.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,sCAAsC;;;;;;;;;;;;;;;AAEtC,2CAAoD;AACpD,gDAK0B;AAE1B,oDAA+C;AAC/C,kEAA+E;AAC/E,gEAA4D;AAGrD,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,0BAGnC;IACC,YACE,SAAoB,EACpB,UAAsB,EACtB,YAA0B,EACE,OAAwB,EACpD,UAAsB,EACtB,cAA8B;QAE9B,KAAK,CACH,SAAS,EACT,UAAU,EACV,YAAY,EACZ,OAAO,EACP,UAAU,EACV,cAAc,CACf,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CACd,KAA2B,EAC3B,OAAe;QAEf,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9E,CAAC;CACF,CAAA;AA5BY,cAAc;IAD1B,IAAA,mBAAU,GAAE;IASR,WAAA,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAA;qCAHhB,uBAAS;QACR,sBAAU;QACR,wBAAY;QACW,iCAAe;QACxC,sBAAU;QACN,gCAAc;GAVrB,cAAc,CA4B1B;AA5BY,wCAAc","sourcesContent":["// Copyright 2020-2022 OnFinality Limited authors & contributors\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Inject, Injectable } from '@nestjs/common';\nimport {\n NodeConfig,\n StoreService,\n TestingService as BaseTestingService,\n ApiService,\n} from '@subql/node-core';\nimport { EthereumBlockWrapper } from '@subql/types-ethereum';\nimport { Sequelize } from '@subql/x-sequelize';\nimport { SubqlProjectDs, SubqueryProject } from '../configure/SubqueryProject';\nimport { IndexerManager } from '../indexer/indexer.manager';\n\n@Injectable()\nexport class TestingService extends BaseTestingService<\n EthereumBlockWrapper,\n SubqlProjectDs\n> {\n constructor(\n sequelize: Sequelize,\n nodeConfig: NodeConfig,\n storeService: StoreService,\n @Inject('ISubqueryProject') project: SubqueryProject,\n apiService: ApiService,\n indexerManager: IndexerManager,\n ) {\n super(\n sequelize,\n nodeConfig,\n storeService,\n project,\n apiService,\n indexerManager,\n );\n }\n\n async indexBlock(\n block: EthereumBlockWrapper,\n handler: string,\n ): Promise<void> {\n await this.indexerManager.indexBlock(block, this.getDsWithHandler(handler));\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@subql/node-ethereum",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.3-0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Ian He",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
"@nestjs/event-emitter": "^1.3.0",
|
|
25
25
|
"@nestjs/platform-express": "^8.2.6",
|
|
26
26
|
"@nestjs/schedule": "^1.0.2",
|
|
27
|
-
"@subql/common": "^2.2.
|
|
28
|
-
"@subql/common-ethereum": "2.1.
|
|
29
|
-
"@subql/node-core": "^2.4.
|
|
27
|
+
"@subql/common": "^2.2.1",
|
|
28
|
+
"@subql/common-ethereum": "2.1.2-0",
|
|
29
|
+
"@subql/node-core": "^2.4.5",
|
|
30
30
|
"@subql/testing": "^2.0.0",
|
|
31
31
|
"@subql/types": "^2.1.2",
|
|
32
32
|
"@subql/types-ethereum": "2.2.2",
|
|
@@ -67,5 +67,6 @@
|
|
|
67
67
|
"files": [
|
|
68
68
|
"/dist",
|
|
69
69
|
"/bin"
|
|
70
|
-
]
|
|
70
|
+
],
|
|
71
|
+
"stableVersion": "2.5.2"
|
|
71
72
|
}
|