WalletPluginTrait

Trait WalletPluginTrait 

Source
pub trait WalletPluginTrait {
    type Error: From<StdError>;

    // Required methods
    fn plugins(
        &self,
        ctx: QueryCtx<'_>,
        ty: PluginPermission,
        start_after: Option<String>,
        limit: Option<u32>,
    ) -> Result<PluginListResponse, StdError>;
    fn plugin_execute(
        &self,
        ctx: ExecCtx<'_>,
        msg: Vec<CosmosMsg>,
    ) -> Result<Response, Self::Error>;
    fn install_plugins(
        &self,
        ctx: ExecCtx<'_>,
        install: Vec<PluginInstallParams>,
    ) -> Result<Response, Self::Error>;
    fn update_plugins(
        &self,
        ctx: ExecCtx<'_>,
        migrate: Vec<PluginMigrateParams>,
    ) -> Result<Response, Self::Error>;
    fn remove_plugins(
        &self,
        ctx: ExecCtx<'_>,
        plugin_addrs: Vec<String>,
    ) -> Result<Response, Self::Error>;
}
Expand description

The trait for each authenticator contract

Required Associated Types§

Required Methods§

Source

fn plugins( &self, ctx: QueryCtx<'_>, ty: PluginPermission, start_after: Option<String>, limit: Option<u32>, ) -> Result<PluginListResponse, StdError>

Returns all installed plugins by types

Source

fn plugin_execute( &self, ctx: ExecCtx<'_>, msg: Vec<CosmosMsg>, ) -> Result<Response, Self::Error>

Source

fn install_plugins( &self, ctx: ExecCtx<'_>, install: Vec<PluginInstallParams>, ) -> Result<Response, Self::Error>

Source

fn update_plugins( &self, ctx: ExecCtx<'_>, migrate: Vec<PluginMigrateParams>, ) -> Result<Response, Self::Error>

Source

fn remove_plugins( &self, ctx: ExecCtx<'_>, plugin_addrs: Vec<String>, ) -> Result<Response, Self::Error>

Removing plugin: called by registry contract This is done so that it must be removed in both the registry and proxy states

Implementors§