solana/src/request.rs

44 lines
930 B
Rust
Raw Normal View History

2018-05-12 17:57:28 -06:00
//! The `request` module defines the messages for the thin client.
use hash::Hash;
2018-09-26 17:55:36 -06:00
use signature::Signature;
use solana_program_interface::account::Account;
use solana_program_interface::pubkey::Pubkey;
2018-05-12 17:57:28 -06:00
#[cfg_attr(feature = "cargo-clippy", allow(large_enum_variant))]
#[derive(Serialize, Deserialize, Debug, Clone, Copy)]
2018-05-12 17:57:28 -06:00
pub enum Request {
GetAccount { key: Pubkey },
2018-05-14 09:35:10 -06:00
GetLastId,
GetTransactionCount,
GetSignature { signature: Signature },
GetFinality,
2018-05-12 17:57:28 -06:00
}
impl Request {
/// Verify the request is valid.
pub fn verify(&self) -> bool {
true
2018-05-12 17:57:28 -06:00
}
}
#[derive(Serialize, Deserialize, Debug)]
pub enum Response {
Account {
key: Pubkey,
account: Option<Account>,
},
LastId {
id: Hash,
},
TransactionCount {
transaction_count: u64,
},
SignatureStatus {
signature_status: bool,
},
Finality {
time: usize,
},
2018-05-12 17:57:28 -06:00
}