From c9f987fedfec7b21b68e1ff764ca400fe19956e1 Mon Sep 17 00:00:00 2001 From: Chris Duncan Date: Sat, 15 Aug 2026 13:53:03 -0700 Subject: [PATCH] Deprecate global pointless in WASM. --- src/assembly/constants.ts | 2 -- src/assembly/ge.ts | 4 ++-- src/assembly/utils.ts | 6 ++---- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/assembly/constants.ts b/src/assembly/constants.ts index 75909be..3b41cd9 100644 --- a/src/assembly/constants.ts +++ b/src/assembly/constants.ts @@ -1,8 +1,6 @@ //! SPDX-FileCopyrightText: 2013-2026 Frank Denis //! SPDX-License-Identifier: ISC -export const optblocker_u8: u8 = 0 - /* sqrt(-1) */ export const fe25519_sqrtm1 = StaticArray.fromArray([ -32595792, -7943725, 9377950, 3500415, 12389472, -272473, -25146209, -2005654, 326686, 11406482 diff --git a/src/assembly/ge.ts b/src/assembly/ge.ts index cd1e212..0e68650 100644 --- a/src/assembly/ge.ts +++ b/src/assembly/ge.ts @@ -17,7 +17,7 @@ * - ge_precomp (Duif): (y+x,y-x,2dxy) */ import { base, base2 } from './base' -import { ed25519_d, fe25519_sqrtm1, optblocker_u8 } from './constants' +import { ed25519_d, fe25519_sqrtm1 } from './constants' import { FieldElement, fe, fe_1, fe_add, fe_cmov, fe_copy, fe_frombytes, fe_isnegative, fe_iszero, fe_mul, fe_neg, fe_pow22523, fe_sq, fe_sub } from './fe' import { ge_add_cached, ge_add_precomp, ge_cached, ge_p1p1, ge_p1p1_to_p2, ge_p1p1_to_p3, ge_p2, ge_p2_0, ge_p2_dbl, ge_p2_to_p3, ge_p3, ge_p3_0, ge_p3_dbl, ge_p3_to_cached, ge_p3_tobytes, ge_precomp, ge_precomp_0, ge_sub_cached, ge_sub_precomp } from './p' import { equal, negative } from './utils' @@ -140,7 +140,7 @@ export function ge_frombytes (h: ge_p3, s: StaticArray): i32 { fe_cmov(h.X, x_sqrtm1, 1 - has_m_root) fe_neg(negx, h.X) - fe_cmov(h.X, negx, fe_isnegative(h.X) ^ (((s[31] >> 5) ^ optblocker_u8) >> 2)) + fe_cmov(h.X, negx, fe_isnegative(h.X) ^ ((s[31] >> 5) >> 2)) fe_mul(h.T, h.X, h.Y) return (has_m_root | has_p_root) - 1 diff --git a/src/assembly/utils.ts b/src/assembly/utils.ts index acb8eaf..e794a08 100644 --- a/src/assembly/utils.ts +++ b/src/assembly/utils.ts @@ -1,15 +1,13 @@ //! SPDX-FileCopyrightText: 2026 Chris Duncan //! SPDX-License-Identifier: GPL-3.0-or-later -import { optblocker_u8 } from './constants' - //@ts-expect-error @inline export function equal (b: i8, c: i8): u8 { const x: u8 = u8(b) ^ u8(c) /* 0: yes; 1..255: no */ let y: u32 = u32(x) /* 0: yes; 1..255: no */ y-- - return u8(((y >> 29) ^ optblocker_u8) >> 2) /* 1: yes; 0: no */ + return u8((y >> 29) >> 2) /* 1: yes; 0: no */ } //@ts-expect-error @@ -33,7 +31,7 @@ export function load_4 (input: StaticArray, i: u8): u64 { @inline export function negative (b: i8): u8 { const x: u8 = u8(b) /* 0..127: no 128..255: yes */ - return ((x >> 5) ^ optblocker_u8) >> 2 /* 1: yes; 0: no */ + return (x >> 5) >> 2 /* 1: yes; 0: no */ } //@ts-expect-error -- 2.52.0