fhenix-solidity-migration
Installation
SKILL.md
Fhenix Solidity Migration
Two migration paths
- Old decryption → new flow:
FHE.decrypt(synchronous on-chain) was removed. Replace withallowPublic+ off-chaindecryptForTx+ on-chainpublishDecryptResult/verifyDecryptResult. - Transparent contract → confidential: convert sensitive state to
euint*, acceptInE*inputs, replace branching withFHE.select, and add ACL grants.
Path 1: from FHE.decrypt
| Old | New | |
|---|---|---|
| Trigger | FHE.decrypt(ct) (on-chain) |
FHE.allowPublic(ct) (on-chain) + client.decryptForTx(ct) (off-chain) |
| Submit | automatic, no proof | FHE.publishDecryptResult(ct, plaintext, signature) |
| Verify-only | — | FHE.verifyDecryptResult(ct, plaintext, signature) |
| Read | FHE.getDecryptResultSafe(ct) |
FHE.getDecryptResultSafe(ct) (unchanged) |