solscan_api/enums/
solscan_endpoints.rs

1//! # Solscan-API-Endpoints
2//! This module represents the Solscan-API-Endpoints
3
4
5#[derive(Debug)]
6/// Creating an enum with the name SolscanEndpoints.
7pub enum SolscanEndpoints {
8    //Block
9    /// GET: /block/last
10    BlockLast,
11    /// GET: /block/transactions
12    BlockTransactions,
13    /// GET: /block/{block}
14    Block,
15
16    //Transaction
17    /// GET: /transaction/last
18    TransactionLast,
19    /// GET: /transaction/{signature}
20    Transaction,
21
22    //Account
23    /// GET: /account/tokens
24    AccountTokens,
25    /// GET: /account/transaction
26    AccountTransaction,
27    /// GET: /account/stakeAccounts
28    AccountStakeAccounts,
29    /// GET: /account/splTransfers
30    AccountSPLTransfers,
31    /// GET: /account/solTransfers
32    AccountSolTransfers,
33    /// GET: /account/ExportTransactions
34    AccountExportTransactions,
35    /// GET: /account/{account}
36    Account,
37
38    //Token
39    /// GET: /token/holders
40    TokenHolders,
41    /// GET: /token/meta
42    TokenMeta,
43    /// GET: /token/list
44    TokenList,
45
46    //Market
47    /// GET: /market/token
48    MarketToken,
49
50    //ChainInfo
51    /// GET: /chaininfo/
52    ChainInfo,
53
54    //Tools
55    /// GET: /tools/inspect
56    ToolsInspect,
57
58}
59
60/// Implementation of Solscan-API-Endpoints Enums as string-text
61impl SolscanEndpoints {
62    pub(crate) fn value(&self) -> &str {
63        match *self {
64            //Block
65            SolscanEndpoints::BlockLast => "/block/last",
66            SolscanEndpoints::BlockTransactions => "/block/transactions",
67            SolscanEndpoints::Block => "/block",
68            //Transaction
69            SolscanEndpoints::TransactionLast => "/transaction/last",
70            SolscanEndpoints::Transaction => "/transaction",
71            SolscanEndpoints::AccountTokens => "/account/tokens",
72            //Account
73            SolscanEndpoints::AccountTransaction => "/account/transactions",
74            SolscanEndpoints::AccountStakeAccounts => "/account/stakeAccounts",
75            SolscanEndpoints::AccountSPLTransfers => "/account/splTransfers",
76            SolscanEndpoints::AccountSolTransfers => "/account/solTransfers",
77            SolscanEndpoints::AccountExportTransactions => "/account/exportTransactions",
78            SolscanEndpoints::Account => "/account",
79            //Token
80            SolscanEndpoints::TokenHolders => "/token/holders",
81            SolscanEndpoints::TokenMeta => "/token/meta",
82            SolscanEndpoints::TokenList => "/token/list",
83            //Market
84            SolscanEndpoints::MarketToken => "/market/token",
85            //ChainInformation
86            SolscanEndpoints::ChainInfo => "/chaininfo",
87            //Tools
88            SolscanEndpoints::ToolsInspect => "Tools",
89        }
90    }
91}