Trait boot_core::TxHandler

source ·
pub trait TxHandler: ChainState + Clone {
    type Response: IndexResponse + Debug;
    type Error: Into<BootError> + Debug;

    // Required methods
    fn sender(&self) -> Addr;
    fn wait_blocks(&self, amount: u64) -> Result<(), Self::Error>;
    fn next_block(&self) -> Result<(), Self::Error>;
    fn block_info(&self) -> Result<BlockInfo, Self::Error>;
    fn execute<E: Serialize + Debug>(
        &self,
        exec_msg: &E,
        coins: &[Coin],
        contract_address: &Addr
    ) -> Result<Self::Response, Self::Error>;
    fn instantiate<I: Serialize + Debug>(
        &self,
        code_id: u64,
        init_msg: &I,
        label: Option<&str>,
        admin: Option<&Addr>,
        coins: &[Coin]
    ) -> Result<Self::Response, Self::Error>;
    fn query<Q: Serialize + Debug, T: Serialize + DeserializeOwned>(
        &self,
        query_msg: &Q,
        contract_address: &Addr
    ) -> Result<T, Self::Error>;
    fn migrate<M: Serialize + Debug>(
        &self,
        migrate_msg: &M,
        new_code_id: u64,
        contract_address: &Addr
    ) -> Result<Self::Response, Self::Error>;
    fn upload(
        &self,
        contract_source: &mut ContractCodeReference<Empty>
    ) -> Result<Self::Response, Self::Error>;
}
Expand description

Signer trait for chains. Accesses the sender information from the chain object to perform actions.

Required Associated Types§

Required Methods§

source

fn sender(&self) -> Addr

source

fn wait_blocks(&self, amount: u64) -> Result<(), Self::Error>

source

fn next_block(&self) -> Result<(), Self::Error>

source

fn block_info(&self) -> Result<BlockInfo, Self::Error>

source

fn execute<E: Serialize + Debug>( &self, exec_msg: &E, coins: &[Coin], contract_address: &Addr ) -> Result<Self::Response, Self::Error>

source

fn instantiate<I: Serialize + Debug>( &self, code_id: u64, init_msg: &I, label: Option<&str>, admin: Option<&Addr>, coins: &[Coin] ) -> Result<Self::Response, Self::Error>

source

fn query<Q: Serialize + Debug, T: Serialize + DeserializeOwned>( &self, query_msg: &Q, contract_address: &Addr ) -> Result<T, Self::Error>

source

fn migrate<M: Serialize + Debug>( &self, migrate_msg: &M, new_code_id: u64, contract_address: &Addr ) -> Result<Self::Response, Self::Error>

source

fn upload( &self, contract_source: &mut ContractCodeReference<Empty> ) -> Result<Self::Response, Self::Error>

Implementors§