use counter_contract::{
msg::InstantiateMsg, CounterContract, CounterExecuteMsgFns, CounterQueryMsgFns,
};
use cw_orch::{anyhow, daemon::senders::BatchDaemon, prelude::*};
use cw_orch_daemon::senders::CosmosBatchOptions;
const LOCAL_MNEMONIC: &str = "clip hire initial neck maid actor venue client foam budget lock catalog sweet steak waste crater broccoli pipe steak sister coyote moment obvious choose";
pub fn main() -> anyhow::Result<()> {
std::env::set_var("LOCAL_MNEMONIC", LOCAL_MNEMONIC);
dotenv::dotenv().ok(); pretty_env_logger::init();
let network = networks::LOCAL_JUNO;
let chain: BatchDaemon =
BatchDaemon::builder(network).build_sender(CosmosBatchOptions::default())?;
let counter = CounterContract::new(chain.clone());
counter.upload()?;
counter.instantiate(&InstantiateMsg { count: 0 }, None, &[])?;
counter.increment()?;
let count = counter.get_count()?;
assert_eq!(count.count, 0);
chain.rt_handle.block_on(chain.sender().broadcast(None))?;
let count = counter.get_count()?;
assert_eq!(count.count, 1);
counter.increment()?;
counter.increment()?;
counter.increment()?;
counter.increment()?;
counter.increment()?;
counter.increment()?;
chain.rt_handle.block_on(chain.sender().broadcast(None))?;
let count = counter.get_count()?;
assert_eq!(count.count, 7);
Ok(())
}