* Deprecate commitment variants * Add new CommitmentConfig builders * Add helpers to avoid allowing deprecated variants * Remove deprecated transaction-status code * Include new commitment variants in runtime commitment; allow deprecated as long as old variants persist * Remove deprecated banks code * Remove deprecated variants in core; allow deprecated in rpc/rpc-subscriptions for now * Heavier hand with rpc/rpc-subscription commitment * Remove deprecated variants from local-cluster * Remove deprecated variants from various tools * Remove deprecated variants from validator * Update docs * Remove deprecated client code * Add new variants to cli; remove deprecated variants as possible * Don't send new commitment variants to old clusters * Retain deprecated method in test_validator_saves_tower * Fix clippy matches! suggestion for BPF solana-sdk legacy compile test * Refactor node version check to handle commitment variants and transaction encoding * Hide deprecated variants from cli help * Add cli App comments
Overview
solana-stake-monitor is a utility that scans all transactions to ensure that stake accounts remain in compliance with the following rules:
- The stake account must be created after genesis
- The "compliant balance" of a stake account is set upon stake account initialization, system transfers of additional funds into a compliant stake account are excluded from the "compliant balance"
- The stake account cannot have a lockup or custodian
- Withdrawing funds from the stake account trigger non-compliance
- Stake accounts split from a compliant stake account remain compliant, and the "compliant balance" is adjusted accordingly for the original stake account
In terms of solana command-line subcommands:
create-stake-account: Creates a compliant stake account provided the--lockup-date,--lockup-epoch, or--custodianoptions are not specifieddelegate-stake/deactivate-stake/stake-authorize/split-stake: These commands do not affect compliancewithdraw-stake/stake-set-lockup: These commands will cause non-compliancetransfer: Any additional funds transferred aftercreate-stake-accountare excluded from the "compliant balance"
System accounts can also be manually enrolled with the solana-stake-monitor enroll subcommand.
An enrolled system account must always maintain a balance greater than the balance it had at enrollment minus 1 SOL.