use nautilus_model::defi::{Block, DexType};
use crate::events::{
burn::BurnEvent, collect::CollectEvent, fee_protocol_collect::FeeProtocolCollectEvent,
fee_protocol_update::FeeProtocolUpdateEvent, flash::FlashEvent, mint::MintEvent,
swap::SwapEvent,
};
#[derive(Debug, Clone)]
pub enum BlockchainMessage {
Block(Block),
SwapEvent(SwapEvent),
MintEvent(MintEvent),
BurnEvent(BurnEvent),
CollectEvent(CollectEvent),
FlashEvent(FlashEvent),
FeeProtocolUpdateEvent(FeeProtocolUpdateEvent),
FeeProtocolCollectEvent(FeeProtocolCollectEvent),
}
#[derive(Debug, Clone, Copy, Hash, PartialOrd, Ord, PartialEq, Eq)]
pub enum RpcEventType {
NewBlock,
PoolSwap(DexType),
PoolMint(DexType),
PoolBurn(DexType),
PoolCollect(DexType),
PoolFlash(DexType),
PoolFeeProtocolUpdate(DexType),
PoolFeeProtocolCollect(DexType),
}