This release adds a check to verify that V5 transactions in the mempool have the correct consensus branch ID;
Zebra would previously accept those and return a transaction ID (indicating success) even though they would
be eventually rejected by the block consensus checks. Similarly, Zebra also now returns an error when trying
to submit transactions that would eventually fail some consensus checks (e.g. double spends) but would also
return a transaction ID indicating success. The release also bumps
Zebra's initial minimum protocol version such that this release of Zebra will always reject connections with peers advertising
a network protocol version below 170,120 on Mainnet and 170,110 on Testnet instead of accepting those connections until Zebra's
chain state reaches the NU6 activation height.
The getblock
RPC method has been updated and now returns some additional information
such as the block height (even if you provide a block hash) and other fields as supported
by the getblockheader
RPC call.
Breaking Changes
- Upgrade minimum protocol versions for all Zcash networks (#9058)
Added
Changed
- Updated
getblock
RPC to more closely match zcashd (#9006) - Updated error messages to include inner error types (notably for the transaction verifier) (#9066)
Fixed
- Validate consensus branch ids of mempool transactions (#9063)
- Verify mempool transactions with unmined inputs if those inputs are in the mempool to support TEX transactions (#8857)
- Wait until transactions have been added to the mempool before returning success response from
sendrawtransaction
RPC (#9067)
Contributors
Thank you to everyone who contributed to this release, we couldn't make Zebra without you:
@arya2, @conradoplg, @cypherpepe, @gustavovalverde, @idky137, @oxarbitrage, @pinglanlu and @upbqdn