Repository navigation
Releases: imal1ice/ownerwatch
Releases · imal1ice/ownerwatch
Release list
v0.7.6
- probe: factory-stored proxy admins (Solady ERC1967Factory and forks) are resolved via
adminOf(proxy)instead of falling back toowner() - probe: recognises Solady
Timelockand custom Ownabledelay()timelocks - probe: findings name the link they concern (upgrade admin, owner, admin)
v0.7.5
v0.7.4
alerts.jsonl_path: append every alert as a JSON line to a file, for feeds and archives (used by https://github.com/imal1ice/admin-feed)validatelists the jsonl sink
v0.7.3
probe --confighonours--rpc(single-chain configs) and a new per-chainprobe_rpc_url, and exits cleanly when the RPC rejects eth_call; examples carryprobe_rpc_urlso the drift check works out of the box- probe: role replay no longer duplicates the "DEFAULT_ADMIN_ROLE held by EOA" finding
v0.7.2
probe --roles-from-logsworks on free RPCs: the scan starts at the contract's creation block (Sourcify, else a code binary search), uses a public full-history log gateway per chain (Ethereum, Optimism, Arbitrum, Gnosis, Polygon; Base is range-limited) or--logs-rpc, splits ranges adaptively and remembers the working chunk size, and names roles from the verified ABI's bytes32 getters
v0.7.1
- Decoded arguments format structs and bytes readably and clip long lists; calls on proxies decode via the implementation's verified ABI (Safe singletons included); Safe service timeouts are retried
- Fix: a Safe added to an existing config had its whole pending backlog alerted as new; seeding is now per Safe
daily_digest: once-a-day summary of alerts by severity, so quiet and alive are distinguishable in the channel
Soaked 3h on mainnet + Base + Optimism + Arbitrum with a live GnosisDAO Safe queue: 145 alerts, 4 transient RPC/Safe-API timeouts, no errors.
ownerwatch v0.7.0
- Governor proposal alerts decode every action (target + call), including GovernorBravo signature-style calldata; legacy Timelock queues decoded too
- Safe execution events, including module executions that bypass the signer queue (69 events)
probe --configfor periodic reports,probe --json- Discord alerts as severity-coloured embeds
examples/github-action-drift.yml: weekly admin-surface drift check for your own repo- docs/what-to-watch.md: the control-graph model behind the catalog
pip install git+https://github.com/imal1ice/ownerwatch@v0.7.0
ownerwatch v0.6.0
- Aave V3, Morpho Blue, MetaMorpho and Lido core events (65 admin events in the catalog)
- Subscriptions contract hardened after review:
maxCostslippage guard, per-chain pricing, two-step ownership, safe token calls, checks-effects-interactions - Watcher: fetch-then-dispatch scanning with a request budget, decode errors never stall the cursor, Safe queue pagination and first-run suppression that survives a failed poll
- Hosted runner: atomic start/halt, paid chain count enforced and refreshed
- Slack sink, per-sink message limits, independent sink failures,
heartbeat_urldead-man's switch ownerwatch validate, docs/sample-alerts.md from real mainnet history, docs/hosted.md, PyPI trusted-publishing workflow
pip install git+https://github.com/imal1ice/ownerwatch@v0.6.0
ownerwatch v0.5.0
ownerwatch probe: AccessControl role detection batched through Multicall3,--roles-from-logsreplay, open-executor detection,--markdownadmin-surface reportownerwatch hosted: runs a watcher for every address with an active on-chain subscriptionownerwatch test-alert- Sourcify-verified calldata decoding in timelock and Safe-queue alerts; explorer links; backoff on rate limits
- SECURITY, CONTRIBUTING, CHANGELOG, issue templates
pip install git+https://github.com/imal1ice/ownerwatch@v0.5.0
ownerwatch v0.4.0
ownerwatch probe: walks the owner/admin/proxy chain of any address, classifies EOAs, Safes (threshold), timelocks (delay) and proxies, flags risky setups, prints a ready config- Governor (OpenZeppelin + GovernorBravo) and Aragon OS events; catalog now 42 admin events
- Several chains in one process via
chains: docker compose up -dand a hardened systemd unit
pip install git+https://github.com/imal1ice/ownerwatch@v0.4.0