feat(bot): registry loader, registry_hash and token metadata cache #11
No reviewers
Labels
No labels
auto-merge
auto-merge
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
fortiblox/arc-mev-bot!11
Loading…
Reference in a new issue
No description provided.
Delete branch "data/registry"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Registry loader (data lane, WP 7899 / 7901)
bot/registry.pyperdocs/architecture.md§2.1 / §2.3:pair, non-lowercase addresses, unknownkind, missing per-kind fields, v2/v3 token ordering, kind vs factory kind, per-poolfee_bpsvsfactories[]), every defect reported at once;registry_hash= sha256(canonicalpools[], sorted keys, no whitespace)[:16]; a stored hash that no longer matchespools[]is refused (hand-edit guard);TokenCache→config/tokens.<net>.jsonvia Multicall3aggregate3(allowFailure), keyed by address (symbols collide on testnet);validate | hash | tokens.Tests:
bot/tests/test_registry.py(24 cases, offline) with fixtures recorded from the LXC 140 node (block in filename). Finding baked into a test: Multicall3 sub-call to0x…01(ecrecover precompile) reportssuccess=truewith empty data — the reserves pass must key on the 96-byte return shape, not the success flag.Envelope additions this loader understands (
chain_id,factories,reserves_checked_at_block,sources,registry_hash, per-poolreserves_nonzero_at_block) are documented in §2.1 by the discovery-extension PR that follows (same-PR rule). The committedconfig/pools.testnet.jsondoes not yet conform (nofee_bps); the sweep PR lands the conforming file plus a test that loads it.🤖 Generated with Claude Code
automerger v2 auto-approved: all 7 gates pass. Approver: fortiblox-dev (opposite-identity rule). Gates: mergeable=true,label=auto-merge,author=buddysan,identity=ok,status_checks=not_required,signatures=upstream_BP_only,opt_in=repo_marker.
3a7e4ce911466122ac89automerger v2 auto-approved: all 7 gates pass. Approver: fortiblox-dev (opposite-identity rule). Gates: mergeable=true,label=auto-merge,author=buddysan,identity=ok,status_checks=not_required,signatures=upstream_BP_only,opt_in=repo_marker.
automerger v2 auto-approved: all 7 gates pass. Approver: fortiblox-dev (opposite-identity rule). Gates: mergeable=true,label=auto-merge,author=buddysan,identity=ok,status_checks=not_required,signatures=upstream_BP_only,opt_in=repo_marker.
automerger v2 auto-approved: all 7 gates pass. Approver: fortiblox-dev (opposite-identity rule). Gates: mergeable=true,label=auto-merge,author=buddysan,identity=ok,status_checks=not_required,signatures=upstream_BP_only,opt_in=repo_marker.
Auto-merged by forgejo-automerger at 2026-09-16 14:29:37 UTC. Approver:
fortiblox-dev(opposite-identity rule, Option C upgrade 2026-05-13). Merger:buddysanviafast-forward-only(NOT adminforce_merge). Criteria passed:mergeable=true,label=auto-merge,author=buddysan,identity=ok,status_checks=not_required,signatures=upstream_BP_only,opt_in=repo_marker. Branch19019fee14merged ontomainand feature branch deleted. Seeproject_forgejo_automergermemory for rationale.