What's Changed
Highlights
- Enhanced wallet scanning performance and parallelism.
- Implements Ledger hardware wallet integration
- Support for creating unsigned transactions in various wallet commands
- Upgraded to oclif 4.x for improved CLI functionality
RPC Breaking Changes 🛠
- Dont serialize rpc notes if not passed in by @NullSoldier in #5166
Other Changes
- Have WalletScanner use chain directly if available by @NullSoldier in #5066
- Introduce optional pagination to ChainProcessor by @NullSoldier in #5068
- Update remaining artifact github actions to v4 by @mat-if in #5072
- Add a development-only feature to print statistics related to notes encryption by @andiflabs in #5074
- Simplify ChainProcessor return logic by @NullSoldier in #5073
- fixes dkg round3 prompt for secret package by @hughy in #5076
- Suppress logs during nodeless wallet rescans by @andiflabs in #5077
- add ability to create unsigned transaction for mint cli command by @patnir in #5081
- Add unsigned transaction flag to
wallet:burn
by @patnir in #5088 - Make unsignedTransaction flag visible in send command. by @patnir in #5087
- DecryptNotes: move the code that groups notes by account from WorkerPool to the response class by @andiflabs in #5089
- Fix
Worker
handling ofJobAborted
requests by @andiflabs in #5093 - Maximize decryption parallelism during wallet scans by @andiflabs in #5058
- Fast construction of
NoteEncrypted
during wallet scans by @andiflabs in #5075 - add_signature to unsigned transaction by @patnir in #5096
- wallet/adSignature: RPC to add signature to a transaction. by @patnir in #5097
- Wallet cleanup should use an iter to load records by @NullSoldier in #5098
- Add lint rule to not use Promise.race by @dguenther in #5103
- adds ledger utility class by @patnir in #5099
- Prevent race conditions when getting list of accounts during scanning by @andiflabs in #5094
- Add test for ArrayUtils by @NullSoldier in #5102
- Move transactions outside of options by @NullSoldier in #5104
- stops scanState meter on scan completion by @hughy in #5108
- update to latest ledger hq version by @patnir in #5107
- ensures that postTransaction uses a spending account by @hughy in #5092
- Include the git commit hash in Docker images by @andiflabs in #5112
- Import duplicate spending key says account name by @NullSoldier in #5115
- version bump for v2.4.1 by @hughy in #5117
- Rahul/ifl 2746 wallet sign command by @patnir in #5111
- Rahul/ifl 2737 import ledger account by @patnir in #5100
- Add check for locked ledger device by @patnir in #5120
- Rename Wallet.accounts -> Wallet.accountsById by @NullSoldier in #5123
- Add Wallet.accounts property by @NullSoldier in #5124
- Implement custom CLI table logic by @mat-if in #5118
- add ledger flag to send command by @patnir in #5122
- Use an optimized method for note decryption when multiple accounts are present by @andiflabs in #5119
- Remove
@types/jest
, and use Jest's own type annotations instead by @andiflabs in #5113 - Replace ux.prompt for oclif 4.x upgrade prep by @mat-if in #5121
- Fast construction of
Transaction
when reading from the chain db by @andiflabs in #5078 - Upgrade to oclif 4.x by @mat-if in #5130
- Worker pool: use the transfer feature and shared buffers for message posting by @andiflabs in #5127
- Use a sparse array in
DecryptNotesResponse
by @andiflabs in #5128 - Optimize
WalletDB.loadNoteHash()
to avoid hitting the database if the note nullifier is known to be absent by @andiflabs in #5135 - Renders transaction summary at the end of the sign command. by @patnir in #5129
- Remove chain:show command by @NullSoldier in #5145
- Make chain:rewind command hidden by @NullSoldier in #5144
- Delete chain/readd-block command by @NullSoldier in #5148
- Move
chain:asset
tochain:assets:info
by @mat-if in #5147 - Move
blocks:show
tochain:blocks:info
by @mat-if in #5141 - Remove RPC chain/showChain by @NullSoldier in #5146
- Make rpc get network power request optional by @NullSoldier in #5151
- Abstract out rendering network name by @NullSoldier in #5152
- Add UI card element to CLI by @NullSoldier in #5153
- Add command chain:status by @NullSoldier in #5150
- Add
chain:transactions:info
command by @mat-if in #5149 - Adjust descriptions of chain commands by @NullSoldier in #5158
- Delete duplicate RPC serializers by @NullSoldier in #5167
- CLI command: replace unneeded type hacking with built-in ctor property by @mat-if in #5165
- Add ability to use JSON flag with CLI commands by @mat-if in #5163
- Add missing offline flag by @mat-if in #5169
- Convert existing commands to use new ui card by @mat-if in #5160
- Update style guide to document command output info by @NullSoldier in #5162
- refreshes WalletScanner scanningAccounts on disconnect by @hughy in #5161
- ChainProcessor returns when head is not found by @NullSoldier in #5170
- Fixes chain:rewind to properly rewind the wallet head by @NullSoldier in #5173
- Add the ability for CLI commands to track and close an RPC client by @mat-if in #5172
- Convert alises to hiddenAlias by @NullSoldier in #5178
- Add Config, DataDir and Verbose flags as base flags to all commands by @mat-if in #5174
- Move the flags in baseFlags into the global category by @mat-if in #5180
- Add mining reward to chain:blocks:info by @NullSoldier in #5185
- CLI commands: use built-in JSON functionality instead of re-implementing it as needed by @mat-if in #5175
- Have chain:power support --json flag by @NullSoldier in #5187
- Add json support for chain:assets:info by @mat-if in #5186
- Add --json support for chain:status by @NullSoldier in #5188
- Add --json support to chain:transactions:info cmd by @NullSoldier in #5189
- Make chain:getTransaction use rpcSerializer by @NullSoldier in #5190
- version bump for v2.5 by @patnir in #5192
- Merge master onto staging v2 5 0 by @patnir in #5197
- Staging to master v2.5.0 by @patnir in #5198
Full Changelog: v2.4.1...v2.5.0