* Deprecate commitment variants (#14797)
* 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
(cherry picked from commit ffa5c7dcc8
)
* Fix 1.5 stake-o-matic
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
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--custodian
options 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-account
are 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.