pub fn generate_transaction_batch<'a>(
rng: Arc<Mutex<Rng>>,
chain_id: i64,
from_addr_pool: &'a [Address],
token_addr: Option<Address>,
addr_pool: &'a [Address],
random_target_addr: bool,
amount_pool: &'a [U256],
) -> Result<impl Stream<Item = Result<(u64, TokenTransferDbObj), PaymentError>> + 'a, PaymentError>