micro-key-producer
Version:
Produces secure passwords & keys for WebCrypto, SSH, PGP, SLIP10, OTP and many others
44 lines • 1.58 kB
TypeScript
/** SLIP-0010 master secret label for ed25519 keys. */
export declare const MASTER_SECRET: Uint8Array;
/** Hardened child index offset. */
export declare const HARDENED_OFFSET: number;
interface HDKeyOpt {
depth?: number;
index?: number;
parentFingerprint?: number;
chainCode: Uint8Array;
privateKey: Uint8Array;
}
/**
* HD key for ed25519, SLIP-0010 format.
* @param opt - Internal constructor options for derived keys: depth, child index, parent fingerprint, chain code, and private key.
* @example
* Start from a master seed, then derive the hardened child path you need.
* ```ts
* import { randomBytes } from '@noble/hashes/utils.js';
* import { HDKey } from 'micro-key-producer/slip10.js';
* const seed = randomBytes(32);
* HDKey.fromMasterSeed(seed).derive("m/0'").fingerprintHex;
* ```
*/
export declare class HDKey {
get publicKeyRaw(): Uint8Array;
get publicKey(): Uint8Array;
get pubHash(): Uint8Array;
get fingerprint(): number;
get fingerprintHex(): string;
get parentFingerprintHex(): string;
static fromMasterSeed(seed: Uint8Array): HDKey;
readonly depth: number;
readonly index: number;
readonly chainCode: Uint8Array;
readonly parentFingerprint: number;
readonly privateKey: Uint8Array;
constructor(opt: HDKeyOpt);
derive(path: string, forceHardened?: boolean): HDKey;
deriveChild(index: number): HDKey;
sign(message: Uint8Array): Uint8Array;
verify(message: Uint8Array, signature: Uint8Array): boolean;
}
export default HDKey;
//# sourceMappingURL=slip10.d.ts.map