@secux/protocol-hdkey
Version:
SecuX Hardware Wallet hdkey protocol API
37 lines (36 loc) • 2.35 kB
TypeScript
/// <reference types="node" />
import Transport from '@secux/transport';
import { ISignature, IPublicKeyData, IPublicKey, Signature } from './interface';
export declare enum EllipticCurve {
SECP256K1 = 0,
ED25519 = 1
}
export { ISignature, IPublicKeyData, IPublicKey, Signature };
declare type SignTrxOptionType = {
inputId?: number;
balance?: string;
address?: string;
ellipticCurve?: EllipticCurve;
isToken?: boolean;
showConfirm?: boolean;
showMessage?: string;
transactionType?: number;
};
export declare const toCompressed: (array: Buffer) => Buffer;
export declare class ProtocolHDKey {
transport: Transport;
constructor(transport: Transport);
trxPrepare(path: string, trxHash: Buffer, { inputId, balance, }?: SignTrxOptionType): Promise<void>;
trxPrepareNew(path: string, trxHex: Buffer, { inputId, isToken }?: SignTrxOptionType): Promise<void>;
trxPrepareGeneric(path: string, trxHash: Buffer, { inputId, balance, ellipticCurve }?: SignTrxOptionType): Promise<void>;
trxBigin(amount: string | undefined, outputAddress: string | undefined, showConfirm: boolean | undefined, // false: confirm page, no message
showMessage: string | undefined): Promise<void>;
trxSign(inputId: number): Promise<ISignature>;
trxFinish(): Promise<void>;
getPublicKey(path: string, isCompressed?: boolean): Promise<IPublicKeyData>;
getPublicKeyGeneric(path: string, ellipticCurve?: number): Promise<IPublicKey>;
signTx(paths: string[] | string, trxHex: Buffer[] | Buffer, { balance, address, isToken, showConfirm, showMessage }?: SignTrxOptionType): Promise<Signature | Signature[]>;
signRawTransaction(paths: Array<string> | string, preparedTransaction: Array<Buffer> | Buffer, { balance, address, ellipticCurve, showConfirm, showMessage }?: SignTrxOptionType): Promise<Signature | Signature[]>;
signTransaction(paths: Array<string> | string, preparedTransaction: Array<Buffer> | Buffer, { balance, address, ellipticCurve, showConfirm, showMessage, transactionType }?: SignTrxOptionType): Promise<Signature | Signature[]>;
signGenericTransaction(paths: Array<string> | string, preparedTransaction: Array<Buffer> | Buffer, { balance, address, ellipticCurve, showConfirm, showMessage, transactionType }?: SignTrxOptionType): Promise<Signature | Signature[]>;
}