]> zoso.dev Git - libnemo.git/commitdiff
Add typings. Remove unnecessary allocation when hashing.
authorChris Duncan <chris@zoso.dev>
Fri, 29 Nov 2024 10:45:27 +0000 (02:45 -0800)
committerChris Duncan <chris@zoso.dev>
Fri, 29 Nov 2024 10:45:27 +0000 (02:45 -0800)
src/lib/workers/nano-nacl.ts

index 4ef0df1012520a92506c8e97d2c8952d8e14abb1..0cab73d21b8f73a88588195e583b83c3af7e83de 100644 (file)
@@ -1,6 +1,6 @@
 // SPDX-FileCopyrightText: 2024 Chris Duncan <chris@zoso.dev>\r
 // SPDX-License-Identifier: GPL-3.0-or-later\r
-\r
+//@ts-nocheck\r
 'use strict'\r
 \r
 // Ported in 2014 by Dmitry Chestnykh and Devi Mandiri.\r
@@ -525,12 +525,8 @@ async function NanoNaCl (Blake2b: Blake2b) {
        }\r
 \r
        // Note: difference from TweetNaCl - BLAKE2b used to hash instead of SHA-512.\r
-       function crypto_hash (out, m, n) {\r
-               const input = new Uint8Array(n)\r
-               for (let i = 0; i < n; ++i) {\r
-                       input[i] = m[i]\r
-               }\r
-               const hash = new Blake2b(64).update(input).digest()\r
+       function crypto_hash (out: Uint8Array, m: Uint8Array, n: number) {\r
+               const hash = new Blake2b(64).update(m).digest()\r
                for (let i = 0; i < 64; ++i) {\r
                        out[i] = hash[i]\r
                }\r
@@ -665,7 +661,7 @@ async function NanoNaCl (Blake2b: Blake2b) {
        }\r
 \r
        // Note: difference from C - smlen returned, not passed as argument.\r
-       function crypto_sign (sm, m, n, sk) {\r
+       function crypto_sign (sm: Uint8Array, m: Uint8Array, n: number, sk: Uint8Array) {\r
                var d = new Uint8Array(64), h = new Uint8Array(64), r = new Uint8Array(64)\r
                var i, j, x = new Float64Array(64)\r
                var p = [gf(), gf(), gf(), gf()]\r
@@ -738,7 +734,7 @@ async function NanoNaCl (Blake2b: Blake2b) {
                return 0\r
        }\r
 \r
-       function crypto_sign_open (m, sm, n, pk) {\r
+       function crypto_sign_open (m: Uint8Array, sm: Uint8Array, n: number, pk: Uint8Array) {\r
                var i\r
                var t = new Uint8Array(32), h = new Uint8Array(64)\r
                var p = [gf(), gf(), gf(), gf()],\r