Skip to main content

quartz_contract_core/handler/
execute.rs

1pub mod attested;
2pub mod sequenced;
3pub mod session_create;
4pub mod session_set_pub_key;
5pub mod signed;
6
7use cosmwasm_std::{DepsMut, Env, MessageInfo, Response};
8
9use crate::{
10    error::Error,
11    handler::Handler,
12    msg::execute::{
13        attested::{Attestation, HasUserData},
14        Execute,
15    },
16};
17
18impl<A> Handler for Execute<A>
19where
20    A: Handler + HasUserData + Attestation,
21{
22    fn handle(self, deps: DepsMut<'_>, env: &Env, info: &MessageInfo) -> Result<Response, Error> {
23        match self {
24            Execute::SessionCreate(msg) => msg.handle(deps, env, info),
25            Execute::SessionSetPubKey(msg) => msg.handle(deps, env, info),
26        }
27    }
28}