You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[FEAT] Add on-chain signature verification for decrypt results (#42)
* implement contract changes to verify decryption sigs
* remove decryption id from sig
* improvements
* PR comments fixes, tests, ci
* fix ci
* fix test
* fix existing tests
* use tryRecover for non-reverting signature verification
* add onlyIfEnabled to publish functions
* replace require string with LengthMismatch custom error
* add safety comment and advance free memory pointer in assembly
* use bytes32 for ctHash in Impl and FHE overloads
* add verifyDecryptResultSafe typed overloads
* add tests for tryRecover, onlyIfEnabled, and edge cases
* update changelog
* Add `FHE.allowPublic` as alias for `FHE.allowGlobal` (#48)
* Add `allowPublic` alias for `allowGlobal`
* Add isPubliclyAllowed and isGloballyAllowed to TaskManager
* Add tests for isPubliclyAllowed and isGloballyAllowed
* update changelog
* add FHE.isPubliclyAllowed, remove from DeterministicTM
* remove isGloballyAllowed, keep only isPubliclyAllowed
* update changelog
---------
Co-authored-by: Roee Zolantz <zolantz.roee@gmail.com>
---------
Co-authored-by: Architect <83823837+architect-dev@users.noreply.github.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,17 @@
1
1
# Changelog
2
2
3
+
## [Unreleased]
4
+
5
+
### Added
6
+
-`isPubliclyAllowed(uint256 ctHash)` view function on `TaskManager` to query whether a ciphertext handle has been publicly allowed (via `allowGlobal` / `allowPublic`). Delegates to `acl.globalAllowed()`.
7
+
-`FHE.isPubliclyAllowed()` typed overloads for all encrypted types (`ebool`, `euint8`, ..., `eaddress`) so contracts can query public-allow status directly via the FHE library.
8
+
-`publishDecryptResult()` and `publishDecryptResultBatch()` on TaskManager for publishing signed decrypt results on-chain
9
+
-`verifyDecryptResult()` (reverts on invalid) and `verifyDecryptResultSafe()` (returns false) for signature verification without publishing
10
+
-`decryptResultSigner` state variable and `setDecryptResultSigner()` admin function
11
+
- Typed overloads in `FHE.sol` for all encrypted types (`ebool`, `euint8`, ..., `eaddress`)
12
+
-`onlyIfEnabled` modifier on publish functions
13
+
-`LengthMismatch` custom error replacing require string in batch publish
0 commit comments