use starknet_api::abi::abi_utils::selector_from_name;
use starknet_api::core::ContractAddress;
use starknet_api::felt;
use starknet_api::transaction::fields::Calldata;
use starknet_types_core::felt::Felt;
use crate::types::u64_from_usize;
pub fn create_calldata(
contract_address: ContractAddress,
entry_point_name: &str,
entry_point_args: &[Felt],
) -> Calldata {
Calldata(
[
vec![
*contract_address.0.key(), selector_from_name(entry_point_name).0, felt!(u64_from_usize(entry_point_args.len())),
],
entry_point_args.into(),
]
.concat()
.into(),
)
}
pub fn create_trivial_calldata(test_contract_address: ContractAddress) -> Calldata {
create_calldata(
test_contract_address,
"return_result",
&[felt!(2_u8)], )
}