helium_api/models/transactions/
routing_v1.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Serialize, Deserialize, Debug)]
4pub struct RoutingV1 {
5    pub fee: u64,
6    pub oui: u64,
7    pub hash: String,
8    pub nonce: u64,
9    pub owner: String,
10    pub action: RoutingAction,
11}
12
13#[derive(Clone, Serialize, Deserialize, Debug)]
14#[serde(tag = "action", rename_all = "snake_case")]
15pub enum RoutingAction {
16    NewXor(NewXor),
17    UpdateXor(UpdateXor),
18    UpdateRouters(UpdateRouters),
19    RequestSubnet(RequestSubnet),
20}
21
22#[derive(Clone, Serialize, Deserialize, Debug)]
23pub struct NewXor {
24    pub filter: String,
25}
26
27#[derive(Clone, Serialize, Deserialize, Debug)]
28pub struct UpdateXor {
29    pub filter: String,
30    pub index: usize,
31}
32
33#[derive(Clone, Serialize, Deserialize, Debug)]
34pub struct UpdateRouters {
35    pub addresses: Vec<String>,
36}
37
38#[derive(Clone, Serialize, Deserialize, Debug)]
39pub struct RequestSubnet {
40    pub requested_subnet_size: u64,
41}