]> git.codecow.com Git - libnemo.git/log
libnemo.git
9 months agoRefactor vn and document behavior.
Chris Duncan [Mon, 18 Aug 2025 14:20:45 +0000 (07:20 -0700)]
Refactor vn and document behavior.

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

9 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.

9 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.

9 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.

9 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.

9 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.

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

9 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..

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

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

9 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.

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

9 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.

9 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.

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

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

9 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.

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

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

9 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.

9 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.

9 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.

9 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.

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

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

9 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.

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

9 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.

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

9 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.

9 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.

9 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.

9 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.

9 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.

9 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.

9 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.

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

9 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.

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

9 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.

9 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.

9 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.

9 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.

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

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

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

9 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.

9 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.

9 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.

9 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.

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

10 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.

10 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.

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

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

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

10 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.

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

10 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.

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

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

10 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.

10 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.

10 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.

10 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.

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

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

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

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

10 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.

10 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.

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

10 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.

10 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.

10 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.

10 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.

10 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.

10 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.

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

10 months agoFix block processing JSON.
Chris Duncan [Sat, 9 Aug 2025 06:57:09 +0000 (23:57 -0700)]
Fix block processing JSON.

10 months agoFix change block link checking.
Chris Duncan [Sat, 9 Aug 2025 06:52:22 +0000 (23:52 -0700)]
Fix change block link checking.

10 months agoFix old BIP-39 nomenclature.
Chris Duncan [Sat, 9 Aug 2025 06:29:02 +0000 (23:29 -0700)]
Fix old BIP-39 nomenclature.

10 months agoCreate new directories to improve file organization.
Chris Duncan [Sat, 9 Aug 2025 06:27:47 +0000 (23:27 -0700)]
Create new directories to improve file organization.

10 months agoReset account internal flag.
Chris Duncan [Sat, 9 Aug 2025 06:24:02 +0000 (23:24 -0700)]
Reset account internal flag.

10 months agoErase encoded secrets after encrypting them.
Chris Duncan [Fri, 8 Aug 2025 21:36:00 +0000 (14:36 -0700)]
Erase encoded secrets after encrypting them.

10 months agoStore mnemonic as buffer and convert as needed.
Chris Duncan [Fri, 8 Aug 2025 21:34:30 +0000 (14:34 -0700)]
Store mnemonic as buffer and convert as needed.

10 months agoSet safe seed and mnemonic directly from decryption method instead of returning....
Chris Duncan [Fri, 8 Aug 2025 21:22:54 +0000 (14:22 -0700)]
Set safe seed and mnemonic directly from decryption method instead of returning. Encode and decode bytes explicitly to avoid string handling.

10 months agoRequire wallet type as additional metadata to decrypt.
Chris Duncan [Fri, 8 Aug 2025 20:53:20 +0000 (13:53 -0700)]
Require wallet type as additional metadata to decrypt.

10 months agoMerge branch 'next/refactor-blocks'
Chris Duncan [Fri, 8 Aug 2025 20:22:15 +0000 (13:22 -0700)]
Merge branch 'next/refactor-blocks'

10 months agoFix ledger tests.
Chris Duncan [Fri, 8 Aug 2025 20:03:28 +0000 (13:03 -0700)]
Fix ledger tests.

10 months agoFix Ledger signature from block returning bytes instead of hex.
Chris Duncan [Fri, 8 Aug 2025 20:03:09 +0000 (13:03 -0700)]
Fix Ledger signature from block returning bytes instead of hex.

10 months agoPrioritize USB for Ledger for now.
Chris Duncan [Fri, 8 Aug 2025 19:44:32 +0000 (12:44 -0700)]
Prioritize USB for Ledger for now.

10 months agoFix pow test.
Chris Duncan [Fri, 8 Aug 2025 19:41:37 +0000 (12:41 -0700)]
Fix pow test.

10 months agoVerify seed in constant time.
Chris Duncan [Fri, 8 Aug 2025 19:35:54 +0000 (12:35 -0700)]
Verify seed in constant time.

10 months agoCheck for error property in RPC response.
Chris Duncan [Fri, 8 Aug 2025 19:25:50 +0000 (12:25 -0700)]
Check for error property in RPC response.

10 months agoMatch Ledger interface priority with documentation.
Chris Duncan [Fri, 8 Aug 2025 19:23:54 +0000 (12:23 -0700)]
Match Ledger interface priority with documentation.

10 months agoFix ledger signature output.
Chris Duncan [Fri, 8 Aug 2025 19:23:29 +0000 (12:23 -0700)]
Fix ledger signature output.

10 months agoChange block previous property to bytes.
Chris Duncan [Fri, 8 Aug 2025 19:23:15 +0000 (12:23 -0700)]
Change block previous property to bytes.

10 months agoFix wallet accounts return.
Chris Duncan [Fri, 8 Aug 2025 19:22:18 +0000 (12:22 -0700)]
Fix wallet accounts return.