use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct TweakEntry {
pub block_height: u32,
pub block_hash: String,
pub txid: String,
pub tweak: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TweaksRangeResponse {
pub from_height: u32,
pub to_height: u32,
pub tweaks: Vec<TweakEntry>,
pub merkle_root: String,
pub proofs: Vec<MerkleProof>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MerkleProof {
pub block_hash: String,
pub leaf_index: u64,
pub siblings: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BlockFilterResponse {
pub block_height: u32,
pub block_hash: String,
pub filter: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FiltersRangeResponse {
pub filters: Vec<BlockFilterResponse>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ServerInfo {
pub version: String,
pub first_indexed_height: u32,
pub last_indexed_height: u32,
pub network: String,
pub supports_sse: bool,
pub supports_threshold: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ThresholdScanShare {
pub session_id: String,
pub share: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ApiError {
pub code: String,
pub message: String,
}