remove usage of deprecated methods in sdk example

This commit is contained in:
Jędrzej Stuczyński
2025-05-27 12:15:10 +01:00
parent 93ac879c82
commit 9925e67499
@@ -4,7 +4,7 @@
use nym_sdk::mixnet;
use nym_sdk::mixnet::MixnetMessageSender;
use nym_topology::provider_trait::{async_trait, TopologyProvider};
use nym_topology::NymTopology;
use nym_topology::{NymTopology, NymTopologyMetadata};
use url::Url;
struct MyTopologyProvider {
@@ -25,27 +25,33 @@ impl MyTopologyProvider {
.await
.unwrap();
let mut base_topology = NymTopology::new_empty(rewarded_set);
let mixnodes = self
let mixnodes_response = self
.validator_client
.get_all_basic_active_mixing_assigned_nodes()
.get_all_basic_active_mixing_assigned_nodes_with_metadata()
.await
.unwrap();
let metadata = NymTopologyMetadata::new(
mixnodes_response.metadata.rotation_id,
mixnodes_response.metadata.absolute_epoch_id,
);
let mut base_topology = NymTopology::new(metadata, rewarded_set, Vec::new());
// in our topology provider only use mixnodes that have node_id divisible by 3
// and has exactly 100 performance score
// why? because this is just an example to showcase arbitrary uses and capabilities of this trait
let filtered_mixnodes = mixnodes
let filtered_mixnodes = mixnodes_response
.nodes
.into_iter()
.filter(|mix| mix.node_id % 3 == 0 && mix.performance.is_hundred())
.collect::<Vec<_>>();
let gateways = self
.validator_client
.get_all_basic_entry_assigned_nodes()
.get_all_basic_entry_assigned_nodes_v2()
.await
.unwrap();
.unwrap()
.nodes;
base_topology.add_skimmed_nodes(&filtered_mixnodes);
base_topology.add_skimmed_nodes(&gateways);