2018-05-12 16:57:28 -07:00
|
|
|
//! The `request` module defines the messages for the thin client.
|
|
|
|
|
|
|
|
use hash::Hash;
|
2018-08-09 08:13:57 -07:00
|
|
|
use signature::{Pubkey, Signature};
|
2018-05-12 16:57:28 -07:00
|
|
|
|
|
|
|
#[cfg_attr(feature = "cargo-clippy", allow(large_enum_variant))]
|
2018-07-11 20:10:25 -07:00
|
|
|
#[derive(Serialize, Deserialize, Debug, Clone, Copy)]
|
2018-05-12 16:57:28 -07:00
|
|
|
pub enum Request {
|
2018-08-15 19:17:16 -07:00
|
|
|
GetBalance { key: Pubkey },
|
2018-05-14 08:35:10 -07:00
|
|
|
GetLastId,
|
2018-05-14 06:16:39 -07:00
|
|
|
GetTransactionCount,
|
2018-06-28 11:58:33 -07:00
|
|
|
GetSignature { signature: Signature },
|
2018-08-13 08:55:13 -07:00
|
|
|
GetFinality,
|
2018-05-12 16:57:28 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
impl Request {
|
|
|
|
/// Verify the request is valid.
|
|
|
|
pub fn verify(&self) -> bool {
|
2018-05-15 11:15:29 -07:00
|
|
|
true
|
2018-05-12 16:57:28 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Serialize, Deserialize, Debug)]
|
|
|
|
pub enum Response {
|
2018-08-15 19:17:16 -07:00
|
|
|
Balance { key: Pubkey, val: i64 },
|
|
|
|
LastId { id: Hash },
|
|
|
|
TransactionCount { transaction_count: u64 },
|
|
|
|
SignatureStatus { signature_status: bool },
|
|
|
|
Finality { time: usize },
|
2018-05-12 16:57:28 -07:00
|
|
|
}
|