]>
zoso.dev Git - libnemo.git/log
Chris Duncan [Fri, 20 Dec 2024 23:15:55 +0000 (15:15 -0800)]
Convert NanoNaCl to actual class to ease import/export. Refactor pool and workers back to instantiated pools with quantity controls.
Chris Duncan [Fri, 20 Dec 2024 17:05:26 +0000 (09:05 -0800)]
Linting.
Chris Duncan [Thu, 19 Dec 2024 13:27:26 +0000 (05:27 -0800)]
Rename pow worker file to indicate it uses WebGL so that we can perhaps port to a new one using WebGPU.
Chris Duncan [Thu, 19 Dec 2024 02:38:29 +0000 (18:38 -0800)]
Temporarily log frame time averages until changes are deemed OK to push to main.
Chris Duncan [Wed, 18 Dec 2024 23:51:46 +0000 (15:51 -0800)]
Test receive block first.
Chris Duncan [Wed, 18 Dec 2024 23:50:30 +0000 (15:50 -0800)]
Move uniform transfers outside of draw loop where possible.
Chris Duncan [Wed, 18 Dec 2024 22:47:00 +0000 (14:47 -0800)]
Single-pixel rendering idea hurt performance, so scrap the setup for it and just render to the default framebuffer.
Chris Duncan [Wed, 18 Dec 2024 16:42:15 +0000 (08:42 -0800)]
Get query version working by storing and reading the entire canvas as before, probably an issue with xy coordinates being used to fetch work bytes. Anyway, it's loads faster now, but loading up all 16 workers is a no-go, so that needs work. Also would be nice to reduce the canvas viewport and associated renderbuffer to a single pixel since that's all we need.
Chris Duncan [Tue, 17 Dec 2024 22:36:19 +0000 (14:36 -0800)]
Set clear color in static initializer.
Chris Duncan [Tue, 17 Dec 2024 20:55:00 +0000 (12:55 -0800)]
Reformat original PoW credit.
Chris Duncan [Tue, 17 Dec 2024 15:11:25 +0000 (07:11 -0800)]
Formatting.
Chris Duncan [Tue, 17 Dec 2024 14:00:18 +0000 (06:00 -0800)]
Make pixel array static so it can be allocated once and reused.
Chris Duncan [Mon, 16 Dec 2024 22:57:07 +0000 (14:57 -0800)]
Reorder block performance tests.
Chris Duncan [Mon, 16 Dec 2024 22:25:26 +0000 (14:25 -0800)]
Remove unnecessary unreachable return statement.
Chris Duncan [Mon, 16 Dec 2024 22:18:19 +0000 (14:18 -0800)]
Remove unneeded comment.
Chris Duncan [Mon, 16 Dec 2024 21:53:37 +0000 (13:53 -0800)]
Formatting.
Chris Duncan [Mon, 16 Dec 2024 21:05:17 +0000 (13:05 -0800)]
Fix pool incorrectly dividing up jobs and falling short of distributing all data. Open up access to pool thread count by status.
Chris Duncan [Mon, 16 Dec 2024 20:54:15 +0000 (12:54 -0800)]
Wrap worker calls in try-catch blocks.
Chris Duncan [Mon, 16 Dec 2024 19:33:35 +0000 (11:33 -0800)]
Fix import of NanoNaCl that was not executing on import.
Chris Duncan [Mon, 16 Dec 2024 19:30:55 +0000 (11:30 -0800)]
Convert BIP44 ckd to class and update imports in worker.
Chris Duncan [Mon, 16 Dec 2024 19:30:00 +0000 (11:30 -0800)]
Fix typo in worker target function name.
Chris Duncan [Mon, 16 Dec 2024 19:29:43 +0000 (11:29 -0800)]
Fix worker blob files being discarded as soon as the URL is lost.
Chris Duncan [Mon, 16 Dec 2024 19:09:36 +0000 (11:09 -0800)]
Remove event listeners from old independent workers.
Chris Duncan [Sun, 15 Dec 2024 19:25:58 +0000 (11:25 -0800)]
Draw depends on a specific work value, so move them into the function call to avoid collisions with other class usage.
Chris Duncan [Sun, 15 Dec 2024 19:20:10 +0000 (11:20 -0800)]
Delete unused const and related function since it will be included in shader code instead. Inline hash processing since it only happens once and we can avoid a function call.
Chris Duncan [Sun, 15 Dec 2024 08:38:44 +0000 (00:38 -0800)]
Assign bytes in loop. Assign frag color with multiplication instead of branching if statement.
Chris Duncan [Sun, 15 Dec 2024 08:35:16 +0000 (00:35 -0800)]
Formatting.
Chris Duncan [Sun, 15 Dec 2024 08:18:01 +0000 (00:18 -0800)]
Formatting.
Chris Duncan [Sun, 15 Dec 2024 08:14:40 +0000 (00:14 -0800)]
Revert "Pass SIGMA82 into shader as uniform."
This reverts commit
b385c33875c09a27ad5498237f54aafa24b74d37 .
Chris Duncan [Sun, 15 Dec 2024 08:04:09 +0000 (00:04 -0800)]
Pass SIGMA82 into shader as uniform.
Chris Duncan [Sun, 15 Dec 2024 07:48:34 +0000 (23:48 -0800)]
Define class members as private except for public find() function intended for enduser.
Chris Duncan [Sun, 15 Dec 2024 07:30:25 +0000 (23:30 -0800)]
Reorganize compilation into static initialization block.
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().
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.
Chris Duncan [Sat, 14 Dec 2024 10:02:38 +0000 (02:02 -0800)]
Second attempt at parsing block hash from hex to uint LE.
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 .
Chris Duncan [Sat, 14 Dec 2024 04:56:52 +0000 (20:56 -0800)]
Use number only for threshold.
Chris Duncan [Fri, 13 Dec 2024 23:53:00 +0000 (15:53 -0800)]
Initial implementation of precalculated block hash components.
Chris Duncan [Fri, 13 Dec 2024 22:18:29 +0000 (14:18 -0800)]
Includ original pow lib in dev dependencies.
Chris Duncan [Fri, 13 Dec 2024 22:18:00 +0000 (14:18 -0800)]
Add test to compare original PoW lib to our modifications.
Chris Duncan [Fri, 13 Dec 2024 22:14:26 +0000 (14:14 -0800)]
Tweak comment.
Chris Duncan [Fri, 13 Dec 2024 20:14:36 +0000 (12:14 -0800)]
Simplify canvas config with a single static constant.
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.
Chris Duncan [Thu, 12 Dec 2024 23:50:51 +0000 (15:50 -0800)]
Try async readPixels from MDN.
Chris Duncan [Thu, 12 Dec 2024 21:26:26 +0000 (13:26 -0800)]
Remove redundant work logging.
Chris Duncan [Thu, 12 Dec 2024 21:26:13 +0000 (13:26 -0800)]
Worker result is always currently returned as buffer so fix handling.
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.
Chris Duncan [Thu, 12 Dec 2024 20:12:31 +0000 (12:12 -0800)]
Fix test name.
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.
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.
Chris Duncan [Thu, 12 Dec 2024 17:18:27 +0000 (09:18 -0800)]
Fix if-else nesting bug.
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.
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.
Chris Duncan [Thu, 12 Dec 2024 06:30:44 +0000 (22:30 -0800)]
Get rid of extraneous logging.
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.
Chris Duncan [Thu, 12 Dec 2024 00:12:35 +0000 (16:12 -0800)]
Performance testing.
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.
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.
Chris Duncan [Wed, 11 Dec 2024 04:01:45 +0000 (20:01 -0800)]
Log work for testing.
Chris Duncan [Wed, 11 Dec 2024 04:01:32 +0000 (20:01 -0800)]
Decrease pow frames.
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.
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.
Chris Duncan [Tue, 10 Dec 2024 22:08:48 +0000 (14:08 -0800)]
Temporarily disable perf tests to focus on block pow.
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.
Chris Duncan [Tue, 10 Dec 2024 22:07:25 +0000 (14:07 -0800)]
Move test function and reduce record count.
Chris Duncan [Tue, 10 Dec 2024 22:06:58 +0000 (14:06 -0800)]
Format testing log.
Chris Duncan [Mon, 9 Dec 2024 16:16:34 +0000 (08:16 -0800)]
Fix test name.
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.
Chris Duncan [Mon, 9 Dec 2024 15:52:13 +0000 (07:52 -0800)]
Update entropy references.
Chris Duncan [Mon, 9 Dec 2024 14:45:52 +0000 (06:45 -0800)]
Fix import path.
Chris Duncan [Mon, 9 Dec 2024 13:48:30 +0000 (05:48 -0800)]
Create method to destroy entropy by randomizing its byte values.
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.
Chris Duncan [Mon, 9 Dec 2024 12:39:46 +0000 (04:39 -0800)]
Specify byte multiple requirement in entropy documentation.
Chris Duncan [Mon, 9 Dec 2024 12:11:35 +0000 (04:11 -0800)]
Update blake import.
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.
Chris Duncan [Sun, 8 Dec 2024 11:22:21 +0000 (03:22 -0800)]
Split test webpage into three based on usage.
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.
Chris Duncan [Sun, 8 Dec 2024 07:29:07 +0000 (23:29 -0800)]
Skip account refresh tests for now. Remove test with undocumented data.
Chris Duncan [Sun, 8 Dec 2024 06:49:14 +0000 (22:49 -0800)]
Rename and add account performance tests.
Chris Duncan [Sun, 8 Dec 2024 03:29:58 +0000 (19:29 -0800)]
Group up test runner tests.
Chris Duncan [Sun, 8 Dec 2024 03:27:42 +0000 (19:27 -0800)]
Expand implementation of bespoke test suite.
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.
Chris Duncan [Sat, 7 Dec 2024 21:35:16 +0000 (13:35 -0800)]
Extend bip44ckd to listen for coin input.
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.
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.
Chris Duncan [Fri, 6 Dec 2024 22:21:34 +0000 (14:21 -0800)]
Await tests so they actually finish.
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.
Chris Duncan [Fri, 6 Dec 2024 22:19:29 +0000 (14:19 -0800)]
Remove unnecessary type check used when polyfilling for node.
Chris Duncan [Fri, 6 Dec 2024 21:43:31 +0000 (13:43 -0800)]
Pool is misbehaving, so go backwards a bit.
Chris Duncan [Fri, 6 Dec 2024 21:10:56 +0000 (13:10 -0800)]
Isolate test data to avoid contaminating other tests.
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.
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.
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.
Chris Duncan [Fri, 6 Dec 2024 20:48:25 +0000 (12:48 -0800)]
Check strict equality to nullish values.
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.
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.
Chris Duncan [Fri, 6 Dec 2024 12:42:56 +0000 (04:42 -0800)]
Draft a test of our test runner.
Chris Duncan [Fri, 6 Dec 2024 12:42:39 +0000 (04:42 -0800)]
Clarify failure message when testing existence.
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.
Chris Duncan [Fri, 6 Dec 2024 07:04:56 +0000 (23:04 -0800)]
Revert exists test value to allow zeros.