Skip to main content

aura_amp/
prelude.rs

1//! Aura AMP prelude.
2//!
3//! Curated re-exports for AMP orchestration.
4
5pub use crate::consensus::{
6    finalize_amp_bump_with_journal, finalize_amp_bump_with_journal_default,
7    run_amp_channel_epoch_bump, run_amp_channel_epoch_bump_default,
8};
9pub use crate::{
10    amp_recv, amp_recv_with_receipt, amp_send, commit_bump_with_consensus, emit_proposed_bump,
11    emit_soft_safe_bump, prepare_send, validate_header, AmpChannelCoordinator, AmpDelivery,
12    AmpEvidenceEffects, AmpJournalEffects, AmpMessage, AmpReceipt, AmpTelemetry,
13    ChannelMembershipFact, ChannelParticipantEvent,
14};
15
16/// Composite effect requirements for AMP orchestration (excludes StorageEffects by default).
17pub trait AmpEffects:
18    AmpJournalEffects
19    + aura_core::effects::OrderClockEffects
20    + aura_core::effects::RandomEffects
21    + aura_core::effects::time::PhysicalTimeEffects
22    + aura_guards::GuardEffects
23    + aura_guards::GuardContextProvider
24    + aura_core::effects::NetworkEffects
25    + aura_core::effects::CryptoEffects
26{
27}
28
29impl<T> AmpEffects for T where
30    T: AmpJournalEffects
31        + aura_core::effects::OrderClockEffects
32        + aura_core::effects::RandomEffects
33        + aura_core::effects::time::PhysicalTimeEffects
34        + aura_guards::GuardEffects
35        + aura_guards::GuardContextProvider
36        + aura_core::effects::NetworkEffects
37        + aura_core::effects::CryptoEffects
38{
39}