Releases: iron-fish/ironfish
v1.4.0
Notable changes
- Fixed a bug where calling
wallet:transaction
orwallet:transactions
on a transaction with more than 255 output notes would only display at most the first 255 results. #3950
What's Changed
- Add chain database size to telemetry by @ygao76 in #3928
- fix: typescript perf tests run in band, longer timeout by @mat-if in #3929
- fixes error message from IronFlag by @hughy in #3935
- updates sync service to submit transaction gossip to api by @hughy in #3926
- Allow empty strings in the
--memo
argument ofwallet:send
by @andreacorbellini in #3938 - Fix the installation instructions link in the README by @andreacorbellini in #3939
- Add the 'expiration' field to transactions returned by followChainStream by @andreacorbellini in #3943
- Prepare rust crates' metadata for publishing by @andreacorbellini in #3945
- Rename the
ironfish_rust
crate to justironfish
by @andreacorbellini in #3946 - Update
crypto_box
andcrossbeam-channel
by @andreacorbellini in #3947 - Fix wallet:transaction decrypting at most 255 notes by @dguenther in #3950
- Move chain db size out of telemetry class and into stats cmd by @ygao76 in #3954
- Remove the sapling params from the published Rust crate, and download them from GitHub at build time by @andreacorbellini in #3951
- Add Iron Fish Tank: a Docker Compose application to simulate Iron Fish clusters by @andreacorbellini in #3948
- Prevent accidental publishing of crates that are not meant to be publ… by @andreacorbellini in #3957
- Reorder stats cmd by @ygao76 in #3958
- Update dependencies to fix vulnerabilities found by
yarn audit
by @andreacorbellini in #3956 - test: Add an improved benchmark util for typescript by @mat-if in #3959
- feat: Take 'reverse' parameter as option in loadTransactionsByTime by @dgca in #3953
- refactor(ironfish-rust): Introduce download-params feature-flag by @mat-if in #3961
- Start mining on empty blocks until template is ready by @danield9tqh in #3942
- adds test fixtures for mining manager tests by @hughy in #3962
- Add functionality to rename accounts in a wallet by @andreacorbellini in #3955
- removes extra block verification on submitted blocks by @hughy in #3963
- Log chain db size in stats by @ygao76 in #3964
- fix: Fix mining manager not sending out empty block templates by @mat-if in #3965
- removes loops from getNewBlockTransactions by @hughy in #3927
- adds missing fixture for rename rpc by @hughy in #3968
- bumps versions for v1.4.0 by @hughy in #3971
- STAGING -> MASTER by @mat-if in #3966
New Contributors
- @andreacorbellini made their first contribution in #3938
Full Changelog: v1.3.0...v1.4.0
v1.3.0
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
- @whohideonbug made their first contribution in #3916
Full Changelog: v1.2.0...v1.3.0
v1.2.0
Breaking changes:
Asset
constructor now usespublic_address
rather thanspending_key
. This will only affect SDK users who were manually constructingAsset
s. #3863
Other changes:
- Update cli text for transaction:watch by @wd021 in #3853
- Documentation url by @ChandlerFerry in #3855
- Add support for
PostTransaction
inworkers:status
by @holahula in #3865 - Add test/updates for calculating raw transaction size by @jowparks in #3854
- Size method note primitives by @jowparks in #3868
- Update ironfish repo readme by @ygao76 in #3866
- Fix mempool/getTransactions limit parameter by @holahula in #3878
- Validate string input fields in RPC by @jowparks in #3870
- Return nullifier in rpc notes responses by @ygao76 in #3880
- removes unnecessary note decryption in wallet transaction RPCs by @hughy in #3872
- makes notes from wallet RPCs uniform by @hughy in #3883
- Add getMaxTransactionBytes method to the verifier by @jowparks in #3869
- Fix Windows chain:download by closing DB before deleting by @dguenther in #3888
- Add incoming peer whitelist by IP by @danield9tqh in #3886
- Create peer/add RPC endpoint and CLI command by @danield9tqh in #3885
- Check network version on chaindownload by @ygao76 in #3871
- Add peer identity to status command by @danield9tqh in #3894
- adds support for
RpcHttpAdapter
inrpc/getStatus
route by @holahula in #3889 - Update metrics flush interval to one hour by @jowparks in #3882
- Check for transactions with duplicate nullifiers earlier by @mat-if in #3898
- implements wallet/getNotes endpoint with pagination by @hughy in #3861
- adds filtering to wallet/getNotes endpoint by @hughy in #3867
New Contributors
- @ChandlerFerry made their first contribution in #3855. Thanks!
All changes
For the full list of changes, check out the commits: v1.1.0...v1.2.0
v1.1.0
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 changesdefaultNetworkName()
now returns 'Devnet' instead of 'Dev' for network 2. Also, the devnet network definition is now exported asDEVNET
instead ofDEV
.
What's Changed
- Separate telemetry by endpoint by @danield9tqh in #3816
- feat(ironfish): add note hash to
wallet/getAccountNotesStream
RPC by @holahula in #3831 - Rpc spend by @ygao76 in #3832
- feat(ironfish): Add missing note hashes from RPC responses by @rohanjadvani in #3836
- fix(simulator): gracefully shutdown simulator on unexpected exit by @holahula in #3773
- Add spends to chain/getTransaction by @ygao76 in #3838
- feat(ironfish): add spends to
wallet/getTransaction
by @holahula in #3835 - adds custom transaction funding by note hash by @hughy in #3830
- Refactor chain/getTransaction by @danield9tqh in #3841
- feat(ironfish): Return note indices in getNotes by @rohanjadvani in #3812
- feat(ironfish): add spends to
wallet/getTransactions
by @holahula in #3834 - Deserialize fee as BigI64 by @dguenther in #3847
- Rename RPC route files to match endpoints by @dguenther in #3837
- Rename DEV -> DEVNET by @NullSoldier in #3820
- resets the testnet with a new genesis block by @hughy in #3848
- Use yup schema for spends by @ygao76 in #3849
- refactor(ironfish): Properly mark
notesEncrypted
as deprecated by @rohanjadvani in #3850 - Add RPC for validating address by @danield9tqh in #3842
- bumps versions for v1.1.0 by @hughy in #3852
- STAGING -> MASTER by @hughy in #3851
Full Changelog: v1.0.1...v1.1.0
v1.0.1
What's Changed
- feat(cli): Add network name to status. uses id as fallback by @mat-if in #3810
- feat(ironfish): Send block header work to API in sync by @rohanjadvani in #3809
- feat(cli): add memo to interactive mode and display it in confirmation by @mat-if in #3815
- Version 1.0.1 by @mat-if in #3818
- STAGING -> MASTER by @mat-if in #3817
Full Changelog: v1.0.0...v1.0.1
v1.0.0
What's Changed
v1.0.0 is our mainnet release! This is an otherwise light release that fixes a few bugs and adds the mainnet genesis block and bootstrap nodes.
- displays transactions sent to own address in wallet:transactions by @hughy in #3799
- clears walletdb datastores during reset by @hughy in #3797
- Separate mainnet + testnet telemetry by @danield9tqh in #3786
- Export NoteHasher in merkle tree from by @danield9tqh in #3804
- pushes version to testnet api by @hughy in #3795
- Add mainnet genesis block by @dguenther in #3808
Full Changelog: v0.1.76...v1.0.0
v0.1.76
What's Changed
This release updates the ZK circuits to fix the bug delaying mainnet launch. The release also includes generated parameters from the second trusted setup, the final proving parameters that will be used for mainnet.
This also means that this release is a network reset. The genesis block for both testnet and devnet have changed so anyone running on the network will need to reset their node with ironfish reset
. All chain and wallet databases will be cleared but private keys will be kept by the wallet.
- Network reset for circuit changes by @danield9tqh in #3775
- Bump min network version to 22 by @dguenther in #3778
- updates simulator sdk dependency in version-bump by @hughy in #3777
- Seal trusted setup with beacon value by @danield9tqh in #3780
- Regenerate fixtures with trusted setup contributions by @danield9tqh in #3781
- Bump to version 0.1.76 by @danield9tqh in #3784
- STAGING -> MASTER by @danield9tqh in #3785
Full Changelog: v0.1.75...v0.1.76
v0.1.75
What's Changed
- conditionally formats cli transactions output by @hughy in #3708
- Updated GH Actions to not use NodeJS 12 by @danield9tqh in #3715
- feat: accept transactions response update by @jowparks in #3723
- Simulator by @holahula in #3702
- Fix message buffer to be per client by @danield9tqh in #3725
- refactor: expose last rebroadcast time in wallet/getTransaction by @holahula in #3728
- Switch R2 to use prod endpoint by @danield9tqh in #3729
- adds decrypted notes to getAccountTransactions by @hughy in #3731
- Revert "optionally organizes wallet:transactions output by note" by @hughy in #3734
- Clarify db version error when db is newer by @NullSoldier in #3736
- Autotest account imports by @EvanJRichard in #3707
- moves wallet rpc util functions from types to utils by @hughy in #3733
- Wallet block birthdays by @hughy in #3719
- Make wallet:import handle wallets from version 71 by @NullSoldier in #3739
- feature(simulator): add support for running arbitrary ironfish cli commands by @holahula in #3741
- Add region to service command by @danield9tqh in #3743
- Add private queue for trusted setup by @danield9tqh in #3730
- Change importexport tests to use test datadir by @NullSoldier in #3738
- Move importexport tests to ironfish-cli by @NullSoldier in #3737
- bumps account schema version for block birthday changes by @hughy in #3740
- refactor(ironfish): do not quit transaction:watch if the transaction is not found by @holahula in #3726
- Add beacon value for trusted setup V2 by @danield9tqh in #3724
- Update download url trusted setup by @danield9tqh in #3748
- Delete importexport test datadir before starting by @NullSoldier in #3752
- Allow specifying account name on import using flag by @NullSoldier in #3754
- Remove duplicate mnemonics by @NullSoldier in #3750
- restores submittedSequence to wallet transaction RPCs by @hughy in #3749
- removes unneeded account import/export test cases by @hughy in #3758
- Fix trusted setup error when verifying by @danield9tqh in #3760
- optionally organizes wallet:transactions output by note by @hughy in #3735
- Make logs for importexport tests simpler by @NullSoldier in #3756
- Return error codes for RPC errors by @NullSoldier in #3755
- Rename _blob to _bech32 to match encoding by @NullSoldier in #3751
- fix: libc reference failing in android by @jowparks in #3718
- addresses zero division errors in Target calculation by @hughy in #3717
- Allow opening the repl without opening the DB by @NullSoldier in #3753
- adds missing fields to wallet transaction RPCs by @hughy in #3768
- Remove undefined from Target constructor by @dguenther in #3765
- feature(ironfish): Add RPC route for
chain:broadcast
by @holahula in #3742 - feat(simulator): Support accessing the genesis block in the simulator by @holahula in #3757
- adds hash to response of wallet/postTransaction by @hughy in #3764
- Use schema result when routing requests by @NullSoldier in #3710
- Namespace all routes inside of RPCClient by @NullSoldier in #3769
- Add index & noteIndex in chain/getTransaction by @hairtail in #3709
- fixes lint errors from rpc client namespaces by @hughy in #3772
- bumps package versions for v0.1.75 by @hughy in #3771
- STAGING -> MASTER by @hughy in #3770
Full Changelog: v0.1.74...v0.1.75
v0.1.74
What's Changed
- chore(ironfish): remove unused/duplicate utils.ts file by @mat-if in #3673
- Add get contributions command for admin users by @danield9tqh in #3650
- chore(ironfish): update sqlite3 by @mat-if in #3674
- enforces enums in wallet transaction rpc schemas by @hughy in #3680
- Call forceCleanupDeletedAccounts at end of wallet:prune by @EvanJRichard in #3676
- Update httpAdapter: no requirement that a caller use POST by @EvanJRichard in #3669
- fixes yup currency validation with min by @hughy in #3688
- Tag docker deploys with Github info by @danield9tqh in #3689
- Fix GitHub branch ref by @danield9tqh in #3691
- feat(cli): reset CLI command takes networkId flag and only modifies if given by @mat-if in #3690
- set default getFundsApi to testnet domain by @hughy in #3694
- removes account hasSpend method by @hughy in #3681
- fixes count of subscribed pool miners by @hughy in #3696
- feat: genesisadd CLI command by @mat-if in #3678
- Missing use http flag in start by @NullSoldier in #3684
- Combine docker deploy workflows by @danield9tqh in #3701
- uses default node account in pool by default by @hughy in #3697
- feat(ironfish): Add
sequence
towallet/getAccountTransactions
by @rohanjadvani in #3699 - feat(cli): Add
sequence
towallet:transactions
by @rohanjadvani in #3700 - checks if pool account exists on start if payouts enabled by @hughy in #3704
- chore(cli,ironfish): Bump CLI to 0.1.74, SDK to 0.0.51 by @rohanjadvani in #3712
- STAGING -> MASTER by @rohanjadvani in #3711
Full Changelog: v0.1.73...v0.1.74
v0.1.73
What's Changed
This release includes a number of bug fixes in the wallet and HTTP RPC adapter.
A new RPC endpoints was added /chain/getNoteWitness
and noteSize
and noteCommitment
fields added to /chain/getBlock
All Changes
- fixes deletion of expired mint transactions by @hughy in #3629
- fixes scanTransactions to update ScanState after every block by @hughy in #3631
- improves output of stop command by @hughy in #3641
- avoids deleting wallet in reset command by @hughy in #3640
- Create new DEV genesis block and regenerate fixtures by @danield9tqh in #3644
- Fix reset changing internal.json before confirming by @dguenther in #3643
- Add startup flags for HTTP Adapter by @danield9tqh in #3645
- Add error message when running from a windows 32-bit install by @dguenther in #3649
- Move ceremony command to R2 by @danield9tqh in #3648
- Refactor R2 config by @ygao76 in #3651
- Upload ironfish-cli release to R2 by @ygao76 in #3657
- Add noteSize and noteCommitment to getBlock RPC by @danield9tqh in #3665
- fix: add client route for
chain/getTransaction
by @holahula in #3663 - Add RPC route to get note witness by @danield9tqh in #3666
- Add better support for streaming endpoints in HTTP by @danield9tqh in #3647
- starts scanTransactions after account creation by @hughy in #3659
- fixes rescanning wallet to always set account heads by @hughy in #3654
- Fix request closing early by @danield9tqh in #3670
- sets chainProcessor sequence on wallet load by @hughy in #3660
Full Changelog: v0.1.72...v0.1.73