cw_orch_clone_testing/queriers/
mod.rs

1use crate::{CloneTesting, MockState};
2
3use clone_cw_multi_test::next_block;
4
5use cw_orch_core::{
6    environment::{DefaultQueriers, QueryHandler},
7    CwEnvError,
8};
9pub mod bank;
10mod env;
11pub mod node;
12pub mod wasm;
13
14impl QueryHandler for CloneTesting {
15    type Error = CwEnvError;
16
17    fn wait_blocks(&self, amount: u64) -> Result<(), CwEnvError> {
18        self.app.borrow_mut().update_block(|b| {
19            b.height += amount;
20            b.time = b.time.plus_seconds(5 * amount);
21        });
22        Ok(())
23    }
24
25    fn wait_seconds(&self, secs: u64) -> Result<(), CwEnvError> {
26        self.app.borrow_mut().update_block(|b| {
27            b.time = b.time.plus_seconds(secs);
28            b.height += secs / 5;
29        });
30        Ok(())
31    }
32
33    fn next_block(&self) -> Result<(), CwEnvError> {
34        self.app.borrow_mut().update_block(next_block);
35        Ok(())
36    }
37}
38
39impl DefaultQueriers for CloneTesting {
40    type Bank = bank::CloneBankQuerier;
41    type Wasm = wasm::CloneWasmQuerier<MockState>;
42    type Node = node::CloneNodeQuerier;
43}