@ondemos/core
Version:
A cryptographic commitment scheme with implied order of ownership wasm module for nodejs and the browser.
78 lines • 6.01 kB
TypeScript
/// <reference types="emscripten" />
import type { SignKeyPair, Proof } from "./utils/interfaces";
declare const ondemos: {
generateIdentities: (identitiesLen?: number, module?: import("@libdemos").LibDemos | undefined) => Promise<{
nonces: Uint8Array[];
publicKeys: Uint8Array[];
secretKeys: Uint8Array[];
commitDetails: Uint8Array;
}>;
generateProof: (identityChosenIndex: number, currentCommit: Uint8Array, previousCommit: Uint8Array, nonces: Uint8Array[], publicKeys: Uint8Array[], secretKeys: Uint8Array[], module?: import("@libdemos").LibDemos | undefined) => Promise<Uint8Array>;
commit: (details: Uint8Array, previousCommit: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise<Uint8Array>;
verifyProof: (commit: Uint8Array, proof: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise<number>;
randomBytes: (n: number, module?: import("@libdemos").LibDemos | undefined) => Promise<Uint8Array>;
randomShuffle: <T>(array: T[]) => Promise<T[]>;
randomSubset: <T_1>(array: T_1[], elements: number) => Promise<T_1[]>;
randomNumber: (min: number, max: number, module?: import("@libdemos").LibDemos | undefined) => Promise<number>;
sha512: (data: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise<Uint8Array>;
argon2: (mnemonic: string, salt?: Uint8Array | undefined, module?: import("@libdemos").LibDemos | undefined) => Promise<Uint8Array>;
keyPair: (module?: import("@libdemos").LibDemos | undefined) => Promise<SignKeyPair>;
keyPairFromSeed: (seed: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise<SignKeyPair>;
keyPairFromSecretKey: (secretKey: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise<SignKeyPair>;
sign: (message: Uint8Array, secretKey: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise<Uint8Array>;
verify: (message: Uint8Array, signature: Uint8Array, publicKey: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise<boolean>;
encryptAsymmetric: (message: Uint8Array, receiverPublicKey: Uint8Array, senderSecretKey: Uint8Array, additionalData: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise<Uint8Array>;
decryptAsymmetric: (encrypted: Uint8Array, publicKey: Uint8Array, secretKey: Uint8Array, additionalData: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise<Uint8Array>;
encryptSymmetric: (message: Uint8Array, symmetricKey: Uint8Array, additionalData: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise<Uint8Array>;
decryptSymmetric: (encrypted: Uint8Array, symmetricKey: Uint8Array, additionalData: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise<Uint8Array>;
generateMnemonic: (strength?: 256 | 128 | 160 | 192 | 224 | 288 | 320 | 352 | 384 | 416 | 448 | 480 | 512) => Promise<string>;
keyPairFromMnemonic: (mnemonic: string, password?: string | undefined) => Promise<SignKeyPair>;
validateMnemonic: (mnemonic: string) => Promise<boolean>;
wordlist: string[];
getMerkleRoot: (tree: Uint8Array[], module?: import("@libdemos").LibDemos | undefined) => Promise<Uint8Array>;
getMerkleProof: (tree: Uint8Array[], element: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise<Uint8Array>;
getMerkleRootFromProof: (hash: Uint8Array, proof: Uint8Array) => Promise<Uint8Array>;
verifyMerkleProof: (hash: Uint8Array, root: Uint8Array, proof: Uint8Array) => Promise<boolean>;
splitSecret: (secret: Uint8Array, sharesLen: number, threshold: number, module?: import("@libdemos").LibDemos | undefined) => Promise<Uint8Array[]>;
restoreSecret: (shares: Uint8Array[], module?: import("@libdemos").LibDemos | undefined) => Promise<Uint8Array>;
loadWasmModule: EmscriptenModuleFactory<import("@libdemos").LibDemos>;
loadWasmMemory: {
generateIdentities: (identitiesLen: number) => WebAssembly.Memory;
generateProof: (identitiesLen: number, identityChosenIndex: number) => WebAssembly.Memory;
commit: () => WebAssembly.Memory;
verifyProof: (proofLen: number) => WebAssembly.Memory;
randomBytes: (bytes: number) => WebAssembly.Memory;
sha512: (arrayLen: number) => WebAssembly.Memory;
argon2: (mnemonicLen: number) => WebAssembly.Memory;
keyPair: () => WebAssembly.Memory;
keyPairFromSeed: () => WebAssembly.Memory;
keyPairFromSecretKey: () => WebAssembly.Memory;
sign: (messageLen: number) => WebAssembly.Memory;
verify: (messageLen: number) => WebAssembly.Memory;
encryptAsymmetric: (messageLen: number, additionalDataLen: number) => WebAssembly.Memory;
decryptAsymmetric: (encryptedLen: number, additionalDataLen: number) => WebAssembly.Memory;
encryptSymmetric: (messageLen: number, additionalDataLen: number) => WebAssembly.Memory;
decryptSymmetric: (encryptedLen: number, additionalDataLen: number) => WebAssembly.Memory;
merkleRoot: (leavesLen: number) => WebAssembly.Memory;
};
constants: {
commit_BYTES: number;
commit_details_BYTES: number;
commit_nonce_BYTES: number;
getProofLen: (identitiesLen: number, identityChosenIndex: number) => number;
crypto_hash_sha512_BYTES: number;
crypto_box_poly1305_AUTHTAGBYTES: number;
crypto_box_x25519_PUBLICKEYBYTES: number;
crypto_box_x25519_SECRETKEYBYTES: number;
crypto_box_x25519_NONCEBYTES: number;
crypto_kx_SESSIONKEYBYTES: number;
crypto_aead_chacha20poly1305_ietf_KEYBYTES: number;
crypto_sign_ed25519_BYTES: number;
crypto_sign_ed25519_SEEDBYTES: number;
crypto_sign_ed25519_PUBLICKEYBYTES: number;
crypto_sign_ed25519_SECRETKEYBYTES: number;
};
};
export { SignKeyPair, Proof };
export default ondemos;
//# sourceMappingURL=index.d.ts.map