Skip to content

Releases: iron-fish/ironfish

v1.8.0

15 Aug 19:06
4ea3ae4
Compare
Choose a tag to compare

Breaking changes

Notable changes

  • Updates to support the ironfish standalone wallet CLI
  • Initial changes for future support of asset ownership transfer

What's Changed

  • adds wallet/getNodeStatus RPC by @hughy in #4135
  • Add WalletNode interface and connect to RPC handlers by @danield9tqh in #4137
  • Add support for V2 transactions to RawTransaction by @andreacorbellini in #4127
  • refactor(ironfish): Check for backfill before opening db in migration 19 by @rohanjadvani in #4139
  • removes wallet:repair command by @hughy in #4141
  • Add ability to filter migrations by database by @danield9tqh in #4142
  • refactor(cli,ironfish): Encapsulate nullifier set and remove duplicate db by @rohanjadvani in #4054
  • Create WalletNode to start standalone wallet by @danield9tqh in #4144
  • feat(ironfish): Remove wallet specific config by @rohanjadvani in #4148
  • refactor(cli,ironfish): Node -> IronfishNode + IronfishNode -> FullNode by @rohanjadvani in #4149
  • refactor(ironfish): Move notes and nullifiers from db to blockchain by @rohanjadvani in #4147
  • fixes error message when database is ahead of node by @hughy in #4150
  • feat(ironfish): Add SDK method to create wallet node by @rohanjadvani in #4151
  • feat(ironfish): Move databases to migrator constructor by @rohanjadvani in #4152
  • uses WalletNode instead of FullNode in wallet:prune by @hughy in #4153
  • Clean up unnecessary wallet properties by @danield9tqh in #4145
  • feat: serialized transactions get block by @jowparks in #4158
  • feat(ironfish): Add connection retries to wallet node by @rohanjadvani in #4156
  • fixes error output in wallet rpc test by @hughy in #4160
  • refactor: rawTransaction slow tests re-generate valid transactions by @mat-if in #4154
  • feat(ironfish): Remove hosts store from wallet node by @rohanjadvani in #4161
  • throws error if wallet chainProcessor head not in chain by @hughy in #4162
  • fix: Allow test path patterns to be passed to test commands by @mat-if in #4155
  • Use Cargo resolver v2 by @andreacorbellini in #4163
  • adds owner to walletDb assets store by @hughy in #4140
  • refactor: Move genesis blocks into separate files by @mat-if in #4170
  • fix: migration import path changed by @mat-if in #4171
  • Refactor conditional send transaction by @danield9tqh in #4172
  • does not reset account data if birthday not in chain by @hughy in #4167
  • rpc: mint details in chain/getTransaction by @hairtail in #4143
  • syncs pending transactions from event/onTransactionGossip by @hughy in #4174
  • Rahul/ifl 1478 add nonce to getassets rpc endpoint by @patnir in #4178
  • speeds up findFork for linear fast forward case by @hughy in #4183
  • adds limit to block events in remoteChainProcessor updates by @hughy in #4182
  • feat(cli,ironfish): Add SDK method to connect to wallet rpc client by @rohanjadvani in #4180
  • feat(cli,ironfish): Create a CLI helper to create a config client by @rohanjadvani in #4168
  • add owner field to follow chain stream and get assets RPCs by @mat-if in #4136
  • Export RpcTlsClient from SDK by @dguenther in #4138
  • Add owner field to mint description by @mat-if in #4146
  • feat: Mining manager checks mint owner validity when adding transactions by @mat-if in #4165
  • sets createdAt to chain head for new accounts by @hughy in #4191
  • feat(cli,ironfish): Add wallet:start by @rohanjadvani in #4190
  • fixes account import if wallet not conneted to node by @hughy in #4196
  • getAccountsStatus returns undefined headInChain without node by @hughy in #4198
  • Rahul/ifl 1497 add disablewalletsync to config by @patnir in #4194
  • feat(ironfish): Add fallback logic if wallet node is called for full node by @rohanjadvani in #4199
  • feat(cli,ironfish): Check running context in start and wallet:start by @rohanjadvani in #4202
  • Expose the asset ownership information through the RPC layer by @andreacorbellini in #4181
  • fix(ironfish): Check for node client in create by @rohanjadvani in #4203
  • MintDescription: make transferOwnershipTo a Buffer to be consistent with owner by @andreacorbellini in #4195
  • initializes chainProcessor in load by @hughy in #4205
  • chain/broadcastTransaction does not throw error if network not ready by @hughy in #4179
  • feat(cli,ironfish): Revert CLI / SDK changes for standalone wallet by @rohanjadvani in #4206
  • Remove libuv-monitor from SDK by @dguenther in #4207
  • Hotfix 1.7.1 staging master conflicts merge by @jowparks in #4213
  • reject blocks containing transactions with an incorrect version by @mat-if in #4210
  • adding information to readme about cli docs on the website by @patnir in #4177
  • bump version for release (1.8.0) by @jowparks in #4215
  • staging -> master (1.8.0 release) by @jowparks in #4214

New Contributors

Full Changelog: v1.7.1...v1.8.0

v1.7.1

09 Aug 00:10
226715c
Compare
Choose a tag to compare

This release fixes an OOM issue with wallet rescanning

What's Changed

  • hotfix to address OOM errors during wallet scanning by @hughy in #4186
  • bumps versions for hotfix 1.7.1 by @hughy in #4188

Full Changelog: v1.7.0...v1.7.1

v1.7.0

01 Aug 04:19
b240df1
Compare
Choose a tag to compare

RPC Breaking Changes

  • #4084 chain/getBlock RPC returns 404 if header is missing instead of 400. chain/getBlock RPC returns 404 if block for header is missing instead of 400

  • #4117 chain/getAsset RPC returns 404 if assets is missing for id instead of 400

  • #4105 chain/broadcastTransaction RPC now attempts to add a transaction to the mempool as well as broadcast it

  • #4120 wallet/sendTransaction RPC no longer fails if the node is not connected to any peers

SDK Breaking Changes

  • #4102 removes WorkerPool.verify and Transaction.verify. Use WorkerPool.verifyTransactions (Typescript) or verify_transaction / batch_verify_transactions (Rust) instead.

  • #4125 Changes Node constructor to take a AssetsVerifier object instead of a VerifiedAssetsCache

  • #4112 Removes onTransactionCreated callback from Wallet class. Removes reference to memPool from Wallet class

  • #4094 Makes Verifier.verifyMints, Verifier.verifyBurns and Verifier.verifyInternalNullifiers static functions. Makes Verifier.verifyCreatedTransaction function static and take consensus as a parameter

  • #4088 PeerNetwork no longer adds a transaction to a wallet automatically but instead wallet listens to PeerNetwork.onTransactionGossipReceived

  • #4081 node property is removed from RpcMemoryClient and RpcMemoryClient now takes a Router object in the constructor instead of a Node

  • #4071 Router class is separated into Router and Routes

  • #4070 All RPC route handlers now take an optional Node class

  • #4099 Removes the onBroadastTransaction property from the Wallet class

  • #4097 wallet.connectBlock and wallet.disconnectBlock method signatures changed to accept a WalletBlockHeader (hash, previousBlockHash, sequence, timestamp) and a list of WalletBlockTransaction (transaction, initialNoteIndex). The Wallet.chainProcessor property changed from an instance of ChainProcessor to RemoteChainProcessor

  • #4126 Wallet constructor no longer takes a Blockchain instance, no longer has a chain property

  • #4128 wallet.post returns Promise<{ transaction, accepted, broadcasted }> instead of Promise<Transaction>

Other changes

  • #4132 Fixed a bug with checking the result of transaction proof verification

What's Changed

New Contributors

Full Changelog: v1.6.0...v1.7.0

v1.6.0

18 Jul 16:32
e5551dc
Compare
Choose a tag to compare

Notable changes

Verified assets will be displayed in green with a checkmark on the output of commands like wallet:balances or wallet:assets. The information about whether an asset is verified or not can also be retrieved through the RPC interface.

Breaking changes

  • #4061 changes the way that the SDK's RpcClient calls broadcastTransaction from client.broadcastTransaction to client.chain.broadcastTransaction

What's Changed

Full Changelog: v1.5.0...v1.6.0

v1.5.0

05 Jul 23:54
e27a127
Compare
Choose a tag to compare

Notable Changes

This release includes our transition to blstrs library, which gives a large performance increase in both transaction creation and transaction verification.

What's Changed

Full Changelog: v1.4.0...v1.5.0

v1.4.0

14 Jun 23:47
b887f51
Compare
Choose a tag to compare

Notable changes

  • Fixed a bug where calling wallet:transaction or wallet:transactions on a transaction with more than 255 output notes would only display at most the first 255 results. #3950

What's Changed

New Contributors

Full Changelog: v1.3.0...v1.4.0

v1.3.0

25 May 15:52
ccc100a
Compare
Choose a tag to compare

What's Changed

  • fix(ironfish): add additional transaction validation by @mat-if in #3901
  • Update brew workflow to macos-12 by @dguenther in #3907
  • fix(simulator): miscellaneous cleanup fixes and improvements by @holahula in #3897
  • adds pagination support to walletDb loadTransactions iterator by @hughy in #3890
  • fix: additional block verification for duplicate transactions by @mat-if in #3908
  • test: transaction verification benchmarks by @mat-if in #3910
  • test: add perf test for createNewBlockTemplate by @mat-if in #3912
  • fix(simulator): turn http adapter on by default by @holahula in #3913
  • perf: improve rust hex (de-)serialization by @mat-if in #3915
  • adds support for creating witnesses at past sizes by @hughy in #3896
  • Fix bad account balance for custom fee by @whohideonbug in #3916
  • creates spend witnesses using confirmation range by @hughy in #3918
  • Add confirmations and account to mint,burn,send fee selector by @dguenther in #3919
  • feat(ifl-934): agent to telemetry tags by @jowparks in #3921
  • adds confirmations to chain/getNoteWitness by @hughy in #3920
  • perf: refactor messages to reduce a duplicate serialization by @mat-if in #3924
  • checks if submitted block is heavier when chain changed by @hughy in #3923
  • adds rpc to follow transaction gossip stream by @hughy in #3925
  • fixes flaky onTransactionGossipReceived test by @hughy in #3933
  • regenerates fixtures and fixes outdated wallet tests by @hughy in #3931

New Contributors

Full Changelog: v1.2.0...v1.3.0

v1.2.0

09 May 20:37
44a3e58
Compare
Choose a tag to compare

Breaking changes:

  • Asset constructor now uses public_address rather than spending_key. This will only affect SDK users who were manually constructing Assets. #3863

Other changes:

New Contributors

All changes

For the full list of changes, check out the commits: v1.1.0...v1.2.0

v1.1.0

25 Apr 22:27
6dc93a4
Compare
Choose a tag to compare

Breaking changes

  • chain/getTransaction now returns an error if the transaction is not found instead of returning an empty transaction object #3841. Some errors from this were also changed from ValidationError to NotFoundError. Both minor changes
  • defaultNetworkName() now returns 'Devnet' instead of 'Dev' for network 2. Also, the devnet network definition is now exported as DEVNET instead of DEV.

What's Changed

Full Changelog: v1.0.1...v1.1.0

v1.0.1

21 Apr 22:04
03bfdc4
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.0.0...v1.0.1