UNPKG

@hazae41/berith

Version:

WebAssembly port of Ed25519 signatures and X25519 key exchange

236 lines (227 loc) 6.03 kB
/* tslint:disable */ /* eslint-disable */ /** */ declare class Ed25519Signature { [Symbol.dispose](): void free(): void; /** * @param {Memory} bytes */ constructor(bytes: Memory); /** * @param {Memory} bytes * @returns {Ed25519Signature} */ static from_bytes(bytes: Memory): Ed25519Signature; /** * @returns {Memory} */ to_bytes(): Memory; } /** */ declare class Ed25519SigningKey { [Symbol.dispose](): void free(): void; /** */ constructor(); /** * @returns {Ed25519SigningKey} */ static random(): Ed25519SigningKey; /** * @param {Memory} bytes * @returns {Ed25519SigningKey} */ static from_bytes(bytes: Memory): Ed25519SigningKey; /** * @returns {Memory} */ to_bytes(): Memory; /** * @returns {Ed25519VerifyingKey} */ public(): Ed25519VerifyingKey; /** * @param {Memory} bytes * @returns {Ed25519Signature} */ sign(bytes: Memory): Ed25519Signature; } /** */ declare class Ed25519VerifyingKey { [Symbol.dispose](): void free(): void; /** * @param {Memory} bytes */ constructor(bytes: Memory); /** * @param {Memory} bytes * @returns {Ed25519VerifyingKey} */ static from_bytes(bytes: Memory): Ed25519VerifyingKey; /** * @returns {Memory} */ to_bytes(): Memory; /** * @param {Memory} bytes * @param {Ed25519Signature} signature * @returns {boolean} */ verify(bytes: Memory, signature: Ed25519Signature): boolean; } /** */ declare class Memory { [Symbol.dispose](): void free(): void; /** * @param {Uint8Array} inner */ constructor(inner: Uint8Array); /** * @returns {number} */ ptr(): number; /** * @returns {number} */ len(): number; /** * Free on next tick **/ freeNextTick(): Memory /** * Get the bytes in memory **/ get bytes(): Uint8Array /** * Copy the bytes and free them **/ copyAndDispose(): Uint8Array } /** */ declare class X25519PublicKey { [Symbol.dispose](): void free(): void; /** * @param {Memory} bytes */ constructor(bytes: Memory); /** * @param {Memory} bytes * @returns {X25519PublicKey} */ static from_bytes(bytes: Memory): X25519PublicKey; /** * @returns {Memory} */ to_bytes(): Memory; } /** */ declare class X25519SharedSecret { [Symbol.dispose](): void free(): void; /** * @returns {Memory} */ to_bytes(): Memory; /** * @returns {boolean} */ was_contributory(): boolean; } /** */ declare class X25519StaticSecret { [Symbol.dispose](): void free(): void; /** */ constructor(); /** * @param {Memory} bytes * @returns {X25519StaticSecret} */ static from_bytes(bytes: Memory): X25519StaticSecret; /** * @returns {Memory} */ to_bytes(): Memory; /** * @param {X25519PublicKey} other * @returns {X25519SharedSecret} */ diffie_hellman(other: X25519PublicKey): X25519SharedSecret; /** * @returns {X25519PublicKey} */ to_public(): X25519PublicKey; } type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; interface InitOutput { readonly memory: WebAssembly.Memory; readonly x25519staticsecret_random: () => number; readonly x25519staticsecret_from_bytes: (a: number, b: number) => void; readonly x25519staticsecret_to_bytes: (a: number) => number; readonly x25519staticsecret_diffie_hellman: (a: number, b: number) => number; readonly x25519staticsecret_to_public: (a: number) => number; readonly ed25519signingkey_new: () => number; readonly ed25519signingkey_from_bytes: (a: number, b: number) => void; readonly ed25519signingkey_to_bytes: (a: number) => number; readonly ed25519signingkey_public: (a: number) => number; readonly ed25519signingkey_sign: (a: number, b: number) => number; readonly ed25519verifyingkey_from_bytes: (a: number, b: number) => void; readonly ed25519verifyingkey_to_bytes: (a: number) => number; readonly ed25519verifyingkey_verify: (a: number, b: number, c: number) => number; readonly x25519publickey_from_bytes: (a: number, b: number) => void; readonly __wbg_memory_free: (a: number) => void; readonly memory_new: (a: number, b: number) => number; readonly memory_ptr: (a: number) => number; readonly memory_len: (a: number) => number; readonly x25519sharedsecret_was_contributory: (a: number) => number; readonly __wbg_ed25519signature_free: (a: number) => void; readonly ed25519signature_from_bytes: (a: number, b: number) => void; readonly ed25519signature_to_bytes: (a: number) => number; readonly ed25519signingkey_random: () => number; readonly ed25519verifyingkey_new: (a: number, b: number) => void; readonly x25519publickey_new: (a: number, b: number) => void; readonly ed25519signature_new: (a: number, b: number) => void; readonly x25519publickey_to_bytes: (a: number) => number; readonly x25519sharedsecret_to_bytes: (a: number) => number; readonly __wbg_x25519staticsecret_free: (a: number) => void; readonly __wbg_ed25519verifyingkey_free: (a: number) => void; readonly __wbg_x25519publickey_free: (a: number) => void; readonly __wbg_x25519sharedsecret_free: (a: number) => void; readonly __wbg_ed25519signingkey_free: (a: number) => void; readonly __wbindgen_add_to_stack_pointer: (a: number) => number; readonly __wbindgen_malloc: (a: number, b: number) => number; readonly __wbindgen_exn_store: (a: number) => void; } type SyncInitInput = BufferSource | WebAssembly.Module; /** * Instantiates the given `module`, which can either be bytes or * a precompiled `WebAssembly.Module`. * * @param {SyncInitInput} module * * @returns {InitOutput} */ declare function initSync(module: SyncInitInput): InitOutput; /** * If `module_or_path` is {RequestInfo} or {URL}, makes a request and * for everything else, calls `WebAssembly.instantiate` directly. * * @param {InitInput | Promise<InitInput>} module_or_path * * @returns {Promise<InitOutput>} */ declare function __wbg_init (module_or_path?: InitInput | Promise<InitInput>): Promise<InitOutput>; export { Ed25519Signature, Ed25519SigningKey, Ed25519VerifyingKey, type InitInput, type InitOutput, Memory, type SyncInitInput, X25519PublicKey, X25519SharedSecret, X25519StaticSecret, __wbg_init, initSync };