2020-07-03 00:46:29 -07:00
|
|
|
use crate::rpc_filter::RpcFilterType;
|
2020-08-10 15:35:29 -07:00
|
|
|
use solana_account_decoder::{UiAccountEncoding, UiDataSliceConfig};
|
2020-09-07 22:08:09 -07:00
|
|
|
use solana_sdk::{
|
|
|
|
clock::Epoch,
|
|
|
|
commitment_config::{CommitmentConfig, CommitmentLevel},
|
|
|
|
};
|
2020-10-05 21:47:47 -07:00
|
|
|
use solana_transaction_status::UiTransactionEncoding;
|
2020-05-12 20:05:05 -07:00
|
|
|
|
|
|
|
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcSignatureStatusConfig {
|
|
|
|
pub search_transaction_history: bool,
|
|
|
|
}
|
|
|
|
|
2020-06-17 11:18:48 -07:00
|
|
|
#[derive(Debug, Default, Clone, Copy, PartialEq, 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>,
|
2020-05-29 23:16:35 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Debug, Default, Clone, PartialEq, 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,
|
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>,
|
2020-05-19 12:08:19 -07:00
|
|
|
}
|
|
|
|
|
2020-05-12 20:05:05 -07:00
|
|
|
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub enum RpcLargestAccountsFilter {
|
|
|
|
Circulating,
|
|
|
|
NonCirculating,
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
|
|
|
|
#[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
|
|
|
|
|
|
|
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
|
|
|
|
#[serde(rename_all = "camelCase")]
|
2020-07-06 12:28:40 -07:00
|
|
|
pub struct RpcStakeConfig {
|
2020-05-29 11:50:25 -07:00
|
|
|
pub epoch: Option<Epoch>,
|
|
|
|
#[serde(flatten)]
|
|
|
|
pub commitment: Option<CommitmentConfig>,
|
|
|
|
}
|
2020-06-30 21:55:11 -07:00
|
|
|
|
|
|
|
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
|
|
|
|
#[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>,
|
|
|
|
}
|
2020-07-03 00:46:29 -07:00
|
|
|
|
|
|
|
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
|
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcProgramAccountsConfig {
|
|
|
|
pub filters: Option<Vec<RpcFilterType>>,
|
|
|
|
#[serde(flatten)]
|
|
|
|
pub account_config: RpcAccountInfoConfig,
|
|
|
|
}
|
2020-07-28 22:00:48 -07:00
|
|
|
|
2020-11-20 13:52:58 -08:00
|
|
|
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub enum RpcTransactionLogsFilter {
|
|
|
|
All,
|
|
|
|
AllWithVotes,
|
|
|
|
Mentions(Vec<String>), // base58-encoded list of addresses
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcTransactionLogsConfig {
|
|
|
|
pub commitment: Option<CommitmentConfig>,
|
|
|
|
}
|
|
|
|
|
2020-07-28 22:00:48 -07:00
|
|
|
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub enum RpcTokenAccountsFilter {
|
|
|
|
Mint(String),
|
|
|
|
ProgramId(String),
|
|
|
|
}
|
2020-07-27 11:42:49 -07:00
|
|
|
|
2020-09-01 22:06:06 -07:00
|
|
|
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
|
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcSignatureSubscribeConfig {
|
|
|
|
#[serde(flatten)]
|
|
|
|
pub commitment: Option<CommitmentConfig>,
|
|
|
|
pub enable_received_notification: Option<bool>,
|
|
|
|
}
|
|
|
|
|
2020-07-27 11:42:49 -07:00
|
|
|
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
|
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct RpcGetConfirmedSignaturesForAddress2Config {
|
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>,
|
|
|
|
}
|