UNPKG

@pgchain/blockchain-libs

Version:
35 lines (34 loc) 1.4 kB
/// <reference types="node" /> import BigNumber from 'bignumber.js'; import { BaseCurve, CurveForKD } from './curves'; declare type ExtendedKey = { key: Buffer; chainCode: Buffer; }; declare function ser256(p: BigNumber): Buffer; declare function parse256(seq: Buffer): BigNumber; interface Bip32KeyDeriver { generateMasterKeyFromSeed(seed: Buffer): ExtendedKey; N(extPriv: ExtendedKey): ExtendedKey; CKDPriv(parent: ExtendedKey, index: number): ExtendedKey; CKDPub(parent: ExtendedKey, index: number): ExtendedKey; } declare class BaseBip32KeyDeriver implements Bip32KeyDeriver { private key; private curve; constructor(key: Buffer, curve: CurveForKD); generateMasterKeyFromSeed(seed: Buffer): ExtendedKey; N(extPriv: ExtendedKey): ExtendedKey; CKDPriv(parent: ExtendedKey, index: number): ExtendedKey; CKDPub(parent: ExtendedKey, index: number): ExtendedKey; } declare class ED25519Bip32KeyDeriver implements Bip32KeyDeriver { private key; private curve; constructor(key: Buffer, curve: BaseCurve); generateMasterKeyFromSeed(seed: Buffer): ExtendedKey; N(extPriv: ExtendedKey): ExtendedKey; CKDPriv(parent: ExtendedKey, index: number): ExtendedKey; CKDPub(parent: ExtendedKey, index: number): ExtendedKey; } export { ser256, parse256, ExtendedKey, Bip32KeyDeriver, BaseBip32KeyDeriver, ED25519Bip32KeyDeriver, };