@subql/node-stellar 3.12.1 → 4.0.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/CHANGELOG.md +15 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/app.module.js +38 -4
- package/dist/app.module.js.map +1 -1
- package/dist/configure/SubqueryProject.d.ts +7 -18
- package/dist/configure/SubqueryProject.js +16 -103
- package/dist/configure/SubqueryProject.js.map +1 -1
- package/dist/configure/configure.module.js +1 -1
- package/dist/configure/configure.module.js.map +1 -1
- package/dist/indexer/blockDispatcher/block-dispatcher.service.js +1 -3
- package/dist/indexer/blockDispatcher/block-dispatcher.service.js.map +1 -1
- package/dist/indexer/blockDispatcher/stellar-block-dispatcher.d.ts +1 -1
- package/dist/indexer/blockDispatcher/stellar-block-dispatcher.js.map +1 -1
- package/dist/indexer/blockDispatcher/worker-block-dispatcher.service.js +2 -7
- package/dist/indexer/blockDispatcher/worker-block-dispatcher.service.js.map +1 -1
- package/dist/indexer/dictionary/stellarDictionary.service.d.ts +0 -1
- package/dist/indexer/dictionary/stellarDictionary.service.js +2 -8
- package/dist/indexer/dictionary/stellarDictionary.service.js.map +1 -1
- package/dist/indexer/dictionary/v1/stellarDictionaryV1.d.ts +8 -9
- package/dist/indexer/dictionary/v1/stellarDictionaryV1.js +17 -42
- package/dist/indexer/dictionary/v1/stellarDictionaryV1.js.map +1 -1
- package/dist/indexer/dynamic-ds.service.js +1 -3
- package/dist/indexer/dynamic-ds.service.js.map +1 -1
- package/dist/indexer/fetch.module.js +4 -14
- package/dist/indexer/fetch.module.js.map +1 -1
- package/dist/indexer/fetch.service.d.ts +3 -4
- package/dist/indexer/fetch.service.js +8 -13
- package/dist/indexer/fetch.service.js.map +1 -1
- package/dist/indexer/indexer.manager.d.ts +2 -2
- package/dist/indexer/indexer.manager.js.map +1 -1
- package/dist/indexer/project.service.js +1 -3
- package/dist/indexer/project.service.js.map +1 -1
- package/dist/indexer/unfinalizedBlocks.service.js +4 -3
- package/dist/indexer/unfinalizedBlocks.service.js.map +1 -1
- package/dist/indexer/worker/worker-fetch.module.js +3 -21
- package/dist/indexer/worker/worker-fetch.module.js.map +1 -1
- package/dist/indexer/worker/worker.js.map +1 -1
- package/dist/indexer/worker/worker.module.js +1 -0
- package/dist/indexer/worker/worker.module.js.map +1 -1
- package/dist/init.js +1 -6
- package/dist/init.js.map +1 -1
- package/dist/stellar/api.connection.d.ts +2 -2
- package/dist/stellar/api.connection.js +3 -7
- package/dist/stellar/api.connection.js.map +1 -1
- package/dist/stellar/api.service.stellar.d.ts +5 -5
- package/dist/stellar/api.service.stellar.js +15 -12
- package/dist/stellar/api.service.stellar.js.map +1 -1
- package/dist/stellar/api.service.stellar.spec.js +2 -2
- package/dist/stellar/api.service.stellar.spec.js.map +1 -1
- package/dist/stellar/api.stellar.d.ts +9 -8
- package/dist/stellar/api.stellar.js +18 -6
- package/dist/stellar/api.stellar.js.map +1 -1
- package/dist/stellar/api.stellar.spec.js +2 -2
- package/dist/stellar/api.stellar.spec.js.map +1 -1
- package/dist/stellar/block.stellar.js +2 -2
- package/dist/stellar/block.stellar.js.map +1 -1
- package/dist/stellar/block.stellar.spec.js +12 -12
- package/dist/stellar/block.stellar.spec.js.map +1 -1
- package/dist/stellar/safe-api.d.ts +2 -3
- package/dist/stellar/safe-api.js +2 -2
- package/dist/stellar/safe-api.js.map +1 -1
- package/dist/stellar/soroban.server.d.ts +1 -1
- package/dist/stellar/soroban.server.js +5 -1
- package/dist/stellar/soroban.server.js.map +1 -1
- package/dist/stellar/soroban.server.spec.js +1 -1
- package/dist/stellar/soroban.server.spec.js.map +1 -1
- package/dist/stellar/stellar.server.d.ts +3 -2
- package/dist/stellar/stellar.server.js +3 -3
- package/dist/stellar/stellar.server.js.map +1 -1
- package/dist/stellar/utils.stellar.d.ts +3 -2
- package/dist/stellar/utils.stellar.js +7 -7
- package/dist/stellar/utils.stellar.js.map +1 -1
- package/dist/subcommands/testing.module.js +3 -2
- package/dist/subcommands/testing.module.js.map +1 -1
- package/dist/subcommands/testing.service.js +1 -3
- package/dist/subcommands/testing.service.js.map +1 -1
- package/dist/utils/string.d.ts +1 -1
- package/dist/utils/string.js.map +1 -1
- package/package.json +6 -6
- 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 -124
- package/dist/meta/meta.service.js.map +0 -1
package/dist/app.module.js
CHANGED
|
@@ -1,22 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors
|
|
3
3
|
// SPDX-License-Identifier: GPL-3.0
|
|
4
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
7
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(o, k2, desc);
|
|
11
|
+
}) : (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
o[k2] = m[k];
|
|
14
|
+
}));
|
|
15
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
16
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
17
|
+
}) : function(o, v) {
|
|
18
|
+
o["default"] = v;
|
|
19
|
+
});
|
|
4
20
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
5
21
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
6
22
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
7
23
|
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
24
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
9
25
|
};
|
|
26
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
27
|
+
if (mod && mod.__esModule) return mod;
|
|
28
|
+
var result = {};
|
|
29
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
30
|
+
__setModuleDefault(result, mod);
|
|
31
|
+
return result;
|
|
32
|
+
};
|
|
33
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
34
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
35
|
+
};
|
|
10
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
37
|
exports.AppModule = void 0;
|
|
38
|
+
const fs = __importStar(require("fs"));
|
|
39
|
+
const path_1 = __importDefault(require("path"));
|
|
12
40
|
const common_1 = require("@nestjs/common");
|
|
13
41
|
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
14
42
|
const schedule_1 = require("@nestjs/schedule");
|
|
15
43
|
const node_core_1 = require("@subql/node-core");
|
|
16
|
-
const admin_module_1 = require("./admin/admin.module");
|
|
17
44
|
const configure_module_1 = require("./configure/configure.module");
|
|
18
45
|
const fetch_module_1 = require("./indexer/fetch.module");
|
|
19
|
-
|
|
46
|
+
// TODO, Alternative approach, ERROR Uncaught Exception Error: Package subpath './package.json' is not defined by "exports" in xxxxx/node_modules/stellar-sdk/package.json
|
|
47
|
+
const packageJsonPath = path_1.default.resolve(require.resolve('stellar-sdk'), '../../package.json');
|
|
48
|
+
const { version: stellarSdkVersion } = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
49
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
50
|
+
const { version: packageVersion } = require('../package.json');
|
|
20
51
|
let AppModule = class AppModule {
|
|
21
52
|
};
|
|
22
53
|
AppModule = __decorate([
|
|
@@ -26,9 +57,12 @@ AppModule = __decorate([
|
|
|
26
57
|
event_emitter_1.EventEmitterModule.forRoot(),
|
|
27
58
|
configure_module_1.ConfigureModule.register(),
|
|
28
59
|
schedule_1.ScheduleModule.forRoot(),
|
|
60
|
+
node_core_1.CoreModule,
|
|
29
61
|
fetch_module_1.FetchModule,
|
|
30
|
-
|
|
31
|
-
|
|
62
|
+
node_core_1.MetaModule.forRoot({
|
|
63
|
+
version: packageVersion,
|
|
64
|
+
sdkVersion: { name: 'stellar-sdk', version: stellarSdkVersion },
|
|
65
|
+
}),
|
|
32
66
|
],
|
|
33
67
|
controllers: [],
|
|
34
68
|
})
|
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
|
|
1
|
+
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEnC,uCAAyB;AACzB,gDAAwB;AACxB,2CAAwC;AACxC,yDAA2D;AAC3D,+CAAkD;AAClD,gDAAoE;AACpE,mEAA+D;AAC/D,yDAAqD;AAErD,0KAA0K;AAC1K,MAAM,eAAe,GAAG,cAAI,CAAC,OAAO,CAClC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EAC9B,oBAAoB,CACrB,CAAC;AACF,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,KAAK,CAC/C,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CACzC,CAAC;AACF,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,aAAa,EAAE,OAAO,EAAE,iBAAiB,EAAE;aAChE,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 * as fs from 'fs';\nimport path from 'path';\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// TODO, Alternative approach, ERROR Uncaught Exception Error: Package subpath './package.json' is not defined by \"exports\" in xxxxx/node_modules/stellar-sdk/package.json\nconst packageJsonPath = path.resolve(\n require.resolve('stellar-sdk'),\n '../../package.json',\n);\nconst { version: stellarSdkVersion } = JSON.parse(\n fs.readFileSync(packageJsonPath, 'utf8'),\n);\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: 'stellar-sdk', version: stellarSdkVersion },\n }),\n ],\n controllers: [],\n})\nexport class AppModule {}\n"]}
|
|
@@ -1,26 +1,15 @@
|
|
|
1
|
-
import { StellarProjectNetworkConfig } from '@subql/common-stellar';
|
|
2
|
-
import { CronFilter,
|
|
3
|
-
import {
|
|
1
|
+
import { StellarProjectNetworkConfig, SubqlStellarDataSource } from '@subql/common-stellar';
|
|
2
|
+
import { CronFilter, BaseSubqueryProject } from '@subql/node-core';
|
|
3
|
+
import { Reader } from '@subql/types-core';
|
|
4
4
|
import { SubqlDatasource, CustomDatasourceTemplate, RuntimeDatasourceTemplate, StellarBlockFilter } from '@subql/types-stellar';
|
|
5
|
-
|
|
5
|
+
export type StellarProjectDs = SubqlStellarDataSource;
|
|
6
6
|
export type StellarProjectDsTemplate = RuntimeDatasourceTemplate | CustomDatasourceTemplate;
|
|
7
7
|
export type SubqlProjectBlockFilter = StellarBlockFilter & CronFilter;
|
|
8
8
|
type NetworkConfig = StellarProjectNetworkConfig & {
|
|
9
9
|
chainId: string;
|
|
10
10
|
};
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
readonly root: string;
|
|
15
|
-
readonly network: NetworkConfig;
|
|
16
|
-
readonly schema: GraphQLSchema;
|
|
17
|
-
readonly templates: StellarProjectDsTemplate[];
|
|
18
|
-
readonly runner?: RunnerSpecs;
|
|
19
|
-
readonly parent?: ParentProject;
|
|
20
|
-
constructor(id: string, root: string, network: NetworkConfig, dataSources: SubqlDatasource[], schema: GraphQLSchema, templates: StellarProjectDsTemplate[], runner?: RunnerSpecs, parent?: ParentProject);
|
|
21
|
-
get dataSources(): SubqlDatasource[];
|
|
22
|
-
static create(path: string, rawManifest: unknown, reader: Reader, root?: string, networkOverrides?: Partial<StellarProjectNetworkConfig>): Promise<SubqueryProject>;
|
|
23
|
-
applyCronTimestamps(getTimestamp: (height: number) => Promise<Date>): Promise<void>;
|
|
24
|
-
}
|
|
11
|
+
export type SubqueryProject = BaseSubqueryProject<StellarProjectDs, StellarProjectDsTemplate, NetworkConfig>;
|
|
12
|
+
export declare function createSubQueryProject(path: string, rawManifest: unknown, reader: Reader, root: string, // If project local then directory otherwise temp directory
|
|
13
|
+
networkOverrides?: Partial<NetworkConfig>): Promise<SubqueryProject>;
|
|
25
14
|
export declare function dsHasSorobanEventHandler(dataSources: SubqlDatasource[]): boolean;
|
|
26
15
|
export {};
|
|
@@ -1,115 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors
|
|
3
3
|
// SPDX-License-Identifier: GPL-3.0
|
|
4
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
5
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
6
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
7
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
8
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
9
|
-
};
|
|
10
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
11
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
12
|
-
};
|
|
13
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
-
};
|
|
16
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.dsHasSorobanEventHandler = exports.
|
|
18
|
-
const assert_1 = __importDefault(require("assert"));
|
|
19
|
-
const common_1 = require("@nestjs/common");
|
|
20
|
-
const common_2 = require("@subql/common");
|
|
5
|
+
exports.dsHasSorobanEventHandler = exports.createSubQueryProject = void 0;
|
|
21
6
|
const common_stellar_1 = require("@subql/common-stellar");
|
|
22
7
|
const node_core_1 = require("@subql/node-core");
|
|
23
|
-
const utils_1 = require("@subql/utils");
|
|
24
|
-
const graphql_1 = require("graphql");
|
|
25
8
|
const { version: packageVersion } = require('../../package.json');
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
this.id = id;
|
|
40
|
-
this.root = root;
|
|
41
|
-
this.network = network;
|
|
42
|
-
this.schema = schema;
|
|
43
|
-
this.templates = templates;
|
|
44
|
-
this.runner = runner;
|
|
45
|
-
this.parent = parent;
|
|
46
|
-
this.#dataSources = dataSources;
|
|
47
|
-
}
|
|
48
|
-
get dataSources() {
|
|
49
|
-
return this.#dataSources;
|
|
50
|
-
}
|
|
51
|
-
static async create(path, rawManifest, reader, root, networkOverrides) {
|
|
52
|
-
// rawManifest and reader can be reused here.
|
|
53
|
-
// It has been pre-fetched and used for rebase manifest runner options with args
|
|
54
|
-
// in order to generate correct configs.
|
|
55
|
-
// But we still need reader here, because path can be remote or local
|
|
56
|
-
// and the `loadProjectManifest(projectPath)` only support local mode
|
|
57
|
-
if (rawManifest === undefined) {
|
|
58
|
-
throw new Error(`Get manifest from project path ${path} failed`);
|
|
59
|
-
}
|
|
60
|
-
const manifest = (0, common_stellar_1.parseStellarProjectManifest)(rawManifest);
|
|
61
|
-
if (manifest.isV1_0_0) {
|
|
62
|
-
return loadProjectFromManifestBase(manifest.asV1_0_0, reader, path, root, networkOverrides);
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
NOT_SUPPORT(manifest.specVersion);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
async applyCronTimestamps(getTimestamp) {
|
|
69
|
-
this.#dataSources = await (0, node_core_1.insertBlockFiltersCronSchedules)(this.dataSources, getTimestamp, common_stellar_1.isRuntimeDs, common_stellar_1.StellarHandlerKind.Block);
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
SubqueryProject = __decorate([
|
|
73
|
-
(0, common_1.Injectable)(),
|
|
74
|
-
__metadata("design:paramtypes", [String, String, Object, Array, graphql_1.GraphQLSchema, Array, Object, Object])
|
|
75
|
-
], SubqueryProject);
|
|
76
|
-
exports.SubqueryProject = SubqueryProject;
|
|
77
|
-
function processChainId(network) {
|
|
78
|
-
if (network.chainId && network.genesisHash) {
|
|
79
|
-
throw new Error('Please only provide one of chainId and genesisHash');
|
|
80
|
-
}
|
|
81
|
-
else if (network.genesisHash && !network.chainId) {
|
|
82
|
-
network.chainId = network.genesisHash;
|
|
83
|
-
}
|
|
84
|
-
delete network.genesisHash;
|
|
85
|
-
return network;
|
|
86
|
-
}
|
|
87
|
-
async function loadProjectFromManifestBase(projectManifest, reader, path, root, networkOverrides) {
|
|
88
|
-
if (typeof projectManifest.network.endpoint === 'string') {
|
|
89
|
-
projectManifest.network.endpoint = [projectManifest.network.endpoint];
|
|
90
|
-
}
|
|
91
|
-
const network = processChainId({
|
|
92
|
-
...projectManifest.network,
|
|
93
|
-
...networkOverrides,
|
|
9
|
+
async function createSubQueryProject(path, rawManifest, reader, root, // If project local then directory otherwise temp directory
|
|
10
|
+
networkOverrides) {
|
|
11
|
+
const project = await node_core_1.BaseSubqueryProject.create({
|
|
12
|
+
parseManifest: (raw) => (0, common_stellar_1.parseStellarProjectManifest)(raw).asV1_0_0,
|
|
13
|
+
path,
|
|
14
|
+
rawManifest,
|
|
15
|
+
reader,
|
|
16
|
+
root,
|
|
17
|
+
nodeSemver: packageVersion,
|
|
18
|
+
blockHandlerKind: common_stellar_1.StellarHandlerKind.Block,
|
|
19
|
+
networkOverrides,
|
|
20
|
+
isRuntimeDs: common_stellar_1.isRuntimeDs,
|
|
21
|
+
isCustomDs: common_stellar_1.isCustomDs,
|
|
94
22
|
});
|
|
95
|
-
|
|
96
|
-
throw new Error(`Stellar network endpoint must be provided for network. chainId="${network.chainId}"`);
|
|
97
|
-
}
|
|
98
|
-
let schemaString;
|
|
99
|
-
try {
|
|
100
|
-
schemaString = await reader.getFile(projectManifest.schema.file);
|
|
101
|
-
}
|
|
102
|
-
catch (e) {
|
|
103
|
-
throw new Error(`unable to fetch the schema from ${projectManifest.schema.file}`);
|
|
104
|
-
}
|
|
105
|
-
const schema = (0, utils_1.buildSchemaFromString)(schemaString);
|
|
106
|
-
const dataSources = await (0, node_core_1.updateDataSourcesV1_0_0)(projectManifest.dataSources, reader, root, common_stellar_1.isCustomDs);
|
|
107
|
-
const templates = await (0, node_core_1.loadProjectTemplates)(projectManifest.templates, root, reader, common_stellar_1.isCustomDs);
|
|
108
|
-
const runner = projectManifest.runner;
|
|
109
|
-
(0, assert_1.default)((0, common_2.validateSemver)(packageVersion, runner.node.version), new Error(`Runner require node version ${runner.node.version}, current node ${packageVersion}`));
|
|
110
|
-
return new SubqueryProject(reader.root ? reader.root : path, //TODO, need to method to get project_id
|
|
111
|
-
root, network, dataSources, schema, templates, runner, projectManifest.parent);
|
|
23
|
+
return project;
|
|
112
24
|
}
|
|
25
|
+
exports.createSubQueryProject = createSubQueryProject;
|
|
113
26
|
function dsHasSorobanEventHandler(dataSources) {
|
|
114
27
|
return (dataSources.findIndex(function (ds) {
|
|
115
28
|
return ((0, common_stellar_1.isRuntimeDs)(ds) &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubqueryProject.js","sourceRoot":"","sources":["../../src/configure/SubqueryProject.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC
|
|
1
|
+
{"version":3,"file":"SubqueryProject.js","sourceRoot":"","sources":["../../src/configure/SubqueryProject.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;AAKnC,0DAO+B;AAC/B,gDAAmE;AASnE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAmB3D,KAAK,UAAU,qBAAqB,CACzC,IAAY,EACZ,WAAoB,EACpB,MAAc,EACd,IAAY,EAAE,2DAA2D;AACzE,gBAAyC;IAEzC,MAAM,OAAO,GAAG,MAAM,+BAAmB,CAAC,MAAM,CAAkB;QAChE,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,4CAA2B,EAAC,GAAG,CAAC,CAAC,QAAQ;QACjE,IAAI;QACJ,WAAW;QACX,MAAM;QACN,IAAI;QACJ,UAAU,EAAE,cAAc;QAC1B,gBAAgB,EAAE,mCAAkB,CAAC,KAAK;QAC1C,gBAAgB;QAChB,WAAW,EAAX,4BAAW;QACX,UAAU,EAAV,2BAAU;KACX,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AArBD,sDAqBC;AAED,SAAgB,wBAAwB,CACtC,WAA8B;IAE9B,OAAO,CACL,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE;QAChC,OAAO,CACL,IAAA,4BAAW,EAAC,EAAE,CAAC;YACf,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,OAAO;gBAC7C,OAAO,OAAO,CAAC,IAAI,KAAK,mCAAkB,CAAC,KAAK,CAAC;YACnD,CAAC,CAAC,KAAK,CAAC,CAAC,CACV,CAAC;IACJ,CAAC,CAAC,KAAK,CAAC,CAAC,CACV,CAAC;AACJ,CAAC;AAbD,4DAaC","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport assert from 'assert';\nimport { Injectable } from '@nestjs/common';\nimport { validateSemver } from '@subql/common';\nimport {\n StellarProjectNetworkConfig,\n parseStellarProjectManifest,\n isCustomDs,\n StellarHandlerKind,\n isRuntimeDs,\n SubqlStellarDataSource,\n} from '@subql/common-stellar';\nimport { CronFilter, BaseSubqueryProject } from '@subql/node-core';\nimport { Reader } from '@subql/types-core';\nimport {\n SubqlDatasource,\n CustomDatasourceTemplate,\n RuntimeDatasourceTemplate,\n StellarBlockFilter,\n} from '@subql/types-stellar';\n\nconst { version: packageVersion } = require('../../package.json');\n\nexport type StellarProjectDs = SubqlStellarDataSource;\n\nexport type StellarProjectDsTemplate =\n | RuntimeDatasourceTemplate\n | CustomDatasourceTemplate;\n\nexport type SubqlProjectBlockFilter = StellarBlockFilter & CronFilter;\n\n// This is the runtime type after we have mapped genesisHash to chainId and endpoint/dict have been provided when dealing with deployments\ntype NetworkConfig = StellarProjectNetworkConfig & { chainId: string };\n\nexport type SubqueryProject = BaseSubqueryProject<\n StellarProjectDs,\n StellarProjectDsTemplate,\n NetworkConfig\n>;\n\nexport async function createSubQueryProject(\n path: string,\n rawManifest: unknown,\n reader: Reader,\n root: string, // If project local then directory otherwise temp directory\n networkOverrides?: Partial<NetworkConfig>,\n): Promise<SubqueryProject> {\n const project = await BaseSubqueryProject.create<SubqueryProject>({\n parseManifest: (raw) => parseStellarProjectManifest(raw).asV1_0_0,\n path,\n rawManifest,\n reader,\n root,\n nodeSemver: packageVersion,\n blockHandlerKind: StellarHandlerKind.Block,\n networkOverrides,\n isRuntimeDs,\n isCustomDs,\n });\n\n return project;\n}\n\nexport function dsHasSorobanEventHandler(\n dataSources: SubqlDatasource[],\n): boolean {\n return (\n dataSources.findIndex(function (ds) {\n return (\n isRuntimeDs(ds) &&\n ds.mapping.handlers.findIndex(function (handler) {\n return handler.kind === StellarHandlerKind.Event;\n }) !== -1\n );\n }) !== -1\n );\n}\n"]}
|
|
@@ -18,7 +18,7 @@ const pjson = require('../../package.json');
|
|
|
18
18
|
let ConfigureModule = ConfigureModule_1 = class ConfigureModule {
|
|
19
19
|
static async getInstance() {
|
|
20
20
|
const { argv } = yargs_1.yargsOptions;
|
|
21
|
-
const { nodeConfig, project } = await (0, node_core_1.registerApp)(argv, SubqueryProject_1.
|
|
21
|
+
const { nodeConfig, project } = await (0, node_core_1.registerApp)(argv, SubqueryProject_1.createSubQueryProject, yargs_1.yargsOptions.showHelp.bind(yargs_1.yargsOptions), pjson);
|
|
22
22
|
if (argv['soroban-network-endpoint']) {
|
|
23
23
|
project.network.sorobanEndpoint = argv['soroban-network-endpoint'];
|
|
24
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configure.module.js","sourceRoot":"","sources":["../../src/configure/configure.module.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;AAEnC,2CAA+D;AAC/D,gDAA2D;AAC3D,oCAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"configure.module.js","sourceRoot":"","sources":["../../src/configure/configure.module.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;AAEnC,2CAA+D;AAC/D,gDAA2D;AAC3D,oCAAwC;AACxC,uDAA2E;AAE3E,MAAM,KAAK,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAIrC,IAAM,eAAe,uBAArB,MAAM,eAAe;IAC1B,MAAM,CAAC,KAAK,CAAC,WAAW;QAItB,MAAM,EAAE,IAAI,EAAE,GAAG,oBAAY,CAAC;QAC9B,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,uBAAW,EAC/C,IAAI,EACJ,uCAAqB,EACrB,oBAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAY,CAAC,EACxC,KAAK,CACN,CAAC;QAEF,IAAI,IAAI,CAAC,0BAA0B,CAAC,EAAE;YACpC,OAAO,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,0BAA0B,CAAC,CAAC;SACpE;QAED,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;IACjC,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAe,CAAC,WAAW,EAAE,CAAC;QAEpE,OAAO;YACL,MAAM,EAAE,iBAAe;YACvB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,sBAAU;oBACnB,QAAQ,EAAE,UAAU;iBACrB;gBACD;oBACE,OAAO,EAAE,kBAAkB;oBAC3B,QAAQ,EAAE,OAAO;iBAClB;gBACD;oBACE,OAAO,EAAE,wBAAwB;oBACjC,QAAQ,EAAE,OAAO;iBAClB;gBACD;oBACE,OAAO,EAAE,MAAM;oBACf,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,OAAO,EAAE;gBACP,sBAAU;gBACV,kBAAkB;gBAClB,wBAAwB;gBACxB,MAAM;aACP;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAlDY,eAAe;IAF3B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,eAAe,CAkD3B;AAlDY,0CAAe","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { DynamicModule, Global, Module } from '@nestjs/common';\nimport { NodeConfig, registerApp } from '@subql/node-core';\nimport { yargsOptions } from '../yargs';\nimport { createSubQueryProject, SubqueryProject } from './SubqueryProject';\n\nconst pjson = require('../../package.json');\n\n@Global()\n@Module({})\nexport class ConfigureModule {\n static async getInstance(): Promise<{\n nodeConfig: NodeConfig;\n project: SubqueryProject;\n }> {\n const { argv } = yargsOptions;\n const { nodeConfig, project } = await registerApp<SubqueryProject>(\n argv,\n createSubQueryProject,\n yargsOptions.showHelp.bind(yargsOptions),\n pjson,\n );\n\n if (argv['soroban-network-endpoint']) {\n project.network.sorobanEndpoint = argv['soroban-network-endpoint'];\n }\n\n return { nodeConfig, project };\n }\n static async register(): Promise<DynamicModule> {\n const { nodeConfig, project } = await ConfigureModule.getInstance();\n\n return {\n module: ConfigureModule,\n providers: [\n {\n provide: NodeConfig,\n useValue: nodeConfig,\n },\n {\n provide: 'ISubqueryProject',\n useValue: project,\n },\n {\n provide: 'IProjectUpgradeService',\n useValue: project,\n },\n {\n provide: 'Null',\n useValue: null,\n },\n ],\n exports: [\n NodeConfig,\n 'ISubqueryProject',\n 'IProjectUpgradeService',\n 'Null',\n ],\n };\n }\n}\n"]}
|
|
@@ -18,7 +18,6 @@ exports.BlockDispatcherService = 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 SubqueryProject_1 = require("../../configure/SubqueryProject");
|
|
22
21
|
const indexer_manager_1 = require("../indexer.manager");
|
|
23
22
|
/**
|
|
24
23
|
* @description Intended to behave the same as WorkerBlockDispatcherService but doesn't use worker threads or any parallel processing
|
|
@@ -43,8 +42,7 @@ BlockDispatcherService = __decorate([
|
|
|
43
42
|
indexer_manager_1.IndexerManager,
|
|
44
43
|
event_emitter_1.EventEmitter2, Object, Object, node_core_1.StoreService,
|
|
45
44
|
node_core_1.StoreCacheService,
|
|
46
|
-
node_core_1.PoiSyncService,
|
|
47
|
-
SubqueryProject_1.SubqueryProject])
|
|
45
|
+
node_core_1.PoiSyncService, Object])
|
|
48
46
|
], BlockDispatcherService);
|
|
49
47
|
exports.BlockDispatcherService = BlockDispatcherService;
|
|
50
48
|
//# sourceMappingURL=block-dispatcher.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-dispatcher.service.js","sourceRoot":"","sources":["../../../src/indexer/blockDispatcher/block-dispatcher.service.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;AAEnC,2CAA2E;AAC3E,yDAAsD;AACtD,gDAW0B;
|
|
1
|
+
{"version":3,"file":"block-dispatcher.service.js","sourceRoot":"","sources":["../../../src/indexer/blockDispatcher/block-dispatcher.service.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;AAEnC,2CAA2E;AAC3E,yDAAsD;AACtD,gDAW0B;AAG1B,wDAAoD;AAEpD;;GAEG;AAEI,IAAM,sBAAsB,GAA5B,MAAM,sBACX,SAAQ,2BAAqD;IAMnD;IAHV,YACE,UAAsB,EACtB,UAAsB,EACd,cAA8B,EACtC,YAA2B,EAE3B,cAAgD,EAEhD,qBAA6C,EAC7C,YAA0B,EAC1B,iBAAoC,EACpC,cAA8B,EACF,OAAwB;QAEpD,KAAK,CACH,UAAU,EACV,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CACxC,CAAC;QArBM,mBAAc,GAAd,cAAc,CAAgB;IAsBxC,CAAC;IAES,KAAK,CAAC,UAAU,CACxB,KAAkC;QAElC,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CACnC,KAAK,EACL,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC,CACxE,CAAC;IACJ,CAAC;CACF,CAAA;AAvCY,sBAAsB;IADlC,IAAA,mBAAU,GAAE;IAUR,WAAA,IAAA,eAAM,EAAC,iBAAiB,CAAC,CAAA;IAEzB,WAAA,IAAA,eAAM,EAAC,wBAAwB,CAAC,CAAA;IAKhC,WAAA,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAA;qCAXf,sBAAU;QACV,sBAAU;QACE,gCAAc;QACxB,6BAAa,kBAKb,wBAAY;QACP,6BAAiB;QACpB,0BAAc;GAfrB,sBAAsB,CAuClC;AAvCY,wDAAsB","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common';\nimport { EventEmitter2 } from '@nestjs/event-emitter';\nimport {\n NodeConfig,\n StoreCacheService,\n StoreService,\n IProjectService,\n BlockDispatcher,\n ProcessBlockResponse,\n ApiService,\n IProjectUpgradeService,\n PoiSyncService,\n IBlock,\n} from '@subql/node-core';\nimport { StellarBlockWrapper, SubqlDatasource } from '@subql/types-stellar';\nimport { SubqueryProject } from '../../configure/SubqueryProject';\nimport { IndexerManager } from '../indexer.manager';\n\n/**\n * @description Intended to behave the same as WorkerBlockDispatcherService but doesn't use worker threads or any parallel processing\n */\n@Injectable()\nexport class BlockDispatcherService\n extends BlockDispatcher<StellarBlockWrapper, SubqlDatasource>\n implements OnApplicationShutdown\n{\n constructor(\n apiService: ApiService,\n nodeConfig: NodeConfig,\n private indexerManager: IndexerManager,\n eventEmitter: EventEmitter2,\n @Inject('IProjectService')\n projectService: IProjectService<SubqlDatasource>,\n @Inject('IProjectUpgradeService')\n projectUpgradeService: IProjectUpgradeService,\n storeService: StoreService,\n storeCacheService: StoreCacheService,\n poiSyncService: PoiSyncService,\n @Inject('ISubqueryProject') project: SubqueryProject,\n ) {\n super(\n nodeConfig,\n eventEmitter,\n projectService,\n projectUpgradeService,\n storeService,\n storeCacheService,\n poiSyncService,\n project,\n apiService.fetchBlocks.bind(apiService),\n );\n }\n\n protected async indexBlock(\n block: IBlock<StellarBlockWrapper>,\n ): Promise<ProcessBlockResponse> {\n return this.indexerManager.indexBlock(\n block,\n await this.projectService.getDataSources(block.getHeader().blockHeight),\n );\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IBlockDispatcher } from '@subql/node-core';
|
|
2
2
|
import { StellarBlock } from '@subql/types-stellar';
|
|
3
3
|
export interface IStellarBlockDispatcher extends IBlockDispatcher<StellarBlock> {
|
|
4
|
-
init(onDynamicDsCreated: (height: number) => Promise<void>): Promise<void>;
|
|
4
|
+
init(onDynamicDsCreated: (height: number) => void | Promise<void>): Promise<void>;
|
|
5
5
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stellar-block-dispatcher.js","sourceRoot":"","sources":["../../../src/indexer/blockDispatcher/stellar-block-dispatcher.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { IBlockDispatcher } from '@subql/node-core';\nimport { StellarBlock } from '@subql/types-stellar';\n\nexport interface IStellarBlockDispatcher\n extends IBlockDispatcher<StellarBlock> {\n init(onDynamicDsCreated: (height: number) => Promise<void
|
|
1
|
+
{"version":3,"file":"stellar-block-dispatcher.js","sourceRoot":"","sources":["../../../src/indexer/blockDispatcher/stellar-block-dispatcher.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport { IBlockDispatcher } from '@subql/node-core';\nimport { StellarBlock } from '@subql/types-stellar';\n\nexport interface IStellarBlockDispatcher\n extends IBlockDispatcher<StellarBlock> {\n init(\n onDynamicDsCreated: (height: number) => void | Promise<void>,\n ): Promise<void>;\n}\n"]}
|
|
@@ -22,7 +22,6 @@ const path_1 = __importDefault(require("path"));
|
|
|
22
22
|
const common_1 = require("@nestjs/common");
|
|
23
23
|
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
24
24
|
const node_core_1 = require("@subql/node-core");
|
|
25
|
-
const SubqueryProject_1 = require("../../configure/SubqueryProject");
|
|
26
25
|
const dynamic_ds_service_1 = require("../dynamic-ds.service");
|
|
27
26
|
const unfinalizedBlocks_service_1 = require("../unfinalizedBlocks.service");
|
|
28
27
|
const logger = (0, node_core_1.getLogger)('WorkerBlockDispatcherService');
|
|
@@ -31,9 +30,7 @@ let WorkerBlockDispatcherService = class WorkerBlockDispatcherService extends no
|
|
|
31
30
|
super(nodeConfig, eventEmitter, projectService, projectUpgradeService, storeService, storeCacheService, poiSyncService, project, () => (0, node_core_1.createIndexerWorker)(path_1.default.resolve(__dirname, '../../../dist/indexer/worker/worker.js'), [], storeService.getStore(), cacheService.getCache(), dynamicDsService, unfinalizedBlocksSevice, connectionPoolState, project.root, projectService.startHeight, monitorService), monitorService);
|
|
32
31
|
}
|
|
33
32
|
async fetchBlock(worker, height) {
|
|
34
|
-
|
|
35
|
-
await worker.fetchBlock(height, null);
|
|
36
|
-
const end = new Date();
|
|
33
|
+
await worker.fetchBlock(height, 0 /* Unused with stellar*/);
|
|
37
34
|
}
|
|
38
35
|
};
|
|
39
36
|
WorkerBlockDispatcherService = __decorate([
|
|
@@ -45,9 +42,7 @@ WorkerBlockDispatcherService = __decorate([
|
|
|
45
42
|
event_emitter_1.EventEmitter2, Object, Object, node_core_1.InMemoryCacheService,
|
|
46
43
|
node_core_1.StoreService,
|
|
47
44
|
node_core_1.StoreCacheService,
|
|
48
|
-
node_core_1.PoiSyncService,
|
|
49
|
-
SubqueryProject_1.SubqueryProject,
|
|
50
|
-
dynamic_ds_service_1.DynamicDsService,
|
|
45
|
+
node_core_1.PoiSyncService, Object, dynamic_ds_service_1.DynamicDsService,
|
|
51
46
|
unfinalizedBlocks_service_1.UnfinalizedBlocksService,
|
|
52
47
|
node_core_1.ConnectionPoolStateManager, Object])
|
|
53
48
|
], WorkerBlockDispatcherService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-block-dispatcher.service.js","sourceRoot":"","sources":["../../../src/indexer/blockDispatcher/worker-block-dispatcher.service.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;;;;AAEnC,gDAAwB;AACxB,2CAA2E;AAC3E,yDAAsD;AACtD,gDAa0B;
|
|
1
|
+
{"version":3,"file":"worker-block-dispatcher.service.js","sourceRoot":"","sources":["../../../src/indexer/blockDispatcher/worker-block-dispatcher.service.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;;;;AAEnC,gDAAwB;AACxB,2CAA2E;AAC3E,yDAAsD;AACtD,gDAa0B;AAK1B,8DAAyD;AACzD,4EAAwE;AAGxE,MAAM,MAAM,GAAG,IAAA,qBAAS,EAAC,8BAA8B,CAAC,CAAC;AAOlD,IAAM,4BAA4B,GAAlC,MAAM,4BACX,SAAQ,iCAIP;IAGD,YACE,UAAsB,EACtB,YAA2B,EAE3B,cAAgD,EAEhD,qBAA6C,EAC7C,YAAkC,EAClC,YAA0B,EAC1B,iBAAoC,EACpC,cAA8B,EACF,OAAwB,EACpD,gBAAkC,EAClC,uBAAiD,EACjD,mBAAqE,EACrE,cAAwC;QAExC,KAAK,CACH,UAAU,EACV,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,GAAG,EAAE,CACH,IAAA,+BAAmB,EAMjB,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,wCAAwC,CAAC,EACjE,EAAE,EACF,YAAY,CAAC,QAAQ,EAAE,EACvB,YAAY,CAAC,QAAQ,EAAE,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,OAAO,CAAC,IAAI,EACZ,cAAc,CAAC,WAAW,EAC1B,cAAc,CACf,EACH,cAAc,CACf,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,UAAU,CACxB,MAAqB,EACrB,MAAc;QAEd,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAC9D,CAAC;CACF,CAAA;AA9DY,4BAA4B;IADxC,IAAA,mBAAU,GAAE;IAYR,WAAA,IAAA,eAAM,EAAC,iBAAiB,CAAC,CAAA;IAEzB,WAAA,IAAA,eAAM,EAAC,wBAAwB,CAAC,CAAA;IAMhC,WAAA,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAA;qCAVf,sBAAU;QACR,6BAAa,kBAKb,gCAAoB;QACpB,wBAAY;QACP,6BAAiB;QACpB,0BAAc,UAEZ,qCAAgB;QACT,oDAAwB;QAC5B,sCAA0B;GAtBtC,4BAA4B,CA8DxC;AA9DY,oEAA4B","sourcesContent":["// Copyright 2020-2024 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport path from 'path';\nimport { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common';\nimport { EventEmitter2 } from '@nestjs/event-emitter';\nimport {\n getLogger,\n NodeConfig,\n StoreService,\n PoiSyncService,\n StoreCacheService,\n IProjectService,\n WorkerBlockDispatcher,\n IProjectUpgradeService,\n ConnectionPoolStateManager,\n createIndexerWorker,\n InMemoryCacheService,\n MonitorServiceInterface,\n} from '@subql/node-core';\nimport { StellarBlockWrapper, SubqlDatasource } from '@subql/types-stellar';\nimport { SubqueryProject } from '../../configure/SubqueryProject';\nimport { StellarApiConnection } from '../../stellar/api.connection';\nimport { StellarBlockWrapped } from '../../stellar/block.stellar';\nimport { DynamicDsService } from '../dynamic-ds.service';\nimport { UnfinalizedBlocksService } from '../unfinalizedBlocks.service';\nimport { IIndexerWorker } from '../worker/worker';\n\nconst logger = getLogger('WorkerBlockDispatcherService');\n\ntype IndexerWorker = IIndexerWorker & {\n terminate: () => Promise<number>;\n};\n\n@Injectable()\nexport class WorkerBlockDispatcherService\n extends WorkerBlockDispatcher<\n SubqlDatasource,\n IndexerWorker,\n StellarBlockWrapper\n >\n implements OnApplicationShutdown\n{\n constructor(\n nodeConfig: NodeConfig,\n eventEmitter: EventEmitter2,\n @Inject('IProjectService')\n projectService: IProjectService<SubqlDatasource>,\n @Inject('IProjectUpgradeService')\n projectUpgradeService: IProjectUpgradeService,\n cacheService: InMemoryCacheService,\n storeService: StoreService,\n storeCacheService: StoreCacheService,\n poiSyncService: PoiSyncService,\n @Inject('ISubqueryProject') project: SubqueryProject,\n dynamicDsService: DynamicDsService,\n unfinalizedBlocksSevice: UnfinalizedBlocksService,\n connectionPoolState: ConnectionPoolStateManager<StellarApiConnection>,\n monitorService?: MonitorServiceInterface,\n ) {\n super(\n nodeConfig,\n eventEmitter,\n projectService,\n projectUpgradeService,\n storeService,\n storeCacheService,\n poiSyncService,\n project,\n () =>\n createIndexerWorker<\n IIndexerWorker,\n StellarApiConnection,\n StellarBlockWrapped,\n SubqlDatasource\n >(\n path.resolve(__dirname, '../../../dist/indexer/worker/worker.js'),\n [],\n storeService.getStore(),\n cacheService.getCache(),\n dynamicDsService,\n unfinalizedBlocksSevice,\n connectionPoolState,\n project.root,\n projectService.startHeight,\n monitorService,\n ),\n monitorService,\n );\n }\n\n protected async fetchBlock(\n worker: IndexerWorker,\n height: number,\n ): Promise<void> {\n await worker.fetchBlock(height, 0 /* Unused with stellar*/);\n }\n}\n"]}
|
|
@@ -9,5 +9,4 @@ export declare class StellarDictionaryService extends DictionaryService<SubqlSte
|
|
|
9
9
|
protected dsProcessorService: DsProcessorService;
|
|
10
10
|
initDictionaries(): Promise<void>;
|
|
11
11
|
constructor(project: SubqueryProject, nodeConfig: NodeConfig, eventEmitter: EventEmitter2, dsProcessorService: DsProcessorService);
|
|
12
|
-
private getV1Dictionary;
|
|
13
12
|
}
|
|
@@ -19,7 +19,6 @@ const common_1 = require("@nestjs/common");
|
|
|
19
19
|
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
20
20
|
const common_2 = require("@subql/common");
|
|
21
21
|
const node_core_1 = require("@subql/node-core");
|
|
22
|
-
const SubqueryProject_1 = require("../../configure/SubqueryProject");
|
|
23
22
|
const ds_processor_service_1 = require("../ds-processor.service");
|
|
24
23
|
const v1_1 = require("./v1");
|
|
25
24
|
const logger = (0, node_core_1.getLogger)('StellarDictionary');
|
|
@@ -40,7 +39,7 @@ let StellarDictionaryService = class StellarDictionaryService extends node_core_
|
|
|
40
39
|
: this.project.network.dictionary).concat(registryDictionaries);
|
|
41
40
|
for (const endpoint of dictionaryEndpoints) {
|
|
42
41
|
try {
|
|
43
|
-
const dictionaryV1 = await v1_1.StellarDictionaryV1.create(this.project, this.nodeConfig, this.dsProcessorService.getDsProcessor.bind(this), endpoint);
|
|
42
|
+
const dictionaryV1 = await v1_1.StellarDictionaryV1.create(this.project, this.nodeConfig, this.dsProcessorService.getDsProcessor.bind(this.dsProcessorService), endpoint);
|
|
44
43
|
dictionariesV1.push(dictionaryV1);
|
|
45
44
|
}
|
|
46
45
|
catch (e) {
|
|
@@ -54,16 +53,11 @@ let StellarDictionaryService = class StellarDictionaryService extends node_core_
|
|
|
54
53
|
this.project = project;
|
|
55
54
|
this.dsProcessorService = dsProcessorService;
|
|
56
55
|
}
|
|
57
|
-
getV1Dictionary() {
|
|
58
|
-
// TODO this needs to be removed once Stellar supports V2 dictionaries
|
|
59
|
-
return this._dictionaries[this._currentDictionaryIndex];
|
|
60
|
-
}
|
|
61
56
|
};
|
|
62
57
|
StellarDictionaryService = __decorate([
|
|
63
58
|
(0, common_1.Injectable)(),
|
|
64
59
|
__param(0, (0, common_1.Inject)('ISubqueryProject')),
|
|
65
|
-
__metadata("design:paramtypes", [
|
|
66
|
-
node_core_1.NodeConfig,
|
|
60
|
+
__metadata("design:paramtypes", [Object, node_core_1.NodeConfig,
|
|
67
61
|
event_emitter_1.EventEmitter2,
|
|
68
62
|
ds_processor_service_1.DsProcessorService])
|
|
69
63
|
], StellarDictionaryService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stellarDictionary.service.js","sourceRoot":"","sources":["../../../src/indexer/dictionary/stellarDictionary.service.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;AAEnC,2CAAoD;AACpD,yDAAsD;AACtD,0CAA+C;AAE/C,gDAA4E;
|
|
1
|
+
{"version":3,"file":"stellarDictionary.service.js","sourceRoot":"","sources":["../../../src/indexer/dictionary/stellarDictionary.service.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;AAEnC,2CAAoD;AACpD,yDAAsD;AACtD,0CAA+C;AAE/C,gDAA4E;AAG5E,kEAA6D;AAC7D,6BAA2C;AAE3C,MAAM,MAAM,GAAG,IAAA,qBAAS,EAAC,mBAAmB,CAAC,CAAC;AAGvC,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,6BAG7C;IA0CyC;IAG5B;IA5CZ,KAAK,CAAC,gBAAgB;QACpB,MAAM,cAAc,GAA0B,EAAE,CAAC;QAEjD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACnE;QACD,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACvD,uBAAc,CAAC,OAAO,EACtB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAC5B,IAAI,CAAC,UAAU,CAAC,kBAAkB,CACnC,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,kCAAkC,oBAAoB,EAAE,CAAC,CAAC;QAEvE,MAAM,mBAAmB,GAAa,CACpC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;YAC7C,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU;gBAChC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CACpC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAE/B,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE;YAC1C,IAAI;gBACF,MAAM,YAAY,GAAG,MAAM,wBAAmB,CAAC,MAAM,CACnD,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,EACpE,QAAQ,CACT,CAAC;gBACF,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACnC;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,CAAC,IAAI,CACT,wBAAwB,QAAQ,6BAA6B,CAC9D,CAAC;aACH;SACF;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5B,CAAC;IAED,YACwC,OAAwB,EAC9D,UAAsB,EACtB,YAA2B,EACjB,kBAAsC;QAEhD,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QALnB,YAAO,GAAP,OAAO,CAAiB;QAGpD,uBAAkB,GAAlB,kBAAkB,CAAoB;IAGlD,CAAC;CACF,CAAA;AApDY,wBAAwB;IADpC,IAAA,mBAAU,GAAE;IA8CR,WAAA,IAAA,eAAM,EAAC,kBAAkB,CAAC,CAAA;6CACf,sBAAU;QACR,6BAAa;QACG,yCAAkB;GAhDvC,wBAAwB,CAoDpC;AApDY,4DAAwB","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 { NETWORK_FAMILY } from '@subql/common';\nimport { SubqlStellarDataSource } from '@subql/common-stellar';\nimport { NodeConfig, DictionaryService, getLogger } from '@subql/node-core';\nimport { StellarBlock } from '@subql/types-stellar';\nimport { SubqueryProject } from '../../configure/SubqueryProject';\nimport { DsProcessorService } from '../ds-processor.service';\nimport { StellarDictionaryV1 } from './v1';\n\nconst logger = getLogger('StellarDictionary');\n\n@Injectable()\nexport class StellarDictionaryService extends DictionaryService<\n SubqlStellarDataSource,\n StellarBlock\n> {\n async initDictionaries(): Promise<void> {\n const dictionariesV1: StellarDictionaryV1[] = [];\n\n if (!this.project) {\n throw new Error(`Project in Dictionary service not initialized `);\n }\n const registryDictionaries = await this.resolveDictionary(\n NETWORK_FAMILY.stellar,\n this.project.network.chainId,\n this.nodeConfig.dictionaryRegistry,\n );\n\n logger.debug(`Dictionary registry endpoints: ${registryDictionaries}`);\n\n const dictionaryEndpoints: string[] = (\n !Array.isArray(this.project.network.dictionary)\n ? !this.project.network.dictionary\n ? []\n : [this.project.network.dictionary]\n : this.project.network.dictionary\n ).concat(registryDictionaries);\n\n for (const endpoint of dictionaryEndpoints) {\n try {\n const dictionaryV1 = await StellarDictionaryV1.create(\n this.project,\n this.nodeConfig,\n this.dsProcessorService.getDsProcessor.bind(this.dsProcessorService),\n endpoint,\n );\n dictionariesV1.push(dictionaryV1);\n } catch (e) {\n logger.warn(\n `Dictionary endpoint \"${endpoint}\" is not a valid dictionary`,\n );\n }\n }\n this.init(dictionariesV1);\n }\n\n constructor(\n @Inject('ISubqueryProject') protected project: SubqueryProject,\n nodeConfig: NodeConfig,\n eventEmitter: EventEmitter2,\n protected dsProcessorService: DsProcessorService,\n ) {\n super(project.network.chainId, nodeConfig, eventEmitter);\n }\n}\n"]}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import { SubqlStellarDataSource
|
|
1
|
+
import { SubqlStellarDataSource } from '@subql/common-stellar';
|
|
2
2
|
import { NodeConfig, DictionaryV1 } from '@subql/node-core';
|
|
3
|
-
import { DictionaryQueryEntry as DictionaryV1QueryEntry
|
|
3
|
+
import { DictionaryQueryEntry as DictionaryV1QueryEntry } from '@subql/types-core';
|
|
4
4
|
import { SubqlDatasource } from '@subql/types-stellar';
|
|
5
5
|
import { SubqueryProject } from '../../../configure/SubqueryProject';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export declare function buildDictionaryQueryEntries(dataSources: GroupedSubqlProjectDs[]): DictionaryV1QueryEntry[];
|
|
6
|
+
import { DsProcessorService } from '../../ds-processor.service';
|
|
7
|
+
type GetDsProcessor = DsProcessorService['getDsProcessor'];
|
|
8
|
+
export declare function buildDictionaryQueryEntries(dataSources: SubqlDatasource[]): DictionaryV1QueryEntry[];
|
|
10
9
|
export declare class StellarDictionaryV1 extends DictionaryV1<SubqlStellarDataSource> {
|
|
11
|
-
|
|
12
|
-
constructor(project: SubqueryProject, nodeConfig: NodeConfig, getDsProcessor:
|
|
13
|
-
static create(project: SubqueryProject, nodeConfig: NodeConfig, getDsProcessor:
|
|
10
|
+
private getDsProcessor;
|
|
11
|
+
constructor(project: SubqueryProject, nodeConfig: NodeConfig, getDsProcessor: GetDsProcessor, dictionaryUrl: string, chainId?: string);
|
|
12
|
+
static create(project: SubqueryProject, nodeConfig: NodeConfig, getDsProcessor: GetDsProcessor, dictionaryUrl: string, chainId?: string): Promise<StellarDictionaryV1>;
|
|
14
13
|
buildDictionaryQueryEntries(dataSources: SubqlStellarDataSource[]): DictionaryV1QueryEntry[];
|
|
15
14
|
}
|
|
16
15
|
export {};
|