]> git.codecow.com Git - libnemo.git/log
libnemo.git
10 months agoRemove unused CryptoKey usage.
Chris Duncan [Fri, 29 Aug 2025 18:06:36 +0000 (11:06 -0700)]
Remove unused CryptoKey usage.

10 months agov0.3.0
Chris Duncan [Fri, 22 Aug 2025 23:38:52 +0000 (16:38 -0700)]
v0.3.0

10 months agoMerge branch 'next/organize'
Chris Duncan [Fri, 22 Aug 2025 22:27:58 +0000 (15:27 -0700)]
Merge branch 'next/organize'

10 months agoMerge branch 'main' into next/organize
Chris Duncan [Fri, 22 Aug 2025 22:25:56 +0000 (15:25 -0700)]
Merge branch 'main' into next/organize

10 months agoRemove redundant type checking now handled by Address class.
Chris Duncan [Fri, 22 Aug 2025 22:23:34 +0000 (15:23 -0700)]
Remove redundant type checking now handled by Address class.

10 months agoFix address string output.
Chris Duncan [Fri, 22 Aug 2025 09:50:27 +0000 (02:50 -0700)]
Fix address string output.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

10 months agoRemove outdated documentation.
Chris Duncan [Mon, 18 Aug 2025 21:51:56 +0000 (14:51 -0700)]
Remove outdated documentation.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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