Releases: iron-fish/ironfish
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
v0.1.72
This release adds a basic HTTP RCP Adapter to the node. Some example usages of the adapter can be found in the RPC docs RPC Chain Command, RPC Node Command
To test out the HTTP RPC Adapter you will also need to run ironfish config:set enableRpcHttp true
to enable the adapter. Please be aware that this adapter currently has no security features so enabling it will expose an unsecured port on your node, so use with caution. The HTTP Adapter will be mounted by default on port 8021 but that can be changed with setting the rpcHttpPort
config value
There are also various bug fixes to the wallet and other components
What's Changed
- Get network info rpc by @ygao76 in #3622
- chore(): Add section for docs to PR template by @rohanjadvani in #3628
- Make faucet only for testnet by @ygao76 in #3618
- Add network id check for get fund rpc by @ygao76 in #3627
- Replace bigint casting with bigint literal by @NullSoldier in #3624
- fixes getUnspentNotes when confirmations >= chain length by @hughy in #3632
- Remove is confirmed check by @ygao76 in #3633
- fixes genesis block transaction status by @hughy in #3634
- wallet post allow no for broadcast flag by @ygao76 in #3635
- Feature: RPC HTTP Adapter by @EvanJRichard in #3630
- Use confirmations when checking balance in sendTransaction by @dguenther in #3637
- changes timestampToTransactionHash to one-to-many by @hughy in #3625
Full Changelog: v0.1.71...v0.1.72
v0.1.71
Note: Please do not update to this version. It's for testing purposes only. You can downgrade to 0.1.70 by running npm install -g [email protected]
.
Testers: If you update from an older version, you will need to delete your chain database at ~/.ironfish/databases/chain
to connect to the new testnet network.
What's Changed
- Remove IncomingPeerMessage by @dguenther in #3558
- Display features in the peers list by @dguenther in #3559
- Show nicer parsing errors in promptCurrency by @NullSoldier in #3567
- chore: upgrade ws websocket library by @mat-if in #3544
- feat(ironfish): Fix double spend issue in transaction expiration by @rohanjadvani in #3523
- calculates asset pending balance deltas in bulk by @hughy in #3579
- Remove unnecessary checks for transactions in transaction fetcher by @danield9tqh in #3580
- feat: adds support to configure the max rolling avg samples for meters by @holahula in #3577
- calculates deltas from unconfirmed transactions in bulk by @hughy in #3581
- Remove testnet command and eligibility flag by @dguenther in #3591
- Add route and CLI command for showing transactions from mempool by @danield9tqh in #3439
- Refactor checking the mempool in PeerNetwork.onNewTransaction by @danield9tqh in #3585
- Improve bug report template by @ygao76 in #3582
- chore: bump @napi-rs/blake-hash by @mat-if in #3595
- adds createdAt field to Account by @hughy in #3594
- feat: replace segfault-handler by @mat-if in #3545
- Filter out non-owner assets from mint screen by @wd021 in #3478
- Remove promise all by @ygao76 in #3599
- Fix block fetcher test fixtures by @danield9tqh in #3596
- fixes account import with account birthdays by @hughy in #3600
- fixes flaky wallet test, regenerates fixtures by @hughy in #3601
- feat(ironfish): add max capacity to mempool by @holahula in #3514
- Add mempool status command by @danield9tqh in #3606
- feat(ironfish): add support for a minimum required transaction fee by @holahula in #3604
- uses unspentNoteHashes in getUnspentNotes by @hughy in #3592
- adds bech32 to dependencies for @ironfish/sdk by @hughy in #3608
- Feature: accounts:delete --wait by @EvanJRichard in #3593
- removes broadcast option from block fixtures by @hughy in #3603
- fixes balance calculation when confirmations >= chain length by @hughy in #3609
- Close trusted setup command by @danield9tqh in #3610
- gets balance for correct account in promptCurrency by @hughy in #3613
- Commit beacon randomness by @danield9tqh in #3616
- Update parameters from trusted setup results by @danield9tqh in #3617
- feat(cli,ironfish): Offer name change on duplicate name during import by @rohanjadvani in #3619
- Remove GetBlockHashes by @dguenther in #3588
- Reduce max message size to 16MB by @mat-if in #3583
- Remove check for features min version by @dguenther in #3588
- feat: remove hard block limit for GetBlocksResponse by @mat-if in #3589
- feat: Don't send outbound messages that exceed the max size by @mat-if in #3590
- feat: set block size to 512kb by @mat-if in #3611
- Renumber network messages by @dguenther in #3612
- Update testnet genesis block to use new parameters by @danield9tqh in #3588
- Update bootstrap nodes and testnet minFee by @dguenther in #3588
Full Changelog: v0.1.70...v0.1.71
v0.1.70
What's Changed
- adds 'available' balance to wallet by @hughy in #3515
- fixes remaining confirmed balance checks by @hughy in #3548
- Add Features field to Identify message by @dguenther in #3551
- Trim file contents when importing an account by @NullSoldier in #3560
- Fix bech32 import for accounts without view key by @NullSoldier in #3561
- Fix JSON import for accounts without a view key by @NullSoldier in #3562
- Change promptCurrency to accept iron not ore by @NullSoldier in #3565
Full Changelog: v0.1.69...v0.1.70
v0.1.69
What's Changed
- fix: asset test failure by @jowparks (#3500)
- fix: fixes expired test failure on fixture regenerate by @jowparks (#3501)
- Combine post() and postTransaction() using args by @NullSoldier (#3503)
- Remove progress bar from wallet:post @NullSoldier (#3505)
- adds template migration @hughy (#3504)
- Split out estimateFeeRate() and estimateFeeRates() by @NullSoldier (#3507)
- returns undefined for missing nullifierToNoteHash by @hughy (#3485)
- fixes --no-header flag in cli by @hughy (#3512)
- fixes serialization of mints with unicode by @hughy (#3513)
- fix mempool tests by @danield9tqh (#3509)
- changes remaining low/medium/high references by @hughy (#3508)
- Remove potential race condition when disconnecting blocks from mempool by @danield9tqh (#3502)
- Change bufio types sizeVarString to force encoding by @NullSoldier (#3516)
- Normalization of cli description by @hairtail (#3494)
- [Burn Asset] Error echo link while burning asset by @huyettoc (#3483)
- feat: account spending key optional by @jowparks @EvanJRichard @NullSoldier (#3335)
- fix: remove partial for config yup validation by @mat-if (#3517)
- Handles insufficient funds for one or more fee rates by @NullSoldier (#3506)
- Change send to use new CLI prompts by @NullSoldier (#3525)
- Set up R2 S3 client by @ygao76 (#3521)
- feat: introduce WebSocketClient class to allow options parameter by @mat-if (#3527)
- refactor: create CompactBlockUtils and move functions by @mat-if (#3498)
- chore: add missing test fixtures by @mat-if (#3528)
- changes mint to use new utils by @hughy (#3530)
- CLI supports exporting (and importing) viewonly accounts by @EvanJRichard (#3451)
- Update CLI import prompt by @EvanJRichard (#3534)
- changes burn to use new utils by @hughy (#3535)
- Revove default flag on AccountFixture by @NullSoldier (#3537)
- allows send to run without node running by @hughy (#3536)
- Download snapshot from R2 by @ygao76 (#3539)
- Fix mempool transaction expiry bug by @danield9tqh (#3538)
- Reduce usage of SpendingAccount by @NullSoldier (#3540)
Full Changelog: v0.1.68...v0.1.69
v0.1.68
What's Changed
- Add note.hash() by @NullSoldier in #3407
- feat(ironfish): Remove
/chain/getBlock
by @rohanjadvani in #3406 - Fix typos by @wd021 in #3401
- Show mint asset name in human readable form by @wd021 in #3388
- fixes Test Failure: Keeps spends created by the node when rolling back a fork by @NullSoldier in #3377
- Readable mint error by @hairtail in #3362
- refactor(cli,ironfish):
getBlockInfo
->getBlock
by @rohanjadvani in #3408 - Move unsubscriptions to stratumServer by @NullSoldier in #3409
- Fix 'Already have a WebSocket connection' message by @dguenther in #3410
- feat(ironfish): Introduce new
GetBlockHeaders
network message by @mat-if in #3412 - Clean up sendTransaction RPC by @NullSoldier in #3421
- wallet prune by @ygao76 in #3413
- Add currency yup validator by @NullSoldier in #3424
- feat(ironfish): GetBlockHeaders can take sequence or hash for start by @mat-if in #3418
- feat: view key type wrapper (PR 1) by @jowparks in #3423
- feat(ironfish): use GetBlockHeaders if peer has the appropriate version by @mat-if in #3425
- Remove expired transaction by @ygao76 in #3419
- Make account rpc parameter uniform and use getAccount() by @NullSoldier in #3428
- Convert wallet.createTransaction() to use options by @NullSoldier in #3432
- Account Version for both account import and export by @EvanJRichard in #3251
- Simplify createTransaction route by @NullSoldier in #3435
- Remove promise-all usage in createTransaction.test by @NullSoldier in #3437
- feat: SaplingKey.view_key update (PR 2) by @jowparks in #3429
- feat: nullifier from view key (PR 3) by @jowparks in #3433
- feat: ViewKey rust nodejs (PR 4) by @jowparks in #3436
- Change chain:power to follow the new CLI ux guide by @NullSoldier in #3448
- Add start of a CLI style guide by @NullSoldier in #3445
- refactor(ironfish): move
resolveSequenceOrHash
fn by @mat-if in #3453 - feat: Add viewKey to Account (PR 5) by @jowparks in #3446
- Add mempool to wallet constructor by @NullSoldier in #3456
- refactor: remove unused blockchain util fn by @mat-if in #3454
- feat: use view key for nullifier by @jowparks in #3455
- Convert wallet.post() to use options by @NullSoldier in #3460
- Add config:unset command by @NullSoldier in #3457
- add eligibility check to mint by @lwisne in #3417
- Remove use of routeTest.client.request by @NullSoldier in #3458
- Made config:get return non json by default by @NullSoldier in #3465
- feat(ironfish): improve the limits of GetBlockHeaders by @mat-if in #3431
- chore: remove snake case key by @jowparks in #3467
- Change eligibiliy check by @NullSoldier in #3468
- chore: move AccountImport to accountImport RPC and use AccountValue in account.ts by @jowparks in #3469
- fixes walletdb migrations that rely on old accounts by @hughy in #3487
- Version bump for release 0.1.68 by @NullSoldier in #3497
- STAGING -> MASTER (02/21/23) by @NullSoldier in #3493
Full Changelog: v0.1.67...v0.1.68