]> git.codecow.com Git - nano25519.git/log
nano25519.git
5 days agoMove constant into constants file.
Chris Duncan [Fri, 14 Aug 2026 23:38:03 +0000 (16:38 -0700)]
Move constant into constants file.

5 days agoAvoid writing seed to output buffer of derive since the private key bytes are discard...
Chris Duncan [Fri, 14 Aug 2026 23:29:17 +0000 (16:29 -0700)]
Avoid writing seed to output buffer of derive since the private key bytes are discarded by JS caller anyway.

5 days agoAdd tests for output buffers larger than necessary but still offset by 0.
Chris Duncan [Fri, 14 Aug 2026 23:21:06 +0000 (16:21 -0700)]
Add tests for output buffers larger than necessary but still offset by 0.

5 days agoAdd confirmed block from problematic account to check verification aligns with Nano...
Chris Duncan [Fri, 14 Aug 2026 21:26:08 +0000 (14:26 -0700)]
Add confirmed block from problematic account to check verification aligns with Nano node implementation, which it currently does not.

6 days agoFix buffer clearing way beyond its range.
Chris Duncan [Fri, 14 Aug 2026 05:26:46 +0000 (22:26 -0700)]
Fix buffer clearing way beyond its range.

6 days agoPin package version in example code.
Chris Duncan [Fri, 14 Aug 2026 05:01:58 +0000 (22:01 -0700)]
Pin package version in example code.

6 days agoClean up existing worker blob if it already exists before creating anew.
Chris Duncan [Fri, 14 Aug 2026 05:01:14 +0000 (22:01 -0700)]
Clean up existing worker blob if it already exists before creating anew.

6 days agoFix buffer clearing overlapping bytes.
Chris Duncan [Fri, 14 Aug 2026 04:58:33 +0000 (21:58 -0700)]
Fix buffer clearing overlapping bytes.

7 days agoPrint error strings from WASM data.
Chris Duncan [Thu, 13 Aug 2026 07:41:28 +0000 (00:41 -0700)]
Print error strings from WASM data.

7 days agoDo not fill sk which does not belong to this function, it's filled by caller.
Chris Duncan [Thu, 13 Aug 2026 07:04:27 +0000 (00:04 -0700)]
Do not fill sk which does not belong to this function, it's filled by caller.

7 days agoExtract worker to separate file.
Chris Duncan [Thu, 13 Aug 2026 06:06:43 +0000 (23:06 -0700)]
Extract worker to separate file.

7 days agoRefactor async worker to avoid overwriting message handler, simplify dispatch, and...
Chris Duncan [Thu, 13 Aug 2026 06:02:22 +0000 (23:02 -0700)]
Refactor async worker to avoid overwriting message handler, simplify dispatch, and narrow return cases.

7 days agoAdd success and failure tests for output buffer arguments.
Chris Duncan [Thu, 13 Aug 2026 04:45:34 +0000 (21:45 -0700)]
Add success and failure tests for output buffer arguments.

7 days agoThrow on invalid output buffer immediately. Wrap signing to always zero key and buffer.
Chris Duncan [Thu, 13 Aug 2026 04:44:49 +0000 (21:44 -0700)]
Throw on invalid output buffer immediately. Wrap signing to always zero key and buffer.

7 days agoUse type guard to enable direct use of typechecked output buffer.
Chris Duncan [Thu, 13 Aug 2026 04:27:52 +0000 (21:27 -0700)]
Use type guard to enable direct use of typechecked output buffer.

8 days agoAdd output buffer support to sign function. Adjust variable names.
Chris Duncan [Wed, 12 Aug 2026 10:00:06 +0000 (03:00 -0700)]
Add output buffer support to sign function. Adjust variable names.

8 days agoUpdate and pin dependencies.
Chris Duncan [Wed, 12 Aug 2026 09:44:40 +0000 (02:44 -0700)]
Update and pin dependencies.

8 days agoMerge branch 'main' into next/out-buf
Chris Duncan [Wed, 12 Aug 2026 09:38:47 +0000 (02:38 -0700)]
Merge branch 'main' into next/out-buf

8 days agov1.0.8 main v1.0.8
Chris Duncan [Wed, 12 Aug 2026 09:31:47 +0000 (02:31 -0700)]
v1.0.8

8 days agoFix xfail tests.
Chris Duncan [Wed, 12 Aug 2026 09:28:58 +0000 (02:28 -0700)]
Fix xfail tests.

8 days agoRemove extraneous error logging,
Chris Duncan [Wed, 12 Aug 2026 09:21:29 +0000 (02:21 -0700)]
Remove extraneous error logging,

8 days agoStart writing test for signing to output buffer.
Chris Duncan [Wed, 12 Aug 2026 08:51:12 +0000 (01:51 -0700)]
Start writing test for signing to output buffer.

8 days agoAdd support for preallocated output buffer on sync derive calls.
Chris Duncan [Wed, 12 Aug 2026 08:42:58 +0000 (01:42 -0700)]
Add support for preallocated output buffer on sync derive calls.

6 weeks agov1.0.7 v1.0.7
Chris Duncan [Mon, 6 Jul 2026 07:34:15 +0000 (00:34 -0700)]
v1.0.7

6 weeks agoAdd negative tests for validation of bad byte inputs.
Chris Duncan [Mon, 6 Jul 2026 07:31:42 +0000 (00:31 -0700)]
Add negative tests for validation of bad byte inputs.

6 weeks agoAdd negative tests for validation of bad string inputs.
Chris Duncan [Mon, 6 Jul 2026 07:22:29 +0000 (00:22 -0700)]
Add negative tests for validation of bad string inputs.

6 weeks agoImprove regex matching.
Chris Duncan [Mon, 6 Jul 2026 07:20:21 +0000 (00:20 -0700)]
Improve regex matching.

7 weeks agov1.0.6 v1.0.6
Chris Duncan [Fri, 26 Jun 2026 21:52:14 +0000 (14:52 -0700)]
v1.0.6

7 weeks agoFix transaction ID validation.
Chris Duncan [Fri, 26 Jun 2026 21:50:27 +0000 (14:50 -0700)]
Fix transaction ID validation.

7 weeks agoMove async message data checks prior to execution.
Chris Duncan [Fri, 26 Jun 2026 21:50:13 +0000 (14:50 -0700)]
Move async message data checks prior to execution.

7 weeks agov1.0.5 v1.0.5
Chris Duncan [Fri, 26 Jun 2026 20:57:21 +0000 (13:57 -0700)]
v1.0.5

7 weeks agoMark specific package as external to avoid import attempt in browser.
Chris Duncan [Fri, 26 Jun 2026 20:55:36 +0000 (13:55 -0700)]
Mark specific package as external to avoid import attempt in browser.

7 weeks agoClear WASM buffers prior to returning from each call.
Chris Duncan [Fri, 26 Jun 2026 20:54:53 +0000 (13:54 -0700)]
Clear WASM buffers prior to returning from each call.

7 weeks agoLoad worker messaging for async module independently of sync module.
Chris Duncan [Fri, 26 Jun 2026 20:25:18 +0000 (13:25 -0700)]
Load worker messaging for async module independently of sync module.

2 months agov1.0.4 v1.0.4
Chris Duncan [Fri, 19 Jun 2026 06:53:48 +0000 (23:53 -0700)]
v1.0.4

2 months agoUpdate other libraries for speed comparison page.
Chris Duncan [Fri, 19 Jun 2026 06:41:01 +0000 (23:41 -0700)]
Update other libraries for speed comparison page.

2 months agoRevert type emission and copy with esbuild. Fix exports to make types available for...
Chris Duncan [Fri, 19 Jun 2026 06:34:31 +0000 (23:34 -0700)]
Revert type emission and copy with esbuild. Fix exports to make types available for test module.

2 months agoConsolidate labeled blocks used by esbuild.
Chris Duncan [Fri, 19 Jun 2026 06:25:30 +0000 (23:25 -0700)]
Consolidate labeled blocks used by esbuild.

2 months agoQueue async retry faster while waiting for Node host.
Chris Duncan [Fri, 19 Jun 2026 06:24:57 +0000 (23:24 -0700)]
Queue async retry faster while waiting for Node host.

2 months agoFix worker URL and ID assignments.
Chris Duncan [Fri, 19 Jun 2026 06:09:29 +0000 (23:09 -0700)]
Fix worker URL and ID assignments.

2 months agoUpdate dependencies and migrate to TypeScript 6. Fix Node built-in package references...
Chris Duncan [Thu, 18 Jun 2026 18:56:41 +0000 (11:56 -0700)]
Update dependencies and migrate to TypeScript 6. Fix Node built-in package references when building. Emit types directly to distribution directory.

2 months agoGet specific about Node host thread. Consolidate worker URL check in async implementa...
Chris Duncan [Thu, 18 Jun 2026 18:55:30 +0000 (11:55 -0700)]
Get specific about Node host thread. Consolidate worker URL check in async implementation.

2 months agoBundle in parallel, no need to await build steps.
Chris Duncan [Thu, 18 Jun 2026 14:12:30 +0000 (07:12 -0700)]
Bundle in parallel, no need to await build steps.

2 months agoRemove unused package from browser remapping.
Chris Duncan [Thu, 18 Jun 2026 14:11:08 +0000 (07:11 -0700)]
Remove unused package from browser remapping.

2 months agoUse URL and random UUID to uniquely identify each async call and prevent crosstalk...
Chris Duncan [Tue, 16 Jun 2026 22:53:11 +0000 (15:53 -0700)]
Use URL and random UUID to uniquely identify each async call and prevent crosstalk with other workers.

3 months agov1.0.3 v1.0.3
Chris Duncan [Thu, 14 May 2026 18:11:55 +0000 (11:11 -0700)]
v1.0.3

3 months agoAdd test to check invalid message lengths throw as expected.
Chris Duncan [Thu, 14 May 2026 18:08:30 +0000 (11:08 -0700)]
Add test to check invalid message lengths throw as expected.

3 months agoEnforce stronger type checks on async results. Rethrow errors encountered in async...
Chris Duncan [Thu, 14 May 2026 18:06:29 +0000 (11:06 -0700)]
Enforce stronger type checks on async results. Rethrow errors encountered in async worker.

3 months agoOverload async execution to narrow result typechecking more specifically based on...
Chris Duncan [Thu, 14 May 2026 18:03:34 +0000 (11:03 -0700)]
Overload async execution to narrow result typechecking more specifically based on function.

3 months agoThrow if hex input is an odd number of characters.
Chris Duncan [Thu, 14 May 2026 13:54:01 +0000 (06:54 -0700)]
Throw if hex input is an odd number of characters.

3 months agoRemove invalid error messaging.
Chris Duncan [Thu, 14 May 2026 13:42:47 +0000 (06:42 -0700)]
Remove invalid error messaging.

4 months agov1.0.2 v1.0.2
Chris Duncan [Wed, 15 Apr 2026 06:58:34 +0000 (23:58 -0700)]
v1.0.2

4 months agoUpdate changelog from prior releases and fix project homepage.
Chris Duncan [Wed, 15 Apr 2026 06:54:13 +0000 (23:54 -0700)]
Update changelog from prior releases and fix project homepage.

4 months agoFix regular expression anchoring.
Chris Duncan [Wed, 15 Apr 2026 06:50:36 +0000 (23:50 -0700)]
Fix regular expression anchoring.

4 months agoWhitespace.
Chris Duncan [Tue, 14 Apr 2026 07:23:58 +0000 (00:23 -0700)]
Whitespace.

4 months agoBasic styling.
Chris Duncan [Tue, 14 Apr 2026 07:22:49 +0000 (00:22 -0700)]
Basic styling.

4 months agoExplain how speed is calculated.
Chris Duncan [Tue, 14 Apr 2026 07:16:20 +0000 (00:16 -0700)]
Explain how speed is calculated.

4 months agoExtract test sequence into its own function and remove useless debug option.
Chris Duncan [Tue, 14 Apr 2026 06:38:49 +0000 (23:38 -0700)]
Extract test sequence into its own function and remove useless debug option.

4 months agoEnable testing only after successfully loading library and test vectors.
Chris Duncan [Mon, 23 Mar 2026 06:07:50 +0000 (23:07 -0700)]
Enable testing only after successfully loading library and test vectors.

4 months agoSimplify esbuild entry points for node build. Include source maps for typings.
Chris Duncan [Mon, 23 Mar 2026 05:46:51 +0000 (22:46 -0700)]
Simplify esbuild entry points for node build. Include source maps for typings.

4 months agov1.0.1 v1.0.1
Chris Duncan [Mon, 23 Mar 2026 05:32:33 +0000 (22:32 -0700)]
v1.0.1

4 months agoFix extra type emissions and exports.
Chris Duncan [Mon, 23 Mar 2026 05:29:56 +0000 (22:29 -0700)]
Fix extra type emissions and exports.

Update integration and input guidance in README.
Emit declarations to types directory. Use esbuild to copy specific type definitions. Move implementation file and delete duplicated exports. Expand on test vector authorship. Include unlicense for tweetnacl origins.

4 months agoReattempt to fetch test vectors when online.
Chris Duncan [Sun, 22 Mar 2026 10:13:56 +0000 (03:13 -0700)]
Reattempt to fetch test vectors when online.

4 months agov1.0.0 v1.0.0
Chris Duncan [Sun, 22 Mar 2026 10:06:04 +0000 (03:06 -0700)]
v1.0.0

4 months agoUpdate description.
Chris Duncan [Sun, 22 Mar 2026 09:57:03 +0000 (02:57 -0700)]
Update description.

4 months agoFix tweetnacl comparison wrapper.
Chris Duncan [Sun, 22 Mar 2026 09:53:23 +0000 (02:53 -0700)]
Fix tweetnacl comparison wrapper.

4 months agoPolish for first release.
Chris Duncan [Sun, 22 Mar 2026 09:48:47 +0000 (02:48 -0700)]
Polish for first release.

Rename project for accuracy. Separate async/sync modules. Add tons of tests. Zero out memory when no longer needed. Reduce global static variables by using WASM linear memory directly.

5 months agoEnable variable-length messages up to 32 KiB.
Chris Duncan [Fri, 20 Mar 2026 22:11:04 +0000 (15:11 -0700)]
Enable variable-length messages up to 32 KiB.

Add dedicated buffer for sign/verify message data and refactor references to use length variables. Convert terminology from "block hash" to "message" to reflect new capabilities and document how Nano block hashes should be handled. Deprecate crypto_hash and instead use blake2b directly for streaming hash updates. Update test webpage and NodeJS test to use full set of test vectors from the Python ed25519-blake2b library. Update workers to transfer bytes instead of copying them, and always specify worker commands with the 'action' property.

5 months agoUpdate readme to reflect current API. Add node bundle to package definition. Document...
Chris Duncan [Thu, 19 Mar 2026 06:08:00 +0000 (23:08 -0700)]
Update readme to reflect current API. Add node bundle to package definition. Document libsodium authorship.

5 months agoAdd NodeJS support and update tests.
Chris Duncan [Wed, 18 Mar 2026 21:39:16 +0000 (14:39 -0700)]
Add NodeJS support and update tests.

Fix node worker construction, message handling, and parent port import.
Expand esbuild config functionality and build options.
Move test vectors to separate file, rename .env vector import, and add tests.

5 months agoRefactor API.
Chris Duncan [Tue, 17 Mar 2026 20:47:27 +0000 (13:47 -0700)]
Refactor API.

Refactor host code to compile synchronously, return both sync and async functions, merge trace logging function into wasm env, refactor worker listening process, add type checks to worker message parsing, and emit type definitions.
Update testing page to add NanoNaCl to global context in test page to enable testing ad hoc commands, add tests for sync functions using byte arrays, add pause when starting each test run to allow DOM to repaint status text, and always run self-check.
Rename main assembly file.
Improve documentation and reorganize functions.
Update dependencies.

5 months agoRefactor field element multiplication hot paths.
Chris Duncan [Mon, 16 Mar 2026 20:57:59 +0000 (13:57 -0700)]
Refactor field element multiplication hot paths.

5 months agoReaquire WASM memory buffer before reading results, and investigate why memory is...
Chris Duncan [Sat, 7 Mar 2026 07:44:58 +0000 (23:44 -0800)]
Reaquire WASM memory buffer before reading results, and investigate why memory is growing in the first place.

5 months agoRefactor from tweetnacl 16x16 radix limbs to libsodium 10x25.5-bit radix limb impleme...
Chris Duncan [Sat, 7 Mar 2026 07:37:59 +0000 (23:37 -0800)]
Refactor from tweetnacl 16x16 radix limbs to libsodium 10x25.5-bit radix limb implementation to gain massive speed boost with precomputed base point table.

5 months agodebug
Chris Duncan [Thu, 5 Mar 2026 14:56:51 +0000 (06:56 -0800)]
debug

5 months agoFix input type generics.
Chris Duncan [Thu, 5 Mar 2026 14:52:37 +0000 (06:52 -0800)]
Fix input type generics.

5 months agoFinal preradix-25 refactor.
Chris Duncan [Wed, 4 Mar 2026 22:40:44 +0000 (14:40 -0800)]
Final preradix-25 refactor.

Reorder verify parameters to align with libsodium. Refactor point classes. Add field element functions, group element functions, and scalar functions to support radix 25 migration. Replace tweetnacl modL function with libsodium scalar functions. Clean up variable names and documentation comments.

5 months agoRename some host code variables to reduce esbuild collision detection.
Chris Duncan [Tue, 3 Mar 2026 14:56:02 +0000 (06:56 -0800)]
Rename some host code variables to reduce esbuild collision detection.

5 months agoSet up for migration to 10x25 radix implementation.
Chris Duncan [Tue, 3 Mar 2026 07:53:32 +0000 (23:53 -0800)]
Set up for migration to 10x25 radix implementation.

Split Blake2b hashing, field element arithmetic, and group element functions into separate files and import to main. Add precomputed base point products and other constants from libsodium. Rename public key derivation internal function for consistency.

5 months agoPointers, vectors, and doubling.
Chris Duncan [Fri, 27 Feb 2026 08:03:35 +0000 (00:03 -0800)]
Pointers, vectors, and doubling.

Use pointers for field element constants and simplify scalarbase copy setup. Implement point doubling function. Vectorize selection logic and use built-in for swapping bits. Tweak error handling, maybe fix liftString at some point. Use immediate offsets instead of pointer arithmetic where possible. Pass pointers directly to scalarmult, add, and cswap.

5 months agoAdd libsodium to test comparisons.
Chris Duncan [Thu, 26 Feb 2026 03:31:25 +0000 (19:31 -0800)]
Add libsodium to test comparisons.

5 months agoRemove debug logging.
Chris Duncan [Wed, 25 Feb 2026 23:17:23 +0000 (15:17 -0800)]
Remove debug logging.

5 months agoAdd check for canonical scalar S from signature.
Chris Duncan [Wed, 25 Feb 2026 23:16:19 +0000 (15:16 -0800)]
Add check for canonical scalar S from signature.

5 months agoOverhaul module to use static buffers to prevent memory leaks, 32-bit limbs to accele...
Chris Duncan [Wed, 25 Feb 2026 22:31:34 +0000 (14:31 -0800)]
Overhaul module to use static buffers to prevent memory leaks, 32-bit limbs to accelerate multiplication with SIMD vectors, copy I/O directly to and from buffers, simplify entry point functions in host code, and fix calculation bugs.

5 months agoAvoid committing sensitive environment variables. Optimize WASM build for speed and...
Chris Duncan [Wed, 25 Feb 2026 22:28:26 +0000 (14:28 -0800)]
Avoid committing sensitive environment variables. Optimize WASM build for speed and product text file for analysis.

6 months agoFix verify return.
Chris Duncan [Sun, 15 Feb 2026 23:52:52 +0000 (15:52 -0800)]
Fix verify return.

6 months agoAdd layer of abstraction to wasm functions.
Chris Duncan [Sun, 15 Feb 2026 23:50:27 +0000 (15:50 -0800)]
Add layer of abstraction to wasm functions.

6 months agoAdd tests for derive and verify to test webpage.
Chris Duncan [Sun, 15 Feb 2026 22:44:00 +0000 (14:44 -0800)]
Add tests for derive and verify to test webpage.

6 months agoFix verify function signature in host code. Simplify typed array read from memory.
Chris Duncan [Sun, 15 Feb 2026 22:42:56 +0000 (14:42 -0800)]
Fix verify function signature in host code. Simplify typed array read from memory.

6 months agoRename NaCl input constants. Fix parameters and argument parsing for derive and verif...
Chris Duncan [Sun, 15 Feb 2026 22:41:57 +0000 (14:41 -0800)]
Rename NaCl input constants. Fix parameters and argument parsing for derive and verify functions.

6 months agoFix package file and disable asc debugging.
Chris Duncan [Sun, 15 Feb 2026 08:48:38 +0000 (00:48 -0800)]
Fix package file and disable asc debugging.

6 months agoInitial commit.
Chris Duncan [Sun, 15 Feb 2026 08:39:13 +0000 (00:39 -0800)]
Initial commit.