Releases: getoptimum/optimum-keysync
Releases · getoptimum/optimum-keysync
Release list
optimum-keysync 1.1.1
Immutable
release. Only release title and notes can be modified.
Documentation and packaging release. No functional or API changes since 1.1.0.
Changed
- Quickstart now leads with
KEYSYNC_INDICES_FILE(a JSON records file, no beacon node required) and presents the BLS-pubkeys + beacon path as an alternative, instead of implying keysync runs next to a validator or beacon host. (#20)
Packaging
- Added the MIT
LICENSEfile, now included in the sdist and wheel metadata. (#20)
optimum-keysync 1.1.0
Immutable
release. Only release title and notes can be modified.
Maintenance and hardening release. No breaking changes; upgrade in place with pip install -U optimum-keysync.
Added
- Network safety check: when a beacon node is configured, keysync verifies the beacon's chain id matches
KEYSYNC_CHAIN_IDbefore planning any changes, and fails fast on a mismatch (for example a testnet beacon left on the mainnet default) or a wrongKEYSYNC_BEACON_URL, instead of resolving an empty set that looks like a mass exit. (#17)
Changed
- The indices JSON file is validated more strictly: a non-integer or negative
validator_indexis rejected up front rather than being silently coerced to a wrong index. (#17) - Malformed console API responses (a non-JSON body, or a non-numeric count) now surface as a clean error with the documented exit code instead of an opaque traceback. (#17)
- Key registration reports progress per batch, so a failure partway through a large import logs what actually landed. (#17)
KEYSYNC_LOG_FORMATis validated (consoleorjson); a URL without a scheme now gives a clearer error; validators excluded by beacon status (for example withdrawn) are logged. (#18)
Fixed
optimum-keysync 1.0.0
Reconcile a customer's Ethereum validator set against Optimum's validator registry. A one-shot, cron-friendly CLI: --dry-run by default, --apply to write.
- Authenticates with an
ovi_live_*operator API key (direct auth, no JWT exchange). - Inputs: a JSON indices file (no beacon node needed), or BLS pubkeys / validator indices resolved via a beacon node.
- Sensible defaults for the Optimum console and auth endpoints and Ethereum mainnet; override for testnets.
- Idempotent: a steady state reports nothing to do, with a
--max-deletesguardrail against accidental mass unassignment.
Install:
pip install optimum-keysync