@taquito/signer
Version:
Software signer implementations and signing utilities for Taquito.
50 lines (49 loc) • 1.67 kB
TypeScript
import { ExtendedPrivateKey } from './types';
import BN from 'bn.js';
export type CurveName = 'p256' | 'secp256k1';
export declare class PrivateKey implements ExtendedPrivateKey {
readonly priv: {
curve: CurveName;
secretKey: BN;
};
readonly chainCode: Uint8Array;
readonly keyPair: {
curve: CurveName;
secretKey: BN;
publicKey: Uint8Array;
};
/**
*
* @param priv { secretKey: BN, curve: 'p256' | 'secp256k1' }
* @param chainCode slice 32->n HMAC hash key and seedkey (first instance curve default seedKey. after hmac value slice 32->n)
*/
constructor(priv: {
curve: CurveName;
secretKey: BN;
}, chainCode: Uint8Array);
/**
* @param seedSrc result of Bip39.mnemonicToSeed
* @param curve known supported curve p256 or secp256k1
* @returns instance of PrivateKey non-HD keys derived
* @throws InvalidBitSize | InvalidCurveError | InvalidSeedLengthError
*/
static fromSeed(seedSrc: Uint8Array | string, curve: CurveName): PrivateKey;
/**
*
* @param index derivation path item pre-hardened if applicable ie: 44' -> 2^31 + 44
* @returns child PrivateKey of the current PrivateKey
*/
derive(index: number): PrivateKey;
/**
*
* @param path pre-hardened (if applicable) derivation path items ie 44'/1729'/0/0 -> 2^31 + 44/2^31 + 1729/0/0
* @returns final child of the full HD keys derivation
*/
derivePath(path: Iterable<number>): PrivateKey;
/**
*
* @returns Uint8Array (if contains a private key)
* @throws InvalidKeyError
*/
bytes(): Uint8Array;
}