solana-with-rpc-optimizations/stake-monitor
dependabot-preview[bot] c5a7df9221
Bump console from 0.10.0 to 0.10.1 (#9726)
Bumps [console](https://github.com/mitsuhiko/console) from 0.10.0 to 0.10.1.
- [Release notes](https://github.com/mitsuhiko/console/releases)
- [Commits](https://github.com/mitsuhiko/console/compare/0.10.0...0.10.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-04-27 09:16:24 -06:00
..
src One less alloc per transaction (#9705) 2020-04-24 13:03:46 -06:00
.gitignore
Cargo.toml Bump console from 0.10.0 to 0.10.1 (#9726) 2020-04-27 09:16:24 -06:00
README.md

README.md

Overview

solana-stake-monitor is a utility that scans all transactions to ensure that stake accounts remain in compliance with the following rules:

  1. The stake account must be created after genesis
  2. 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"
  3. The stake account cannot have a lockup or custodian
  4. Withdrawing funds from the stake account trigger non-compliance
  5. 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 specified
  • delegate-stake / deactivate-stake / stake-authorize / split-stake: These commands do not affect compliance
  • withdraw-stake / stake-set-lockup: These commands will cause non-compliance
  • transfer: Any additional funds transferred after create-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.