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