mod events_client;
mod events_type;
use crate::{client::OnlineClientT, error::EventsError};
use pezkuwi_subxt_core::{
config::{Config, HashFor},
Metadata,
};
pub use events_client::EventsClient;
pub use events_type::{EventDetails, EventMetadataDetails, Events, Phase, StaticEvent};
pub async fn new_events_from_client<T, C>(
metadata: Metadata,
block_hash: HashFor<T>,
client: C,
) -> Result<Events<T>, EventsError>
where
T: Config,
C: OnlineClientT<T>,
{
let event_bytes = events_client::get_event_bytes(client.backend(), block_hash).await?;
Ok(Events::<T>::decode_from(event_bytes, metadata))
}