use stratum_core::{
bitcoin::{BlockHash, CompactTarget, Transaction, Txid, Wtxid, block::Version},
job_declaration_sv2::PushSolution,
};
use tokio::sync::oneshot;
pub enum JdRequest {
DeclareMiningJob {
version: Version,
coinbase_tx: Transaction,
wtxid_list: Vec<Wtxid>,
missing_txs: Vec<Transaction>,
response_tx: oneshot::Sender<JdResponse>,
},
PushSolution {
push_solution: PushSolution<'static>,
},
}
#[derive(Debug, Clone)]
pub enum JdResponse {
Success {
prev_hash: BlockHash,
nbits: CompactTarget,
txid_list: Vec<Txid>,
},
Error(String), MissingTransactions(Vec<Wtxid>),
}