From 3d32ada95968aa5dd8fdcf25bdbdb6aa6344da13 Mon Sep 17 00:00:00 2001 From: Chris Duncan Date: Sat, 23 Nov 2024 01:02:06 -0800 Subject: [PATCH] Get type definitions from original source. --- src/lib/workers/nano25519.d.ts | 98 ++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 src/lib/workers/nano25519.d.ts diff --git a/src/lib/workers/nano25519.d.ts b/src/lib/workers/nano25519.d.ts new file mode 100644 index 0000000..78c4f78 --- /dev/null +++ b/src/lib/workers/nano25519.d.ts @@ -0,0 +1,98 @@ +// Type definitions for TweetNaCl.js + +export as namespace nacl; + +declare var nacl: nacl; +export = nacl; + +declare namespace nacl { + export interface BoxKeyPair { + publicKey: Uint8Array; + secretKey: Uint8Array; + } + + export interface SignKeyPair { + publicKey: Uint8Array; + secretKey: Uint8Array; + } + + export interface secretbox { + (msg: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array; + open(box: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array | null; + readonly keyLength: number; + readonly nonceLength: number; + readonly overheadLength: number; + } + + export interface scalarMult { + (n: Uint8Array, p: Uint8Array): Uint8Array; + base(n: Uint8Array): Uint8Array; + readonly scalarLength: number; + readonly groupElementLength: number; + } + + namespace boxProps { + export interface open { + (msg: Uint8Array, nonce: Uint8Array, publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array | null; + after(box: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array | null; + } + + export interface keyPair { + (): BoxKeyPair; + fromSecretKey(secretKey: Uint8Array): BoxKeyPair; + } + } + + export interface box { + (msg: Uint8Array, nonce: Uint8Array, publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array; + before(publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array; + after(msg: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array; + open: boxProps.open; + keyPair: boxProps.keyPair; + readonly publicKeyLength: number; + readonly secretKeyLength: number; + readonly sharedKeyLength: number; + readonly nonceLength: number; + readonly overheadLength: number; + } + + namespace signProps { + export interface detached { + (msg: Uint8Array, secretKey: Uint8Array): Uint8Array; + verify(msg: Uint8Array, sig: Uint8Array, publicKey: Uint8Array): boolean; + } + + export interface keyPair { + (): SignKeyPair; + fromSecretKey(secretKey: Uint8Array): SignKeyPair; + fromSeed(secretKey: Uint8Array): SignKeyPair; + } + } + + export interface sign { + (msg: Uint8Array, secretKey: Uint8Array): Uint8Array; + open(signedMsg: Uint8Array, publicKey: Uint8Array): Uint8Array | null; + detached: signProps.detached; + keyPair: signProps.keyPair; + readonly publicKeyLength: number; + readonly secretKeyLength: number; + readonly seedLength: number; + readonly signatureLength: number; + } + + export interface hash { + (msg: Uint8Array): Uint8Array; + readonly hashLength: number; + } +} + +declare interface nacl { + randomBytes(n: number): Uint8Array; + secretbox: nacl.secretbox; + scalarMult: nacl.scalarMult; + box: nacl.box; + sign: nacl.sign; + hash: nacl.hash; + verify(x: Uint8Array, y: Uint8Array): boolean; + setPRNG(fn: (x: Uint8Array, n: number) => void): void; +} -- 2.34.1