--- issue: 130 title: "Scanner: Config.GetChain/GetToken/GetRPC O(N) linear scans — pre-index at load time" severity: low domain: Scanner labels: [performance, scanner] status: open created: 2026-05-30 source: Full Codebase Audit 2026-05-30 --- # Scanner: Config.GetChain/GetToken/GetRPC O(N) linear scans — pre-index at load time **Severity:** low **Domain:** Scanner **Labels:** performance, scanner ## Description `scanner/config.go:199` implements `GetChain`, `GetToken`, and `GetRPC` as linear scans over slices on every call. While chain count is small, these are called in hot paths (per-intent lookups). Pre-building maps at config load would eliminate all repeated scans. ## Options 1. Build maps (by chainId, token key) once at config load. 2. Leave as-is given small chain count. 3. Cache results per request. ## Recommendation Build lookup maps at config load; trivial change but slightly alters config initialization. ## Affected Files - `scanner/config.go:199` ## References - [Full Codebase Audit 2026-05-30](../09%20-%20Audits/Full%20Codebase%20Audit%20-%202026-05-30.md) — DEC-69