pub trait PayStore: Send + Sync {
Show 15 methods
// Required methods
fn save_wallet_metadata(
&self,
meta: &WalletMetadata,
) -> Result<(), PayError>;
fn load_wallet_metadata(
&self,
wallet_id: &str,
) -> Result<WalletMetadata, PayError>;
fn list_wallet_metadata(
&self,
network: Option<Network>,
) -> Result<Vec<WalletMetadata>, PayError>;
fn delete_wallet_metadata(&self, wallet_id: &str) -> Result<(), PayError>;
fn wallet_directory_path(
&self,
wallet_id: &str,
) -> Result<PathBuf, PayError>;
fn wallet_data_directory_path(
&self,
wallet_id: &str,
) -> Result<PathBuf, PayError>;
fn wallet_data_directory_path_for_meta(
&self,
meta: &WalletMetadata,
) -> PathBuf;
fn resolve_wallet_id(&self, id_or_label: &str) -> Result<String, PayError>;
fn append_transaction_record(
&self,
record: &HistoryRecord,
) -> Result<(), PayError>;
fn load_wallet_transaction_records(
&self,
wallet_id: &str,
) -> Result<Vec<HistoryRecord>, PayError>;
fn find_transaction_record_by_id(
&self,
tx_id: &str,
) -> Result<Option<HistoryRecord>, PayError>;
fn update_transaction_record_memo(
&self,
tx_id: &str,
memo: Option<&BTreeMap<String, String>>,
) -> Result<(), PayError>;
fn update_transaction_record_fee(
&self,
tx_id: &str,
fee_value: u64,
fee_unit: &str,
) -> Result<(), PayError>;
fn update_transaction_record_status(
&self,
tx_id: &str,
status: TxStatus,
confirmed_at_epoch_s: Option<u64>,
) -> Result<(), PayError>;
fn drain_migration_log(&self) -> Vec<MigrationLog>;
}Expand description
Trait abstracting wallet + transaction storage operations.