]>
zoso.dev Git - libnemo.git/log
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.
Chris Duncan [Fri, 22 Nov 2024 11:59:13 +0000 (03:59 -0800)]
Eliminate unused commented section.
Chris Duncan [Fri, 22 Nov 2024 11:58:26 +0000 (03:58 -0800)]
Eliminate remaining imported convert functions. Add type guard to initial seed ingestion. Pass around DataViews instead of strings.
Chris Duncan [Fri, 22 Nov 2024 10:12:09 +0000 (02:12 -0800)]
Start eliminating imports from BIP-44 ckd worker since they are problematic for testing with Node and also bundling for the browser.
Chris Duncan [Thu, 21 Nov 2024 23:10:35 +0000 (15:10 -0800)]
Save work on testing browser compatibility.
Chris Duncan [Thu, 21 Nov 2024 06:25:42 +0000 (22:25 -0800)]
Remove deprecated ckd functions from wallet subclasses. Fix freeze from ckd being called on empty array of indexes. Throw error if index of derived account is missing instead of just logging to the console.
Chris Duncan [Thu, 21 Nov 2024 06:04:28 +0000 (22:04 -0800)]
Worker threads do not seem to improve BLAKE2b ckd much, but BIP-44 ckd is 5x faster. This commit saves the work, and the next commit will clean up the logging and old functions.
Chris Duncan [Thu, 21 Nov 2024 05:54:25 +0000 (21:54 -0800)]
Create new ckd functions for BIP-44 and BLAKE2b. Set up class for A/B performance testing.
Chris Duncan [Thu, 21 Nov 2024 05:53:43 +0000 (21:53 -0800)]
Skip wallet performance tests for now while refactoring ckd functions.
Chris Duncan [Thu, 21 Nov 2024 05:44:56 +0000 (21:44 -0800)]
Remove pool logging.
Chris Duncan [Thu, 21 Nov 2024 05:34:08 +0000 (21:34 -0800)]
Remove duplicate ckd function. Post index along with key from worker back to caller.
Chris Duncan [Thu, 21 Nov 2024 05:25:23 +0000 (21:25 -0800)]
Rename performance test files for clarity in IDE.
Chris Duncan [Thu, 21 Nov 2024 05:23:51 +0000 (21:23 -0800)]
Add small log statement for tracking pool performance.