[−][src]Struct cw_multi_test::App
Router is a persisted state. You can query this. Execution generally happens on the RouterCache, which then can be atomically committed or rolled back. We offer .execute() as a wrapper around cache, execute, commit/rollback process
Implementations
impl App
[src]
pub fn new<B: Bank + 'static>(
api: Box<dyn Api>,
block: BlockInfo,
bank: B,
storage_factory: fn() -> Box<dyn Storage>
) -> Self
[src]
api: Box<dyn Api>,
block: BlockInfo,
bank: B,
storage_factory: fn() -> Box<dyn Storage>
) -> Self
pub fn cache(&self) -> AppCache<'_>
[src]
pub fn set_block(&mut self, block: BlockInfo)
[src]
This can set the block info to any value. Must be done before taking a cache
pub fn update_block<F: Fn(&mut BlockInfo)>(&mut self, action: F)
[src]
This let's use use "next block" steps that add eg. one height and 5 seconds
pub fn block_info(&self) -> BlockInfo
[src]
Returns a copy of the current block_info
pub fn set_bank_balance(
&mut self,
account: HumanAddr,
amount: Vec<Coin>
) -> Result<(), String>
[src]
&mut self,
account: HumanAddr,
amount: Vec<Coin>
) -> Result<(), String>
This is an "admin" function to let us adjust bank accounts
pub fn store_code(&mut self, code: Box<dyn Contract>) -> u64
[src]
This registers contract code (like uploading wasm bytecode on a chain), so it can later be used to instantiate a contract.
pub fn wrap(&self) -> QuerierWrapper<'_>
[src]
Simple helper so we get access to all the QuerierWrapper helpers, eg. query_wasm_smart, query_all_balances, ...
pub fn query(&self, request: QueryRequest<Empty>) -> Result<Binary, String>
[src]
Handles arbitrary QueryRequest, this is wrapped by the Querier interface, but this is nicer to use.
pub fn instantiate_contract<T: Serialize, U: Into<String>, V: Into<HumanAddr>>(
&mut self,
code_id: u64,
sender: V,
init_msg: &T,
send_funds: &[Coin],
label: U
) -> Result<HumanAddr, String>
[src]
&mut self,
code_id: u64,
sender: V,
init_msg: &T,
send_funds: &[Coin],
label: U
) -> Result<HumanAddr, String>
Create a contract and get the new address. This is just a helper around execute()
pub fn execute_contract<T: Serialize, U: Into<HumanAddr>>(
&mut self,
sender: U,
contract_addr: U,
msg: &T,
send_funds: &[Coin]
) -> Result<AppResponse, String>
[src]
&mut self,
sender: U,
contract_addr: U,
msg: &T,
send_funds: &[Coin]
) -> Result<AppResponse, String>
Execute a contract and process all returned messages. This is just a helper around execute()
pub fn execute(
&mut self,
sender: HumanAddr,
msg: CosmosMsg<Empty>
) -> Result<AppResponse, String>
[src]
&mut self,
sender: HumanAddr,
msg: CosmosMsg<Empty>
) -> Result<AppResponse, String>
Runs arbitrary CosmosMsg. This will create a cache before the execution, so no state changes are persisted if this returns an error, but all are persisted on success.
pub fn execute_multi(
&mut self,
sender: HumanAddr,
msgs: Vec<CosmosMsg<Empty>>
) -> Result<Vec<AppResponse>, String>
[src]
&mut self,
sender: HumanAddr,
msgs: Vec<CosmosMsg<Empty>>
) -> Result<Vec<AppResponse>, String>
Runs multiple CosmosMsg in one atomic operation. This will create a cache before the execution, so no state changes are persisted if any of them return an error. But all writes are persisted on success.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for App
[src]
impl !Send for App
[src]
impl !Sync for App
[src]
impl Unpin for App
[src]
impl !UnwindSafe for App
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,