[][src]Struct cosmwasm_std::Extern

pub struct Extern<S: Storage, A: Api, Q: Querier> {
    pub storage: S,
    pub api: A,
    pub querier: Q,
}

Holds all external dependencies of the contract. Designed to allow easy dependency injection at runtime. This cannot be copied or cloned since it would behave differently for mock storages and a bridge storage in the VM.

Fields

storage: Sapi: Aquerier: Q

Implementations

impl<S: Storage, A: Api, Q: Querier> Extern<S, A, Q>[src]

pub fn change_querier<T: Querier, F: Fn(Q) -> T>(
    self,
    transform: F
) -> Extern<S, A, T>
[src]

change_querier is a helper mainly for test code when swapping out the Querier from the auto-generated one from mock_dependencies. This changes the type of Extern so replaces requires some boilerplate.

Auto Trait Implementations

impl<S, A, Q> RefUnwindSafe for Extern<S, A, Q> where
    A: RefUnwindSafe,
    Q: RefUnwindSafe,
    S: RefUnwindSafe

impl<S, A, Q> Send for Extern<S, A, Q> where
    Q: Send,
    S: Send

impl<S, A, Q> Sync for Extern<S, A, Q> where
    A: Sync,
    Q: Sync,
    S: Sync

impl<S, A, Q> Unpin for Extern<S, A, Q> where
    A: Unpin,
    Q: Unpin,
    S: Unpin

impl<S, A, Q> UnwindSafe for Extern<S, A, Q> where
    A: UnwindSafe,
    Q: UnwindSafe,
    S: UnwindSafe

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.