use algonaut::{ algod::v2::Algod, atomic_transaction_composer::AtomicTransactionComposer, atomic_transaction_composer::{ transaction_signer::TransactionSigner, AbiArgValue, ExecuteResult, TransactionWithSigner, }, kmd::v1::Kmd, }; use algonaut_abi::{abi_interactions::AbiMethod, abi_type::AbiType}; use algonaut_core::{Address, SuggestedTransactionParams}; use algonaut_transaction::{account::Account, SignedTransaction, Transaction}; use async_trait::async_trait; use cucumber::WorldInit; use std::convert::Infallible; #[derive(Default, Debug, WorldInit)] pub struct World { pub algod: Option, pub kmd: Option, pub handle: Option, pub password: Option, pub accounts: Option>, pub transient_account: Option, pub tx: Option, pub tx_id: Option, pub app_id: Option, pub app_ids: Vec, pub tx_params: Option, pub note: Option>, pub tx_signer: Option, pub tx_with_signer: Option, pub tx_composer: Option, pub tx_composer_methods: Option>, pub signed_txs: Option>, pub abi_method: Option, pub abi_method_arg_types: Option>, pub abi_method_arg_values: Option>, pub tx_composer_res: Option, } #[async_trait(?Send)] impl cucumber::World for World { type Error = Infallible; async fn new() -> Result { Ok(Self::default()) } }