UNPKG

@airgap/serializer

Version:

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

43 lines (42 loc) 1.98 kB
import { ProtocolSymbols } from '@airgap/coinlib-core/utils/ProtocolSymbols'; import { IACMessageType } from './interfaces'; import { AccountShareResponse } from './schemas/definitions/account-share-response'; import { MessageSignRequest } from './schemas/definitions/message-sign-request'; import { MessageSignResponse } from './schemas/definitions/message-sign-response'; import { SerializerV3 } from './serializer'; import { TransactionSignRequest } from './transactions/transaction-sign-request'; import { TransactionSignResponse } from './transactions/transaction-sign-response'; import { CBORData } from './utils/toBuffer'; export declare type IACMessages = AccountShareResponse | MessageSignRequest | MessageSignResponse | TransactionSignRequest | TransactionSignResponse; export interface IACMessageDefinitionObjectV3 { id: number; type: IACMessageType; protocol: ProtocolSymbols; payload: IACMessages; } export declare type MessageDefinitionArray = [ number, number, ProtocolSymbols, number, CBORData ]; export declare function isMessageDefinitionArray(value: unknown): value is MessageDefinitionArray; export declare class Message implements IACMessageDefinitionObjectV3 { private readonly version; readonly id: number; readonly type: IACMessageType; readonly protocol: ProtocolSymbols; readonly payload: IACMessages; constructor(type: IACMessageType, protocol: ProtocolSymbols, payload: IACMessages, id?: number, version?: number); asJson(): IACMessageDefinitionObjectV3; asArray(serializer?: SerializerV3): MessageDefinitionArray; static fromDecoded(object: IACMessageDefinitionObjectV3): Message; static fromEncoded(buf: MessageDefinitionArray, serializer?: SerializerV3): Message; private static validateVersion; private static validateType; private static validateProtocol; private static validateId; private static validatePayload; private static validateProperty; }