Skip to main content

ve3_shared/extensions/
env_ext.rs

1use cosmwasm_std::{to_json_binary, CosmosMsg, Env, StdResult, WasmMsg};
2use serde::Serialize;
3
4pub trait EnvExt {
5    fn callback_msg<T>(&self, msg: T) -> StdResult<CosmosMsg>
6    where
7        T: Serialize;
8}
9
10impl EnvExt for Env {
11    fn callback_msg<T>(&self, msg: T) -> StdResult<CosmosMsg>
12    where
13        T: Serialize,
14    {
15        Ok(CosmosMsg::Wasm(WasmMsg::Execute {
16            contract_addr: self.contract.address.to_string(),
17            msg: to_json_binary(&msg)?,
18            funds: vec![],
19        }))
20    }
21}