Skip to content

Releases: iron-fish/ironfish

v2.6.0

20 Sep 21:20
8e83b5c
Compare
Choose a tag to compare

Highlights

  • Wallet Encryption 🔒

What's Changed

Other Changes

Read more

v2.5.0

01 Aug 21:23
fc8d80e
Compare
Choose a tag to compare

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 🛠

Other Changes

Full Changelog: v2.4.1...v2.5.0

v2.4.1

08 Jul 20:44
d255420
Compare
Choose a tag to compare

What's Changed

v2.4.1 fixes a memory leak introduced in v2.4.0

Other Changes

Full Changelog: v2.4.0...v2.4.1

v2.4.0

24 Jun 21:57
5201a94
Compare
Choose a tag to compare

What's Changed

RPC Breaking Changes 🛠

  • RPC node/getStatus now returns the latest accounts head in accounts.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 of Wallet.getLatestHead()

Other Changes

Read more

v2.3.0

25 Apr 20:03
8b26bfe
Compare
Choose a tag to compare

What's Changed

RPC Breaking Changes 🛠

  • Always honor the name parameter passed to importAccount by @andiflabs in #4906

SDK Breaking Changes 🛠

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 and round3.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

16 Apr 19:52
f792fd7
Compare
Choose a tag to compare

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 🛠

  • Add new verified asset metadata fields to RpcAsset by @mat-if in #4878

Other Changes

  • Replace uses of request<T>(...) in tests with the appropriate method from RpcClient 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

Full Changelog: v2.1.0...v2.2.0

v2.1.0

14 Mar 20:49
04d3678
Compare
Choose a tag to compare

What Changed

This version includes the release of multisignature accounts on Iron Fish.

Other Changes

  • handles errors in participant creation by @hughy in #4816
  • preserves order of identities when returning key packages by @patnir in #4814
  • supports listing all created identities by @hughy in #4815
  • automatically include account identity for commitment by @hughy in #4818
  • Multisig: make split_spender_key/split_secret more robust by @andiflabs in #4819
  • Rahul/ifl 2349 add watch to signatureaggregate by @patnir in #4820
  • displays signers during signature share creation by @hughy in #4821
  • Add labels to PR template by @dguenther in #4824
  • feat(cli): Use longPrompt when creating dealer by @rohanjadvani in #4825
  • Remove unused mining utilities by @danield9tqh in #4827
  • updates unsigned tx details to always show output for notes by @hughy in #4826
  • feat(ironfish): Try stored secrets when decrypting import by @rohanjadvani in #4822
  • checks coordinator name against accounts and identities by @hughy in #4832
  • Cleanup/remove hashing header function by @danield9tqh in #4829
  • Use NodeFileSystem for AssetVerifier by @danield9tqh in #4833
  • Update to the latest version of ironfish-frost by @andiflabs in #4835
  • Multisig: verify the consistency of commitments checksum by @andiflabs in #4836
  • rust 1.66 -> 1.76 (rust-toolchain.toml) by @jowparks in #4838
  • supports json file input to multisig transaction commands by @hughy in #4834
  • Multisig: move the rust-nodejs items to a namespace by @andiflabs in #4839
  • verifies signing package signers in createSignatureShare by @hughy in #4823
  • updates ironfish-frost for min_signers by @hughy in #4840
  • verifies number of commitments before creating signing package by @hughy in #4841
  • multisig command in index by @patnir in #4830
  • Rahul/ifl 2350 add information to cli output to indicate next command to by @patnir in #4828
  • Multisig: do not include the multisig secret when exporting view-only account by @andiflabs in #4847
  • feat(): Bump versions for v2.1.0 by @rohanjadvani in #4846
  • fixes incorrect sibling hash caching during witness creation by @hughy in #4849
  • STAGING -> MASTER by @rohanjadvani in #4848

Full Changelog: v2.0.0...v2.1.0

v2.0.0

06 Mar 23:46
f996f89
Compare
Choose a tag to compare

What's Changed

This change includes the activation for the first Iron Fish Hardfork. Upgrading to this version will prepare any node runners for the activation of the hardfork on mainnet.

RPC Breaking Changes 🛠

  • fix: throw on max buffer length exceeded in memo by @jowparks in #4777

SDK Breaking Changes 🛠

Other Changes

  • fix(cli): Remove signerIdentity from create-signature-share by @rohanjadvani in #4756
  • feat(ironfish,rust-nodejs): Add wallet/getUnsignedTransactionNotes by @rohanjadvani in #4755
  • Rahul/use public key package with identities by @patnir in #4759
  • Add RUST_BACKTRACE=1 to jest tests by @NullSoldier in #4742
  • feat(cli,ironfish,rust-nodejs): Render unsigned transaction details for signature share creation by @rohanjadvani in #4762
  • Set batch size for FishHash, change consensus param for asset ownership to null by @mat-if in #4750
  • fixess bad fixtures for createTransaction by @hughy in #4765
  • Update crypto_box and tiny-bip39 to the latest version by @andiflabs in #4763
  • fixes rendering of notes in wallet:transaction by @hughy in #4764
  • Updated ironfish-frost to the latest version by @andiflabs in #4766
  • feat(rust-nodejs): Remove unused descriptions method by @rohanjadvani in #4760
  • Rahul/ifl 2270 move structs from frost utils to ironfish frost by @patnir in #4768
  • notes length check refactor by @patnir in #4746
  • Add SDK exports to repl by @danield9tqh in #4770
  • Add some rules for auto-release notes by @danield9tqh in #4758
  • fix(ironfish): Fix unsigned transaction creation from signing package by @rohanjadvani in #4772
  • Base64JsonEncoder: correctly strip the 'ifaccount' prefix by @andiflabs in #4771
  • changes 'signing' to 'signature' in cli output by @hughy in #4773
  • Rahul/add unsigned transaction summary to create signing commitment by @patnir in #4769
  • Rahul/multi sig ux input spacing by @patnir in #4774
  • wip/frost-encryption, address book, stored identities by @hughy in #4775
  • Update to the latest version of ironfish-frost by @andiflabs in #4779
  • Improvements to ironfish-rust-nodejs/src/frost.rs by @andiflabs in #4783
  • Move pool miner to V3 by @danield9tqh in #4781
  • Improve the terminology used around multisig by @andiflabs in #4782
  • Multisig: add encryption/decryption primitives to ParticipantIdentity and ParticipantSecret by @andiflabs in #4785
  • Fix route and node test cleanups by @NullSoldier in #4791
  • Rename base64.json.test.ts to base64json.test.ts by @andiflabs in #4790
  • Multisig wallet: generate TDK accounts on the server side by @andiflabs in #4784
  • Ensure that the release binaries are built using the right version by @mat-if in #4792
  • creating new signing key when splitting secret from dealer by @patnir in #4788
  • name flag optional for multisig identity create by @patnir in #4778
  • Add functionality to Base64JsonEncoder to encrypt multisig accounts by @andiflabs in #4786
  • Add testnet checkpoint for FishHash hardfork by @danield9tqh in #4795
  • wallet/importAccount can now decrypt multisig-encrypted accounts by @andiflabs in #4793
  • wallet/multisig/createTrustedDealerKeyPackage now returns encrypted accounts by @andiflabs in #4794
  • ironfish-rust-nodejs: move the multisig structs to the frost submodule by @andiflabs in #4797
  • Multisig: move key generation to the Rust layer by @andiflabs in #4798
  • fix(cli): Fix wallet:balances to render sequence in sequence column by @rohanjadvani in #4801
  • feat(ironfish): Update multisig store to use identity as a key by @rohanjadvani in #4800
  • feat(ironfish): Check for duplicate account name when creating secret by @rohanjadvani in #4804
  • refactor(cli,ironfish): Rename multisig RPC / CLI by @rohanjadvani in #4806
  • simplifying lint headers script by @patnir in #4802
  • fixes description for confirm flag in commitment:create by @hughy in #4807
  • outputs serialized transaction from signature:aggregate by @hughy in #4808
  • feat(cli,ironfish): Throw error for multisig secret during import by @rohanjadvani in #4811
  • v2.0 Version Bump by @mat-if in #4810
  • feat(cli): Update new line in wallet:multisig:signature:create by @rohanjadvani in #4813
  • uses long prompt for fetching identities when creating a commitment by @patnir in #4812

Full Changelog: v1.20.0...v2.0.0

v1.20.0

20 Feb 21:54
83c9078
Compare
Choose a tag to compare

Breaking Changes

  • #4699 - changes format of consensus params for custom networks
  • #4715 - changes Target.calculateDifficulty and Target.calculateTarget function parameters, now takes in a Consensus and the current block sequence. No longer takes in individual parameter values.

What's Changed

  • This release enables the testnet hard-fork sequence at block 419,193. See the hard-fork FIP for more details.
  • Lots of work related to FROST and multi-sig support
  • Added base64json encoding to wallets and removed bech32 encoding
  • Separated steps for building and signing transactions in the RPC layer. #4642

Full Changelog: v1.19.0...v1.20.0

v1.19.0

01 Feb 03:27
4fab80d
Compare
Choose a tag to compare

Summary

  • Fixed imports of bech32-encoded accounts from earlier SDK versions

Breaking Changes

  • #4634 - Moved Strategy.createMinersFee() to Blockchain.createMinersFee()
  • #4645 - Removed SDK argument networkClass
  • #4644 - Replaced Strategy class from SDK with Network

What's Changed

Full Changelog: v1.17.0...v1.19.0