@airgap/serializer
Version:
The @airgap/serializer provides serializers used in AirGap applications.
24 lines (23 loc) • 1.38 kB
TypeScript
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;
}