use std::net::IpAddr;
use tari_core::{
base_node::{
StateMachineHandle,
rpc::{BaseNodeWalletQueryService, query_service},
},
chain_storage::{BlockchainBackend, async_db::AsyncBlockchainDb},
mempool::service::MempoolHandle,
};
use tari_shutdown::ShutdownSignal;
pub mod handler;
mod cache_config;
pub mod server;
pub use cache_config::HttpCacheConfig;
pub fn create_base_node_wallet_http_server<B: BlockchainBackend + 'static>(
port: u16,
listen_ip: IpAddr,
db: AsyncBlockchainDb<B>,
state_machine: StateMachineHandle,
mempool: MempoolHandle,
shutdown_signal: ShutdownSignal,
cache_cfg: HttpCacheConfig,
) -> server::Server<impl BaseNodeWalletQueryService> {
server::Server::new(
port,
listen_ip,
query_service::Service::new(db, state_machine, mempool.clone()),
mempool,
shutdown_signal,
cache_cfg,
)
}