use crate::rpc::mempool::MempoolRpc;
use anyhow::Result;
use serde_json::{json, Value};
pub async fn get_mempool(mempool: &MempoolRpc, verbose: bool) -> Result<Value> {
let params = json!([verbose]);
let txs = mempool.getrawmempool(¶ms).await?;
Ok(txs)
}
pub async fn get_mempool_transaction(mempool: &MempoolRpc, txid: &str) -> Result<Value> {
let params = json!([txid]);
let entry = mempool.getmempoolentry(¶ms).await?;
Ok(entry)
}
pub async fn get_mempool_ancestors(
mempool: &MempoolRpc,
txid: &str,
verbose: bool,
) -> Result<Value> {
let params = json!([txid, verbose]);
let ancestors = mempool.getmempoolancestors(¶ms).await?;
Ok(ancestors)
}
pub async fn get_mempool_descendants(
mempool: &MempoolRpc,
txid: &str,
verbose: bool,
) -> Result<Value> {
let params = json!([txid, verbose]);
let descendants = mempool.getmempooldescendants(¶ms).await?;
Ok(descendants)
}
pub async fn get_mempool_stats(mempool: &MempoolRpc) -> Result<Value> {
let params = json!([]);
let info = mempool.getmempoolinfo(¶ms).await?;
Ok(info)
}
pub async fn save_mempool(mempool: &MempoolRpc) -> Result<Value> {
let params = json!([]);
let result = mempool.savemempool(¶ms).await?;
Ok(result)
}
pub async fn prioritize_transaction(
mempool: &MempoolRpc,
txid: &str,
fee_delta: f64,
) -> Result<Value> {
Err(anyhow::anyhow!(
"prioritisetransaction not yet exposed via REST API"
))
}