airgap-coin-lib
Version:
The airgap-coin-lib is a protocol agnostic library to prepare, sign and broadcast cryptocurrency transactions.
53 lines (52 loc) • 3.03 kB
TypeScript
/// <reference types="node" />
import { ProtocolSymbols } from '../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 { SignedAeternityTransaction } from './schemas/definitions/signed-transaction-aeternity';
import { SignedBitcoinTransaction } from './schemas/definitions/signed-transaction-bitcoin';
import { SignedCosmosTransaction } from './schemas/definitions/signed-transaction-cosmos';
import { SignedEthereumTransaction } from './schemas/definitions/signed-transaction-ethereum';
import { SignedSubstrateTransaction } from './schemas/definitions/signed-transaction-substrate';
import { SignedTezosTransaction } from './schemas/definitions/signed-transaction-tezos';
import { UnsignedAeternityTransaction } from './schemas/definitions/unsigned-transaction-aeternity';
import { UnsignedBitcoinTransaction } from './schemas/definitions/unsigned-transaction-bitcoin';
import { UnsignedEthereumTransaction } from './schemas/definitions/unsigned-transaction-ethereum';
import { UnsignedSubstrateTransaction } from './schemas/definitions/unsigned-transaction-substrate';
import { UnsignedTezosTransaction } from './schemas/definitions/unsigned-transaction-tezos';
import { UnsignedCosmosTransaction } from './types';
import { RLPData } from './utils/toBuffer';
export declare type IACMessages = AccountShareResponse | MessageSignRequest | MessageSignResponse | UnsignedTezosTransaction | UnsignedAeternityTransaction | UnsignedBitcoinTransaction | UnsignedCosmosTransaction | UnsignedEthereumTransaction | UnsignedSubstrateTransaction | SignedTezosTransaction | SignedAeternityTransaction | SignedBitcoinTransaction | SignedCosmosTransaction | SignedEthereumTransaction | SignedSubstrateTransaction;
export interface IACMessageDefinitionObject {
id: string;
type: IACMessageType;
protocol: ProtocolSymbols;
payload: IACMessages;
}
export interface MessageDefinitionArray {
[0]: Buffer;
[1]: Buffer;
[2]: Buffer;
[3]: Buffer;
[4]: Buffer;
}
export declare class Message implements IACMessageDefinitionObject {
private readonly version;
private readonly schema;
readonly id: string;
readonly type: IACMessageType;
readonly protocol: ProtocolSymbols;
readonly payload: IACMessages;
constructor(type: IACMessageType, protocol: ProtocolSymbols, payload: IACMessages, id?: string, version?: string);
asJson(): IACMessageDefinitionObject;
asArray(): RLPData;
static fromDecoded(object: IACMessageDefinitionObject): Message;
static fromEncoded(buf: MessageDefinitionArray): Message;
private static parseVersion;
private static parseType;
private static parseProtocol;
private static parseId;
private static parsePayload;
private static validateProperty;
}