From c35f7295405769c21ae279020b8b0db94696f5cd Mon Sep 17 00:00:00 2001 From: Scott Twiname Date: Mon, 12 Aug 2024 14:53:53 +1200 Subject: [PATCH] Sync deps, start work on strict ts --- package.json | 2 +- packages/common-cosmos/package.json | 2 +- .../src/codegen/codegen-controller.spec.ts | 2 +- .../src/codegen/codegen-controller.ts | 64 ++- packages/common-cosmos/src/project/models.ts | 51 +- .../common-cosmos/src/project/project.spec.ts | 2 +- packages/common-cosmos/src/project/utils.ts | 9 +- .../versioned/ProjectManifestVersioned.ts | 6 +- .../src/project/versioned/v1_0_0/model.ts | 28 +- packages/common-cosmos/tsconfig.json | 3 +- packages/node/package.json | 3 +- packages/node/src/indexer/api.service.ts | 3 +- .../src/indexer/cosmosClient.connection.ts | 3 + .../dictionary/v1/dictionaryV1.spec.ts | 2 +- .../node/src/indexer/dynamic-ds.service.ts | 24 +- packages/node/src/init.ts | 30 +- packages/node/src/utils/kyve/kyve.ts | 12 +- packages/node/src/utils/project.ts | 2 +- packages/node/tsconfig.json | 1 + packages/types/package.json | 2 +- packages/types/src/project.ts | 19 +- packages/types/tsconfig.json | 3 +- yarn.lock | 538 ++++++++++++------ 23 files changed, 509 insertions(+), 302 deletions(-) diff --git a/package.json b/package.json index 0273b6715..a512591d7 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "ts-loader": "^9.2.6", "ts-node": "^10.4.0", "tsconfig-paths": "^3.12.0", - "typescript": "^5.5.3" + "typescript": "^5.5.4" }, "resolutions": { "node-fetch": "2.6.7" diff --git a/packages/common-cosmos/package.json b/packages/common-cosmos/package.json index 876f420d9..0ee5b8d70 100644 --- a/packages/common-cosmos/package.json +++ b/packages/common-cosmos/package.json @@ -22,7 +22,7 @@ "@protobufs/google": "^0.0.10", "@protobufs/ibc": "^0.1.0", "@protobufs/tendermint": "^0.0.10", - "@subql/common": "^4.1.1", + "@subql/common": "^5.1.0", "@subql/types-cosmos": "workspace:*", "@subql/x-cosmology-telescope": "^1.4.14", "fs-extra": "^11.1.1", diff --git a/packages/common-cosmos/src/codegen/codegen-controller.spec.ts b/packages/common-cosmos/src/codegen/codegen-controller.spec.ts index d6c903b98..8172c2093 100644 --- a/packages/common-cosmos/src/codegen/codegen-controller.spec.ts +++ b/packages/common-cosmos/src/codegen/codegen-controller.spec.ts @@ -45,7 +45,7 @@ describe('Codegen cosmos', () => { messages: ['MsgSwapAmountInRoute'], }, }, - ]; + ] as any; expect(prepareProtobufRenderProps(mockChainTypes, PROJECT_PATH)).toStrictEqual([ { messageNames: ['MsgSwapExactAmountIn'], diff --git a/packages/common-cosmos/src/codegen/codegen-controller.ts b/packages/common-cosmos/src/codegen/codegen-controller.ts index 345723113..1f07ed368 100644 --- a/packages/common-cosmos/src/codegen/codegen-controller.ts +++ b/packages/common-cosmos/src/codegen/codegen-controller.ts @@ -117,6 +117,7 @@ export function prepareSortedAssets( datasources .filter((d) => !!d?.assets && isRuntimeCosmosDs(d)) .forEach((d) => { + if (!d.assets) return; Object.entries(d.assets).map(([name, value]) => { const filePath = path.join(projectPath, value.file); if (!fs.existsSync(filePath)) { @@ -168,7 +169,7 @@ export async function generateCosmwasm( ); }) ); - } catch (e) { + } catch (e: any) { console.error( `! Unable to generate from provided cosmwasm interface. ${e.message}\n` + 'Please check the path of your abi path in the project.yaml' @@ -183,32 +184,34 @@ export function prepareProtobufRenderProps( if (!chaintypes) { return []; } - return chaintypes.filter(Boolean).flatMap((chaintype) => { - return Object.entries(chaintype) - .map(([key, value]) => { - const filePath = path.join(projectPath, value.file); - if (!fs.existsSync(filePath)) { - throw new Error(`Error: chainType ${key}, file ${value.file} does not exist`); - } - if (!isProtoPath(value.file, projectPath)) { - console.error( - `Codegen will not apply for this file: ${value.file} Please ensure it is under the ./proto directory if you want to run codegen on it` - ); - } + return chaintypes + .filter((v) => v !== undefined) + .flatMap((chaintype) => { + return Object.entries(chaintype) + .map(([key, value]) => { + const filePath = path.join(projectPath, value.file); + if (!fs.existsSync(filePath)) { + throw new Error(`Error: chainType ${key}, file ${value.file} does not exist`); + } + if (!isProtoPath(value.file, projectPath)) { + console.error( + `Codegen will not apply for this file: ${value.file} Please ensure it is under the ./proto directory if you want to run codegen on it` + ); + } - // We only need to generate for RPC messages that are always prefixed with Msg - const messages = value.messages.filter((m: string) => m.indexOf('Msg') === 0); - if (!messages.length) return; + // We only need to generate for RPC messages that are always prefixed with Msg + const messages = value.messages.filter((m: string) => m.indexOf('Msg') === 0); + if (!messages.length) return; - return { - messageNames: messages, - namespace: pathToNamespace(value.file), - name: pathToName(value.file), - path: processProtoFilePath(value.file), - }; - }) - .filter(Boolean); - }); + return { + messageNames: messages, + namespace: pathToNamespace(value.file), + name: pathToName(value.file), + path: processProtoFilePath(value.file), + }; + }) + .filter((v) => v !== undefined); + }); } /** @@ -244,7 +247,7 @@ export async function generateProto( renderTemplate: (templatePath: string, outputPath: string, templateData: Data) => Promise, upperFirst: (string?: string) => string ): Promise { - let tmpPath: string; + let tmpPath = ''; try { tmpPath = await tempProtoDir(projectPath); const protobufRenderProps = prepareProtobufRenderProps(chaintypes, projectPath); @@ -274,7 +277,9 @@ export async function generateProto( console.log('ERRROR', e); throw new Error(`Failed to generate from protobufs. ${e.message}, ${errorMessage}`); } finally { - fs.rmSync(tmpPath, {recursive: true, force: true}); + if (tmpPath !== '') { + fs.rmSync(tmpPath, {recursive: true, force: true}); + } } } @@ -302,9 +307,10 @@ export async function projectCodegen( await generateCosmwasm(datasources, projectPath, prepareDirPath, upperFirst, renderTemplate); } -function getChaintypes(manifest: ProjectManifestV1_0_0[]): Map[] { +function getChaintypes(manifest: ProjectManifestV1_0_0[]): CosmosChainTypeDataType[] { return manifest .filter((m) => validateCosmosManifest(m)) .map((m) => (m as CosmosProjectManifestV1_0_0).network.chaintypes) - .filter((value) => value && Object.keys(value).length !== 0); + .filter((value) => value !== undefined) + .filter((value) => Object.keys(value).length !== 0); } diff --git a/packages/common-cosmos/src/project/models.ts b/packages/common-cosmos/src/project/models.ts index 516d86abc..1c2770e26 100644 --- a/packages/common-cosmos/src/project/models.ts +++ b/packages/common-cosmos/src/project/models.ts @@ -22,7 +22,6 @@ import { CosmosMessageHandler, CustomModule, CosmosTxFilter, - SubqlCosmosProcessorOptions, } from '@subql/types-cosmos'; import {plainToClass, Transform, Type} from 'class-transformer'; import { @@ -56,7 +55,7 @@ export class TxFilter implements CosmosTxFilter { export class MessageFilter extends TxFilter implements CosmosMessageFilter { @IsString() - type: string; + type!: string; @IsOptional() @IsObject() values?: {[key: string]: string}; @@ -68,7 +67,7 @@ export class MessageFilter extends TxFilter implements CosmosMessageFilter { export class EventFilter implements CosmosEventFilter { @IsString() - type: string; + type!: string; @IsOptional() @Type(() => MessageFilter) messageFilter?: CosmosMessageFilter; @@ -79,9 +78,9 @@ export class EventFilter implements CosmosEventFilter { export class BlockHandler implements CosmosBlockHandler { @IsEnum(CosmosHandlerKind, {groups: [CosmosHandlerKind.Block]}) - kind: CosmosHandlerKind.Block; + kind!: CosmosHandlerKind.Block; @IsString() - handler: string; + handler!: string; @IsOptional() @Type(() => BlockFilter) filter?: CosmosBlockFilter; @@ -89,16 +88,16 @@ export class BlockHandler implements CosmosBlockHandler { export class TransactionHandler implements CosmosTransactionHandler { @IsEnum(CosmosHandlerKind, {groups: [CosmosHandlerKind.Transaction]}) - kind: CosmosHandlerKind.Transaction; + kind!: CosmosHandlerKind.Transaction; @IsString() - handler: string; + handler!: string; } export class MessageHandler implements CosmosMessageHandler { @IsEnum(CosmosHandlerKind, {groups: [CosmosHandlerKind.Message]}) - kind: CosmosHandlerKind.Message; + kind!: CosmosHandlerKind.Message; @IsString() - handler: string; + handler!: string; @IsOptional() @ValidateNested() @Type(() => MessageFilter) @@ -111,16 +110,16 @@ export class EventHandler implements CosmosEventHandler { @Type(() => EventFilter) filter?: CosmosEventFilter; @IsEnum(CosmosHandlerKind, {groups: [CosmosHandlerKind.Event]}) - kind: CosmosHandlerKind.Event; + kind!: CosmosHandlerKind.Event; @IsString() - handler: string; + handler!: string; } export class CustomHandler implements CosmosCustomHandler { @IsString() - kind: string; + kind!: string; @IsString() - handler: string; + handler!: string; @IsObject() @IsOptional() filter?: Record; @@ -146,18 +145,18 @@ export class RuntimeMapping implements CosmosMapping { }) @IsArray() @ValidateNested() - handlers: CosmosHandler[]; + handlers!: CosmosHandler[]; @IsString() - file: string; + file!: string; } export class CustomMapping implements CosmosMapping { @IsArray() @Type(() => CustomHandler) @ValidateNested() - handlers: CosmosCustomHandler[]; + handlers!: CosmosCustomHandler[]; @IsString() - file: string; + file!: string; } export class CosmosProcessorOptions implements CosmosProcessorOptions { @@ -171,10 +170,10 @@ export class CosmosRuntimeDataSourceBase { @IsEnum(CosmosDatasourceKind, {groups: [CosmosDatasourceKind.Runtime]}) - kind: CosmosDatasourceKind.Runtime; + kind!: CosmosDatasourceKind.Runtime; @Type(() => RuntimeMapping) @ValidateNested() - mapping: M; + mapping!: M; @IsOptional() @Validate(FileReferenceImp) assets?: Map; @@ -186,15 +185,15 @@ export class CosmosRuntimeDataSourceBase String) - messages: string[]; + messages!: string[]; } export class CosmosCustomDataSourceBase< @@ -206,14 +205,14 @@ export class CosmosCustomDataSourceBase< implements CosmosCustomDatasource { @IsString() - kind: K; + kind!: K; @Type(() => CustomMapping) @ValidateNested() - mapping: M; + mapping!: M; @Type(() => CosmosFileReferenceImpl) @ValidateNested({each: true}) - assets: Map; + assets!: Map; @Type(() => ProcessorImpl) @IsObject() - processor: Processor; + processor!: Processor; } diff --git a/packages/common-cosmos/src/project/project.spec.ts b/packages/common-cosmos/src/project/project.spec.ts index 265242417..d0f43c638 100644 --- a/packages/common-cosmos/src/project/project.spec.ts +++ b/packages/common-cosmos/src/project/project.spec.ts @@ -51,6 +51,6 @@ describe('project.yaml', () => { it('Ensure chaintypes existence on manifest deployment', () => { const cosmosManifest = loadFromJsonOrYaml(path.join(projectsDir, './protoTest1', 'project.yaml')) as any; const manifest = parseCosmosProjectManifest(cosmosManifest); - expect(manifest.asImpl.network.chaintypes.size).toBeGreaterThan(0); + expect(manifest.asImpl.network.chaintypes?.size).toBeGreaterThan(0); }); }); diff --git a/packages/common-cosmos/src/project/utils.ts b/packages/common-cosmos/src/project/utils.ts index ce80e1ff0..3e2f34509 100644 --- a/packages/common-cosmos/src/project/utils.ts +++ b/packages/common-cosmos/src/project/utils.ts @@ -11,6 +11,7 @@ import { CosmosRuntimeDatasource, CustomDatasourceTemplate, RuntimeDatasourceTemplate, + SecondLayerHandlerProcessorArray, } from '@subql/types-cosmos'; import {ValidationArguments, ValidatorConstraint, ValidatorConstraintInterface} from 'class-validator'; import {gte} from 'semver'; @@ -30,25 +31,25 @@ export function isRuntimeCosmosDs( type DefaultFilter = Record; export function isBlockHandlerProcessor( - hp: SecondLayerHandlerProcessor + hp: SecondLayerHandlerProcessorArray ): hp is SecondLayerHandlerProcessor { return hp.baseHandlerKind === CosmosHandlerKind.Block; } export function isTransactionHandlerProcessor( - hp: SecondLayerHandlerProcessor + hp: SecondLayerHandlerProcessorArray ): hp is SecondLayerHandlerProcessor { return hp.baseHandlerKind === CosmosHandlerKind.Transaction; } export function isMessageHandlerProcessor( - hp: SecondLayerHandlerProcessor + hp: SecondLayerHandlerProcessorArray ): hp is SecondLayerHandlerProcessor { return hp.baseHandlerKind === CosmosHandlerKind.Message; } export function isEventHandlerProcessor( - hp: SecondLayerHandlerProcessor + hp: SecondLayerHandlerProcessorArray ): hp is SecondLayerHandlerProcessor { return hp.baseHandlerKind === CosmosHandlerKind.Event; } diff --git a/packages/common-cosmos/src/project/versioned/ProjectManifestVersioned.ts b/packages/common-cosmos/src/project/versioned/ProjectManifestVersioned.ts index b8138ec5e..36f44c9dd 100644 --- a/packages/common-cosmos/src/project/versioned/ProjectManifestVersioned.ts +++ b/packages/common-cosmos/src/project/versioned/ProjectManifestVersioned.ts @@ -43,7 +43,7 @@ export class CosmosProjectManifestVersioned implements ICosmosProjectManifest { return this._impl as ProjectManifestV1_0_0Impl; } - toDeployment(): string | undefined { + toDeployment(): string { return this._impl.deployment.toYaml(); } @@ -63,11 +63,11 @@ export class CosmosProjectManifestVersioned implements ICosmosProjectManifest { return this._impl.specVersion; } - get description(): string { + get description(): string | undefined { return this._impl.description; } - get repository(): string { + get repository(): string | undefined { return this._impl.repository; } } diff --git a/packages/common-cosmos/src/project/versioned/v1_0_0/model.ts b/packages/common-cosmos/src/project/versioned/v1_0_0/model.ts index 2d5f02321..92ae40e61 100644 --- a/packages/common-cosmos/src/project/versioned/v1_0_0/model.ts +++ b/packages/common-cosmos/src/project/versioned/v1_0_0/model.ts @@ -59,7 +59,7 @@ export class CosmosProjectNetworkDeployment { @IsString() @IsNotEmpty() @Transform(({value}: TransformFnParams) => value.trim()) - chainId: string; + chainId!: string; @IsOptional() @IsArray() bypassBlocks?: (number | string)[]; @@ -78,33 +78,33 @@ export class CosmosProjectNetwork extends CommonProjectNetworkV1_0_0 CosmosRunnerNodeImpl) - node: NodeSpec; + node!: NodeSpec; @IsObject() @ValidateNested() @Type(() => RunnerQueryBaseModel) - query: QuerySpec; + query!: QuerySpec; } export class DeploymentV1_0_0 extends BaseDeploymentV1_0_0 { @ValidateNested() @Type(() => CosmosProjectNetworkDeployment) - network: CosmosProjectNetworkDeployment; + network!: CosmosProjectNetworkDeployment; @IsObject() @ValidateNested() @Type(() => CosmosRunnerSpecsImpl) - runner: RunnerSpecs; + runner!: RunnerSpecs; @IsArray() @ValidateNested() @Type(() => CosmosCustomDataSourceImpl, { @@ -114,7 +114,7 @@ export class DeploymentV1_0_0 extends BaseDeploymentV1_0_0 { }, keepDiscriminatorProperty: true, }) - dataSources: (CosmosRuntimeDatasource | CosmosCustomDatasource)[]; + dataSources!: (CosmosRuntimeDatasource | CosmosCustomDatasource)[]; @IsOptional() @IsArray() @ValidateNested() @@ -139,16 +139,16 @@ export class ProjectManifestV1_0_0Impl @Equals('1.0.0') specVersion = '1.0.0'; @IsString() - name: string; + name!: string; @IsString() - version: string; + version!: string; @IsObject() @ValidateNested() @Type(() => CosmosProjectNetwork) - network: CosmosProjectNetwork; + network!: CosmosProjectNetwork; @ValidateNested() @Type(() => FileType) - schema: FileType; + schema!: FileType; @IsArray() @ValidateNested() @Type(() => CosmosCustomDataSourceImpl, { @@ -158,7 +158,7 @@ export class ProjectManifestV1_0_0Impl }, keepDiscriminatorProperty: true, }) - dataSources: (CosmosRuntimeDatasource | CosmosCustomDatasource)[]; + dataSources!: (CosmosRuntimeDatasource | CosmosCustomDatasource)[]; @IsOptional() @IsArray() @ValidateNested() @@ -173,7 +173,7 @@ export class ProjectManifestV1_0_0Impl @IsObject() @ValidateNested() @Type(() => CosmosRunnerSpecsImpl) - runner: RunnerSpecs; + runner!: RunnerSpecs; @IsOptional() @IsObject() diff --git a/packages/common-cosmos/tsconfig.json b/packages/common-cosmos/tsconfig.json index b3866a63d..0519f60d0 100644 --- a/packages/common-cosmos/tsconfig.json +++ b/packages/common-cosmos/tsconfig.json @@ -4,7 +4,8 @@ "rootDir": "src", "tsBuildInfoFile": "dist/.tsbuildinfo", "outDir": "dist", - "noImplicitAny": true + "noImplicitAny": true, + "strict": true }, "references": [{"path": "../types"}], "include": ["src/**/*"] diff --git a/packages/node/package.json b/packages/node/package.json index 14d75e759..51a052d8c 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -29,9 +29,8 @@ "@nestjs/event-emitter": "^2.0.0", "@nestjs/platform-express": "^9.4.0", "@nestjs/schedule": "^3.0.1", - "@subql/common": "^4.1.1", "@subql/common-cosmos": "workspace:*", - "@subql/node-core": "^13.0.1", + "@subql/node-core": "^14.1.1", "@subql/types-cosmos": "workspace:*", "lodash": "^4.17.21", "protobufjs": "^6.11.4", diff --git a/packages/node/src/indexer/api.service.ts b/packages/node/src/indexer/api.service.ts index 10b5bc38a..201edc603 100644 --- a/packages/node/src/indexer/api.service.ts +++ b/packages/node/src/indexer/api.service.ts @@ -88,11 +88,12 @@ export class ApiService this.registry = await this.buildRegistry(); - await this.createConnections(network, (endpoint) => + await this.createConnections(network, (endpoint, config) => CosmosClientConnection.create( endpoint, this.fetchBlocksBatches, this.registry, + config, ), ); diff --git a/packages/node/src/indexer/cosmosClient.connection.ts b/packages/node/src/indexer/cosmosClient.connection.ts index a2c6d4af2..5357a553d 100644 --- a/packages/node/src/indexer/cosmosClient.connection.ts +++ b/packages/node/src/indexer/cosmosClient.connection.ts @@ -18,6 +18,7 @@ import { exitWithError, } from '@subql/node-core'; import { getLogger } from '@subql/node-core/dist'; +import { IEndpointConfig } from '@subql/types-core'; import { CosmosClient, CosmosSafeClient } from './api.service'; import { HttpClient, WebsocketClient } from './rpc-clients'; import { BlockContent } from './types'; @@ -86,11 +87,13 @@ export class CosmosClientConnection endpoint: string, fetchBlocksBatches: FetchFunc, registry: Registry, + config: IEndpointConfig, ): Promise { const httpEndpoint: HttpEndpoint = { url: endpoint, headers: { 'User-Agent': `SubQuery-Node ${packageVersion}`, + ...config.headers, }, }; diff --git a/packages/node/src/indexer/dictionary/v1/dictionaryV1.spec.ts b/packages/node/src/indexer/dictionary/v1/dictionaryV1.spec.ts index 7658c90fd..0e662e1f9 100644 --- a/packages/node/src/indexer/dictionary/v1/dictionaryV1.spec.ts +++ b/packages/node/src/indexer/dictionary/v1/dictionaryV1.spec.ts @@ -38,7 +38,7 @@ type DictionaryServicePrivate = DictionaryV1 & { const nodeConfig = new NodeConfig({ subquery: 'asdf', subqueryName: 'asdf', - networkEndpoint: ['https://rpc-juno.itastakers.com/'], + networkEndpoint: { 'https://rpc-juno.itastakers.com/': {} }, dictionaryTimeout: 10, }); diff --git a/packages/node/src/indexer/dynamic-ds.service.ts b/packages/node/src/indexer/dynamic-ds.service.ts index 613a96564..f0aadee49 100644 --- a/packages/node/src/indexer/dynamic-ds.service.ts +++ b/packages/node/src/indexer/dynamic-ds.service.ts @@ -74,11 +74,11 @@ export class DynamicDsService extends BaseDynamicDsService< }; await this.dsProcessorService.validateCustomDs([dsObj]); } else if (isRuntimeCosmosDs(dsObj)) { - validateType( - DataSourceArgs, - params.args, - 'Dynamic ds args are invalid', - ); + const { args } = params; + if (!args) { + throw new Error('Expected args to be defined'); + } + validateType(DataSourceArgs, args, 'Dynamic ds args are invalid'); dsObj.mapping.handlers = dsObj.mapping.handlers.map((handler) => { switch (handler.kind) { @@ -87,7 +87,7 @@ export class DynamicDsService extends BaseDynamicDsService< handler.filter, 'Dynamic datasources must have some predfined filter', ); - if (params.args.values) { + if (args.values) { if (!handler.filter.messageFilter) { throw new Error( 'Cannot set values on handler without predefined messageFilter type', @@ -95,13 +95,13 @@ export class DynamicDsService extends BaseDynamicDsService< } handler.filter.messageFilter.values = { ...handler.filter.messageFilter.values, - ...(params.args.values as Record), + ...(args.values as Record), }; } - if (params.args.attributes) { + if (args.attributes) { handler.filter.attributes = { ...handler.filter.attributes, - ...(params.args.attributes as Record), + ...(args.attributes as Record), }; } return handler; @@ -110,7 +110,7 @@ export class DynamicDsService extends BaseDynamicDsService< handler.filter, 'Dynamic datasources must have some predfined filter', ); - if (params.args.values) { + if (args.values) { if (!handler.filter) { throw new Error( 'Cannot set values on handler without predefined messageFilter type', @@ -118,7 +118,7 @@ export class DynamicDsService extends BaseDynamicDsService< } handler.filter.values = { ...handler.filter.values, - ...(params.args.values as Record), + ...(args.values as Record), }; } return handler; @@ -137,7 +137,7 @@ export class DynamicDsService extends BaseDynamicDsService< } return dsObj; - } catch (e) { + } catch (e: any) { throw new Error(`Unable to create dynamic datasource.\n ${e.message}`); } } diff --git a/packages/node/src/init.ts b/packages/node/src/init.ts index b6d2e4701..811515f4d 100644 --- a/packages/node/src/init.ts +++ b/packages/node/src/init.ts @@ -2,8 +2,13 @@ // SPDX-License-Identifier: GPL-3.0 import { NestFactory } from '@nestjs/core'; -import { findAvailablePort, notifyUpdates } from '@subql/common'; -import { exitWithError, getLogger, NestLogger } from '@subql/node-core'; +import { notifyUpdates } from '@subql/common'; +import { + exitWithError, + getLogger, + getValidPort, + NestLogger, +} from '@subql/node-core'; import { AppModule } from './app.module'; import { ApiService } from './indexer/api.service'; import { FetchService } from './indexer/fetch.service'; @@ -13,7 +18,6 @@ const pjson = require('../package.json'); const { argv } = yargsOptions; -const DEFAULT_PORT = 3000; const logger = getLogger('subql-node'); notifyUpdates(pjson, logger); @@ -21,22 +25,7 @@ notifyUpdates(pjson, logger); export async function bootstrap(): Promise { logger.info(`Current ${pjson.name} version is ${pjson.version}`); - const validate = (x: any) => { - const p = parseInt(x); - return isNaN(p) ? null : p; - }; - - const port = validate(argv.port) ?? (await findAvailablePort(DEFAULT_PORT)); - if (!port) { - exitWithError( - new Error( - `Unable to find available port (tried ports in range (${port}..${ - port + 10 - })). Try setting a free port manually by setting the --port flag`, - ), - logger, - ); - } + const port = await getValidPort(argv.port); if (argv.unsafe) { logger.warn( @@ -65,7 +54,6 @@ export async function bootstrap(): Promise { logger.info(`Node started on port: ${port}`); } catch (e) { - logger.error(e, 'Node failed to start'); - process.exit(1); + exitWithError(new Error(`Node failed to start`, { cause: e }), logger); } } diff --git a/packages/node/src/utils/kyve/kyve.ts b/packages/node/src/utils/kyve/kyve.ts index 8d8eee1e7..ea9d07598 100644 --- a/packages/node/src/utils/kyve/kyve.ts +++ b/packages/node/src/utils/kyve/kyve.ts @@ -134,7 +134,7 @@ export class KyveApi { if (isStale) { await KyveApi.unlinkFile(bundlePath, `Removed stale bundle: ${file}`); } - } catch (e) { + } catch (e: any) { logger.error(e, 'Error clearing stale files'); if (e.code !== 'ENOENT') throw e; } @@ -269,7 +269,7 @@ export class KyveApi { private async getBundleFromCache( height: number, - ): Promise | undefined { + ): Promise { const bundles = await this.getResolvedBundleDetails(); return bundles.find( (b) => @@ -301,7 +301,7 @@ export class KyveApi { while (limit > 0) { try { return await this.readFromFile(bundleFilePath); - } catch (e) { + } catch (e: any) { if (e.code === 'EACCES') { await delay(POLL_TIMER); limit--; @@ -367,7 +367,7 @@ export class KyveApi { await fs.promises.chmod(bundleFilePath, 0o444); logger.debug(`Bundle ${bundle.id} ready`); - } catch (e) { + } catch (e: any) { if (!['EEXIST', 'EACCES'].includes(e.code)) { await KyveApi.unlinkFile(bundleFilePath); } @@ -384,7 +384,7 @@ export class KyveApi { if (loggerMsg) { logger.debug(loggerMsg); } - } catch (e) { + } catch (e: any) { // If file does not exist, no need to remove if (e.code !== 'ENOENT') throw e; } @@ -585,7 +585,7 @@ export class KyveApi { return formatBlockUtil( new LazyBlockContent(blockInfo, blockResults, registry), ); - } catch (e) { + } catch (e: any) { logger.error( e, `Failed to fetch and prepare block ${blockInfo.block.header.height}`, diff --git a/packages/node/src/utils/project.ts b/packages/node/src/utils/project.ts index bdeaf345d..83460f047 100644 --- a/packages/node/src/utils/project.ts +++ b/packages/node/src/utils/project.ts @@ -53,7 +53,7 @@ export async function processNetworkConfig( export async function loadNetworkChainType( reader: Reader, file: string, -): Promise<[string, protobuf.Root]> { +): Promise<[string | undefined, protobuf.Root]> { const proto = await reader.getFile(file); if (!proto) throw new Error(`Unable to load chain type from ${file}`); diff --git a/packages/node/tsconfig.json b/packages/node/tsconfig.json index 7667ef88c..4ef8b2161 100644 --- a/packages/node/tsconfig.json +++ b/packages/node/tsconfig.json @@ -5,6 +5,7 @@ "tsBuildInfoFile": "dist/.tsbuildinfo", "rootDir": "src", "outDir": "./dist" + // "strict": true, }, "references": [{ "path": "../common-cosmos" }, { "path": "../types" }], "include": ["src/**/*"] diff --git a/packages/types/package.json b/packages/types/package.json index 663424868..436b98804 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -19,6 +19,6 @@ "@cosmjs/cosmwasm-stargate": "^0.32.4", "@cosmjs/proto-signing": "^0.32.4", "@cosmjs/stargate": "^0.32.4", - "@subql/types-core": "^0.10.0" + "@subql/types-core": "^1.1.1" } } diff --git a/packages/types/src/project.ts b/packages/types/src/project.ts index 3848810b6..42e3dafda 100644 --- a/packages/types/src/project.ts +++ b/packages/types/src/project.ts @@ -78,6 +78,13 @@ export type CosmosRuntimeHandlerInputMap = { [CosmosHandlerKind.Event]: CosmosEvent; }; +type CosmosRuntimeFilterMap = { + [CosmosHandlerKind.Block]: CosmosBlockFilter; + [CosmosHandlerKind.Transaction]: CosmosTxFilter; + [CosmosHandlerKind.Message]: CosmosMessageFilter; + [CosmosHandlerKind.Event]: CosmosEventFilter; +}; + /** * Represents a Cosmos subquery network configuration, which is based on the CommonSubqueryNetworkConfig template. * @type {IProjectNetworkConfig} @@ -363,8 +370,16 @@ export type SecondLayerHandlerProcessor< E, DS extends CosmosCustomDatasource = CosmosCustomDatasource > = - | SecondLayerHandlerProcessor_0_0_0 - | (SecondLayerHandlerProcessor_1_0_0 & { + | SecondLayerHandlerProcessor_0_0_0 + | (SecondLayerHandlerProcessor_1_0_0< + K, + CosmosRuntimeHandlerInputMap, + CosmosRuntimeFilterMap, + F, + E, + DS, + CosmWasmClient + > & { // Overwrite the function to include registry filterProcessor: (params: { filter: F | undefined; diff --git a/packages/types/tsconfig.json b/packages/types/tsconfig.json index b9875beb3..0bfb9b541 100644 --- a/packages/types/tsconfig.json +++ b/packages/types/tsconfig.json @@ -5,7 +5,8 @@ "noImplicitAny": true, "tsBuildInfoFile": "dist/.tsbuildinfo", "rootDir": "src", - "outDir": "dist" + "outDir": "dist", + "strict": true }, "include": ["src/**/*"] } diff --git a/yarn.lock b/yarn.lock index 3044955e6..a458833b9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -84,27 +84,29 @@ __metadata: languageName: node linkType: hard -"@apollo/client@npm:^3.8.8": - version: 3.8.8 - resolution: "@apollo/client@npm:3.8.8" +"@apollo/client@npm:^3.11.2": + version: 3.11.4 + resolution: "@apollo/client@npm:3.11.4" dependencies: "@graphql-typed-document-node/core": ^3.1.1 + "@wry/caches": ^1.0.0 "@wry/equality": ^0.5.6 "@wry/trie": ^0.5.0 graphql-tag: ^2.12.6 hoist-non-react-statics: ^3.3.2 optimism: ^0.18.0 prop-types: ^15.7.2 + rehackt: ^0.1.0 response-iterator: ^0.2.6 symbol-observable: ^4.0.0 ts-invariant: ^0.10.3 tslib: ^2.3.0 zen-observable-ts: ^1.2.5 peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql: ^15.0.0 || ^16.0.0 graphql-ws: ^5.5.5 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 subscriptions-transport-ws: ^0.9.0 || ^0.11.0 peerDependenciesMeta: graphql-ws: @@ -115,7 +117,7 @@ __metadata: optional: true subscriptions-transport-ws: optional: true - checksum: df01412424b61f0b102b8453dfc611d7a2bdae6921fed31700196939076f1c6774eb942dc52bf6dc3f7212280dc0748998b243e09f60b889d989d9a1f08f30b3 + checksum: 1fbb276b4365da8afea36ae1757ba7cc9814d29e0159f972313cf42ad50141786fd1be320aa75c484b99aec910ba789c6180a72ac5175c4ded3c1e49d1b54e94 languageName: node linkType: hard @@ -4269,6 +4271,15 @@ __metadata: languageName: node linkType: hard +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: ^7.0.4 + checksum: 5d36d289960e886484362d9eb6a51d1ea28baed5f5d0140bbe62b99bac52eaf06cc01c2bc0d3575977962f84f6b2c4387b043ee632216643d4787b0999465bf2 + languageName: node + linkType: hard + "@istanbuljs/load-nyc-config@npm:^1.0.0": version: 1.1.0 resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" @@ -5262,6 +5273,13 @@ __metadata: languageName: node linkType: hard +"@opentelemetry/api@npm:^1.4.0": + version: 1.9.0 + resolution: "@opentelemetry/api@npm:1.9.0" + checksum: 9e88e59d53ced668f3daaecfd721071c5b85a67dd386f1c6f051d1be54375d850016c881f656ffbe9a03bedae85f7e89c2f2b635313f9c9b195ad033cdc31020 + languageName: node + linkType: hard + "@parcel/watcher@npm:2.0.4": version: 2.0.4 resolution: "@parcel/watcher@npm:2.0.4" @@ -5280,49 +5298,49 @@ __metadata: languageName: node linkType: hard -"@polkadot/networks@npm:12.6.2": - version: 12.6.2 - resolution: "@polkadot/networks@npm:12.6.2" +"@polkadot/networks@npm:13.0.2": + version: 13.0.2 + resolution: "@polkadot/networks@npm:13.0.2" dependencies: - "@polkadot/util": 12.6.2 - "@substrate/ss58-registry": ^1.44.0 + "@polkadot/util": 13.0.2 + "@substrate/ss58-registry": ^1.46.0 tslib: ^2.6.2 - checksum: 7f3dbdd02d8429f82c36ce284ca279af663d45c1a40ce4ce1e38ec2a06fc9d6d27c66d374f32b91ae3058257f33d60701481c9e95ceab19bd2eb70d83465b026 + checksum: 4bc02ae6a95c0bf770ab2ba99af59013665edf4e759a228148289859dcc171be61d93359f6846a5d248707eb215bcbf2ca69ae9f63eb1720caa38ceb3dab7587 languageName: node linkType: hard -"@polkadot/util-crypto@npm:^12.6.2": - version: 12.6.2 - resolution: "@polkadot/util-crypto@npm:12.6.2" +"@polkadot/util-crypto@npm:^13.0.2": + version: 13.0.2 + resolution: "@polkadot/util-crypto@npm:13.0.2" dependencies: "@noble/curves": ^1.3.0 "@noble/hashes": ^1.3.3 - "@polkadot/networks": 12.6.2 - "@polkadot/util": 12.6.2 + "@polkadot/networks": 13.0.2 + "@polkadot/util": 13.0.2 "@polkadot/wasm-crypto": ^7.3.2 "@polkadot/wasm-util": ^7.3.2 - "@polkadot/x-bigint": 12.6.2 - "@polkadot/x-randomvalues": 12.6.2 + "@polkadot/x-bigint": 13.0.2 + "@polkadot/x-randomvalues": 13.0.2 "@scure/base": ^1.1.5 tslib: ^2.6.2 peerDependencies: - "@polkadot/util": 12.6.2 - checksum: 63d4bd9bdc3a7089a0a68555cd6a510b8da3cfab142a8f96ba4b43d5d1db2a543433079bc88c2daf15a329d19ba2cc60f6cca6dbebaefd25e96169cb6343794b + "@polkadot/util": 13.0.2 + checksum: 025bb2179d77b73dd8af775192627fe31e985e365fbecf38d7903a663aa11b703fa3f23fbb65e53d0a9710cc087e0cb9a113b0a660d8e9b36de21c36c1bc40d7 languageName: node linkType: hard -"@polkadot/util@npm:12.6.2, @polkadot/util@npm:^12.6.2": - version: 12.6.2 - resolution: "@polkadot/util@npm:12.6.2" +"@polkadot/util@npm:13.0.2, @polkadot/util@npm:^13.0.2": + version: 13.0.2 + resolution: "@polkadot/util@npm:13.0.2" dependencies: - "@polkadot/x-bigint": 12.6.2 - "@polkadot/x-global": 12.6.2 - "@polkadot/x-textdecoder": 12.6.2 - "@polkadot/x-textencoder": 12.6.2 + "@polkadot/x-bigint": 13.0.2 + "@polkadot/x-global": 13.0.2 + "@polkadot/x-textdecoder": 13.0.2 + "@polkadot/x-textencoder": 13.0.2 "@types/bn.js": ^5.1.5 bn.js: ^5.2.1 tslib: ^2.6.2 - checksum: a42a226f3c299026458d82e48516abf59c1cd8638167edaa3fc1a17aec0ebab203e0ad68a096a4a4fa188afd55093535a98e5083d682a79242a3c5ad79342599 + checksum: c7d71898395d2e9fb994ed53be10e9b44e9cb6f6bd502ce31a48848dda032a9e3f462a6039759798023425c6e17d5a7515784f0a8c0ab74c1a0a2691b0ef3660 languageName: node linkType: hard @@ -5406,55 +5424,55 @@ __metadata: languageName: node linkType: hard -"@polkadot/x-bigint@npm:12.6.2": - version: 12.6.2 - resolution: "@polkadot/x-bigint@npm:12.6.2" +"@polkadot/x-bigint@npm:13.0.2": + version: 13.0.2 + resolution: "@polkadot/x-bigint@npm:13.0.2" dependencies: - "@polkadot/x-global": 12.6.2 + "@polkadot/x-global": 13.0.2 tslib: ^2.6.2 - checksum: 12b2d5c3a7b994f5bd4f7aeda9e268384b04bd080892400c65b88fb5aa4951df6c4abe3baf9820f3adf3da92e2add710858dd35dcd597d2527bbfd1cd0efe534 + checksum: a1c9d9ab3aa27f7a68a879c76cea38ca4757ae4802c6d2a7402dbfbf31468c4dd3c4f1e852e62c0a1bff18889fccac1ccbc38649bf96e9473948ea7d7c2899f3 languageName: node linkType: hard -"@polkadot/x-global@npm:12.6.2": - version: 12.6.2 - resolution: "@polkadot/x-global@npm:12.6.2" +"@polkadot/x-global@npm:13.0.2": + version: 13.0.2 + resolution: "@polkadot/x-global@npm:13.0.2" dependencies: tslib: ^2.6.2 - checksum: eb17e039cb1668743c84f5eafbf518cf6248e93090e4877f81f338b418b3e6b0173f2414c62bd9cbe7bf8911ec566527ca7c49c4354ba90d57e62e90195329d0 + checksum: b487bf2a15d77681efae5e928364526102cff48207a871662515c500404ae58d9d08df813fd675c8bf0a2744dbf4648db6a0fe927993e597e8391349295560c8 languageName: node linkType: hard -"@polkadot/x-randomvalues@npm:12.6.2": - version: 12.6.2 - resolution: "@polkadot/x-randomvalues@npm:12.6.2" +"@polkadot/x-randomvalues@npm:13.0.2": + version: 13.0.2 + resolution: "@polkadot/x-randomvalues@npm:13.0.2" dependencies: - "@polkadot/x-global": 12.6.2 + "@polkadot/x-global": 13.0.2 tslib: ^2.6.2 peerDependencies: - "@polkadot/util": 12.6.2 + "@polkadot/util": 13.0.2 "@polkadot/wasm-util": "*" - checksum: 7faccf2dbcf0c7383b5ecfd7beb098c8c8ad5cf4c8f5bafd601657f8271af8f00b66741531ecf8b2f7c59911d96f77e358184a7c5034c70bf387a8e929a4c210 + checksum: 3968ca273ccdc3055466a8bdeae64141ef20dd5451f7fc750eaef28465460e41d28cdd4eadedf3b4ca94024c9ebae023a8a04eb946b9fd17a1ff9c105ebfe39c languageName: node linkType: hard -"@polkadot/x-textdecoder@npm:12.6.2": - version: 12.6.2 - resolution: "@polkadot/x-textdecoder@npm:12.6.2" +"@polkadot/x-textdecoder@npm:13.0.2": + version: 13.0.2 + resolution: "@polkadot/x-textdecoder@npm:13.0.2" dependencies: - "@polkadot/x-global": 12.6.2 + "@polkadot/x-global": 13.0.2 tslib: ^2.6.2 - checksum: c7e4b7f7ff943095a96bef3e3e56216d33d6ff38c965931356a06d01594b2c523ccbeada697a31b5457b134e578618f35425e0883f45187adffa98df99a45f27 + checksum: 586c970c66a014471b5354d41a55aa6dbeaa4aec041153d294205d7f86f93cfb6cb5c274b6ef38b0923b515b531bc8608fea7cdc6116c6dc61c370d892b207e4 languageName: node linkType: hard -"@polkadot/x-textencoder@npm:12.6.2": - version: 12.6.2 - resolution: "@polkadot/x-textencoder@npm:12.6.2" +"@polkadot/x-textencoder@npm:13.0.2": + version: 13.0.2 + resolution: "@polkadot/x-textencoder@npm:13.0.2" dependencies: - "@polkadot/x-global": 12.6.2 + "@polkadot/x-global": 13.0.2 tslib: ^2.6.2 - checksum: d3eacdc0eb2e1ef8b8132d52a1f1033be62bc64360753a117f2e6517ccf7c9cde628558bbd016a73836eacd91cb1e2ac382dce0ce9c8d32c2f7db3fcc8863911 + checksum: b2db5ab0fd94b8a13816f028f9fb52e0f00c43df4a727c01911902b5fc11bec476b02b92aee5a98adabf4696907e828752c6e0eb9bece79f0440675e4eb030c9 languageName: node linkType: hard @@ -6362,7 +6380,7 @@ __metadata: "@protobufs/google": ^0.0.10 "@protobufs/ibc": ^0.1.0 "@protobufs/tendermint": ^0.0.10 - "@subql/common": ^4.1.1 + "@subql/common": ^5.1.0 "@subql/types-cosmos": "workspace:*" "@subql/x-cosmology-telescope": ^1.4.14 "@types/bn.js": 4.11.6 @@ -6385,53 +6403,51 @@ __metadata: languageName: unknown linkType: soft -"@subql/common@npm:4.1.1, @subql/common@npm:^4.1.1": - version: 4.1.1 - resolution: "@subql/common@npm:4.1.1" +"@subql/common@npm:5.1.0, @subql/common@npm:^5.1.0": + version: 5.1.0 + resolution: "@subql/common@npm:5.1.0" dependencies: - "@subql/types-core": 0.10.0 + "@subql/types-core": 1.1.1 axios: ^0.28.0 class-transformer: ^0.5.1 - class-validator: ^0.14.0 - fs-extra: ^10.1.0 + class-validator: ^0.14.1 js-yaml: ^4.1.0 - reflect-metadata: ^0.1.13 - semver: ^7.5.2 - update-notifier: 5.1.0 - checksum: 2f578678b5af8190639ada7e2f22401b3ca7b7c7cab1bfdeb5860365c14e6c6a8724b02c95f1f8fedfcc01205d02d3de45cd486e2c3ee10ff5f898f973d6e0dc + reflect-metadata: ^0.1.14 + semver: ^7.6.3 + update-notifier: ^5.1.0 + checksum: 6b568f1c43ffe16991038393c2f9305dd502467f897b858f76e5be119dd6ae5b294624b1bec2d58d87a3ecbc8097927dda2fc87f8c96eecdb94101234dfcd2f9 languageName: node linkType: hard -"@subql/node-core@npm:^13.0.1": - version: 13.0.1 - resolution: "@subql/node-core@npm:13.0.1" +"@subql/node-core@npm:^14.1.1": + version: 14.1.1 + resolution: "@subql/node-core@npm:14.1.1" dependencies: - "@apollo/client": ^3.8.8 + "@apollo/client": ^3.11.2 "@nestjs/common": ^9.4.0 "@nestjs/event-emitter": ^2.0.0 "@nestjs/schedule": ^3.0.1 - "@subql/common": 4.1.1 + "@subql/common": 5.1.0 "@subql/testing": 2.2.1 - "@subql/types": 3.9.0 - "@subql/utils": 2.13.1 + "@subql/types": 3.11.1 + "@subql/utils": 2.14.0 "@willsoto/nestjs-prometheus": ^5.4.0 - async-lock: ^1.4.0 - async-mutex: ^0.4.0 + async-mutex: ^0.5.0 cron-converter: ^2.0.1 cross-fetch: ^3.1.6 - csv-stringify: ^6.4.5 - dayjs: ^1.10.7 + csv-stringify: ^6.5.1 + dayjs: ^1.11.12 lodash: ^4.17.21 lru-cache: 10.1.0 merkle-tools: ^1.4.1 - pg: ^8.11.5 - prom-client: ^14.0.1 + pg: ^8.12.0 + prom-client: ^15.1.3 source-map: ^0.7.4 - tar: ^6.2.1 + tar: ^7.4.3 toposort-class: ^1.0.1 vm2: ^3.9.19 yargs: ^16.2.0 - checksum: 6946a95cd4ec14c9d1a00ecb830a8d92174923db85b89ba340c76afa5fa96bc07c83f6051dbd87ccb65085f43093437ebd2e24ee9de4285a576f84f5e5e5cda3 + checksum: 82b831b01f3e12623835ebf8b1b999daf8d086911226dd21ad0db6438d1534993247de7af1aa1cc0ea391f4676dda3c16c747623d5f9cdcbc03992500d5bc5df languageName: node linkType: hard @@ -6451,9 +6467,8 @@ __metadata: "@nestjs/schedule": ^3.0.1 "@nestjs/schematics": ^9.2.0 "@nestjs/testing": ^9.4.0 - "@subql/common": ^4.1.1 "@subql/common-cosmos": "workspace:*" - "@subql/node-core": ^13.0.1 + "@subql/node-core": ^14.1.1 "@subql/types-cosmos": "workspace:*" "@types/express": ^4.17.13 "@types/jest": ^27.4.0 @@ -6484,16 +6499,14 @@ __metadata: languageName: node linkType: hard -"@subql/types-core@npm:0.10.0, @subql/types-core@npm:^0.10.0": - version: 0.10.0 - resolution: "@subql/types-core@npm:0.10.0" - dependencies: - package-json-type: ^1.0.3 - checksum: 952e25f69daa8b11a8949588c67df0e2d8f95660d8b963d00343c7e5e9788390dde05f76a890e7e366392fa6cf878f0c12be3b9f4fb270e967a7d722b3743fb3 +"@subql/types-core@npm:1.1.1, @subql/types-core@npm:^1.1.1": + version: 1.1.1 + resolution: "@subql/types-core@npm:1.1.1" + checksum: d804ba8f9a9a8bbce36e98ef3dd03e33602495e96ca8e04438c38b6631de102772b5f209de17d78657bcacc9c91f9af02dabd68edb8e6e24a2ca6e681e4636fc languageName: node linkType: hard -"@subql/types-core@npm:0.9.1, @subql/types-core@npm:^0.9.1": +"@subql/types-core@npm:^0.9.1": version: 0.9.1 resolution: "@subql/types-core@npm:0.9.1" dependencies: @@ -6509,40 +6522,37 @@ __metadata: "@cosmjs/cosmwasm-stargate": ^0.32.4 "@cosmjs/proto-signing": ^0.32.4 "@cosmjs/stargate": ^0.32.4 - "@subql/types-core": ^0.10.0 + "@subql/types-core": ^1.1.1 languageName: unknown linkType: soft -"@subql/types@npm:3.9.0": - version: 3.9.0 - resolution: "@subql/types@npm:3.9.0" +"@subql/types@npm:3.11.1": + version: 3.11.1 + resolution: "@subql/types@npm:3.11.1" dependencies: - "@subql/types-core": 0.9.1 + "@subql/types-core": 1.1.1 peerDependencies: - "@polkadot/api": ^11 - checksum: 3f44c8ade916b9957cb09ada9d78383df56b668c2fa5515576bca2bedb7db97760f47e8d87f0c3ce475ae12538bdff4e0d93a3ab998cf8919d199be81e6816aa + "@polkadot/api": ^12 + checksum: 35c9f2bd86dcddc0d5541f85b0332470da2c4f4cf8d3e60b7962c6746b5cf272bbeb0f2242b659c5bf4101702ac85087bed75c1dfd67084674367d0d0469af7d languageName: node linkType: hard -"@subql/utils@npm:2.13.1": - version: 2.13.1 - resolution: "@subql/utils@npm:2.13.1" +"@subql/utils@npm:2.14.0": + version: 2.14.0 + resolution: "@subql/utils@npm:2.14.0" dependencies: - "@polkadot/util": ^12.6.2 - "@polkadot/util-crypto": ^12.6.2 + "@polkadot/util": ^13.0.2 + "@polkadot/util-crypto": ^13.0.2 "@subql/x-sequelize": 6.32.0-0.0.4 - ansi-styles: ^6.1.0 chalk: ^4.1.2 - detect-port: ^1.3.0 - flatted: ^3.2.5 + detect-port: ^1.6.1 + flatted: ^3.3.1 graphql: ^15.8.0 graphql-tag: ^2.12.6 lodash: ^4.17.21 pino: ^6.13.3 - rotating-file-stream: ^3.0.2 - semver: ^7.5.2 - tar: ^6.2.1 - checksum: eab0f5d4933dc6c56bbadbd82235c37beeaa9789372187ff523e08b46b41ce39eff406cfd6dfb955e396e0183def56901ef52396fb5f778b1247762a7e95a439 + rotating-file-stream: ^3.2.3 + checksum: 0a56114494cb5e8c5dcf62e1d24fb7b2ba7b445472e61661ab9eec61df7a09449dd7251d78d6cd11a6da9939c5d54d2d57e16639b5d0986756513ab8810cf3e5 languageName: node linkType: hard @@ -6671,10 +6681,10 @@ __metadata: languageName: node linkType: hard -"@substrate/ss58-registry@npm:^1.44.0": - version: 1.48.0 - resolution: "@substrate/ss58-registry@npm:1.48.0" - checksum: f121284daae34f2976e3a5e0a7125373ac51f52e3d6b9bdd401b99b01bba49b3e1aa0379e500fd8b0701942d73c47dea896ef765228485a3d1637f988253fcf9 +"@substrate/ss58-registry@npm:^1.46.0": + version: 1.49.0 + resolution: "@substrate/ss58-registry@npm:1.49.0" + checksum: 917437915d5ba98c46c650dce2fbe1f6a7bbcf2a6fa058df2a751743c774db37d6b5dacab4c2ce8bdf9d52275b2d325fcc63f6f08d37e5428fa133ff72e19c56 languageName: node linkType: hard @@ -7251,7 +7261,14 @@ __metadata: languageName: node linkType: hard -"@types/validator@npm:^13.7.1, @types/validator@npm:^13.7.10": +"@types/validator@npm:^13.11.8": + version: 13.12.0 + resolution: "@types/validator@npm:13.12.0" + checksum: 1d814a4a9f8fbd01f834bf45215aa8111879e71045391eec8e8fda6a7acf71d8b7839a0d312098c2b9c8285963203dfb3e3680a41484d1e9b3d576f95b6d71c0 + languageName: node + linkType: hard + +"@types/validator@npm:^13.7.1": version: 13.11.1 resolution: "@types/validator@npm:13.11.1" checksum: 49e8b611e0b9a0cd645534fd5eeacc64c14ac2f11d7e91d3d8b891f7cf730bccb8a4b7466ac67f4c11e16531bc211a547b97314ca977dd5e58468a77bd0da735 @@ -8050,19 +8067,12 @@ __metadata: languageName: node linkType: hard -"async-lock@npm:^1.4.0": - version: 1.4.0 - resolution: "async-lock@npm:1.4.0" - checksum: a71ef9e50dc448a8e8dd6482494210d7b6f556d4815612b1fed5662216cd756c2c8fb9c2153a9a66ea90b36ba7fb18aa568d11813aadc23feb4c5b0b188df614 - languageName: node - linkType: hard - -"async-mutex@npm:^0.4.0": - version: 0.4.0 - resolution: "async-mutex@npm:0.4.0" +"async-mutex@npm:^0.5.0": + version: 0.5.0 + resolution: "async-mutex@npm:0.5.0" dependencies: tslib: ^2.4.0 - checksum: 813a71728b35a4fbfd64dba719f04726d9133c67b577fcd951b7028c4a675a13ee34e69beb82d621f87bf81f5d4f135c4c44be0448550c7db728547244ef71fc + checksum: be1587f4875f3bb15e34e9fcce82eac2966daef4432c8d0046e61947fb9a1b95405284601bc7ce4869319249bc07c75100880191db6af11d1498931ac2a2f9ea languageName: node linkType: hard @@ -9052,6 +9062,13 @@ __metadata: languageName: node linkType: hard +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: fd73a4bab48b79e66903fe1cafbdc208956f41ea4f856df883d0c7277b7ab29fd33ee65f93b2ec9192fc0169238f2f8307b7735d27c155821d886b84aa97aa8d + languageName: node + linkType: hard + "ci-info@npm:^2.0.0": version: 2.0.0 resolution: "ci-info@npm:2.0.0" @@ -9097,14 +9114,14 @@ __metadata: languageName: node linkType: hard -"class-validator@npm:^0.14.0": - version: 0.14.0 - resolution: "class-validator@npm:0.14.0" +"class-validator@npm:^0.14.1": + version: 0.14.1 + resolution: "class-validator@npm:0.14.1" dependencies: - "@types/validator": ^13.7.10 - libphonenumber-js: ^1.10.14 - validator: ^13.7.0 - checksum: f62e4a0ad24cee68f4b2bc70d32b96de90cb598f96bde362b4dbf4234151af8eb6ae225458312a38fc49fa3959844cf61c60e731a8205e9a570454cff8de2710 + "@types/validator": ^13.11.8 + libphonenumber-js: ^1.10.53 + validator: ^13.9.0 + checksum: bea808145c81ba3b185e1174d92f97a2d6ffef0558261217042552e9027222eadb9a9731a4418a07eaaa72ac334347df7a1079ff48eaadaa3ee6848a6a88995c languageName: node linkType: hard @@ -9627,13 +9644,6 @@ __metadata: languageName: node linkType: hard -"csv-stringify@npm:^6.4.5": - version: 6.4.5 - resolution: "csv-stringify@npm:6.4.5" - checksum: 4da6ceb911735294c970880f295afc8f5e140702bb3f239f2cee2feb7f88f989e25238bae59558ad6b6f16adeb9407e74259f614ed3a9d49d06656aaac4d222e - languageName: node - linkType: hard - "csv-stringify@npm:^6.4.6": version: 6.4.6 resolution: "csv-stringify@npm:6.4.6" @@ -9641,6 +9651,13 @@ __metadata: languageName: node linkType: hard +"csv-stringify@npm:^6.5.1": + version: 6.5.1 + resolution: "csv-stringify@npm:6.5.1" + checksum: 5eb8167ee944f5328c53c733d8c4b1eea88fb9e510abec430e2fcb4be6c4ce008b92e90da7825d424fe74d22c85405add7f89b9dcf82ffe2bf0a1cf31536057a + languageName: node + linkType: hard + "csv@npm:^6.0.5": version: 6.3.8 resolution: "csv@npm:6.3.8" @@ -9670,10 +9687,10 @@ __metadata: languageName: node linkType: hard -"dayjs@npm:^1.10.7": - version: 1.11.9 - resolution: "dayjs@npm:1.11.9" - checksum: a4844d83dc87f921348bb9b1b93af851c51e6f71fa259604809cfe1b49d1230e6b0212dab44d1cb01994c096ad3a77ea1cf18fa55154da6efcc9d3610526ac38 +"dayjs@npm:^1.11.12": + version: 1.11.12 + resolution: "dayjs@npm:1.11.12" + checksum: 40a4f67c2df3af125ae0ddec68d3a6d806d3009a7414bf45479aaf82f1dd82f3e139e6642e72391abccc37488897830c56afcabb4c819014130d283644df8128 languageName: node linkType: hard @@ -9902,16 +9919,16 @@ __metadata: languageName: node linkType: hard -"detect-port@npm:^1.3.0": - version: 1.5.1 - resolution: "detect-port@npm:1.5.1" +"detect-port@npm:^1.6.1": + version: 1.6.1 + resolution: "detect-port@npm:1.6.1" dependencies: address: ^1.0.1 debug: 4 bin: detect: bin/detect-port.js detect-port: bin/detect-port.js - checksum: b48da9340481742547263d5d985e65d078592557863402ecf538511735e83575867e94f91fe74405ea19b61351feb99efccae7e55de9a151d5654e3417cea05b + checksum: 0429fa423abb15fc453face64e6ffa406e375f51f5b4421a7886962e680dc05824eae9b6ee4594ba273685c3add415ad00982b5da54802ac3de6f846173284c3 languageName: node linkType: hard @@ -11112,13 +11129,20 @@ __metadata: languageName: node linkType: hard -"flatted@npm:^3.2.5, flatted@npm:^3.2.7": +"flatted@npm:^3.2.7": version: 3.2.9 resolution: "flatted@npm:3.2.9" checksum: f14167fbe26a9d20f6fca8d998e8f1f41df72c8e81f9f2c9d61ed2bea058248f5e1cbd05e7f88c0e5087a6a0b822a1e5e2b446e879f3cfbe0b07ba2d7f80b026 languageName: node linkType: hard +"flatted@npm:^3.3.1": + version: 3.3.1 + resolution: "flatted@npm:3.3.1" + checksum: 85ae7181650bb728c221e7644cbc9f4bf28bc556f2fc89bb21266962bdf0ce1029cc7acc44bb646cd469d9baac7c317f64e841c4c4c00516afa97320cdac7f94 + languageName: node + linkType: hard + "follow-redirects@npm:^1.14.0, follow-redirects@npm:^1.14.4, follow-redirects@npm:^1.14.7, follow-redirects@npm:^1.14.9, follow-redirects@npm:^1.15.0, follow-redirects@npm:^1.15.6": version: 1.15.6 resolution: "follow-redirects@npm:1.15.6" @@ -11524,6 +11548,22 @@ __metadata: languageName: node linkType: hard +"glob@npm:^10.3.7": + version: 10.4.5 + resolution: "glob@npm:10.4.5" + dependencies: + foreground-child: ^3.1.0 + jackspeak: ^3.1.2 + minimatch: ^9.0.4 + minipass: ^7.1.2 + package-json-from-dist: ^1.0.0 + path-scurry: ^1.11.1 + bin: + glob: dist/esm/bin.mjs + checksum: 0bc725de5e4862f9f387fd0f2b274baf16850dcd2714502ccf471ee401803997983e2c05590cb65f9675a3c6f2a58e7a53f9e365704108c6ad3cbf1d60934c4a + languageName: node + linkType: hard + "glob@npm:^7.0.0, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": version: 7.2.3 resolution: "glob@npm:7.2.3" @@ -12642,6 +12682,19 @@ __metadata: languageName: node linkType: hard +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" + dependencies: + "@isaacs/cliui": ^8.0.2 + "@pkgjs/parseargs": ^0.11.0 + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: be31027fc72e7cc726206b9f560395604b82e0fddb46c4cbf9f97d049bcef607491a5afc0699612eaa4213ca5be8fd3e1e7cd187b3040988b65c9489838a7c00 + languageName: node + linkType: hard + "jake@npm:^10.8.5": version: 10.8.7 resolution: "jake@npm:10.8.7" @@ -13503,10 +13556,10 @@ __metadata: languageName: node linkType: hard -"libphonenumber-js@npm:^1.10.14": - version: 1.10.44 - resolution: "libphonenumber-js@npm:1.10.44" - checksum: ada1bc135ce4b77eaa859a2c39d5b64cf142a76d203cb52f8f0e3097c30acba8a8faa4c6d975968333216d48448c589eb640b829ae5e95de706415684791cad9 +"libphonenumber-js@npm:^1.10.53": + version: 1.11.5 + resolution: "libphonenumber-js@npm:1.11.5" + checksum: 74f4b1b138ae4d0da0108cd95ad24ecb9088a4eb920a7934bfc1508bed8358c772ad80c8cbef708cadebb4f48bb8b3210e2728c3bb0009b143a35b1a680d8a19 languageName: node linkType: hard @@ -13744,6 +13797,13 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^10.2.0": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 6476138d2125387a6d20f100608c2583d415a4f64a0fecf30c9e2dda976614f09cad4baa0842447bd37dd459a7bd27f57d9d8f8ce558805abd487c583f3d774a + languageName: node + linkType: hard + "lru-cache@npm:^5.1.1": version: 5.1.1 resolution: "lru-cache@npm:5.1.1" @@ -14095,6 +14155,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:^9.0.4": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" + dependencies: + brace-expansion: ^2.0.1 + checksum: 2c035575eda1e50623c731ec6c14f65a85296268f749b9337005210bb2b34e2705f8ef1a358b188f69892286ab99dc42c8fb98a57bde55c8d81b3023c19cea28 + languageName: node + linkType: hard + "minimist@npm:1.2.6": version: 1.2.6 resolution: "minimist@npm:1.2.6" @@ -14190,6 +14259,13 @@ __metadata: languageName: node linkType: hard +"minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 2bfd325b95c555f2b4d2814d49325691c7bee937d753814861b0b49d5edcda55cbbf22b6b6a60bb91eddac8668771f03c5ff647dcd9d0f798e9548b9cdc46ee3 + languageName: node + linkType: hard + "minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": version: 2.1.2 resolution: "minizlib@npm:2.1.2" @@ -14200,6 +14276,16 @@ __metadata: languageName: node linkType: hard +"minizlib@npm:^3.0.1": + version: 3.0.1 + resolution: "minizlib@npm:3.0.1" + dependencies: + minipass: ^7.0.4 + rimraf: ^5.0.5 + checksum: da0a53899252380475240c587e52c824f8998d9720982ba5c4693c68e89230718884a209858c156c6e08d51aad35700a3589987e540593c36f6713fe30cd7338 + languageName: node + linkType: hard + "mkdirp@npm:1.0.4, mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" @@ -14229,6 +14315,15 @@ __metadata: languageName: node linkType: hard +"mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 972deb188e8fb55547f1e58d66bd6b4a3623bf0c7137802582602d73e6480c1c2268dcbafbfb1be466e00cc7e56ac514d7fd9334b7cf33e3e2ab547c16f83a8d + languageName: node + linkType: hard + "module-error@npm:^1.0.1, module-error@npm:^1.0.2": version: 1.0.2 resolution: "module-error@npm:1.0.2" @@ -14959,6 +15054,13 @@ __metadata: languageName: node linkType: hard +"package-json-from-dist@npm:^1.0.0": + version: 1.0.0 + resolution: "package-json-from-dist@npm:1.0.0" + checksum: ac706ec856a5a03f5261e4e48fa974f24feb044d51f84f8332e2af0af04fbdbdd5bbbfb9cbbe354190409bc8307c83a9e38c6672c3c8855f709afb0006a009ea + languageName: node + linkType: hard + "package-json-type@npm:^1.0.3": version: 1.0.3 resolution: "package-json-type@npm:1.0.3" @@ -15138,6 +15240,16 @@ __metadata: languageName: node linkType: hard +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: ^10.2.0 + minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 + checksum: 890d5abcd593a7912dcce7cf7c6bf7a0b5648e3dee6caf0712c126ca0a65c7f3d7b9d769072a4d1baf370f61ce493ab5b038d59988688e0c5f3f646ee3c69023 + languageName: node + linkType: hard + "path-to-regexp@npm:0.1.7": version: 0.1.7 resolution: "path-to-regexp@npm:0.1.7" @@ -15229,9 +15341,9 @@ __metadata: languageName: node linkType: hard -"pg@npm:^8.11.5": - version: 8.11.5 - resolution: "pg@npm:8.11.5" +"pg@npm:^8.12.0": + version: 8.12.0 + resolution: "pg@npm:8.12.0" dependencies: pg-cloudflare: ^1.1.1 pg-connection-string: ^2.6.4 @@ -15247,7 +15359,7 @@ __metadata: peerDependenciesMeta: pg-native: optional: true - checksum: 2317bcc7080f116ced761620b8cbc98175080cacf1e8a894e14f468bcd9c996a7bd5ef36c9db91d380a772667508eb72c42b10206a90cd82b0b4a7669a19f9e4 + checksum: 8450b61c787f360e22182aa853548f834f13622714868d0789a60f63743d66ae28930cdca0ef0251bfc89b04679e9074c1398f172c2937bf59b5a360337f4149 languageName: node linkType: hard @@ -15477,7 +15589,7 @@ __metadata: languageName: node linkType: hard -"prom-client@npm:^14.0.1, prom-client@npm:^14.1.0": +"prom-client@npm:^14.1.0": version: 14.2.0 resolution: "prom-client@npm:14.2.0" dependencies: @@ -15486,6 +15598,16 @@ __metadata: languageName: node linkType: hard +"prom-client@npm:^15.1.3": + version: 15.1.3 + resolution: "prom-client@npm:15.1.3" + dependencies: + "@opentelemetry/api": ^1.4.0 + tdigest: ^0.1.1 + checksum: 9a57f3c16f39aa9a03da021883a4231c0bb56fc9d02f6ef9c28f913379f275640a5a33b98d9946ebf53c71011a29b580e9d2d6e3806cb1c229a3f59c65993968 + languageName: node + linkType: hard + "promise-retry@npm:^2.0.1": version: 2.0.1 resolution: "promise-retry@npm:2.0.1" @@ -15842,6 +15964,13 @@ __metadata: languageName: node linkType: hard +"reflect-metadata@npm:^0.1.14": + version: 0.1.14 + resolution: "reflect-metadata@npm:0.1.14" + checksum: 155ad339319cec3c2d9d84719f730f8b6a6cd2a074733ec29dbae6c89d48a2914c7d07a2350212594f3aae160fa4da4f903e6512f27ceaf968443a7c692bcad0 + languageName: node + linkType: hard + "regenerate-unicode-properties@npm:^10.1.0": version: 10.1.1 resolution: "regenerate-unicode-properties@npm:10.1.1" @@ -15935,6 +16064,21 @@ __metadata: languageName: node linkType: hard +"rehackt@npm:^0.1.0": + version: 0.1.0 + resolution: "rehackt@npm:0.1.0" + peerDependencies: + "@types/react": "*" + react: "*" + peerDependenciesMeta: + "@types/react": + optional: true + react: + optional: true + checksum: 2c3bcd72524bf47672640265e79cba785e0e6837b9b385ccb0a3ea7d00f55a439d9aed3e0ae71e991d88e0d4b2b3158457c92e75fff5ebf99cd46e280068ddeb + languageName: node + linkType: hard + "remark-parse@npm:^9.0.0": version: 9.0.0 resolution: "remark-parse@npm:9.0.0" @@ -16134,6 +16278,17 @@ __metadata: languageName: node linkType: hard +"rimraf@npm:^5.0.5": + version: 5.0.10 + resolution: "rimraf@npm:5.0.10" + dependencies: + glob: ^10.3.7 + bin: + rimraf: dist/esm/bin.mjs + checksum: 50e27388dd2b3fa6677385fc1e2966e9157c89c86853b96d02e6915663a96b7ff4d590e14f6f70e90f9b554093aa5dbc05ac3012876be558c06a65437337bc05 + languageName: node + linkType: hard + "ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1, ripemd160@npm:^2.0.2": version: 2.0.2 resolution: "ripemd160@npm:2.0.2" @@ -16144,10 +16299,10 @@ __metadata: languageName: node linkType: hard -"rotating-file-stream@npm:^3.0.2": - version: 3.1.1 - resolution: "rotating-file-stream@npm:3.1.1" - checksum: 8224146c431003caf751d8484322a95d0da5d53e4e3bc5fb97e6bff483757bcf5760fa117b761ffbb082d407e08f1c892167a8947fb47d0ef4ad6ab2f4c40c0a +"rotating-file-stream@npm:^3.2.3": + version: 3.2.3 + resolution: "rotating-file-stream@npm:3.2.3" + checksum: 9ccfb04ee9763c0c9ddce5aaa93bf17268f3bb672ae3b0f98a2eca718ce5d9d293590df6071386660a75dcb047e259190ed5cacb83090e8bda55ef36848e2e33 languageName: node linkType: hard @@ -16337,7 +16492,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.2, semver@npm:^7.5.3": +"semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.3": version: 7.5.4 resolution: "semver@npm:7.5.4" dependencies: @@ -16359,6 +16514,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.6.3": + version: 7.6.3 + resolution: "semver@npm:7.6.3" + bin: + semver: bin/semver.js + checksum: 4110ec5d015c9438f322257b1c51fe30276e5f766a3f64c09edd1d7ea7118ecbc3f379f3b69032bacf13116dc7abc4ad8ce0d7e2bd642e26b0d271b56b61a7d8 + languageName: node + linkType: hard + "semver@npm:~7.0.0": version: 7.0.0 resolution: "semver@npm:7.0.0" @@ -16998,7 +17162,7 @@ __metadata: ts-loader: ^9.2.6 ts-node: ^10.4.0 tsconfig-paths: ^3.12.0 - typescript: ^5.5.3 + typescript: ^5.5.4 languageName: unknown linkType: soft @@ -17091,7 +17255,7 @@ __metadata: languageName: node linkType: hard -"tar@npm:^6.1.11, tar@npm:^6.1.2, tar@npm:^6.2.1": +"tar@npm:^6.1.11, tar@npm:^6.1.2": version: 6.2.1 resolution: "tar@npm:6.2.1" dependencies: @@ -17105,6 +17269,20 @@ __metadata: languageName: node linkType: hard +"tar@npm:^7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" + dependencies: + "@isaacs/fs-minipass": ^4.0.0 + chownr: ^3.0.0 + minipass: ^7.1.2 + minizlib: ^3.0.1 + mkdirp: ^3.0.1 + yallist: ^5.0.0 + checksum: 8485350c0688331c94493031f417df069b778aadb25598abdad51862e007c39d1dd5310702c7be4a6784731a174799d8885d2fde0484269aea205b724d7b2ffa + languageName: node + linkType: hard + "tdigest@npm:^0.1.1": version: 0.1.2 resolution: "tdigest@npm:0.1.2" @@ -17647,23 +17825,23 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.5.3": - version: 5.5.3 - resolution: "typescript@npm:5.5.3" +"typescript@npm:^5.5.4": + version: 5.5.4 + resolution: "typescript@npm:5.5.4" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 4b4f14313484d5c86064d04ba892544801fa551f5cf72719b540b498056fec7fc192d0bbdb2ba1448e759b1548769956da9e43e7c16781e8d8856787b0575004 + checksum: b309040f3a1cd91c68a5a58af6b9fdd4e849b8c42d837b2c2e73f9a4f96a98c4f1ed398a9aab576ee0a4748f5690cf594e6b99dbe61de7839da748c41e6d6ca8 languageName: node linkType: hard -"typescript@patch:typescript@^5.5.3#~builtin": - version: 5.5.3 - resolution: "typescript@patch:typescript@npm%3A5.5.3#~builtin::version=5.5.3&hash=493e53" +"typescript@patch:typescript@^5.5.4#~builtin": + version: 5.5.4 + resolution: "typescript@patch:typescript@npm%3A5.5.4#~builtin::version=5.5.4&hash=493e53" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 6853be4607706cc1ad2f16047cf1cd72d39f79acd5f9716e1d23bc0e462c7f59be7458fe58a21665e7657a05433d7ab8419d093a5a4bd5f3a33f879b35d2769b + checksum: fc52962f31a5bcb716d4213bef516885e4f01f30cea797a831205fc9ef12b405a40561c40eae3127ab85ba1548e7df49df2bcdee6b84a94bfbe3a0d7eff16b14 languageName: node linkType: hard @@ -17943,7 +18121,7 @@ __metadata: languageName: node linkType: hard -"update-notifier@npm:5.1.0": +"update-notifier@npm:^5.1.0": version: 5.1.0 resolution: "update-notifier@npm:5.1.0" dependencies: @@ -18082,6 +18260,13 @@ __metadata: languageName: node linkType: hard +"validator@npm:^13.9.0": + version: 13.12.0 + resolution: "validator@npm:13.12.0" + checksum: fb8f070724770b1449ea1a968605823fdb112dbd10507b2802f8841cda3e7b5c376c40f18c84e6a7b59de320a06177e471554101a85f1fa8a70bac1a84e48adf + languageName: node + linkType: hard + "vary@npm:^1, vary@npm:~1.1.2": version: 1.1.2 resolution: "vary@npm:1.1.2" @@ -18404,6 +18589,13 @@ __metadata: languageName: node linkType: hard +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: eba51182400b9f35b017daa7f419f434424410691bbc5de4f4240cc830fdef906b504424992700dc047f16b4d99100a6f8b8b11175c193f38008e9c96322b6a5 + languageName: node + linkType: hard + "yaml@npm:^1.10.2": version: 1.10.2 resolution: "yaml@npm:1.10.2"