airgap-coin-lib
Version:
The airgap-coin-lib is a protocol agnostic library to prepare, sign and broadcast cryptocurrency transactions.
34 lines (33 loc) • 1.39 kB
TypeScript
/// <reference types="node" />
import { ProtocolSymbols } from '../../utils/ProtocolSymbols';
import { SerializedSyncProtocolSignedTransaction, SignedTransaction } from './signed-transaction.serializer';
import { SerializedSyncProtocolTransaction, UnsignedTransaction } from './unsigned-transaction.serializer';
import { SerializedSyncProtocolWalletSync, SyncWalletRequest } from './wallet-sync.serializer';
export declare enum SyncProtocolKeys {
VERSION = 0,
TYPE = 1,
PROTOCOL = 2,
PAYLOAD = 3
}
export declare enum EncodedType {
UNSIGNED_TRANSACTION = 0,
SIGNED_TRANSACTION = 1,
WALLET_SYNC = 2
}
export declare type SerializedSyncProtocolPayload = SerializedSyncProtocolTransaction | SerializedSyncProtocolWalletSync | SerializedSyncProtocolSignedTransaction;
export interface SerializedSyncProtocol extends Array<Buffer | SerializedSyncProtocolPayload> {
[0]: Buffer;
[1]: Buffer;
[2]: Buffer;
[3]: SerializedSyncProtocolPayload;
}
export interface DeserializedSyncProtocol {
version?: number;
type: EncodedType;
protocol: ProtocolSymbols;
payload: UnsignedTransaction | SyncWalletRequest | SignedTransaction;
}
export declare class SyncProtocolUtils {
serialize(deserializedSyncProtocol: DeserializedSyncProtocol): Promise<string>;
deserialize(serializedSyncProtocol: string): Promise<DeserializedSyncProtocol>;
}