vectis_wallet/interface/
authenticator.rs1use cosmwasm_std::StdError;
2use cw2::ContractVersion;
3use sylvia::types::QueryCtx;
4use sylvia::{interface, schemars};
5
6pub mod authenticator_trait {
7 use super::*;
8
9 #[interface]
11 pub trait AuthenticatorTrait {
12 type Error: From<StdError>;
13
14 #[msg(query)]
15 fn authenticate(
16 &self,
17 ctx: QueryCtx,
18 signed_data: Vec<u8>,
19 controller_data: Vec<u8>,
20 metadata: Vec<Vec<u8>>,
21 signature: Vec<u8>,
22 ) -> Result<bool, Self::Error>;
23
24 #[msg(query)]
25 fn contract_version(&self, ctx: QueryCtx) -> Result<ContractVersion, StdError>;
26 }
27}