rules / HM010
HM010 checksignatures-handle-order MEDIUM
Handle list and abi.encode(...) cleartexts appear misaligned in FHE.checkSignatures
Why it matters
`FHE.checkSignatures(handles, abi.encode(v1, v2, ...), proof)` binds each handle to the cleartext at the same position. If the counts differ, or the order of handles does not match the order of values, verification either always fails (a liveness bug) or, more dangerously, accepts a proof for a different pairing than the one the contract then stores.
Fix
Build `handles` and the `abi.encode(...)` argument list side by side, in the same order, ideally from a single shared array or helper so they cannot drift.
Check locally
homomorph scan . --rules HM010