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§
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<()>
Sourcefn mark_directive_outbox_manual_reconciliation_sync(
&self,
outbox_seq: i64,
error: &str,
) -> Result<()>
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.
Sourcefn record_directive_submitter_submission_sync(
&self,
request_id: &str,
submitter_address: &Address,
submitter_nonce: u64,
) -> Result<()>
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.
Sourcefn persist_directive_transaction_update_sync(
&self,
request_id: &str,
status: TransactionStatus,
tx_hash: Option<&str>,
error: Option<&str>,
) -> Result<()>
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.