Skip to content

Commit d561db2

Browse files
blockifier_test_utils: update test contract for revert test with meta tx
1 parent 972bd32 commit d561db2

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
@@ -776,11 +776,11 @@ fn class_hash_migration_data_from_state(
776776

777777
if should_migrate {
778778
expect![[r#"
779-
102995104
779+
104821282
780780
"#]]
781781
.assert_debug_eq(&migration_sierra_gas.0);
782782
expect![[r#"
783-
250765450
783+
255209630
784784
"#]]
785785
.assert_debug_eq(&migration_proving_gas.0);
786786
} 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
@@ -2122,23 +2122,25 @@ fn test_call_contract_that_panics(
21222122

21232123
let new_class_hash = FeatureContract::TestContract(cairo_version).get_class_hash();
21242124
let to_panic = true.into();
2125+
let meta_tx = false.into();
21252126

21262127
let calldata = [
21272128
*contract_address.0.key(),
21282129
selector_from_name(inner_selector).0,
21292130
felt!(2_u8),
21302131
new_class_hash.0,
21312132
to_panic,
2133+
meta_tx,
21322134
];
21332135

21342136
// Invoke a function that changes the state and reverts.
21352137
let tx_args = invoke_tx_args! {
21362138
sender_address: account_address,
21372139
calldata: create_calldata(
21382140
contract_address,
2139-
"test_call_contract_revert",
2140-
&calldata
2141-
),
2141+
"test_call_contract_revert",
2142+
&calldata
2143+
),
21422144
nonce: nonce_manager.next(account_address)
21432145
};
21442146
let tx_execution_info = run_invoke_tx(

0 commit comments

Comments
 (0)