Skip to main content

EventDatabase

Trait EventDatabase 

Source
pub trait EventDatabase {
    type Error;
    type LogDatabaseType: LogDatabase<'static>;

    // Required methods
    fn get_log_db(&self) -> Arc<Self::LogDatabaseType>;
    fn add_kel_finalized_event(
        &self,
        event: SignedEventMessage,
        id: &IdentifierPrefix,
    ) -> Result<(), Self::Error>;
    fn add_receipt_t(
        &self,
        receipt: SignedTransferableReceipt,
        id: &IdentifierPrefix,
    ) -> Result<(), Self::Error>;
    fn add_receipt_nt(
        &self,
        receipt: SignedNontransferableReceipt,
        id: &IdentifierPrefix,
    ) -> Result<(), Self::Error>;
    fn get_key_state(&self, id: &IdentifierPrefix) -> Option<IdentifierState>;
    fn get_kel_finalized_events(
        &self,
        params: QueryParameters<'_>,
    ) -> Option<impl DoubleEndedIterator>;
    fn get_receipts_t(
        &self,
        params: QueryParameters<'_>,
    ) -> Option<impl DoubleEndedIterator>;
    fn get_receipts_nt(
        &self,
        params: QueryParameters<'_>,
    ) -> Option<impl DoubleEndedIterator>;
    fn accept_to_kel(
        &self,
        event: &TypedEvent<EventTypeTag, KeyEvent>,
    ) -> Result<(), Self::Error>;
    fn save_reply(&self, reply: SignedReply) -> Result<(), Self::Error>;
    fn get_reply(
        &self,
        id: &IdentifierPrefix,
        from_who: &IdentifierPrefix,
    ) -> Option<SignedReply>;
}

Required Associated Types§

Required Methods§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§