9a68702d4d
* revamping mixnode connfig * wip * native client config revamping * wip * building socks5 * using const for mixnnode config template * compiling updated gateway * nym-api * nym-sdk * everything compiling once more but definitely not compatible with CI and older versions (yet) * creating full directory structure on init * renamed paths to storage_paths and fixed mixnode template * mixnode config migration * gateway config migration * nym-api config migration * native client config migration * socks5 client config migration * NR config migration * removed deprecations (that will be resolved in the following PRs) + fixed clippy * nym-connect clippy * nym-connect config updates * outfox fixes * defined socks5 lib config * clippy * fixed wasm client build * removed explicit packet_type argument when starting base client it's known implicitly from the previously passed config struct * Empty commit * fixed re-using gateway information when client configs are re-initialised * fixed borrowing id value in nym-connect * post-rebase fixes * updated 'old_config' versions --------- Co-authored-by: Tommy Verrall <tommy@nymtech.net>
42 lines
1.3 KiB
Rust
42 lines
1.3 KiB
Rust
// Copyright 2022-2023 - Nym Technologies SA <contact@nymtech.net>
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
use nym_task::TaskManager;
|
|
use okapi::openapi3::OpenApi;
|
|
use rocket::Route;
|
|
use rocket_okapi::{openapi_get_routes_spec, settings::OpenApiSettings};
|
|
|
|
use crate::support::{config, nyxd};
|
|
|
|
use self::cache::refresher::CirculatingSupplyCacheRefresher;
|
|
|
|
pub(crate) mod cache;
|
|
pub(crate) mod routes;
|
|
|
|
/// Merges the routes with http information and returns it to Rocket for serving
|
|
pub(crate) fn circulating_supply_routes(settings: &OpenApiSettings) -> (Vec<Route>, OpenApi) {
|
|
openapi_get_routes_spec![
|
|
settings: routes::get_full_circulating_supply,
|
|
routes::get_total_supply,
|
|
routes::get_circulating_supply
|
|
]
|
|
}
|
|
|
|
/// Spawn the circulating supply cache refresher.
|
|
pub(crate) fn start_cache_refresh(
|
|
config: &config::CirculatingSupplyCacher,
|
|
nyxd_client: nyxd::Client,
|
|
circulating_supply_cache: &cache::CirculatingSupplyCache,
|
|
shutdown: &TaskManager,
|
|
) {
|
|
if config.enabled {
|
|
let refresher = CirculatingSupplyCacheRefresher::new(
|
|
nyxd_client,
|
|
circulating_supply_cache.to_owned(),
|
|
config.debug.caching_interval,
|
|
);
|
|
let shutdown_listener = shutdown.subscribe();
|
|
tokio::spawn(async move { refresher.run(shutdown_listener).await });
|
|
}
|
|
}
|