From: Chris Duncan Date: Sat, 26 Sep 2026 16:18:53 +0000 (-0700) Subject: Use primordials to create and set bytes. X-Git-Url: https://git.codecow.com/?a=commitdiff_plain;h=ae6b65a313cede0e0aa371ee0e2ce4882f1e63ba;p=nano25519.git Use primordials to create and set bytes. --- diff --git a/src/lib/verify.ts b/src/lib/verify.ts index b31f61e..a0b9aed 100644 --- a/src/lib/verify.ts +++ b/src/lib/verify.ts @@ -1,7 +1,7 @@ //! SPDX-FileCopyrightText: 2026 Chris Duncan //! SPDX-License-Identifier: GPL-3.0-or-later -import { byteLength, isArray, normalize } from './primordials' +import { allocate, byteLength, copy, isArray, normalize } from './primordials' import { Mutex, clearMemory, constants, getOutput, setInput, verify as wasm_verify, verify_blocks as wasm_verify_blocks, } from './wasm' const { BLOCKHASH_BYTELENGTH, KEY_BYTELENGTH, MAX_MESSAGE_BYTELENGTH, MAX_VERIFY_BLOCKS, SIGNATURE_BYTELENGTH, } = constants @@ -37,7 +37,7 @@ export function verify_blocks (pub: unknown, data: unknown): boolean[] { try { const publicKey = normalize('public key', KEY_BYTELENGTH, KEY_BYTELENGTH, pub) setInput('pub', publicKey) - const message = new Uint8Array(count * (SIGNATURE_BYTELENGTH + BLOCKHASH_BYTELENGTH)) + const message = allocate(count * (SIGNATURE_BYTELENGTH + BLOCKHASH_BYTELENGTH)) for (let b = 0; b < count; b++) { const block = blocks[b] if (block == null || typeof block !== 'object') { @@ -52,8 +52,8 @@ export function verify_blocks (pub: unknown, data: unknown): boolean[] { const signature = normalize('signature', SIGNATURE_BYTELENGTH, SIGNATURE_BYTELENGTH, block.signature) const hash = normalize('hash', BLOCKHASH_BYTELENGTH, BLOCKHASH_BYTELENGTH, block.hash) const offset = b * (SIGNATURE_BYTELENGTH + BLOCKHASH_BYTELENGTH) - message.set(signature, offset) - message.set(hash, offset + SIGNATURE_BYTELENGTH) + copy(message, signature, offset) + copy(message, hash, offset + SIGNATURE_BYTELENGTH) } setInput('msg', message) wasm_verify_blocks(count)