1
2
3
4
5
6
7
8
9
10
11
12
13
use abstract_os::{app::MigrateMsg, etf::*};
use boot_core::{prelude::boot_contract, BootEnvironment, Contract};

#[boot_contract(EtfInstantiateMsg, EtfExecuteMsg, EtfQueryMsg, MigrateMsg)]
pub struct ETF<Chain>;

impl<Chain: BootEnvironment> ETF<Chain> {
    pub fn new(name: &str, chain: Chain) -> Self {
        let mut contract = Contract::new(name, chain);
        contract = contract.with_wasm_path("etf");
        Self(contract)
    }
}