//! Side-effect-only observer trait for committed transactions.
//!
//! Analogous to [`crate::sync::NoteObserver`] but scoped to
//! `Client::apply_transaction`. Lets feature subsystems (e.g. PSWAP
//! chain tracking) hook into the post-apply pipeline without
//! `apply_transaction` knowing about them by name.
use Box;
use async_trait;
use crateClientError;
use crateTransactionResult;
/// Side-effect-only observer of committed transactions. `apply()` runs
/// once per `apply_transaction` AFTER the standard updates land. Errors
/// are logged (tagged with [`Self::name`]) and never abort sync.