Overview
This page documents the limits and error messages you are most likely to meet when working with CoFHE, and what to do about each one.Quick Error Decoding
Encountering cryptic See the CoFHE Errors Package documentation for usage, and the Error Reference for the complete list. The package predates the current contracts, so a selector it does not know is not necessarily invalid: check the reference.
execution reverted: 0x... errors? Use the @fhenixprotocol/cofhe-errors package to decode them instantly:Common issues
Missing revert data
If you encounter aMissing revert data error, verify that you’re using the latest cofhe-contracts version.
1
Check your version
Verify the version of
cofhe-contracts in your project:2
Compare with compatibility guide
Check the Compatibility page to ensure you’re using a supported version.
3
Update if necessary
If your version is outdated, update to the latest compatible version:
This section will be expanded over time as new issues arise. If you encounter an issue not documented here, please report it to the Fhenix team.
Possible errors from Solidity
The errors below are the ones a contract can hit during normal development. Each comes with its selector so you can match it against anexecution reverted: 0x... message. Admin, upgrade, and signature-parsing errors are listed on the Error Reference page only.
Access control
Input validation
Types and security zones
Decryption
Access Control Permissions
These four errors come from the Access Control Permission (ACP) check in the ACL. They surface when an ACP presented for decryption is rejected.Where to look first
- Access control errors almost always mean a missing
FHE.allowThisorFHE.allowin an earlier transaction. See access control. - Input validation errors usually mean the encrypted input was produced for a different contract, account, or chain. Re-encrypt with the consuming contract set.
- Type errors mean the two sides of an operation do not match. Cast with
FHE.asEuintXXso both operands share a type and zone. - Decryption errors mean a result was read before it existed, or the wrong entry point was used.
Troubleshooting tips
When encountering errors:- Check error messages carefully: The error name and description provide clues about what went wrong
- Verify input types: Ensure encrypted values match expected types
- Check permissions: Verify that
FHE.allowThis()orFHE.allowSender()have been called where necessary - Review component versions: Ensure all CoFHE components are up to date
- Test in mock environment: Use the mock environment to debug issues without network delays
Next steps
- Use the CoFHE Errors Package to decode error selectors
- View the complete Error Reference
- Review the Compatibility page for version requirements
- Learn about access control to prevent authorization errors
- Check best practices for secure FHE development