All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fix tx history to show tx created with "MAX" amount #248
0.22.1 - 2024-3-27
- Add support for
WALLET_MAX_ADDR
lower than6
#244
- Change rusk-wallet to wait for tx to be included
- Fix tx history to avoid useless calls #243
0.22.0 - 2024-2-28
- Change
REQUIRED_RUSK_VERSION
to0.7.0
- Update unclear error message #235
- Change provisioner key password prompt message #238
- Remove
stake_allow
command
0.21.0 - 2023-12-30
- Add
seed-file
tocreate
command #226 - Add
name
toexport
command
- Fix
stake_allow
command #222
- Change
dusk-wallet-core
to0.24.0-plonk.0.16-rc.2
- Change
DEFAULT_MAX_ADDRESSES
from 255 to 25 - Update
requestty
from0.4.1
to0.5.0
#231
0.20.1 - 2023-11-22
- Add
spending_keys
to wallet impl #218
0.20.0 - 2023-11-01
- Change
REQUIRED_RUSK_VERSION
to0.7.0-rc
- Change the Staking Address generation. #214
- Change
dusk-wallet-core
to0.22.0-plonk.0.16
#214
0.19.1 - 2023-10-11
0.19.0 - 2023-09-20
- Add balance display when offline
- Add
Wallet::sync
method for sync cache update - Add
Wallet::register_sync
method for async cache update
- Change wallet to not sync automatically
- Change spent notes to be in a different ColumnFamily
- Change
StateClient::fetch_existing_nullifiers
to return empty data. - Change
fetch_notes
to use note's position instead of height [#190]
- Remove cache sync from
StateClient::fetch_notes
- Remove
RuskClient
struct
- Fix bug where we return early when there's no wallet file in interactive #182
- Fix bug where wallet file got corrupted when loading a old version and creating a new address #198
0.18.2 - 2023-09-05
0.18.1 - 2023-09-01
- Fix fetch_notes buffer #176
0.18.0 - 2023-08-09
- Change
config.toml
to usehttp
instead ofgrpc
endpoints #173 - Save the wallet.dat file with the new Rusk Binary Format #165
- Change blake3 with sha256 for password hashing for new Rusk Binary Format, keep using blake3 for old dat file formats #162
0.17.0 - 2023-07-19
- Add
rkyv
dependency #151 - Add
dusk-merkle
dependency #151 - Add
Error::Utf8
variant #151 - Add
devnet
network to default config #151
- Change
rust-toolchain
tonightly-2023-05-22
#151 - Change
REQUIRED_RUSK_VERSION
to0.6.0
#151 - Change
Error::Canon
variant toError::Rkyv
#151 - Populate cache database with psk(s) on state init #158
- Change
dusk-plonk
to0.14.0
#169
- Remove
canonical
dependency #151
0.16.0 - 2023-06-28
- Change cached Note's key to be the nullifier instead of hash #144
- Update cache for all the possible addresses at the same time #144
0.15.0 - 2023-06-07
- Cache implementation now uses rocksdb instead of microkelvin #56
- Throw an error there when specifying a network that does not exist #143
0.14.1 - 2023-05-17
- Add overflow-checks to release mode #132
0.14.0 - 2023-01-12
- Add
execute
to create transaction for generic contract calls #133 - Add transaction history #12
- Add stake maturity epoch #128
- Add staking address display #105
- Add stake eligibility info #124
- Fix headless balance display #123
0.13.0 - 2022-11-30
- Changed fn signature in
gas::new
to include the gas limit #116 - Change
request_gas_limit
fn signature to accept a gas limit option #116 - Change (un)stake, allow stake and withdraw default gas limits to sane defaults #116
- Change exported consensus keys extension to
.keys
#114
0.12.0 - 2022-10-19
- Add
default.config.toml
for the default configuration settings #57 - Add
settings
subcommand to show the current settings #57 - Add
--password
as global argument #57 - Add
--skip-recovery
tocreate
subcommand #57 - Add
--file
torestore
subcommand #57 - Add
Settings
type to mergeConfig
(from toml) andWalletArgs
(from CLI) #57 - Add
address
module - Add
gas
module - Add
settings
module #57 - Add
is_enough
method toGas
- Add
Create
,Restore
andSettings
for bothCommand
andRunResult
enums #72 - Add
LogFormat
andLogLevel
enums to enforce the set of value from args #57 - Add
From block
andLast block
during fetching - Add missing documentations
- Add
Seed
type instore
module - Add
stake-allow
command #83
- Change program behavior to quit if wrong seed phrase is given #49
- Change program behavior to have three attempts for entering a password #46
- Change error handling to use the
anyhow
crate inbin
#87 - Change error handling to use the
thiserror
crate inlib
#87 - Change
config.toml
format #57 - Change from multiple wallets to one wallet for a single profile dir #72
- Rename
dusk
module tocurrency
module - Rename
address
subcommand toaddresses
- Change
set_price
andset_limit
forGas
to works withOption
- Change part of the functions to either receive the
password
or thesettings
#57 - Move
config
module outsideio
#57 - Change few UI strings
- Update rust-toolchain from
nightly-2022-02-19
tonightly-2022-08-28
- Rename
--data-dir
argument option to--profile
#57 - Remove
--wallet-name
argument option #72 - Remove
--network
argument option to choose the network to connect with #57 - Remove
interactive
subcommand #57 - Remove
--skip-recovery
as global argument #57 - Remove
--wait-for-tx
(now all the transaction wait by default) #57 - Remove
merge
method fromConfig
in favour ofSettings
type #57 - Remove
Command::NotSupported
#57 - Rename
DEFAULT_GAS_LIMIT
,DEFAULT_GAS_PRICE
,MIN_GAS_LIMIT
- Remove
Addresses
type in favour ofVec<Address>
- Remove
refund-addr
arg inwithdraw
command #86
- Fix wrong condition involved
gas.is_enough()
[#91] - Fix
balance
subcommand: it didn't work because the address given wasn't claimed - Fix BLS keys exported with wrong extensions #84
0.11.1 - 2022-08-24
- Add prompt confirm_recovery_phrase to display the recovery phrase #70
- Add Windows terminal compatibility #68
- Change
LoggingConfig
to be optional #73 - Replace
error!
macro witheprintln!
macro #73 - Change
Return
toBack
in the menu
0.11.0 - 2022-08-17
- New public
Wallet
struct exposing all wallet operations as library #54 - New
Address
type to identify and work with addresses #54 - Logging capabilities with customizable
log_level
andlog_type
#11
- Project is now a public facing library #54
- Our reference implementation is included under
src/bin
#54 - UX flow is now address-based to match that of the web wallet #59
- Anything that's not strictly program output is redirected to stderr #11
0.10.0 - 2022-07-06
- Add
src/bin
to gather the module related to the I/O ops #51 - Add
autobins
to Cargo.toml to prevent bins auto discovery #51 - Add
[lib]
and[[bin]]
sections to Cargo.toml to decouple bin and lib #51 - Add
src/bin/io
to gather all modules related to I/O #51 - Add
status
mod as temp workaround to make the lib compile #51 - Add
actions
mod with all the actions previously inmain
#51
- Rename
src/mod.rs
tosrc/lib.rs
to be compliant with 2018 edition #51 - Refactor
main
to be more readable #51 - Update imports in the code to reflect the new files structure #51
0.9.0 - 2022-05-25
- Commands run in headless mode do not provide dynamic status updates #40
0.8.0 - 2022-05-04
- Upgraded cache implementation to use
microkelvin
instead ofrusqlite
#32 - Use streaming
GetNotes
call instead ofGetNotesOwnedBy
#32 - Enhance address validity checks on interactive mode #28
- Prevent exit on prepare command errors #27
- Adapt balance to the new State #24
- Rename
withdraw-stake
tounstake
#26 - Introduce Dusk type for currency management #4
- Fix cache bug preventing adding all notes to it #35
- Fix address validation by parsing address first #35
0.7.0 - 2022-04-13
- Notes cache #650
- Settings can be loaded from a config file #637
- Create config file if not exists #647
- Notify user when defaulting configuration #655
- Implementation for
State
'sfetch_block_height
#651 - Option to wait for transaction confirmation #680
- Default to TCP/IP on Windows #6
- Export consensus public key as binary
- Interactive mode allows for directory and wallet file overriding #630
- Client errors implemented, Rusk error messages displayed without metadata #629
- Transactions from wallets with no balance are halted immediately #631
- Rusk and prover connections decoupled #659
- Use upper-case DUSK for units of measure #672
- Use DUSK as unit for stake and transfer #668
data_dir
can be properly overriden #656- Invalid configuration should not fallback into default #670
- Prevent interactive process from quitting on wallet execution errors #18
0.5.2 - 2022-03-01
0.5.1 - 2022-02-26
- Display progress info about transaction preparation #600
- Display confirmation before sending a transaction #602
- Use hex-encoded tx hashes on user-facing messages #597
- Open or display explorer URL on succesful transactions #598
0.5.0 - 2022-02-26
- Update
canonical
across the entire Rusk stack #606
0.4.0 - 2022-02-17
- Use the Dusk denomination from
rusk-abi
#582
0.3.1 - 2022-02-17
- Default to current wallet directory for exported keys #574
- Add an additional plain text file with the base58-encoded public key #574
0.3.0 - 2022-02-17
- Stake expiration #566
0.2.4 - 2022-02-15
- Allow for headless wallet creation #569
- TX output in wallet instead of within client impl
0.2.3 - 2022-02-10
- Pretty print wallet-core errors #554
0.2.2 - 2022-02-10
- Interactive mode prevents sending txs with insufficient balance #547
- Panic when UDS socket is not available
0.2.1 - 2022-02-09
- Default
gas_price
from 0 to 0.001 Dusk #539
0.2.0 - 2022-02-04
- Wallet file encoding version [#524]
- Default to UDS transport #520
0.1.3 - 2022-02-01
- Offline mode #499 #507
- Live validation to user interactive input
- Improved navigation through interactive menus
- "Pause" after command outputs for better readability
- Bad UX when creating an already existing wallet with default name
0.1.2 - 2022-01-31
- Enable headless mode #495
- Introduce interactive mode by default #492
- Add Export command for BLS PubKeys #505
0.1.1 - 2022-01-27
- Wallet file encryption using AES #482
- Common
Error
struct for this crate #479 - Password hashing using blake3
- Recovery password
0.1.0 - 2022-01-25
rusk-wallet
crate to workspace- Argument and command parsing, with help output
- Interactive prompts for authentication
- BIP39 mnemonic support for recovery phrase
- Implementation of
Store
trait fromwallet-core
- Implementation of
State
andProver
traits fromwallet-core