UNPKG

@airgap/serializer

Version:

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

26 lines (25 loc) 1.41 kB
import { ProtocolSymbols } from '@airgap/coinlib-core/utils/ProtocolSymbols'; import { IACMessageDefinitionObject } from './message'; import { SchemaInfo } from './schemas/schema'; import { TransactionValidator, TransactionValidatorFactory } from './validators/transactions.validator'; export declare enum IACPayloadType { FULL = 0, CHUNKED = 1 } export declare class Serializer { private readonly schemas; private readonly validators; private static instance; static getInstance(): Serializer; private constructor(); static addSchema(schemaId: number, schema: SchemaInfo, protocol?: ProtocolSymbols): void; addSchema(schemaId: number, schema: SchemaInfo, protocol?: ProtocolSymbols): void; static getSchema(schemaId: number, protocol?: ProtocolSymbols): SchemaInfo; getSchema(schemaId: number, protocol?: ProtocolSymbols): SchemaInfo; private static getSchemaName; static addValidator(protocol: ProtocolSymbols, validator: TransactionValidatorFactory): void; addValidator(protocol: ProtocolSymbols, validator: TransactionValidatorFactory): void; serialize(messages: IACMessageDefinitionObject[], singleChunkSize?: number, multiChunkSize?: number): Promise<string[]>; deserialize(data: string[]): Promise<IACMessageDefinitionObject[]>; serializationValidatorByProtocolIdentifier(protocolIdentifier: ProtocolSymbols): TransactionValidator; }