Skip to content

Commit d4010e4

Browse files
apollo_integration_tests: add signature arg to generate_rpc_invoke_tx and add invoke_tx that use it (#9381)
1 parent 71d2b4a commit d4010e4

File tree

1 file changed

+22
-3
lines changed

1 file changed

+22
-3
lines changed

crates/apollo_integration_tests/tests/test_custom_cairo0_txs.rs

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,13 @@ use starknet_api::execution_resources::GasAmount;
1111
use starknet_api::felt;
1212
use starknet_api::rpc_transaction::RpcTransaction;
1313
use starknet_api::test_utils::invoke::rpc_invoke_tx;
14+
use starknet_api::transaction::fields::TransactionSignature;
1415

1516
use crate::common::{end_to_end_flow, validate_tx_count, TestScenario};
1617

1718
mod common;
1819

19-
const CUSTOM_CAIRO_0_INVOKE_TX_COUNT: usize = 3;
20+
const CUSTOM_CAIRO_0_INVOKE_TX_COUNT: usize = 4;
2021

2122
#[tokio::test]
2223
async fn custom_cairo0_txs() {
@@ -32,18 +33,20 @@ async fn custom_cairo0_txs() {
3233

3334
fn create_custom_cairo0_txs_scenario() -> Vec<TestScenario> {
3435
vec![TestScenario {
35-
create_rpc_txs_fn: create_cairo_0_syscall_test_txs,
36+
create_rpc_txs_fn: create_custom_cairo0_test_txs,
3637
create_l1_to_l2_messages_args_fn: |_| vec![],
3738
test_tx_hashes_fn: |tx_hashes| validate_tx_count(tx_hashes, CUSTOM_CAIRO_0_INVOKE_TX_COUNT),
3839
}]
3940
}
4041

41-
fn create_cairo_0_syscall_test_txs(
42+
/// Creates a set of transactions that test the Cairo 0 functionality.
43+
fn create_custom_cairo0_test_txs(
4244
tx_generator: &mut MultiAccountTransactionGenerator,
4345
) -> Vec<RpcTransaction> {
4446
let account_tx_generator = tx_generator.account_with_id_mut(CAIRO0_ACCOUNT_ID);
4547
let mut txs = vec![];
4648
txs.extend(generate_direct_test_contract_invoke_txs_cairo_0_syscall(account_tx_generator));
49+
txs.extend(generate_invoke_txs_with_signature_cairo_0_syscall(account_tx_generator));
4750

4851
txs
4952
}
@@ -79,3 +82,19 @@ fn generate_direct_test_contract_invoke_txs_cairo_0_syscall(
7982
})
8083
.collect()
8184
}
85+
86+
fn generate_invoke_txs_with_signature_cairo_0_syscall(
87+
account_tx_generator: &mut AccountTransactionGenerator,
88+
) -> Vec<RpcTransaction> {
89+
let test_contract = FeatureContract::TestContract(CairoVersion::Cairo0);
90+
91+
let fn_name = "add_signature_to_counters";
92+
let fn_args = vec![felt!(2021_u64)];
93+
let calldata = create_calldata(test_contract.get_instance_address(0), fn_name, &fn_args);
94+
95+
let signature = TransactionSignature(vec![felt!(100_u64), felt!(200_u64)].into());
96+
97+
vec![rpc_invoke_tx(
98+
account_tx_generator.build_invoke_tx_args().calldata(calldata).signature(signature),
99+
)]
100+
}

0 commit comments

Comments
 (0)