@proton/ccxt
Version:
A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 130+ exchanges
139 lines (138 loc) • 4.77 kB
TypeScript
import { Input, Hash, HashXOF } from './utils.js';
import { Keccak, ShakeOpts } from './sha3.js';
export declare type cShakeOpts = ShakeOpts & {
personalization?: Input;
NISTfn?: Input;
};
export declare const cshake128: {
(msg: Input, opts?: cShakeOpts): Uint8Array;
outputLen: number;
blockLen: number;
create(opts: cShakeOpts): Hash<Keccak>;
};
export declare const cshake256: {
(msg: Input, opts?: cShakeOpts): Uint8Array;
outputLen: number;
blockLen: number;
create(opts: cShakeOpts): Hash<Keccak>;
};
declare class KMAC extends Keccak implements HashXOF<KMAC> {
constructor(blockLen: number, outputLen: number, enableXOF: boolean, key: Input, opts?: cShakeOpts);
protected finish(): void;
_cloneInto(to?: KMAC): KMAC;
clone(): KMAC;
}
export declare const kmac128: {
(key: Input, message: Input, opts?: cShakeOpts): Uint8Array;
create(key: Input, opts?: cShakeOpts): KMAC;
};
export declare const kmac256: {
(key: Input, message: Input, opts?: cShakeOpts): Uint8Array;
create(key: Input, opts?: cShakeOpts): KMAC;
};
export declare const kmac128xof: {
(key: Input, message: Input, opts?: cShakeOpts): Uint8Array;
create(key: Input, opts?: cShakeOpts): KMAC;
};
export declare const kmac256xof: {
(key: Input, message: Input, opts?: cShakeOpts): Uint8Array;
create(key: Input, opts?: cShakeOpts): KMAC;
};
declare class TupleHash extends Keccak implements HashXOF<TupleHash> {
constructor(blockLen: number, outputLen: number, enableXOF: boolean, opts?: cShakeOpts);
protected finish(): void;
_cloneInto(to?: TupleHash): TupleHash;
clone(): TupleHash;
}
export declare const tuplehash128: {
(messages: Input[], opts?: cShakeOpts): Uint8Array;
create(opts?: cShakeOpts): TupleHash;
};
export declare const tuplehash256: {
(messages: Input[], opts?: cShakeOpts): Uint8Array;
create(opts?: cShakeOpts): TupleHash;
};
export declare const tuplehash128xof: {
(messages: Input[], opts?: cShakeOpts): Uint8Array;
create(opts?: cShakeOpts): TupleHash;
};
export declare const tuplehash256xof: {
(messages: Input[], opts?: cShakeOpts): Uint8Array;
create(opts?: cShakeOpts): TupleHash;
};
declare type ParallelOpts = cShakeOpts & {
blockLen?: number;
};
declare class ParallelHash extends Keccak implements HashXOF<ParallelHash> {
protected leafCons: () => Hash<Keccak>;
private leafHash?;
private chunkPos;
private chunksDone;
private chunkLen;
constructor(blockLen: number, outputLen: number, leafCons: () => Hash<Keccak>, enableXOF: boolean, opts?: ParallelOpts);
protected finish(): void;
_cloneInto(to?: ParallelHash): ParallelHash;
destroy(): void;
clone(): ParallelHash;
}
export declare const parallelhash128: {
(message: Input, opts?: ParallelOpts): Uint8Array;
create(opts?: ParallelOpts): ParallelHash;
};
export declare const parallelhash256: {
(message: Input, opts?: ParallelOpts): Uint8Array;
create(opts?: ParallelOpts): ParallelHash;
};
export declare const parallelhash128xof: {
(message: Input, opts?: ParallelOpts): Uint8Array;
create(opts?: ParallelOpts): ParallelHash;
};
export declare const parallelhash256xof: {
(message: Input, opts?: ParallelOpts): Uint8Array;
create(opts?: ParallelOpts): ParallelHash;
};
export declare type KangarooOpts = {
dkLen?: number;
personalization?: Input;
};
declare class KangarooTwelve extends Keccak implements HashXOF<KangarooTwelve> {
protected leafLen: number;
readonly chunkLen = 8192;
private leafHash?;
private personalization;
private chunkPos;
private chunksDone;
constructor(blockLen: number, leafLen: number, outputLen: number, rounds: number, opts: KangarooOpts);
update(data: Input): this;
protected finish(): void;
destroy(): void;
_cloneInto(to?: KangarooTwelve): KangarooTwelve;
clone(): KangarooTwelve;
}
export declare const k12: {
(msg: Input, opts?: KangarooOpts): Uint8Array;
outputLen: number;
blockLen: number;
create(opts: KangarooOpts): Hash<KangarooTwelve>;
};
export declare const m14: {
(msg: Input, opts?: KangarooOpts): Uint8Array;
outputLen: number;
blockLen: number;
create(opts: KangarooOpts): Hash<KangarooTwelve>;
};
declare class KeccakPRG extends Keccak {
protected rate: number;
constructor(capacity: number);
keccak(): void;
update(data: Input): this;
feed(data: Input): this;
protected finish(): void;
digestInto(out: Uint8Array): Uint8Array;
fetch(bytes: number): Uint8Array;
forget(): void;
_cloneInto(to?: KeccakPRG): KeccakPRG;
clone(): KeccakPRG;
}
export declare const keccakprg: (capacity?: number) => KeccakPRG;
export {};