UNPKG

@airgap/serializer

Version:

The @airgap/serializer provides serializers used in AirGap applications.

24 lines (23 loc) 1.38 kB
import { ProtocolSymbols } from '@airgap/coinlib-core/utils/ProtocolSymbols'; import { IACMessageDefinitionObjectV3 } from './message'; import { SchemaInfo } from './schemas/schema'; import { TransactionValidator, TransactionValidatorFactory } from './validators/transactions.validator'; export declare class SerializerV3 { private readonly schemas; private readonly validators; private readonly supportedProtocols; private static instance; static getInstance(): SerializerV3; private constructor(); static addSchema(schemaId: number, schema: SchemaInfo, protocol?: ProtocolSymbols): void; addSchema(schemaId: number, schema: SchemaInfo, protocol?: ProtocolSymbols): void; static getSchemas(schemaId: number, protocol?: ProtocolSymbols): SchemaInfo[]; getSchemas(schemaId: number, protocol?: ProtocolSymbols): SchemaInfo[]; private static getSchemaName; static addValidator(protocol: ProtocolSymbols, validator: TransactionValidatorFactory): void; addValidator(protocol: ProtocolSymbols, validator: TransactionValidatorFactory): void; getSupportedProtocols(): Set<string>; serialize(messages: IACMessageDefinitionObjectV3[]): Promise<string>; deserialize(data: string): Promise<IACMessageDefinitionObjectV3[]>; serializationValidatorByProtocolIdentifier(protocolIdentifier: ProtocolSymbols): TransactionValidator; }