]> git.codecow.com Git - libnemo.git/log
libnemo.git
7 months agoRemove outdated documentation.
Chris Duncan [Mon, 18 Aug 2025 21:51:56 +0000 (14:51 -0700)]
Remove outdated documentation.

7 months agoUpdate type definition file.
Chris Duncan [Mon, 18 Aug 2025 21:30:57 +0000 (14:30 -0700)]
Update type definition file.

7 months agoFix sweep account index check and test assertion.
Chris Duncan [Mon, 18 Aug 2025 21:23:56 +0000 (14:23 -0700)]
Fix sweep account index check and test assertion.

7 months agoFix errors thrown and not caught.
Chris Duncan [Mon, 18 Aug 2025 19:40:25 +0000 (12:40 -0700)]
Fix errors thrown and not caught.

7 months agoRename vault worker to avoid name collision.
Chris Duncan [Mon, 18 Aug 2025 19:34:56 +0000 (12:34 -0700)]
Rename vault worker to avoid name collision.

7 months agoFix vault import design.
Chris Duncan [Mon, 18 Aug 2025 19:31:02 +0000 (12:31 -0700)]
Fix vault import design.

7 months agoSkip long running test now that it passes.
Chris Duncan [Mon, 18 Aug 2025 19:24:33 +0000 (12:24 -0700)]
Skip long running test now that it passes.

7 months agoReduce lock timeout to two minutes from five.
Chris Duncan [Mon, 18 Aug 2025 19:23:53 +0000 (12:23 -0700)]
Reduce lock timeout to two minutes from five.

7 months agoCreate timer for vault locking. Create unit test.
Chris Duncan [Mon, 18 Aug 2025 19:15:32 +0000 (12:15 -0700)]
Create timer for vault locking. Create unit test.

7 months agoMove auto lock into vault from wallet.
Chris Duncan [Mon, 18 Aug 2025 18:09:26 +0000 (11:09 -0700)]
Move auto lock into vault from wallet.

7 months agoMigrate wallet lock method to separate module and call it synchronously.
Chris Duncan [Mon, 18 Aug 2025 16:56:12 +0000 (09:56 -0700)]
Migrate wallet lock method to separate module and call it synchronously.

7 months agoMigrate wallet unlock method to separate module and remove return value.
Chris Duncan [Mon, 18 Aug 2025 16:36:16 +0000 (09:36 -0700)]
Migrate wallet unlock method to separate module and remove return value.

7 months agoMigrate wallet sign method to separate module.
Chris Duncan [Mon, 18 Aug 2025 16:27:56 +0000 (09:27 -0700)]
Migrate wallet sign method to separate module.

7 months agoReorder wallet properties and add documentation.
Chris Duncan [Mon, 18 Aug 2025 16:24:25 +0000 (09:24 -0700)]
Reorder wallet properties and add documentation.

7 months agoPass wallet vault to imported functions and keep it private.
Chris Duncan [Mon, 18 Aug 2025 16:12:29 +0000 (09:12 -0700)]
Pass wallet vault to imported functions and keep it private.

7 months agoReplace final ternary operator.
Chris Duncan [Mon, 18 Aug 2025 15:19:18 +0000 (08:19 -0700)]
Replace final ternary operator.

7 months agoReplace another ternary operator.
Chris Duncan [Mon, 18 Aug 2025 15:05:04 +0000 (08:05 -0700)]
Replace another ternary operator.

7 months agoRevert ternary operator to boolean cast.
Chris Duncan [Mon, 18 Aug 2025 14:59:25 +0000 (07:59 -0700)]
Revert ternary operator to boolean cast.

7 months agoFix constant time message open.
Chris Duncan [Mon, 18 Aug 2025 14:56:59 +0000 (07:56 -0700)]
Fix constant time message open.

7 months agoFix constant time conditional multiplication.
Chris Duncan [Mon, 18 Aug 2025 14:22:28 +0000 (07:22 -0700)]
Fix constant time conditional multiplication.
Ternary operators still create branching scenarios, and the CPU may use branch prediction to speed up processing which creates a variable-time possibility.

7 months agoRefactor vn and document behavior.
Chris Duncan [Mon, 18 Aug 2025 14:20:45 +0000 (07:20 -0700)]
Refactor vn and document behavior.

7 months agoConstant time verification.
Chris Duncan [Mon, 18 Aug 2025 04:44:58 +0000 (21:44 -0700)]
Constant time verification.

7 months agon is guaranteed to be less than 64 for each call to this function.
Chris Duncan [Mon, 18 Aug 2025 04:40:01 +0000 (21:40 -0700)]
n is guaranteed to be less than 64 for each call to this function.

7 months agoExecute functions regardless of conditional result.
Chris Duncan [Mon, 18 Aug 2025 04:39:42 +0000 (21:39 -0700)]
Execute functions regardless of conditional result.
To maintain constant time verification, conditional calls or returns now continue through the rest of the flow and discard results if unneeded.

7 months agoCondense array checks. Revert verify to calling crypto_sign_open directly.
Chris Duncan [Mon, 18 Aug 2025 04:32:42 +0000 (21:32 -0700)]
Condense array checks. Revert verify to calling crypto_sign_open directly.

7 months agoUse braces for if statement and byte length for typed array instantiation.
Chris Duncan [Mon, 18 Aug 2025 04:03:19 +0000 (21:03 -0700)]
Use braces for if statement and byte length for typed array instantiation.

7 months agoOffload type checking to called function.
Chris Duncan [Sun, 17 Aug 2025 23:00:11 +0000 (16:00 -0700)]
Offload type checking to called function.

7 months agoFormatting.
Chris Duncan [Sun, 17 Aug 2025 22:44:02 +0000 (15:44 -0700)]
Formatting.

7 months agoOffload type checking to called function..
Chris Duncan [Sun, 17 Aug 2025 22:23:03 +0000 (15:23 -0700)]
Offload type checking to called function..

7 months agoRefactor input checking.
Chris Duncan [Sun, 17 Aug 2025 22:17:12 +0000 (15:17 -0700)]
Refactor input checking.

7 months agoUnroll loop to eliminate branching.
Chris Duncan [Sun, 17 Aug 2025 09:55:00 +0000 (02:55 -0700)]
Unroll loop to eliminate branching.

7 months agoRemove subarray function call bounds checking.
Chris Duncan [Sun, 17 Aug 2025 09:45:16 +0000 (02:45 -0700)]
Remove subarray function call bounds checking.

7 months agoRevert to biased carry.
Chris Duncan [Sun, 17 Aug 2025 09:42:28 +0000 (02:42 -0700)]
Revert to biased carry.

7 months agoRevert nacl to floats now that I understand the algorithm a little better.
Chris Duncan [Sun, 17 Aug 2025 07:36:47 +0000 (00:36 -0700)]
Revert nacl to floats now that I understand the algorithm a little better.

7 months agoAdd personal block that was signed with iOS CryptoKit in which the Secure Enclave...
Chris Duncan [Fri, 15 Aug 2025 20:28:32 +0000 (13:28 -0700)]
Add personal block that was signed with iOS CryptoKit in which the Secure Enclave always generates a new random nonce for Ed25519 signatures.

7 months agoFix test title.
Chris Duncan [Thu, 14 Aug 2025 21:47:04 +0000 (14:47 -0700)]
Fix test title.

7 months agoTest using Ledger-derived data.
Chris Duncan [Thu, 14 Aug 2025 20:58:04 +0000 (13:58 -0700)]
Test using Ledger-derived data.

7 months agoAdd test vectors derived from Ledger testing wallet.
Chris Duncan [Thu, 14 Aug 2025 20:57:14 +0000 (13:57 -0700)]
Add test vectors derived from Ledger testing wallet.

7 months agoFix Ledger constructor.
Chris Duncan [Thu, 14 Aug 2025 20:55:21 +0000 (13:55 -0700)]
Fix Ledger constructor.

7 months agoFix case insensitivity in signatures.
Chris Duncan [Thu, 14 Aug 2025 15:55:31 +0000 (08:55 -0700)]
Fix case insensitivity in signatures.

7 months agoUse extra term to make mod and carry process a little more clear.
Chris Duncan [Thu, 14 Aug 2025 15:23:33 +0000 (08:23 -0700)]
Use extra term to make mod and carry process a little more clear.

7 months agoKeep loop variable lifetimes scoped to the loop to which they belong.
Chris Duncan [Thu, 14 Aug 2025 13:57:45 +0000 (06:57 -0700)]
Keep loop variable lifetimes scoped to the loop to which they belong.

7 months agoDeclare once and set in loop instead of redeclaring every time.
Chris Duncan [Thu, 14 Aug 2025 13:56:44 +0000 (06:56 -0700)]
Declare once and set in loop instead of redeclaring every time.

7 months agoExplicitly type function variables to ensure type safety. Use const where possible.
Chris Duncan [Thu, 14 Aug 2025 13:56:24 +0000 (06:56 -0700)]
Explicitly type function variables to ensure type safety. Use const where possible.

7 months agoUse blocks consistently.
Chris Duncan [Thu, 14 Aug 2025 13:23:48 +0000 (06:23 -0700)]
Use blocks consistently.

7 months agoRemove debugging variable.
Chris Duncan [Thu, 14 Aug 2025 13:19:24 +0000 (06:19 -0700)]
Remove debugging variable.

7 months agoClarify intent of output buffer parameters with naming since there's not much to...
Chris Duncan [Thu, 14 Aug 2025 13:15:31 +0000 (06:15 -0700)]
Clarify intent of output buffer parameters with naming since there's not much to be gained from shaving two characters if this is not fitting in 100 tweets.

7 months agoCondense declarations.
Chris Duncan [Wed, 13 Aug 2025 21:48:19 +0000 (14:48 -0700)]
Condense declarations.

7 months agoRefactor method for bit shift declaration and modulo usage.
Chris Duncan [Wed, 13 Aug 2025 21:45:22 +0000 (14:45 -0700)]
Refactor method for bit shift declaration and modulo usage.

7 months agoRemove branching statement.
Chris Duncan [Wed, 13 Aug 2025 21:16:05 +0000 (14:16 -0700)]
Remove branching statement.

7 months agoSwitch naco to bigint to take advantage of native operators, see Multiply and Square...
Chris Duncan [Wed, 13 Aug 2025 21:04:29 +0000 (14:04 -0700)]
Switch naco to bigint to take advantage of native operators, see Multiply and Square for examples of reduced modulo arithmetic operations.

7 months agoPoW performance depends on nano-pow, so swap it for signature performance metrics.
Chris Duncan [Wed, 13 Aug 2025 20:35:43 +0000 (13:35 -0700)]
PoW performance depends on nano-pow, so swap it for signature performance metrics.

7 months agoPrivatize vn method and deprecate wrapper method.
Chris Duncan [Wed, 13 Aug 2025 16:33:24 +0000 (09:33 -0700)]
Privatize vn method and deprecate wrapper method.

7 months agoInclude input on block sign errors, which is stripped in production build.
Chris Duncan [Wed, 13 Aug 2025 16:26:19 +0000 (09:26 -0700)]
Include input on block sign errors, which is stripped in production build.

7 months agoUse ternary operator instead of casting bool to int.
Chris Duncan [Wed, 13 Aug 2025 15:04:33 +0000 (08:04 -0700)]
Use ternary operator instead of casting bool to int.

7 months agoUse typed array instead of generic.
Chris Duncan [Wed, 13 Aug 2025 14:59:27 +0000 (07:59 -0700)]
Use typed array instead of generic.

7 months agoUse typed array instead of generic.
Chris Duncan [Wed, 13 Aug 2025 04:48:42 +0000 (21:48 -0700)]
Use typed array instead of generic.

7 months agoShorten JSdoc for nano-nacl.
Chris Duncan [Mon, 11 Aug 2025 16:42:28 +0000 (09:42 -0700)]
Shorten JSdoc for nano-nacl.

7 months agoReplace account load nomenclature to avoid collision with keyword.
Chris Duncan [Mon, 11 Aug 2025 16:39:45 +0000 (09:39 -0700)]
Replace account load nomenclature to avoid collision with keyword.

7 months agoFix tests.
Chris Duncan [Mon, 11 Aug 2025 16:03:38 +0000 (09:03 -0700)]
Fix tests.

7 months agoUpdate static member access and fix type definition for Rolodex.
Chris Duncan [Mon, 11 Aug 2025 16:03:02 +0000 (09:03 -0700)]
Update static member access and fix type definition for Rolodex.

7 months agoPublicize ledger support getter again so it can be used in test flow control.
Chris Duncan [Mon, 11 Aug 2025 15:26:41 +0000 (08:26 -0700)]
Publicize ledger support getter again so it can be used in test flow control.

7 months agoExtract wallet backup and restore to separate modules. Update type definition file.
Chris Duncan [Mon, 11 Aug 2025 15:21:52 +0000 (08:21 -0700)]
Extract wallet backup and restore to separate modules. Update type definition file.

7 months agoUpdate JSdoc for sign methods. Remove output option for sign method and just referenc...
Chris Duncan [Mon, 11 Aug 2025 13:33:15 +0000 (06:33 -0700)]
Update JSdoc for sign methods. Remove output option for sign method and just reference block property to reduce redundancy. Type check arguments.

7 months agoPrivatize ledger event handlers.
Chris Duncan [Mon, 11 Aug 2025 13:15:09 +0000 (06:15 -0700)]
Privatize ledger event handlers.

7 months agoUpdate wallet account JSdoc.
Chris Duncan [Mon, 11 Aug 2025 13:12:31 +0000 (06:12 -0700)]
Update wallet account JSdoc.

7 months agoSimplify account range swap.
Chris Duncan [Mon, 11 Aug 2025 13:02:32 +0000 (06:02 -0700)]
Simplify account range swap.

7 months agoPrivatize some ledger properties and rearrance them toward the bottom of the file...
Chris Duncan [Mon, 11 Aug 2025 13:00:24 +0000 (06:00 -0700)]
Privatize some ledger properties and rearrance them toward the bottom of the file. Update JSdoc for accounts method.

7 months agoMove Ledger constants into Ledger class instead of shared constants file.
Chris Duncan [Mon, 11 Aug 2025 12:52:06 +0000 (05:52 -0700)]
Move Ledger constants into Ledger class instead of shared constants file.

7 months agoMove wallet create validation into separate module.
Chris Duncan [Sun, 10 Aug 2025 22:01:28 +0000 (15:01 -0700)]
Move wallet create validation into separate module.

7 months agoMove data validation for wallet load into separate load module. Refactor how Ledger...
Chris Duncan [Sun, 10 Aug 2025 20:22:08 +0000 (13:22 -0700)]
Move data validation for wallet load into separate load module. Refactor how Ledger calls super. Revert wallet create and load parameter swap.

7 months agoCreate wallet import path.
Chris Duncan [Sun, 10 Aug 2025 06:31:14 +0000 (23:31 -0700)]
Create wallet import path.

7 months agoRename wallet to be main index file.
Chris Duncan [Sun, 10 Aug 2025 06:27:58 +0000 (23:27 -0700)]
Rename wallet to be main index file.

7 months agoMove vault files into their own directory.
Chris Duncan [Sun, 10 Aug 2025 06:23:27 +0000 (23:23 -0700)]
Move vault files into their own directory.

7 months agoRefactor reused property.
Chris Duncan [Sun, 10 Aug 2025 06:22:03 +0000 (23:22 -0700)]
Refactor reused property.

7 months agoRename safe to vault.
Chris Duncan [Sun, 10 Aug 2025 06:17:32 +0000 (23:17 -0700)]
Rename safe to vault.

7 months agoReorder imports.
Chris Duncan [Sun, 10 Aug 2025 05:43:20 +0000 (22:43 -0700)]
Reorder imports.

7 months agoExtract wallet create to separate module. Allow mnemonic salt to be excluded (undefin...
Chris Duncan [Sun, 10 Aug 2025 05:42:53 +0000 (22:42 -0700)]
Extract wallet create to separate module. Allow mnemonic salt to be excluded (undefined) but throw on any non-string instead of converting to empty string to avoid user confusion about resulting wallet functionality.

7 months agoRemove unused imports.
Chris Duncan [Sun, 10 Aug 2025 05:17:17 +0000 (22:17 -0700)]
Remove unused imports.

7 months agoExtract wallet load into separate module.
Chris Duncan [Sun, 10 Aug 2025 05:16:28 +0000 (22:16 -0700)]
Extract wallet load into separate module.

7 months agoUpdate type definition file.
Chris Duncan [Sun, 10 Aug 2025 05:16:00 +0000 (22:16 -0700)]
Update type definition file.

7 months agoSimplify account index swap.
Chris Duncan [Sun, 10 Aug 2025 02:19:56 +0000 (19:19 -0700)]
Simplify account index swap.

7 months agoUpdate tests to call wallet load instead of wallet import.
Chris Duncan [Sun, 10 Aug 2025 02:19:41 +0000 (19:19 -0700)]
Update tests to call wallet load instead of wallet import.

7 months agoAdd getter for wallet safe to enable calls from modularized functions.
Chris Duncan [Sun, 10 Aug 2025 00:47:50 +0000 (17:47 -0700)]
Add getter for wallet safe to enable calls from modularized functions.

7 months agoStrict mode enabled by default for ESM.
Chris Duncan [Sun, 10 Aug 2025 00:38:37 +0000 (17:38 -0700)]
Strict mode enabled by default for ESM.

7 months agoRename wallet import to avoid confusion with JS keyword.
Chris Duncan [Sun, 10 Aug 2025 00:33:14 +0000 (17:33 -0700)]
Rename wallet import to avoid confusion with JS keyword.

7 months agoRemove unused imports.
Chris Duncan [Sat, 9 Aug 2025 22:56:54 +0000 (15:56 -0700)]
Remove unused imports.

7 months agoAdd wallet barrel.
Chris Duncan [Sat, 9 Aug 2025 09:05:05 +0000 (02:05 -0700)]
Add wallet barrel.

7 months agoAdd license header.
Chris Duncan [Sat, 9 Aug 2025 09:02:18 +0000 (02:02 -0700)]
Add license header.

7 months agoUpdate crypto module imports.
Chris Duncan [Sat, 9 Aug 2025 08:34:58 +0000 (01:34 -0700)]
Update crypto module imports.

7 months agoClear message data from worker when error is caught.
Chris Duncan [Sat, 9 Aug 2025 08:23:28 +0000 (01:23 -0700)]
Clear message data from worker when error is caught.

7 months agoZero out sensitive data in worker from input message as it is processed.
Chris Duncan [Sat, 9 Aug 2025 08:16:01 +0000 (01:16 -0700)]
Zero out sensitive data in worker from input message as it is processed.

7 months agoTypo.
Chris Duncan [Sat, 9 Aug 2025 07:49:17 +0000 (00:49 -0700)]
Typo.

7 months agoRemove byte reversing and just traverse backwards.
Chris Duncan [Sat, 9 Aug 2025 07:47:12 +0000 (00:47 -0700)]
Remove byte reversing and just traverse backwards.

7 months agoFix BIP-44 ckd using SLIP-0010 which only defines hardened addresses at all levels...
Chris Duncan [Sat, 9 Aug 2025 07:30:35 +0000 (00:30 -0700)]
Fix BIP-44 ckd using SLIP-0010 which only defines hardened addresses at all levels, deviating from BIP-44.

7 months agoMove an imported constant used in only one place.
Chris Duncan [Sat, 9 Aug 2025 07:24:35 +0000 (00:24 -0700)]
Move an imported constant used in only one place.

7 months agoSimplify BIP-39 seed gen by deriving bits directly.
Chris Duncan [Sat, 9 Aug 2025 07:22:55 +0000 (00:22 -0700)]
Simplify BIP-39 seed gen by deriving bits directly.

7 months agoReturn early from byte erasure instead of using control flow.
Chris Duncan [Sat, 9 Aug 2025 07:18:11 +0000 (00:18 -0700)]
Return early from byte erasure instead of using control flow.

7 months agoThrow on invalid base32 characters during conversion.
Chris Duncan [Sat, 9 Aug 2025 07:11:11 +0000 (00:11 -0700)]
Throw on invalid base32 characters during conversion.

7 months agoRemove redundant signature check.
Chris Duncan [Sat, 9 Aug 2025 07:02:34 +0000 (00:02 -0700)]
Remove redundant signature check.