Releases: iron-fish/ironfish
v1.13.0
What's Changed
- Updated the SDK to now run on Node 20 LTS #4434
- Added sorting for peers command #4442
- Whitelisted nodes are now not disconnected #4444
- Adding ability to select notes in the transaction send command by @patnir in #4465
Full Changelog: v1.12.0...v1.13.0
Note Selection in ironfish wallet:send
You can now pass note hashes to ironfish wallet:send
command to force the wallet to use these notes in the transaction.
Example
ironfish wallet:send \
--note 72e91d6672d79f9006f128a16cf52bbb585037fee2aea8385b56919c3ac9570b \
--note 4a5feb193d425fa73abfb108027a643eb027e46684c50e2bef5d66ea48ec3d2d \
--note f8b91f81caf4489c83734c2b29ad4587c9ba0c1080854a3f6da19f6fad49265e
NOTE: If you specify notes, and it's not enough for the send amount, the wallet will add extra notes to fund the transaction.
v1.12.0
Notable Changes
Removing support for NodeJS v16; adding support for NodeJS v20 and beyond. The node now requires a minimum version of NodeJS v18 instead of only NodeJS v18, so we can more easily support new NodeJS versions as they are released.
Block syncing speed should be improved. The node will regularly measure the connection of some peers to try to find a faster peer to sync from. The first time this occurs is 2 minutes after the node starts syncing, then 4, 8, 16.. up to a maximum of once per 60 minutes.
Nodes should be able to find peers faster and more consistently.
- The default
targetPeer
value is now 45. This means that nodes will attempt to connect to new nodes until it has reached 45 peers. After 45, it will allow incoming connections up to themaxPeer
value, which has a default of 50. This will allow other nodes to find peers faster since nodes will no longer be trying to actively reach the maximum. - Nodes track peers that it successfully connects to via websocket connection and saves these peers to disk. The next time the node starts, it will attempt connections to these peers first, leading to faster initial startup connections.
- Nodes now only count peers that are fully connected when checking if it should open new connections or allow incoming connections, instead of peers that were in connected or connecting states.
Added akeepOpenPeerSlot
config option (default false). When set to true, a node will disconnect from a peer if it is atmaxPeers
, so that the node will always allow an incoming connection instead of reaching the maximum number of peers and rejecting incoming connections.
Breaking Changes
Moved PriorityQueue
out of mempool #4380
Changed the return type of Note.memo()
to Buffer
. Use BufferUtils.toHuman(note.memo())
to produce the same human-readable value #4384
Removed support for NodeJS v16. Supported versions of NodeJS are now v18 or higher. #4395
Full Changelog: v1.11.0...v1.12.0
v1.11.0
What's Changed
- Remove unneeded imports from RpcClient by @danield9tqh in #4330
- Remove unused simulate-latency code by @mat-if in #4333
- Export KeyStore by @danield9tqh in #4337
- Bump SDK version to 1.10.1 by @danield9tqh in #4339
- STAGING -> MASTER by @danield9tqh in #4341
- Fix typo in comment by @NullSoldier in #4342
- Allow ascending and descending sorting in account transactions RPC by @dguenther in #4349
- remove unused mainnet command by @danield9tqh in #4338
- Move snapshot download code into shared functions by @danield9tqh in #4345
- Fix version dependency for sdk by @mat-if in #4356
- Fix custom asset fetching when passing a non-default account to wallet:transactions by @dguenther in #4358
- Fix some small bugs in snapshot code by @danield9tqh in #4355
- Adding hex flag to handle invalid hex field by @patnir in #4325
- adding string length limit to node name by @patnir in #4324
- Fix status follow erroring out by @danield9tqh in #4357
- Mining Manager: make preemptive block creation optional by @andiflabs in #4359
- MintAsset RPC: Add transferOwnershipTo field by @mat-if in #4364
- Export network definitions from the SDK by @andiflabs in #4369
- Add exports to sdk package by @danield9tqh in #4344
- fix(ironfish): Update
BoxKeyPair
import to reference the package by @rohanjadvani in #4376 - v1.11.0 by @rohanjadvani in #4375
- staging -> master by @rohanjadvani in #4377
Breaking Changes
- Removed
simulateLatency
config option: #4333 - Changed
outputPath
tooutput
directory inchain:download
command #4345
Full Changelog: v1.10.0...v1.11.0
v1.10.0
Breaking Changes
fee
field on/chain/getTransaction
is now aNumber
(was aString
) PR for reference- The
graffiti
field as part of the RpcBlockHeader object will now be sent back as a hex string instead of a utf-8 string.
Notable Changes
/wallet/create
has been deprecated for/wallet/createAccount
/wallet/remove
has been deprecated for/wallet/removeAccount
/wallet/rename
has been deprecated for/wallet/renameAccount
/wallet/use
has been deprecated for/wallet/useAccount
- New RPC Response Structure. Our important domain concepts like Transaction, WalletNote, Asset, etc. have been normalized.
What's Changed
- Add mint asset creator field to transaction api calls by @mat-if in #4254
- Explicitly set the asset
creator
field of mints inRawTransaction
by @andreacorbellini in #4264 - fixes wallet.updateHead test to be independent of fixture generation by @hughy in #4265
- When an unknown asset is seen in a wallet transaction, backfill its information from the chain db before processing the transaction by @andreacorbellini in #4244
- Add more information to getBlockResponse by @hairtail in #4217
- feat(cli,ironfish): Return native asset when streaming wallet assets by @rohanjadvani in #4267
- asset-security -> staging by @mat-if in #4250
- Update the blockchain db whenever a mint with
transferOwnershipTo
is seen by @andreacorbellini in #4253 - Update the wallet db whenever a mint with
tranferOwnershipTo
is seen by @andreacorbellini in #4266 - Track originating peer for block gossip by @danield9tqh in #4270
- Make activation flag nullable by @ygao76 in #4277
- Add (de)serialization for
Asset
by @andreacorbellini in #4275 - Add transferOwnershipTo support to CLI/RPC by @mat-if in #4278
- Rahul/ifl 1624 useaccount endpoint by @patnir in #4280
- Rahul/ifl 1625 renameaccount endpoint by @patnir in #4279
- Rahul/ifl 1587 createaccount endpoint by @patnir in #4268
- adding remove account endpoint by @patnir in #4281
- Rahul/ifl 1603 make asset response consistent across all endpoints by @patnir in #4272
- sequential-block-time -> staging by @ygao76 in #4276
- Patched Fix Inefficient Regular Expression Complexity Regular Express… by @wica-sufatmawati in #4271
- Rahul/ifl 1580 normalize encrypted note by @patnir in #4285
- New fixture for multiple custom transactions by @danield9tqh in #4287
- Rahul/ifl 1576 normalize block header by @patnir in #4286
- Rahul/ifl 1578 normalize transaction by @patnir in #4288
- Use Decimal library to make feeRates deterministic by @danield9tqh in #4282
- Rahul/ifl 266 mintasset and burnasset do not accept a feerate in requests by @patnir in #4289
- Rahul/ifl 1636 normalize block by @patnir in #4295
- Rahul/ifl 493 account is not consistently optional in wallet rpcs 2 by @patnir in #4291
- Rahul/ifl 1579 normalize transaction sub objects - mints and burns by @patnir in #4293
- Rahul/ifl 1579 normalize transaction sub objects updating mint burn asset endpoints by @patnir in #4294
- Add links to CI jobs on badges by @danield9tqh in #4296
- Adding the Inversed Tech audit PDF report by @leanthebean in #4184
- resets account heads and birthdays in reset command by @hughy in #4269
- Increase the default difficulty when creating genesis and devnet difficulty by @mat-if in #4246
- fix memory client close handlers by @danield9tqh in #4090
- Rahul/ifl 1651 add ability to show usage of deprecated fields in ironfish by @patnir in #4298
- feat: rust std::backtrace by @jowparks in #4274
- Export network definitions by @ygao76 in #4302
- marking counts fields as deprecated by @patnir in #4301
- Rahul/ifl 1641 add optional serialized field to transaction rpc by @patnir in #4299
- Rahul/ifl 1665 normalize exportchainstream by @patnir in #4304
- Rahul/ifl 1670 move peerresponse into types by @patnir in #4305
- adding burns and mints to the account transaction by @patnir in #4307
- Rahul/ifl 1678 naming change accounttransaction to wallettransaction by @patnir in #4309
- Notify Slack of fixture regeneration failure by @danield9tqh in #4164
- Fix fixture regeneration failures for diable wallet test by @danield9tqh in #4310
- Rahul/ifl 1653 update gettransaction response to use the rpc transaction by @patnir in #4300
- adding full transaction object to burn and mint asset response by @patnir in #4311
- formatting all rpc objects in the same order by @patnir in #4313
- Rahul/ifl 1643 update cli to stop using the deprecated fields by @patnir in #4315
- Resume snapshot downloads if supported by @dguenther in #4308
- Don't use streaming endpoint in status CLI by @danield9tqh in #4312
- Rahul/ifl 1690 remove dependence on deprecated status field by @patnir in #4320
- Adding feerate to mint and burn by @patnir in #4318
- Handle socket read/write errors by @andiflabs in #4317
- version bump 1.9.0 to 1.10.0 by @patnir in #4326
- Staging to master version 1.10.0 by @patnir in #4329
New Contributors
- @wica-sufatmawati made their first contribution in #4271
- @andiflabs made their first contribution in #4317
Full Changelog: v1.9.0...v1.10.0
v1.9.0
Breaking Changes
transaction_signature_hash
return types updated toResult
Notable Changes
- Ability to start the full node without the wallet
- Improvements to rescan when importing accounts and with connection issues
What's Changed
- test(ironfish): Fix
wallet/getAsset.test.ts
by @rohanjadvani in #4218 - Rahul/ifl 1499 conditionally start wallet based on flag by @patnir in #4201
- test(cli,ironfish): Add option to set birthday on account create by @rohanjadvani in #4221
- remove hardcoded transaction version check in batch verify by @mat-if in #4225
transaction_signature_hash
functions return a result instead of panic by @mat-if in #4227- adding enable wallet flag to node start command by @patnir in #4223
- Rahul/ifl 1498 show enabled state in wallet status by @patnir in #4226
- test(ironfish): Fix
mintAsset
andburnAsset
test fixtures by @rohanjadvani in #4230 - Rahul/ifl 1534 format disabled status flag for new datadir by @patnir in #4233
- fixes importAccount rescan if wallet not connected to node by @hughy in #4238
- test(ironfish): Fix scan transaction wallet fixtures by @rohanjadvani in #4231
- test(ironfish): Fix slow wallet test fixtures by @rohanjadvani in #4232
- fix: manager test was non-deterministic due to mempool fee estimation by @mat-if in #4219
- Check transactions validity before syncing to the wallet by @danield9tqh in #4189
- Add limit for queue size of pending transactions in the wallet by @danield9tqh in #4185
- Update
Account.saveAssetFromChain
to support the newowner
field by @andreacorbellini in #4243 - fixes balance example in repl command by @hughy in #4241
- Use a floor of 1 for sequence when checking active consensus params by @mat-if in #4248
- adds faucet namespace to walletNode RPC server by @hughy in #4247
- Remove deprecated API functions by @mat-if in #4251
- Rahul/ifl 1555 add node to wallet rpc namespace by @patnir in #4242
- Adding verify genesis block check by @patnir in #4245
- remove ironfish-wallet-server by @jowparks in #4252
- restarts wallet scan on import by @hughy in #4255
- fix(ironfish): Pass missing
startWallet
argument by @rohanjadvani in #4256 - update rust ci test timeout from 3 to 5 minutes by @mat-if in #4258
- feat(cli): Log message if no transactions are found for an account by @rohanjadvani in #4259
- updateHead updates to chain head by @hughy in #4257
- delete requires confirmation if account scanning by @hughy in #4260
- feat(ironfish): Throw error if wallet node client is disconnected by @rohanjadvani in #4261
- chore(cli,ironfish,rust-nodejs,simulator): Bump release versions by @rohanjadvani in #4262
- staging -> master by @rohanjadvani in #4263
Full Changelog: v1.8.0...v1.9.0
v1.8.0
Breaking changes
- Update to
chain/followChainStream
endpoint that removesowner
field from response and addscreator
in its place to more accurately represent transferable assets. https://github.com/iron-fish/website/pull/506/files
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
aBuffer
to be consistent withowner
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
v1.7.0
RPC Breaking Changes
-
#4084
chain/getBlock
RPC returns404
if header is missing instead of400
.chain/getBlock
RPC returns404
if block for header is missing instead of400
-
#4117
chain/getAsset
RPC returns404
if assets is missing for id instead of400
-
#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
andTransaction.verify
. UseWorkerPool.verifyTransactions
(Typescript) orverify_transaction / batch_verify_transactions
(Rust) instead. -
#4125 Changes
Node
constructor to take aAssetsVerifier
object instead of aVerifiedAssetsCache
-
#4112 Removes
onTransactionCreated
callback fromWallet
class. Removes reference tomemPool
fromWallet
class -
#4094 Makes
Verifier.verifyMints
,Verifier.verifyBurns
andVerifier.verifyInternalNullifiers
static functions. MakesVerifier.verifyCreatedTransaction
function static and takeconsensus
as a parameter -
#4088
PeerNetwork
no longer adds a transaction to a wallet automatically but instead wallet listens toPeerNetwork.onTransactionGossipReceived
-
#4081
node
property is removed fromRpcMemoryClient
andRpcMemoryClient
now takes aRouter
object in the constructor instead of aNode
-
#4071
Router
class is separated intoRouter
andRoutes
-
#4070 All RPC route handlers now take an optional
Node
class -
#4099 Removes the
onBroadastTransaction
property from theWallet
class -
#4097
wallet.connectBlock
andwallet.disconnectBlock
method signatures changed to accept aWalletBlockHeader
(hash, previousBlockHash, sequence, timestamp) and a list ofWalletBlockTransaction
(transaction, initialNoteIndex). TheWallet.chainProcessor
property changed from an instance ofChainProcessor
toRemoteChainProcessor
-
#4126
Wallet
constructor no longer takes aBlockchain
instance, no longer has achain
property -
#4128
wallet.post
returnsPromise<{ transaction, accepted, broadcasted }>
instead ofPromise<Transaction>
Other changes
- #4132 Fixed a bug with checking the result of transaction proof verification
What's Changed
- feat: create ironfish binary by @jowparks in #3713
- refactor(cli,ironfish): Encapsulate
sequenceToHash
db operations by @rohanjadvani in #4049 - refactor(cli,ironfish): Encapsulate hashToNextHash db interactions by @rohanjadvani in #4050
- refactor(ironfish): Encapsulate assets db interactions by @rohanjadvani in #4051
- refactor(ironfish): Encapsulate transactionHashToBlockHash db operations by @rohanjadvani in #4052
- rebroadcasts on block connect by @hughy in #4073
- Send serialized transactions on chain stream by @danield9tqh in #4076
- feat(ironfish): Add
nonce
tochain/getAsset
by @rohanjadvani in #4080 - feat(ironfish): Pass memory client into wallet by @rohanjadvani in #4082
- verifies transaction spends in chain/broadcastTransaction by @hughy in #4083
- removes mempool accept from chain/broadcastTransaction by @hughy in #4086
- feat(ironfish): Fetch note witness from node client in wallet by @rohanjadvani in #4085
- Remove direct wallet dependency wallet from PeerNetwork by @danield9tqh in #4088
- Remove the node from the memory client by @danield9tqh in #4081
- Store consensus on wallet and use it for wallet/addTransaction RPC by @danield9tqh in #4094
- remove node dependencies in get transactions rpc by @danield9tqh in #4095
- feat(ironfish): Create
mempool/acceptTransaction
by @rohanjadvani in #4087 - asset-security owner -> creator rename and db work by @mat-if in #4101
- Add to mempool in broadcast RPC by @danield9tqh in #4105
- refactor: remove Transaction.verify and workerPool.verify by @mat-if in #4102
- feat(ironfish): Check if the peer network is ready in
broadcastTransaction
by @rohanjadvani in #4106 - Remove withReference from followChainStream by @dguenther in #4107
- uses node client to broadcast transactions by @hughy in #4099
- Verify block perf test by @ygao76 in #4098
- Update license field following SPDX 2.1 license expression standard by @frisoft in #4093
- Remove unused mempool and onCreateTransaction from Wallet by @danield9tqh in #4112
- feat(Wallet Server): Stub out project + basic gRPC server by @dgca in #4110
- Add the
transferOwnershipTo
field to MintDescription by @andreacorbellini in #4100 - removes wallet transaction verification during rebroadcast by @hughy in #4108
- implements RemoteChainProcessor by @hughy in #4097
- feat(ironfish): Check if chain has block from node client by @rohanjadvani in #4084
- Remove mempool dependency in wallet/addTransaction by @danield9tqh in #4109
- refactors scanTransaction to use RemoteChainProcessor by @hughy in #4115
- Update new block timestamp by @ygao76 in #4103
- feat(ironfish): Fetch chain asset from node client by @rohanjadvani in #4117
- feat(ironfish): Fetch chain head from node client by @rohanjadvani in #4118
- removes use of wallet.chain in useMinersTxFixture by @hughy in #4123
- Make remote call for account status by @danield9tqh in #4121
- Make remote call to node to see if its synced enough to create a tranaction by @danield9tqh in #4120
- Use assetsVerifier on wallet for RPC calls by @danield9tqh in #4125
- Fix
RawTransaction.postedSize
by considering fees when computing change notes by @andreacorbellini in #4116 - feat(ironfish): Create
wallet/getAsset
by @rohanjadvani in #4119 - feat(cli): Fetch asset from wallet in
wallet:burn
by @rohanjadvani in #4122 - removes uses of chain in wallet start by @hughy in #4124
- removes chain from wallet by @hughy in #4126
- feat(cli,ironfish): Log warning if errors happen during broadcast by @rohanjadvani in #4128
- Use node client for wallet/createTransaction RPC by @danield9tqh in #4131
- adds wallet/estimateFeeRates RPC by @hughy in #4129
- refactor(cli,ironfish): Encapsulate merkle tree of notes interactions by @rohanjadvani in #4053
- Use node client for wallet/rescanAccounts by @danield9tqh in #4130
- Fix checking result of proof verification and add tests by @dguenther in #4132
New Contributors
Full Changelog: v1.6.0...v1.7.0
v1.6.0
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
fromclient.broadcastTransaction
toclient.chain.broadcastTransaction
What's Changed
- feat(ifl-1237): encodeAccount/decodeAccount generalized functions by @jowparks in #4028
- updates wallet exportAccount RPC to use encoders by @hughy in #4031
- feat(ifl-1234): account import rpc updates by @jowparks in #4030
- feat(ifl-1263): support account rename decoding by @jowparks in #4035
- Use
performance.now()
instead ofDate.now()
for performance measurements by @andreacorbellini in #4034 - chore: Upgrade napi to latest version by @mat-if in #4006
- Verified assets: implement persistent caching by @andreacorbellini in #4020
- updates export CLI for RPC changes by @hughy in #4033
- feat(ifl-1236): cli string account import by @jowparks in #4032
- Verified assets: use the persisted cache when the node is not running by @andreacorbellini in #4027
- fix: import failure by @jowparks in #4039
- converts import-export-test to rpc unit tests by @hughy in #4037
- Verified assets: place the cache in the
temp
directory by @andreacorbellini in #4040 - Verified assets: add support for
file:///
URIs as the source of verified assets by @andreacorbellini in #4038 - fix: roll up errors from decodeAccount function by @jowparks in #4048
- fix: decode error bubbling by @jowparks in #4056
- Remove temporary variable rescan by @NullSoldier in #4057
- Verified assets: use the new
/verified/assets
API endpoint by @andreacorbellini in #4045 - chore: update libuv-monitor 0.0.5 for node-app compatibility changes by @mat-if in #4059
- moves broadcastTransaction into RpcClient chain namespace by @hughy in #4061
- Add encoder name to DecoderFailed by @NullSoldier in #4058
- feat(ironfish): Remove
submitNewTransactionCreated
telemetry by @rohanjadvani in #4063 - Only pass in wallet to RPC helper function getAccount by @danield9tqh in #4062
- adds transactions to mempool in broadcastTransaction rpc by @hughy in #4060
- feat(ironfish): Query account instead of chain when burning asset by @rohanjadvani in #4066
- feat(ironfish): Query account in
getAssetBalanceDeltas
by @rohanjadvani in #4068 - feat(ironfish): Query asset from account in
getAccountNotesStream
by @rohanjadvani in #4067 - adds standalone wallet config options by @hughy in #4064
- refactor(ironfish): Encapsulate block header DB operations by @rohanjadvani in #4043
- Verified assets: use a retry strategy when refreshing by @andreacorbellini in #4041
- Allow Router and Server to be created without a node object by @danield9tqh in #4070
- expires wallet transactions on block connect by @hughy in #4069
- Separate global routes from Router by @danield9tqh in #4071
- refactor(ironfish): Encapsulate meta store in
BlockchainDB
by @rohanjadvani in #4044 - refactor(ironfish): Encapsulate transactions store in
BlockchainDB
by @rohanjadvani in #4046 - refactor(ironfish): Encapsulate sequence to hashes db operations by @rohanjadvani in #4047
- Bump node version to 1.6.0 by @andreacorbellini in #4072
- Merge staging into master (1.6.0 release) by @andreacorbellini in #4074
Full Changelog: v1.5.0...v1.6.0
v1.5.0
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
- updates poolMiner log message on new work by @hughy in #3974
- fixes usage of oclif table sort flag by @hughy in #3975
- Fix error message when chain head changes by @danield9tqh in #3972
- Perf test reporter and CI integration by @ygao76 in #3930
- feat(ci): Check for missing test fixtures by @mat-if in #3976
- Add back print result by @ygao76 in #3979
- Remove expect check in perf tests by @ygao76 in #3977
- Record CPU information during GitHub CI runs by @andreacorbellini in #3980
- verifies block template after streaming by @hughy in #3967
- Standardize util exports for S3 utils by @NullSoldier in #3981
- Add browse CLI command by @NullSoldier in #3940
- handles errors sending jobs to worker threads by @hughy in #3984
- Change Wallet.send() to accept an object by @NullSoldier in #3982
- adds context to telemetry TypeErrors by @hughy in #3986
- Add annotation to test report by @ygao76 in #3985
- Blstrs by @mat-if in #3970
- adds event/onReorganizeChain RPC by @hughy in #3989
- Move perf test to separate workflow by @ygao76 in #3988
- Create tx verification perf test by @ygao76 in #3995
- adds chain reorgs to stats command by @hughy in #3990
- Initial implementation of the AssetsVerifier system by @andreacorbellini in #3993
- Make RPC getBalance body optional by @NullSoldier in #3992
- Run perf test on mac mini by @ygao76 in #3997
- feat(ci): add ability to run the perf tests on demand by @mat-if in #3998
- adds encoder directory to wallet/account by @hughy in #4001
- Improve logging in the assets verifier system by @andreacorbellini in #3999
- Remove influx set up step in Github workflow by @ygao76 in #4004
- Add feeRate to RPC Wallet/sendTransaction by @NullSoldier in #3983
- Return asset verification information from the RPC interface by @andreacorbellini in #3996
- Add a configuration value for enabling/disabling the asset verification system by @andreacorbellini in #4000
- Add a configuration value for customizing the asset verification URL by @andreacorbellini in #4002
- Make STUN servers configurable by @danield9tqh in #3994
- Remove creating influx config in GH Workflow by @ygao76 in #4008
- Consistently handle template creation errors in mining manager by @danield9tqh in #3991
- Use env vars for Influx Auth credentials by @ygao76 in #4013
- feat(ifl-1233): account name optional by @jowparks in #4012
- chore: remove import export cli tests by @jowparks in #4017
- feat(ifl-1233): refactor language utils by @jowparks in #4014
- Remove rust cache step in perf test workflow by @ygao76 in #4015
- feat(cli): Log out warning if CLI update is available by @rohanjadvani in #4016
- Revert "Fix error message when chain head changes" by @danield9tqh in #4022
- feat: encoder options for AccountEncoder type by @jowparks in #4023
- feat(ci): Add a lint check for PRs against master by @mat-if in #4024
- adds separate RpcAccountImport type by @hughy in #4025
- feat(ifl-1233): create existing encoders by @jowparks in #4011
- Highlight verified assets in the output of cli commands by @andreacorbellini in #4009
- implements bech32 account encoder by @hughy in #4005
- feat: Add monitoring for libuv queue size by @mat-if in #3987
- fix(ci): Base branch check should update to green if base changes by @mat-if in #4029
- Set SDK node compatability to >=16 by @NullSoldier in #4003
- Version bump 1.5.0 by @mat-if in #4026
- STAGING -> MASTER by @mat-if in #4021
Full Changelog: v1.4.0...v1.5.0