abstract_cw_plus_interface/
cw20_base.rs1use cw_orch::interface;
2
3use abstract_cw20_base::contract;
4pub use abstract_cw20_base::msg::{ExecuteMsg, InstantiateMsg, MigrateMsg, QueryMsg};
5
6#[interface(InstantiateMsg, ExecuteMsg, QueryMsg, MigrateMsg)]
7pub struct Cw20Base;
8
9#[cfg(not(target_arch = "wasm32"))]
10use cw_orch::prelude::*;
11
12#[cfg(not(target_arch = "wasm32"))]
13impl<Chain: CwEnv> Uploadable for Cw20Base<Chain> {
14 fn wasm(_chain: &ChainInfoOwned) -> WasmPath {
16 artifacts_dir_from_workspace!()
17 .find_wasm_path("cw20_base")
18 .unwrap()
19 }
20 fn wrapper() -> Box<dyn MockContract<Empty>> {
22 Box::new(
23 ContractWrapper::new_with_empty(
24 contract::execute,
25 contract::instantiate,
26 contract::query,
27 )
28 .with_migrate(contract::migrate),
29 )
30 }
31}