- 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).