fhenix-on-chain-errors
Installation
SKILL.md
Fhenix On-Chain Errors
Decode any selector instantly
FHE reverts surface as a 4-byte selector (e.g. execution reverted: 0x118cdaa7). Decode with the errors package — it covers all 53 CoFHE custom errors:
npx cofhe-errors 0x118cdaa7
Full table: fhe-library/reference/cofhe-errors-reference.mdx. Errors are grouped by contract (ACL: 8, TaskManager: 16, Ownable2Step: 4, …), each with selector + signature.
Errors you'll actually hit (and the fix)
Access control
ACLNotAllowed(uint256,address)— operating on a handle the caller lacks permission for. → CallFHE.allowThis/FHE.allow/FHE.allowSenderon the handle before use (seefhenix-access-control). Most common cause: forgettingallowThisafter a state update, so a later tx reverts.SenderNotAllowed(address)— sender not authorized for an allow operation.DirectAllowForbidden(address)— tried to allow a handle directly instead of via the TaskManager flow; use theFHE.allow*functions.
Type / security zone (convert types first; keep ciphertexts in one zone)
InvalidTypeOrSecurityZone(string),InvalidSecurityZone(int32,int32,int32),InvalidInputType(uint8,uint8),UnsupportedType(uint256)— mixing incompatible encrypted types (e.g.euint8witheuint32) or zones.