use cw_orch::{interface, prelude::*};
use abstract_cw20_base::contract;
pub use abstract_cw20_base::msg::{ExecuteMsg, InstantiateMsg, MigrateMsg, QueryMsg};
#[interface(InstantiateMsg, ExecuteMsg, QueryMsg, MigrateMsg)]
pub struct Cw20Base;
impl<Chain: CwEnv> Uploadable for Cw20Base<Chain> {
fn wasm(&self) -> WasmPath {
artifacts_dir_from_workspace!()
.find_wasm_path("cw20_base.wasm")
.unwrap()
}
fn wrapper(&self) -> Box<dyn MockContract<Empty>> {
Box::new(
ContractWrapper::new_with_empty(
contract::execute,
contract::instantiate,
contract::query,
)
.with_migrate(contract::migrate),
)
}
}