]> zoso.dev Git - libnemo.git/log
libnemo.git
3 weeks agoIn BIP-32/44 keygen, add type guard against input to serialization functions and...
Chris Duncan [Mon, 18 Nov 2024 14:21:03 +0000 (06:21 -0800)]
In BIP-32/44 keygen, add type guard against input to serialization functions and replace positional set of typed array with padding argument in call to Convert function. In Safe class, fix session storage reference. In Tools class, remove littleEndian function deprecated by bugfix. In Wallet class, substitute blakejs package for blake2b-wasm; refer to getter for Ledger service instead of private property; throw error if Ledger account ckd fails so that parent abstract ckd method can return an Account guaranteed; refactor accounts function to save an allocation; add type guard to ckd implementations; remove unused imports. In TEST_VECTORS, move session storage custom polyfill for testing to separate GLOBALS file; document source of Trezor test vectors; tweak names of constants for clarity when using. In tests, use new GLOBALS file; add ckd performance test for generating 2^15 accounts; fix BLAKE2b ckd tests by adding more public/private key checks; skip sweep tool test since it can cause test failures due to node limits; reorganize wallet generation and account derivation test suites to separate concerns; remove unknown test vectors from original library.

5 weeks agoUpdate version. v0.0.19
Chris Duncan [Wed, 6 Nov 2024 07:09:30 +0000 (23:09 -0800)]
Update version.

5 weeks agoNano spec indicates account derivation should use index in unsigned 32-bit big endian...
Chris Duncan [Wed, 6 Nov 2024 07:08:21 +0000 (23:08 -0800)]
Nano spec indicates account derivation should use index in unsigned 32-bit big endian format. This is opposite of many processor architectures, so add a check for endianness for BLAKE2b wallet accounts. Also move function to be in alphabetical order.

5 weeks agoFix test vector constant references.
Chris Duncan [Wed, 6 Nov 2024 07:05:43 +0000 (23:05 -0800)]
Fix test vector constant references.

5 weeks agoRemove unnecessary argument.
Chris Duncan [Wed, 6 Nov 2024 06:01:46 +0000 (22:01 -0800)]
Remove unnecessary argument.

5 weeks agoFix test vectors.
Chris Duncan [Wed, 6 Nov 2024 06:01:12 +0000 (22:01 -0800)]
Fix test vectors.

5 weeks agoTabs not spaces.
Chris Duncan [Wed, 6 Nov 2024 05:31:15 +0000 (21:31 -0800)]
Tabs not spaces.

5 weeks agoAdd test vector data from publicly available tool at https://tools.nanos.cc/?tool...
Chris Duncan [Wed, 6 Nov 2024 04:48:12 +0000 (20:48 -0800)]
Add test vector data from publicly available tool at https://tools.nanos.cc/?tool=seed

5 weeks agoUpdate version. v0.0.18
Chris Duncan [Sat, 2 Nov 2024 08:36:58 +0000 (01:36 -0700)]
Update version.

5 weeks agoAdd option to restore LedgerWallet from a wallet ID.
Chris Duncan [Sat, 2 Nov 2024 08:36:02 +0000 (01:36 -0700)]
Add option to restore LedgerWallet from a wallet ID.

5 weeks agoUpdate version. v0.0.17
Chris Duncan [Sat, 2 Nov 2024 06:03:08 +0000 (23:03 -0700)]
Update version.

5 weeks agoUsing 'Node" as class name interferes with browser Node class, so revert it to 'Rpc'.
Chris Duncan [Sat, 2 Nov 2024 05:59:29 +0000 (22:59 -0700)]
Using 'Node" as class name interferes with browser Node class, so revert it to 'Rpc'.

5 weeks agoUpdate Node types.
Chris Duncan [Sat, 2 Nov 2024 05:52:22 +0000 (22:52 -0700)]
Update Node types.

5 weeks agoUpdate version. v0.0.16
Chris Duncan [Fri, 1 Nov 2024 05:18:33 +0000 (22:18 -0700)]
Update version.

5 weeks agoFix global assignment.
Chris Duncan [Fri, 1 Nov 2024 05:18:04 +0000 (22:18 -0700)]
Fix global assignment.

5 weeks agoUpdate version. v0.0.15
Chris Duncan [Fri, 1 Nov 2024 04:40:09 +0000 (21:40 -0700)]
Update version.

5 weeks agoAdd separate file option to allow importing to the global namespace.
Chris Duncan [Fri, 1 Nov 2024 04:38:58 +0000 (21:38 -0700)]
Add separate file option to allow importing to the global namespace.

6 weeks agoUpdate version. v0.0.14
Chris Duncan [Sat, 26 Oct 2024 03:37:31 +0000 (20:37 -0700)]
Update version.

6 weeks agoFix lock and unlock when account indices are skipped and update relevant test.
Chris Duncan [Sat, 26 Oct 2024 03:35:42 +0000 (20:35 -0700)]
Fix lock and unlock when account indices are skipped and update relevant test.

6 weeks agoUpdate version. v0.0.13
Chris Duncan [Fri, 25 Oct 2024 23:13:42 +0000 (16:13 -0700)]
Update version.

6 weeks agoShip source map for debugging.
Chris Duncan [Fri, 25 Oct 2024 23:11:10 +0000 (16:11 -0700)]
Ship source map for debugging.

7 weeks agoUpdate version. v0.0.12
Chris Duncan [Mon, 21 Oct 2024 13:20:21 +0000 (06:20 -0700)]
Update version.

7 weeks agoUpdate esbuild script to target browsers.
Chris Duncan [Mon, 21 Oct 2024 13:07:57 +0000 (06:07 -0700)]
Update esbuild script to target browsers.

8 weeks agoUpdate version. v0.0.11
Chris Duncan [Mon, 14 Oct 2024 10:55:24 +0000 (03:55 -0700)]
Update version.

8 weeks agoAdd wallet properties to get locked or unlocked status.
Chris Duncan [Mon, 14 Oct 2024 10:51:49 +0000 (03:51 -0700)]
Add wallet properties to get locked or unlocked status.

8 weeks agoUpdate version. v0.0.10
Chris Duncan [Mon, 14 Oct 2024 09:55:16 +0000 (02:55 -0700)]
Update version.

8 weeks agoSession storage operations are synchronous, so wrap them in Promises to at least...
Chris Duncan [Mon, 14 Oct 2024 09:43:05 +0000 (02:43 -0700)]
Session storage operations are synchronous, so wrap them in Promises to at least try and not block other processes.

8 weeks agoRename wallet import to restore which better reflects that it is being retrieved...
Chris Duncan [Mon, 14 Oct 2024 09:25:13 +0000 (02:25 -0700)]
Rename wallet import to restore which better reflects that it is being retrieved from existing storage. Add tests for wallet restore.

8 weeks agoFix parameter name for consistency.
Chris Duncan [Mon, 14 Oct 2024 09:24:08 +0000 (02:24 -0700)]
Fix parameter name for consistency.

8 weeks agoCheck for existing global session storage prior to mocking in tests.
Chris Duncan [Mon, 14 Oct 2024 09:23:07 +0000 (02:23 -0700)]
Check for existing global session storage prior to mocking in tests.

8 weeks agoUpdate version. v0.0.9
Chris Duncan [Sun, 13 Oct 2024 09:26:23 +0000 (02:26 -0700)]
Update version.

8 weeks agoFix typo removing argument from sessionStorage length mock.
Chris Duncan [Sun, 13 Oct 2024 09:18:08 +0000 (02:18 -0700)]
Fix typo removing argument from sessionStorage length mock.

8 weeks agoFix length and add clear properties to sessionStorage mock.
Chris Duncan [Sun, 13 Oct 2024 09:15:55 +0000 (02:15 -0700)]
Fix length and add clear properties to sessionStorage mock.

8 weeks agoUpdate Safe to use browser session storage. Mock global sessionStorage in tests....
Chris Duncan [Sun, 13 Oct 2024 09:11:46 +0000 (02:11 -0700)]
Update Safe to use browser session storage. Mock global sessionStorage in tests. Update wallet to pack ID and both secrets in one JSON object when locking and unpack it all when unlocking.

8 weeks agoUpdate version. v0.0.8
Chris Duncan [Sun, 13 Oct 2024 03:37:11 +0000 (20:37 -0700)]
Update version.

8 weeks agoTest new wallet ID getter.
Chris Duncan [Sun, 13 Oct 2024 03:36:37 +0000 (20:36 -0700)]
Test new wallet ID getter.

8 weeks agoFix reference to account balance type in test.
Chris Duncan [Sun, 13 Oct 2024 03:33:50 +0000 (20:33 -0700)]
Fix reference to account balance type in test.

8 weeks agoExpose internal wallet hexadecimal ID through getter.
Chris Duncan [Sun, 13 Oct 2024 03:21:18 +0000 (20:21 -0700)]
Expose internal wallet hexadecimal ID through getter.

2 months agoUpdate version. v0.0.7
Chris Duncan [Thu, 10 Oct 2024 23:46:16 +0000 (16:46 -0700)]
Update version.

2 months agoUpdate dependencies.
Chris Duncan [Thu, 10 Oct 2024 23:45:05 +0000 (16:45 -0700)]
Update dependencies.

2 months agoAdd package keyword.
Chris Duncan [Thu, 10 Oct 2024 23:40:27 +0000 (16:40 -0700)]
Add package keyword.

2 months agoRevert accidental change to documentation. Add tests for new getAllNames method.
Chris Duncan [Thu, 10 Oct 2024 23:37:48 +0000 (16:37 -0700)]
Revert accidental change to documentation. Add tests for new getAllNames method.

2 months agoSanitize rolodex entry names and validate it and address as strings.
Chris Duncan [Thu, 10 Oct 2024 22:10:12 +0000 (15:10 -0700)]
Sanitize rolodex entry names and validate it and address as strings.

2 months agoUpdate version. v0.0.6
Chris Duncan [Tue, 8 Oct 2024 16:40:29 +0000 (09:40 -0700)]
Update version.

2 months agoAdd test for converting small amounts of raw to fractional nano. Fix issue found...
Chris Duncan [Tue, 8 Oct 2024 16:40:03 +0000 (09:40 -0700)]
Add test for converting small amounts of raw to fractional nano. Fix issue found with said test.

2 months agoUpdate version. v0.0.5
Chris Duncan [Tue, 8 Oct 2024 09:05:57 +0000 (02:05 -0700)]
Update version.

2 months agoReturn bigint directly from account properties to let consumers do math on the raw...
Chris Duncan [Tue, 8 Oct 2024 09:02:56 +0000 (02:02 -0700)]
Return bigint directly from account properties to let consumers do math on the raw amounts since they can call toString() if necessary. Allow bigint to be passed to denomination converter and explicitly check its amount type.

2 months agoUpdate version. v0.0.4
Chris Duncan [Tue, 8 Oct 2024 07:15:41 +0000 (00:15 -0700)]
Update version.

2 months agoUpdate remaining pending nomenclature.
Chris Duncan [Tue, 8 Oct 2024 07:13:00 +0000 (00:13 -0700)]
Update remaining pending nomenclature.

2 months agoUpdate version. v0.0.3
Chris Duncan [Tue, 8 Oct 2024 06:43:44 +0000 (23:43 -0700)]
Update version.

2 months agoRename Account properties to current Nano terminology, that is, pending is now receiv...
Chris Duncan [Tue, 8 Oct 2024 06:37:13 +0000 (23:37 -0700)]
Rename Account properties to current Nano terminology, that is, pending is now receivable.

2 months agoRevert fix for repo URL.
Chris Duncan [Mon, 7 Oct 2024 20:06:07 +0000 (13:06 -0700)]
Revert fix for repo URL.

2 months agoUpdate version. v0.0.2
Chris Duncan [Mon, 7 Oct 2024 19:53:54 +0000 (12:53 -0700)]
Update version.

2 months agoUpdate bug reporting.
Chris Duncan [Mon, 7 Oct 2024 19:53:11 +0000 (12:53 -0700)]
Update bug reporting.

2 months agoFix failing test due to locked test wallet.
Chris Duncan [Mon, 7 Oct 2024 19:44:53 +0000 (12:44 -0700)]
Fix failing test due to locked test wallet.

2 months agoFix wallet CKD documentation. Add documentation to Ledger lock and unlock methods...
Chris Duncan [Mon, 7 Oct 2024 19:44:31 +0000 (12:44 -0700)]
Fix wallet CKD documentation. Add documentation to Ledger lock and unlock methods to indicate that the default behavior is overridden.

2 months agoGet pending transactions and vote weight from account_info RPC when refreshing an...
Chris Duncan [Mon, 7 Oct 2024 19:19:11 +0000 (12:19 -0700)]
Get pending transactions and vote weight from account_info RPC when refreshing an Account.

2 months agoFix repo link. v0.0.1
Chris Duncan [Thu, 3 Oct 2024 20:41:53 +0000 (13:41 -0700)]
Fix repo link.

2 months agoExport Safe class for external usage.
Chris Duncan [Thu, 3 Oct 2024 19:58:52 +0000 (12:58 -0700)]
Export Safe class for external usage.

2 months agoFix optional parameter typing in overloaded functions. Fix dependency in package...
Chris Duncan [Thu, 3 Oct 2024 09:18:38 +0000 (02:18 -0700)]
Fix optional parameter typing in overloaded functions. Fix dependency in package lockfile.

2 months agolibname: A reimagining of the nanocurrency-web package.
Chris Duncan [Thu, 3 Oct 2024 09:10:17 +0000 (02:10 -0700)]
libname: A reimagining of the nanocurrency-web package.

Greater Changes
* Completely replace crypto-js dependency with the browser native Web Crypto API.
* Overhaul wallet system to align more with object-oriented design and to consolidate related but separated functionality.
* Add support for Ledger hardware wallets.
* Encrypt wallet secrets by default on initialization, and add lock/unlock feature to encrypt/decrypt on-demand.
* Add rolodex feature to enable contact management including signature verification using contact name associated with a public key in your rolodex.
* Add online functions to interact with nodes like fetching account info, generating PoW, and sending blocks for processing.
* Add sweep feature similar to the offering from Nault which sends all funds in a specified range of accounts in a wallet to a specific address.
* Refactor key derivation functions to align closer with spec as designed in the relevant BIPs.
* Adopt GPLv3 license and achieve REUSE compliance.

Lesser Changes
* Refactor as ESM instead of CJS and build for ESMNext target to enable more modern browser features.
* Utilize browser native features like bigint instead of bignumber.js dependency.
* Deprecate 'box' feature and with it the dependency on byte-base64.
* Replace chai/mocha test framework with built-in Node.js test runner, and add tons of tests.
* Replace webpack (and dependency ts-loader) with esbuild which offers faster builds and minification.
* Add online function to get the next unopened account of a wallet with the idea that a business could distribute addresses to customers in a custodial manner.
* Add tons of type checking to validate inputs and outputs.
* Deprecate lots of unused code or replace with native features.

3 months agoTest legacy account derivation. Test hardened indices. Increase derivation count...
Chris Duncan [Sat, 31 Aug 2024 20:25:32 +0000 (13:25 -0700)]
Test legacy account derivation. Test hardened indices. Increase derivation count to stress test.

3 months agoFix module imports. Replace arrow functions on 'describe' calls since they mess up...
Chris Duncan [Sat, 31 Aug 2024 20:13:26 +0000 (13:13 -0700)]
Fix module imports. Replace arrow functions on 'describe' calls since they mess up 'this' and prevent test data setup. Set mocha 'slow' to zero in order to report all test durations.

3 months agoRename test file to enable module features.
Chris Duncan [Sat, 31 Aug 2024 19:51:11 +0000 (12:51 -0700)]
Rename test file to enable module features.

4 months agoUpdate dependencies.
Zosoled [Tue, 30 Jul 2024 06:33:29 +0000 (23:33 -0700)]
Update dependencies.

5 months agoUpdate package lockfile.
Zosoled [Sun, 16 Jun 2024 22:39:14 +0000 (15:39 -0700)]
Update package lockfile.

5 months agoUpdate all dependency versions.
Zosoled [Sun, 16 Jun 2024 22:38:47 +0000 (15:38 -0700)]
Update all dependency versions.

5 months agoFix CVE-2023-28154.
Zosoled [Sun, 16 Jun 2024 22:35:30 +0000 (15:35 -0700)]
Fix CVE-2023-28154.

5 months agoFix CVE-2023-46233.
Zosoled [Sun, 16 Jun 2024 22:34:22 +0000 (15:34 -0700)]
Fix CVE-2023-46233.

2 years agoVersion 1.4.3
Miro Metsänheimo [Wed, 27 Apr 2022 19:13:08 +0000 (22:13 +0300)]
Version 1.4.3

* Revert back a change regarding entropy length

2 years agoVersion 1.4.2
Miro Metsänheimo [Sun, 24 Apr 2022 19:59:00 +0000 (22:59 +0300)]
Version 1.4.2

* Fix encrypting and decrypting emojis

2 years agoVersion 1.4.1
Miro Metsänheimo [Sun, 24 Apr 2022 18:51:45 +0000 (21:51 +0300)]
Version 1.4.1

* Fix for legacy wallet creation presented in 1.4.0

2 years agoMerge pull request #13 from numsu/encryption
Miro Metsänheimo [Sun, 24 Apr 2022 18:29:56 +0000 (21:29 +0300)]
Merge pull request #13 from numsu/encryption

Version 1.4.0

2 years agoVersion 1.4.0
Miro Metsänheimo [Fri, 22 Apr 2022 20:54:27 +0000 (23:54 +0300)]
Version 1.4.0

* Added new functionality to encrypt/decrypt strings with Diffie-Hellman
key exchange with Nano addresses and private keys by converting the keys
to Curve25519 keys suitable for encryption and using Box functionality
from NaCl. The library will generate a random nonce to each encryption
and pass the nonce along with the encrypted message encoded in Base64
* Some code refactoring (use static classes and make sure ed25519 and
curve classes are always freshly created)

2 years agoVersion 1.3.6
Miro Metsänheimo [Fri, 4 Feb 2022 22:06:04 +0000 (00:06 +0200)]
Version 1.3.6

* Upgraded dependencies

3 years agoVersion 1.3.5
Miro Metsänheimo [Sat, 18 Sep 2021 20:00:42 +0000 (23:00 +0300)]
Version 1.3.5

* Expose the blake2b hashing function
* Expose the public key to address function

3 years agoVersion 1.3.4
Miro Metsänheimo [Tue, 8 Jun 2021 15:09:10 +0000 (18:09 +0300)]
Version 1.3.4

* Updated dependencies
* Improved documentation, JSDoc and typings

3 years agoVersion 1.3.3
Miro Metsänheimo [Thu, 3 Jun 2021 20:19:08 +0000 (23:19 +0300)]
Version 1.3.3

* New feature: verify signatures with the public key
* New feature: convert nano address to a public key
* Add documentation about how to verify ownership of user's Nano address
  by doing a signature challenge
* npm audit fix

3 years agoVersion 1.3.2
Miro Metsänheimo [Tue, 30 Mar 2021 19:08:42 +0000 (22:08 +0300)]
Version 1.3.2

* Allow work to be omitted since it's not required for the signature
* npm audit fix

3 years agoVersion 1.3.1
Miro Metsänheimo [Sun, 7 Mar 2021 14:13:24 +0000 (16:13 +0200)]
Version 1.3.1

* generateLegacy seed is now optional

3 years agoMerge pull request #8 from aspic/support-optional-seed
Miro Metsänheimo [Sun, 7 Mar 2021 14:11:17 +0000 (16:11 +0200)]
Merge pull request #8 from aspic/support-optional-seed

Let seed be optional since this is supported in the library

3 years agoMakes seed be optional since this is supported in the library
Kjetil Mehl [Sun, 7 Mar 2021 12:53:51 +0000 (13:53 +0100)]
Makes seed be optional since this is supported in the library

3 years agoUpdate README.md
Miro Metsänheimo [Fri, 22 Jan 2021 21:31:42 +0000 (23:31 +0200)]
Update README.md

3 years agoUpdate README.md
Miro Metsänheimo [Thu, 14 Jan 2021 06:55:23 +0000 (08:55 +0200)]
Update README.md

3 years agoVersion 1.3.0
Miro Metsänheimo [Tue, 12 Jan 2021 20:30:58 +0000 (22:30 +0200)]
Version 1.3.0

* Add the possibility to generate legacy seeds and mnemonics
* Add the possibility to import legacy mnemonic phrases
* Stop throwing errors if given an upper case hex as input
* Return mnemonic also when creating wallet with a legacy seed
* npm audit fix
* Small refactoring

4 years agoVersion 1.2.2
Miro Metsänheimo [Fri, 21 Aug 2020 18:10:32 +0000 (21:10 +0300)]
Version 1.2.2

* Fixed an issue where the unit converter wasn't able to convert high
precision numbers correctly, generating invalid blocks

4 years agoVersion 1.2.1
Miro Metsänheimo [Wed, 27 May 2020 20:03:12 +0000 (23:03 +0300)]
Version 1.2.1

* Fixed an issue where address importer threw an error on mnemonic words
that had a checksum hex value with a leading zero
* Added the possibility to validate mnemonic words and nano addresses

4 years agoVersion 1.2.0
Miro Metsänheimo [Sat, 2 May 2020 20:06:01 +0000 (23:06 +0300)]
Version 1.2.0

* Import wallets with legacy Nano hex seeds

4 years agoupdate readme
Miro Metsänheimo [Fri, 10 Apr 2020 14:09:13 +0000 (17:09 +0300)]
update readme

4 years agoVersion 1.1.1
Miro Metsänheimo [Fri, 10 Apr 2020 14:06:56 +0000 (17:06 +0300)]
Version 1.1.1

* Downgrade crypto-js back for the package to work properly with older
browsers and react native

4 years agoVersion 1.1.0
Miro Metsänheimo [Sat, 7 Mar 2020 11:43:11 +0000 (13:43 +0200)]
Version 1.1.0

* Separate block signer to it's own class
* Add JSDOC to some functions
* Renamed converter to tools
* Added the ability to sign any strings with the private key

5 years agoremove a space
Miro Metsänheimo [Sat, 19 Oct 2019 11:08:21 +0000 (14:08 +0300)]
remove a space

5 years agoupdate npmignore to make the module smaller, update readme
Miro Metsänheimo [Sat, 19 Oct 2019 11:06:47 +0000 (14:06 +0300)]
update npmignore to make the module smaller, update readme

5 years agoupdate readme
Miro Metsänheimo [Fri, 18 Oct 2019 19:49:52 +0000 (22:49 +0300)]
update readme

5 years agoFix and add validations to block signing etc
Miro Metsänheimo [Fri, 18 Oct 2019 17:57:23 +0000 (20:57 +0300)]
Fix and add validations to block signing etc

5 years agoadd default exports, clear dist before compile
Miro Metsänheimo [Fri, 18 Oct 2019 16:03:17 +0000 (19:03 +0300)]
add default exports, clear dist before compile

5 years agoMerge pull request #2 from numsu/feature/webpack-build
Miro Metsänheimo [Mon, 14 Oct 2019 20:22:02 +0000 (23:22 +0300)]
Merge pull request #2 from numsu/feature/webpack-build

fix unpkg build

5 years agofix unpkg build
Miro Metsänheimo [Mon, 14 Oct 2019 20:20:01 +0000 (23:20 +0300)]
fix unpkg build

5 years agoMerge pull request #1 from numsu/feature/webpack-build
Miro Metsänheimo [Mon, 14 Oct 2019 19:51:56 +0000 (22:51 +0300)]
Merge pull request #1 from numsu/feature/webpack-build

webpack bundle and changed requires to imports

5 years agowebpack bundle and changed requires to imports
Miro Metsänheimo [Mon, 14 Oct 2019 19:17:38 +0000 (22:17 +0300)]
webpack bundle and changed requires to imports