@subql/node-ethereum 2.0.2-0 → 2.0.2-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/configure/SubqueryProject.d.ts +2 -4
- package/dist/configure/SubqueryProject.js +17 -17
- package/dist/configure/SubqueryProject.js.map +1 -1
- package/dist/configure/configure.module.d.ts +1 -4
- package/dist/configure/configure.module.js +24 -71
- package/dist/configure/configure.module.js.map +1 -1
- package/dist/ethereum/api.ethereum.d.ts +8 -6
- package/dist/ethereum/api.ethereum.js +13 -6
- package/dist/ethereum/api.ethereum.js.map +1 -1
- package/dist/indexer/blockDispatcher/worker-block-dispatcher.service.js +1 -0
- package/dist/indexer/blockDispatcher/worker-block-dispatcher.service.js.map +1 -1
- package/dist/indexer/dictionary.service.js +1 -1
- package/dist/indexer/dictionary.service.js.map +1 -1
- package/dist/indexer/ds-processor.service.d.ts +4 -21
- package/dist/indexer/ds-processor.service.js +6 -97
- package/dist/indexer/ds-processor.service.js.map +1 -1
- package/dist/indexer/dynamic-ds.service.js +1 -1
- package/dist/indexer/dynamic-ds.service.js.map +1 -1
- package/dist/indexer/fetch.module.js +8 -1
- package/dist/indexer/fetch.module.js.map +1 -1
- package/dist/indexer/fetch.service.d.ts +18 -43
- package/dist/indexer/fetch.service.js +28 -286
- package/dist/indexer/fetch.service.js.map +1 -1
- package/dist/indexer/indexer.manager.d.ts +33 -18
- package/dist/indexer/indexer.manager.js +29 -164
- package/dist/indexer/indexer.manager.js.map +1 -1
- package/dist/indexer/indexer.module.js +0 -1
- package/dist/indexer/indexer.module.js.map +1 -1
- package/dist/indexer/project.service.d.ts +5 -35
- package/dist/indexer/project.service.js +6 -203
- package/dist/indexer/project.service.js.map +1 -1
- package/dist/indexer/sandbox.service.d.ts +6 -5
- package/dist/indexer/sandbox.service.js +14 -18
- package/dist/indexer/sandbox.service.js.map +1 -1
- package/dist/indexer/unfinalizedBlocks.service.d.ts +10 -33
- package/dist/indexer/unfinalizedBlocks.service.js +23 -166
- package/dist/indexer/unfinalizedBlocks.service.js.map +1 -1
- package/dist/indexer/worker/worker.d.ts +2 -1
- package/dist/indexer/worker/worker.js.map +1 -1
- package/dist/indexer/worker/worker.service.d.ts +2 -8
- package/dist/indexer/worker/worker.service.js +1 -3
- package/dist/indexer/worker/worker.service.js.map +1 -1
- package/dist/indexer/worker/worker.unfinalizedBlocks.service.d.ts +8 -5
- package/dist/indexer/worker/worker.unfinalizedBlocks.service.js +10 -0
- package/dist/indexer/worker/worker.unfinalizedBlocks.service.js.map +1 -1
- package/dist/main.js +4 -1
- package/dist/main.js.map +1 -1
- package/dist/meta/meta.controller.d.ts +4 -6
- package/dist/meta/meta.module.js +1 -52
- package/dist/meta/meta.module.js.map +1 -1
- package/dist/meta/meta.service.d.ts +7 -40
- package/dist/meta/meta.service.js +9 -83
- package/dist/meta/meta.service.js.map +1 -1
- package/dist/subcommands/forceClean.init.js +1 -2
- package/dist/subcommands/forceClean.init.js.map +1 -1
- package/dist/subcommands/forceClean.module.js +2 -2
- package/dist/subcommands/forceClean.module.js.map +1 -1
- package/dist/subcommands/mmrMigrate.init.d.ts +2 -0
- package/dist/subcommands/mmrMigrate.init.js +28 -0
- package/dist/subcommands/mmrMigrate.init.js.map +1 -0
- package/dist/subcommands/mmrMigrate.module.d.ts +4 -0
- package/dist/subcommands/mmrMigrate.module.js +48 -0
- package/dist/subcommands/mmrMigrate.module.js.map +1 -0
- package/dist/subcommands/mmrRegenerate.init.d.ts +1 -0
- package/dist/subcommands/mmrRegenerate.init.js +27 -0
- package/dist/subcommands/mmrRegenerate.init.js.map +1 -0
- package/dist/subcommands/mmrRegenerate.module.d.ts +4 -0
- package/dist/subcommands/mmrRegenerate.module.js +46 -0
- package/dist/subcommands/mmrRegenerate.module.js.map +1 -0
- package/dist/subcommands/reindex.module.js +3 -2
- package/dist/subcommands/reindex.module.js.map +1 -1
- package/dist/subcommands/reindex.service.d.ts +1 -2
- package/dist/subcommands/reindex.service.js +5 -10
- package/dist/subcommands/reindex.service.js.map +1 -1
- package/dist/subcommands/testing.init.js.map +1 -1
- package/dist/subcommands/testing.module.js +1 -0
- package/dist/subcommands/testing.module.js.map +1 -1
- package/dist/subcommands/testing.service.d.ts +1 -1
- package/dist/subcommands/testing.service.js +0 -1
- package/dist/subcommands/testing.service.js.map +1 -1
- package/dist/utils/project.d.ts +4 -11
- package/dist/utils/project.js +9 -138
- package/dist/utils/project.js.map +1 -1
- package/dist/yargs.d.ts +90 -2
- package/dist/yargs.js +113 -0
- package/dist/yargs.js.map +1 -1
- package/package.json +10 -19
- package/dist/configure/configure.module.spec.d.ts +0 -1
- package/dist/configure/configure.module.spec.js +0 -26
- package/dist/configure/configure.module.spec.js.map +0 -1
- package/dist/indexer/unfinalizedBlocks.spec.d.ts +0 -1
- package/dist/indexer/unfinalizedBlocks.spec.js +0 -195
- package/dist/indexer/unfinalizedBlocks.spec.js.map +0 -1
- package/dist/subcommands/forceClean.service.d.ts +0 -10
- package/dist/subcommands/forceClean.service.js +0 -89
- package/dist/subcommands/forceClean.service.js.map +0 -1
- package/dist/utils/reindex.d.ts +0 -6
- package/dist/utils/reindex.js +0 -48
- package/dist/utils/reindex.js.map +0 -1
|
@@ -23,6 +23,16 @@ let WorkerUnfinalizedBlocksService = class WorkerUnfinalizedBlocksService {
|
|
|
23
23
|
async processUnfinalizedBlocks(block) {
|
|
24
24
|
return this.host.unfinalizedBlocksProcess(block);
|
|
25
25
|
}
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
27
|
+
init(reindex) {
|
|
28
|
+
throw new Error('This method should not be called from a worker');
|
|
29
|
+
}
|
|
30
|
+
resetUnfinalizedBlocks() {
|
|
31
|
+
throw new Error('This method should not be called from a worker');
|
|
32
|
+
}
|
|
33
|
+
resetLastFinalizedVerifiedHeight() {
|
|
34
|
+
throw new Error('This method should not be called from a worker');
|
|
35
|
+
}
|
|
26
36
|
};
|
|
27
37
|
WorkerUnfinalizedBlocksService = __decorate([
|
|
28
38
|
(0, common_1.Injectable)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.unfinalizedBlocks.service.js","sourceRoot":"","sources":["../../../src/indexer/worker/worker.unfinalizedBlocks.service.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,sCAAsC;;;;;;;;;;;;AAEtC,2CAA4C;AAQ/B,QAAA,yBAAyB,GAAoC;IACxE,0BAA0B;CAC3B,CAAC;AAGK,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IAGzC,YAAoB,IAA2B;QAA3B,SAAI,GAAJ,IAAI,CAAuB;IAAG,CAAC;IAEnD,KAAK,CAAC,wBAAwB,CAAC,
|
|
1
|
+
{"version":3,"file":"worker.unfinalizedBlocks.service.js","sourceRoot":"","sources":["../../../src/indexer/worker/worker.unfinalizedBlocks.service.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,sCAAsC;;;;;;;;;;;;AAEtC,2CAA4C;AAQ/B,QAAA,yBAAyB,GAAoC;IACxE,0BAA0B;CAC3B,CAAC;AAGK,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IAGzC,YAAoB,IAA2B;QAA3B,SAAI,GAAJ,IAAI,CAAuB;IAAG,CAAC;IAEnD,KAAK,CAAC,wBAAwB,CAAC,KAAmB;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,qEAAqE;IACrE,IAAI,CAAC,OAAgD;QACnD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,sBAAsB;QACpB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,gCAAgC;QAC9B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;CACF,CAAA;AAnBY,8BAA8B;IAD1C,IAAA,mBAAU,GAAE;;GACA,8BAA8B,CAmB1C;AAnBY,wEAA8B","sourcesContent":["// Copyright 2020-2022 OnFinality Limited authors & contributors\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Injectable } from '@nestjs/common';\nimport { IUnfinalizedBlocksService } from '@subql/node-core';\nimport { BlockWrapper, EthereumBlock } from '@subql/types-ethereum';\n\nexport type HostUnfinalizedBlocks = {\n unfinalizedBlocksProcess: (block: BlockWrapper) => Promise<number | null>;\n};\n\nexport const hostUnfinalizedBlocksKeys: (keyof HostUnfinalizedBlocks)[] = [\n 'unfinalizedBlocksProcess',\n];\n\n@Injectable()\nexport class WorkerUnfinalizedBlocksService\n implements IUnfinalizedBlocksService<BlockWrapper>\n{\n constructor(private host: HostUnfinalizedBlocks) {}\n\n async processUnfinalizedBlocks(block: BlockWrapper): Promise<number | null> {\n return this.host.unfinalizedBlocksProcess(block);\n }\n\n // eslint-disable-next-line @typescript-eslint/promise-function-async\n init(reindex: (targetHeight: number) => Promise<void>): Promise<number> {\n throw new Error('This method should not be called from a worker');\n }\n resetUnfinalizedBlocks(): void {\n throw new Error('This method should not be called from a worker');\n }\n resetLastFinalizedVerifiedHeight(): void {\n throw new Error('This method should not be called from a worker');\n }\n}\n"]}
|
package/dist/main.js
CHANGED
|
@@ -13,7 +13,10 @@ BigInt.prototype.toJSON = function () {
|
|
|
13
13
|
// Lazy import, to allow logger to be initialised before bootstrap()
|
|
14
14
|
// As bootstrap runs services that requires logger
|
|
15
15
|
const { bootstrap } = require('./init');
|
|
16
|
-
if (!(argv._[0] === 'test'
|
|
16
|
+
if (!(argv._[0] === 'test' ||
|
|
17
|
+
argv._[0] === 'mmr-migrate' ||
|
|
18
|
+
argv._[0] === 'mmr-regen' ||
|
|
19
|
+
argv._[0] === 'force-clean')) {
|
|
17
20
|
void bootstrap();
|
|
18
21
|
}
|
|
19
22
|
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,sCAAsC;;AAEtC,oDAAqD;AACrD,mCAAuC;AAEvC,MAAM,EAAE,IAAI,EAAE,GAAG,oBAAY,CAAC;AAE7B,MAAM,CAAC,SAAiB,CAAC,MAAM,GAAG;IACjC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;AACzB,CAAC,CAAC;AAEF,iIAAiI;AACjI,IAAA,mBAAU,EACR,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAA+B,EACpC,IAAI,CAAC,QAA8B,CACpC,CAAC;AAEF,oEAAoE;AACpE,kDAAkD;AAClD,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACxC,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,sCAAsC;;AAEtC,oDAAqD;AACrD,mCAAuC;AAEvC,MAAM,EAAE,IAAI,EAAE,GAAG,oBAAY,CAAC;AAE7B,MAAM,CAAC,SAAiB,CAAC,MAAM,GAAG;IACjC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;AACzB,CAAC,CAAC;AAEF,iIAAiI;AACjI,IAAA,mBAAU,EACR,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAA+B,EACpC,IAAI,CAAC,QAA8B,CACpC,CAAC;AAEF,oEAAoE;AACpE,kDAAkD;AAClD,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACxC,IACE,CAAC,CACC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM;IACpB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa;IAC3B,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,WAAW;IACzB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,CAC5B,EACD;IACA,KAAK,SAAS,EAAE,CAAC;CAClB","sourcesContent":["// Copyright 2020-2022 OnFinality Limited authors & contributors\n// SPDX-License-Identifier: Apache-2.0\n\nimport { initLogger } from '@subql/node-core/logger';\nimport { yargsOptions } from './yargs';\n\nconst { argv } = yargsOptions;\n\n(BigInt.prototype as any).toJSON = function () {\n return this.toString();\n};\n\n// initLogger is imported from true path, to make sure getLogger (or other logger values that relies on logger) isn't initialised\ninitLogger(\n argv.debug,\n argv.outputFmt as 'json' | 'colored',\n argv.logLevel as string | undefined,\n);\n\n// Lazy import, to allow logger to be initialised before bootstrap()\n// As bootstrap runs services that requires logger\nconst { bootstrap } = require('./init');\nif (\n !(\n argv._[0] === 'test' ||\n argv._[0] === 'mmr-migrate' ||\n argv._[0] === 'mmr-regen' ||\n argv._[0] === 'force-clean'\n )\n) {\n void bootstrap();\n}\n"]}
|
|
@@ -3,21 +3,19 @@ export declare class MetaController {
|
|
|
3
3
|
private metaService;
|
|
4
4
|
constructor(metaService: MetaService);
|
|
5
5
|
getMeta(): {
|
|
6
|
-
chain
|
|
7
|
-
specName
|
|
8
|
-
genesisHash
|
|
6
|
+
chain?: string;
|
|
7
|
+
specName?: string;
|
|
8
|
+
genesisHash?: string;
|
|
9
9
|
currentProcessingHeight: number;
|
|
10
10
|
currentProcessingTimestamp: number;
|
|
11
11
|
targetHeight: number;
|
|
12
12
|
bestHeight: number;
|
|
13
|
-
indexerNodeVersion:
|
|
13
|
+
indexerNodeVersion: string;
|
|
14
14
|
lastProcessedHeight: number;
|
|
15
15
|
lastProcessedTimestamp: number;
|
|
16
16
|
uptime: number;
|
|
17
|
-
polkadotSdkVersion: any;
|
|
18
17
|
processedBlockCount: number;
|
|
19
18
|
apiConnected: boolean;
|
|
20
|
-
injectedApiConnected: boolean;
|
|
21
19
|
usingDictionary: boolean;
|
|
22
20
|
};
|
|
23
21
|
}
|
package/dist/meta/meta.module.js
CHANGED
|
@@ -23,58 +23,7 @@ MetaModule = __decorate([
|
|
|
23
23
|
controllers: [meta_controller_1.MetaController, node_core_1.HealthController, node_core_1.ReadyController],
|
|
24
24
|
providers: [
|
|
25
25
|
node_core_1.MetricEventListener,
|
|
26
|
-
|
|
27
|
-
name: 'subql_indexer_api_connected',
|
|
28
|
-
help: 'The indexer api connection status',
|
|
29
|
-
}),
|
|
30
|
-
(0, nestjs_prometheus_1.makeGaugeProvider)({
|
|
31
|
-
name: 'subql_indexer_injected_api_connected',
|
|
32
|
-
help: 'The indexer injected api connection status',
|
|
33
|
-
}),
|
|
34
|
-
(0, nestjs_prometheus_1.makeGaugeProvider)({
|
|
35
|
-
name: 'subql_indexer_processing_block_height',
|
|
36
|
-
help: 'The current processing block height',
|
|
37
|
-
}),
|
|
38
|
-
(0, nestjs_prometheus_1.makeGaugeProvider)({
|
|
39
|
-
name: 'subql_indexer_processed_block_height',
|
|
40
|
-
help: 'The last processed block height',
|
|
41
|
-
}),
|
|
42
|
-
(0, nestjs_prometheus_1.makeGaugeProvider)({
|
|
43
|
-
name: 'subql_indexer_target_block_height',
|
|
44
|
-
help: 'The latest finalized block height',
|
|
45
|
-
}),
|
|
46
|
-
(0, nestjs_prometheus_1.makeGaugeProvider)({
|
|
47
|
-
name: 'subql_indexer_best_block_height',
|
|
48
|
-
help: 'The latest best block height',
|
|
49
|
-
}),
|
|
50
|
-
(0, nestjs_prometheus_1.makeGaugeProvider)({
|
|
51
|
-
name: 'subql_indexer_block_queue_size',
|
|
52
|
-
help: 'The size of fetched block queue',
|
|
53
|
-
}),
|
|
54
|
-
(0, nestjs_prometheus_1.makeGaugeProvider)({
|
|
55
|
-
name: 'subql_indexer_blocknumber_queue_size',
|
|
56
|
-
help: 'The size of fetched block number queue',
|
|
57
|
-
}),
|
|
58
|
-
(0, nestjs_prometheus_1.makeGaugeProvider)({
|
|
59
|
-
name: 'subql_indexer_using_dictionary',
|
|
60
|
-
help: 'The status of indexer is using the dictionary',
|
|
61
|
-
}),
|
|
62
|
-
(0, nestjs_prometheus_1.makeGaugeProvider)({
|
|
63
|
-
name: 'subql_indexer_skip_dictionary_count',
|
|
64
|
-
help: 'The number of times indexer been skip use dictionary',
|
|
65
|
-
}),
|
|
66
|
-
(0, nestjs_prometheus_1.makeGaugeProvider)({
|
|
67
|
-
name: 'subql_indexer_processed_block_count',
|
|
68
|
-
help: 'The number of processed block',
|
|
69
|
-
}),
|
|
70
|
-
(0, nestjs_prometheus_1.makeGaugeProvider)({
|
|
71
|
-
name: 'subql_indexer_store_cache_threshold',
|
|
72
|
-
help: 'Store cache will flush once cache record size excess this threshold',
|
|
73
|
-
}),
|
|
74
|
-
(0, nestjs_prometheus_1.makeGaugeProvider)({
|
|
75
|
-
name: 'subql_indexer_store_cache_records_size',
|
|
76
|
-
help: 'Number of records waiting to flush in store cache',
|
|
77
|
-
}),
|
|
26
|
+
...node_core_1.gaugeProviders,
|
|
78
27
|
meta_service_1.MetaService,
|
|
79
28
|
node_core_1.HealthService,
|
|
80
29
|
node_core_1.ReadyService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.module.js","sourceRoot":"","sources":["../../src/meta/meta.module.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,sCAAsC;;;;;;;;;AAEtC,2CAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"meta.module.js","sourceRoot":"","sources":["../../src/meta/meta.module.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,sCAAsC;;;;;;;;;AAEtC,2CAAwC;AACxC,gDAO0B;AAC1B,mEAA+D;AAC/D,0DAAsD;AACtD,uDAAmD;AACnD,iDAA6C;AAatC,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,UAAU;IAXtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,oCAAgB,CAAC,QAAQ,EAAE,EAAE,0BAAW,CAAC;QACnD,WAAW,EAAE,CAAC,gCAAc,EAAE,4BAAgB,EAAE,2BAAe,CAAC;QAChE,SAAS,EAAE;YACT,+BAAmB;YACnB,GAAG,0BAAc;YACjB,0BAAW;YACX,yBAAa;YACb,wBAAY;SACb;KACF,CAAC;GACW,UAAU,CAAG;AAAb,gCAAU","sourcesContent":["// Copyright 2020-2022 OnFinality Limited authors & contributors\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Module } from '@nestjs/common';\nimport {\n MetricEventListener,\n ReadyController,\n ReadyService,\n HealthController,\n HealthService,\n gaugeProviders,\n} 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: [MetaController, HealthController, ReadyController],\n providers: [\n MetricEventListener,\n ...gaugeProviders,\n MetaService,\n HealthService,\n ReadyService,\n ],\n})\nexport class MetaModule {}\n"]}
|
|
@@ -1,18 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare class MetaService {
|
|
3
|
-
private storeService;
|
|
1
|
+
import { BaseMetaService, NodeConfig, StoreService } from '@subql/node-core';
|
|
2
|
+
export declare class MetaService extends BaseMetaService {
|
|
4
3
|
private nodeConfig;
|
|
5
|
-
private currentProcessingHeight;
|
|
6
|
-
private currentProcessingTimestamp;
|
|
7
|
-
private bestHeight;
|
|
8
|
-
private targetHeight;
|
|
9
|
-
private networkMeta;
|
|
10
|
-
private apiConnected;
|
|
11
|
-
private usingDictionary;
|
|
12
|
-
private injectedApiConnected;
|
|
13
|
-
private lastProcessedHeight;
|
|
14
|
-
private lastProcessedTimestamp;
|
|
15
|
-
private processedBlockCount;
|
|
16
4
|
private accEnqueueBlocks;
|
|
17
5
|
private accFetchBlocks;
|
|
18
6
|
private currentFilteringBlockNum;
|
|
@@ -22,33 +10,12 @@ export declare class MetaService {
|
|
|
22
10
|
private lastReportedFetchBlocks;
|
|
23
11
|
private lastReportedRpcCalls;
|
|
24
12
|
private lastStatsReportedTs;
|
|
25
|
-
constructor(
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
currentProcessingHeight: number;
|
|
31
|
-
currentProcessingTimestamp: number;
|
|
32
|
-
targetHeight: number;
|
|
33
|
-
bestHeight: number;
|
|
34
|
-
indexerNodeVersion: any;
|
|
35
|
-
lastProcessedHeight: number;
|
|
36
|
-
lastProcessedTimestamp: number;
|
|
37
|
-
uptime: number;
|
|
38
|
-
polkadotSdkVersion: any;
|
|
39
|
-
processedBlockCount: number;
|
|
40
|
-
apiConnected: boolean;
|
|
41
|
-
injectedApiConnected: boolean;
|
|
42
|
-
usingDictionary: boolean;
|
|
13
|
+
constructor(nodeConfig: NodeConfig, storeService: StoreService);
|
|
14
|
+
protected packageVersion: any;
|
|
15
|
+
protected sdkVersion(): {
|
|
16
|
+
name: string;
|
|
17
|
+
version: string;
|
|
43
18
|
};
|
|
44
|
-
getTargetHeight(): void;
|
|
45
|
-
handleProcessingBlock(blockPayload: ProcessBlockPayload): void;
|
|
46
|
-
handleProcessedBlock(blockPayload: ProcessedBlockCountPayload): void;
|
|
47
|
-
handleTargetBlock(blockPayload: TargetBlockPayload): void;
|
|
48
|
-
handleBestBlock(blockPayload: BestBlockPayload): void;
|
|
49
|
-
handleNetworkMetadata(networkMeta: NetworkMetadataPayload): void;
|
|
50
|
-
handleApiConnected({ value }: EventPayload<number>): void;
|
|
51
|
-
handleUsingDictionary({ value }: EventPayload<number>): void;
|
|
52
19
|
handleEnqueueBlocks(size: number): void;
|
|
53
20
|
handleFilteringBlocks(height: number): void;
|
|
54
21
|
handleFetchBlock(): void;
|
|
@@ -16,14 +16,14 @@ const common_1 = require("@nestjs/common");
|
|
|
16
16
|
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
17
17
|
const schedule_1 = require("@nestjs/schedule");
|
|
18
18
|
const node_core_1 = require("@subql/node-core");
|
|
19
|
-
const UPDATE_HEIGHT_INTERVAL = 60000;
|
|
20
19
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
21
|
-
const { version:
|
|
20
|
+
const { version: ethersSdkVersion } = require('ethers/package.json');
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
22
22
|
const { version: packageVersion } = require('../../package.json');
|
|
23
23
|
const logger = (0, node_core_1.getLogger)('profiler');
|
|
24
|
-
let MetaService = class MetaService {
|
|
25
|
-
constructor(
|
|
26
|
-
|
|
24
|
+
let MetaService = class MetaService extends node_core_1.BaseMetaService {
|
|
25
|
+
constructor(nodeConfig, storeService) {
|
|
26
|
+
super(storeService);
|
|
27
27
|
this.nodeConfig = nodeConfig;
|
|
28
28
|
this.accEnqueueBlocks = 0;
|
|
29
29
|
this.accFetchBlocks = 0;
|
|
@@ -33,35 +33,10 @@ let MetaService = class MetaService {
|
|
|
33
33
|
this.lastReportedEnqueueBlocks = 0;
|
|
34
34
|
this.lastReportedFetchBlocks = 0;
|
|
35
35
|
this.lastReportedRpcCalls = 0;
|
|
36
|
+
this.packageVersion = packageVersion;
|
|
36
37
|
}
|
|
37
|
-
|
|
38
|
-
return
|
|
39
|
-
}
|
|
40
|
-
getTargetHeight() {
|
|
41
|
-
this.storeService.storeCache.metadata.set('targetHeight', this.targetHeight);
|
|
42
|
-
}
|
|
43
|
-
handleProcessingBlock(blockPayload) {
|
|
44
|
-
this.currentProcessingHeight = blockPayload.height;
|
|
45
|
-
this.currentProcessingTimestamp = blockPayload.timestamp;
|
|
46
|
-
}
|
|
47
|
-
handleProcessedBlock(blockPayload) {
|
|
48
|
-
this.processedBlockCount = blockPayload.processedBlockCount;
|
|
49
|
-
this.currentProcessingTimestamp = blockPayload.timestamp;
|
|
50
|
-
}
|
|
51
|
-
handleTargetBlock(blockPayload) {
|
|
52
|
-
this.targetHeight = blockPayload.height;
|
|
53
|
-
}
|
|
54
|
-
handleBestBlock(blockPayload) {
|
|
55
|
-
this.bestHeight = blockPayload.height;
|
|
56
|
-
}
|
|
57
|
-
handleNetworkMetadata(networkMeta) {
|
|
58
|
-
this.networkMeta = networkMeta;
|
|
59
|
-
}
|
|
60
|
-
handleApiConnected({ value }) {
|
|
61
|
-
this.apiConnected = !!value;
|
|
62
|
-
}
|
|
63
|
-
handleUsingDictionary({ value }) {
|
|
64
|
-
this.usingDictionary = !!value;
|
|
38
|
+
sdkVersion() {
|
|
39
|
+
return { name: 'ethersSdkVersion', version: ethersSdkVersion };
|
|
65
40
|
}
|
|
66
41
|
handleEnqueueBlocks(size) {
|
|
67
42
|
this.accEnqueueBlocks += size;
|
|
@@ -107,54 +82,6 @@ seeming speed: ${(filteringCount / (timepass / 1000)).toFixed(2)}/sec, rpcCalls:
|
|
|
107
82
|
fetch speed: ${(fetchCount / (timepass / 1000)).toFixed(2)}/sec`);
|
|
108
83
|
}
|
|
109
84
|
};
|
|
110
|
-
__decorate([
|
|
111
|
-
(0, schedule_1.Interval)(UPDATE_HEIGHT_INTERVAL),
|
|
112
|
-
__metadata("design:type", Function),
|
|
113
|
-
__metadata("design:paramtypes", []),
|
|
114
|
-
__metadata("design:returntype", void 0)
|
|
115
|
-
], MetaService.prototype, "getTargetHeight", null);
|
|
116
|
-
__decorate([
|
|
117
|
-
(0, event_emitter_1.OnEvent)(node_core_1.IndexerEvent.BlockProcessing),
|
|
118
|
-
__metadata("design:type", Function),
|
|
119
|
-
__metadata("design:paramtypes", [Object]),
|
|
120
|
-
__metadata("design:returntype", void 0)
|
|
121
|
-
], MetaService.prototype, "handleProcessingBlock", null);
|
|
122
|
-
__decorate([
|
|
123
|
-
(0, event_emitter_1.OnEvent)(node_core_1.IndexerEvent.BlockProcessedCount),
|
|
124
|
-
__metadata("design:type", Function),
|
|
125
|
-
__metadata("design:paramtypes", [Object]),
|
|
126
|
-
__metadata("design:returntype", void 0)
|
|
127
|
-
], MetaService.prototype, "handleProcessedBlock", null);
|
|
128
|
-
__decorate([
|
|
129
|
-
(0, event_emitter_1.OnEvent)(node_core_1.IndexerEvent.BlockTarget),
|
|
130
|
-
__metadata("design:type", Function),
|
|
131
|
-
__metadata("design:paramtypes", [Object]),
|
|
132
|
-
__metadata("design:returntype", void 0)
|
|
133
|
-
], MetaService.prototype, "handleTargetBlock", null);
|
|
134
|
-
__decorate([
|
|
135
|
-
(0, event_emitter_1.OnEvent)(node_core_1.IndexerEvent.BlockBest),
|
|
136
|
-
__metadata("design:type", Function),
|
|
137
|
-
__metadata("design:paramtypes", [Object]),
|
|
138
|
-
__metadata("design:returntype", void 0)
|
|
139
|
-
], MetaService.prototype, "handleBestBlock", null);
|
|
140
|
-
__decorate([
|
|
141
|
-
(0, event_emitter_1.OnEvent)(node_core_1.IndexerEvent.NetworkMetadata),
|
|
142
|
-
__metadata("design:type", Function),
|
|
143
|
-
__metadata("design:paramtypes", [Object]),
|
|
144
|
-
__metadata("design:returntype", void 0)
|
|
145
|
-
], MetaService.prototype, "handleNetworkMetadata", null);
|
|
146
|
-
__decorate([
|
|
147
|
-
(0, event_emitter_1.OnEvent)(node_core_1.IndexerEvent.ApiConnected),
|
|
148
|
-
__metadata("design:type", Function),
|
|
149
|
-
__metadata("design:paramtypes", [Object]),
|
|
150
|
-
__metadata("design:returntype", void 0)
|
|
151
|
-
], MetaService.prototype, "handleApiConnected", null);
|
|
152
|
-
__decorate([
|
|
153
|
-
(0, event_emitter_1.OnEvent)(node_core_1.IndexerEvent.UsingDictionary),
|
|
154
|
-
__metadata("design:type", Function),
|
|
155
|
-
__metadata("design:paramtypes", [Object]),
|
|
156
|
-
__metadata("design:returntype", void 0)
|
|
157
|
-
], MetaService.prototype, "handleUsingDictionary", null);
|
|
158
85
|
__decorate([
|
|
159
86
|
(0, event_emitter_1.OnEvent)('enqueueBlocks'),
|
|
160
87
|
__metadata("design:type", Function),
|
|
@@ -187,8 +114,7 @@ __decorate([
|
|
|
187
114
|
], MetaService.prototype, "blockFilteringSpeed", null);
|
|
188
115
|
MetaService = __decorate([
|
|
189
116
|
(0, common_1.Injectable)(),
|
|
190
|
-
__metadata("design:paramtypes", [node_core_1.StoreService
|
|
191
|
-
node_core_1.NodeConfig])
|
|
117
|
+
__metadata("design:paramtypes", [node_core_1.NodeConfig, node_core_1.StoreService])
|
|
192
118
|
], MetaService);
|
|
193
119
|
exports.MetaService = MetaService;
|
|
194
120
|
//# sourceMappingURL=meta.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.service.js","sourceRoot":"","sources":["../../src/meta/meta.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 { Injectable } from '@nestjs/common';\nimport { OnEvent } from '@nestjs/event-emitter';\nimport { Interval } from '@nestjs/schedule';\nimport {\n BestBlockPayload,\n EventPayload,\n IndexerEvent,\n NetworkMetadataPayload,\n ProcessBlockPayload,\n ProcessedBlockCountPayload,\n TargetBlockPayload,\n StoreService,\n getLogger,\n NodeConfig,\n} from '@subql/node-core';\n\nconst UPDATE_HEIGHT_INTERVAL = 60000;\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst { version: polkadotSdkVersion } = require('@polkadot/api/package.json');\nconst { version: packageVersion } = require('../../package.json');\nconst logger = getLogger('profiler');\n\n@Injectable()\nexport class MetaService {\n private currentProcessingHeight: number;\n private currentProcessingTimestamp: number;\n private bestHeight: number;\n private targetHeight: number;\n private networkMeta: NetworkMetadataPayload;\n private apiConnected: boolean;\n private usingDictionary: boolean;\n private injectedApiConnected: boolean;\n private lastProcessedHeight: number;\n private lastProcessedTimestamp: number;\n private processedBlockCount: number;\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\n constructor(\n private storeService: StoreService,\n private nodeConfig: NodeConfig,\n ) {}\n\n getMeta() {\n return {\n currentProcessingHeight: this.currentProcessingHeight,\n currentProcessingTimestamp: this.currentProcessingTimestamp,\n targetHeight: this.targetHeight,\n bestHeight: this.bestHeight,\n indexerNodeVersion: packageVersion,\n lastProcessedHeight: this.lastProcessedHeight,\n lastProcessedTimestamp: this.lastProcessedTimestamp,\n uptime: process.uptime(),\n polkadotSdkVersion,\n processedBlockCount: this.processedBlockCount,\n apiConnected: this.apiConnected,\n injectedApiConnected: this.injectedApiConnected,\n usingDictionary: this.usingDictionary,\n ...this.networkMeta,\n };\n }\n\n @Interval(UPDATE_HEIGHT_INTERVAL)\n getTargetHeight(): void {\n this.storeService.storeCache.metadata.set(\n 'targetHeight',\n this.targetHeight,\n );\n }\n\n @OnEvent(IndexerEvent.BlockProcessing)\n handleProcessingBlock(blockPayload: ProcessBlockPayload): void {\n this.currentProcessingHeight = blockPayload.height;\n this.currentProcessingTimestamp = blockPayload.timestamp;\n }\n\n @OnEvent(IndexerEvent.BlockProcessedCount)\n handleProcessedBlock(blockPayload: ProcessedBlockCountPayload): void {\n this.processedBlockCount = blockPayload.processedBlockCount;\n this.currentProcessingTimestamp = blockPayload.timestamp;\n }\n\n @OnEvent(IndexerEvent.BlockTarget)\n handleTargetBlock(blockPayload: TargetBlockPayload): void {\n this.targetHeight = blockPayload.height;\n }\n\n @OnEvent(IndexerEvent.BlockBest)\n handleBestBlock(blockPayload: BestBlockPayload): void {\n this.bestHeight = blockPayload.height;\n }\n\n @OnEvent(IndexerEvent.NetworkMetadata)\n handleNetworkMetadata(networkMeta: NetworkMetadataPayload): void {\n this.networkMeta = networkMeta;\n }\n\n @OnEvent(IndexerEvent.ApiConnected)\n handleApiConnected({ value }: EventPayload<number>): void {\n this.apiConnected = !!value;\n }\n\n @OnEvent(IndexerEvent.UsingDictionary)\n handleUsingDictionary({ value }: EventPayload<number>): void {\n this.usingDictionary = !!value;\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) {\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"]}
|
|
1
|
+
{"version":3,"file":"meta.service.js","sourceRoot":"","sources":["../../src/meta/meta.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 { Injectable } from '@nestjs/common';\nimport { OnEvent } from '@nestjs/event-emitter';\nimport { Interval } from '@nestjs/schedule';\nimport {\n BaseMetaService,\n getLogger,\n NodeConfig,\n StoreService,\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\n constructor(private nodeConfig: NodeConfig, storeService: StoreService) {\n super(storeService);\n }\n\n protected packageVersion = packageVersion;\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) {\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"]}
|
|
@@ -6,13 +6,12 @@ exports.forceCleanInit = void 0;
|
|
|
6
6
|
const core_1 = require("@nestjs/core");
|
|
7
7
|
const node_core_1 = require("@subql/node-core");
|
|
8
8
|
const forceClean_module_1 = require("./forceClean.module");
|
|
9
|
-
const forceClean_service_1 = require("./forceClean.service");
|
|
10
9
|
const logger = (0, node_core_1.getLogger)('CLI');
|
|
11
10
|
async function forceCleanInit() {
|
|
12
11
|
try {
|
|
13
12
|
const app = await core_1.NestFactory.create(forceClean_module_1.ForceCleanModule);
|
|
14
13
|
await app.init();
|
|
15
|
-
const forceCleanService = app.get(
|
|
14
|
+
const forceCleanService = app.get(node_core_1.ForceCleanService);
|
|
16
15
|
await forceCleanService.forceClean();
|
|
17
16
|
}
|
|
18
17
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forceClean.init.js","sourceRoot":"","sources":["../../src/subcommands/forceClean.init.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,sCAAsC;;;AAEtC,uCAA2C;AAC3C,
|
|
1
|
+
{"version":3,"file":"forceClean.init.js","sourceRoot":"","sources":["../../src/subcommands/forceClean.init.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,sCAAsC;;;AAEtC,uCAA2C;AAC3C,gDAAgE;AAChE,2DAAuD;AAEvD,MAAM,MAAM,GAAG,IAAA,qBAAS,EAAC,KAAK,CAAC,CAAC;AACzB,KAAK,UAAU,cAAc;IAClC,IAAI;QACF,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,oCAAgB,CAAC,CAAC;QACvD,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,iBAAiB,GAAG,GAAG,CAAC,GAAG,CAAC,6BAAiB,CAAC,CAAC;QACrD,MAAM,iBAAiB,CAAC,UAAU,EAAE,CAAC;KACtC;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,+BAA+B,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAZD,wCAYC","sourcesContent":["// Copyright 2020-2022 OnFinality Limited authors & contributors\n// SPDX-License-Identifier: Apache-2.0\n\nimport { NestFactory } from '@nestjs/core';\nimport { ForceCleanService, getLogger } from '@subql/node-core';\nimport { ForceCleanModule } from './forceClean.module';\n\nconst logger = getLogger('CLI');\nexport async function forceCleanInit(): Promise<void> {\n try {\n const app = await NestFactory.create(ForceCleanModule);\n await app.init();\n const forceCleanService = app.get(ForceCleanService);\n await forceCleanService.forceClean();\n } catch (e) {\n logger.error(e, 'Force-clean failed to execute');\n process.exit(1);\n }\n\n process.exit(0);\n}\n"]}
|
|
@@ -10,14 +10,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
11
|
exports.ForceCleanModule = exports.ForceCleanFeatureModule = void 0;
|
|
12
12
|
const common_1 = require("@nestjs/common");
|
|
13
|
+
const schedule_1 = require("@nestjs/schedule");
|
|
13
14
|
const node_core_1 = require("@subql/node-core");
|
|
14
15
|
const configure_module_1 = require("../configure/configure.module");
|
|
15
|
-
const forceClean_service_1 = require("./forceClean.service");
|
|
16
16
|
let ForceCleanFeatureModule = class ForceCleanFeatureModule {
|
|
17
17
|
};
|
|
18
18
|
ForceCleanFeatureModule = __decorate([
|
|
19
19
|
(0, common_1.Module)({
|
|
20
|
-
providers: [
|
|
20
|
+
providers: [node_core_1.ForceCleanService, schedule_1.SchedulerRegistry],
|
|
21
21
|
controllers: [],
|
|
22
22
|
})
|
|
23
23
|
], ForceCleanFeatureModule);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forceClean.module.js","sourceRoot":"","sources":["../../src/subcommands/forceClean.module.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,sCAAsC;;;;;;;;;AAEtC,2CAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"forceClean.module.js","sourceRoot":"","sources":["../../src/subcommands/forceClean.module.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,sCAAsC;;;;;;;;;AAEtC,2CAAwC;AACxC,+CAAqD;AACrD,gDAA+D;AAC/D,oEAAgE;AAMzD,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;CAAG,CAAA;AAA1B,uBAAuB;IAJnC,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,6BAAiB,EAAE,4BAAiB,CAAC;QACjD,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, ForceCleanService } from '@subql/node-core';\nimport { ConfigureModule } from '../configure/configure.module';\n\n@Module({\n providers: [ForceCleanService, SchedulerRegistry],\n controllers: [],\n})\nexport class ForceCleanFeatureModule {}\n\n@Module({\n imports: [\n DbModule.forRoot(),\n ConfigureModule.register(),\n ForceCleanFeatureModule,\n ],\n controllers: [],\n})\nexport class ForceCleanModule {}\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2020-2022 OnFinality Limited authors & contributors
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.mmrMigrateInit = void 0;
|
|
6
|
+
const core_1 = require("@nestjs/core");
|
|
7
|
+
const node_core_1 = require("@subql/node-core");
|
|
8
|
+
const mmrMigrate_module_1 = require("./mmrMigrate.module");
|
|
9
|
+
const logger = (0, node_core_1.getLogger)('mmr-migrate');
|
|
10
|
+
async function mmrMigrateInit(direction) {
|
|
11
|
+
try {
|
|
12
|
+
logger.info('Starting MMR migration process...');
|
|
13
|
+
const app = await core_1.NestFactory.create(mmrMigrate_module_1.MMRMigrateModule);
|
|
14
|
+
await app.init();
|
|
15
|
+
logger.info('MMRMigrateModule initialized.');
|
|
16
|
+
const mmrMigrateService = app.get(node_core_1.MMRMigrateService);
|
|
17
|
+
logger.info(`Migrating MMR data in ${direction} direction...`);
|
|
18
|
+
await mmrMigrateService.migrate(direction);
|
|
19
|
+
logger.info('MMR migration completed successfully.');
|
|
20
|
+
}
|
|
21
|
+
catch (e) {
|
|
22
|
+
logger.error(e, 'MMR migration failed to execute');
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
process.exit(0);
|
|
26
|
+
}
|
|
27
|
+
exports.mmrMigrateInit = mmrMigrateInit;
|
|
28
|
+
//# sourceMappingURL=mmrMigrate.init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mmrMigrate.init.js","sourceRoot":"","sources":["../../src/subcommands/mmrMigrate.init.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,sCAAsC;;;AAEtC,uCAA2C;AAC3C,gDAI0B;AAC1B,2DAAuD;AAEvD,MAAM,MAAM,GAAG,IAAA,qBAAS,EAAC,aAAa,CAAC,CAAC;AAEjC,KAAK,UAAU,cAAc,CAClC,SAA6B;IAE7B,IAAI;QACF,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAEjD,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,oCAAgB,CAAC,CAAC;QACvD,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAEjB,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAE7C,MAAM,iBAAiB,GAAG,GAAG,CAAC,GAAG,CAAC,6BAAiB,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,yBAAyB,SAAS,eAAe,CAAC,CAAC;QAC/D,MAAM,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE3C,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;KACtD;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,iCAAiC,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAtBD,wCAsBC","sourcesContent":["// Copyright 2020-2022 OnFinality Limited authors & contributors\n// SPDX-License-Identifier: Apache-2.0\n\nimport { NestFactory } from '@nestjs/core';\nimport {\n getLogger,\n MigrationDirection,\n MMRMigrateService,\n} from '@subql/node-core';\nimport { MMRMigrateModule } from './mmrMigrate.module';\n\nconst logger = getLogger('mmr-migrate');\n\nexport async function mmrMigrateInit(\n direction: MigrationDirection,\n): Promise<void> {\n try {\n logger.info('Starting MMR migration process...');\n\n const app = await NestFactory.create(MMRMigrateModule);\n await app.init();\n\n logger.info('MMRMigrateModule initialized.');\n\n const mmrMigrateService = app.get(MMRMigrateService);\n logger.info(`Migrating MMR data in ${direction} direction...`);\n await mmrMigrateService.migrate(direction);\n\n logger.info('MMR migration completed successfully.');\n } catch (e) {\n logger.error(e, 'MMR migration failed to execute');\n process.exit(1);\n }\n\n process.exit(0);\n}\n"]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2020-2022 OnFinality Limited authors & contributors
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.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.MMRMigrateModule = exports.MMRMigrateFeatureModule = void 0;
|
|
12
|
+
const common_1 = require("@nestjs/common");
|
|
13
|
+
const schedule_1 = require("@nestjs/schedule");
|
|
14
|
+
const node_core_1 = require("@subql/node-core");
|
|
15
|
+
const sequelize_1 = require("sequelize");
|
|
16
|
+
const configure_module_1 = require("../configure/configure.module");
|
|
17
|
+
let MMRMigrateFeatureModule = class MMRMigrateFeatureModule {
|
|
18
|
+
};
|
|
19
|
+
MMRMigrateFeatureModule = __decorate([
|
|
20
|
+
(0, common_1.Module)({
|
|
21
|
+
providers: [
|
|
22
|
+
schedule_1.SchedulerRegistry,
|
|
23
|
+
{
|
|
24
|
+
provide: node_core_1.MMRMigrateService,
|
|
25
|
+
useFactory: (config, sequelize) => {
|
|
26
|
+
return new node_core_1.MMRMigrateService(config, sequelize);
|
|
27
|
+
},
|
|
28
|
+
inject: [node_core_1.NodeConfig, sequelize_1.Sequelize],
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
controllers: [],
|
|
32
|
+
})
|
|
33
|
+
], MMRMigrateFeatureModule);
|
|
34
|
+
exports.MMRMigrateFeatureModule = MMRMigrateFeatureModule;
|
|
35
|
+
let MMRMigrateModule = class MMRMigrateModule {
|
|
36
|
+
};
|
|
37
|
+
MMRMigrateModule = __decorate([
|
|
38
|
+
(0, common_1.Module)({
|
|
39
|
+
imports: [
|
|
40
|
+
node_core_1.DbModule.forRoot(),
|
|
41
|
+
configure_module_1.ConfigureModule.register(),
|
|
42
|
+
MMRMigrateFeatureModule,
|
|
43
|
+
],
|
|
44
|
+
controllers: [],
|
|
45
|
+
})
|
|
46
|
+
], MMRMigrateModule);
|
|
47
|
+
exports.MMRMigrateModule = MMRMigrateModule;
|
|
48
|
+
//# sourceMappingURL=mmrMigrate.module.js.map
|
|
@@ -0,0 +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,yCAAsC;AACtC,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,qBAAS,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 '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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function mmrRegenerateInit(probeMode?: boolean, resetOnly?: boolean, unsafe?: boolean, targetHeight?: number): Promise<void>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2020-2022 OnFinality Limited authors & contributors
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.mmrRegenerateInit = void 0;
|
|
6
|
+
const core_1 = require("@nestjs/core");
|
|
7
|
+
const node_core_1 = require("@subql/node-core");
|
|
8
|
+
const mmrRegenerate_module_1 = require("./mmrRegenerate.module");
|
|
9
|
+
const logger = (0, node_core_1.getLogger)('MMR-Regeneration');
|
|
10
|
+
async function mmrRegenerateInit(probeMode = false, resetOnly = false, unsafe = false, targetHeight) {
|
|
11
|
+
try {
|
|
12
|
+
const app = await core_1.NestFactory.create(mmrRegenerate_module_1.MmrRegenerateModule);
|
|
13
|
+
await app.init();
|
|
14
|
+
const mmrRegenerateService = app.get(node_core_1.MmrRegenerateService);
|
|
15
|
+
await mmrRegenerateService.init();
|
|
16
|
+
if (!probeMode) {
|
|
17
|
+
await mmrRegenerateService.regenerate(targetHeight, resetOnly, unsafe);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
catch (e) {
|
|
21
|
+
logger.error(e, 'Re-generate MMR failed to execute');
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
process.exit(0);
|
|
25
|
+
}
|
|
26
|
+
exports.mmrRegenerateInit = mmrRegenerateInit;
|
|
27
|
+
//# sourceMappingURL=mmrRegenerate.init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mmrRegenerate.init.js","sourceRoot":"","sources":["../../src/subcommands/mmrRegenerate.init.ts"],"names":[],"mappings":";AAAA,gEAAgE;AAChE,sCAAsC;;;AAEtC,uCAA2C;AAC3C,gDAAmE;AACnE,iEAA6D;AAE7D,MAAM,MAAM,GAAG,IAAA,qBAAS,EAAC,kBAAkB,CAAC,CAAC;AAEtC,KAAK,UAAU,iBAAiB,CACrC,SAAS,GAAG,KAAK,EACjB,SAAS,GAAG,KAAK,EACjB,MAAM,GAAG,KAAK,EACd,YAAqB;IAErB,IAAI;QACF,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,0CAAmB,CAAC,CAAC;QAC1D,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,oBAAoB,GAAG,GAAG,CAAC,GAAG,CAAC,gCAAoB,CAAC,CAAC;QAC3D,MAAM,oBAAoB,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,oBAAoB,CAAC,UAAU,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;SACxE;KACF;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,mCAAmC,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAnBD,8CAmBC","sourcesContent":["// Copyright 2020-2022 OnFinality Limited authors & contributors\n// SPDX-License-Identifier: Apache-2.0\n\nimport { NestFactory } from '@nestjs/core';\nimport { getLogger, MmrRegenerateService } from '@subql/node-core';\nimport { MmrRegenerateModule } from './mmrRegenerate.module';\n\nconst logger = getLogger('MMR-Regeneration');\n\nexport async function mmrRegenerateInit(\n probeMode = false,\n resetOnly = false,\n unsafe = false,\n targetHeight?: number,\n): Promise<void> {\n try {\n const app = await NestFactory.create(MmrRegenerateModule);\n await app.init();\n const mmrRegenerateService = app.get(MmrRegenerateService);\n await mmrRegenerateService.init();\n if (!probeMode) {\n await mmrRegenerateService.regenerate(targetHeight, resetOnly, unsafe);\n }\n } catch (e) {\n logger.error(e, 'Re-generate MMR failed to execute');\n process.exit(1);\n }\n process.exit(0);\n}\n"]}
|