Skip to main content

Two signers

The TaskManager holds two distinct signer addresses, one per trust boundary:

Decrypt result signature verification

The TaskManager supports permissionless publishing of decrypt results. Anyone holding a valid signature from the decryption service can publish the result onchain. Today that signature comes from Teecryptor; a decentralized Threshold Network is the planned successor. Verified results are stored in the PlaintextsStorage contract, where any contract can read them back with getDecryptResult (reverts with DecryptionResultNotReady if pending) or getDecryptResultSafe (returns a ready flag).

Functions

All take (ctHash, result, signature); the batch variants take parallel arrays.

Signature message format

The signed message is a fixed 76-byte buffer: The message is hashed with keccak256 and verified using OpenZeppelin’s ECDSA.tryRecover. The enc_type and chain_id are derived onchain, binding each signature to a specific ciphertext type and chain.