[][src]Struct cw_multi_test::App

pub struct App { /* fields omitted */ }

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]

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]

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]

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]

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]

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]

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

impl Querier for App[src]

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]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.