1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
pub mod stream;
pub mod errors;
pub mod request;
pub mod response;
pub mod views;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Deserialize, PartialEq, Eq, Serialize)]
pub enum JsonRpcVersion {
#[serde(rename = "2.0")]
V2,
}
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
#[serde(untagged)]
pub enum Id {
Number(u64),
String(Box<str>),
}
impl std::fmt::Display for Id {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Id::Number(ref v) => std::fmt::Debug::fmt(v, f),
Id::String(ref v) => std::fmt::Debug::fmt(v, f),
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash, Deserialize, Serialize)]
#[serde(rename_all = "snake_case")]
pub enum Method {
Submit,
GetMetadata,
GetAccount,
GetTransactions,
GetAccountTransaction,
GetAccountTransactions,
GetEvents,
GetCurrencies,
GetNetworkStatus,
GetResources,
GetStateProof,
GetAccumulatorConsistencyProof,
GetAccountStateWithProof,
GetTransactionsWithProofs,
GetAccountTransactionsWithProofs,
GetEventsWithProofs,
GetEventByVersionWithProof,
}
impl Method {
pub fn as_str(&self) -> &str {
match self {
Method::Submit => "submit",
Method::GetMetadata => "get_metadata",
Method::GetAccount => "get_account",
Method::GetTransactions => "get_transactions",
Method::GetAccountTransaction => "get_account_transaction",
Method::GetAccountTransactions => "get_account_transactions",
Method::GetEvents => "get_events",
Method::GetCurrencies => "get_currencies",
Method::GetNetworkStatus => "get_network_status",
Method::GetResources => "get_resources",
Method::GetStateProof => "get_state_proof",
Method::GetAccumulatorConsistencyProof => "get_accumulator_consistency_proof",
Method::GetAccountStateWithProof => "get_account_state_with_proof",
Method::GetTransactionsWithProofs => "get_transactions_with_proofs",
Method::GetAccountTransactionsWithProofs => "get_account_transactions_with_proofs",
Method::GetEventsWithProofs => "get_events_with_proofs",
Method::GetEventByVersionWithProof => "get_event_by_version_with_proof",
}
}
}