@pgchain/blockchain-libs
Version:
PGWallet Blockchain Libs
35 lines (34 loc) • 1.4 kB
TypeScript
/// <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, };