eccrypto-js
Version:
Elliptic curve cryptography library (NodeJS, Browser and Pure JS)
36 lines • 1.92 kB
TypeScript
/// <reference types="node" />
export declare type OutputModifier = Uint8Array | ((len: number) => Uint8Array);
export declare type NonceFunction = (message: Buffer, privateKey: Buffer, algo?: Buffer, data?: Buffer, attempt?: number) => Buffer;
export interface SignOptions {
noncefn: NonceFunction;
data: Buffer;
}
export interface SignResult {
signature: Buffer;
recovery: number;
}
export interface ISecp256k1 {
privateKeyVerify(privateKey: Buffer): boolean;
privateKeyExport(privateKey: Buffer, compressed?: boolean): Buffer;
privateKeyImport(privateKey: Buffer): Buffer;
privateKeyNegate(privateKey: Buffer): Buffer;
privateKeyModInverse(privateKey: Buffer): Buffer;
privateKeyTweakAdd(privateKey: Buffer, tweak: Buffer): Buffer;
privateKeyTweakMul(privateKey: Buffer, tweak: Buffer): Buffer;
publicKeyCreate(privateKey: Buffer, compressed?: boolean): Buffer;
publicKeyConvert(publicKey: Buffer, compressed?: boolean): Buffer;
publicKeyVerify(publicKey: Buffer): boolean;
publicKeyTweakAdd(publicKey: Buffer, tweak: Buffer, compressed?: boolean): Buffer;
publicKeyTweakMul(publicKey: Buffer, tweak: Buffer, compressed?: boolean): Buffer;
publicKeyCombine(publicKeys: Buffer[], compressed?: boolean): Buffer;
signatureNormalize(signature: Buffer): Buffer;
signatureExport(signature: Buffer): Buffer;
signatureImport(signature: Buffer): Buffer;
signatureImportLax(signature: Buffer): Buffer;
sign(message: Buffer, privateKey: Buffer, options?: Partial<SignOptions>): SignResult;
verify(message: Buffer, signature: Buffer, publicKey: Buffer): boolean;
recover(message: Buffer, signature: Buffer, recovery: number, compressed?: boolean): Buffer;
ecdh(publicKey: Buffer, privateKey: Buffer): Buffer;
ecdhUnsafe(publicKey: Buffer, privateKey: Buffer, compressed?: boolean): Buffer;
}
//# sourceMappingURL=typings.d.ts.map