wallet_standard_base/
events.rs

1#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy)]
2pub enum WindowEvent {
3    /// Standard App Ready Wallet Event Identifier
4    AppReady,
5    /// Standard Register Wallet Event Identifier
6    Register,
7}
8
9impl WindowEvent {
10    pub fn event_identifier(&self) -> &str {
11        match self {
12            Self::AppReady => "wallet-standard:app-ready",
13            Self::Register => "wallet-standard:register-wallet",
14        }
15    }
16}
17
18pub trait StandardFeatures {
19    fn namespace(&self) -> &str;
20
21    fn connect(&self) -> &str {
22        "standard:connect"
23    }
24
25    fn disconnect(&self) -> &str {
26        "standard:disconnect"
27    }
28
29    fn events(&self) -> &str {
30        "standard:events"
31    }
32
33    fn on(&self) -> &str {
34        "standard:on"
35    }
36
37    fn sign_in(&self) -> Option<&str>;
38
39    fn supports_sign_in(&self) -> bool {
40        self.sign_in().is_some()
41    }
42
43    fn sign_message(&self) -> &str;
44
45    fn sign_transaction(&self) -> &str;
46
47    fn sign_and_send_transaction(&self) -> &str;
48}