use std::sync::Arc;
use amaru_kernel::{Hash, Transaction, TransactionBody, TransactionInput, WitnessSet, size::TRANSACTION_BODY};
use amaru_ouroboros::Mempool;
pub fn create_transactions(number: usize) -> Vec<Transaction> {
(0..number).map(create_transaction).collect()
}
#[expect(clippy::unwrap_used)]
pub fn create_transactions_in_mempool(mempool: Arc<dyn Mempool<Transaction>>, number: usize) -> Vec<Transaction> {
let mut txs = vec![];
for i in 0..number {
let tx = create_transaction(i);
txs.push(tx.clone());
mempool.add(tx).unwrap();
}
txs
}
pub fn create_transaction(id: usize) -> Transaction {
let tx_input = TransactionInput { transaction_id: Hash::new([1; TRANSACTION_BODY]), index: id as u64 };
let body = TransactionBody::new([tx_input], [], 0);
Transaction { body, witnesses: WitnessSet::default(), is_expected_valid: true, auxiliary_data: None }
}