Skip to content

Commit a027abf

Browse files
blockifier_test_utils: update test contract for revert test with meta tx
1 parent fb69c27 commit a027abf

File tree

8 files changed

+12206
-11194
lines changed

8 files changed

+12206
-11194
lines changed

crates/blockifier/src/bouncer_test.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -744,11 +744,11 @@ fn class_hash_migration_data_from_state(
744744

745745
if should_migrate {
746746
expect![[r#"
747-
102995104
747+
104821282
748748
"#]]
749749
.assert_debug_eq(&migration_sierra_gas.0);
750750
expect![[r#"
751-
250218310
751+
254652730
752752
"#]]
753753
.assert_debug_eq(&migration_proving_gas.0);
754754
} else {

crates/blockifier/src/execution/syscalls/syscall_tests/call_contract.rs

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ use starknet_api::abi::abi_utils::selector_from_name;
1212
use starknet_api::execution_utils::format_panic_data;
1313
use starknet_api::transaction::fields::Calldata;
1414
use starknet_api::{calldata as calldata_macro, felt};
15+
use starknet_types_core::felt::Felt;
1516
use test_case::test_case;
1617

1718
use crate::context::{BlockContext, ChainInfo};
@@ -32,12 +33,16 @@ fn test_call_contract_that_panics(runnable_version: RunnableCairo1) {
3233

3334
let new_class_hash = empty_contract.get_class_hash();
3435
let to_panic = true.into();
36+
let is_meta_tx = false.into();
3537
let outer_entry_point_selector = selector_from_name("test_call_contract_revert");
36-
let calldata = create_calldata(
37-
test_contract.get_instance_address(0),
38-
"test_revert_helper",
39-
&[new_class_hash.0, to_panic],
40-
);
38+
let calldata = calldata_macro![
39+
**test_contract.get_instance_address(0),
40+
selector_from_name("test_revert_helper").0,
41+
Felt::TWO,
42+
new_class_hash.0,
43+
to_panic,
44+
is_meta_tx
45+
];
4146
let entry_point_call = CallEntryPoint {
4247
entry_point_selector: outer_entry_point_selector,
4348
calldata,
@@ -97,11 +102,19 @@ fn test_call_contract_and_than_revert(#[case] runnable_version: RunnableCairo1)
97102
);
98103

99104
// Calldata of contract A
100-
let calldata = create_calldata(
101-
test_contract.get_instance_address(0),
102-
"middle_revert_contract",
103-
&middle_call_data.0,
104-
);
105+
let is_meta_tx = false.into();
106+
let calldata = Calldata(Arc::new(
107+
[
108+
vec![
109+
**test_contract.get_instance_address(0),
110+
selector_from_name("middle_revert_contract").0,
111+
middle_call_data.0.len().into(),
112+
],
113+
middle_call_data.0.to_vec(),
114+
vec![is_meta_tx],
115+
]
116+
.concat(),
117+
));
105118

106119
// Create the entry point call to contract A.
107120
let outer_entry_point_selector = selector_from_name("test_call_contract_revert");

crates/blockifier/src/transaction/account_transactions_test.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2109,23 +2109,25 @@ fn test_call_contract_that_panics(
21092109

21102110
let new_class_hash = FeatureContract::TestContract(cairo_version).get_class_hash();
21112111
let to_panic = true.into();
2112+
let meta_tx = false.into();
21122113

21132114
let calldata = [
21142115
*contract_address.0.key(),
21152116
selector_from_name(inner_selector).0,
21162117
felt!(2_u8),
21172118
new_class_hash.0,
21182119
to_panic,
2120+
meta_tx,
21192121
];
21202122

21212123
// Invoke a function that changes the state and reverts.
21222124
let tx_args = invoke_tx_args! {
21232125
sender_address: account_address,
21242126
calldata: create_calldata(
21252127
contract_address,
2126-
"test_call_contract_revert",
2127-
&calldata
2128-
),
2128+
"test_call_contract_revert",
2129+
&calldata
2130+
),
21292131
nonce: nonce_manager.next(account_address)
21302132
};
21312133
let tx_execution_info = run_invoke_tx(

0 commit comments

Comments
 (0)