NC to use network dependent endpoints
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
use crate::operations::directory::WELLKNOWN_DIR;
|
||||
use nym_config::defaults::var_names::NETWORK_NAME;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
static HEALTH_CHECK_URL: &str = "https://nymtech.net/.wellknown/connect/healthcheck.json";
|
||||
static HEALTH_CHECK_URL: &str = "connect/healthcheck.json";
|
||||
|
||||
#[derive(Serialize, Deserialize, Debug)]
|
||||
struct ConnectionSuccess {
|
||||
@@ -9,7 +11,9 @@ struct ConnectionSuccess {
|
||||
|
||||
pub async fn run_health_check() -> bool {
|
||||
log::info!("Running network health check");
|
||||
match crate::operations::http::socks5_get::<_, ConnectionSuccess>(HEALTH_CHECK_URL).await {
|
||||
let network_name = std::env::var(NETWORK_NAME).expect("network name not set");
|
||||
let url = format!("{}/{}/{}", WELLKNOWN_DIR, network_name, HEALTH_CHECK_URL);
|
||||
match crate::operations::http::socks5_get::<_, ConnectionSuccess>(url).await {
|
||||
Ok(res) if res.status == "ok" => {
|
||||
log::info!("✅✅✅ Healthcheck success!");
|
||||
true
|
||||
|
||||
@@ -8,7 +8,7 @@ use crate::{
|
||||
};
|
||||
use itertools::Itertools;
|
||||
use nym_api_requests::models::GatewayBondAnnotated;
|
||||
use nym_config::defaults::var_names::NYM_API;
|
||||
use nym_config::defaults::var_names::{NETWORK_NAME, NYM_API};
|
||||
use nym_contracts_common::types::Percent;
|
||||
use nym_validator_client::nym_api::Client as ApiClient;
|
||||
use std::str::FromStr;
|
||||
@@ -16,12 +16,12 @@ use std::sync::Arc;
|
||||
use tokio::sync::RwLock;
|
||||
use url::Url;
|
||||
|
||||
static SERVICE_PROVIDER_WELLKNOWN_URL: &str =
|
||||
"https://nymtech.net/.wellknown/connect/service-providers.json";
|
||||
pub(crate) static WELLKNOWN_DIR: &str = "https://nymtech.net/.wellknown";
|
||||
|
||||
static SERVICE_PROVIDER_URL_PATH: &str = "connect/service-providers.json";
|
||||
|
||||
// List of network-requesters running with medium toggle enabled, for testing
|
||||
static SERVICE_PROVIDER_WELLKNOWN_URL_MEDIUM: &str =
|
||||
"https://nymtech.net/.wellknown/connect/service-providers-medium.json";
|
||||
static SERVICE_PROVIDER_MEDIUM_URL_PATH: &str = "connect/service-providers-medium.json";
|
||||
|
||||
// Harbour master is used to periodically keep track of which network-requesters are online
|
||||
static HARBOUR_MASTER_URL: &str = "https://harbourmaster.nymtech.net/v1/services/?size=100";
|
||||
@@ -81,11 +81,13 @@ pub async fn get_services(
|
||||
|
||||
async fn fetch_services(privacy_level: &PrivacyLevel) -> Result<Vec<DirectoryService>> {
|
||||
let services_url = match privacy_level {
|
||||
PrivacyLevel::Medium => SERVICE_PROVIDER_WELLKNOWN_URL_MEDIUM,
|
||||
_ => SERVICE_PROVIDER_WELLKNOWN_URL,
|
||||
PrivacyLevel::Medium => SERVICE_PROVIDER_MEDIUM_URL_PATH,
|
||||
_ => SERVICE_PROVIDER_URL_PATH,
|
||||
};
|
||||
|
||||
let services_res = reqwest::get(services_url)
|
||||
let network_name = std::env::var(NETWORK_NAME)?;
|
||||
let url = format!("{}/{}/{}", WELLKNOWN_DIR, network_name, services_url);
|
||||
let services_res = reqwest::get(url)
|
||||
.await?
|
||||
.json::<Vec<DirectoryService>>()
|
||||
.await?;
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
"updater": {
|
||||
"active": true,
|
||||
"endpoints": [
|
||||
"https://nymtech.net/.wellknown/connect/updater.json"
|
||||
"https://nymtech.net/.wellknown/mainnet/connect/updater.json"
|
||||
],
|
||||
"dialog": true,
|
||||
"pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IENCNzQ2M0E5N0VFODE2NApSV1JrZ2U2WE9rYTNETTg1OTBKdE5uWUEra0hML2syOVUvQ2lxZmFZRzZ1T3NWbGM0eVRzUTVhVwo="
|
||||
|
||||
Reference in New Issue
Block a user