abstract_sdk/base/endpoints/
sudo.rs1use cosmwasm_std::{DepsMut, Env, Response};
2
3use crate::{base::handler::Handler, AbstractSdkError};
4
5pub trait SudoEndpoint: Handler {
7 fn sudo(
9 self,
10 deps: DepsMut,
11 env: Env,
12 msg: <Self as Handler>::SudoMsg,
13 ) -> Result<Response, Self::Error> {
14 let maybe_handler = self.maybe_sudo_handler();
15 maybe_handler.map_or_else(
16 || {
17 Err(Self::Error::from(AbstractSdkError::MissingHandler {
18 endpoint: "sudo".to_string(),
19 }))
20 },
21 |f| f(deps, env, self, msg),
22 )
23 }
24}