playtron-core 1.0.0

Playtron GameOS core utilities for Rust
Documentation
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<()>;
}