setting initial provider values at construction
This commit is contained in:
@@ -40,20 +40,26 @@ pub struct AllowedAddressesProvider {
|
||||
}
|
||||
|
||||
impl AllowedAddressesProvider {
|
||||
pub fn new(
|
||||
pub async fn new(
|
||||
identity: IdentityKey,
|
||||
nyxd_endpoints: Vec<Url>,
|
||||
network_details: Option<NymNetworkDetails>,
|
||||
) -> Result<Self, ForwardTravelError> {
|
||||
let network = network_details.unwrap_or(NymNetworkDetails::new_mainnet());
|
||||
Ok(AllowedAddressesProvider {
|
||||
let mut provider = AllowedAddressesProvider {
|
||||
current_epoch: 0,
|
||||
identity,
|
||||
client_config: nyxd::Config::try_from_nym_network_details(&network)?,
|
||||
nyxd_endpoints,
|
||||
ingress: AllowedPaths::new(),
|
||||
egress: AllowedPaths::new(),
|
||||
})
|
||||
};
|
||||
|
||||
// set initial values for ingress/egress
|
||||
let client = provider.ephemeral_nyxd_client()?;
|
||||
provider.update_state(client).await?;
|
||||
|
||||
Ok(provider)
|
||||
}
|
||||
|
||||
fn ephemeral_nyxd_client(&self) -> Result<QueryHttpRpcNyxdClient, ForwardTravelError> {
|
||||
|
||||
@@ -121,7 +121,7 @@ impl MixNode {
|
||||
Listener::new(listening_address, ingress, shutdown).start(connection_handler);
|
||||
}
|
||||
|
||||
fn start_allowed_addresses_provider(
|
||||
async fn start_allowed_addresses_provider(
|
||||
&self,
|
||||
task_client: TaskClient,
|
||||
) -> Result<(AllowedIngress, AllowedEgress), MixnodeError> {
|
||||
@@ -129,7 +129,8 @@ impl MixNode {
|
||||
let nyxd_endpoints = self.config.mixnode.nyxd_urls.clone();
|
||||
|
||||
let network = NymNetworkDetails::new_from_env();
|
||||
let mut provider = AllowedAddressesProvider::new(identity, nyxd_endpoints, Some(network))?;
|
||||
let mut provider =
|
||||
AllowedAddressesProvider::new(identity, nyxd_endpoints, Some(network)).await?;
|
||||
|
||||
let filters = (provider.ingress(), provider.egress());
|
||||
|
||||
@@ -252,9 +253,11 @@ impl MixNode {
|
||||
|
||||
let shutdown = TaskManager::default();
|
||||
|
||||
let (ingress, egress) = self.start_allowed_addresses_provider(
|
||||
shutdown.subscribe().named("AllowedAddressesProvider"),
|
||||
)?;
|
||||
let (ingress, egress) = self
|
||||
.start_allowed_addresses_provider(
|
||||
shutdown.subscribe().named("AllowedAddressesProvider"),
|
||||
)
|
||||
.await?;
|
||||
|
||||
let (node_stats_pointer, node_stats_update_sender) = self
|
||||
.start_node_stats_controller(shutdown.subscribe().named("node_statistics::Controller"));
|
||||
|
||||
Reference in New Issue
Block a user