pub struct InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,{
pub proxy: GatewayProxy,
pub use_chain_simulator: bool,
pub network_config: NetworkConfig,
pub sender_map: HashMap<Address, Sender>,
pub waiting_time_ms: u64,
pub pre_runners: ScenarioRunnerList,
pub post_runners: ScenarioRunnerList,
pub current_dir: PathBuf,
}
Fields§
§proxy: GatewayProxy
§use_chain_simulator: bool
§network_config: NetworkConfig
§sender_map: HashMap<Address, Sender>
§waiting_time_ms: u64
§pre_runners: ScenarioRunnerList
§post_runners: ScenarioRunnerList
§current_dir: PathBuf
Implementations§
Source§impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
pub fn use_chain_simulator(self, use_chain_simulator: bool) -> Self
pub async fn register_wallet(&mut self, wallet: Wallet) -> Address
pub async fn sleep(&mut self, duration: Duration)
pub async fn with_tracer<P: AsRef<Path>>(self, path: P) -> Self
pub async fn retrieve_account(&mut self, wallet_address: &Bech32Address)
pub fn get_state_file_path(&self) -> PathBuf
pub fn get_accounts_from_file(&self) -> Vec<SetStateAccount>
Sourcepub fn set_current_dir_from_workspace(
&mut self,
relative_path: &str,
) -> &mut Self
pub fn set_current_dir_from_workspace( &mut self, relative_path: &str, ) -> &mut Self
Tells the interactor where the crate lies relative to the workspace. This ensures that the paths are set correctly, including in debug mode.
Source§impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
pub async fn send_user_funds(&self, receiver: &Address) -> Result<String, Error>
pub async fn generate_blocks(&self, num_blocks: u64) -> Result<String, Error>
pub async fn generate_blocks_until_epoch( &self, epoch_number: u64, ) -> Result<String, Error>
pub async fn generate_blocks_until_tx_processed( &self, tx_hash: &str, ) -> Result<String, Error>
pub async fn set_state( &self, accounts: Vec<SetStateAccount>, ) -> Result<String, Error>
pub async fn set_state_for_saved_accounts(&self) -> Result<String, Error>
Source§impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
pub async fn sc_call<S>(&mut self, sc_call_step: S)where
S: AsMut<ScCallStep>,
Source§impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
pub async fn launch_sc_deploy( &mut self, sc_deploy_step: &mut ScDeployStep, ) -> String
pub async fn sc_deploy<S>(&mut self, sc_deploy_step: S)where
S: AsMut<ScDeployStep>,
Source§impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
pub async fn sc_call_use_raw_response<S, F>( &mut self, step: S, use_raw_response: F, ) -> &mut Self
👎Deprecated since 0.49.0: Please use the unified transaction syntax instead.
pub async fn sc_call_use_result<OriginalResult, RequestedResult, F>(
&mut self,
step: TypedScCall<OriginalResult>,
use_result: F,
) -> &mut Selfwhere
OriginalResult: TopEncodeMulti,
RequestedResult: TopDecodeMulti + TypeAbiFrom<OriginalResult>,
F: FnOnce(TypedResponse<RequestedResult>),
👎Deprecated since 0.49.0: Please use the unified transaction syntax instead.
pub async fn sc_call_get_result<OriginalResult, RequestedResult>(
&mut self,
step: TypedScCall<OriginalResult>,
) -> TypedResponse<RequestedResult>where
OriginalResult: TopEncodeMulti,
RequestedResult: TopDecodeMulti + TypeAbiFrom<OriginalResult>,
👎Deprecated since 0.49.0: Please use the unified transaction syntax instead.
pub async fn sc_query_use_raw_response<S, F>( &mut self, step: S, use_raw_response: F, ) -> &mut Self
👎Deprecated since 0.49.0: Please use the unified transaction syntax instead.
pub async fn sc_query_use_result<OriginalResult, RequestedResult, F>(
&mut self,
step: TypedScQuery<OriginalResult>,
use_result: F,
) -> &mut Selfwhere
OriginalResult: TopEncodeMulti,
RequestedResult: TopDecodeMulti + TypeAbiFrom<OriginalResult>,
F: FnOnce(TypedResponse<RequestedResult>),
👎Deprecated since 0.49.0: Please use the unified transaction syntax instead.
pub async fn sc_query_get_result<OriginalResult, RequestedResult>(
&mut self,
step: TypedScQuery<OriginalResult>,
) -> TypedResponse<RequestedResult>where
OriginalResult: TopEncodeMulti,
RequestedResult: TopDecodeMulti + TypeAbiFrom<OriginalResult>,
👎Deprecated since 0.49.0: Please use the unified transaction syntax instead.
pub async fn quick_query<CC, RequestedResult>(
&mut self,
contract_call: CC,
) -> RequestedResultwhere
CC: ContractCallBase<StaticApi>,
RequestedResult: TopDecodeMulti + TypeAbiFrom<CC::OriginalResult>,
👎Deprecated since 0.49.0: Please use the unified transaction syntax instead.
pub async fn sc_deploy_use_raw_response<S, F>( &mut self, step: S, use_raw_response: F, ) -> &mut Self
👎Deprecated since 0.49.0: Please use the unified transaction syntax instead.
pub async fn sc_deploy_use_result<OriginalResult, RequestedResult, F>(
&mut self,
step: TypedScDeploy<OriginalResult>,
use_result: F,
) -> &mut Selfwhere
OriginalResult: TopEncodeMulti,
RequestedResult: TopDecodeMulti + TypeAbiFrom<OriginalResult>,
F: FnOnce(Address, TypedResponse<RequestedResult>),
👎Deprecated since 0.49.0: Please use the unified transaction syntax instead.
pub async fn sc_deploy_get_result<OriginalResult, RequestedResult>(
&mut self,
step: TypedScDeploy<OriginalResult>,
) -> (Address, TypedResponse<RequestedResult>)where
OriginalResult: TopEncodeMulti,
RequestedResult: TopDecodeMulti + TypeAbiFrom<OriginalResult>,
👎Deprecated since 0.49.0: Please use the unified transaction syntax instead.
Source§impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
pub async fn transfer(&mut self, transfer_step: TransferStep) -> String
Source§impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
pub async fn sc_query<S>(&mut self, step: S) -> &mut Selfwhere
S: AsMut<ScQueryStep>,
pub async fn perform_sc_query(&mut self, step: &mut ScQueryStep)
pub async fn vm_query<CC, RequestedResult>(
&mut self,
contract_call: CC,
) -> RequestedResultwhere
CC: ContractCall<StaticApi>,
RequestedResult: TopDecodeMulti + TypeAbiFrom<CC::OriginalResult>,
👎Deprecated since 0.42.0: Was renamed to
quick_query
.Source§impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
pub async fn recall_nonce(&self, address: &Address) -> u64
pub async fn get_account(&self, address: &Address) -> Account
pub async fn get_account_storage( &self, address: &Address, ) -> HashMap<String, String>
Source§impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
pub async fn chain_call<From, To, Payment, Gas, RH, F>(
&mut self,
f: F,
) -> &mut Selfwhere
From: TxFromSpecified<ScenarioTxEnvData>,
To: TxToSpecified<ScenarioTxEnvData>,
Payment: TxPayment<ScenarioTxEnvData>,
Gas: TxGas<ScenarioTxEnvData>,
RH: RHListExec<TxResponse, ScenarioTxEnvData, ListReturns = ()>,
F: FnOnce(TxBaseWithEnv<ScenarioTxEnvData>) -> Tx<ScenarioTxEnvData, From, To, Payment, Gas, FunctionCall<StaticApi>, RH>,
Source§impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
pub async fn chain_deploy<From, Payment, Gas, CodeValue, RH, F>(
&mut self,
f: F,
) -> &mut Selfwhere
From: TxFromSpecified<ScenarioTxEnvData>,
Payment: TxPayment<ScenarioTxEnvData>,
Gas: TxGas<ScenarioTxEnvData>,
CodeValue: TxCodeValue<ScenarioTxEnvData>,
RH: RHListExec<TxResponse, ScenarioTxEnvData, ListReturns = ()>,
F: FnOnce(TxBaseWithEnv<ScenarioTxEnvData>) -> Tx<ScenarioTxEnvData, From, (), Payment, Gas, DeployCall<ScenarioTxEnvData, Code<CodeValue>>, RH>,
pub async fn run_deploy<From, Payment, Gas, CodeValue, RH, F>(
&mut self,
f: F,
) -> <RH::ListReturns as NestedTupleFlatten>::Unpackedwhere
From: TxFromSpecified<ScenarioTxEnvData>,
Payment: TxPayment<ScenarioTxEnvData>,
Gas: TxGas<ScenarioTxEnvData>,
CodeValue: TxCodeValue<ScenarioTxEnvData>,
RH: RHListExec<TxResponse, ScenarioTxEnvData>,
RH::ListReturns: NestedTupleFlatten,
F: FnOnce(TxBaseWithEnv<ScenarioTxEnvData>) -> Tx<ScenarioTxEnvData, From, (), Payment, Gas, DeployCall<ScenarioTxEnvData, Code<CodeValue>>, RH>,
Source§impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
pub fn tx(&mut self) -> TxBaseWithEnv<InteractorEnvExec<'_, GatewayProxy>>
Source§impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
pub async fn chain_query<To, Payment, RH, F>(&mut self, f: F) -> &mut Selfwhere
To: TxToSpecified<ScenarioTxEnvData>,
Payment: TxNoPayment<ScenarioTxEnvData>,
RH: RHListExec<TxResponse, ScenarioTxEnvData, ListReturns = ()>,
F: FnOnce(TxBaseWithEnv<ScenarioTxEnvData>) -> Tx<ScenarioTxEnvData, (), To, Payment, (), FunctionCall<StaticApi>, RH>,
Source§impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
pub fn query(&mut self) -> TxBaseWithEnv<InteractorEnvQuery<'_, GatewayProxy>>
Source§impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
Sourcepub fn homogenous_call_buffer<Step, RH>(
&mut self,
) -> HomogenousTxBuffer<'_, GatewayProxy, Step, RH>
pub fn homogenous_call_buffer<Step, RH>( &mut self, ) -> HomogenousTxBuffer<'_, GatewayProxy, Step, RH>
Creates a buffer that can hold multiple transactions, and then execute them all at once.
This buffer holds transactions of the same type (call/deploy) and with identical result handler types. Therefore, after execution, all results will have the same type.
Source§impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
impl<GatewayProxy> InteractorBase<GatewayProxy>where
GatewayProxy: GatewayAsyncService,
pub async fn multi_sc_exec(&mut self, buffer: StepBuffer<'_>)
Auto Trait Implementations§
impl<GatewayProxy> Freeze for InteractorBase<GatewayProxy>where
GatewayProxy: Freeze,
impl<GatewayProxy> !RefUnwindSafe for InteractorBase<GatewayProxy>
impl<GatewayProxy> Send for InteractorBase<GatewayProxy>where
GatewayProxy: Send,
impl<GatewayProxy> Sync for InteractorBase<GatewayProxy>where
GatewayProxy: Sync,
impl<GatewayProxy> Unpin for InteractorBase<GatewayProxy>where
GatewayProxy: Unpin,
impl<GatewayProxy> !UnwindSafe for InteractorBase<GatewayProxy>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> InterpretableFrom<T> for T
impl<T> InterpretableFrom<T> for T
fn interpret_from(from: T, _context: &InterpreterContext) -> T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more