]> git.codecow.com Git - libnemo.git/log
libnemo.git
7 months agoImplement new address class in Account and pass its public key as bytes.
Chris Duncan [Fri, 22 Aug 2025 09:44:49 +0000 (02:44 -0700)]
Implement new address class in Account and pass its public key as bytes.

7 months agoImplement class to represent Nano addresses.
Chris Duncan [Fri, 22 Aug 2025 09:31:22 +0000 (02:31 -0700)]
Implement class to represent Nano addresses.

7 months agoAllow byte conversion to hex from buffer as well as typed array.
Chris Duncan [Fri, 22 Aug 2025 09:04:52 +0000 (02:04 -0700)]
Allow byte conversion to hex from buffer as well as typed array.

7 months agoAdd method to convert base32 directly to buffer.
Chris Duncan [Fri, 22 Aug 2025 07:32:45 +0000 (00:32 -0700)]
Add method to convert base32 directly to buffer.

7 months agoAllow ArrayBuffer for converting to base32.
Chris Duncan [Fri, 22 Aug 2025 07:26:03 +0000 (00:26 -0700)]
Allow ArrayBuffer for converting to base32.

7 months agoFix blake type signature to indicate ArrayBuffer is valid argument.
Chris Duncan [Fri, 22 Aug 2025 07:24:38 +0000 (00:24 -0700)]
Fix blake type signature to indicate ArrayBuffer is valid argument.

7 months agoDeprecate unnecessary Key type alias. Inline public and private key validation.
Chris Duncan [Fri, 22 Aug 2025 07:02:28 +0000 (00:02 -0700)]
Deprecate unnecessary Key type alias. Inline public and private key validation.

7 months agoExtract account validation to its own file.
Chris Duncan [Fri, 22 Aug 2025 06:27:35 +0000 (23:27 -0700)]
Extract account validation to its own file.

7 months agoFix error message.
Chris Duncan [Fri, 22 Aug 2025 06:19:01 +0000 (23:19 -0700)]
Fix error message.

7 months agoAdd test for legacy account addresses.
Chris Duncan [Fri, 22 Aug 2025 06:16:37 +0000 (23:16 -0700)]
Add test for legacy account addresses.

7 months agoExtract account refresh into its own file.
Chris Duncan [Thu, 21 Aug 2025 22:23:41 +0000 (15:23 -0700)]
Extract account refresh into its own file.

7 months agoTweak import path.
Chris Duncan [Thu, 21 Aug 2025 22:23:15 +0000 (15:23 -0700)]
Tweak import path.

7 months agoMove account into its own directory.
Chris Duncan [Thu, 21 Aug 2025 21:54:21 +0000 (14:54 -0700)]
Move account into its own directory.

7 months agoRevert private account properties to match RPC data so that assignment from a refresh...
Chris Duncan [Thu, 21 Aug 2025 21:43:42 +0000 (14:43 -0700)]
Revert private account properties to match RPC data so that assignment from a refresh call can be greatly simplified.

7 months agoInclude account refresh in testing.
Chris Duncan [Thu, 21 Aug 2025 21:42:55 +0000 (14:42 -0700)]
Include account refresh in testing.

7 months agoRemove unnecessary custom import paths. Import Ledger dynamically so the dependencies...
Chris Duncan [Thu, 21 Aug 2025 21:26:04 +0000 (14:26 -0700)]
Remove unnecessary custom import paths. Import Ledger dynamically so the dependencies can be loaded on demand.

7 months agoFix type definition import.
Chris Duncan [Thu, 21 Aug 2025 21:05:48 +0000 (14:05 -0700)]
Fix type definition import.

7 months agoRestore polyfill just in case we need it later.
Chris Duncan [Thu, 21 Aug 2025 19:58:56 +0000 (12:58 -0700)]
Restore polyfill just in case we need it later.

7 months agoRefactor db names as readonly getters.
Chris Duncan [Thu, 21 Aug 2025 19:58:41 +0000 (12:58 -0700)]
Refactor db names as readonly getters.

7 months agoAdd account as a valid data type for named data so it can be added to database.
Chris Duncan [Thu, 21 Aug 2025 19:57:53 +0000 (12:57 -0700)]
Add account as a valid data type for named data so it can be added to database.

7 months agoFix JSdoc.
Chris Duncan [Thu, 21 Aug 2025 13:37:14 +0000 (06:37 -0700)]
Fix JSdoc.

7 months agoType definition updates.
Chris Duncan [Wed, 20 Aug 2025 21:27:24 +0000 (14:27 -0700)]
Type definition updates.

7 months agoUpdate type definitions.
Chris Duncan [Wed, 20 Aug 2025 21:03:38 +0000 (14:03 -0700)]
Update type definitions.

7 months agoFormatting.
Chris Duncan [Wed, 20 Aug 2025 20:59:40 +0000 (13:59 -0700)]
Formatting.

7 months agoSkip online tests now that they are passing.
Chris Duncan [Wed, 20 Aug 2025 20:54:39 +0000 (13:54 -0700)]
Skip online tests now that they are passing.

7 months agoRefactor Ledger tests to work with agnostic wallet.
Chris Duncan [Wed, 20 Aug 2025 20:54:31 +0000 (13:54 -0700)]
Refactor Ledger tests to work with agnostic wallet.

7 months agoAvoid calling account rep endpoint many times if account has no frontier anyway.
Chris Duncan [Wed, 20 Aug 2025 20:50:42 +0000 (13:50 -0700)]
Avoid calling account rep endpoint many times if account has no frontier anyway.

7 months agoUse frontier for potential Ledger signature when signing from block.
Chris Duncan [Wed, 20 Aug 2025 20:32:11 +0000 (13:32 -0700)]
Use frontier for potential Ledger signature when signing from block.

7 months agoFix bad commit for Ledger version and method organizing.
Chris Duncan [Wed, 20 Aug 2025 20:30:11 +0000 (13:30 -0700)]
Fix bad commit for Ledger version and method organizing.

7 months agoDisplay test suite name before running tests instead of after.
Chris Duncan [Wed, 20 Aug 2025 20:29:36 +0000 (13:29 -0700)]
Display test suite name before running tests instead of after.

7 months agoNaming convention.
Chris Duncan [Wed, 20 Aug 2025 20:24:02 +0000 (13:24 -0700)]
Naming convention.

7 months agoPrivatize Ledger version method and rearrange.
Chris Duncan [Wed, 20 Aug 2025 20:23:46 +0000 (13:23 -0700)]
Privatize Ledger version method and rearrange.

7 months agoSpecify frontier as optional for wallet signing.
Chris Duncan [Wed, 20 Aug 2025 20:23:05 +0000 (13:23 -0700)]
Specify frontier as optional for wallet signing.

7 months agoRemove redundant check.
Chris Duncan [Wed, 20 Aug 2025 20:22:49 +0000 (13:22 -0700)]
Remove redundant check.

7 months agoFix block issues with sweeper.
Chris Duncan [Wed, 20 Aug 2025 18:53:44 +0000 (11:53 -0700)]
Fix block issues with sweeper.

7 months agoEnsure accounts have reps during wallet refresh.
Chris Duncan [Wed, 20 Aug 2025 18:52:41 +0000 (11:52 -0700)]
Ensure accounts have reps during wallet refresh.

7 months agoProcess RPC response body prior to checking for errors so any error messages can...
Chris Duncan [Wed, 20 Aug 2025 18:51:54 +0000 (11:51 -0700)]
Process RPC response body prior to checking for errors so any error messages can be handled.

7 months agoCreate JSON object for block processing without literal strings.
Chris Duncan [Wed, 20 Aug 2025 18:51:20 +0000 (11:51 -0700)]
Create JSON object for block processing without literal strings.

7 months agoAllow undefined input for account rep.
Chris Duncan [Wed, 20 Aug 2025 18:50:30 +0000 (11:50 -0700)]
Allow undefined input for account rep.

7 months agoFix return type for Ledger database backup.
Chris Duncan [Wed, 20 Aug 2025 16:18:11 +0000 (09:18 -0700)]
Fix return type for Ledger database backup.

7 months agoFix refresh from account and from wallet.
Chris Duncan [Wed, 20 Aug 2025 15:58:03 +0000 (08:58 -0700)]
Fix refresh from account and from wallet.

7 months agoGet frontier block info into account object from refresh. Move some Ledger signing...
Chris Duncan [Wed, 20 Aug 2025 04:53:32 +0000 (21:53 -0700)]
Get frontier block info into account object from refresh. Move some Ledger signing functionality from block into wallet so that block can be wallet-agnostic.

7 months agoStart merging Ledger functionality into main Wallet class and call out to static...
Chris Duncan [Tue, 19 Aug 2025 21:38:34 +0000 (14:38 -0700)]
Start merging Ledger functionality into main Wallet class and call out to static methods as necessary.

7 months agoExtract destroy method from wallet into separate module. Clean up imports.
Chris Duncan [Tue, 19 Aug 2025 19:00:06 +0000 (12:00 -0700)]
Extract destroy method from wallet into separate module. Clean up imports.

7 months agoUpdate Account type definition.
Chris Duncan [Tue, 19 Aug 2025 18:13:25 +0000 (11:13 -0700)]
Update Account type definition.

7 months agoAdd type assertion to hint at output.
Chris Duncan [Tue, 19 Aug 2025 18:12:51 +0000 (11:12 -0700)]
Add type assertion to hint at output.

7 months agoAdd more account info.
Chris Duncan [Tue, 19 Aug 2025 18:12:32 +0000 (11:12 -0700)]
Add more account info.
Include confirmed blocks in account-specific refresh.
Alter name of frontier property for consistency with other block-type account properties.
Alter name of block_count and confirmed_height to be consisten with each other.

7 months agoExtract wallet refresh to separate module and refactor to use batch RPC endpoints.
Chris Duncan [Tue, 19 Aug 2025 14:51:00 +0000 (07:51 -0700)]
Extract wallet refresh to separate module and refactor to use batch RPC endpoints.

7 months agoSpecify account info data types.
Chris Duncan [Tue, 19 Aug 2025 14:49:12 +0000 (07:49 -0700)]
Specify account info data types.

7 months agoDestroy hanging test wallet.
Chris Duncan [Tue, 19 Aug 2025 14:13:17 +0000 (07:13 -0700)]
Destroy hanging test wallet.

7 months agoFix error message typo.
Chris Duncan [Tue, 19 Aug 2025 12:50:52 +0000 (05:50 -0700)]
Fix error message typo.

7 months agoFix fetching next unopened account.
Chris Duncan [Tue, 19 Aug 2025 04:55:02 +0000 (21:55 -0700)]
Fix fetching next unopened account.

7 months agoExtract three more wallet methods to separate function modules.
Chris Duncan [Tue, 19 Aug 2025 04:37:42 +0000 (21:37 -0700)]
Extract three more wallet methods to separate function modules.

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.