Releases: iron-fish/ironfish
v2.9.0
What's Changed
- Added more functionality for ledger and multisig accounts. Improvements to the multisig broker server
- Consume all of the rust crates from crates.io instead of github
- bug fixes + CLI usability improvements
SDK Breaking Changes 🛠
- Pass in account head to wallet/createAccount by @danield9tqh in #5619
- Proof generation key is now a
ironfish
owned type that is defined inironfish-zkp
, construction occurs now viaProofGenerationKey::new()
instead ofProofGenerationKey { ak, nk }
. It is re-exported viaironfish
rust package, so imports should not change. by @jowparks in #5559
New Contributors
Full Changelog: v2.8.1...v2.9.0
v2.8.1
What's Changed
- Add @ledgerhq/errors resolution to package by @NullSoldier in #5533
Full Changelog: v2.8.0...v2.8.1
v2.8.0
What's Changed
Other Changes
- Target network fees is in IRON by @patnir in #5455
- Fixes fetching assets for display in wallet:transactions:info by @dguenther in #5456
- Fix wallet:chainport:send fee selection when -a is used by @dguenther in #5458
- Use Iron Fish API for bridge info by @dguenther in #5457
- Fix vscode not resolving test types by @mat-if in #5294
- Store backup of ledger account on disk by @patnir in #5438
- Continously ask for name if duplicate by @NullSoldier in #5463
- adds multisig server to broker dkg messages by @hughy in #5459
- Update zondax ironfish to 0.5.1 by @patnir in #5449
- Adding zondax/ledger-js dependency by @patnir in #5466
- multisig server signing by @hughy in #5464
- Move multisig broker into its own folder by @NullSoldier in #5467
- Remove references to stratum in MultisigBroker by @NullSoldier in #5468
- Split out ledger classes into files by @NullSoldier in #5469
- adds TLS support to multisig server by @hughy in #5465
- encrypts multisig server messages by @hughy in #5470
- Render error in ui/retry by @NullSoldier in #5471
- Prefer the account name as the participant name by @NullSoldier in #5472
- fixes default tls flag in multisig commands by @hughy in #5475
- reduces log output when using multisig broker by @hughy in #5481
- Cleanup sessions on Multisig Broker Server by @mat-if in #5480
- Rahul/add ledger to chainport send by @patnir in #5479
- automatically retries messages to multisig broker by @hughy in #5477
- multisig broker server broadcasts on step completions by @hughy in #5476
- Cleanup DKG identity creation by @NullSoldier in #5473
- prevents incorrect session encryption from halting process by @hughy in #5483
- Add ability for sessions to track specific clients by @mat-if in #5482
- updates ux status messages waiting for multisig broker by @hughy in #5484
- Use ledger action to make ledger more reliable by @NullSoldier in #5474
- adds idle session timeout to multisig broker server by @hughy in #5485
- Add @ledgerhq/errors package to package.json by @NullSoldier in #5487
- Upgrade wallet:multisig:sign to use ui.ledger by @NullSoldier in #5489
- Move ledger UI functions into UI by @NullSoldier in #5486
- Upgrade wallet:import to use ui.ledger by @NullSoldier in #5488
- Handle appInfo() crash on rust app by @NullSoldier in #5491
- Use the connected app in case of disconnect by @NullSoldier in #5492
- get identity after dkg parameters in dkg:create by @hughy in #5495
- resets ledger ui status between errors by @hughy in #5490
- Use the same ledgerhq/errors as other lib by @NullSoldier in #5498
- Unify ledger errors and zondax errors by @NullSoldier in #5499
- Add flags for minSigners and totalParticipants for dkg:create by @mat-if in #5497
- Handle app command rejections from device by @NullSoldier in #5500
- Switch sendTransaction to use ledger UI by @NullSoldier in #5496
- Have ledger ui tell the user to approve by @NullSoldier in #5501
- Handle DKG reject message by @NullSoldier in #5502
- removes logger from Ledger class by @hughy in #5503
- Convert ui.retry to new confirmListPrompt by @NullSoldier in #5504
- Show account name public packages by @patnir in #5506
- Backup ledger keys in a separate step by @patnir in #5505
- Unhandled exception will stop UI action by @patnir in #5507
- unhide chainport:send by @patnir in #5461
- Fix rejection type on C vs Rust SDK by @NullSoldier in #5508
- Set approve timeout greater than connect timeout by @NullSoldier in #5509
- feat(cli): Update transaction summary for chainport transactions by @rohanjadvani in #5494
- Avoid connect handshake and handle all error cases by @NullSoldier in #5512
- Remove a stray apostrophe from NotEnoughFunds message by @dguenther in #5514
- reviews tx on InvalidTxHash error by @hughy in #5513
- Handle DeviceDisconnected Error by @NullSoldier in #5515
- Handle ledger app panics by @NullSoldier in #5516
- use numberprompt for total participants in multisig sign by @patnir in #5517
- Upgrade ledger-ironfish-js to 1.0.0 by @NullSoldier in #5518
- Handle ledger DisconnectDevice error by @NullSoldier in #5519
- adds owner to RpcMint by @hughy in #5522
- Update readme documentation on error codes returned by @NullSoldier in #5523
- Handle all device locks as manual retry by @NullSoldier in #5524
- Add an ability to request identity based on approval by @NullSoldier in #5525
- Handle all connecting errors as LedgerConnectError by @NullSoldier in #5526
- adds default multisig broker server by @hughy in #5520
- Upgrade ledger:backup cmd to use ledger action by @NullSoldier in #5527
- Fix ledger restore to require encrypted key by @NullSoldier in #5528
- Upgrade ledger:restore cmd to use ledger ui by @NullSoldier in #5529
- Bump SDK and CLI to 2.8.0 by @NullSoldier in #5532
- STAGING -> MASTER by @NullSoldier in #5531
Full Changelog: v2.7.0...v2.8.0
v2.7.0
What's Changed
Other Changes
- feat(cli): Unhide encryption CLI commands by @rohanjadvani in #5396
- feat(cli,ironfish): Add descriptions to primitives index by @rohanjadvani in #5412
- feat(cli,ironfish): Improve export for AccountImport by @rohanjadvani in #5414
- Add the ability to use a ledger device with the mint command by @mat-if in #5417
- exports makeFakeWitness test util from ironfish sdk by @hughy in #5415
- Enable transfering in a mint in the CLI by @NullSoldier in #5418
- use the testnet api url for asset verification when on testnet network by @mat-if in #5384
- Revert "exports makeFakeWitness test util from ironfish sdk (#5415)" by @hughy in #5419
- Feat/ledger dkg cli by @patnir in #5421
- Allows
--metadata ''
when minting an asset by @mat-if in #5424 - adds exportable devUtils module by @hughy in #5423
- separates Ledger DKG logic from single signer by @hughy in #5425
- Error for too many participants by @patnir in #5426
- Ask for confirmation while retrying ledger connect by @patnir in #5428
- fix resolution of @zondax/ledger-js package by @hughy in #5427
- Review ledger transaction before commitment by @patnir in #5429
- Expect to participant in signing by @patnir in #5431
- Fix logical error on catching duplicates by @patnir in #5432
- optionally sets createdAt when importing multisig accounts by @hughy in #5430
- fixes rendering of tx assets if node not synced by @hughy in #5436
- Use Chainport fallback token list API by @dguenther in #5437
- Rename interactive step Identity to Participant Identity by @mat-if in #5434
- Rename newAccount flag in dkg create command to name by @mat-if in #5435
- chainport config update with mainnet fields by @patnir in #5422
- Fix minor typos (show -> shown) by @mat-if in #5433
- Rahul/signing app error display improvement by @patnir in #5439
- Temporarily assign different URL for mainnet by @mat-if in #5441
- explicityly asking to broadcast ledger transaction by @patnir in #5440
- Detects whether ironfish dkg app is open by @patnir in #5442
- refresh Ledger connection before each instruction by @hughy in #5444
- displays own identity at start of signing process by @hughy in #5445
- ensures that min signers entered is <= total participants by @hughy in #5446
- changes 'backup' from flag to arg in 'restore' by @hughy in #5447
- uses actionable error message for common Ledger errors by @hughy in #5448
- wallet:multisig:account:participants displays your identity separately by @mat-if in #5450
- inputNumberPrompt and usage by @patnir in #5443
- bumps versions for v2.7.0 by @hughy in #5452
- staging -> master by @hughy in #5451
- Revert "staging -> master (#5451)" by @mat-if in #5453
- staging > master by @mat-if in #5454
Full Changelog: v2.6.0...v2.7.0
v2.6.0
Highlights
- Wallet Encryption 🔒
What's Changed
Other Changes
- Move JSON flags into flags module by @NullSoldier in #5199
- Add custom help category for RPC flags by @NullSoldier in #5200
- Added missing RemoteFlags on commands by @NullSoldier in #5201
- Upgrade commands to use JsonFlags by @NullSoldier in #5202
- Fix start command wallet flag over-riding config by @NullSoldier in #5204
- Add an asset info example by @NullSoldier in #5205
- Reorder chain commands so args are before flags by @NullSoldier in #5203
- Update chain description by @NullSoldier in #5207
- Delete autocomplete plugin by @NullSoldier in #5208
- Update command descriptions by @NullSoldier in #5209
- feat(rust): Add xchacha20poly1305 functions by @rohanjadvani in #5210
- status command returns json by @mat-if in #5215
- use ui json element instead of custom json parsing by @mat-if in #5216
- feat(rust,rust-nodejs): Add napi
encrypt
function for xchacha20poly1305 by @rohanjadvani in #5217 - feat(rust-nodejs): Add napi
decrypt
xchacha20poly1305 function by @rohanjadvani in #5218 - chore(rust-nodejs): Update Napi JS index file by @rohanjadvani in #5224
- CLI debug command uses card output and has json support by @mat-if in #5212
- feat(ironfish,rust-nodejs): Add EncryptedAccount class by @rohanjadvani in #5226
- CLI fees command uses card output and has json support by @mat-if in #5213
- update config descriptions to match our new standard by @mat-if in #5220
- feat(ironfish): Add serialization for encrypted accounts by @rohanjadvani in #5230
- feat(ironfish): Save encrypted accounts in the wallet by @rohanjadvani in #5237
- feat(ironfish): Add
encrypt
method for account by @rohanjadvani in #5247 - update mempool descriptions and add json support to status by @mat-if in #5221
- update migrations descriptions, migrations list supports json by @mat-if in #5222
- update peers descriptions, show -> info, add json to info by @mat-if in #5235
- update rpc descriptions, add json output by @mat-if in #5244
- update workers status cli desc, add json by @mat-if in #5245
- update miners command descriptions, add json to pool status by @mat-if in #5234
- Move
wallet:post
->wallet:transactions:post
by @NullSoldier in #5251 - move
wallet:transaction:watch
->wallet:transactions:watch
by @mat-if in #5254 - move
wallet:transaction:import
->wallet:transactions:import
by @mat-if in #5252 - move
wallet:transaction:view
->wallet:transactions:decode
by @mat-if in #5253 - Add hiddenAlias for wallet:transactions:post by @NullSoldier in #5255
- move
wallet:sign
->wallet:transactions:sign
by @NullSoldier in #5256 - Move
wallet:transaction
towallet:transactions:info
by @NullSoldier in #5257 - Move
wallet:accounts
->wallet
by @NullSoldier in #5258 wallet:transactions:decode
prompts for transaction before account by @mat-if in #5261- Add table output to wallet command by @NullSoldier in #5265
- move args to be above flags in wallet command definitions by @mat-if in #5259
- feat(ironfish): Add encrypt method to wallet by @rohanjadvani in #5248
- feat(ironfish): Add decrypt method to wallet by @rohanjadvani in #5266
- Add the ability to unset default account in CLI by @mat-if in #5263
- fix
wallet:which --displayName
output by @mat-if in #5272 - Update wallet command flag description for account by @mat-if in #5273
- Change wallet:status to output aggregation by @NullSoldier in #5275
- feat(ironfish): Add lock to wallet by @rohanjadvani in #5270
- Rename account args to name in wallet by @mat-if in #5274
- Update wallet command descriptions by @NullSoldier in #5277
- Add
wallet:transactions:delete
command by @mat-if in #5276 - feat(ironfish): Add unlock to wallet by @rohanjadvani in #5281
- Move common UI components into UI by @NullSoldier in #5287
- Make wallet:address support JSON output by @NullSoldier in #5290
- supports deploying branch-named Docker images to AWS by @hughy in #5250
- feat(ironfish): Remove cached accounts when encrypting/decrypting by @rohanjadvani in #5299
- feat(ironfish): Check if wallet is encrypted when calling setAccount by @rohanjadvani in #5300
- feat(ironfish): Return if the wallet is locked in getStatus by @rohanjadvani in #5307
- Always yield native balance in balances by @NullSoldier in #5308
- Make balance output consistent by @NullSoldier in #5309
- Fix account prompt returning undefined by @NullSoldier in #5310
- Disallow creation of accounts with no names by @mat-if in #5312
- Add new useAccount helper an upgrade commands by @NullSoldier in #5311
- Add the ability to delete a transaction to the wallet and RPC by @mat-if in #5286
- feat(ironfish): Add
wallet/encrypt
by @rohanjadvani in #5318 - Standardize account flags to char 'a' by @NullSoldier in #5315
- Delete required:false in flags which is default by @NullSoldier in #5316
- feat(ironfish): Add
wallet/decrypt
by @rohanjadvani in #5319 - Change wallet:delete to use new confirmInput by @NullSoldier in #5320
- Change wallet:rename arg names by @NullSoldier in #5314
- feat(ironfish): Add
wallet/unlock
by @rohanjadvani in #5321 - feat(ironfish): Add
wallet/lock
by @rohanjadvani in #5322 - dkg signing test rust by @jowparks in #5324
- feat(cli): Add
wallet:encrypt
by @rohanjadvani in #5327 - feat(cli): Add
wallet:decrypt
by @rohanjadvani in #5328 - feat(cli): Add
wallet:unlock
by @rohanjadvani in #5329 - feat(cli): Add
wallet:lock
by @rohanjadvani in #5330 - feat(cli,ironfish): Check if the wallet is locked before fetching accounts by @rohanjadvani in #5333
- feat(ironfish): Notify via logger when the wallet locks by @rohanjadvani in #5334
- feat(cli): Hide passphrases in encryption commands by @rohanjadvani in #5343
- feat(cli): Return locked warning in wallet:accounts and wallet:which by @rohanjadvani in #5344
- feat(cli): Update status to show when the wallet is locked by @rohanjadvani in #5345
- feat(ironfish): Add passphrase to import account for encrypted dbs by @rohanjadvani in #5352
- feat(cli): Log message in start when the wallet is locked by @rohanjadvani in #5336
- Improve RPC client types for broadcastTransaction and isValidPublicAddress by @dguenther in #5356
- feat(ironfish): Add passphrase to reset account methods by @rohanjadvani in https://github.c...
v2.5.0
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
v2.4.1
v2.4.0
What's Changed
RPC Breaking Changes 🛠
- RPC
node/getStatus
now returns the latest accounts head inaccounts.head
- Effectively deleted wallet/rescanAccount in favor of wallet/rescan. It rescans all accounts and doesn't apply to one account. Also changed request input.
- RPC
wallet/exportAccount
now only returns encoded accounts and defaults to Base64Json format. It no longer supports returning an RpcAccountImport. - RPC
wallet/importAccount
now only accepts encoded accounts. It no longer supports importing an RpcAccountImport.
SDK Breaking Changes 🛠
- Deleted
Wallet.getLatestHeadHash()
in favor ofWallet.getLatestHead()
Other Changes
- supports viewing posted transactions on cli by @hughy in #4936
- Only log transaction flushing if non-zero by @dguenther in #4940
- Upgrade node-datachannel to 0.8.0 by @dguenther in #4941
- Remove unused eventLoopResolve in Wallet by @dguenther in #4946
- Remove use of deprecated block.previous in RemoteChainProcessor by @dguenther in #4945
- Fix deprecation and wrong runners in build-ironfish-rust-nodejs.yml by @dguenther in #4948
- Update Checkout action in CI to v4 by @dguenther in #4947
- Rahul/validate correct public address on import by @patnir in #4950
- Remove old migration code by @NullSoldier in #4954
- Feat: support chain/getBlocks by @hairtail in #4942
- Change account not to have 1 object constructor by @NullSoldier in #4956
- Fix scan state TODO in wallet code by @dguenther in #4960
- Separate out block getter from RPC serialization by @NullSoldier in #4963
- Asset balance deltas now display in the correct denomination by @mat-if in #4966
- adds raw transaction flag to combine notes by @patnir in #4915
- Update description of wallet:rescan by @dguenther in #4957
- determines raw tx sender from tx fields by @hughy in #4970
- Move wallet/account/encoder to wallet/exporter by @NullSoldier in #4971
- Move multisig key encoder into database by @NullSoldier in #4972
- Remove AccountValue from account importer/exporter by @NullSoldier in #4973
- sorts accounts by name in 'wallet:transaction:view' by @hughy in #4974
- Give bech32 encoder it's own multisig encoder by @NullSoldier in #4976
- Moved multisig importing into wallet/exporter by @NullSoldier in #4977
- Fix migration 031 to use proper multisig encoder by @NullSoldier in #4978
- defaults cli tables to no-truncate by @hughy in #4979
- Add setScanning RPC and CLI commands by @dguenther in #4943
- Scan wallet accounts from earliest account head first by @dguenther in #4964
- Rahul/ifl 2581 bug watch command watches expired transactions by @patnir in #4968
- Add wallet/resetAccount RPC by @dguenther in #4985
- Remove unused tar util from CLI by @dguenther in #4987
- Prompt for expiration sequence when creating raw or unsigned transactions in CLI by @dguenther in #4988
- Add wallet/setAccountHead RPC by @dguenther in #4951
- Rahul/ifl 2634 chainport add memo decoder by @patnir in #5000
- Rahul/ifl 2637 add chainport config by @patnir in #5001
- Rahul/ifl 2633 chainport add api interface by @patnir in #5002
- supports pruning expired tx for one account by @hughy in #4999
- Rahul/ifl 2638 chainport add utils by @patnir in #5007
- supports combining notes for custom assets by @hughy in #5005
- Adds ability to filter assets in cli utils by @patnir in #5009
- Show verified checkmark when selecting asset and sort by verified by @danield9tqh in #4993
- Change setAccountHead to take blocks instead of transactions by @dguenther in #5004
- adds chainport transaction summary util by @patnir in #5011
- detect bridge transactions in wallet:transactions command by @patnir in #5012
- Rahul/ifl 2643 add explorer url to transaction command by @patnir in #5013
- Return latest account head in node status by @NullSoldier in #5017
- Organize RPC namespace folders by @NullSoldier in #5019
- Adds wallet:chainport:send CLI command by @patnir in #5015
- adds feerate to flags of chainport CLI command by @patnir in #5021
- Delete WalletBlockHeader and WalletTransaction by @NullSoldier in #5020
- renames transaction:add to transaction:import by @hughy in #5016
- adds unspent notes count to wallet balance rpc, cli by @hughy in #4998
- regenerate fixtures for performance tests by @patnir in #5023
- adds account flag to wallet commands by @hughy in #4994
- oclif 1.23.1 -> 3.27.0 by @mat-if in #5024
- upgrade oclif cli tool by @mat-if in #5026
- Update comment on setAccountHead blocks field by @dguenther in #5025
- Remove RemoteChainProcessor calculating noteIndex by @NullSoldier in #5027
- Remove version account version default by @NullSoldier in #4955
- Removes the ability to import/export AccountImport by @NullSoldier in #5032
- Remove unnecessary trims from CLI commands by @mat-if in #5031
- Rename isHexEncoding to be more clear by @NullSoldier in #5035
- Remove usage of chain.getBlockTransactions by @NullSoldier in #5028
- Move usage of RpcAccountImport to exporter system by @NullSoldier in #5034
- Normalize arg destructuring and remove a few extra
as
casts by @mat-if in #5033 - Remove unused
parseBoolean
util function from CLI by @mat-if in #5029 - Remove the
fishHashContext
argument fromsdk.node()
by @andiflabs in #5040 - Automatically start the worker pool if a job is submitted by @andiflabs in #5039
- Separate out account decoding from encrypting by @NullSoldier in #5038
- avoids resetting account birthday by @hughy in #5036
- Add error message for VerifyError by @mat-if in #5045
- update parsing of chainport status API to new interface by @patnir in #5030
- update chainport transaction api types by @patnir in #5047
- Use
cli-progress
library directly instead of via oclif by @mat-if in #5046 - adds networkId to wallet, accountImport by @hughy in #5042
- Fix transactions cmd not handling streaming errors by @NullSoldier in #5053
- Update axios to 1.7.2 by @dguenther in #5050
- Change
initializeSapling
to avoid cloning by @andiflabs in #5054 - Improve the calculation for the number of workers in the worker pool by @andiflabs in #5041
- Change
DecryptNotesResponse
to use a sparse serialization format by @andiflabs in #5049 - removes references to account createdAt hash by @hughy in #5060
- fixes workerMessages perf test by @hughy in #5064
- Have WalletScanner use chain directly if available by @NullSoldier in #5063
- supports setting createdAt on account import by @hughy in #5062
- Adds...
v2.3.0
What's Changed
RPC Breaking Changes 🛠
- Always honor the
name
parameter passed toimportAccount
by @andiflabs in #4906
SDK Breaking Changes 🛠
- Remove unused trusted setup code by @dguenther in #4896
- Multisig: fetch participant identities from the public key package by @andiflabs in #4920
- Use ironfish decimal parsing function by @danield9tqh in #4929
Other Changes
- updating level db version to 6.1.1 by @patnir in #4894
- Update to the latest version of ironfish-frost by @andiflabs in #4902
- fix(ironfish): Use CLI flag option for encrypted trusted dealer imports by @rohanjadvani in #4903
- Implement
wallet/multisig/dkg/round3
RPC by @andiflabs in #4900 - feat(cli,ironfish): Add
wallet:multisig:dkg:round3
by @rohanjadvani in #4905 - Update Cargo dependencies to fix dependabot alerts by @andiflabs in #4904
- add option to force full account rescan from genesis by @hughy in #4901
- Rahul/ifl 2471 normalize confirm message in cli in a helper function by @patnir in #4908
- Add integration tests for multisig with distributed key generation (DKG) by @andiflabs in #4907
- Standardizing post CLI command by @patnir in #4911
- feat(cli,ironfish): Add flag to override name in round3 by @rohanjadvani in #4912
- Move ironfish-mpc to a new repository by @dguenther in #4914
- Add transaction summary to wallet:post by @dguenther in #4910
- Batch accounts when decrypting transaction notes by @dguenther in #4727
- Show the correct decimal amount in wallet:transactions command by @danield9tqh in #4913
- select secret name from list in dkg commands by @hughy in #4916
- feat(cli): Improve prompt in round3 to indicate which packages from what round are needed by @rohanjadvani in #4917
- Multisig DKG Round 3: add an option to rescan the imported account by @andiflabs in #4918
- removes 'next step' from participant:create output by @hughy in #4921
- Multisig DKG: test that, at the end of round 3, participant identities are recorded correctly by @andiflabs in #4919
- Fix
wallet.test.slow.ts
andround3.test.ts
by @andiflabs in #4922 - Multisig DKG: use the round 2 "combined" public packages by @andiflabs in #4923
- Multisig DKG: prefix every occurrence of "package" with the round number by @andiflabs in #4924
- Remove unused renderIron function by @danield9tqh in #4925
- renames wallet:multisig:participants to wallet:multisig:account:participants by @hughy in #4926
- feat(cli): Add CLI command to list identities by @rohanjadvani in #4928
- renames secretName to participantName by @hughy in #4927
- updates text of identities prompts by @hughy in #4930
- feat(cli): Unhide multisig commands by @rohanjadvani in #4932
- adds cli command to view details for raw, unsigned transactions by @hughy in #4931
- v2.3.0 by @rohanjadvani in #4934
- STAGING -> MASTER by @rohanjadvani in #4935
Full Changelog: v2.2.0...v2.3.0
v2.2.0
What Changed
Asset values are now displayed differently in the CLI. Previously, they all used the same 8 decimal places as IRON. Now, by default, an asset will be shown with no decimal places. A verified asset can have a custom number of decimal places. For an asset to be verified, it can be added to these lists for mainnet or testnet respectively: https://github.com/iron-fish/verified-assets. Feel free to open a PR to add an asset. A node can load a verified assets list from other sources using the assetVerificationApi
config variable.
For example, minting 1 Coolcoin previous to this release would have minted 1.00000000 Coolcoin, which was really 100,000,000 Coolcoin in the minor denomination. After this update, you will see that larger value, unless the asset is added to the verified assets list with a custom decimal place.
Note that this does NOT affect the actual value of the asset. This only changes how it is displayed. The node uses all values in their minor denomination (no decimal places), so 1 IRON is always treated as 100000000 ORE (the minor denomination), etc.
RPC Breaking Changes 🛠
Other Changes
- Replace uses of
request<T>(...)
in tests with the appropriate method fromRpcClient
by @andiflabs in #4837 - Add "cargo vet" for supply chain verification by @andiflabs in #4842
- Clarify when users are entering iron denominations by @NullSoldier in #4843
- chore: remove repetitive words by @battmdpkq in #4845
- Change return type of serializeHeader to Buffer by @wincss in #4850
- Adds a transaction timer class to reuse by @patnir in #4852
- adds memos to 'wallet:transactions' output by @hughy in #4856
- Moves responsibility of logging estimate out of the timer by @patnir in #4857
- Move fetchNotes to utils by @patnir in #4858
- Rahul/ifl 2399 move spendposttime to utils by @patnir in #4859
- adds memoHex to RpcWalletNote by @hughy in #4860
- fixes createSigningPackage checksum verification by @hughy in #4861
- allows deploying Docker images for staging branch by @hughy in #4864
- Pool: always send out a new block template by @mat-if in #4868
- fix: delete of account via RPC throws while node account rescan is active by @jowparks in #4867
- Add FishHash mainnet checkpoint by @danield9tqh in #4866
- Add autocomplete for SDK by @danield9tqh in #4869
- continue to process messages when exceptions occur by @patnir in #4870
- chore: standalone naming by @jowparks in #4874
- add additional fields to asset verification code by @mat-if in #4851
- Fix Buffer memo in mempool tests by @danield9tqh in #4875
- Rahul/ifl 2455 refactor explicitly call benchmark spend post time by @patnir in #4872
- Update autocomplete version to use correct version of Oclif by @danield9tqh in #4876
- fix: adjust GHA runner apple binary to publish arm64 by @jowparks in #4881
- removes migration logic from before network reset by @hughy in #4873
- fix: add dispatch param by @jowparks in #4882
- Cleanup more uses of
request()
in tests by @andiflabs in #4886 - Add new currency render function by @mat-if in #4879
- Render question mark for unknown assets by @danield9tqh in #4888
- lazy deserialization in levelup db iter methods by @hughy in #4877
- removes unused walletDb method by @hughy in #4865
- Update ironfish-frost to the latest version by @andiflabs in #4887
- Use new render function in the CLI by @mat-if in #4880
- Parse values in the proper denomination for CLI commands by @mat-if in #4884
- Implement
wallet/multisig/dkg/round1
RPC by @andiflabs in #4885 - Rahul/ifl 1881 adds transaction progress bar to wallet send by @patnir in #4854
- automatically add identity for secretName to round1 participants by @hughy in #4891
- implement dkg/round2 RPC by @hughy in #4889
- add dkg round1 cli command by @hughy in #4890
- add DKG round2 CLI command by @hughy in #4893
- Avoid an infinite loop in
SaplingKey::generate_key
by @andiflabs in #4895 - Simplify the code for
split_spender_key
by @andiflabs in #4897 - Fix an issue with the mint command where the id was not properly being passed by @mat-if in #4892
New Contributors
- @battmdpkq made their first contribution in #4845
- @wincss made their first contribution in #4850
Full Changelog: v2.1.0...v2.2.0