]> zoso.dev Git - libnemo.git/log
libnemo.git
4 months agoReorganize compilation into static initialization block.
Chris Duncan [Sun, 15 Dec 2024 07:30:25 +0000 (23:30 -0800)]
Reorganize compilation into static initialization block.

4 months agoPREVIOUS COMMIT IS TESTED AND WORKING. This commit starts moving more compilation...
Chris Duncan [Sun, 15 Dec 2024 05:13:21 +0000 (21:13 -0800)]
PREVIOUS COMMIT IS TESTED AND WORKING. This commit starts moving more compilation into static members instead of being called on every draw().

4 months agoFix hash processing loop ending early and rely on WebGL to use appropriate endianness...
Chris Duncan [Sun, 15 Dec 2024 03:29:49 +0000 (19:29 -0800)]
Fix hash processing loop ending early and rely on WebGL to use appropriate endianness from buffer. Pass threshold into shader as a uniform.

4 months agoSecond attempt at parsing block hash from hex to uint LE.
Chris Duncan [Sat, 14 Dec 2024 10:02:38 +0000 (02:02 -0800)]
Second attempt at parsing block hash from hex to uint LE.

4 months agoRevert "Initial implementation of precalculated block hash components."
Chris Duncan [Sat, 14 Dec 2024 09:58:02 +0000 (01:58 -0800)]
Revert "Initial implementation of precalculated block hash components."

This reverts commit 5c1beff8308bf6273d6fd31e91521e2f0a125a0d.

4 months agoUse number only for threshold.
Chris Duncan [Sat, 14 Dec 2024 04:56:52 +0000 (20:56 -0800)]
Use number only for threshold.

4 months agoInitial implementation of precalculated block hash components.
Chris Duncan [Fri, 13 Dec 2024 23:53:00 +0000 (15:53 -0800)]
Initial implementation of precalculated block hash components.

4 months agoInclud original pow lib in dev dependencies.
Chris Duncan [Fri, 13 Dec 2024 22:18:29 +0000 (14:18 -0800)]
Includ original pow lib in dev dependencies.

4 months agoAdd test to compare original PoW lib to our modifications.
Chris Duncan [Fri, 13 Dec 2024 22:18:00 +0000 (14:18 -0800)]
Add test to compare original PoW lib to our modifications.

4 months agoTweak comment.
Chris Duncan [Fri, 13 Dec 2024 22:14:26 +0000 (14:14 -0800)]
Tweak comment.

4 months agoSimplify canvas config with a single static constant.
Chris Duncan [Fri, 13 Dec 2024 20:14:36 +0000 (12:14 -0800)]
Simplify canvas config with a single static constant.

4 months agoScrap async readPixels. Use perf marks to measure. Revert reverse loop that is actual...
Chris Duncan [Fri, 13 Dec 2024 18:54:56 +0000 (10:54 -0800)]
Scrap async readPixels. Use perf marks to measure. Revert reverse loop that is actually negatively affecting performance. Revert canvas size to match original lib for testing. Get rid of redundant function in shader.

4 months agoTry async readPixels from MDN.
Chris Duncan [Thu, 12 Dec 2024 23:50:51 +0000 (15:50 -0800)]
Try async readPixels from MDN.

4 months agoRemove redundant work logging.
Chris Duncan [Thu, 12 Dec 2024 21:26:26 +0000 (13:26 -0800)]
Remove redundant work logging.

4 months agoWorker result is always currently returned as buffer so fix handling.
Chris Duncan [Thu, 12 Dec 2024 21:26:13 +0000 (13:26 -0800)]
Worker result is always currently returned as buffer so fix handling.

4 months agoCondense introductory code of calculate function. Remove logging of readPixels since...
Chris Duncan [Thu, 12 Dec 2024 21:25:18 +0000 (13:25 -0800)]
Condense introductory code of calculate function. Remove logging of readPixels since we know it is the longest operation. Clarify callback execution by separating its argument.

4 months agoFix test name.
Chris Duncan [Thu, 12 Dec 2024 20:12:31 +0000 (12:12 -0800)]
Fix test name.

4 months agoScrap isTransferable since really we're only concerned with ArrayBuffers. Update...
Chris Duncan [Thu, 12 Dec 2024 20:02:41 +0000 (12:02 -0800)]
Scrap isTransferable since really we're only concerned with ArrayBuffers. Update worker listener to handle buffers.

4 months agoRemove check for object only available in DedicatedWorkers and not main thread.
Chris Duncan [Thu, 12 Dec 2024 17:19:22 +0000 (09:19 -0800)]
Remove check for object only available in DedicatedWorkers and not main thread.

4 months agoFix if-else nesting bug.
Chris Duncan [Thu, 12 Dec 2024 17:18:27 +0000 (09:18 -0800)]
Fix if-else nesting bug.

4 months agoEliminate an allocation by making work arrays static since they are randomized on...
Chris Duncan [Thu, 12 Dec 2024 17:17:50 +0000 (09:17 -0800)]
Eliminate an allocation by making work arrays static since they are randomized on every draw call anyway.

4 months agoAdd pool function to check if object should be transferred to the worker directly...
Chris Duncan [Thu, 12 Dec 2024 14:59:27 +0000 (06:59 -0800)]
Add pool function to check if object should be transferred to the worker directly instead of encoding its JSON representation.

4 months agoGet rid of extraneous logging.
Chris Duncan [Thu, 12 Dec 2024 06:30:44 +0000 (22:30 -0800)]
Get rid of extraneous logging.

4 months agoSpeed up initial PoW calculation by caching the canvas and context when worker is...
Chris Duncan [Thu, 12 Dec 2024 06:14:39 +0000 (22:14 -0800)]
Speed up initial PoW calculation by caching the canvas and context when worker is loaded. Add a bunch of logging for testing. Reverse pixel checking loop to work backwards from the end which is faster.

4 months agoPerformance testing.
Chris Duncan [Thu, 12 Dec 2024 00:12:35 +0000 (16:12 -0800)]
Performance testing.

4 months agoImplement once-called function inline, and move validation to top of calculate function.
Chris Duncan [Wed, 11 Dec 2024 22:07:10 +0000 (14:07 -0800)]
Implement once-called function inline, and move validation to top of calculate function.

4 months agoRemove progress callback and reorganize Pow parameters. Increase canvas size and...
Chris Duncan [Wed, 11 Dec 2024 21:55:23 +0000 (13:55 -0800)]
Remove progress callback and reorganize Pow parameters. Increase canvas size and remove loop since apparently shaders are not designed for long-running operations.

4 months agoLog work for testing.
Chris Duncan [Wed, 11 Dec 2024 04:01:45 +0000 (20:01 -0800)]
Log work for testing.

4 months agoDecrease pow frames.
Chris Duncan [Wed, 11 Dec 2024 04:01:32 +0000 (20:01 -0800)]
Decrease pow frames.

4 months agoAdd counter to pow WebGL main to loop it until a result is found or counter limit...
Chris Duncan [Tue, 10 Dec 2024 23:13:09 +0000 (15:13 -0800)]
Add counter to pow WebGL main to loop it until a result is found or counter limit hit. It seems like a small canvas drawn many times is more efficient in testing.

4 months agoPow is working and timing is definitely due to gl.readPixels due to it stalling the...
Chris Duncan [Tue, 10 Dec 2024 22:14:52 +0000 (14:14 -0800)]
Pow is working and timing is definitely due to gl.readPixels due to it stalling the pipeline, so perhaps we can get some performance out of that.

4 months agoTemporarily disable perf tests to focus on block pow.
Chris Duncan [Tue, 10 Dec 2024 22:08:48 +0000 (14:08 -0800)]
Temporarily disable perf tests to focus on block pow.

4 months agoRewrite workers to be consolidated into one stringified file to ease Pool management...
Chris Duncan [Tue, 10 Dec 2024 22:08:35 +0000 (14:08 -0800)]
Rewrite workers to be consolidated into one stringified file to ease Pool management. Pow confirmed working, bip44-ckd and nano-nacl need to be tested, blake might be worth revisiting.

4 months agoMove test function and reduce record count.
Chris Duncan [Tue, 10 Dec 2024 22:07:25 +0000 (14:07 -0800)]
Move test function and reduce record count.

4 months agoFormat testing log.
Chris Duncan [Tue, 10 Dec 2024 22:06:58 +0000 (14:06 -0800)]
Format testing log.

4 months agoFix test name.
Chris Duncan [Mon, 9 Dec 2024 16:16:34 +0000 (08:16 -0800)]
Fix test name.

4 months agoFix import paths. Fix entropy usage. Ensure blake2b is always included in NanoNaCl...
Chris Duncan [Mon, 9 Dec 2024 16:04:41 +0000 (08:04 -0800)]
Fix import paths. Fix entropy usage. Ensure blake2b is always included in NanoNaCl worker string instead of relying on calling function.

4 months agoUpdate entropy references.
Chris Duncan [Mon, 9 Dec 2024 15:52:13 +0000 (07:52 -0800)]
Update entropy references.

4 months agoFix import path.
Chris Duncan [Mon, 9 Dec 2024 14:45:52 +0000 (06:45 -0800)]
Fix import path.

4 months agoCreate method to destroy entropy by randomizing its byte values.
Chris Duncan [Mon, 9 Dec 2024 13:48:30 +0000 (05:48 -0800)]
Create method to destroy entropy by randomizing its byte values.

4 months agoConvert synchronously-created Entropy to async factory class. Use bytes as underlying...
Chris Duncan [Mon, 9 Dec 2024 13:20:27 +0000 (05:20 -0800)]
Convert synchronously-created Entropy to async factory class. Use bytes as underlying data type, and only convert to other values when calling getters.

4 months agoSpecify byte multiple requirement in entropy documentation.
Chris Duncan [Mon, 9 Dec 2024 12:39:46 +0000 (04:39 -0800)]
Specify byte multiple requirement in entropy documentation.

4 months agoUpdate blake import.
Chris Duncan [Mon, 9 Dec 2024 12:11:35 +0000 (04:11 -0800)]
Update blake import.

4 months agoOrganize worker files into workers directory and update imports. Delete unused duplic...
Chris Duncan [Mon, 9 Dec 2024 12:09:24 +0000 (04:09 -0800)]
Organize worker files into workers directory and update imports. Delete unused duplicate BIP-32 ckd file.

4 months agoSplit test webpage into three based on usage.
Chris Duncan [Sun, 8 Dec 2024 11:22:21 +0000 (03:22 -0800)]
Split test webpage into three based on usage.

4 months agoAdd function to calculate different types of average times. Expand existing performan...
Chris Duncan [Sun, 8 Dec 2024 11:19:59 +0000 (03:19 -0800)]
Add function to calculate different types of average times. Expand existing performance testing and add block pow performance tests. Replace underperforming reduce function with for loop.

4 months agoSkip account refresh tests for now. Remove test with undocumented data.
Chris Duncan [Sun, 8 Dec 2024 07:29:07 +0000 (23:29 -0800)]
Skip account refresh tests for now. Remove test with undocumented data.

4 months agoRename and add account performance tests.
Chris Duncan [Sun, 8 Dec 2024 06:49:14 +0000 (22:49 -0800)]
Rename and add account performance tests.

4 months agoGroup up test runner tests.
Chris Duncan [Sun, 8 Dec 2024 03:29:58 +0000 (19:29 -0800)]
Group up test runner tests.

4 months agoExpand implementation of bespoke test suite.
Chris Duncan [Sun, 8 Dec 2024 03:27:42 +0000 (19:27 -0800)]
Expand implementation of bespoke test suite.

4 months agoReactivate regular tests on testing webpage. Tweak test result messaging. Create...
Chris Duncan [Sun, 8 Dec 2024 02:58:58 +0000 (18:58 -0800)]
Reactivate regular tests on testing webpage. Tweak test result messaging. Create suite function to group tests and implement in tools test.

4 months agoExtend bip44ckd to listen for coin input.
Chris Duncan [Sat, 7 Dec 2024 21:35:16 +0000 (13:35 -0800)]
Extend bip44ckd to listen for coin input.

4 months agoExtend bip44ckd to support any specified coin as an argument. nanoCKD remains as...
Chris Duncan [Sat, 7 Dec 2024 21:32:48 +0000 (13:32 -0800)]
Extend bip44ckd to support any specified coin as an argument. nanoCKD remains as a dedicated function for this wallet library.

4 months agoAdd more info to test logging. Comment out some portions of the test webpage to check...
Chris Duncan [Sat, 7 Dec 2024 00:39:58 +0000 (16:39 -0800)]
Add more info to test logging. Comment out some portions of the test webpage to check performance. Add timers to performance tests. Initialize Pools when the wallet needs it instead of from the get-go.

4 months agoAwait tests so they actually finish.
Chris Duncan [Fri, 6 Dec 2024 22:21:34 +0000 (14:21 -0800)]
Await tests so they actually finish.

4 months agoTry printing test completion when they are done, not sure if this will work until...
Chris Duncan [Fri, 6 Dec 2024 22:20:20 +0000 (14:20 -0800)]
Try printing test completion when they are done, not sure if this will work until tests are worked out.

4 months agoRemove unnecessary type check used when polyfilling for node.
Chris Duncan [Fri, 6 Dec 2024 22:19:29 +0000 (14:19 -0800)]
Remove unnecessary type check used when polyfilling for node.

4 months agoPool is misbehaving, so go backwards a bit.
Chris Duncan [Fri, 6 Dec 2024 21:43:31 +0000 (13:43 -0800)]
Pool is misbehaving, so go backwards a bit.

4 months agoIsolate test data to avoid contaminating other tests.
Chris Duncan [Fri, 6 Dec 2024 21:10:56 +0000 (13:10 -0800)]
Isolate test data to avoid contaminating other tests.

4 months agoRemove extraneous parent test wrappers and just log the groupings to the console.
Chris Duncan [Fri, 6 Dec 2024 21:07:24 +0000 (13:07 -0800)]
Remove extraneous parent test wrappers and just log the groupings to the console.

4 months agoRemove extra parent level test causing problems with awaiting actual test results.
Chris Duncan [Fri, 6 Dec 2024 20:58:16 +0000 (12:58 -0800)]
Remove extra parent level test causing problems with awaiting actual test results.

4 months agoRemove extraneous try-catch and rely on test function. Check account index is correct.
Chris Duncan [Fri, 6 Dec 2024 20:49:11 +0000 (12:49 -0800)]
Remove extraneous try-catch and rely on test function. Check account index is correct.

4 months agoCheck strict equality to nullish values.
Chris Duncan [Fri, 6 Dec 2024 20:48:25 +0000 (12:48 -0800)]
Check strict equality to nullish values.

4 months agoCompare only real values with equals and notEqual. Use ok with strict equality compar...
Chris Duncan [Fri, 6 Dec 2024 20:48:02 +0000 (12:48 -0800)]
Compare only real values with equals and notEqual. Use ok with strict equality comparison instead.

4 months agoMove test runner into globals file so it is set up for every test.
Chris Duncan [Fri, 6 Dec 2024 20:26:48 +0000 (12:26 -0800)]
Move test runner into globals file so it is set up for every test.

4 months agoDraft a test of our test runner.
Chris Duncan [Fri, 6 Dec 2024 12:42:56 +0000 (04:42 -0800)]
Draft a test of our test runner.

4 months agoClarify failure message when testing existence.
Chris Duncan [Fri, 6 Dec 2024 12:42:39 +0000 (04:42 -0800)]
Clarify failure message when testing existence.

4 months agoInitialize wallet on each account derivation test to avoid race conditions from worke...
Chris Duncan [Fri, 6 Dec 2024 07:05:39 +0000 (23:05 -0800)]
Initialize wallet on each account derivation test to avoid race conditions from workers generating accounts and posting conflicting messages back to the main thread.

4 months agoRevert exists test value to allow zeros.
Chris Duncan [Fri, 6 Dec 2024 07:04:56 +0000 (23:04 -0800)]
Revert exists test value to allow zeros.

4 months agoDelete unused node polyfills.
Chris Duncan [Fri, 6 Dec 2024 07:04:37 +0000 (23:04 -0800)]
Delete unused node polyfills.

4 months agoSimplify equality tests.
Chris Duncan [Fri, 6 Dec 2024 06:14:34 +0000 (22:14 -0800)]
Simplify equality tests.

4 months agoGet message from failure errors.
Chris Duncan [Fri, 6 Dec 2024 06:09:44 +0000 (22:09 -0800)]
Get message from failure errors.

4 months agoExtraneous logging.
Chris Duncan [Fri, 6 Dec 2024 06:07:54 +0000 (22:07 -0800)]
Extraneous logging.

4 months agoDelete unused config since we are not using jest.
Chris Duncan [Fri, 6 Dec 2024 06:04:33 +0000 (22:04 -0800)]
Delete unused config since we are not using jest.

4 months agoLimit Pool to one worker until the class can be refactored to manage threads on a...
Chris Duncan [Fri, 6 Dec 2024 06:03:45 +0000 (22:03 -0800)]
Limit Pool to one worker until the class can be refactored to manage threads on a static basis so we don't overload the browser with hundreds of workers during testing.

4 months agoFix assertions which would never fail due to how tests are called.
Chris Duncan [Fri, 6 Dec 2024 06:01:53 +0000 (22:01 -0800)]
Fix assertions which would never fail due to how tests are called.

4 months agoFix wrong assertion usage.
Chris Duncan [Fri, 6 Dec 2024 05:50:21 +0000 (21:50 -0800)]
Fix wrong assertion usage.

4 months agoMove test files around. Fix test runners for async functions.
Chris Duncan [Fri, 6 Dec 2024 05:33:09 +0000 (21:33 -0800)]
Move test files around. Fix test runners for async functions.

4 months agoUninstall unused testing frameworks.
Chris Duncan [Fri, 6 Dec 2024 02:30:34 +0000 (18:30 -0800)]
Uninstall unused testing frameworks.

4 months agoFix async testing.
Chris Duncan [Fri, 6 Dec 2024 02:30:17 +0000 (18:30 -0800)]
Fix async testing.

4 months agoCreate our own testing framework. Needs some double-checking on accuracy.
Chris Duncan [Thu, 5 Dec 2024 23:51:10 +0000 (15:51 -0800)]
Create our own testing framework. Needs some double-checking on accuracy.

4 months agoConvert from node to jest test execution.
Chris Duncan [Thu, 5 Dec 2024 18:34:00 +0000 (10:34 -0800)]
Convert from node to jest test execution.

4 months agoJest does not seem to recognize modules without mjs extension.
Chris Duncan [Thu, 5 Dec 2024 18:22:07 +0000 (10:22 -0800)]
Jest does not seem to recognize modules without mjs extension.

4 months agoRename performance test files.
Chris Duncan [Thu, 5 Dec 2024 16:20:52 +0000 (08:20 -0800)]
Rename performance test files.

4 months agoMissed an import. Adjust its assertions while we are here.
Chris Duncan [Thu, 5 Dec 2024 16:17:42 +0000 (08:17 -0800)]
Missed an import. Adjust its assertions while we are here.

4 months agoReplace node test runner 'skip' options with jest 'skip' function.
Chris Duncan [Thu, 5 Dec 2024 16:16:14 +0000 (08:16 -0800)]
Replace node test runner 'skip' options with jest 'skip' function.

4 months agoSwitch to jest 'test' syntax from node 'it' alias.
Chris Duncan [Thu, 5 Dec 2024 16:14:43 +0000 (08:14 -0800)]
Switch to jest 'test' syntax from node 'it' alias.

4 months ago In test files, replace node test runner module imports with jest.
Chris Duncan [Thu, 5 Dec 2024 16:13:27 +0000 (08:13 -0800)]
 In test files, replace node test runner module imports with jest.

4 months agoRename test files since they are treated as modules anyway with their import statements.
Chris Duncan [Thu, 5 Dec 2024 16:11:26 +0000 (08:11 -0800)]
Rename test files since they are treated as modules anyway with their import statements.

4 months agoInstall jest for testing.
Chris Duncan [Thu, 5 Dec 2024 16:10:22 +0000 (08:10 -0800)]
Install jest for testing.

4 months agoScrap this node polyfill idea and move on to a different testing tool.
Chris Duncan [Thu, 5 Dec 2024 14:48:15 +0000 (06:48 -0800)]
Scrap this node polyfill idea and move on to a different testing tool.

4 months agoFix sweep signing and document that Ledger is unsupported.
Chris Duncan [Wed, 4 Dec 2024 20:28:07 +0000 (12:28 -0800)]
Fix sweep signing and document that Ledger is unsupported.

4 months agoFix public key aspect of signing function, specific to Nano.
Chris Duncan [Wed, 4 Dec 2024 20:24:01 +0000 (12:24 -0800)]
Fix public key aspect of signing function, specific to Nano.

4 months agoUse scoped declarations instead of var.
Chris Duncan [Wed, 4 Dec 2024 19:57:33 +0000 (11:57 -0800)]
Use scoped declarations instead of var.

4 months agoFix call to wrong function for getting a signature rather than the signed message...
Chris Duncan [Wed, 4 Dec 2024 14:30:04 +0000 (06:30 -0800)]
Fix call to wrong function for getting a signature rather than the signed message itself.

4 months agoReturn empty byte array instead of null if there are issues opening a signed message...
Chris Duncan [Wed, 4 Dec 2024 14:27:17 +0000 (06:27 -0800)]
Return empty byte array instead of null if there are issues opening a signed message. Return detached signature as uppercase hex so calling function can ingest it more easily.

4 months agoTesting fixes to worker polyfill.
Chris Duncan [Thu, 5 Dec 2024 13:24:11 +0000 (05:24 -0800)]
Testing fixes to worker polyfill.

4 months agoRemove test logging.
Chris Duncan [Wed, 4 Dec 2024 07:24:58 +0000 (23:24 -0800)]
Remove test logging.

4 months agoImprove environment detection.
Chris Duncan [Wed, 4 Dec 2024 07:23:25 +0000 (23:23 -0800)]
Improve environment detection.

4 months agoWorker imports using strings does not work with an async function, so revert that...
Chris Duncan [Wed, 4 Dec 2024 07:12:38 +0000 (23:12 -0800)]
Worker imports using strings does not work with an async function, so revert that addition and use thenable instead. Also improve environment checking to detect Node.js vs browser.