helium_api/models/transactions/
routing_v1.rs1use 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}