Skip to content

validator-99uptime-algo/valar-upgrade-scanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Valar Upgrade Scanner

Scan and classify Valar validator contracts on Algorand mainnet for the 4.3 protocol upgrade voting window.

What it does

  • Finds delegator contracts active in the voting window [V-10,000 … V] (inclusive), where V = upgrade-state.next-protocol-vote-before.
  • Uses their delegator beneficiary addresses as proposers and scans Indexer block headers once per validator (last block wins).
  • Outputs two CSV sections:
    1. validators with ≥1 window-active delegator,
    2. validators with 0 window-active delegators (not eligible to vote).

Status meanings

  • UPGRADED — last in-window header had upgrade-approve=true
  • NOT-UPGRADED — at least one in-window header, but the last had no approve
  • UNKNOWN — no in-window headers from any window-active delegator

Output columns validator_owner, validator_ad_app_id, status, delegators, total_yes, total_no, total_none, last_in_window_round, validator_state

Prerequisites

  • Python 3.10+ (tested on Ubuntu 24.04)
  • A local algod node (read-only)
  • An Indexer HTTPS endpoint (public or self-hosted)

Install

python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

Run

export ALGOD_ADDRESS="http://localhost:8080"
export ALGOD_TOKEN="YOUR_ALGOD_TOKEN"
export INDEXER_URL="https://mainnet-idx.4160.nodely.dev"
# Optional: export NOTICEBOARD_APP_ID=2713948864
python src/valar_upgrade_scanner.py > report.csv

Notes

  • The tool does not read node binary versions (not on-chain). It infers readiness from vote-window headers only.
  • “Proposer” here is the delegator beneficiary, not the validator owner.
  • If Valar rotates the Noticeboard app id, set NOTICEBOARD_APP_ID via env.

Links

License MIT — see LICENSE.

Attribution

About

Algorand Valar upgrade scanner — classifies validator ads in vote window [V−10k..V] via delegator beneficiaries (last block wins).

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages