2021-03-26 20:26:06 -07:00
|
|
|
use {
|
2022-08-23 22:34:35 -07:00
|
|
|
crate::filter::RpcFilterType,
|
2021-03-26 20:26:06 -07:00
|
|
|
solana_account_decoder::{UiAccountEncoding, UiDataSliceConfig},
|
|
|
|
solana_sdk::{
|
2021-03-29 11:41:31 -07:00
|
|
|
clock::{Epoch, Slot},
|
2021-03-26 20:26:06 -07:00
|
|
|
commitment_config::{CommitmentConfig, CommitmentLevel},
|
|
|
|
},
|
|
|
|
solana_transaction_status::{TransactionDetails, UiTransactionEncoding},
|
2020-09-07 22:08:09 -07:00
|
|
|
};
|
2020-05-12 20:05:05 -07:00
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
2020-05-12 20:05:05 -07:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcSignatureStatusConfig {
|
|
|
|
pub search_transaction_history: bool,
|
|
|
|
}
|
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
|
2020-05-29 23:16:35 -07:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcSendTransactionConfig {
|
2020-09-07 22:08:09 -07:00
|
|
|
#[serde(default)]
|
2020-05-29 23:16:35 -07:00
|
|
|
pub skip_preflight: bool,
|
2020-09-07 22:08:09 -07:00
|
|
|
pub preflight_commitment: Option<CommitmentLevel>,
|
2020-10-05 21:47:47 -07:00
|
|
|
pub encoding: Option<UiTransactionEncoding>,
|
2021-08-24 21:44:13 -07:00
|
|
|
pub max_retries: Option<usize>,
|
2022-05-16 23:46:02 -07:00
|
|
|
pub min_context_slot: Option<Slot>,
|
2020-05-29 23:16:35 -07:00
|
|
|
}
|
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
|
2021-05-25 16:44:18 -07:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcSimulateTransactionAccountsConfig {
|
|
|
|
pub encoding: Option<UiAccountEncoding>,
|
|
|
|
pub addresses: Vec<String>,
|
|
|
|
}
|
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
2020-05-19 12:08:19 -07:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcSimulateTransactionConfig {
|
2020-09-07 22:08:09 -07:00
|
|
|
#[serde(default)]
|
2020-05-19 12:08:19 -07:00
|
|
|
pub sig_verify: bool,
|
2021-05-25 13:01:21 -07:00
|
|
|
#[serde(default)]
|
2021-05-25 13:16:39 -07:00
|
|
|
pub replace_recent_blockhash: bool,
|
2020-09-07 22:08:09 -07:00
|
|
|
#[serde(flatten)]
|
2020-08-21 20:22:14 -07:00
|
|
|
pub commitment: Option<CommitmentConfig>,
|
2020-10-05 21:47:47 -07:00
|
|
|
pub encoding: Option<UiTransactionEncoding>,
|
2021-05-25 16:44:18 -07:00
|
|
|
pub accounts: Option<RpcSimulateTransactionAccountsConfig>,
|
2022-05-16 23:46:02 -07:00
|
|
|
pub min_context_slot: Option<Slot>,
|
2020-05-19 12:08:19 -07:00
|
|
|
}
|
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
2021-04-14 23:25:23 -07:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcRequestAirdropConfig {
|
|
|
|
pub recent_blockhash: Option<String>, // base-58 encoded blockhash
|
|
|
|
#[serde(flatten)]
|
|
|
|
pub commitment: Option<CommitmentConfig>,
|
|
|
|
}
|
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
2021-04-21 14:13:41 -07:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcLeaderScheduleConfig {
|
|
|
|
pub identity: Option<String>, // validator identity, as a base-58 encoded string
|
|
|
|
#[serde(flatten)]
|
|
|
|
pub commitment: Option<CommitmentConfig>,
|
|
|
|
}
|
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
2021-04-28 09:57:05 -07:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcBlockProductionConfigRange {
|
|
|
|
pub first_slot: Slot,
|
|
|
|
pub last_slot: Option<Slot>,
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Debug, Default, Clone, Serialize, Deserialize)]
|
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcBlockProductionConfig {
|
|
|
|
pub identity: Option<String>, // validator identity, as a base-58 encoded string
|
|
|
|
pub range: Option<RpcBlockProductionConfigRange>, // current epoch if `None`
|
|
|
|
#[serde(flatten)]
|
|
|
|
pub commitment: Option<CommitmentConfig>,
|
|
|
|
}
|
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
2021-04-26 18:27:35 -07:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcGetVoteAccountsConfig {
|
|
|
|
pub vote_pubkey: Option<String>, // validator vote address, as a base-58 encoded string
|
|
|
|
#[serde(flatten)]
|
|
|
|
pub commitment: Option<CommitmentConfig>,
|
2021-07-02 22:51:41 -07:00
|
|
|
pub keep_unstaked_delinquents: Option<bool>,
|
|
|
|
pub delinquent_slot_distance: Option<u64>,
|
2021-04-26 18:27:35 -07:00
|
|
|
}
|
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
2021-04-22 12:27:30 -07:00
|
|
|
#[serde(untagged)]
|
|
|
|
pub enum RpcLeaderScheduleConfigWrapper {
|
|
|
|
SlotOnly(Option<Slot>),
|
|
|
|
ConfigOnly(Option<RpcLeaderScheduleConfig>),
|
|
|
|
}
|
|
|
|
|
|
|
|
impl RpcLeaderScheduleConfigWrapper {
|
|
|
|
pub fn unzip(&self) -> (Option<Slot>, Option<RpcLeaderScheduleConfig>) {
|
|
|
|
match &self {
|
|
|
|
RpcLeaderScheduleConfigWrapper::SlotOnly(slot) => (*slot, None),
|
|
|
|
RpcLeaderScheduleConfigWrapper::ConfigOnly(config) => (None, config.clone()),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-02-11 11:32:46 -08:00
|
|
|
#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
2020-05-12 20:05:05 -07:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub enum RpcLargestAccountsFilter {
|
|
|
|
Circulating,
|
|
|
|
NonCirculating,
|
|
|
|
}
|
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
|
2020-05-12 20:05:05 -07:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcLargestAccountsConfig {
|
|
|
|
#[serde(flatten)]
|
|
|
|
pub commitment: Option<CommitmentConfig>,
|
|
|
|
pub filter: Option<RpcLargestAccountsFilter>,
|
|
|
|
}
|
2020-05-29 11:50:25 -07:00
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
|
2021-08-17 16:32:58 -07:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcSupplyConfig {
|
|
|
|
#[serde(flatten)]
|
|
|
|
pub commitment: Option<CommitmentConfig>,
|
|
|
|
#[serde(default)]
|
|
|
|
pub exclude_non_circulating_accounts_list: bool,
|
|
|
|
}
|
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
|
2020-05-29 11:50:25 -07:00
|
|
|
#[serde(rename_all = "camelCase")]
|
2021-04-06 18:10:53 -07:00
|
|
|
pub struct RpcEpochConfig {
|
2020-05-29 11:50:25 -07:00
|
|
|
pub epoch: Option<Epoch>,
|
|
|
|
#[serde(flatten)]
|
|
|
|
pub commitment: Option<CommitmentConfig>,
|
2022-05-16 23:46:02 -07:00
|
|
|
pub min_context_slot: Option<Slot>,
|
2020-05-29 11:50:25 -07:00
|
|
|
}
|
2020-06-30 21:55:11 -07:00
|
|
|
|
2022-11-16 19:39:11 -08:00
|
|
|
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, Hash)]
|
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub enum RpcAccountIndex {
|
|
|
|
ProgramId,
|
|
|
|
SplTokenMint,
|
|
|
|
SplTokenOwner,
|
|
|
|
}
|
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
|
2020-06-30 21:55:11 -07:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcAccountInfoConfig {
|
|
|
|
pub encoding: Option<UiAccountEncoding>,
|
2020-08-10 15:35:29 -07:00
|
|
|
pub data_slice: Option<UiDataSliceConfig>,
|
2020-06-30 21:55:11 -07:00
|
|
|
#[serde(flatten)]
|
|
|
|
pub commitment: Option<CommitmentConfig>,
|
2022-05-16 23:46:02 -07:00
|
|
|
pub min_context_slot: Option<Slot>,
|
2020-06-30 21:55:11 -07:00
|
|
|
}
|
2020-07-03 00:46:29 -07:00
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
|
2020-07-03 00:46:29 -07:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcProgramAccountsConfig {
|
|
|
|
pub filters: Option<Vec<RpcFilterType>>,
|
|
|
|
#[serde(flatten)]
|
|
|
|
pub account_config: RpcAccountInfoConfig,
|
2021-05-22 00:12:21 -07:00
|
|
|
pub with_context: Option<bool>,
|
2020-07-03 00:46:29 -07:00
|
|
|
}
|
2020-07-28 22:00:48 -07:00
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
2020-11-20 13:52:58 -08:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub enum RpcTransactionLogsFilter {
|
|
|
|
All,
|
|
|
|
AllWithVotes,
|
|
|
|
Mentions(Vec<String>), // base58-encoded list of addresses
|
|
|
|
}
|
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
2020-11-20 13:52:58 -08:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcTransactionLogsConfig {
|
2020-11-30 04:04:41 -08:00
|
|
|
#[serde(flatten)]
|
2020-11-20 13:52:58 -08:00
|
|
|
pub commitment: Option<CommitmentConfig>,
|
|
|
|
}
|
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
2020-07-28 22:00:48 -07:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub enum RpcTokenAccountsFilter {
|
|
|
|
Mint(String),
|
|
|
|
ProgramId(String),
|
|
|
|
}
|
2020-07-27 11:42:49 -07:00
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
|
2020-09-01 22:06:06 -07:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcSignatureSubscribeConfig {
|
|
|
|
#[serde(flatten)]
|
|
|
|
pub commitment: Option<CommitmentConfig>,
|
|
|
|
pub enable_received_notification: Option<bool>,
|
|
|
|
}
|
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
2021-12-17 15:03:09 -08:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub enum RpcBlockSubscribeFilter {
|
|
|
|
All,
|
|
|
|
MentionsAccountOrProgram(String),
|
|
|
|
}
|
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
|
2021-12-17 15:03:09 -08:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcBlockSubscribeConfig {
|
|
|
|
#[serde(flatten)]
|
|
|
|
pub commitment: Option<CommitmentConfig>,
|
|
|
|
pub encoding: Option<UiTransactionEncoding>,
|
|
|
|
pub transaction_details: Option<TransactionDetails>,
|
|
|
|
pub show_rewards: Option<bool>,
|
2022-03-07 23:20:34 -08:00
|
|
|
pub max_supported_transaction_version: Option<u8>,
|
2021-12-17 15:03:09 -08:00
|
|
|
}
|
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
|
2020-07-27 11:42:49 -07:00
|
|
|
#[serde(rename_all = "camelCase")]
|
2021-04-15 16:00:14 -07:00
|
|
|
pub struct RpcSignaturesForAddressConfig {
|
2020-08-05 11:30:21 -07:00
|
|
|
pub before: Option<String>, // Signature as base-58 string
|
2020-08-15 09:42:17 -07:00
|
|
|
pub until: Option<String>, // Signature as base-58 string
|
2020-07-27 11:42:49 -07:00
|
|
|
pub limit: Option<usize>,
|
2021-03-31 21:35:57 -07:00
|
|
|
#[serde(flatten)]
|
|
|
|
pub commitment: Option<CommitmentConfig>,
|
2022-05-16 23:46:02 -07:00
|
|
|
pub min_context_slot: Option<Slot>,
|
2020-07-27 11:42:49 -07:00
|
|
|
}
|
2021-03-12 14:19:45 -08:00
|
|
|
|
2022-06-21 13:26:51 -07:00
|
|
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
2021-03-12 14:19:45 -08:00
|
|
|
#[serde(untagged)]
|
|
|
|
pub enum RpcEncodingConfigWrapper<T> {
|
|
|
|
Deprecated(Option<UiTransactionEncoding>),
|
|
|
|
Current(Option<T>),
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<T: EncodingConfig + Default + Copy> RpcEncodingConfigWrapper<T> {
|
|
|
|
pub fn convert_to_current(&self) -> T {
|
|
|
|
match self {
|
|
|
|
RpcEncodingConfigWrapper::Deprecated(encoding) => T::new_with_encoding(encoding),
|
|
|
|
RpcEncodingConfigWrapper::Current(config) => config.unwrap_or_default(),
|
|
|
|
}
|
|
|
|
}
|
2021-04-15 16:00:14 -07:00
|
|
|
|
|
|
|
pub fn convert<U: EncodingConfig + From<T>>(&self) -> RpcEncodingConfigWrapper<U> {
|
|
|
|
match self {
|
|
|
|
RpcEncodingConfigWrapper::Deprecated(encoding) => {
|
|
|
|
RpcEncodingConfigWrapper::Deprecated(*encoding)
|
|
|
|
}
|
|
|
|
RpcEncodingConfigWrapper::Current(config) => {
|
|
|
|
RpcEncodingConfigWrapper::Current(config.map(|config| config.into()))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2021-03-12 14:19:45 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
pub trait EncodingConfig {
|
|
|
|
fn new_with_encoding(encoding: &Option<UiTransactionEncoding>) -> Self;
|
|
|
|
}
|
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize)]
|
2021-03-12 14:19:45 -08:00
|
|
|
#[serde(rename_all = "camelCase")]
|
2021-04-15 16:00:14 -07:00
|
|
|
pub struct RpcBlockConfig {
|
2021-03-12 14:19:45 -08:00
|
|
|
pub encoding: Option<UiTransactionEncoding>,
|
2021-03-18 10:58:20 -07:00
|
|
|
pub transaction_details: Option<TransactionDetails>,
|
|
|
|
pub rewards: Option<bool>,
|
2021-03-26 15:47:35 -07:00
|
|
|
#[serde(flatten)]
|
|
|
|
pub commitment: Option<CommitmentConfig>,
|
2022-03-07 23:20:34 -08:00
|
|
|
pub max_supported_transaction_version: Option<u8>,
|
2021-03-12 14:19:45 -08:00
|
|
|
}
|
|
|
|
|
2021-04-15 16:00:14 -07:00
|
|
|
impl EncodingConfig for RpcBlockConfig {
|
2021-03-12 14:19:45 -08:00
|
|
|
fn new_with_encoding(encoding: &Option<UiTransactionEncoding>) -> Self {
|
|
|
|
Self {
|
|
|
|
encoding: *encoding,
|
2021-03-18 10:58:20 -07:00
|
|
|
..Self::default()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-04-15 16:00:14 -07:00
|
|
|
impl RpcBlockConfig {
|
2021-03-18 10:58:20 -07:00
|
|
|
pub fn rewards_only() -> Self {
|
|
|
|
Self {
|
|
|
|
transaction_details: Some(TransactionDetails::None),
|
|
|
|
..Self::default()
|
2021-03-12 14:19:45 -08:00
|
|
|
}
|
|
|
|
}
|
2021-04-08 09:57:33 -07:00
|
|
|
|
|
|
|
pub fn rewards_with_commitment(commitment: Option<CommitmentConfig>) -> Self {
|
|
|
|
Self {
|
|
|
|
transaction_details: Some(TransactionDetails::None),
|
|
|
|
commitment,
|
|
|
|
..Self::default()
|
|
|
|
}
|
|
|
|
}
|
2021-03-12 14:19:45 -08:00
|
|
|
}
|
|
|
|
|
2021-04-15 16:00:14 -07:00
|
|
|
impl From<RpcBlockConfig> for RpcEncodingConfigWrapper<RpcBlockConfig> {
|
|
|
|
fn from(config: RpcBlockConfig) -> Self {
|
2021-04-06 18:10:53 -07:00
|
|
|
RpcEncodingConfigWrapper::Current(Some(config))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize)]
|
2021-03-12 14:19:45 -08:00
|
|
|
#[serde(rename_all = "camelCase")]
|
2021-04-15 16:00:14 -07:00
|
|
|
pub struct RpcTransactionConfig {
|
2021-03-12 14:19:45 -08:00
|
|
|
pub encoding: Option<UiTransactionEncoding>,
|
2021-03-26 15:47:35 -07:00
|
|
|
#[serde(flatten)]
|
|
|
|
pub commitment: Option<CommitmentConfig>,
|
2022-03-07 23:20:34 -08:00
|
|
|
pub max_supported_transaction_version: Option<u8>,
|
2021-03-12 14:19:45 -08:00
|
|
|
}
|
|
|
|
|
2021-04-15 16:00:14 -07:00
|
|
|
impl EncodingConfig for RpcTransactionConfig {
|
2021-03-12 14:19:45 -08:00
|
|
|
fn new_with_encoding(encoding: &Option<UiTransactionEncoding>) -> Self {
|
|
|
|
Self {
|
|
|
|
encoding: *encoding,
|
2021-03-26 15:47:35 -07:00
|
|
|
..Self::default()
|
2021-03-12 14:19:45 -08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2021-03-29 11:41:31 -07:00
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
2021-03-29 11:41:31 -07:00
|
|
|
#[serde(untagged)]
|
2021-04-15 16:00:14 -07:00
|
|
|
pub enum RpcBlocksConfigWrapper {
|
2021-03-29 11:41:31 -07:00
|
|
|
EndSlotOnly(Option<Slot>),
|
|
|
|
CommitmentOnly(Option<CommitmentConfig>),
|
|
|
|
}
|
|
|
|
|
2021-04-15 16:00:14 -07:00
|
|
|
impl RpcBlocksConfigWrapper {
|
2021-03-29 11:41:31 -07:00
|
|
|
pub fn unzip(&self) -> (Option<Slot>, Option<CommitmentConfig>) {
|
|
|
|
match &self {
|
2021-04-15 16:00:14 -07:00
|
|
|
RpcBlocksConfigWrapper::EndSlotOnly(end_slot) => (*end_slot, None),
|
|
|
|
RpcBlocksConfigWrapper::CommitmentOnly(commitment) => (None, *commitment),
|
2021-03-29 11:41:31 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2022-05-16 23:46:02 -07:00
|
|
|
|
2022-05-22 18:00:42 -07:00
|
|
|
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize)]
|
2022-05-16 23:46:02 -07:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcContextConfig {
|
|
|
|
#[serde(flatten)]
|
|
|
|
pub commitment: Option<CommitmentConfig>,
|
|
|
|
pub min_context_slot: Option<Slot>,
|
|
|
|
}
|