* Revert "Rpc: add filter to getProgramAccounts (#10888) (#10932)" This reverts commit9311a6e356
. * Add jsonParsed option for EncodedTransactions; add memo parser (#10711) * Add jsonParsed option for EncodedTransactions; add memo parser * Use kebab case for program names * Add account-key parsing * Add parse test * Update transaction encoding docs (#10833) * Add account-decoder utilities (#10846) * Fix comment and make less pub * Add account-decoder crate and use to decode vote and system (nonce) accounts * Update docs * Rename RpcAccount struct * s/Rpc/Display * Call it jsonParsed and update docs * Revert "s/Rpc/Display" This reverts commit6e7149f503
. * s/Rpc/Ui * Add tests * Ui more things * Comments * Update struct prefixes to Ui (#10874) * Update comments * Use Ui prefix * Rpc: add filter to getProgramAccounts (#10888) * Add RpcFilterType, and implement CompareBytes for getProgramAccounts * Accept bytes in bs58 * Rename to memcmp * Add Memcmp optional encoding field * Add dataSize filter * Update docs * Clippy * Simplify tests that don't need to test account contents; add multiple-filter tests
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.