* docs: add docs links for crates published to crates.io (cherry picked from commit24d18b3cf2
) # Conflicts: # core/Cargo.toml # measure/Cargo.toml # programs/bpf/rust/finalize/Cargo.toml * docs: add rust client api entry (cherry picked from commit3e6c7c4a3e
) * docs: rename 'deployed programs' section to 'on-chain programs' (cherry picked from commit0e452c8d91
) * docs: 'builtins' -> 'runtime facilities' (cherry picked from commit9c8be34906
) * docs: stabilize spl token jsonrpc methods (cherry picked from commit45190f6281
) * docs: deprecate lastvalidslot field of jsonrpc getfees (cherry picked from commitc4ee1ab710
) Co-authored-by: Trent Nelson <trent@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.