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.