use rust_decimal::Decimal;
use serde::{Deserialize, Serialize};
use std::collections::HashMap;

use crate::common::amount::Amount;
use crate::common::inscriptions::{AddressHash, Outpoint};
use crate::common::tokens::OriginalBrc4Ticker;

use super::electrs::BlockInfo;

pub enum HistoryEvent {
    EnList {},
    UnList {},
    Sell {
        buyer: AddressHash,
        seller: AddressHash,
        price: Amount,
        amount: Decimal,
        token: Option<String>,
    },
    Move {},
    Reorg {},
}

#[derive(Clone, Serialize, Deserialize, Debug)]
pub struct MarketBlock {
    pub block_info: BlockInfo,
    pub moved_from_txids: HashMap<Outpoint, [u8; 32]>,
    pub new_token_ticks: Vec<OriginalBrc4Ticker>,
}
