feat!: add vn exit UTXO#6955
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
Test Results (CI) 3 files 135 suites 1h 10m 0s ⏱️ Results for commit 9340690. ♻️ This comment has been updated with latest results. |
Test Results (Integration tests) 2 files 11 suites 41m 25s ⏱️ For more details on these failures, see this check. Results for commit 9340690. ♻️ This comment has been updated with latest results. |
Description --- feat!: integrates validator node exits fix!: fixes validator node signature replay issue by binding the signature to an epoch feat!: add JSON-RPC call to prompt the validator to create a signed registration transaction file feat: implement transaction file submitter in swarm feat(db-inspector): add custom endpoint for state_transitions column family feat(swarm): add `log_to_file` config option (defaults to false, due to potentially high disk space usage) Motivation and Context --- Ref tari-project/tari#6955 Closes #1398 How Has This Been Tested? --- Manually What process can a PR reviewer use to test or verify this change? --- Click 'Submit Exit' in swarm on a VN and mine the UTXO in - observe the VN transitions to Idle Breaking Changes --- - [ ] None - [x] Requires data directory to be deleted - [ ] Other - Please specify BREAKING CHANGE: additional layer-one transaction types that require an updated base layer <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added support for registering and exiting validator nodes via new RPC endpoints and UI buttons. - Introduced a service for managing and processing layer one transaction files, including validator registration and exit. - Enhanced node monitoring UI to display detailed node information and live height updates. - Implemented atomic and thread-safe handling of the current epoch for improved reliability. - Added ability to prepare layer one transactions through JSON-RPC and client APIs. - Enabled file-based and gRPC-based submission of various layer one transaction types. - **Improvements** - Refined error handling and logging for transaction processing and validator node events. - Updated configuration options for logging and process management, including file logging and optional process startup. - Improved modularity and maintainability by refactoring internal data handling and service initialization. - Enhanced database inspector with new state transition viewing capabilities and flexible ordering. - **Bug Fixes** - Corrected UI and test messages for clarity and accuracy. - Fixed logic for block and state transition queries in database tools. - **Documentation** - Improved code comments and documentation for clarity in configuration and trait usage. - **Style** - Refined UI component structure and periodic refresh logic for better user experience. - **Tests** - Added and updated tests for fee pool address derivation, block queries, and configuration behaviors. - **Chores** - Updated dependencies and configuration files for improved build and deployment processes. - Removed deprecated or unused code and data structures. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
* feature-dan2: (47 commits) chore: update feature-dan2 with latest development (tari-project#7227) fix(sidechain): verify-side fixes for commit proofs (tari-project#7136) fix(sidechain): minor updates for PR tari-dan#1437 (tari-project#7084) fix(sidechain): minor API improvements (tari-project#7003) fix(sidechain)!: smaller sidechain proof header (tari-project#6981) feat!: add vn exit UTXO (tari-project#6955) chore!: update feature dan2 from development (tari-project#6932) fix: add shard_key to ValidatorNodeChange (tari-project#6797) feat!: implement command inclusion proof for eviction (tari-project#6724) feat!: add sidechain eviction proof transaction (tari-project#6702) feat: wallet grpc get fee for template registration (tari-project#6706) chore: bumped git2 version (tari-project#6690) feat: trickle validators (tari-project#6660) chore!: update feature-dan2 (tari-project#6644) chore: update feature dan2 (tari-project#6420) v1.0.0-dan.11 ci: remove unnecessary build platforms v1.0.0-dan.10 ci: fix version check refactor: use workspace version (tari-project#6279) ...
Description
feat!: add vn exit UTXO (base node and wallet)
Motivation and Context
Allows validator nodes to exit voluntarily in a subsequent epoch. Adds a new consensus constant
vn_registration_max_exits_per_epoch, which limits the number of exits queued per epoch e.g. if epoch 15 hasvn_registration_max_exits_per_epochexits and epoch 16 hasvn_registration_max_exits_per_epoch - 1exits, then the validator will exit at epoch 16.How Has This Been Tested?
Unit tests - TODO: cucumbers and manual testing once integrated into the L2 code
Ref tari-project/tari-ootle#1398
What process can a PR reviewer use to test or verify this change?
Breaking Changes
BREAKING CHANGE: Additional sidechain output type variant (hard fork). Incompatible changes in protobuf.