mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-09 09:27:59 +00:00
33a9ec91af
* First pass adding functions to get blocks and extrinsics * cargo fmt and cache block events * prefix block hash with 0x * pin streams for better ergonomics and add an example of subscribing to blocks * remove unused var * standardise on _all, _best and _finalized for different block header subs * WIP center subscribing around blocks * Remove the event filtering/subscribing stuff * clippy * we need tokio, silly clippy * add extrinsic_index() call * Update subxt/src/blocks/block_types.rs Co-authored-by: Andrew Jones <ascjones@gmail.com> Co-authored-by: Andrew Jones <ascjones@gmail.com>
51 lines
1.4 KiB
Rust
51 lines
1.4 KiB
Rust
// Copyright 2019-2022 Parity Technologies (UK) Ltd.
|
|
// This file is dual-licensed as Apache-2.0 or GPL-3.0.
|
|
// see LICENSE for license details.
|
|
|
|
//! This module exposes the types and such necessary for working with events.
|
|
//! The two main entry points into events are [`crate::OnlineClient::events()`]
|
|
//! and calls like [crate::tx::TxProgress::wait_for_finalized_success()].
|
|
|
|
mod events_client;
|
|
mod events_type;
|
|
|
|
pub use events_client::EventsClient;
|
|
pub use events_type::{
|
|
EventDetails,
|
|
Events,
|
|
};
|
|
|
|
use codec::{
|
|
Decode,
|
|
Encode,
|
|
};
|
|
|
|
/// Trait to uniquely identify the events's identity from the runtime metadata.
|
|
///
|
|
/// Generated API structures that represent an event implement this trait.
|
|
///
|
|
/// The trait is utilized to decode emitted events from a block, via obtaining the
|
|
/// form of the `Event` from the metadata.
|
|
pub trait StaticEvent: Decode {
|
|
/// Pallet name.
|
|
const PALLET: &'static str;
|
|
/// Event name.
|
|
const EVENT: &'static str;
|
|
|
|
/// Returns true if the given pallet and event names match this event.
|
|
fn is_event(pallet: &str, event: &str) -> bool {
|
|
Self::PALLET == pallet && Self::EVENT == event
|
|
}
|
|
}
|
|
|
|
/// A phase of a block's execution.
|
|
#[derive(Copy, Clone, Debug, Eq, PartialEq, Decode, Encode)]
|
|
pub enum Phase {
|
|
/// Applying an extrinsic.
|
|
ApplyExtrinsic(u32),
|
|
/// Finalizing the block.
|
|
Finalization,
|
|
/// Initializing the block.
|
|
Initialization,
|
|
}
|