]>
zoso.dev Git - libnemo.git/log
Chris Duncan [Fri, 29 Nov 2024 10:45:27 +0000 (02:45 -0800)]
Add typings. Remove unnecessary allocation when hashing.
Chris Duncan [Fri, 29 Nov 2024 10:35:49 +0000 (02:35 -0800)]
We're only going to work in browser environments from here on out, so lose the node crypto implementation. We're also not opening the module up to plugin RNG, so place the relevant code directly in the one place it is used.
Chris Duncan [Fri, 29 Nov 2024 10:26:53 +0000 (02:26 -0800)]
Bite the bullet on formatting.
Chris Duncan [Fri, 29 Nov 2024 10:25:05 +0000 (02:25 -0800)]
Import typing for blake.
Chris Duncan [Fri, 29 Nov 2024 10:20:00 +0000 (02:20 -0800)]
Start adding typings to nano-nacl.
Chris Duncan [Fri, 29 Nov 2024 10:07:25 +0000 (02:07 -0800)]
Simplify ckd implementation with fewer allowed typings.
Chris Duncan [Fri, 29 Nov 2024 09:45:49 +0000 (01:45 -0800)]
Use more concise typing.
Chris Duncan [Fri, 29 Nov 2024 09:39:10 +0000 (01:39 -0800)]
Aha moment: the entire Blake2b class can be passed as an argument into the stringified NanoNaCl worker using an IIFE construct. Brilliant, it works now! Also fix object property name being passed from blake ckd, and update references to renamed account keypair factory method.
Chris Duncan [Fri, 29 Nov 2024 09:32:03 +0000 (01:32 -0800)]
Normalize address prefix in constructor to fix duplicate prefix bug.
Chris Duncan [Fri, 29 Nov 2024 09:24:46 +0000 (01:24 -0800)]
Pass index when creating account from known keypair.
Chris Duncan [Thu, 28 Nov 2024 11:15:19 +0000 (03:15 -0800)]
Pass blake2b through nacl functions. Need to do something about bytes vs hex in blake vs bip wallets.
Chris Duncan [Thu, 28 Nov 2024 10:52:27 +0000 (02:52 -0800)]
Fix nano-nacl exports. Fix bip44 ckd return value. Pass account private key to worker as bytes.
Chris Duncan [Thu, 28 Nov 2024 10:51:09 +0000 (02:51 -0800)]
Fix account factory usage.
Chris Duncan [Thu, 28 Nov 2024 10:40:52 +0000 (02:40 -0800)]
Refactor wallet account methods to start building out for NaCl worker implementation.
Chris Duncan [Thu, 28 Nov 2024 10:21:21 +0000 (02:21 -0800)]
Begin refactoring NaCl implementation to a web worker format.
Chris Duncan [Thu, 28 Nov 2024 10:20:02 +0000 (02:20 -0800)]
Rename for clarity.
Chris Duncan [Thu, 28 Nov 2024 10:19:38 +0000 (02:19 -0800)]
Account class is pretty simple overall, so having async factory methods is not very useful. Refactor them to be synchronous.
Chris Duncan [Thu, 28 Nov 2024 09:14:38 +0000 (01:14 -0800)]
Rename NaCl implementation.
Chris Duncan [Thu, 28 Nov 2024 09:06:03 +0000 (01:06 -0800)]
Rewrite blake2b as class and update references. Add typings and assertions to satisfy TypeScript compiler.
Chris Duncan [Wed, 27 Nov 2024 22:04:04 +0000 (14:04 -0800)]
Condense assertions.
Chris Duncan [Wed, 27 Nov 2024 21:58:09 +0000 (13:58 -0800)]
Add quick performance checks to test page.
Chris Duncan [Wed, 27 Nov 2024 21:53:04 +0000 (13:53 -0800)]
Spaces.
Chris Duncan [Wed, 27 Nov 2024 21:38:13 +0000 (13:38 -0800)]
Delete deprecated worker.
Chris Duncan [Wed, 27 Nov 2024 21:35:10 +0000 (13:35 -0800)]
Update comment header to reflect current purpose.
Chris Duncan [Wed, 27 Nov 2024 21:33:11 +0000 (13:33 -0800)]
Use customized blake implementation and start trying to reoptimize it since it's about 20% slower (but still really fast).
Chris Duncan [Wed, 27 Nov 2024 21:32:30 +0000 (13:32 -0800)]
Rename definition file.
Chris Duncan [Wed, 27 Nov 2024 21:29:23 +0000 (13:29 -0800)]
Copyiing the entire blake2b function string into the web worker proved too expensive, and blake2b is so optimized that web workers are 3x slower even it's embedded directly in the worker, so just revert to implementing the ckd in the wallet itself.
Chris Duncan [Wed, 27 Nov 2024 13:54:20 +0000 (05:54 -0800)]
Remove debug statements.
Chris Duncan [Wed, 27 Nov 2024 08:15:43 +0000 (00:15 -0800)]
Hot damn it worked.
Chris Duncan [Wed, 27 Nov 2024 01:03:53 +0000 (17:03 -0800)]
Save changes.
Chris Duncan [Tue, 26 Nov 2024 22:31:05 +0000 (14:31 -0800)]
Formatting.
Chris Duncan [Tue, 26 Nov 2024 22:26:56 +0000 (14:26 -0800)]
Discard redundant variable.
Chris Duncan [Tue, 26 Nov 2024 22:04:21 +0000 (14:04 -0800)]
Use template literals for error messages.
Chris Duncan [Tue, 26 Nov 2024 22:00:08 +0000 (14:00 -0800)]
Add type guards to function. Spaces.
Chris Duncan [Tue, 26 Nov 2024 21:52:29 +0000 (13:52 -0800)]
Add typings to blake2b functions.
Chris Duncan [Tue, 26 Nov 2024 21:41:13 +0000 (13:41 -0800)]
Clarify array typings.
Chris Duncan [Tue, 26 Nov 2024 20:04:47 +0000 (12:04 -0800)]
Move constants to top.
Chris Duncan [Tue, 26 Nov 2024 20:01:33 +0000 (12:01 -0800)]
Remove deprecated blake2b-wasm references.
Chris Duncan [Tue, 26 Nov 2024 19:42:28 +0000 (11:42 -0800)]
Replace deprecated assert calls with if-throw statements.
Chris Duncan [Tue, 26 Nov 2024 19:33:57 +0000 (11:33 -0800)]
Remove imports.
Chris Duncan [Tue, 26 Nov 2024 19:33:23 +0000 (11:33 -0800)]
Fix documentation of modification.
Chris Duncan [Tue, 26 Nov 2024 19:16:00 +0000 (11:16 -0800)]
Add performance benchmarks to account derivation so it is visible in the browser.
Chris Duncan [Tue, 26 Nov 2024 19:15:37 +0000 (11:15 -0800)]
Add blake2b module code for hacking. Include copyright notice in the file and ISC license from the repository.
Chris Duncan [Tue, 26 Nov 2024 19:14:46 +0000 (11:14 -0800)]
Exporting import.meta.url does not work since once it is bundled, all files share the same URL and the Pool does not know which worker to spin up. It seems like a completely bundled solution will require creating workers from function strings, and that will require embedding all logic inside the worker with no external imports as far as I have been able to determine. Along with exporting workers as function strings, update BLAKE2b ckd to accept blake2b as a function string for its hashing.
Chris Duncan [Tue, 26 Nov 2024 13:41:04 +0000 (05:41 -0800)]
Look into replacing Node test runner with browser-based tool. Remove Node workarounds from workers.
Chris Duncan [Tue, 26 Nov 2024 12:54:28 +0000 (04:54 -0800)]
Get it working in browser, then work backward toward Node testing if possible.
Chris Duncan [Tue, 26 Nov 2024 05:46:54 +0000 (21:46 -0800)]
Add try-catch block to avoid esbuild warnings when building for browser.
Chris Duncan [Mon, 25 Nov 2024 23:07:23 +0000 (15:07 -0800)]
Simplify worker exports.
Chris Duncan [Mon, 25 Nov 2024 22:37:21 +0000 (14:37 -0800)]
Export keyPair as proper object and update its original implementation as a function to a new create function. Create grouped export to make all functions available in one variable. Update relevant import statements. Fix tabs.
Chris Duncan [Mon, 25 Nov 2024 22:25:39 +0000 (14:25 -0800)]
Document change to crypto_hash function.
Chris Duncan [Mon, 25 Nov 2024 22:24:32 +0000 (14:24 -0800)]
Delete extraneous tab from start of every line that has one.
Chris Duncan [Mon, 25 Nov 2024 22:17:11 +0000 (14:17 -0800)]
Delete unused poly1305 function object and unused variables.
Chris Duncan [Mon, 25 Nov 2024 22:11:26 +0000 (14:11 -0800)]
Delete original hash function now that it has been replaced by blake2b and tests are passing.
Chris Duncan [Mon, 25 Nov 2024 22:06:02 +0000 (14:06 -0800)]
Update imports for new nano-nacl filename.
Chris Duncan [Mon, 25 Nov 2024 22:03:55 +0000 (14:03 -0800)]
Rename custom TweetNaCl implementation file.
Chris Duncan [Mon, 25 Nov 2024 21:58:57 +0000 (13:58 -0800)]
Fix hash and signature values in send block test vector.
Chris Duncan [Mon, 25 Nov 2024 21:54:19 +0000 (13:54 -0800)]
Fix send block test not awaiting signature call.
Chris Duncan [Mon, 25 Nov 2024 21:53:55 +0000 (13:53 -0800)]
Tabs.
Chris Duncan [Mon, 25 Nov 2024 20:53:37 +0000 (12:53 -0800)]
Update tools test.
Chris Duncan [Mon, 25 Nov 2024 20:52:39 +0000 (12:52 -0800)]
Fix tools sign function.
Chris Duncan [Mon, 25 Nov 2024 20:50:59 +0000 (12:50 -0800)]
TweetNaCl expects 64-byte secret keys and signatures, and in Nano this is accomplished by concatenating private key and public key, so update sign functions to align.
Chris Duncan [Mon, 25 Nov 2024 20:43:57 +0000 (12:43 -0800)]
Return block hash as hex instead of bytes, and update relevant tests.
Chris Duncan [Mon, 25 Nov 2024 20:31:45 +0000 (12:31 -0800)]
Reorder test block properties.
Chris Duncan [Mon, 25 Nov 2024 19:33:40 +0000 (11:33 -0800)]
Reorder test vector block properties.
Chris Duncan [Mon, 25 Nov 2024 19:33:07 +0000 (11:33 -0800)]
Add signature of test vector open block from Nano docs.
Chris Duncan [Mon, 25 Nov 2024 19:29:35 +0000 (11:29 -0800)]
Include hash in block test vectors to be checked.
Chris Duncan [Mon, 25 Nov 2024 19:03:54 +0000 (11:03 -0800)]
SendBlock constructor expects address for link, not key.
Chris Duncan [Mon, 25 Nov 2024 16:54:56 +0000 (08:54 -0800)]
Add test for open block.
Chris Duncan [Mon, 25 Nov 2024 16:54:37 +0000 (08:54 -0800)]
Substitute hard-coded test vector block values for constants.
Chris Duncan [Mon, 25 Nov 2024 16:46:12 +0000 (08:46 -0800)]
Add block creation test vectors retrieved from Nano documentation.
Chris Duncan [Mon, 25 Nov 2024 06:08:43 +0000 (22:08 -0800)]
Fix order of arguments.
Chris Duncan [Mon, 25 Nov 2024 06:04:33 +0000 (22:04 -0800)]
Rename hash functions to drop in BLAKE2b for nano.
Chris Duncan [Mon, 25 Nov 2024 06:04:04 +0000 (22:04 -0800)]
Delete lowlevel functions that were used by the box API and elsewhere and are unnecessary for nano purposes.
Chris Duncan [Mon, 25 Nov 2024 05:56:48 +0000 (21:56 -0800)]
Delete deprecated constants.
Chris Duncan [Mon, 25 Nov 2024 05:55:25 +0000 (21:55 -0800)]
Delete previously exported lowlevel API since we simply won't be using it.
Chris Duncan [Mon, 25 Nov 2024 05:49:37 +0000 (21:49 -0800)]
Attach export keyword directly to applicable functions and adjust property chain to reflect simplified API.
Chris Duncan [Mon, 25 Nov 2024 05:42:31 +0000 (21:42 -0800)]
Delete previously exported verify function since signatures are verified using sign object functions.
Chris Duncan [Mon, 25 Nov 2024 05:37:40 +0000 (21:37 -0800)]
Delete previously exported secretbox function and related deprecated functions.
Chris Duncan [Mon, 25 Nov 2024 05:34:54 +0000 (21:34 -0800)]
Fix function declaration.
Chris Duncan [Mon, 25 Nov 2024 05:34:20 +0000 (21:34 -0800)]
Delete previously exported scalarMult function.
Chris Duncan [Mon, 25 Nov 2024 05:30:25 +0000 (21:30 -0800)]
Delete previously exported hash function.
Chris Duncan [Mon, 25 Nov 2024 05:28:33 +0000 (21:28 -0800)]
Fix function declaration.
Chris Duncan [Mon, 25 Nov 2024 05:28:23 +0000 (21:28 -0800)]
Delete previously exported box function and related functions made irrelevant.
Chris Duncan [Mon, 25 Nov 2024 04:54:26 +0000 (20:54 -0800)]
Fix function declaration.
Chris Duncan [Mon, 25 Nov 2024 04:49:33 +0000 (20:49 -0800)]
Delete function previously exported but no longer.
Chris Duncan [Mon, 25 Nov 2024 04:47:52 +0000 (20:47 -0800)]
Export only those functions to be used by nano implementation.
Chris Duncan [Sun, 24 Nov 2024 23:22:47 +0000 (15:22 -0800)]
Remove self reference in nacl since we're using it as a module. Replace imports of old implementation.
Chris Duncan [Sun, 24 Nov 2024 22:52:48 +0000 (14:52 -0800)]
Restore original hash function, and include nano blake version as new function.
Chris Duncan [Sun, 24 Nov 2024 22:41:03 +0000 (14:41 -0800)]
Restore changes to tweetnacl and prune extraneous functions created for testing and learning.
Chris Duncan [Sun, 24 Nov 2024 19:40:52 +0000 (11:40 -0800)]
Got account to work with basically vanilla TweetNaCl, so save work and start pruning in subsequent commits.
Chris Duncan [Sat, 23 Nov 2024 09:48:11 +0000 (01:48 -0800)]
Start testing new tweetnacl rewrite in Account.
Chris Duncan [Sat, 23 Nov 2024 09:47:53 +0000 (01:47 -0800)]
No way to import in worker besides as modules, so start figuring out workarounds.
Chris Duncan [Sat, 23 Nov 2024 09:47:23 +0000 (01:47 -0800)]
Start rewriting tweetnacl as module with exports.
Chris Duncan [Sat, 23 Nov 2024 09:07:00 +0000 (01:07 -0800)]
Move passkey file into workers folder.
Chris Duncan [Sat, 23 Nov 2024 09:06:37 +0000 (01:06 -0800)]
Ignore further typescript errors for now.
Chris Duncan [Sat, 23 Nov 2024 09:02:22 +0000 (01:02 -0800)]
Start resolving typescript errors.
Chris Duncan [Sat, 23 Nov 2024 09:02:06 +0000 (01:02 -0800)]
Get type definitions from original source.
Chris Duncan [Sat, 23 Nov 2024 08:50:30 +0000 (00:50 -0800)]
Replace hash function in 25519 implemention
Chris Duncan [Sat, 23 Nov 2024 08:40:55 +0000 (00:40 -0800)]
Document source and reason for changes.
Chris Duncan [Sat, 23 Nov 2024 08:39:39 +0000 (00:39 -0800)]
Commit snapshot from tweetnacl to modify for Nano.