aztec-nr - noir_aztec::messages::delivery

Struct OnchainUnconstrainedDelivery

pub struct OnchainUnconstrainedDelivery
{ /* private fields */ }

On-chain delivery without constrained encryption/tagging. Returned by MessageDelivery::onchain_unconstrained.

Implementations

impl OnchainUnconstrainedDelivery

pub fn with_sender(&mut self, sender: AztecAddress) -> Self

Overrides the sender address used for discovery tag derivation.

On-chain messages are tagged so that the recipient can find them efficiently without scanning all logs. The tag is derived from a shared secret between a "sender" and the recipient. By default, the sender is the wallet-supplied address (typically the account that initiated the transaction), but some contracts need to override it so that recipients can discover the notes correctly. This is the case for account contracts in their constructor: the deployer is the one that initiated the transaction, but any notes generated during deployment should be tagged by the account contract itself.

Examples

MessageDelivery::onchain_unconstrained().with_sender(self.address)
pub fn via_address_derived_secret(&mut self) -> Self

Uses the PXE-derived address Diffie-Hellman secret for discovery tags.

pub fn via_non_interactive_handshake(&mut self) -> Self

Uses the standard handshake registry's non-interactive handshake secret for discovery tags.

Trait implementations

impl MessageDeliveryBuilder for OnchainUnconstrainedDelivery

pub fn build_message_delivery(self) -> MessageDelivery