8ebcd6b4c6
`HexBytes.hex()` returns a bare hex string with no `0x` prefix. publicnode tolerates that, but drpc — which we use as the failover RPC — rejects it outright with `invalid argument 0: hex string without 0x prefix`, and every single eth_getLogs chunk in the funding trace fails. Once the primary is flipped to unhealthy by any other call, the entire funding subsystem silently produces zero rows in funding_transfers. Switch to a precomputed `TRANSFER_EVENT_TOPIC` constant that always carries the `0x` prefix, and add a regression test that asserts the topic shape sent to eth_getLogs.