@subql/common-stellar 2.3.1-0 → 2.3.2-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 +5 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/project/load.d.ts +0 -1
- package/dist/project/load.js +1 -28
- package/dist/project/load.js.map +1 -1
- package/dist/project/models.d.ts +4 -3
- package/dist/project/models.js +5 -1
- package/dist/project/models.js.map +1 -1
- package/dist/project/project.spec.js +36 -15
- package/dist/project/project.spec.js.map +1 -1
- package/dist/project/types.d.ts +2 -3
- package/dist/project/types.js.map +1 -1
- package/dist/project/utils.d.ts +6 -6
- package/dist/project/utils.js.map +1 -1
- package/dist/project/versioned/ProjectManifestVersioned.js +1 -1
- package/dist/project/versioned/ProjectManifestVersioned.js.map +1 -1
- package/dist/project/versioned/v1_0_0/index.d.ts +0 -1
- package/dist/project/versioned/v1_0_0/index.js +0 -1
- package/dist/project/versioned/v1_0_0/index.js.map +1 -1
- package/dist/project/versioned/v1_0_0/model.d.ts +10 -15
- package/dist/project/versioned/v1_0_0/model.js +16 -41
- package/dist/project/versioned/v1_0_0/model.js.map +1 -1
- package/package.json +4 -4
- package/src/project/load.ts +0 -23
- package/src/project/models.ts +10 -6
- package/src/project/project.spec.ts +23 -2
- package/src/project/types.ts +2 -3
- package/src/project/utils.ts +18 -18
- package/src/project/versioned/ProjectManifestVersioned.ts +1 -1
- package/src/project/versioned/v1_0_0/index.ts +0 -1
- package/src/project/versioned/v1_0_0/model.ts +29 -42
- package/test/project_1.0.0.yaml +1 -1
- package/dist/project/versioned/v1_0_0/types.d.ts +0 -7
- package/dist/project/versioned/v1_0_0/types.js +0 -5
- package/dist/project/versioned/v1_0_0/types.js.map +0 -1
- package/src/project/versioned/v1_0_0/types.ts +0 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/project/models.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2020-2023 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport {forbidNonWhitelisted} from '@subql/common';\nimport {\n StellarHandlerKind,\n StellarDatasourceKind,\n SorobanEventFilter,\n SubqlCustomHandler,\n SubqlMapping,\n SubqlHandler,\n SubqlRuntimeHandler,\n SubqlRuntimeDatasource,\n SubqlCustomDatasource,\n FileReference,\n CustomDataSourceAsset,\n StellarBlockFilter,\n StellarTransactionFilter,\n StellarOperationFilter,\n StellarEffectFilter,\n SubqlBlockHandler,\n SubqlTransactionHandler,\n SubqlOperationHandler,\n SubqlEffectHandler,\n SubqlEventHandler,\n SubqlSorobanTransactionHandler,\n} from '@subql/types-stellar';\nimport {plainToClass, Transform, Type} from 'class-transformer';\nimport {IsArray, IsEnum, IsInt, IsOptional, IsString, IsObject, ValidateNested} from 'class-validator';\nimport {Horizon} from 'stellar-sdk';\nimport {SubqlStellarProcessorOptions} from './types';\n\nexport class BlockFilter implements StellarBlockFilter {\n @IsOptional()\n @IsInt()\n modulo?: number;\n @IsOptional()\n @IsString()\n timestamp?: string;\n}\n\nexport class TransactionFilter implements StellarTransactionFilter {\n @IsOptional()\n @IsString()\n account?: string;\n}\n\nexport class OperationFilter implements StellarOperationFilter {\n @IsOptional()\n type: Horizon.OperationResponseType;\n\n @IsOptional()\n @IsString()\n source_account?: string;\n}\n\nexport class EffectFilter implements StellarEffectFilter {\n @IsOptional()\n @IsString()\n type?: string;\n\n @IsOptional()\n @IsString()\n account?: string;\n}\n\nexport class BlockHandler implements SubqlBlockHandler {\n @IsObject()\n @IsOptional()\n @Type(() => BlockFilter)\n filter?: BlockFilter;\n @IsEnum(StellarHandlerKind, {groups: [StellarHandlerKind.Block]})\n kind: StellarHandlerKind.Block;\n @IsString()\n handler: string;\n}\n\nexport class TransactionHandler implements SubqlTransactionHandler {\n @IsObject()\n @IsOptional()\n @Type(() => TransactionFilter)\n filter?: TransactionFilter;\n @IsEnum(StellarHandlerKind, {groups: [StellarHandlerKind.Transaction]})\n kind: StellarHandlerKind.Transaction;\n @IsString()\n handler: string;\n}\n\nexport class SorobanTransactionHandler implements SubqlSorobanTransactionHandler {\n @IsObject()\n @IsOptional()\n @Type(() => TransactionFilter)\n filter?: TransactionFilter;\n @IsEnum(StellarHandlerKind, {groups: [StellarHandlerKind.SorobanTransaction]})\n kind: StellarHandlerKind.SorobanTransaction;\n @IsString()\n handler: string;\n}\n\nexport class OperationHandler implements SubqlOperationHandler {\n @IsObject()\n @IsOptional()\n @Type(() => OperationFilter)\n filter?: OperationFilter;\n @IsEnum(StellarHandlerKind, {groups: [StellarHandlerKind.Operation]})\n kind: StellarHandlerKind.Operation;\n @IsString()\n handler: string;\n}\n\nexport class EffectHandler implements SubqlEffectHandler {\n @IsObject()\n @IsOptional()\n @Type(() => EffectFilter)\n filter?: EffectFilter;\n @IsEnum(StellarHandlerKind, {groups: [StellarHandlerKind.Effects]})\n kind: StellarHandlerKind.Effects;\n @IsString()\n handler: string;\n}\n\nexport class EventFilter implements SorobanEventFilter {\n @IsOptional()\n @IsString()\n contractId?: string;\n @IsOptional()\n @IsArray()\n topics?: string[];\n}\n\nexport class EventHandler implements SubqlEventHandler {\n @forbidNonWhitelisted({topics: '', contractId: ''})\n @IsOptional()\n @ValidateNested()\n @Type(() => EventFilter)\n filter?: SorobanEventFilter;\n @IsEnum(StellarHandlerKind, {groups: [StellarHandlerKind.Event]})\n kind: StellarHandlerKind.Event;\n @IsString()\n handler: string;\n}\n\nexport class CustomHandler implements SubqlCustomHandler {\n @IsString()\n kind: string;\n @IsString()\n handler: string;\n @IsObject()\n @IsOptional()\n filter?: Record<string, unknown>;\n}\n\nexport class StellarMapping implements SubqlMapping {\n @Transform((params) => {\n const handlers: SubqlHandler[] = params.value;\n return handlers.map((handler) => {\n switch (handler.kind) {\n case StellarHandlerKind.Block:\n return plainToClass(BlockHandler, handler);\n case StellarHandlerKind.Transaction:\n return plainToClass(TransactionHandler, handler);\n case StellarHandlerKind.SorobanTransaction:\n return plainToClass(SorobanTransactionHandler, handler);\n case StellarHandlerKind.Operation:\n return plainToClass(OperationHandler, handler);\n case StellarHandlerKind.Effects:\n return plainToClass(EffectHandler, handler);\n case StellarHandlerKind.Event:\n return plainToClass(EventHandler, handler);\n default:\n throw new Error(`handler ${(handler as any).kind} not supported`);\n }\n });\n })\n @IsArray()\n @ValidateNested()\n handlers: SubqlHandler[];\n @IsString()\n file: string;\n}\n\nexport class CustomMapping implements SubqlMapping<SubqlCustomHandler> {\n @IsArray()\n @Type(() => CustomHandler)\n @ValidateNested()\n handlers: CustomHandler[];\n @IsString()\n file: string;\n}\n\nexport class StellarProcessorOptions implements SubqlStellarProcessorOptions {\n @IsOptional()\n @IsString()\n abi?: string;\n @IsOptional()\n @IsString()\n address?: string;\n}\n\nexport class RuntimeDataSourceBase<M extends SubqlMapping<SubqlRuntimeHandler>> implements SubqlRuntimeDatasource<M> {\n @IsEnum(StellarDatasourceKind, {\n groups: [StellarDatasourceKind.Runtime],\n })\n kind: StellarDatasourceKind.Runtime;\n @Type(() => StellarMapping)\n @ValidateNested()\n mapping: M;\n @IsOptional()\n @IsInt()\n startBlock?: number;\n @IsOptional()\n assets?: Map<string, FileReference>;\n @IsOptional()\n @ValidateNested()\n @Type(() => StellarProcessorOptions)\n options?: StellarProcessorOptions;\n}\n\nexport class FileReferenceImpl implements FileReference {\n @IsString()\n file: string;\n}\n\nexport class CustomDataSourceBase<K extends string, M extends SubqlMapping = SubqlMapping<SubqlCustomHandler>>\n implements SubqlCustomDatasource<K, M>\n{\n @IsString()\n kind: K;\n @Type(() => CustomMapping)\n @ValidateNested()\n mapping: M;\n @IsOptional()\n @IsInt()\n startBlock?: number;\n @Type(() => FileReferenceImpl)\n @ValidateNested({each: true})\n assets: Map<string, CustomDataSourceAsset>;\n @Type(() => FileReferenceImpl)\n @IsObject()\n processor: FileReference;\n @IsOptional()\n @ValidateNested()\n options?: StellarProcessorOptions;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/project/models.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2020-2023 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport {forbidNonWhitelisted, ProcessorImpl} from '@subql/common';\nimport {Processor, FileReference} from '@subql/types-core';\nimport {\n StellarHandlerKind,\n StellarDatasourceKind,\n SorobanEventFilter,\n SubqlCustomHandler,\n SubqlMapping,\n SubqlHandler,\n SubqlRuntimeHandler,\n SubqlRuntimeDatasource,\n SubqlCustomDatasource,\n CustomDataSourceAsset,\n StellarBlockFilter,\n StellarTransactionFilter,\n StellarOperationFilter,\n StellarEffectFilter,\n SubqlBlockHandler,\n SubqlTransactionHandler,\n SubqlOperationHandler,\n SubqlEffectHandler,\n SubqlEventHandler,\n SubqlSorobanTransactionHandler,\n} from '@subql/types-stellar';\nimport {plainToClass, Transform, Type} from 'class-transformer';\nimport {IsArray, IsEnum, IsInt, IsOptional, IsString, IsObject, ValidateNested} from 'class-validator';\nimport {Horizon} from 'stellar-sdk';\nimport {SubqlStellarProcessorOptions} from './types';\n\nexport class BlockFilter implements StellarBlockFilter {\n @IsOptional()\n @IsInt()\n modulo?: number;\n @IsOptional()\n @IsString()\n timestamp?: string;\n}\n\nexport class TransactionFilter implements StellarTransactionFilter {\n @IsOptional()\n @IsString()\n account?: string;\n}\n\nexport class OperationFilter implements StellarOperationFilter {\n @IsOptional()\n type: Horizon.OperationResponseType;\n\n @IsOptional()\n @IsString()\n source_account?: string;\n}\n\nexport class EffectFilter implements StellarEffectFilter {\n @IsOptional()\n @IsString()\n type?: string;\n\n @IsOptional()\n @IsString()\n account?: string;\n}\n\nexport class BlockHandler implements SubqlBlockHandler {\n @IsObject()\n @IsOptional()\n @Type(() => BlockFilter)\n filter?: BlockFilter;\n @IsEnum(StellarHandlerKind, {groups: [StellarHandlerKind.Block]})\n kind: StellarHandlerKind.Block;\n @IsString()\n handler: string;\n}\n\nexport class TransactionHandler implements SubqlTransactionHandler {\n @forbidNonWhitelisted({account: ''})\n @IsObject()\n @IsOptional()\n @Type(() => TransactionFilter)\n filter?: TransactionFilter;\n @IsEnum(StellarHandlerKind, {groups: [StellarHandlerKind.Transaction]})\n kind: StellarHandlerKind.Transaction;\n @IsString()\n handler: string;\n}\n\nexport class SorobanTransactionHandler implements SubqlSorobanTransactionHandler {\n @forbidNonWhitelisted({account: ''})\n @IsObject()\n @IsOptional()\n @Type(() => TransactionFilter)\n filter?: TransactionFilter;\n @IsEnum(StellarHandlerKind, {groups: [StellarHandlerKind.SorobanTransaction]})\n kind: StellarHandlerKind.SorobanTransaction;\n @IsString()\n handler: string;\n}\n\nexport class OperationHandler implements SubqlOperationHandler {\n @forbidNonWhitelisted({type: '', sourceAccount: ''})\n @IsObject()\n @IsOptional()\n @Type(() => OperationFilter)\n filter?: OperationFilter;\n @IsEnum(StellarHandlerKind, {groups: [StellarHandlerKind.Operation]})\n kind: StellarHandlerKind.Operation;\n @IsString()\n handler: string;\n}\n\nexport class EffectHandler implements SubqlEffectHandler {\n @forbidNonWhitelisted({type: '', account: ''})\n @IsObject()\n @IsOptional()\n @Type(() => EffectFilter)\n filter?: EffectFilter;\n @IsEnum(StellarHandlerKind, {groups: [StellarHandlerKind.Effects]})\n kind: StellarHandlerKind.Effects;\n @IsString()\n handler: string;\n}\n\nexport class EventFilter implements SorobanEventFilter {\n @IsOptional()\n @IsString()\n contractId?: string;\n @IsOptional()\n @IsArray()\n topics?: string[];\n}\n\nexport class EventHandler implements SubqlEventHandler {\n @forbidNonWhitelisted({topics: '', contractId: ''})\n @IsOptional()\n @ValidateNested()\n @Type(() => EventFilter)\n filter?: SorobanEventFilter;\n @IsEnum(StellarHandlerKind, {groups: [StellarHandlerKind.Event]})\n kind: StellarHandlerKind.Event;\n @IsString()\n handler: string;\n}\n\nexport class CustomHandler implements SubqlCustomHandler {\n @IsString()\n kind: string;\n @IsString()\n handler: string;\n @IsObject()\n @IsOptional()\n filter?: Record<string, unknown>;\n}\n\nexport class StellarMapping implements SubqlMapping {\n @Transform((params) => {\n const handlers: SubqlHandler[] = params.value;\n return handlers.map((handler) => {\n switch (handler.kind) {\n case StellarHandlerKind.Block:\n return plainToClass(BlockHandler, handler);\n case StellarHandlerKind.Transaction:\n return plainToClass(TransactionHandler, handler);\n case StellarHandlerKind.SorobanTransaction:\n return plainToClass(SorobanTransactionHandler, handler);\n case StellarHandlerKind.Operation:\n return plainToClass(OperationHandler, handler);\n case StellarHandlerKind.Effects:\n return plainToClass(EffectHandler, handler);\n case StellarHandlerKind.Event:\n return plainToClass(EventHandler, handler);\n default:\n throw new Error(`handler ${(handler as any).kind} not supported`);\n }\n });\n })\n @IsArray()\n @ValidateNested()\n handlers: SubqlHandler[];\n @IsString()\n file: string;\n}\n\nexport class CustomMapping implements SubqlMapping<SubqlCustomHandler> {\n @IsArray()\n @Type(() => CustomHandler)\n @ValidateNested()\n handlers: CustomHandler[];\n @IsString()\n file: string;\n}\n\nexport class StellarProcessorOptions implements SubqlStellarProcessorOptions {\n @IsOptional()\n @IsString()\n abi?: string;\n @IsOptional()\n @IsString()\n address?: string;\n}\n\nexport class RuntimeDataSourceBase<M extends SubqlMapping<SubqlRuntimeHandler>> implements SubqlRuntimeDatasource<M> {\n @IsEnum(StellarDatasourceKind, {\n groups: [StellarDatasourceKind.Runtime],\n })\n kind: StellarDatasourceKind.Runtime;\n @Type(() => StellarMapping)\n @ValidateNested()\n mapping: M;\n @IsOptional()\n @IsInt()\n startBlock?: number;\n @IsOptional()\n assets?: Map<string, FileReference>;\n @IsOptional()\n @ValidateNested()\n @Type(() => StellarProcessorOptions)\n options?: StellarProcessorOptions;\n}\n\nexport class FileReferenceImpl implements FileReference {\n @IsString()\n file: string;\n}\n\nexport class CustomDataSourceBase<K extends string, M extends SubqlMapping = SubqlMapping<SubqlCustomHandler>, O = any>\n implements SubqlCustomDatasource<K, M, O>\n{\n @IsString()\n kind: K;\n @Type(() => CustomMapping)\n @ValidateNested()\n mapping: M;\n @IsOptional()\n @IsInt()\n startBlock?: number;\n @Type(() => FileReferenceImpl)\n @ValidateNested({each: true})\n assets: Map<string, CustomDataSourceAsset>;\n @Type(() => ProcessorImpl)\n @IsObject()\n processor: Processor<O>;\n @IsOptional()\n @ValidateNested()\n options?: StellarProcessorOptions;\n}\n"]}
|
|
@@ -5,25 +5,46 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
6
6
|
};
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
9
|
const path_1 = __importDefault(require("path"));
|
|
9
10
|
const common_1 = require("@subql/common");
|
|
10
11
|
const class_validator_1 = require("class-validator");
|
|
11
12
|
const v1_0_0_1 = require("../project/versioned/v1_0_0");
|
|
12
|
-
const
|
|
13
|
+
const versioned_1 = require("./versioned");
|
|
13
14
|
const projectsDir = path_1.default.join(__dirname, '../../test');
|
|
15
|
+
function loadStellarProjectManifest(file) {
|
|
16
|
+
let manifestPath = file;
|
|
17
|
+
if (fs_1.default.existsSync(file) && fs_1.default.lstatSync(file).isDirectory()) {
|
|
18
|
+
const yamlFilePath = path_1.default.join(file, 'project.yaml');
|
|
19
|
+
const jsonFilePath = path_1.default.join(file, 'project.json');
|
|
20
|
+
if (fs_1.default.existsSync(yamlFilePath)) {
|
|
21
|
+
manifestPath = yamlFilePath;
|
|
22
|
+
}
|
|
23
|
+
else if (fs_1.default.existsSync(jsonFilePath)) {
|
|
24
|
+
manifestPath = jsonFilePath;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
throw new Error(`Could not find project manifest under dir ${file}`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
const doc = (0, common_1.loadFromJsonOrYaml)(manifestPath);
|
|
31
|
+
const projectManifest = new versioned_1.StellarProjectManifestVersioned(doc);
|
|
32
|
+
projectManifest.validate();
|
|
33
|
+
return projectManifest;
|
|
34
|
+
}
|
|
14
35
|
describe('project.yaml', () => {
|
|
15
36
|
it('can validate project.yaml', () => {
|
|
16
|
-
expect(() =>
|
|
17
|
-
expect(() =>
|
|
37
|
+
expect(() => loadStellarProjectManifest(path_1.default.join(projectsDir, 'project_falsy.yaml'))).toThrow();
|
|
38
|
+
expect(() => loadStellarProjectManifest(path_1.default.join(projectsDir, 'project_falsy_array.yaml'))).toThrow();
|
|
18
39
|
});
|
|
19
40
|
it('can fail validation if version not supported', () => {
|
|
20
|
-
expect(() =>
|
|
41
|
+
expect(() => loadStellarProjectManifest(path_1.default.join(projectsDir, 'project_invalid_version.yaml'))).toThrow();
|
|
21
42
|
});
|
|
22
43
|
it('can validate a v1.0.0 project.yaml with templates', () => {
|
|
23
|
-
expect(() =>
|
|
44
|
+
expect(() => loadStellarProjectManifest(path_1.default.join(projectsDir, 'project_1.0.0.yaml'))).not.toThrow();
|
|
24
45
|
});
|
|
25
46
|
it('get v1.0.0 deployment mapping filter - transaction', () => {
|
|
26
|
-
const manifestVersioned =
|
|
47
|
+
const manifestVersioned = loadStellarProjectManifest(path_1.default.join(projectsDir, 'project_1.0.0.yaml'));
|
|
27
48
|
const deployment = manifestVersioned.asV1_0_0.deployment;
|
|
28
49
|
const filter = deployment.dataSources[0].mapping.handlers[0].filter;
|
|
29
50
|
const deploymentString = manifestVersioned.toDeployment();
|
|
@@ -31,7 +52,7 @@ describe('project.yaml', () => {
|
|
|
31
52
|
expect(deploymentString).toContain('account');
|
|
32
53
|
});
|
|
33
54
|
it('get v1.0.0 deployment mapping filter - operation', () => {
|
|
34
|
-
const manifestVersioned =
|
|
55
|
+
const manifestVersioned = loadStellarProjectManifest(path_1.default.join(projectsDir, 'project_1.0.0.yaml'));
|
|
35
56
|
const deployment = manifestVersioned.asV1_0_0.deployment;
|
|
36
57
|
const filter = deployment.dataSources[0].mapping.handlers[1].filter;
|
|
37
58
|
const deploymentString = manifestVersioned.toDeployment();
|
|
@@ -39,7 +60,7 @@ describe('project.yaml', () => {
|
|
|
39
60
|
expect(deploymentString).toContain('account_merge');
|
|
40
61
|
});
|
|
41
62
|
it('get v1.0.0 deployment mapping filter - effect', () => {
|
|
42
|
-
const manifestVersioned =
|
|
63
|
+
const manifestVersioned = loadStellarProjectManifest(path_1.default.join(projectsDir, 'project_1.0.0.yaml'));
|
|
43
64
|
const deployment = manifestVersioned.asV1_0_0.deployment;
|
|
44
65
|
const filter = deployment.dataSources[0].mapping.handlers[2].filter;
|
|
45
66
|
const deploymentString = manifestVersioned.toDeployment();
|
|
@@ -47,7 +68,7 @@ describe('project.yaml', () => {
|
|
|
47
68
|
expect(deploymentString).toContain('account_credited');
|
|
48
69
|
});
|
|
49
70
|
it('get v1.0.0 deployment mapping filter - events', () => {
|
|
50
|
-
const manifestVersioned =
|
|
71
|
+
const manifestVersioned = loadStellarProjectManifest(path_1.default.join(projectsDir, 'project_1.0.0.yaml'));
|
|
51
72
|
const deployment = manifestVersioned.asV1_0_0.deployment;
|
|
52
73
|
const filter = deployment.dataSources[0].mapping.handlers[3].filter;
|
|
53
74
|
const deploymentString = manifestVersioned.toDeployment();
|
|
@@ -55,12 +76,12 @@ describe('project.yaml', () => {
|
|
|
55
76
|
expect(deploymentString).toContain('COUNTER');
|
|
56
77
|
});
|
|
57
78
|
it('can convert genesis hash in v1.0.0 to chainId in deployment', () => {
|
|
58
|
-
const deployment =
|
|
79
|
+
const deployment = loadStellarProjectManifest(path_1.default.join(projectsDir, 'project_1.0.0.yaml')).asV1_0_0.deployment;
|
|
59
80
|
expect(deployment.network.chainId).not.toBeNull();
|
|
60
81
|
console.log(deployment.network.chainId);
|
|
61
82
|
});
|
|
62
83
|
it.skip('can get chainId for deployment', () => {
|
|
63
|
-
const deployment =
|
|
84
|
+
const deployment = loadStellarProjectManifest(path_1.default.join(projectsDir, 'project_1.0.0_chainId.yaml')).asV1_0_0
|
|
64
85
|
.deployment;
|
|
65
86
|
expect(deployment.network.chainId).toBe('moonbeamChainId');
|
|
66
87
|
});
|
|
@@ -79,17 +100,17 @@ describe('project.yaml', () => {
|
|
|
79
100
|
(0, class_validator_1.validateSync)(deployment.runner, { whitelist: true, forbidNonWhitelisted: true });
|
|
80
101
|
});
|
|
81
102
|
it('can validate a v1.0.0 project.yaml with unsupported runner node', () => {
|
|
82
|
-
expect(() =>
|
|
103
|
+
expect(() => loadStellarProjectManifest(path_1.default.join(projectsDir, 'project_1.0.0_bad_runner.yaml'))).toThrow();
|
|
83
104
|
});
|
|
84
105
|
//TODO, pre-release should be excluded
|
|
85
106
|
it.skip('can throw error with unsupported runner version', () => {
|
|
86
|
-
expect(() =>
|
|
107
|
+
expect(() => loadStellarProjectManifest(path_1.default.join(projectsDir, 'project_1.0.0_bad_runner_version.yaml'))).toThrow();
|
|
87
108
|
});
|
|
88
109
|
it('can validate a v1.0.0 project.yaml runner and datasource mismatches', () => {
|
|
89
|
-
expect(() =>
|
|
110
|
+
expect(() => loadStellarProjectManifest(path_1.default.join(projectsDir, 'project_1.0.0_runner_ds_mismatch.yaml'))).toThrow();
|
|
90
111
|
});
|
|
91
112
|
it('can fail validation if custom ds missing processor', () => {
|
|
92
|
-
expect(() =>
|
|
113
|
+
expect(() => loadStellarProjectManifest(path_1.default.join(projectsDir, 'project_0.2.0_invalid_custom_ds.yaml'))).toThrow();
|
|
93
114
|
});
|
|
94
115
|
});
|
|
95
116
|
//# sourceMappingURL=project.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.spec.js","sourceRoot":"","sources":["../../src/project/project.spec.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2020-2023 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport path from 'path';\nimport {RunnerQueryBaseModel} from '@subql/common';\nimport {validateSync} from 'class-validator';\nimport {DeploymentV1_0_0, StellarRunnerNodeImpl, StellarRunnerSpecsImpl} from '../project/versioned/v1_0_0';\nimport {loadStellarProjectManifest} from './load';\n\nconst projectsDir = path.join(__dirname, '../../test');\n\ndescribe('project.yaml', () => {\n it('can validate project.yaml', () => {\n expect(() => loadStellarProjectManifest(path.join(projectsDir, 'project_falsy.yaml'))).toThrow();\n expect(() => loadStellarProjectManifest(path.join(projectsDir, 'project_falsy_array.yaml'))).toThrow();\n });\n\n it('can fail validation if version not supported', () => {\n expect(() => loadStellarProjectManifest(path.join(projectsDir, 'project_invalid_version.yaml'))).toThrow();\n });\n\n it('can validate a v1.0.0 project.yaml with templates', () => {\n expect(() => loadStellarProjectManifest(path.join(projectsDir, 'project_1.0.0.yaml'))).not.toThrow();\n });\n\n it('get v1.0.0 deployment mapping filter - transaction', () => {\n const manifestVersioned = loadStellarProjectManifest(path.join(projectsDir, 'project_1.0.0.yaml'));\n\n const deployment = manifestVersioned.asV1_0_0.deployment;\n const filter = deployment.dataSources[0].mapping.handlers[0].filter;\n const deploymentString = manifestVersioned.toDeployment();\n expect(filter).not.toBeNull();\n expect(deploymentString).toContain('account');\n });\n\n it('get v1.0.0 deployment mapping filter - operation', () => {\n const manifestVersioned = loadStellarProjectManifest(path.join(projectsDir, 'project_1.0.0.yaml'));\n\n const deployment = manifestVersioned.asV1_0_0.deployment;\n const filter = deployment.dataSources[0].mapping.handlers[1].filter;\n const deploymentString = manifestVersioned.toDeployment();\n expect(filter).not.toBeNull();\n expect(deploymentString).toContain('account_merge');\n });\n\n it('get v1.0.0 deployment mapping filter - effect', () => {\n const manifestVersioned = loadStellarProjectManifest(path.join(projectsDir, 'project_1.0.0.yaml'));\n\n const deployment = manifestVersioned.asV1_0_0.deployment;\n const filter = deployment.dataSources[0].mapping.handlers[2].filter;\n const deploymentString = manifestVersioned.toDeployment();\n expect(filter).not.toBeNull();\n expect(deploymentString).toContain('account_credited');\n });\n\n it('get v1.0.0 deployment mapping filter - events', () => {\n const manifestVersioned = loadStellarProjectManifest(path.join(projectsDir, 'project_1.0.0.yaml'));\n\n const deployment = manifestVersioned.asV1_0_0.deployment;\n const filter = deployment.dataSources[0].mapping.handlers[3].filter;\n const deploymentString = manifestVersioned.toDeployment();\n expect(filter).not.toBeNull();\n expect(deploymentString).toContain('COUNTER');\n });\n\n it('can convert genesis hash in v1.0.0 to chainId in deployment', () => {\n const deployment = loadStellarProjectManifest(path.join(projectsDir, 'project_1.0.0.yaml')).asV1_0_0.deployment;\n expect(deployment.network.chainId).not.toBeNull();\n console.log(deployment.network.chainId);\n });\n\n it.skip('can get chainId for deployment', () => {\n const deployment = loadStellarProjectManifest(path.join(projectsDir, 'project_1.0.0_chainId.yaml')).asV1_0_0\n .deployment;\n expect(deployment.network.chainId).toBe('moonbeamChainId');\n });\n\n it('can validate deployment runner versions', () => {\n const deployment = new DeploymentV1_0_0();\n const nodeImp = new StellarRunnerNodeImpl();\n const queryImp = new RunnerQueryBaseModel();\n deployment.specVersion = '1.0.0';\n deployment.runner = new StellarRunnerSpecsImpl();\n\n nodeImp.name = '@subql/node-stellar';\n nodeImp.version = '0.29.1';\n deployment.runner.node = nodeImp;\n\n queryImp.name = '@subql/query';\n queryImp.version = '0.213.1';\n\n deployment.runner.query = queryImp;\n\n validateSync(deployment.runner, {whitelist: true, forbidNonWhitelisted: true});\n });\n\n it('can validate a v1.0.0 project.yaml with unsupported runner node', () => {\n expect(() => loadStellarProjectManifest(path.join(projectsDir, 'project_1.0.0_bad_runner.yaml'))).toThrow();\n });\n\n //TODO, pre-release should be excluded\n it.skip('can throw error with unsupported runner version', () => {\n expect(() => loadStellarProjectManifest(path.join(projectsDir, 'project_1.0.0_bad_runner_version.yaml'))).toThrow();\n });\n\n it('can validate a v1.0.0 project.yaml runner and datasource mismatches', () => {\n expect(() => loadStellarProjectManifest(path.join(projectsDir, 'project_1.0.0_runner_ds_mismatch.yaml'))).toThrow();\n });\n\n it('can fail validation if custom ds missing processor', () => {\n expect(() => loadStellarProjectManifest(path.join(projectsDir, 'project_0.2.0_invalid_custom_ds.yaml'))).toThrow();\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"project.spec.js","sourceRoot":"","sources":["../../src/project/project.spec.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;AAEnC,4CAAoB;AACpB,gDAAwB;AACxB,0CAAuE;AACvE,qDAA6C;AAC7C,wDAA4G;AAC5G,2CAAsF;AAEtF,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAEvD,SAAS,0BAA0B,CAAC,IAAY;IAC9C,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,IAAI,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,YAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;QAC3D,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACrD,IAAI,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;YAC/B,YAAY,GAAG,YAAY,CAAC;SAC7B;aAAM,IAAI,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;YACtC,YAAY,GAAG,YAAY,CAAC;SAC7B;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,6CAA6C,IAAI,EAAE,CAAC,CAAC;SACtE;KACF;IAED,MAAM,GAAG,GAAG,IAAA,2BAAkB,EAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,IAAI,2CAA+B,CAAC,GAA+B,CAAC,CAAC;IAC7F,eAAe,CAAC,QAAQ,EAAE,CAAC;IAC3B,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACjG,MAAM,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACzG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACvG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAEnG,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzD,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpE,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,YAAY,EAAE,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAEnG,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzD,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpE,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,YAAY,EAAE,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAEnG,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzD,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpE,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,YAAY,EAAE,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAEnG,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzD,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpE,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,YAAY,EAAE,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,UAAU,GAAG,0BAA0B,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAChH,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC7C,MAAM,UAAU,GAAG,0BAA0B,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,4BAA4B,CAAC,CAAC,CAAC,QAAQ;aACzG,UAAU,CAAC;QACd,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,UAAU,GAAG,IAAI,yBAAgB,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,8BAAqB,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,6BAAoB,EAAE,CAAC;QAC5C,UAAU,CAAC,WAAW,GAAG,OAAO,CAAC;QACjC,UAAU,CAAC,MAAM,GAAG,IAAI,+BAAsB,EAAE,CAAC;QAEjD,OAAO,CAAC,IAAI,GAAG,qBAAqB,CAAC;QACrC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;QAC3B,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;QAEjC,QAAQ,CAAC,IAAI,GAAG,cAAc,CAAC;QAC/B,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC;QAE7B,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;QAEnC,IAAA,8BAAY,EAAC,UAAU,CAAC,MAAM,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAC,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,+BAA+B,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9G,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,EAAE,CAAC,IAAI,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC9D,MAAM,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uCAAuC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACtH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uCAAuC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACtH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,sCAAsC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACrH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["// Copyright 2020-2023 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport fs from 'fs';\nimport path from 'path';\nimport {RunnerQueryBaseModel, loadFromJsonOrYaml} from '@subql/common';\nimport {validateSync} from 'class-validator';\nimport {DeploymentV1_0_0, StellarRunnerNodeImpl, StellarRunnerSpecsImpl} from '../project/versioned/v1_0_0';\nimport {StellarProjectManifestVersioned, VersionedProjectManifest} from './versioned';\n\nconst projectsDir = path.join(__dirname, '../../test');\n\nfunction loadStellarProjectManifest(file: string): StellarProjectManifestVersioned {\n let manifestPath = file;\n if (fs.existsSync(file) && fs.lstatSync(file).isDirectory()) {\n const yamlFilePath = path.join(file, 'project.yaml');\n const jsonFilePath = path.join(file, 'project.json');\n if (fs.existsSync(yamlFilePath)) {\n manifestPath = yamlFilePath;\n } else if (fs.existsSync(jsonFilePath)) {\n manifestPath = jsonFilePath;\n } else {\n throw new Error(`Could not find project manifest under dir ${file}`);\n }\n }\n\n const doc = loadFromJsonOrYaml(manifestPath);\n const projectManifest = new StellarProjectManifestVersioned(doc as VersionedProjectManifest);\n projectManifest.validate();\n return projectManifest;\n}\n\ndescribe('project.yaml', () => {\n it('can validate project.yaml', () => {\n expect(() => loadStellarProjectManifest(path.join(projectsDir, 'project_falsy.yaml'))).toThrow();\n expect(() => loadStellarProjectManifest(path.join(projectsDir, 'project_falsy_array.yaml'))).toThrow();\n });\n\n it('can fail validation if version not supported', () => {\n expect(() => loadStellarProjectManifest(path.join(projectsDir, 'project_invalid_version.yaml'))).toThrow();\n });\n\n it('can validate a v1.0.0 project.yaml with templates', () => {\n expect(() => loadStellarProjectManifest(path.join(projectsDir, 'project_1.0.0.yaml'))).not.toThrow();\n });\n\n it('get v1.0.0 deployment mapping filter - transaction', () => {\n const manifestVersioned = loadStellarProjectManifest(path.join(projectsDir, 'project_1.0.0.yaml'));\n\n const deployment = manifestVersioned.asV1_0_0.deployment;\n const filter = deployment.dataSources[0].mapping.handlers[0].filter;\n const deploymentString = manifestVersioned.toDeployment();\n expect(filter).not.toBeNull();\n expect(deploymentString).toContain('account');\n });\n\n it('get v1.0.0 deployment mapping filter - operation', () => {\n const manifestVersioned = loadStellarProjectManifest(path.join(projectsDir, 'project_1.0.0.yaml'));\n\n const deployment = manifestVersioned.asV1_0_0.deployment;\n const filter = deployment.dataSources[0].mapping.handlers[1].filter;\n const deploymentString = manifestVersioned.toDeployment();\n expect(filter).not.toBeNull();\n expect(deploymentString).toContain('account_merge');\n });\n\n it('get v1.0.0 deployment mapping filter - effect', () => {\n const manifestVersioned = loadStellarProjectManifest(path.join(projectsDir, 'project_1.0.0.yaml'));\n\n const deployment = manifestVersioned.asV1_0_0.deployment;\n const filter = deployment.dataSources[0].mapping.handlers[2].filter;\n const deploymentString = manifestVersioned.toDeployment();\n expect(filter).not.toBeNull();\n expect(deploymentString).toContain('account_credited');\n });\n\n it('get v1.0.0 deployment mapping filter - events', () => {\n const manifestVersioned = loadStellarProjectManifest(path.join(projectsDir, 'project_1.0.0.yaml'));\n\n const deployment = manifestVersioned.asV1_0_0.deployment;\n const filter = deployment.dataSources[0].mapping.handlers[3].filter;\n const deploymentString = manifestVersioned.toDeployment();\n expect(filter).not.toBeNull();\n expect(deploymentString).toContain('COUNTER');\n });\n\n it('can convert genesis hash in v1.0.0 to chainId in deployment', () => {\n const deployment = loadStellarProjectManifest(path.join(projectsDir, 'project_1.0.0.yaml')).asV1_0_0.deployment;\n expect(deployment.network.chainId).not.toBeNull();\n console.log(deployment.network.chainId);\n });\n\n it.skip('can get chainId for deployment', () => {\n const deployment = loadStellarProjectManifest(path.join(projectsDir, 'project_1.0.0_chainId.yaml')).asV1_0_0\n .deployment;\n expect(deployment.network.chainId).toBe('moonbeamChainId');\n });\n\n it('can validate deployment runner versions', () => {\n const deployment = new DeploymentV1_0_0();\n const nodeImp = new StellarRunnerNodeImpl();\n const queryImp = new RunnerQueryBaseModel();\n deployment.specVersion = '1.0.0';\n deployment.runner = new StellarRunnerSpecsImpl();\n\n nodeImp.name = '@subql/node-stellar';\n nodeImp.version = '0.29.1';\n deployment.runner.node = nodeImp;\n\n queryImp.name = '@subql/query';\n queryImp.version = '0.213.1';\n\n deployment.runner.query = queryImp;\n\n validateSync(deployment.runner, {whitelist: true, forbidNonWhitelisted: true});\n });\n\n it('can validate a v1.0.0 project.yaml with unsupported runner node', () => {\n expect(() => loadStellarProjectManifest(path.join(projectsDir, 'project_1.0.0_bad_runner.yaml'))).toThrow();\n });\n\n //TODO, pre-release should be excluded\n it.skip('can throw error with unsupported runner version', () => {\n expect(() => loadStellarProjectManifest(path.join(projectsDir, 'project_1.0.0_bad_runner_version.yaml'))).toThrow();\n });\n\n it('can validate a v1.0.0 project.yaml runner and datasource mismatches', () => {\n expect(() => loadStellarProjectManifest(path.join(projectsDir, 'project_1.0.0_runner_ds_mismatch.yaml'))).toThrow();\n });\n\n it('can fail validation if custom ds missing processor', () => {\n expect(() => loadStellarProjectManifest(path.join(projectsDir, 'project_0.2.0_invalid_custom_ds.yaml'))).toThrow();\n });\n});\n"]}
|
package/dist/project/types.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { IProjectManifest, ProjectNetworkConfig } from '@subql/
|
|
1
|
+
import { IProjectManifest, ProjectNetworkConfig } from '@subql/types-core';
|
|
2
2
|
import { SubqlDatasource } from '@subql/types-stellar';
|
|
3
3
|
export { SubqlStellarProcessorOptions, SubqlRuntimeHandler, SubqlCustomHandler, SubqlHandler, StellarHandlerKind, SubqlDatasource as SubqlStellarDataSource, SubqlCustomDatasource as SubqlStellarCustomDataSource, StellarBlockFilter, StellarTransactionFilter, StellarOperationFilter, StellarEffectFilter, SubqlDatasourceProcessor, SubqlHandlerFilter, StellarDatasourceKind, StellarRuntimeHandlerInputMap as StellarRuntimeHandlerInputMap, } from '@subql/types-stellar';
|
|
4
4
|
export type IStellarProjectManifest = IProjectManifest<SubqlDatasource>;
|
|
5
5
|
export interface StellarProjectNetworkConfig extends ProjectNetworkConfig {
|
|
6
|
-
|
|
7
|
-
chainId?: string;
|
|
6
|
+
chainId: string;
|
|
8
7
|
sorobanEndpoint: string;
|
|
9
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/project/types.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;AAKnC,8EAA8E;AAC9E,sDAgB8B;AAX5B,mHAAA,kBAAkB,OAAA;AASlB,sHAAA,qBAAqB,OAAA","sourcesContent":["// Copyright 2020-2023 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport {IProjectManifest, ProjectNetworkConfig} from '@subql/
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/project/types.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;AAKnC,8EAA8E;AAC9E,sDAgB8B;AAX5B,mHAAA,kBAAkB,OAAA;AASlB,sHAAA,qBAAqB,OAAA","sourcesContent":["// Copyright 2020-2023 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport {IProjectManifest, ProjectNetworkConfig} from '@subql/types-core';\nimport {SubqlDatasource} from '@subql/types-stellar';\n\n// All of these used to be redefined in this file, re-exporting for simplicity\nexport {\n SubqlStellarProcessorOptions,\n SubqlRuntimeHandler,\n SubqlCustomHandler,\n SubqlHandler,\n StellarHandlerKind,\n SubqlDatasource as SubqlStellarDataSource,\n SubqlCustomDatasource as SubqlStellarCustomDataSource,\n StellarBlockFilter,\n StellarTransactionFilter,\n StellarOperationFilter,\n StellarEffectFilter,\n SubqlDatasourceProcessor,\n SubqlHandlerFilter,\n StellarDatasourceKind,\n StellarRuntimeHandlerInputMap as StellarRuntimeHandlerInputMap,\n} from '@subql/types-stellar';\n\nexport type IStellarProjectManifest = IProjectManifest<SubqlDatasource>;\n\nexport interface StellarProjectNetworkConfig extends ProjectNetworkConfig {\n chainId: string;\n sorobanEndpoint: string;\n}\n"]}
|
package/dist/project/utils.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { SecondLayerHandlerProcessor, SubqlCustomDatasource, SubqlDatasource, StellarHandlerKind, SubqlRuntimeDatasource } from '@subql/types-stellar';
|
|
2
|
-
export declare function isBlockHandlerProcessor<B>(hp: SecondLayerHandlerProcessor<StellarHandlerKind,
|
|
3
|
-
export declare function isTransactionHandlerProcessor<T>(hp: SecondLayerHandlerProcessor<StellarHandlerKind,
|
|
4
|
-
export declare function isSorobanTransactionHandlerProcessor<T>(hp: SecondLayerHandlerProcessor<StellarHandlerKind,
|
|
5
|
-
export declare function isOperationHandlerProcessor<O>(hp: SecondLayerHandlerProcessor<StellarHandlerKind,
|
|
6
|
-
export declare function isEffectHandlerProcessor<E>(hp: SecondLayerHandlerProcessor<StellarHandlerKind,
|
|
7
|
-
export declare function isEventHandlerProcessor<E>(hp: SecondLayerHandlerProcessor<StellarHandlerKind,
|
|
2
|
+
export declare function isBlockHandlerProcessor<F extends Record<string, unknown>, B>(hp: SecondLayerHandlerProcessor<StellarHandlerKind, F, unknown>): hp is SecondLayerHandlerProcessor<StellarHandlerKind.Block, F, B>;
|
|
3
|
+
export declare function isTransactionHandlerProcessor<F extends Record<string, unknown>, T>(hp: SecondLayerHandlerProcessor<StellarHandlerKind, F, unknown>): hp is SecondLayerHandlerProcessor<StellarHandlerKind.Transaction, F, T>;
|
|
4
|
+
export declare function isSorobanTransactionHandlerProcessor<F extends Record<string, unknown>, T>(hp: SecondLayerHandlerProcessor<StellarHandlerKind, F, unknown>): hp is SecondLayerHandlerProcessor<StellarHandlerKind.SorobanTransaction, F, T>;
|
|
5
|
+
export declare function isOperationHandlerProcessor<F extends Record<string, unknown>, O>(hp: SecondLayerHandlerProcessor<StellarHandlerKind, F, unknown>): hp is SecondLayerHandlerProcessor<StellarHandlerKind.Operation, F, O>;
|
|
6
|
+
export declare function isEffectHandlerProcessor<F extends Record<string, unknown>, E>(hp: SecondLayerHandlerProcessor<StellarHandlerKind, F, unknown>): hp is SecondLayerHandlerProcessor<StellarHandlerKind.Effects, F, E>;
|
|
7
|
+
export declare function isEventHandlerProcessor<F extends Record<string, unknown>, E>(hp: SecondLayerHandlerProcessor<StellarHandlerKind, F, unknown>): hp is SecondLayerHandlerProcessor<StellarHandlerKind.Event, F, E>;
|
|
8
8
|
export declare function isCustomDs(ds: SubqlDatasource): ds is SubqlCustomDatasource<string>;
|
|
9
9
|
export declare function isRuntimeDs(ds: SubqlDatasource): ds is SubqlRuntimeDatasource;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/project/utils.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;AAEnC,wDAO8B;AAE9B,SAAgB,uBAAuB,CACrC,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/project/utils.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;AAEnC,wDAO8B;AAE9B,SAAgB,uBAAuB,CACrC,EAA+D;IAE/D,OAAO,EAAE,CAAC,eAAe,KAAK,kCAAkB,CAAC,KAAK,CAAC;AACzD,CAAC;AAJD,0DAIC;AAED,SAAgB,6BAA6B,CAC3C,EAA+D;IAE/D,OAAO,EAAE,CAAC,eAAe,KAAK,kCAAkB,CAAC,WAAW,CAAC;AAC/D,CAAC;AAJD,sEAIC;AAED,SAAgB,oCAAoC,CAClD,EAA+D;IAE/D,OAAO,EAAE,CAAC,eAAe,KAAK,kCAAkB,CAAC,kBAAkB,CAAC;AACtE,CAAC;AAJD,oFAIC;AAED,SAAgB,2BAA2B,CACzC,EAA+D;IAE/D,OAAO,EAAE,CAAC,eAAe,KAAK,kCAAkB,CAAC,SAAS,CAAC;AAC7D,CAAC;AAJD,kEAIC;AAED,SAAgB,wBAAwB,CACtC,EAA+D;IAE/D,OAAO,EAAE,CAAC,eAAe,KAAK,kCAAkB,CAAC,OAAO,CAAC;AAC3D,CAAC;AAJD,4DAIC;AAED,SAAgB,uBAAuB,CACrC,EAA+D;IAE/D,OAAO,EAAE,CAAC,eAAe,KAAK,kCAAkB,CAAC,KAAK,CAAC;AACzD,CAAC;AAJD,0DAIC;AAED,SAAgB,UAAU,CAAC,EAAmB;IAC5C,OAAO,EAAE,CAAC,IAAI,KAAK,qCAAqB,CAAC,OAAO,IAAI,CAAC,CAAE,EAAoC,CAAC,SAAS,CAAC;AACxG,CAAC;AAFD,gCAEC;AAED,SAAgB,WAAW,CAAC,EAAmB;IAC7C,OAAO,EAAE,CAAC,IAAI,KAAK,qCAAqB,CAAC,OAAO,CAAC;AACnD,CAAC;AAFD,kCAEC","sourcesContent":["// Copyright 2020-2023 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport {\n SecondLayerHandlerProcessor,\n SubqlCustomDatasource,\n SubqlDatasource,\n StellarDatasourceKind,\n StellarHandlerKind,\n SubqlRuntimeDatasource,\n} from '@subql/types-stellar';\n\nexport function isBlockHandlerProcessor<F extends Record<string, unknown>, B>(\n hp: SecondLayerHandlerProcessor<StellarHandlerKind, F, unknown>\n): hp is SecondLayerHandlerProcessor<StellarHandlerKind.Block, F, B> {\n return hp.baseHandlerKind === StellarHandlerKind.Block;\n}\n\nexport function isTransactionHandlerProcessor<F extends Record<string, unknown>, T>(\n hp: SecondLayerHandlerProcessor<StellarHandlerKind, F, unknown>\n): hp is SecondLayerHandlerProcessor<StellarHandlerKind.Transaction, F, T> {\n return hp.baseHandlerKind === StellarHandlerKind.Transaction;\n}\n\nexport function isSorobanTransactionHandlerProcessor<F extends Record<string, unknown>, T>(\n hp: SecondLayerHandlerProcessor<StellarHandlerKind, F, unknown>\n): hp is SecondLayerHandlerProcessor<StellarHandlerKind.SorobanTransaction, F, T> {\n return hp.baseHandlerKind === StellarHandlerKind.SorobanTransaction;\n}\n\nexport function isOperationHandlerProcessor<F extends Record<string, unknown>, O>(\n hp: SecondLayerHandlerProcessor<StellarHandlerKind, F, unknown>\n): hp is SecondLayerHandlerProcessor<StellarHandlerKind.Operation, F, O> {\n return hp.baseHandlerKind === StellarHandlerKind.Operation;\n}\n\nexport function isEffectHandlerProcessor<F extends Record<string, unknown>, E>(\n hp: SecondLayerHandlerProcessor<StellarHandlerKind, F, unknown>\n): hp is SecondLayerHandlerProcessor<StellarHandlerKind.Effects, F, E> {\n return hp.baseHandlerKind === StellarHandlerKind.Effects;\n}\n\nexport function isEventHandlerProcessor<F extends Record<string, unknown>, E>(\n hp: SecondLayerHandlerProcessor<StellarHandlerKind, F, unknown>\n): hp is SecondLayerHandlerProcessor<StellarHandlerKind.Event, F, E> {\n return hp.baseHandlerKind === StellarHandlerKind.Event;\n}\n\nexport function isCustomDs(ds: SubqlDatasource): ds is SubqlCustomDatasource<string> {\n return ds.kind !== StellarDatasourceKind.Runtime && !!(ds as SubqlCustomDatasource<string>).processor;\n}\n\nexport function isRuntimeDs(ds: SubqlDatasource): ds is SubqlRuntimeDatasource {\n return ds.kind === StellarDatasourceKind.Runtime;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectManifestVersioned.js","sourceRoot":"","sources":["../../../src/project/versioned/ProjectManifestVersioned.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;AAEnC,yDAA+C;AAE/C,qCAAmD;AAGnD,MAAM,0BAA0B,GAAG;IACjC,OAAO,EAAE,kCAAyB;CACnC,CAAC;AAMF,SAAgB,gBAAgB,CAAC,QAAiC;IAChE,OAAO,QAAQ,CAAC,WAAW,KAAK,OAAO,CAAC;AAC1C,CAAC;AAFD,4CAEC;AAED,MAAa,+BAA+B;IAG1C,YAAY,eAAyC;QACnD,MAAM,KAAK,GAAG,0BAA0B,CAAC,eAAe,CAAC,WAAuB,CAAC,CAAC;QAClF,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACxE;QACD,IAAI,CAAC,KAAK,GAAG,IAAA,gCAAY,EAAiD,KAAK,EAAE,eAAe,CAAC,CAAC;IACpG,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,WAAW,KAAK,OAAO,CAAC;IACtC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAkC,CAAC;IACjD,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"ProjectManifestVersioned.js","sourceRoot":"","sources":["../../../src/project/versioned/ProjectManifestVersioned.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;AAEnC,yDAA+C;AAE/C,qCAAmD;AAGnD,MAAM,0BAA0B,GAAG;IACjC,OAAO,EAAE,kCAAyB;CACnC,CAAC;AAMF,SAAgB,gBAAgB,CAAC,QAAiC;IAChE,OAAO,QAAQ,CAAC,WAAW,KAAK,OAAO,CAAC;AAC1C,CAAC;AAFD,4CAEC;AAED,MAAa,+BAA+B;IAG1C,YAAY,eAAyC;QACnD,MAAM,KAAK,GAAG,0BAA0B,CAAC,eAAe,CAAC,WAAuB,CAAC,CAAC;QAClF,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACxE;QACD,IAAI,CAAC,KAAK,GAAG,IAAA,gCAAY,EAAiD,KAAK,EAAE,eAAe,CAAC,CAAC;IACpG,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,WAAW,KAAK,OAAO,CAAC;IACtC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAkC,CAAC;IACjD,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;IACxC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAChC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAChC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAChC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IAC/B,CAAC;CACF;AAlDD,0EAkDC","sourcesContent":["// Copyright 2020-2023 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport {plainToClass} from 'class-transformer';\nimport {IStellarProjectManifest, SubqlStellarDataSource} from '../types';\nimport {ProjectManifestV1_0_0Impl} from './v1_0_0';\nexport type VersionedProjectManifest = {specVersion: string};\n\nconst SOROBAN_SUPPORTED_VERSIONS = {\n '1.0.0': ProjectManifestV1_0_0Impl,\n};\n\ntype Versions = keyof typeof SOROBAN_SUPPORTED_VERSIONS;\n\ntype ProjectManifestImpls = InstanceType<(typeof SOROBAN_SUPPORTED_VERSIONS)[Versions]>;\n\nexport function manifestIsV1_0_0(manifest: IStellarProjectManifest): manifest is ProjectManifestV1_0_0Impl {\n return manifest.specVersion === '1.0.0';\n}\n\nexport class StellarProjectManifestVersioned implements IStellarProjectManifest {\n private _impl: ProjectManifestImpls;\n\n constructor(projectManifest: VersionedProjectManifest) {\n const klass = SOROBAN_SUPPORTED_VERSIONS[projectManifest.specVersion as Versions];\n if (!klass) {\n throw new Error('specVersion not supported for project manifest file');\n }\n this._impl = plainToClass<ProjectManifestImpls, VersionedProjectManifest>(klass, projectManifest);\n }\n\n get asImpl(): ProjectManifestImpls {\n return this._impl;\n }\n\n get isV1_0_0(): boolean {\n return this.specVersion === '1.0.0';\n }\n\n get asV1_0_0(): ProjectManifestV1_0_0Impl {\n return this._impl as ProjectManifestV1_0_0Impl;\n }\n\n toDeployment(): string | undefined {\n return this._impl.deployment.toYaml();\n }\n\n validate(): void {\n return this._impl.validate();\n }\n\n get dataSources(): SubqlStellarDataSource[] {\n return this._impl.dataSources;\n }\n\n get schema(): string {\n return this._impl.schema.file;\n }\n\n get specVersion(): string {\n return this._impl.specVersion;\n }\n\n get description(): string {\n return this._impl.description;\n }\n\n get repository(): string {\n return this._impl.repository;\n }\n}\n"]}
|
|
@@ -17,5 +17,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
17
17
|
};
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
19
|
__exportStar(require("./model"), exports);
|
|
20
|
-
__exportStar(require("./types"), exports);
|
|
21
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/project/versioned/v1_0_0/index.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;;AAEnC,0CAAwB
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/project/versioned/v1_0_0/index.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;;;;;AAEnC,0CAAwB","sourcesContent":["// Copyright 2020-2023 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nexport * from './model';\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { FileType, ProjectManifestBaseImpl, RunnerNodeImpl, CommonProjectNetworkV1_0_0, BaseDeploymentV1_0_0 } from '@subql/common';
|
|
2
|
+
import { BaseMapping, NodeSpec, ParentProject, QuerySpec, RunnerSpecs } from '@subql/types-core';
|
|
3
|
+
import { CustomDatasourceTemplate, RuntimeDatasourceTemplate, StellarProjectManifestV1_0_0, SubqlCustomDatasource, SubqlMapping, SubqlRuntimeDatasource } from '@subql/types-stellar';
|
|
3
4
|
import { CustomDataSourceBase, StellarMapping, RuntimeDataSourceBase } from '../../models';
|
|
4
5
|
import { SubqlStellarDataSource, SubqlRuntimeHandler } from '../../types';
|
|
5
|
-
import { CustomDatasourceTemplate, StellarProjectManifestV1_0_0, RuntimeDatasourceTemplate } from './types';
|
|
6
6
|
export declare class StellarProjectMapping extends StellarMapping {
|
|
7
7
|
file: string;
|
|
8
8
|
}
|
|
@@ -12,7 +12,7 @@ export declare class StellarRunnerNodeImpl extends RunnerNodeImpl {
|
|
|
12
12
|
export declare class StellarRuntimeDataSourceImpl extends RuntimeDataSourceBase<SubqlMapping<SubqlRuntimeHandler>> implements SubqlRuntimeDatasource {
|
|
13
13
|
validate(): void;
|
|
14
14
|
}
|
|
15
|
-
export declare class StellarCustomDataSourceImpl<K extends string = string, M extends BaseMapping<any
|
|
15
|
+
export declare class StellarCustomDataSourceImpl<K extends string = string, M extends BaseMapping<any> = BaseMapping<any>> extends CustomDataSourceBase<K, M> implements SubqlCustomDatasource<K, M> {
|
|
16
16
|
validate(): void;
|
|
17
17
|
}
|
|
18
18
|
export declare class RuntimeDatasourceTemplateImpl extends StellarRuntimeDataSourceImpl implements RuntimeDatasourceTemplate {
|
|
@@ -27,31 +27,26 @@ export declare class StellarRunnerSpecsImpl implements RunnerSpecs {
|
|
|
27
27
|
}
|
|
28
28
|
export declare class ProjectNetworkDeploymentV1_0_0 {
|
|
29
29
|
chainId: string;
|
|
30
|
-
chaintypes?: FileType;
|
|
31
30
|
bypassBlocks?: (number | string)[];
|
|
32
31
|
}
|
|
33
|
-
export declare class
|
|
34
|
-
endpoint?: string | string[];
|
|
32
|
+
export declare class StellarProjectNetwork extends CommonProjectNetworkV1_0_0<FileType> {
|
|
35
33
|
soroban?: string;
|
|
36
|
-
dictionary?: string;
|
|
37
34
|
}
|
|
38
|
-
export declare class DeploymentV1_0_0 {
|
|
35
|
+
export declare class DeploymentV1_0_0 extends BaseDeploymentV1_0_0 {
|
|
39
36
|
network: ProjectNetworkDeploymentV1_0_0;
|
|
40
|
-
specVersion: string;
|
|
41
37
|
runner: RunnerSpecs;
|
|
42
|
-
schema: FileType;
|
|
43
38
|
dataSources: (SubqlRuntimeDatasource | SubqlCustomDatasource)[];
|
|
44
39
|
templates?: (RuntimeDatasourceTemplate | CustomDatasourceTemplate)[];
|
|
45
40
|
}
|
|
46
|
-
export declare class ProjectManifestV1_0_0Impl<D extends object = DeploymentV1_0_0> extends ProjectManifestBaseImpl<
|
|
41
|
+
export declare class ProjectManifestV1_0_0Impl<D extends object = DeploymentV1_0_0> extends ProjectManifestBaseImpl<DeploymentV1_0_0> implements StellarProjectManifestV1_0_0 {
|
|
42
|
+
constructor();
|
|
47
43
|
specVersion: string;
|
|
48
44
|
dataSources: SubqlStellarDataSource[];
|
|
49
|
-
network:
|
|
45
|
+
network: StellarProjectNetwork;
|
|
50
46
|
name: string;
|
|
51
47
|
version: string;
|
|
52
48
|
schema: FileType;
|
|
53
49
|
templates?: (RuntimeDatasourceTemplate | CustomDatasourceTemplate)[];
|
|
54
50
|
runner: RunnerSpecs;
|
|
55
|
-
|
|
56
|
-
get deployment(): D;
|
|
51
|
+
parent?: ParentProject;
|
|
57
52
|
}
|
|
@@ -11,7 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.ProjectManifestV1_0_0Impl = exports.DeploymentV1_0_0 = exports.
|
|
14
|
+
exports.ProjectManifestV1_0_0Impl = exports.DeploymentV1_0_0 = exports.StellarProjectNetwork = exports.ProjectNetworkDeploymentV1_0_0 = exports.StellarRunnerSpecsImpl = exports.CustomDatasourceTemplateImpl = exports.RuntimeDatasourceTemplateImpl = exports.StellarCustomDataSourceImpl = exports.StellarRuntimeDataSourceImpl = exports.StellarRunnerNodeImpl = exports.StellarProjectMapping = void 0;
|
|
15
15
|
const common_1 = require("@subql/common");
|
|
16
16
|
const class_transformer_1 = require("class-transformer");
|
|
17
17
|
const class_validator_1 = require("class-validator");
|
|
@@ -82,65 +82,39 @@ __decorate([
|
|
|
82
82
|
(0, class_validator_1.IsString)(),
|
|
83
83
|
__metadata("design:type", String)
|
|
84
84
|
], ProjectNetworkDeploymentV1_0_0.prototype, "chainId", void 0);
|
|
85
|
-
__decorate([
|
|
86
|
-
(0, class_validator_1.ValidateNested)(),
|
|
87
|
-
(0, class_transformer_1.Type)(() => common_1.FileType),
|
|
88
|
-
(0, class_validator_1.IsOptional)(),
|
|
89
|
-
__metadata("design:type", common_1.FileType)
|
|
90
|
-
], ProjectNetworkDeploymentV1_0_0.prototype, "chaintypes", void 0);
|
|
91
85
|
__decorate([
|
|
92
86
|
(0, class_validator_1.IsOptional)(),
|
|
93
87
|
(0, class_validator_1.IsArray)(),
|
|
94
88
|
__metadata("design:type", Array)
|
|
95
89
|
], ProjectNetworkDeploymentV1_0_0.prototype, "bypassBlocks", void 0);
|
|
96
90
|
exports.ProjectNetworkDeploymentV1_0_0 = ProjectNetworkDeploymentV1_0_0;
|
|
97
|
-
class
|
|
91
|
+
class StellarProjectNetwork extends common_1.CommonProjectNetworkV1_0_0 {
|
|
98
92
|
}
|
|
99
|
-
__decorate([
|
|
100
|
-
(0, class_validator_1.IsString)({ each: true }),
|
|
101
|
-
(0, class_validator_1.IsOptional)(),
|
|
102
|
-
__metadata("design:type", Object)
|
|
103
|
-
], ProjectNetworkV1_0_0.prototype, "endpoint", void 0);
|
|
104
|
-
__decorate([
|
|
105
|
-
(0, class_validator_1.IsString)(),
|
|
106
|
-
(0, class_validator_1.IsOptional)(),
|
|
107
|
-
__metadata("design:type", String)
|
|
108
|
-
], ProjectNetworkV1_0_0.prototype, "soroban", void 0);
|
|
109
93
|
__decorate([
|
|
110
94
|
(0, class_validator_1.IsString)(),
|
|
111
95
|
(0, class_validator_1.IsOptional)(),
|
|
112
96
|
__metadata("design:type", String)
|
|
113
|
-
],
|
|
114
|
-
exports.
|
|
115
|
-
class DeploymentV1_0_0 {
|
|
97
|
+
], StellarProjectNetwork.prototype, "soroban", void 0);
|
|
98
|
+
exports.StellarProjectNetwork = StellarProjectNetwork;
|
|
99
|
+
class DeploymentV1_0_0 extends common_1.BaseDeploymentV1_0_0 {
|
|
116
100
|
}
|
|
117
101
|
__decorate([
|
|
118
102
|
(0, class_transformer_1.Transform)((params) => {
|
|
119
103
|
if (params.value.genesisHash && !params.value.chainId) {
|
|
120
104
|
params.value.chainId = params.value.genesisHash;
|
|
121
105
|
}
|
|
122
|
-
return (0, class_transformer_1.
|
|
106
|
+
return (0, class_transformer_1.plainToInstance)(ProjectNetworkDeploymentV1_0_0, params.value);
|
|
123
107
|
}),
|
|
124
108
|
(0, class_validator_1.ValidateNested)(),
|
|
125
109
|
(0, class_transformer_1.Type)(() => ProjectNetworkDeploymentV1_0_0),
|
|
126
110
|
__metadata("design:type", ProjectNetworkDeploymentV1_0_0)
|
|
127
111
|
], DeploymentV1_0_0.prototype, "network", void 0);
|
|
128
|
-
__decorate([
|
|
129
|
-
(0, class_validator_1.Equals)('1.0.0'),
|
|
130
|
-
(0, class_validator_1.IsString)(),
|
|
131
|
-
__metadata("design:type", String)
|
|
132
|
-
], DeploymentV1_0_0.prototype, "specVersion", void 0);
|
|
133
112
|
__decorate([
|
|
134
113
|
(0, class_validator_1.IsObject)(),
|
|
135
114
|
(0, class_validator_1.ValidateNested)(),
|
|
136
115
|
(0, class_transformer_1.Type)(() => StellarRunnerSpecsImpl),
|
|
137
116
|
__metadata("design:type", Object)
|
|
138
117
|
], DeploymentV1_0_0.prototype, "runner", void 0);
|
|
139
|
-
__decorate([
|
|
140
|
-
(0, class_validator_1.ValidateNested)(),
|
|
141
|
-
(0, class_transformer_1.Type)(() => common_1.FileType),
|
|
142
|
-
__metadata("design:type", common_1.FileType)
|
|
143
|
-
], DeploymentV1_0_0.prototype, "schema", void 0);
|
|
144
118
|
__decorate([
|
|
145
119
|
(0, class_validator_1.IsArray)(),
|
|
146
120
|
(0, class_validator_1.ValidateNested)(),
|
|
@@ -168,13 +142,8 @@ __decorate([
|
|
|
168
142
|
], DeploymentV1_0_0.prototype, "templates", void 0);
|
|
169
143
|
exports.DeploymentV1_0_0 = DeploymentV1_0_0;
|
|
170
144
|
class ProjectManifestV1_0_0Impl extends common_1.ProjectManifestBaseImpl {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
this._deployment = (0, class_transformer_1.plainToClass)(DeploymentV1_0_0, this);
|
|
174
|
-
//validateSync(this._deployment.)
|
|
175
|
-
(0, class_validator_1.validateSync)(this._deployment, { whitelist: true });
|
|
176
|
-
}
|
|
177
|
-
return this._deployment;
|
|
145
|
+
constructor() {
|
|
146
|
+
super(DeploymentV1_0_0);
|
|
178
147
|
}
|
|
179
148
|
}
|
|
180
149
|
__decorate([
|
|
@@ -192,8 +161,8 @@ __decorate([
|
|
|
192
161
|
__metadata("design:type", Array)
|
|
193
162
|
], ProjectManifestV1_0_0Impl.prototype, "dataSources", void 0);
|
|
194
163
|
__decorate([
|
|
195
|
-
(0, class_transformer_1.Type)(() =>
|
|
196
|
-
__metadata("design:type",
|
|
164
|
+
(0, class_transformer_1.Type)(() => StellarProjectNetwork),
|
|
165
|
+
__metadata("design:type", StellarProjectNetwork)
|
|
197
166
|
], ProjectManifestV1_0_0Impl.prototype, "network", void 0);
|
|
198
167
|
__decorate([
|
|
199
168
|
(0, class_validator_1.IsString)(),
|
|
@@ -227,5 +196,11 @@ __decorate([
|
|
|
227
196
|
(0, class_transformer_1.Type)(() => StellarRunnerSpecsImpl),
|
|
228
197
|
__metadata("design:type", Object)
|
|
229
198
|
], ProjectManifestV1_0_0Impl.prototype, "runner", void 0);
|
|
199
|
+
__decorate([
|
|
200
|
+
(0, class_validator_1.IsOptional)(),
|
|
201
|
+
(0, class_validator_1.IsObject)(),
|
|
202
|
+
(0, class_transformer_1.Type)(() => common_1.ParentProjectModel),
|
|
203
|
+
__metadata("design:type", Object)
|
|
204
|
+
], ProjectManifestV1_0_0Impl.prototype, "parent", void 0);
|
|
230
205
|
exports.ProjectManifestV1_0_0Impl = ProjectManifestV1_0_0Impl;
|
|
231
206
|
//# sourceMappingURL=model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../src/project/versioned/v1_0_0/model.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;;;;;;;;;;AAEnC,
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../src/project/versioned/v1_0_0/model.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2020-2023 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport {\n FileType,\n ProjectManifestBaseImpl,\n ParentProjectModel,\n RunnerNodeImpl,\n RunnerQueryBaseModel,\n validateObject,\n CommonProjectNetworkV1_0_0,\n BaseDeploymentV1_0_0,\n} from '@subql/common';\nimport {BaseMapping, NodeSpec, ParentProject, QuerySpec, RunnerSpecs} from '@subql/types-core';\nimport {\n CustomDatasourceTemplate,\n RuntimeDatasourceTemplate,\n StellarProjectManifestV1_0_0,\n SubqlCustomDatasource,\n SubqlMapping,\n SubqlRuntimeDatasource,\n} from '@subql/types-stellar';\nimport {plainToInstance, Transform, TransformFnParams, Type} from 'class-transformer';\nimport {\n Equals,\n IsArray,\n IsIn,\n IsNotEmpty,\n IsObject,\n IsOptional,\n IsString,\n ValidateNested,\n validateSync,\n} from 'class-validator';\nimport {CustomDataSourceBase, StellarMapping, RuntimeDataSourceBase} from '../../models';\nimport {SubqlStellarDataSource, SubqlRuntimeHandler} from '../../types';\n\nconst Stellar_NODE_NAME = `@subql/node-stellar`;\n\nexport class StellarProjectMapping extends StellarMapping {\n @IsString()\n file: string;\n}\n\nexport class StellarRunnerNodeImpl extends RunnerNodeImpl {\n @IsIn([Stellar_NODE_NAME], {\n message: `Runner Substrate node name incorrect, suppose be '${Stellar_NODE_NAME}'`,\n })\n name: string;\n}\n\nexport class StellarRuntimeDataSourceImpl\n extends RuntimeDataSourceBase<SubqlMapping<SubqlRuntimeHandler>>\n implements SubqlRuntimeDatasource\n{\n validate(): void {\n return validateObject(this, 'failed to validate runtime datasource.');\n }\n}\n\nexport class StellarCustomDataSourceImpl<K extends string = string, M extends BaseMapping<any> = BaseMapping<any>>\n extends CustomDataSourceBase<K, M>\n implements SubqlCustomDatasource<K, M>\n{\n validate(): void {\n return validateObject(this, 'failed to validate custom datasource.');\n }\n}\n\nexport class RuntimeDatasourceTemplateImpl extends StellarRuntimeDataSourceImpl implements RuntimeDatasourceTemplate {\n @IsString()\n name: string;\n}\n\nexport class CustomDatasourceTemplateImpl extends StellarCustomDataSourceImpl implements CustomDatasourceTemplate {\n @IsString()\n name: string;\n}\n\nexport class StellarRunnerSpecsImpl implements RunnerSpecs {\n @IsObject()\n @ValidateNested()\n @Type(() => StellarRunnerNodeImpl)\n node: NodeSpec;\n @IsObject()\n @ValidateNested()\n @Type(() => RunnerQueryBaseModel)\n query: QuerySpec;\n}\n\nexport class ProjectNetworkDeploymentV1_0_0 {\n @IsNotEmpty()\n @Transform(({value}: TransformFnParams) => value.trim())\n @IsString()\n chainId: string;\n\n @IsOptional()\n @IsArray()\n bypassBlocks?: (number | string)[];\n}\n\nexport class StellarProjectNetwork extends CommonProjectNetworkV1_0_0<FileType> {\n @IsString()\n @IsOptional()\n soroban?: string;\n}\n\nexport class DeploymentV1_0_0 extends BaseDeploymentV1_0_0 {\n @Transform((params) => {\n if (params.value.genesisHash && !params.value.chainId) {\n params.value.chainId = params.value.genesisHash;\n }\n return plainToInstance(ProjectNetworkDeploymentV1_0_0, params.value);\n })\n @ValidateNested()\n @Type(() => ProjectNetworkDeploymentV1_0_0)\n network: ProjectNetworkDeploymentV1_0_0;\n @IsObject()\n @ValidateNested()\n @Type(() => StellarRunnerSpecsImpl)\n runner: RunnerSpecs;\n @IsArray()\n @ValidateNested()\n @Type(() => StellarCustomDataSourceImpl, {\n discriminator: {\n property: 'kind',\n subTypes: [{value: StellarRuntimeDataSourceImpl, name: 'stellar/Runtime'}],\n },\n keepDiscriminatorProperty: true,\n })\n dataSources: (SubqlRuntimeDatasource | SubqlCustomDatasource)[];\n @IsOptional()\n @IsArray()\n @ValidateNested()\n @Type(() => CustomDatasourceTemplateImpl, {\n discriminator: {\n property: 'kind',\n subTypes: [{value: RuntimeDatasourceTemplateImpl, name: 'stellar/Runtime'}],\n },\n keepDiscriminatorProperty: true,\n })\n templates?: (RuntimeDatasourceTemplate | CustomDatasourceTemplate)[];\n}\n\nexport class ProjectManifestV1_0_0Impl<D extends object = DeploymentV1_0_0>\n extends ProjectManifestBaseImpl<DeploymentV1_0_0>\n implements StellarProjectManifestV1_0_0\n{\n constructor() {\n super(DeploymentV1_0_0);\n }\n\n @Equals('1.0.0')\n specVersion: string;\n @Type(() => StellarCustomDataSourceImpl, {\n discriminator: {\n property: 'kind',\n subTypes: [{value: StellarRuntimeDataSourceImpl, name: 'stellar/Runtime'}],\n },\n keepDiscriminatorProperty: true,\n })\n dataSources: SubqlStellarDataSource[];\n @Type(() => StellarProjectNetwork)\n network: StellarProjectNetwork;\n @IsString()\n name: string;\n @IsString()\n version: string;\n @ValidateNested()\n @Type(() => FileType)\n schema: FileType;\n @IsOptional()\n @IsArray()\n @ValidateNested()\n @Type(() => CustomDatasourceTemplateImpl, {\n discriminator: {\n property: 'kind',\n subTypes: [{value: RuntimeDatasourceTemplateImpl, name: 'stellar/Runtime'}],\n },\n keepDiscriminatorProperty: true,\n })\n templates?: (RuntimeDatasourceTemplate | CustomDatasourceTemplate)[];\n @IsObject()\n @ValidateNested()\n @Type(() => StellarRunnerSpecsImpl)\n runner: RunnerSpecs;\n\n @IsOptional()\n @IsObject()\n @Type(() => ParentProjectModel)\n parent?: ParentProject;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@subql/common-stellar",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.2-0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "rm -rf dist && tsc -b",
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
"main": "dist/index.js",
|
|
14
14
|
"license": "GPL-3.0",
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@subql/common": "
|
|
17
|
-
"@subql/types-stellar": "2.3.0",
|
|
16
|
+
"@subql/common": "^3.1.1",
|
|
17
|
+
"@subql/types-stellar": "2.3.1-0",
|
|
18
18
|
"js-yaml": "^4.1.0",
|
|
19
19
|
"pino": "^6.13.3",
|
|
20
20
|
"reflect-metadata": "^0.1.13",
|
|
@@ -28,5 +28,5 @@
|
|
|
28
28
|
"@types/js-yaml": "^4.0.4",
|
|
29
29
|
"@types/pino": "^6.3.12"
|
|
30
30
|
},
|
|
31
|
-
"stableVersion": "2.3.
|
|
31
|
+
"stableVersion": "2.3.1"
|
|
32
32
|
}
|