//! Encrypted partial DH types for Phase 1b TEE threshold mode.
//!
//! These types are shared between the enclave crate (produces/consumes them)
//! and the aggregator crate (carries them on the wire). Placed in core to
//! avoid a dependency from aggregator → enclave.
use ;
/// 32-byte operator identifier. Matches `eigensdk::types::operator::OperatorId`
/// but defined independently so the enclave binary (which does not depend on
/// eigensdk) can use it.
pub type EnclaveOperatorId = ;
/// A partial DH output encrypted to a specific peer enclave's ephemeral X25519 pubkey.
///
/// Produced by the enclave during Prepare phase (`partial_dh` with `peer_enclave_pubkeys`).
/// The gateway relays these opaque blobs without being able to read them.
/// Each receiving enclave decrypts with its own ephemeral private key during Commit.
///
/// AAD is `sender_index(4 bytes LE) || task_id(32 bytes) || recipient(32 bytes)` —
/// binds the ciphertext to sender, task, and recipient to prevent replay and swap attacks.