Beldex v7.0.3 Release Notes
We are pleased to announce the release of Beldex v7.0.3.
This release includes significant wallet improvements, security hardening, Proof-of-Stake (PoS) fixes, P2P reliability improvements, transaction pool fixes, and database recovery enhancements.
What's Changed
🔐 Wallet & RPC Improvements
- Added background wallet synchronization using only the view key, enabling wallets to synchronize without requiring the spend key.
- Enhanced the Wallet API to improve wallet synchronization and related operations.
- Fixed explicit JSON value extraction in wallet operations.
- Fixed malformed
get_transactionsparameters when fetching transactions from the transaction pool. - Improved multisig signing security logic.
- Added bounds validation for BNS decryption.
- Restricted sensitive wallet RPC commands when running with
--restricted-rpc. - Improved wallet RPC parameter validation and security handling.
- Improved mempool key-image handling.
🛡️ Security & Validation Improvements
This release includes multiple security hardening changes identified through code review and audit activities:
- Added safeguards for master node lookups before accessing key-image unlock information.
- Added validation for version-list sizes before writing to fixed-size arrays.
- Enforced equal vector lengths when processing
tx_extra_master_node_register. - Hardened the PoS commit-reveal process.
- Fixed unsafe
worker_indexaccess. - Added additional validation across wallet, RPC, P2P, and transaction-pool components.
⚡ Proof-of-Stake Improvements
- Fixed PoS round state logic to ensure correct handling of round transitions.
- Hardened the PoS commit-reveal mechanism against invalid or unexpected state handling.
- Fixed worker-index handling to prevent unguarded memory access.
🌐 P2P & Flash Sync Improvements
- Improved P2P response handling by correlating
NOTIFYresponses with their corresponding requests. - Added safeguards and limits for flash-sync height handling.
- Fixed P2P chain-entry response correlation.
- Improved IPv6-related P2P handling.
- Fixed stuck flash-height tracking.
- Improved handling of exclusive-node fallback scenarios.
These changes improve the reliability and robustness of node synchronization and peer communication.
💾 Transaction Pool Improvements
- Added safeguards around master node lookups during transaction-pool processing.
- Fixed key-image conflict list handling by removing duplicate entries.
- Made transaction removal operations idempotent.
- Improved mempool key-image handling and validation.
🗄️ BNS & Database Reliability
- Fixed the SQLite read-width predicate used by BNS.
- Improved BNS decryption and database handling.
- Added periodic persistence of the master node list, reducing the risk of database loss following an unclean shutdown.
- Improved BNS database recovery after an unclean shutdown.
- Fixed cached blockchain height handling after blockchain recovery and database clearing.
These changes improve database resilience and recovery following unexpected node or system shutdowns.
Contributors
We would like to thank all contributors who helped improve Beldex in this release:
New Contributors
A special welcome to our new contributors:
- @raw391 — First contribution in this release
- @tolgahanbozkurt — First contribution in this release
Upgrade Recommendation
We recommend that projects integrating with Beldex update to v7.0.3 binaries and libraries to benefit from the latest security fixes, wallet enhancements, synchronization improvements, and stability updates.
Please use the v7.0.3 binaries and libraries for integration and testing, and share your test results with the Beldex development team.