minotari_node 5.4.0-pre.0

The tari full base node implementation
// Copyright 2025 The Tari Project
// SPDX-License-Identifier: BSD-3-Clause

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,
    )
}