Artem Gureev
f14fe836c6
refactor: revert host crates to AccountId derivation constructors
2026-06-30 22:22:02 +04:00
Artem Gureev
71867a4d57
refactor(lee_core): make PrivateAddressPlaintext have a vpk lifetime
2026-06-30 16:36:45 +04:00
Artem Gureev
d2a7b329fb
refactor: tests use PrivateAddressPlaintext
2026-06-30 15:15:06 +04:00
agureev
090c368c14
tests: test and flow updates
2026-06-23 15:51:58 +04:00
Pravdyvy
8ff353df0c
Merge branch 'main' into Pravdyvy/wallet-ffi-extension
2026-06-15 14:14:45 +03:00
jonesmarvin8
feb6cb7f92
feat(wallet): add keycard support for public accounts for public/privacy txs for program facades ( #461 )
...
* feat: add basic commands for communicating with keycard
* initialize changes
* reorganization
* add script file for easier wallet access
* update commands
* fixes
* fixed load for non continuous run
* Updates for signatures with keycard
* fix BIP-340 signatures for fixed sized messages
* fmt
* refactor and add pin support to program facades
* fix unit test
* fixes
* Revert "fixes"
This reverts commit 41f34f4ff4145b7abb60fd9bec168ae4b60f23b4.
* fixes
* fixes
* Removed privacy keycard calls
* Revert "Removed privacy keycard calls"
This reverts commit d70ef505a1f40b87159099761f5fce5a31e3f17b.
* Add domain separators
* Removed privacy txs for keycard
* CI fixes
* CI fixes
* addressed some comments
* fix ci
* initialize branch
* ci fixes
* fix integration test issue and updated keycard firmware
* addressed more comments
* fixed deny
* remove keycard-py
* fixed from earlier merge
* add hash_message tests
* add test
* fix deny
* CI fixes
* fixed integration tests
* Update public.rs
* update artifacts
* privacy command fixes
* ci and comments
* addressed comments
* comment fixes
* fixes from merging main
* adding support to other programs
* expanded support
* ci fixes
* ci and add private account keys test
* some fixes and setup notes
* Ci fixes
* ci fixes
* update key paths to avoid collisions in tests
* added separated files for keycard_tests_2.sh
* first round of comments
* Revert "Merge branch 'main' into marvin/keycard-commands"
This reverts commit 3fce53f663a3996938dddf77680854570063ca21, reversing
changes made to e7b42a5177641455a8917bd2e29db20afd9690e5.
* python comments
* addressed comments
* compile error fixed
* fix artifacts
* fix main merge error
* adjust signer logic workflow
* updating logic
* fmt
* refactored
* clippy fix
* minor fix
* addressing comments
* minor fix
* ci fix
* addressed deferred comments
* clean up
* minor cleanup
* ci fixes
* fmt fix
* feat!(wallet): Merged `SigningGroup` with `AccountManager` (#500 )
* feat: account manager extension
* feat(wallet): added unified way of sending public transactions to all facades
* fix(wallet): no sign option added
* fix(deny): deny fix
* fix(wallet): suggestion 1
* fix(wallet): suggestion fix 1
* feat!: Add new path for externally provided seed to the circuit.
BREAKING CHANGE: add identity variants to the circuit and change semantics for `Claim::Authorized` for private PDAs
* feat(ci): use separate job per each integration tests module
* feat(ci): cache rust artifacts
* feat(ci): build integration tests binary once and reuse it
* fix(wallet): fmt
* ci: add bench-regression workflow with criterion-compare for crypto_primitives_bench
* fix(wallet): merge postfix
* feat!(wallet): SigningGroup merged with AccountManager
* fix(ci): deny and artifacts fix
* fix(deny): deny fix
* fix keycard and lint
---------
Co-authored-by: Sergio Chouhy <sergio.chouhy@gmail.com>
Co-authored-by: Daniil Polyakov <arjentix@gmail.com>
Co-authored-by: Moudy <m.ellaz@hotmail.com>
Co-authored-by: Sergio Chouhy <41742639+schouhy@users.noreply.github.com>
Co-authored-by: jonesmarvin8 <83104039+jonesmarvin8@users.noreply.github.com>
* addressed comments
* minor comments
* Rebase to main
* CI fixes
---------
Co-authored-by: Pravdyvy <46261001+Pravdyvy@users.noreply.github.com>
Co-authored-by: Sergio Chouhy <sergio.chouhy@gmail.com>
Co-authored-by: Daniil Polyakov <arjentix@gmail.com>
Co-authored-by: Moudy <m.ellaz@hotmail.com>
Co-authored-by: Sergio Chouhy <41742639+schouhy@users.noreply.github.com>
2026-06-05 17:35:10 -04:00
Pravdyvy
a999563a2d
Merge branch 'main' into Pravdyvy/wallet-ffi-extension
2026-06-03 15:09:55 +03:00
Sergio Chouhy
4bcffafe27
refactor!: rename nssa crate to lee
...
BREAKING CHANGE:
- Crate `nssa` renamed to `lee`; update `Cargo.toml` dependencies from `nssa = { workspace = true }` to `lee = { workspace = true }`.
- Crate `nssa_core` renamed to `lee_core`; update similarly.
- Crate `key_protocol` moved under `lee`; update `Cargo.toml` dependencies from `key_protocol = { workspace = true }` to `lee_key_protocol = { workspace = true }`.
- Type `NSSATransaction` (in `common`) renamed to `LeeTransaction`.
- Error type `nssa::error::NssaError` renamed to `lee::error::LeeError`.
- Error type `nssa_core::error::NssaCoreError` renamed to `lee_core::error::LeeCoreError`.
- All `use nssa::` and `use nssa_core::` import paths must be updated to `use lee::` and `use lee_core::` respectively.
- Guest programs must replace `write_nssa_outputs` with `write_lee_outputs`.
- The sequencer RocksDB column family for the chain state was renamed. Existing databases are incompatible and must be wiped before running the new version.
- Domain separators updated: `"NSSA_seed"` → `"LEE_seed"` (key derivation), `"NSSA/v0.2/KDF-SHA256/"` → `"LEE/v0.2/KDF-SHA256/"` (encryption KDF), `"/NSSA/v0.2/AccountId/PDA/"` →
`"/LEE/v0.2/AccountId/PDA/"` (public PDA address derivation). All previously derived keys, encrypted outputs, and public PDA addresses are invalidated.
2026-06-01 17:11:42 -03:00
Pravdyvy
716c4eeded
fix(integration_tests): integration test for private execution added
2026-05-29 13:08:13 +03:00
Pravdyvy
ac0c4363b6
feat(wallet_ffi): generic private transactions added
2026-05-25 14:31:44 +03:00
Pravdyvy
b80c89848c
feat(integration_tests): generic call of a transfer test added
2026-05-22 16:50:55 +03:00
Daniil Polyakov
89d1b95738
refactor: mark WalletFfiError as must_use
...
Co-authored-by: Copilot <copilot@github.com>
2026-05-15 01:33:50 +03:00
Daniil Polyakov
5f207a3f02
feat: move initial accounts data into genesis
2026-05-15 01:33:50 +03:00
Sergio Chouhy
e9c0aa0858
handle comments
2026-05-08 21:41:48 -03:00
Sergio Chouhy
9d2abc76a1
fix tests
2026-04-21 22:39:14 -03:00
Sergio Chouhy
7ccd6ae331
wip
2026-04-20 11:27:15 -03:00
Sergio Chouhy
6316f59777
fmt
2026-04-19 23:13:51 -03:00
Sergio Chouhy
a42144cb3c
minor refactor. update ffi
2026-04-17 19:45:30 -03:00
Sergio Chouhy
3a3358e389
adapt wallet ffi
2026-04-15 19:35:48 -03:00
Sergio Chouhy
dae617c673
wip: add dummy identifier
2026-04-14 18:02:38 -03:00
r4bbit
3e24ae2736
fix(wallet): use cryptographically secure entropy for mnemonic generation
...
The mnemonic/wallet generation was using a constant zero-byte array for entropy ([0u8; 32]), making all wallets deterministic based
solely on the password. This commit introduces proper random entropy using OsRng and enables users to back up their recovery phrase.
Changes:
- SeedHolder::new_mnemonic() now uses OsRng for 256-bit random entropy and returns the generated mnemonic
- Added SeedHolder::from_mnemonic() to recover a wallet from an existing mnemonic phrase
- WalletChainStore::new_storage() returns the mnemonic for user backup
- Added WalletChainStore::restore_storage() for recovery from a mnemonic
- WalletCore::new_init_storage() now returns the mnemonic
- Renamed reset_storage to restore_storage, which accepts a mnemonic for recovery
- CLI displays the recovery phrase when a new wallet is created
- RestoreKeys command now prompts for the mnemonic phrase via read_mnemonic_from_stdin()
Note: The password parameter is retained for future storage encryption but is no longer used in seed derivation (empty passphrase is used
instead). This means the mnemonic alone is sufficient to recover accounts.
Usage:
On first wallet initialization, users will see:
IMPORTANT: Write down your recovery phrase and store it securely.
This is the only way to recover your wallet if you lose access.
Recovery phrase:
word1 word2 word3 ... word24
To restore keys:
wallet restore-keys --depth 5
Input recovery phrase: <24 words>
Input password: <password>
2026-04-01 16:04:47 +02:00
Daniil Polyakov
6780f1c9a4
feat: protect from public pda griefing attacks
2026-03-28 01:23:57 +03:00
jonesmarvin8
ce729f112d
Merge branch 'main' into marvin/bip-32-comp
2026-03-18 16:47:39 -04:00
jonesmarvin8
5d9980cf63
lint fixes
2026-03-18 13:10:36 -04:00
jonesmarvin8
8dd5037e28
Merge branch 'main' into marvin/nonce
2026-03-17 16:45:08 -04:00
Daniil Polyakov
aa462b66eb
feat: add nursery clippy lints
2026-03-17 21:25:30 +03:00
Daniil Polyakov
e3b93b6e9a
feat: add restriction clippy lints
2026-03-17 21:25:30 +03:00
Daniil Polyakov
efe8393ba0
feat: add pedantic clippy lints
2026-03-17 21:25:30 +03:00
jonesmarvin8
b1747548b2
fix nullifer typo
2026-03-09 12:23:57 -04:00
jonesmarvin8
84abe02573
add serialize/deserialize impls
2026-03-02 11:54:41 -05:00
jonesmarvin8
946a45b8a3
added test for new nonce mechanism
2026-02-17 19:10:35 -05:00
jonesmarvin8
fa6a99192e
Merge branch 'main' into marvin/nonce
2026-02-17 18:26:48 -05:00
jonesmarvin8
a821f04fb8
Merge branch 'main' into marvin/nonce
2026-02-16 19:56:44 -05:00
jonesmarvin8
f8dfcac17a
Merge branch 'main' into marvin/private_keys
2026-02-16 19:55:09 -05:00
jonesmarvin8
d965b7c25d
Merge branch 'main' into marvin/nonce
2026-02-16 09:27:34 -05:00
Sergio Chouhy
d8537ea3f0
add wallet ffi auth-transfer private method
2026-02-16 11:24:06 -03:00
Sergio Chouhy
2c89e17896
add wallet ffi auth-transfer deshielded method
2026-02-16 11:16:48 -03:00
Sergio Chouhy
c3ca6c7563
add wallet ffi auth-transfer shielded method
2026-02-16 11:16:48 -03:00
Sergio Chouhy
707ea7d379
add get private account and init private account ffi methods
2026-02-16 11:16:46 -03:00
jonesmarvin8
6a89ca0a7f
Merge branch 'main' into marvin/private_keys
2026-02-16 08:02:37 -05:00
jonesmarvin8
77f2fb6994
update nonce mechanism
2026-02-12 19:22:03 -05:00
Daniil Polyakov
d4494c1f21
fix: use private account for private account test in wallet_ffi
2026-02-12 19:38:04 +03:00
Daniil Polyakov
d2ce0cd51b
fix: run async runtime when dropping TestContext in BlockingTestContext
2026-02-12 19:35:07 +03:00
jonesmarvin8
943efd1433
Merge branch 'main' into marvin/private_keys
2026-02-12 10:33:00 -05:00
Daniil Polyakov
975cfb9ec6
feat: fully integrate Sequencer, Indexer and Explorer with Bedrock
2026-02-12 16:31:13 +03:00
jonesmarvin8
3facbbcc1f
fixed artifacts
2026-02-11 18:53:31 -05:00
jonesmarvin8
9e52d41090
minor fixes from merging main
...
ipk -> vpk
IncomingViewingPublicKey -> ViewingPublicKey
2026-02-11 12:11:35 -05:00
Sergio Chouhy
e0caa7838d
destroy wallet in tests and add variant numbers to the error enum
2026-02-05 12:25:21 -03:00
Sergio Chouhy
b1840ca68a
add test wallet ffi auth-transfer init call
2026-02-04 20:24:57 -03:00
Sergio Chouhy
4b50676ebc
add wallet ffi base58 conversion tests
2026-02-04 16:08:04 -03:00