Skip to main content

DirectiveOutboxWriter

Trait DirectiveOutboxWriter 

Source
pub trait DirectiveOutboxWriter: DirectiveOutboxReader {
    // Required methods
    fn mark_directive_outbox_delivery_failed_sync(
        &self,
        outbox_seq: i64,
        error: &str,
    ) -> Result<()>;
    fn mark_directive_outbox_dead_lettered_sync(
        &self,
        outbox_seq: i64,
        error: &str,
    ) -> Result<()>;
    fn mark_directive_outbox_manual_reconciliation_sync(
        &self,
        outbox_seq: i64,
        error: &str,
    ) -> Result<()>;
    fn record_directive_submitter_submission_sync(
        &self,
        request_id: &str,
        submitter_address: &Address,
        submitter_nonce: u64,
    ) -> Result<()>;
    fn persist_directive_transaction_update_sync(
        &self,
        request_id: &str,
        status: TransactionStatus,
        tx_hash: Option<&str>,
        error: Option<&str>,
    ) -> Result<()>;
}

Required Methods§

Source

fn mark_directive_outbox_delivery_failed_sync( &self, outbox_seq: i64, error: &str, ) -> Result<()>

Source

fn mark_directive_outbox_dead_lettered_sync( &self, outbox_seq: i64, error: &str, ) -> Result<()>

Source

fn mark_directive_outbox_manual_reconciliation_sync( &self, outbox_seq: i64, error: &str, ) -> Result<()>

Stop retrying a directive whose on-chain outcome is unknown.

This intentionally does not transition the domain status to failed and must not restore withdrawal debits.

Source

fn record_directive_submitter_submission_sync( &self, request_id: &str, submitter_address: &Address, submitter_nonce: u64, ) -> Result<()>

Store the submitter-owned submission pointer for a directive.

The directive outbox does not own transaction attempts, receipts, or replacement state. It stores only the submitter identity and nonce needed to query submitter-owned state.

Source

fn persist_directive_transaction_update_sync( &self, request_id: &str, status: TransactionStatus, tx_hash: Option<&str>, error: Option<&str>, ) -> Result<()>

Persist transaction-submitter status updates for a directive.

Failed and expired withdrawal directives are terminal for automatic delivery, but remain operator-reconciled. This method must not refund or otherwise restore withdrawal debits.

Implementors§