]> zoso.dev Git - libnemo.git/log
libnemo.git
2 weeks agoIgnore further typescript errors for now.
Chris Duncan [Sat, 23 Nov 2024 09:06:37 +0000 (01:06 -0800)]
Ignore further typescript errors for now.

2 weeks agoStart resolving typescript errors.
Chris Duncan [Sat, 23 Nov 2024 09:02:22 +0000 (01:02 -0800)]
Start resolving typescript errors.

2 weeks agoGet type definitions from original source.
Chris Duncan [Sat, 23 Nov 2024 09:02:06 +0000 (01:02 -0800)]
Get type definitions from original source.

2 weeks agoReplace hash function in 25519 implemention
Chris Duncan [Sat, 23 Nov 2024 08:50:30 +0000 (00:50 -0800)]
Replace hash function in 25519 implemention

2 weeks agoDocument source and reason for changes.
Chris Duncan [Sat, 23 Nov 2024 08:40:55 +0000 (00:40 -0800)]
Document source and reason for changes.

2 weeks agoCommit snapshot from tweetnacl to modify for Nano.
Chris Duncan [Sat, 23 Nov 2024 08:39:39 +0000 (00:39 -0800)]
Commit snapshot from tweetnacl to modify for Nano.

2 weeks agoEliminate unused commented section.
Chris Duncan [Fri, 22 Nov 2024 11:59:13 +0000 (03:59 -0800)]
Eliminate unused commented section.

2 weeks agoEliminate remaining imported convert functions. Add type guard to initial seed ingest...
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.

2 weeks agoStart eliminating imports from BIP-44 ckd worker since they are problematic for testi...
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.

2 weeks agoSave work on testing browser compatibility.
Chris Duncan [Thu, 21 Nov 2024 23:10:35 +0000 (15:10 -0800)]
Save work on testing browser compatibility.

3 weeks agoRemove deprecated ckd functions from wallet subclasses. Fix freeze from ckd being...
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.

3 weeks agoWorker threads do not seem to improve BLAKE2b ckd much, but BIP-44 ckd is 5x faster...
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.

3 weeks agoCreate new ckd functions for BIP-44 and BLAKE2b. Set up class for A/B performance...
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.

3 weeks agoSkip wallet performance tests for now while refactoring ckd functions.
Chris Duncan [Thu, 21 Nov 2024 05:53:43 +0000 (21:53 -0800)]
Skip wallet performance tests for now while refactoring ckd functions.

3 weeks agoRemove pool logging.
Chris Duncan [Thu, 21 Nov 2024 05:44:56 +0000 (21:44 -0800)]
Remove pool logging.

3 weeks agoRemove duplicate ckd function. Post index along with key from worker back to caller.
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.

3 weeks agoRename performance test files for clarity in IDE.
Chris Duncan [Thu, 21 Nov 2024 05:25:23 +0000 (21:25 -0800)]
Rename performance test files for clarity in IDE.

3 weeks agoAdd small log statement for tracking pool performance.
Chris Duncan [Thu, 21 Nov 2024 05:23:51 +0000 (21:23 -0800)]
Add small log statement for tracking pool performance.

3 weeks agoIncrease Node.js listener limit in globals importing during testing.
Chris Duncan [Thu, 21 Nov 2024 05:19:07 +0000 (21:19 -0800)]
Increase Node.js listener limit in globals importing during testing.

3 weeks agoImport Pool and add relevant private property to wallet subclasses.
Chris Duncan [Thu, 21 Nov 2024 05:07:35 +0000 (21:07 -0800)]
Import Pool and add relevant private property to wallet subclasses.

3 weeks agoOrganize ckd workers by splitting into separate files according to algorithm.
Chris Duncan [Thu, 21 Nov 2024 05:04:42 +0000 (21:04 -0800)]
Organize ckd workers by splitting into separate files according to algorithm.

3 weeks agoFix premature Pool exit due to isDone return in for loop. Do not remove busy flag...
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.

3 weeks agoRemove redundant ckd performance test.
Chris Duncan [Thu, 21 Nov 2024 03:36:04 +0000 (19:36 -0800)]
Remove redundant ckd performance test.

3 weeks agoSort imports.
Chris Duncan [Thu, 21 Nov 2024 02:41:48 +0000 (18:41 -0800)]
Sort imports.

3 weeks agoUse import aliases in test files.
Chris Duncan [Thu, 21 Nov 2024 02:39:41 +0000 (18:39 -0800)]
Use import aliases in test files.

3 weeks agoMove performance tests into separate folder and add npm script to execute them.
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.

3 weeks agoAdd project root alias for local imports.
Chris Duncan [Wed, 20 Nov 2024 21:32:42 +0000 (13:32 -0800)]
Add project root alias for local imports.

3 weeks agoMerge branch 'main' into threads
Chris Duncan [Wed, 20 Nov 2024 08:24:45 +0000 (00:24 -0800)]
Merge branch 'main' into threads

3 weeks agoUpdate version. main v0.0.21
Chris Duncan [Wed, 20 Nov 2024 08:18:25 +0000 (00:18 -0800)]
Update version.

3 weeks agoIn Tools, deprecate blake2b function in favor of simpler hash function already export...
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.

3 weeks agoExplicitly define esbuild platform when building, even though browser is the default.
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.

3 weeks agoAdd flag to force exit if long running tests (like when worker thread listeners are...
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.

3 weeks agoTabs.
Chris Duncan [Wed, 20 Nov 2024 01:13:16 +0000 (17:13 -0800)]
Tabs.

3 weeks agoTabs and arrow notation.
Chris Duncan [Wed, 20 Nov 2024 01:12:38 +0000 (17:12 -0800)]
Tabs and arrow notation.

3 weeks agoTabs.
Chris Duncan [Wed, 20 Nov 2024 01:09:16 +0000 (17:09 -0800)]
Tabs.

3 weeks agoAdditional tests for wallet properties.
Chris Duncan [Wed, 20 Nov 2024 01:07:16 +0000 (17:07 -0800)]
Additional tests for wallet properties.

3 weeks agoUse arrow notation for tests.
Chris Duncan [Wed, 20 Nov 2024 00:44:14 +0000 (16:44 -0800)]
Use arrow notation for tests.

3 weeks agoSwitch to blake2b package from blake2b-wasm for ckd worker.
Chris Duncan [Wed, 20 Nov 2024 00:40:50 +0000 (16:40 -0800)]
Switch to blake2b package from blake2b-wasm for ckd worker.

3 weeks agoRestore ckd worker file.
Chris Duncan [Wed, 20 Nov 2024 00:37:32 +0000 (16:37 -0800)]
Restore ckd worker file.

3 weeks agoMerge changes from main.
Chris Duncan [Tue, 19 Nov 2024 18:50:21 +0000 (10:50 -0800)]
Merge changes from main.

3 weeks agoRemove auto-added import statement.
Chris Duncan [Tue, 19 Nov 2024 16:56:21 +0000 (08:56 -0800)]
Remove auto-added import statement.

3 weeks agoUpdate version. v0.0.20
Chris Duncan [Tue, 19 Nov 2024 07:18:04 +0000 (23:18 -0800)]
Update version.

3 weeks agoFix typo.
Chris Duncan [Tue, 19 Nov 2024 07:16:32 +0000 (23:16 -0800)]
Fix typo.

3 weeks agoIgnore test coverage file.
Chris Duncan [Tue, 19 Nov 2024 07:15:50 +0000 (23:15 -0800)]
Ignore test coverage file.

3 weeks agoLock and unlock is pretty solid, so remove flag for skipping relevant tests.
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.

3 weeks agoIndicate to esbuild when browser bundle is being built versus when Node tests are...
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.

3 weeks agoDocument test vector sources in TEST_VECTORS file, and remove repetitive warning...
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.

3 weeks agoNewline for legibility.
Chris Duncan [Tue, 19 Nov 2024 07:04:53 +0000 (23:04 -0800)]
Newline for legibility.

3 weeks agoIn Wallet class, greatly expand on accounts method documentation.
Chris Duncan [Tue, 19 Nov 2024 07:03:21 +0000 (23:03 -0800)]
In Wallet class, greatly expand on accounts method documentation.

3 weeks agoAssign private property in Safe constructor.
Chris Duncan [Tue, 19 Nov 2024 07:01:57 +0000 (23:01 -0800)]
Assign private property in Safe constructor.

3 weeks agoNewlines for legibility.
Chris Duncan [Tue, 19 Nov 2024 06:58:25 +0000 (22:58 -0800)]
Newlines for legibility.

3 weeks agoIntegrate blake2b package, replacing blakejs and blake2b-wasm. Restore arrow notation...
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.

3 weeks agoRe-re-factor Thread back to Pool. It doesn't have an application in this library...
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.

3 weeks agoTabs.
Chris Duncan [Mon, 18 Nov 2024 21:51:17 +0000 (13:51 -0800)]
Tabs.

3 weeks agoMove performance tests to separate file. Move warning about sending funds to test...
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.

3 weeks agoRefactor passkey function to immediately execute polyfill if needed and export the...
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.

3 weeks agoCreate web worker to generate AES-GCM keys for locking wallets and accounts since...
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.

3 weeks agoCreate Thread class to manage worker messages in an asynchronous queue, and begin...
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.

3 weeks agoIn BIP-32/44 keygen, add type guard against input to serialization functions and...
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.

3 weeks agoWeb Worker showed no performance benefit, so revert it.
Chris Duncan [Sun, 17 Nov 2024 08:36:41 +0000 (00:36 -0800)]
Web Worker showed no performance benefit, so revert it.

3 weeks agoUpdate dependencies.
Chris Duncan [Sun, 17 Nov 2024 07:24:48 +0000 (23:24 -0800)]
Update dependencies.

3 weeks agoUse new WASM blake hashing module. Eliminate an import within worker file by performi...
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.

3 weeks agoWorker global override for node testing was moved to wallet, so remove it from custom...
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.

3 weeks agoReintroduce former Pool as Thread so that ckd tasks can be managed in a queue.
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.

3 weeks agoFix test import references.
Chris Duncan [Sun, 17 Nov 2024 07:19:53 +0000 (23:19 -0800)]
Fix test import references.

3 weeks agoStart substitution of blakejs with blake2b package.
Chris Duncan [Sun, 17 Nov 2024 01:16:39 +0000 (17:16 -0800)]
Start substitution of blakejs with blake2b package.

3 weeks agoReorganize wallet tests to remove unknown vectors, simplify messaging, and ignore...
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.

3 weeks agoScrap worker pool in favor of one worker per wallet.
Chris Duncan [Sat, 16 Nov 2024 21:12:31 +0000 (13:12 -0800)]
Scrap worker pool in favor of one worker per wallet.

4 weeks agoWeb worker doesn't pass complex objects like Account, so return private key instead...
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.

4 weeks agoStart testing ckd pool.
Chris Duncan [Mon, 11 Nov 2024 10:02:06 +0000 (02:02 -0800)]
Start testing ckd pool.

4 weeks agoPass postMessage as handler instead of calling it after ckd.
Chris Duncan [Mon, 11 Nov 2024 10:01:03 +0000 (02:01 -0800)]
Pass postMessage as handler instead of calling it after ckd.

4 weeks agoMove function and make it private.
Chris Duncan [Mon, 11 Nov 2024 09:59:56 +0000 (01:59 -0800)]
Move function and make it private.

4 weeks agoThrow on invalid Ledger accounts.
Chris Duncan [Mon, 11 Nov 2024 09:59:26 +0000 (01:59 -0800)]
Throw on invalid Ledger accounts.

4 weeks agoFix invalid index size.
Chris Duncan [Mon, 11 Nov 2024 09:58:23 +0000 (01:58 -0800)]
Fix invalid index size.

4 weeks agoMove polyfills into separate file from test vectors, and redesign them as side effect...
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.

4 weeks agoPerformance test does not show a huge improvement (half a second over a million recor...
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.

4 weeks agoThrow if Ledger account derivation fails so that null result can be removed. Derive...
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.

4 weeks agoFix BLAKE2b ckd using 16-bit index instead of 32-bit.
Chris Duncan [Sun, 10 Nov 2024 21:25:59 +0000 (13:25 -0800)]
Fix BLAKE2b ckd using 16-bit index instead of 32-bit.

4 weeks agoTest additional accounts when deriving from BLAKE2b wallet. Test more BLAKE2b wallet...
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.

4 weeks agoAdjust test vector names to accomodate broader data set.
Chris Duncan [Sun, 10 Nov 2024 21:23:14 +0000 (13:23 -0800)]
Adjust test vector names to accomodate broader data set.

4 weeks agoDocument test vector sources.
Chris Duncan [Sun, 10 Nov 2024 21:06:41 +0000 (13:06 -0800)]
Document test vector sources.

4 weeks agoIndicate algorithm for test vectors instead of source.
Chris Duncan [Sun, 10 Nov 2024 21:04:02 +0000 (13:04 -0800)]
Indicate algorithm for test vectors instead of source.

4 weeks agoRefactor pool and ckd.
Chris Duncan [Sun, 10 Nov 2024 10:42:30 +0000 (02:42 -0800)]
Refactor pool and ckd.

4 weeks agow
Chris Duncan [Sat, 9 Nov 2024 09:27:34 +0000 (01:27 -0800)]
w

4 weeks agow
Chris Duncan [Sat, 9 Nov 2024 08:53:33 +0000 (00:53 -0800)]
w

4 weeks agot
Chris Duncan [Sat, 9 Nov 2024 02:26:36 +0000 (18:26 -0800)]
t

4 weeks agoSkip sweep test until it can be debugged better.
Chris Duncan [Fri, 8 Nov 2024 20:03:58 +0000 (12:03 -0800)]
Skip sweep test until it can be debugged better.

4 weeks agoRevert promisification of serialize functions in BIP-32 ckd algorithm. Add type guard...
Chris Duncan [Fri, 8 Nov 2024 18:48:00 +0000 (10:48 -0800)]
Revert promisification of serialize functions in BIP-32 ckd algorithm. Add type guards to serialization functions and log actual value instead of binary representation on errors. Simplify byte array construction and return now that convert methods accept padding values.

4 weeks agoBreak up sweep statements for legibility.
Chris Duncan [Fri, 8 Nov 2024 18:43:39 +0000 (10:43 -0800)]
Break up sweep statements for legibility.

4 weeks agoPromisify BIP-44 serialization methods.
Chris Duncan [Fri, 8 Nov 2024 17:06:16 +0000 (09:06 -0800)]
Promisify BIP-44 serialization methods.

4 weeks agoAdd stress test for deriving 2^15 accounts which is skipped by default.
Chris Duncan [Fri, 8 Nov 2024 17:03:59 +0000 (09:03 -0800)]
Add stress test for deriving 2^15 accounts which is skipped by default.

5 weeks agoUpdate version. v0.0.19
Chris Duncan [Wed, 6 Nov 2024 07:09:30 +0000 (23:09 -0800)]
Update version.

5 weeks agoNano spec indicates account derivation should use index in unsigned 32-bit big endian...
Chris Duncan [Wed, 6 Nov 2024 07:08:21 +0000 (23:08 -0800)]
Nano spec indicates account derivation should use index in unsigned 32-bit big endian format. This is opposite of many processor architectures, so add a check for endianness for BLAKE2b wallet accounts. Also move function to be in alphabetical order.

5 weeks agoFix test vector constant references.
Chris Duncan [Wed, 6 Nov 2024 07:05:43 +0000 (23:05 -0800)]
Fix test vector constant references.

5 weeks agoRemove unnecessary argument.
Chris Duncan [Wed, 6 Nov 2024 06:01:46 +0000 (22:01 -0800)]
Remove unnecessary argument.

5 weeks agoFix test vectors.
Chris Duncan [Wed, 6 Nov 2024 06:01:12 +0000 (22:01 -0800)]
Fix test vectors.

5 weeks agoTabs not spaces.
Chris Duncan [Wed, 6 Nov 2024 05:31:15 +0000 (21:31 -0800)]
Tabs not spaces.

5 weeks agoAdd test vector data from publicly available tool at https://tools.nanos.cc/?tool...
Chris Duncan [Wed, 6 Nov 2024 04:48:12 +0000 (20:48 -0800)]
Add test vector data from publicly available tool at https://tools.nanos.cc/?tool=seed

5 weeks agoUpdate version. v0.0.18
Chris Duncan [Sat, 2 Nov 2024 08:36:58 +0000 (01:36 -0700)]
Update version.

5 weeks agoAdd option to restore LedgerWallet from a wallet ID.
Chris Duncan [Sat, 2 Nov 2024 08:36:02 +0000 (01:36 -0700)]
Add option to restore LedgerWallet from a wallet ID.