wallet_api.rs 483 B

12345678910111213141516171819
  1. use std::path::PathBuf;
  2. use crate::serial::{deserialize, serialize, Decodable, Encodable};
  3. use crate::Result;
  4. pub trait WalletApi {
  5. fn get_password(&self) -> String;
  6. fn get_path(&self) -> PathBuf;
  7. fn get_value_serialized<T: Encodable>(&self, data: &T) -> Result<Vec<u8>> {
  8. let v = serialize(data);
  9. Ok(v)
  10. }
  11. fn get_value_deserialized<D: Decodable>(&self, key: Vec<u8>) -> Result<D> {
  12. let v: D = deserialize(&key)?;
  13. Ok(v)
  14. }
  15. }