@yubing744/rooch-sdk
Version:
40 lines (39 loc) • 1.2 kB
TypeScript
import type { PublicKey } from './publickey';
import { SignatureScheme } from './signature';
export declare const PRIVATE_KEY_SIZE = 32;
export declare const LEGACY_PRIVATE_KEY_SIZE = 64;
export type ExportedKeypair = {
schema: SignatureScheme;
privateKey: string;
};
export declare abstract class BaseSigner {
abstract sign(bytes: Uint8Array): Promise<Uint8Array>;
signMessage(bytes: Uint8Array): Promise<{
signature: Uint8Array;
bytes: Uint8Array;
}>;
signMessageWithHashed(bytes: Uint8Array): Promise<{
signature: Uint8Array;
bytes: Uint8Array;
}>;
toRoochAddress(): string;
/**
* Return the signature for the data.
* Prefer the async verion {@link sign}, as this method will be deprecated in a future release.
*/
abstract signData(data: Uint8Array): Uint8Array;
/**
* Get the key scheme of the keypair: Secp256k1 or ED25519
*/
abstract getKeyScheme(): SignatureScheme;
/**
* The public key for this keypair
*/
abstract getPublicKey(): PublicKey;
}
/**
* TODO: Document
*/
export declare abstract class Keypair extends BaseSigner {
abstract export(): ExportedKeypair;
}