safecoin_client/
rpc_deprecated_config.rs1#![allow(deprecated)]
2use {
3 crate::rpc_config::{
4 EncodingConfig, RpcBlockConfig, RpcEncodingConfigWrapper, RpcTransactionConfig,
5 },
6 solana_sdk::{clock::Slot, commitment_config::CommitmentConfig},
7 safecoin_transaction_status::{TransactionDetails, UiTransactionEncoding},
8};
9
10#[deprecated(
11 since = "1.7.0",
12 note = "Please use RpcSignaturesForAddressConfig instead"
13)]
14#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
15#[serde(rename_all = "camelCase")]
16pub struct RpcGetConfirmedSignaturesForAddress2Config {
17 pub before: Option<String>, pub until: Option<String>, pub limit: Option<usize>,
20 #[serde(flatten)]
21 pub commitment: Option<CommitmentConfig>,
22}
23
24#[deprecated(since = "1.7.0", note = "Please use RpcBlockConfig instead")]
25#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize)]
26#[serde(rename_all = "camelCase")]
27pub struct RpcConfirmedBlockConfig {
28 pub encoding: Option<UiTransactionEncoding>,
29 pub transaction_details: Option<TransactionDetails>,
30 pub rewards: Option<bool>,
31 #[serde(flatten)]
32 pub commitment: Option<CommitmentConfig>,
33}
34
35impl EncodingConfig for RpcConfirmedBlockConfig {
36 fn new_with_encoding(encoding: &Option<UiTransactionEncoding>) -> Self {
37 Self {
38 encoding: *encoding,
39 ..Self::default()
40 }
41 }
42}
43
44impl RpcConfirmedBlockConfig {
45 pub fn rewards_only() -> Self {
46 Self {
47 transaction_details: Some(TransactionDetails::None),
48 ..Self::default()
49 }
50 }
51
52 pub fn rewards_with_commitment(commitment: Option<CommitmentConfig>) -> Self {
53 Self {
54 transaction_details: Some(TransactionDetails::None),
55 commitment,
56 ..Self::default()
57 }
58 }
59}
60
61impl From<RpcConfirmedBlockConfig> for RpcEncodingConfigWrapper<RpcConfirmedBlockConfig> {
62 fn from(config: RpcConfirmedBlockConfig) -> Self {
63 RpcEncodingConfigWrapper::Current(Some(config))
64 }
65}
66
67impl From<RpcConfirmedBlockConfig> for RpcBlockConfig {
68 fn from(config: RpcConfirmedBlockConfig) -> Self {
69 Self {
70 encoding: config.encoding,
71 transaction_details: config.transaction_details,
72 rewards: config.rewards,
73 commitment: config.commitment,
74 max_supported_transaction_version: None,
75 }
76 }
77}
78
79#[deprecated(since = "1.7.0", note = "Please use RpcTransactionConfig instead")]
80#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize)]
81#[serde(rename_all = "camelCase")]
82pub struct RpcConfirmedTransactionConfig {
83 pub encoding: Option<UiTransactionEncoding>,
84 #[serde(flatten)]
85 pub commitment: Option<CommitmentConfig>,
86}
87
88impl EncodingConfig for RpcConfirmedTransactionConfig {
89 fn new_with_encoding(encoding: &Option<UiTransactionEncoding>) -> Self {
90 Self {
91 encoding: *encoding,
92 ..Self::default()
93 }
94 }
95}
96
97impl From<RpcConfirmedTransactionConfig> for RpcTransactionConfig {
98 fn from(config: RpcConfirmedTransactionConfig) -> Self {
99 Self {
100 encoding: config.encoding,
101 commitment: config.commitment,
102 max_supported_transaction_version: None,
103 }
104 }
105}
106
107#[deprecated(since = "1.7.0", note = "Please use RpcBlocksConfigWrapper instead")]
108#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
109#[serde(untagged)]
110pub enum RpcConfirmedBlocksConfigWrapper {
111 EndSlotOnly(Option<Slot>),
112 CommitmentOnly(Option<CommitmentConfig>),
113}
114
115impl RpcConfirmedBlocksConfigWrapper {
116 pub fn unzip(&self) -> (Option<Slot>, Option<CommitmentConfig>) {
117 match &self {
118 RpcConfirmedBlocksConfigWrapper::EndSlotOnly(end_slot) => (*end_slot, None),
119 RpcConfirmedBlocksConfigWrapper::CommitmentOnly(commitment) => (None, *commitment),
120 }
121 }
122}