use zbus::proxy;
#[proxy(
interface = "one.playtron.Wallet",
default_path = "/one/playtron/Wallet",
default_service = "one.playtron.Playserve"
)]
pub trait WalletInterface {
#[zbus(signal)]
async fn on_transaction_success(
&self,
tx_id: String,
result: String,
completed_at: u64,
) -> zbus::Result<()>;
#[zbus(signal)]
async fn on_transaction_cancelled(&self, tx_id: String, error: String) -> zbus::Result<()>;
#[zbus(signal)]
async fn on_transaction_sign_success(
&self,
tx_id: String,
signature: String,
) -> zbus::Result<()>;
#[zbus(signal)]
async fn on_transaction_sign_cancelled(&self, tx_id: String, error: String)
-> zbus::Result<()>;
#[zbus(signal)]
async fn on_message_sign_success(&self, msg_id: String, signature: String) -> zbus::Result<()>;
#[zbus(signal)]
async fn on_message_sign_cancelled(&self, msg_id: String, error: String) -> zbus::Result<()>;
#[zbus(property)]
fn address(&self) -> zbus::Result<String>;
fn sign_message(
&self,
provider_app_id: String,
msg_id: String,
msg: String,
) -> zbus::fdo::Result<()>;
fn sign_transaction(
&self,
provider_app_id: String,
tx_id: String,
tx_bytes: String,
) -> zbus::fdo::Result<()>;
fn sign_and_execute_transaction(
&self,
provider_app_id: String,
tx_id: String,
tx_bytes: String,
) -> zbus::fdo::Result<()>;
}