mod.rs 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. pub mod client;
  2. pub use client::{Client, State};
  3. use std::fmt;
  4. #[derive(Debug)]
  5. pub enum ClientFailed {
  6. NotEnoughValue(u64),
  7. InvalidAddress(String),
  8. InvalidAmount(u64),
  9. UnableToGetDepositAddress,
  10. UnableToGetWithdrawAddress,
  11. DoNotHaveCashierPublicKey,
  12. DoNotHaveKeypair,
  13. EmptyPassword,
  14. WalletInitialized,
  15. KeyExists,
  16. ClientError(String),
  17. }
  18. impl std::error::Error for ClientFailed {}
  19. impl fmt::Display for ClientFailed {
  20. fn fmt(&self, f: &mut fmt::Formatter) -> std::fmt::Result {
  21. match self {
  22. ClientFailed::NotEnoughValue(i) => {
  23. write!(f, "There is no enough value {}", i)
  24. }
  25. ClientFailed::InvalidAddress(i) => {
  26. write!(f, "Invalid Address {}", i)
  27. }
  28. ClientFailed::InvalidAmount(i) => {
  29. write!(f, "Invalid Amount {}", i)
  30. }
  31. ClientFailed::UnableToGetDepositAddress => f.write_str("Unable to get deposit address"),
  32. ClientFailed::UnableToGetWithdrawAddress => {
  33. f.write_str("Unable to get withdraw address")
  34. }
  35. ClientFailed::DoNotHaveCashierPublicKey => f.write_str("Don't have cashier public key"),
  36. ClientFailed::DoNotHaveKeypair => f.write_str("Don't have keypair"),
  37. ClientFailed::EmptyPassword => f.write_str("Password is empty. Cannot create database"),
  38. ClientFailed::WalletInitialized => f.write_str("Wallet already initalized"),
  39. ClientFailed::KeyExists => f.write_str("Keypair already exists"),
  40. ClientFailed::ClientError(i) => {
  41. write!(f, "ClientError: {}", i)
  42. }
  43. }
  44. }
  45. }
  46. impl From<super::error::Error> for ClientFailed {
  47. fn from(err: super::error::Error) -> ClientFailed {
  48. ClientFailed::ClientError(err.to_string())
  49. }
  50. }
  51. pub type ClientResult<T> = std::result::Result<T, ClientFailed>;