]>
zoso.dev Git - libnemo.git/log
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.
Chris Duncan [Thu, 21 Nov 2024 05:19:07 +0000 (21:19 -0800)]
Increase Node.js listener limit in globals importing during testing.
Chris Duncan [Thu, 21 Nov 2024 05:07:35 +0000 (21:07 -0800)]
Import Pool and add relevant private property to wallet subclasses.
Chris Duncan [Thu, 21 Nov 2024 05:04:42 +0000 (21:04 -0800)]
Organize ckd workers by splitting into separate files according to algorithm.
Chris Duncan [Thu, 21 Nov 2024 04:53:33 +0000 (20:53 -0800)]
Fix premature Pool exit due to isDone return in for loop. Do not remove busy flag from thread until it has reported its results.
Chris Duncan [Thu, 21 Nov 2024 03:36:04 +0000 (19:36 -0800)]
Remove redundant ckd performance test.
Chris Duncan [Thu, 21 Nov 2024 02:41:48 +0000 (18:41 -0800)]
Sort imports.
Chris Duncan [Thu, 21 Nov 2024 02:39:41 +0000 (18:39 -0800)]
Use import aliases in test files.
Chris Duncan [Wed, 20 Nov 2024 21:35:43 +0000 (13:35 -0800)]
Move performance tests into separate folder and add npm script to execute them.
Chris Duncan [Wed, 20 Nov 2024 21:32:42 +0000 (13:32 -0800)]
Add project root alias for local imports.
Chris Duncan [Wed, 20 Nov 2024 08:24:45 +0000 (00:24 -0800)]
Merge branch 'main' into threads
Chris Duncan [Wed, 20 Nov 2024 08:18:25 +0000 (00:18 -0800)]
Update version.
Chris Duncan [Wed, 20 Nov 2024 08:11:24 +0000 (00:11 -0800)]
In Tools, deprecate blake2b function in favor of simpler hash function already exported to reduce confusion with package of the same name, and add an encoding flag to allow strings already encoded to hexadecimal like nano blocks.
Chris Duncan [Wed, 20 Nov 2024 02:06:01 +0000 (18:06 -0800)]
Explicitly define esbuild platform when building, even though browser is the default.
Chris Duncan [Wed, 20 Nov 2024 01:14:35 +0000 (17:14 -0800)]
Add flag to force exit if long running tests (like when worker thread listeners are active) need to be closed.
Chris Duncan [Wed, 20 Nov 2024 01:13:16 +0000 (17:13 -0800)]
Tabs.
Chris Duncan [Wed, 20 Nov 2024 01:12:38 +0000 (17:12 -0800)]
Tabs and arrow notation.
Chris Duncan [Wed, 20 Nov 2024 01:09:16 +0000 (17:09 -0800)]
Tabs.
Chris Duncan [Wed, 20 Nov 2024 01:07:16 +0000 (17:07 -0800)]
Additional tests for wallet properties.
Chris Duncan [Wed, 20 Nov 2024 00:44:14 +0000 (16:44 -0800)]
Use arrow notation for tests.
Chris Duncan [Wed, 20 Nov 2024 00:40:50 +0000 (16:40 -0800)]
Switch to blake2b package from blake2b-wasm for ckd worker.
Chris Duncan [Wed, 20 Nov 2024 00:37:32 +0000 (16:37 -0800)]
Restore ckd worker file.
Chris Duncan [Tue, 19 Nov 2024 18:50:21 +0000 (10:50 -0800)]
Merge changes from main.
Chris Duncan [Tue, 19 Nov 2024 16:56:21 +0000 (08:56 -0800)]
Remove auto-added import statement.
Chris Duncan [Tue, 19 Nov 2024 07:18:04 +0000 (23:18 -0800)]
Update version.
Chris Duncan [Tue, 19 Nov 2024 07:16:32 +0000 (23:16 -0800)]
Fix typo.
Chris Duncan [Tue, 19 Nov 2024 07:15:50 +0000 (23:15 -0800)]
Ignore test coverage file.
Chris Duncan [Tue, 19 Nov 2024 07:13:02 +0000 (23:13 -0800)]
Lock and unlock is pretty solid, so remove flag for skipping relevant tests.
Chris Duncan [Tue, 19 Nov 2024 07:10:57 +0000 (23:10 -0800)]
Indicate to esbuild when browser bundle is being built versus when Node tests are running.
Chris Duncan [Tue, 19 Nov 2024 07:08:31 +0000 (23:08 -0800)]
Document test vector sources in TEST_VECTORS file, and remove repetitive warning from individual test files in favor of one very clear warning above test vector values.
Chris Duncan [Tue, 19 Nov 2024 07:04:53 +0000 (23:04 -0800)]
Newline for legibility.
Chris Duncan [Tue, 19 Nov 2024 07:03:21 +0000 (23:03 -0800)]
In Wallet class, greatly expand on accounts method documentation.
Chris Duncan [Tue, 19 Nov 2024 07:01:57 +0000 (23:01 -0800)]
Assign private property in Safe constructor.
Chris Duncan [Tue, 19 Nov 2024 06:58:25 +0000 (22:58 -0800)]
Newlines for legibility.
Chris Duncan [Tue, 19 Nov 2024 06:55:55 +0000 (22:55 -0800)]
Integrate blake2b package, replacing blakejs and blake2b-wasm. Restore arrow notation to test methods. Remove ckd and thread class files for now, perhaps to be implemented later.
Chris Duncan [Mon, 18 Nov 2024 23:22:57 +0000 (15:22 -0800)]
Re-re-factor Thread back to Pool. It doesn't have an application in this library at the moment, but perhaps in the future.
Chris Duncan [Mon, 18 Nov 2024 21:51:17 +0000 (13:51 -0800)]
Tabs.
Chris Duncan [Mon, 18 Nov 2024 21:48:07 +0000 (13:48 -0800)]
Move performance tests to separate file. Move warning about sending funds to test vectors into TEST_VECTORS file only. In Wallet class, expand documentation of accounts method.
Chris Duncan [Mon, 18 Nov 2024 20:15:01 +0000 (12:15 -0800)]
Refactor passkey function to immediately execute polyfill if needed and export the function as a data URL string instead of a blob URL which doesn't work for creating workers. Test replacing key creation in Safe class with message to worker. Add data shape checks to wallet creation test. Add wallet gen performance tests.
Chris Duncan [Mon, 18 Nov 2024 18:02:46 +0000 (10:02 -0800)]
Create web worker to generate AES-GCM keys for locking wallets and accounts since generating them from a password involves the long-running PBKDF2 process.
Chris Duncan [Mon, 18 Nov 2024 17:52:51 +0000 (09:52 -0800)]
Create Thread class to manage worker messages in an asynchronous queue, and begin implementation in Safe class.
Chris Duncan [Mon, 18 Nov 2024 14:21:03 +0000 (06:21 -0800)]
In BIP-32/44 keygen, add type guard against input to serialization functions and replace positional set of typed array with padding argument in call to Convert function. In Safe class, fix session storage reference. In Tools class, remove littleEndian function deprecated by bugfix. In Wallet class, substitute blakejs package for blake2b-wasm; refer to getter for Ledger service instead of private property; throw error if Ledger account ckd fails so that parent abstract ckd method can return an Account guaranteed; refactor accounts function to save an allocation; add type guard to ckd implementations; remove unused imports. In TEST_VECTORS, move session storage custom polyfill for testing to separate GLOBALS file; document source of Trezor test vectors; tweak names of constants for clarity when using. In tests, use new GLOBALS file; add ckd performance test for generating 2^15 accounts; fix BLAKE2b ckd tests by adding more public/private key checks; skip sweep tool test since it can cause test failures due to node limits; reorganize wallet generation and account derivation test suites to separate concerns; remove unknown test vectors from original library.
Chris Duncan [Sun, 17 Nov 2024 08:36:41 +0000 (00:36 -0800)]
Web Worker showed no performance benefit, so revert it.
Chris Duncan [Sun, 17 Nov 2024 07:24:48 +0000 (23:24 -0800)]
Update dependencies.
Chris Duncan [Sun, 17 Nov 2024 07:24:38 +0000 (23:24 -0800)]
Use new WASM blake hashing module. Eliminate an import within worker file by performing calculations explicitly.
Chris Duncan [Sun, 17 Nov 2024 07:21:51 +0000 (23:21 -0800)]
Worker global override for node testing was moved to wallet, so remove it from custom polyfill.
Chris Duncan [Sun, 17 Nov 2024 07:21:04 +0000 (23:21 -0800)]
Reintroduce former Pool as Thread so that ckd tasks can be managed in a queue.
Chris Duncan [Sun, 17 Nov 2024 07:19:53 +0000 (23:19 -0800)]
Fix test import references.
Chris Duncan [Sun, 17 Nov 2024 01:16:39 +0000 (17:16 -0800)]
Start substitution of blakejs with blake2b package.
Chris Duncan [Sun, 17 Nov 2024 01:16:12 +0000 (17:16 -0800)]
Reorganize wallet tests to remove unknown vectors, simplify messaging, and ignore account derivation since that is tested in another file.
Chris Duncan [Sat, 16 Nov 2024 21:12:31 +0000 (13:12 -0800)]
Scrap worker pool in favor of one worker per wallet.
Chris Duncan [Tue, 12 Nov 2024 21:51:14 +0000 (13:51 -0800)]
Web worker doesn't pass complex objects like Account, so return private key instead and construct the account in the wallet.
Chris Duncan [Mon, 11 Nov 2024 10:02:06 +0000 (02:02 -0800)]
Start testing ckd pool.
Chris Duncan [Mon, 11 Nov 2024 10:01:03 +0000 (02:01 -0800)]
Pass postMessage as handler instead of calling it after ckd.
Chris Duncan [Mon, 11 Nov 2024 09:59:56 +0000 (01:59 -0800)]
Move function and make it private.
Chris Duncan [Mon, 11 Nov 2024 09:59:26 +0000 (01:59 -0800)]
Throw on invalid Ledger accounts.
Chris Duncan [Mon, 11 Nov 2024 09:58:23 +0000 (01:58 -0800)]
Fix invalid index size.
Chris Duncan [Mon, 11 Nov 2024 09:27:33 +0000 (01:27 -0800)]
Move polyfills into separate file from test vectors, and redesign them as side effect imports.
Chris Duncan [Mon, 11 Nov 2024 05:35:13 +0000 (21:35 -0800)]
Performance test does not show a huge improvement (half a second over a million records) using Promise.all so revert to simpler implementation.
Chris Duncan [Sun, 10 Nov 2024 22:12:12 +0000 (14:12 -0800)]
Throw if Ledger account derivation fails so that null result can be removed. Derive accounts in parallel with Promise.all.
Chris Duncan [Sun, 10 Nov 2024 21:25:59 +0000 (13:25 -0800)]
Fix BLAKE2b ckd using 16-bit index instead of 32-bit.
Chris Duncan [Sun, 10 Nov 2024 21:25:03 +0000 (13:25 -0800)]
Test additional accounts when deriving from BLAKE2b wallet. Test more BLAKE2b wallet seeds. Use Trezor wallet password instead of Nano password for consistency with Trezor test vectors.
Chris Duncan [Sun, 10 Nov 2024 21:23:14 +0000 (13:23 -0800)]
Adjust test vector names to accomodate broader data set.
Chris Duncan [Sun, 10 Nov 2024 21:06:41 +0000 (13:06 -0800)]
Document test vector sources.