use crate::H256;
use ink_primitives::Address;
#[cfg(feature = "std")]
use std::fmt::Debug;
use subxt::{
events::StaticEvent,
ext::{
scale_decode,
scale_encode,
},
};
#[derive(
Debug,
scale::Decode,
scale::Encode,
scale_decode::DecodeAsType,
scale_encode::EncodeAsType,
)]
#[decode_as_type(trait_bounds = "", crate_path = "subxt::ext::scale_decode")]
#[encode_as_type(crate_path = "subxt::ext::scale_encode")]
pub struct ContractInstantiatedEvent {
pub deployer: Address,
pub contract: Address,
}
impl StaticEvent for ContractInstantiatedEvent {
const PALLET: &'static str = "Revive";
const EVENT: &'static str = "Instantiated";
}
#[derive(
Debug,
scale::Decode,
scale::Encode,
scale_decode::DecodeAsType,
scale_encode::EncodeAsType,
)]
#[decode_as_type(trait_bounds = "", crate_path = "subxt::ext::scale_decode")]
#[encode_as_type(crate_path = "subxt::ext::scale_encode")]
pub struct CodeStoredEvent {
pub code_hash: H256,
}
impl StaticEvent for CodeStoredEvent {
const PALLET: &'static str = "Revive";
const EVENT: &'static str = "CodeStored";
}
#[derive(
scale::Decode,
scale::Encode,
scale_decode::DecodeAsType,
scale_encode::EncodeAsType,
Debug,
)]
#[decode_as_type(trait_bounds = "", crate_path = "subxt::ext::scale_decode")]
#[encode_as_type(crate_path = "subxt::ext::scale_encode")]
pub struct ContractEmitted {
pub contract: Address,
pub data: Vec<u8>,
pub topics: Vec<H256>,
}
impl StaticEvent for ContractEmitted {
const PALLET: &'static str = "Revive";
const EVENT: &'static str = "ContractEmitted";
}
pub struct EventWithTopics<T> {
pub topics: Vec<H256>,
pub event: T,
}