pub mod wallet_client;
pub mod wallet_wire_calls;
pub mod wallet_wire_processor;
pub mod wallet_wire_transceiver;
#[cfg(feature = "network")]
pub mod http_wallet_json;
#[cfg(feature = "network")]
pub mod http_wallet_wire;
use async_trait::async_trait;
use crate::wallet::error::WalletError;
pub use wallet_client::WalletClient;
pub use wallet_wire_calls::WalletWireCall;
pub use wallet_wire_processor::WalletWireProcessor;
pub use wallet_wire_transceiver::WalletWireTransceiver;
#[cfg(feature = "network")]
pub use http_wallet_json::HttpWalletJson;
#[cfg(feature = "network")]
pub use http_wallet_wire::HttpWalletWire;
#[async_trait]
pub trait WalletWire: Send + Sync {
async fn transmit_to_wallet(&self, message: &[u8]) -> Result<Vec<u8>, WalletError>;
}
#[cfg(test)]
mod tests;