d952f3233a
* Introduced rewarding_interval_nonce to contract state * Queries for ibid. * Mixnode demanded set size * Routes for obtaining demanded/active mixnode sets * Testing only demanded nodes * Typo * Initial state * Feature-locking unused imports * Generating pseudorandom (with deterministic seed) demanded mixnodes set * cargo fmt * Fixed tauri state * [ci skip] Generate TS types * Renamed 'demanded' set to 'rewarded' set * Some renaming action * [ci skip] Generate TS types * Fixed post-merge dependency issue in tests Co-authored-by: jstuczyn <jstuczyn@users.noreply.github.com>
28 lines
899 B
Rust
28 lines
899 B
Rust
// Copyright 2021 - Nym Technologies SA <contact@nymtech.net>
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
use crate::cache::ValidatorCache;
|
|
use mixnet_contract::{GatewayBond, MixNodeBond};
|
|
use rocket::serde::json::Json;
|
|
use rocket::State;
|
|
|
|
#[get("/mixnodes")]
|
|
pub(crate) async fn get_mixnodes(cache: &State<ValidatorCache>) -> Json<Vec<MixNodeBond>> {
|
|
Json(cache.mixnodes().await.value)
|
|
}
|
|
|
|
#[get("/gateways")]
|
|
pub(crate) async fn get_gateways(cache: &State<ValidatorCache>) -> Json<Vec<GatewayBond>> {
|
|
Json(cache.gateways().await.value)
|
|
}
|
|
|
|
#[get("/mixnodes/rewarded")]
|
|
pub(crate) async fn get_rewarded_mixnodes(cache: &State<ValidatorCache>) -> Json<Vec<MixNodeBond>> {
|
|
Json(cache.rewarded_mixnodes().await.value)
|
|
}
|
|
|
|
#[get("/mixnodes/active")]
|
|
pub(crate) async fn get_active_mixnodes(cache: &State<ValidatorCache>) -> Json<Vec<MixNodeBond>> {
|
|
Json(cache.active_mixnodes().await.value)
|
|
}
|