]>
git.codecow.com Git - nano25519.git/log
Chris Duncan [Tue, 1 Sep 2026 06:02:16 +0000 (23:02 -0700)]
Import initial memory instead of exporting so that build tests can run and throw helpful messages instead of just crashing exported memory.
Chris Duncan [Tue, 1 Sep 2026 05:53:28 +0000 (22:53 -0700)]
Fix terminology.
Chris Duncan [Sun, 30 Aug 2026 02:02:30 +0000 (19:02 -0700)]
Retract unsupported verify_blocks correctness claim in agent file.
Chris Duncan [Sat, 29 Aug 2026 22:11:28 +0000 (15:11 -0700)]
Update agent file.
Chris Duncan [Sat, 29 Aug 2026 21:53:03 +0000 (14:53 -0700)]
Fix error string type.
Chris Duncan [Sat, 29 Aug 2026 21:43:54 +0000 (14:43 -0700)]
Encode errors for passing among WASM functions and out to host.
Chris Duncan [Sat, 29 Aug 2026 21:30:36 +0000 (14:30 -0700)]
Avoid logging long message string vectors too.
Chris Duncan [Sat, 29 Aug 2026 21:28:07 +0000 (14:28 -0700)]
Avoid logging entire long message when testing.
Chris Duncan [Sat, 29 Aug 2026 21:24:56 +0000 (14:24 -0700)]
Return exit code from crypto_sign to allow buffer cleanup.
Chris Duncan [Sat, 29 Aug 2026 09:17:20 +0000 (02:17 -0700)]
Move mutex lock out of try block so it does not clear buffers from underneath the currently executing function.
Chris Duncan [Sat, 29 Aug 2026 08:53:51 +0000 (01:53 -0700)]
Throw if memory grows instead of just rewrapping it.
Chris Duncan [Sat, 29 Aug 2026 08:46:09 +0000 (01:46 -0700)]
Implement mutex pattern to prevent async wrappers or similar from breaking shared buffer layout.
Chris Duncan [Sat, 29 Aug 2026 07:29:04 +0000 (00:29 -0700)]
Update doc comment.
Chris Duncan [Sat, 29 Aug 2026 07:25:22 +0000 (00:25 -0700)]
Pass ge object instead of pointer for A.
Chris Duncan [Sat, 29 Aug 2026 07:04:43 +0000 (00:04 -0700)]
Fill verify buffer to fail closed at instantiation.
Chris Duncan [Sat, 29 Aug 2026 06:47:19 +0000 (23:47 -0700)]
Fix documentation of constants.
Chris Duncan [Sat, 29 Aug 2026 06:37:01 +0000 (23:37 -0700)]
Fix bulk block count passed to WASM.
Chris Duncan [Sat, 29 Aug 2026 06:33:32 +0000 (23:33 -0700)]
Fix buffer slicing when normalizing.
Chris Duncan [Sat, 29 Aug 2026 05:53:43 +0000 (22:53 -0700)]
Return pointer to A and pass it into relaxed verify.
Chris Duncan [Sat, 29 Aug 2026 05:30:03 +0000 (22:30 -0700)]
Document return value.
Chris Duncan [Sat, 29 Aug 2026 04:56:18 +0000 (21:56 -0700)]
Set verify output to fail closed on host-side clearing.
Chris Duncan [Sat, 29 Aug 2026 04:54:00 +0000 (21:54 -0700)]
Reset buffer view after calling WASM function.
Chris Duncan [Sat, 29 Aug 2026 04:51:34 +0000 (21:51 -0700)]
Fix unit test for equalbytes.
Chris Duncan [Sat, 29 Aug 2026 04:51:16 +0000 (21:51 -0700)]
Fix truncated data type.
Chris Duncan [Fri, 28 Aug 2026 21:56:45 +0000 (14:56 -0700)]
Update agent file.
Chris Duncan [Fri, 28 Aug 2026 19:52:59 +0000 (12:52 -0700)]
Bump max bulk block verification per speed test results.
Chris Duncan [Fri, 28 Aug 2026 19:50:21 +0000 (12:50 -0700)]
Update speed test page to force test size of 1 which still processes MAX_VERIFY_BLOCKS messages.
Chris Duncan [Fri, 28 Aug 2026 19:19:05 +0000 (12:19 -0700)]
Update speed test page to use byte arguments by default.
Chris Duncan [Fri, 28 Aug 2026 18:45:12 +0000 (11:45 -0700)]
Update agent file.
Chris Duncan [Fri, 28 Aug 2026 17:54:58 +0000 (10:54 -0700)]
Export constants for consumer use. Increase minimum message buffer allocation to a full page of 64 KiB. Increase initial memory accordingly.
Chris Duncan [Fri, 28 Aug 2026 13:00:53 +0000 (06:00 -0700)]
Update agent file.
Chris Duncan [Fri, 28 Aug 2026 01:55:19 +0000 (18:55 -0700)]
Fix staged byte comparison.
Chris Duncan [Fri, 28 Aug 2026 01:44:27 +0000 (18:44 -0700)]
Fix byte comparison.
Chris Duncan [Fri, 28 Aug 2026 01:24:44 +0000 (18:24 -0700)]
Fix test result.
Chris Duncan [Fri, 28 Aug 2026 00:26:30 +0000 (17:26 -0700)]
Update problem vector test.
Chris Duncan [Fri, 28 Aug 2026 00:21:40 +0000 (17:21 -0700)]
Fix relaxed verify.
Chris Duncan [Thu, 27 Aug 2026 23:53:29 +0000 (16:53 -0700)]
Stage cofactorless strict verification for later when test vectors are available.
Chris Duncan [Thu, 27 Aug 2026 23:50:57 +0000 (16:50 -0700)]
Relax verify for donna.
Chris Duncan [Thu, 27 Aug 2026 17:06:12 +0000 (10:06 -0700)]
Fix shadowed loop counter.
Chris Duncan [Thu, 27 Aug 2026 17:02:06 +0000 (10:02 -0700)]
Fix max sign/verify message bytelength.
Chris Duncan [Thu, 27 Aug 2026 16:04:41 +0000 (09:04 -0700)]
Refactor I/O buffers to separate per primitive. Reduce bulk block verification size, see src/assembly/index.ts > verify_blocks for more info.
Chris Duncan [Thu, 27 Aug 2026 14:44:15 +0000 (07:44 -0700)]
Test bulk speed improvement with random inputs instead of repeated.
Chris Duncan [Thu, 27 Aug 2026 14:25:14 +0000 (07:25 -0700)]
Reverse hash and signature order to match libsodium convention for combined mode.
Chris Duncan [Thu, 27 Aug 2026 14:15:28 +0000 (07:15 -0700)]
Adjust names and sort order.
Chris Duncan [Thu, 27 Aug 2026 13:53:50 +0000 (06:53 -0700)]
Merge local buffers since execution is all synchronous.
Chris Duncan [Thu, 27 Aug 2026 13:47:47 +0000 (06:47 -0700)]
Clear output buffer and locals prior to execution.
Chris Duncan [Thu, 27 Aug 2026 07:21:31 +0000 (00:21 -0700)]
Delete unused local buffer.
Chris Duncan [Thu, 27 Aug 2026 07:05:15 +0000 (00:05 -0700)]
Compute output buffer size instead of defining.
Chris Duncan [Thu, 27 Aug 2026 07:01:08 +0000 (00:01 -0700)]
Fix exit code treated as Boolean.
Chris Duncan [Thu, 27 Aug 2026 06:53:44 +0000 (23:53 -0700)]
Fix missing cast.
Chris Duncan [Thu, 27 Aug 2026 06:52:10 +0000 (23:52 -0700)]
Fix object that is not a pointer.
Chris Duncan [Thu, 27 Aug 2026 06:48:54 +0000 (23:48 -0700)]
Write verification results directly to output buffer.
Chris Duncan [Thu, 27 Aug 2026 06:44:06 +0000 (23:44 -0700)]
Fix missing parenthesis.
Chris Duncan [Thu, 27 Aug 2026 06:42:27 +0000 (23:42 -0700)]
Skip bulk block verification entirely if public key is invalid.
Chris Duncan [Thu, 27 Aug 2026 04:56:13 +0000 (21:56 -0700)]
Max out message buffer by allowing 341 blocks instead of 256.
Chris Duncan [Thu, 27 Aug 2026 04:53:41 +0000 (21:53 -0700)]
Extract verification speed test so that blocks can be constructed prior to timing.
Chris Duncan [Thu, 27 Aug 2026 04:52:28 +0000 (21:52 -0700)]
Pass max blocks dynamically.
Chris Duncan [Thu, 27 Aug 2026 04:24:39 +0000 (21:24 -0700)]
Add option to check bulk verification on speed test page.
Chris Duncan [Thu, 27 Aug 2026 04:13:31 +0000 (21:13 -0700)]
Split up error messaging for bulk block verification and add unit tests.
Chris Duncan [Thu, 27 Aug 2026 03:54:28 +0000 (20:54 -0700)]
Fix prematurely cleared local buffer.
Chris Duncan [Thu, 27 Aug 2026 03:38:04 +0000 (20:38 -0700)]
Simplify array access.
Chris Duncan [Thu, 27 Aug 2026 03:24:57 +0000 (20:24 -0700)]
Pad fe constants to align with all other FieldElement instances of length 12.
Chris Duncan [Thu, 27 Aug 2026 03:10:51 +0000 (20:10 -0700)]
Update documentation for clarity.
Chris Duncan [Thu, 27 Aug 2026 02:00:17 +0000 (19:00 -0700)]
Rename API parameter to further distinguish it verify_blocks from strict verify.
Chris Duncan [Thu, 27 Aug 2026 01:55:29 +0000 (18:55 -0700)]
Extract public key validation in verify to enable bulk ops.
Chris Duncan [Thu, 27 Aug 2026 01:22:27 +0000 (18:22 -0700)]
Refactor signing to derive the public key from the private key input and compare to the public key input.
Chris Duncan [Wed, 26 Aug 2026 08:40:19 +0000 (01:40 -0700)]
Update agent file.
Chris Duncan [Wed, 26 Aug 2026 08:35:00 +0000 (01:35 -0700)]
Fix buffer clearing.
Chris Duncan [Wed, 26 Aug 2026 08:32:11 +0000 (01:32 -0700)]
Drop initial memory back down since it should fit again.
Chris Duncan [Wed, 26 Aug 2026 08:31:58 +0000 (01:31 -0700)]
Use constant for output buffer size.
Chris Duncan [Wed, 26 Aug 2026 08:15:33 +0000 (01:15 -0700)]
Fix buffer lengths and loop iterators.
Chris Duncan [Wed, 26 Aug 2026 07:52:54 +0000 (00:52 -0700)]
Start building out bulk Nano block verification, inserting all hash/signature pairs into the message buffer and parsing them within WASM.
Chris Duncan [Wed, 26 Aug 2026 05:54:28 +0000 (22:54 -0700)]
Add agent file.
Chris Duncan [Wed, 26 Aug 2026 01:35:16 +0000 (18:35 -0700)]
Remove unnecessary package property.
Chris Duncan [Wed, 26 Aug 2026 01:31:39 +0000 (18:31 -0700)]
Fix reversed parameters.
Chris Duncan [Tue, 25 Aug 2026 21:44:58 +0000 (14:44 -0700)]
Clean up speed test page.
Chris Duncan [Tue, 25 Aug 2026 19:09:07 +0000 (12:09 -0700)]
Break up benchmarks for each primitive.
Chris Duncan [Tue, 25 Aug 2026 18:55:25 +0000 (11:55 -0700)]
Fix a couple more parameter names.
Chris Duncan [Tue, 25 Aug 2026 18:53:17 +0000 (11:53 -0700)]
Update parameters for primitive wrappers to better reflect data.
Chris Duncan [Tue, 25 Aug 2026 18:49:03 +0000 (11:49 -0700)]
Update nano25519 sign test to properly pass private and public keys separately.
Chris Duncan [Tue, 25 Aug 2026 18:41:13 +0000 (11:41 -0700)]
Update verify documentation and separate function variables.
Chris Duncan [Tue, 25 Aug 2026 18:40:36 +0000 (11:40 -0700)]
Fix error message comparison tests.
Chris Duncan [Tue, 25 Aug 2026 17:26:46 +0000 (10:26 -0700)]
Fix documented variable names.
Chris Duncan [Tue, 25 Aug 2026 14:34:56 +0000 (07:34 -0700)]
Bump initial memory to accomodate new signature input buffer.
Chris Duncan [Tue, 25 Aug 2026 14:20:54 +0000 (07:20 -0700)]
Update import example.
Chris Duncan [Tue, 25 Aug 2026 14:03:16 +0000 (07:03 -0700)]
Remove additional documentation of deprecated async module.
Chris Duncan [Tue, 25 Aug 2026 13:13:51 +0000 (06:13 -0700)]
Deprecate additional async references.
Chris Duncan [Tue, 25 Aug 2026 13:01:34 +0000 (06:01 -0700)]
Update node tests to deprecate secret key format.
Chris Duncan [Tue, 25 Aug 2026 12:50:13 +0000 (05:50 -0700)]
Remove async test calls and concatenated secret key vectors.
Chris Duncan [Tue, 25 Aug 2026 00:38:02 +0000 (17:38 -0700)]
Deprecate async module and focus on organizing buffers for batch prep.
Chris Duncan [Mon, 24 Aug 2026 22:26:47 +0000 (15:26 -0700)]
Hoist buffer pointers to only reach into wasm once per buffer instead of every call site. Export buffer sizes for consistency when clearing.
Chris Duncan [Mon, 24 Aug 2026 22:25:17 +0000 (15:25 -0700)]
Fix documentation.
Chris Duncan [Sat, 22 Aug 2026 07:47:14 +0000 (00:47 -0700)]
Merge branch 'next/out-buf'
- derive() and sign() can now optionally take a preallocated output buffer.
- Fixed verify() returning unsigned result instead of signed (-1 vs 255)
- Vastly reduced WASM module size by flattening base point arrays into a plain static memory data segment.
- Added lots more defensive buffer clearing.
- Fixed `equal()`, `negative()`, and `sodium_is_zero()` which silently broke due to AssemblyScript masking shift operands based on bit width.
- Extracted `crypto_derive`, `crypto_sign`, and `crypto_verify` from the WASM index entry point.
- Split async module into separate files for host code and worker code, and inject the worker code string using an esbuild process.
- Updated async error handling to reject all pending tasks when the worker resets.
- Move tests to separate subdirectory, add output buffer and offset coverage, and test a live cemented block from a small-order account that is rejected by strict verification (Nano needs
ed25519 -donna implementation here especially).
Chris Duncan [Sat, 22 Aug 2026 06:41:12 +0000 (23:41 -0700)]
Reduce initial memory now that scratch message buffers are gone.
Chris Duncan [Sat, 22 Aug 2026 06:40:19 +0000 (23:40 -0700)]
Update doc comments.
Chris Duncan [Sat, 22 Aug 2026 06:31:10 +0000 (23:31 -0700)]
Use constant for message length within wasm and clear it with the other buffers.
Chris Duncan [Sat, 22 Aug 2026 06:28:17 +0000 (23:28 -0700)]
Revert to retrieving message buffer directly in wasm since it is fully synchronous, has no re-entry points from host JS, and is never written but only read by Blake2b.
Chris Duncan [Sat, 22 Aug 2026 06:18:29 +0000 (23:18 -0700)]
Clear buffers on message length error.
Chris Duncan [Sat, 22 Aug 2026 06:16:41 +0000 (23:16 -0700)]
Reuse constant for message size to avoid bugs.
Chris Duncan [Sat, 22 Aug 2026 06:15:16 +0000 (23:15 -0700)]
Fix input buffer size references.