Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
13fbf11
starknet_os_flow_tests: migrate test_reverted_l1_handler_tx
dorimedini-starkware Sep 30, 2025
b83b978
starknet_os_flow_tests: add control for expected reverting txs
dorimedini-starkware Sep 30, 2025
5549cbd
blockifier_test_utils: add delegate_proxy cairo0 contract
dorimedini-starkware Sep 30, 2025
005607e
blockifier_test_utils: add test_contract2 cairo0 contract
dorimedini-starkware Sep 30, 2025
b1c6cea
blockifier_test_utils: add functionality to test contract for test_os…
dorimedini-starkware Oct 1, 2025
6ba2a44
starknet_os_flow_tests: migrate test_os_logic and some small refactors
dorimedini-starkware Oct 1, 2025
55c8825
starknet_os_flow_tests: localize expected storage updates in test_os_…
dorimedini-starkware Oct 1, 2025
6336f53
starknet_os_flow_tests: add V1-bound cairo0 account for flow tests
dorimedini-starkware Oct 2, 2025
1a0c720
starknet_os_flow_tests: more informative execution failure
dorimedini-starkware Oct 2, 2025
f4e57f8
starknet_os_flow_tests: split get_class_info_of_cairo0_contract into …
dorimedini-starkware Oct 2, 2025
440c636
starknet_os_flow_tests: migrate test_v1_bound_accounts_cairo0
dorimedini-starkware Oct 2, 2025
a22a121
starknet_api: fix compiler->SNAPI contract class ABI string conversio…
dorimedini-starkware Oct 3, 2025
0a9d74a
starknet_os_flow_tests: add V1-bound cairo1 account for flow tests
dorimedini-starkware Oct 3, 2025
4b79229
starknet_os_flow_tests: migrate test_v1_bound_accounts_cairo1
dorimedini-starkware Oct 3, 2025
b89d715
blockifier: update test contract for test_new_contract_flow
dorimedini-starkware Oct 5, 2025
406eaba
blockifier: extract get_expected_execution_info to function
dorimedini-starkware Oct 5, 2025
271df53
blockifier_test_utils: put tx hash in signature for exec info tests
dorimedini-starkware Oct 6, 2025
a963bfe
blockifier_test_utils: add experimental contract and it's libfuncs list
dorimedini-starkware Oct 5, 2025
ee50efb
starknet_os_flow_tests: migrate test_new_class_flow
dorimedini-starkware Oct 5, 2025
60f0fa4
blockifier_test_utils: add tx_info_writer cairo0 contract
dorimedini-starkware Oct 8, 2025
e0c121e
starknet_os_flow_tests: migrate test_deprecated_tx_info
dorimedini-starkware Oct 8, 2025
26151fc
starknet_os_flow_tests: migrate test_deploy_syscall
dorimedini-starkware Oct 8, 2025
4044f20
blockifier_test_utils: add block_info_test_contract contracts
dorimedini-starkware Oct 8, 2025
99a85f2
starknet_os_flow_tests: migrate test_block_info
dorimedini-starkware Oct 8, 2025
589c478
starknet_os_flow_tests: migrate test_initial_sierra_gas
dorimedini-starkware Oct 9, 2025
453dfaa
starknet_os_flow_tests: utility method to fund address
dorimedini-starkware Oct 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

25 changes: 13 additions & 12 deletions crates/apollo_integration_tests/tests/common/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -139,21 +139,22 @@ fn get_total_batched_txs_count(recorder: &PrometheusRecorder) -> usize {
}

fn assert_full_blocks_flow(recorder: &PrometheusRecorder, expecting_full_blocks: bool) {
let metrics = recorder.handle().render();
let full_blocks_metric = apollo_batcher::metrics::BLOCK_CLOSE_REASON
.parse_numeric_metric::<u64>(
&metrics,
&[(
apollo_batcher::metrics::LABEL_NAME_BLOCK_CLOSE_REASON,
apollo_batcher::metrics::BlockCloseReason::FullBlock.into(),
)],
)
.unwrap();
if expecting_full_blocks {
let metrics = recorder.handle().render();
let full_blocks_metric = apollo_batcher::metrics::BLOCK_CLOSE_REASON
.parse_numeric_metric::<u64>(
&metrics,
&[(
apollo_batcher::metrics::LABEL_NAME_BLOCK_CLOSE_REASON,
apollo_batcher::metrics::BlockCloseReason::FullBlock.into(),
)],
)
.unwrap();
assert!(full_blocks_metric > 0);
} else {
assert_eq!(full_blocks_metric, 0);
}
// Just because we don't expect full blocks, doesn't mean we should assert that the metric is 0.
// It is possible that a block is filled, no need to assert that this is not the case.
// TODO(AlonH): In the `else` case, assert that some block closed due to time.
}

async fn wait_for_sequencer_node(sequencer: &FlowSequencerSetup) {
Expand Down
4 changes: 2 additions & 2 deletions crates/blockifier/src/bouncer_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -744,11 +744,11 @@ fn class_hash_migration_data_from_state(

if should_migrate {
expect![[r#"
86774273
98618067
"#]]
.assert_debug_eq(&migration_sierra_gas.0);
expect![[r#"
198638149
226361973
"#]]
.assert_debug_eq(&migration_proving_gas.0);
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ Unknown location (pc=0:125)
1: Error in the called contract (contract address: 0x0000000000000000000000000000000000000000000000000000000040070000, class hash: 0x0000000000000000000000000000000000000000000000000000000000070000, selector: 0x027c3334165536f239cfd400ed956eabff55fc60de4fb56728b6a4f6b87db01c):
Error at pc=0:37:
Cairo traceback (most recent call last):
Unknown location (pc=0:945)
Unknown location (pc=0:928)
Unknown location (pc=0:1254)
Unknown location (pc=0:1237)

2: Error in the called contract (contract address: 0x0000000000000000000000000000000000000000000000000000000040070001, class hash: 0x0000000000000000000000000000000000000000000000000000000000070000, selector: 0x032564d7e0fe091d49b4c20f4632191e4ed6986bf993849879abfef9465def25):
Error message: You shall not pass!
Error at pc=0:1397:
Error at pc=0:1706:
Cairo traceback (most recent call last):
Unknown location (pc=0:1401)
Unknown location (pc=0:1710)

An ASSERT_EQ instruction failed: 1 != 0.
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,19 @@ Unknown location (pc=0:125)
1: Error in the called contract (contract address: 0x0000000000000000000000000000000000000000000000000000000040070000, class hash: 0x0000000000000000000000000000000000000000000000000000000000070000, selector: 0x0062c83572d28cb834a3de3c1e94977a4191469a4a8c26d1d7bc55305e640ed5):
Error at pc=0:37:
Cairo traceback (most recent call last):
Unknown location (pc=0:1379)
Unknown location (pc=0:1306)
Unknown location (pc=0:1688)
Unknown location (pc=0:1615)

2: Error in the called contract (contract address: 0x0000000000000000000000000000000000000000000000000000000040070000, class hash: 0x0000000000000000000000000000000000000000000000000000000000070000, selector: 0x0062c83572d28cb834a3de3c1e94977a4191469a4a8c26d1d7bc55305e640ed5):
Error at pc=0:37:
Cairo traceback (most recent call last):
Unknown location (pc=0:1379)
Unknown location (pc=0:1306)
Unknown location (pc=0:1688)
Unknown location (pc=0:1615)

3: Error in the called contract (contract address: 0x0000000000000000000000000000000000000000000000000000000040070000, class hash: 0x0000000000000000000000000000000000000000000000000000000000070000, selector: 0x032564d7e0fe091d49b4c20f4632191e4ed6986bf993849879abfef9465def25):
Error message: You shall not pass!
Error at pc=0:1397:
Error at pc=0:1706:
Cairo traceback (most recent call last):
Unknown location (pc=0:1401)
Unknown location (pc=0:1710)

An ASSERT_EQ instruction failed: 1 != 0.
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,19 @@ Unknown location (pc=0:125)
1: Error in the called contract (contract address: 0x0000000000000000000000000000000000000000000000000000000040070000, class hash: 0x0000000000000000000000000000000000000000000000000000000000070000, selector: 0x0062c83572d28cb834a3de3c1e94977a4191469a4a8c26d1d7bc55305e640ed5):
Error at pc=0:37:
Cairo traceback (most recent call last):
Unknown location (pc=0:1379)
Unknown location (pc=0:1306)
Unknown location (pc=0:1688)
Unknown location (pc=0:1615)

2: Error in the called contract (contract address: 0x0000000000000000000000000000000000000000000000000000000040070000, class hash: 0x0000000000000000000000000000000000000000000000000000000000070000, selector: 0x0062c83572d28cb834a3de3c1e94977a4191469a4a8c26d1d7bc55305e640ed5):
Error at pc=0:49:
Cairo traceback (most recent call last):
Unknown location (pc=0:1379)
Unknown location (pc=0:1324)
Unknown location (pc=0:1688)
Unknown location (pc=0:1633)

3: Error in a library call (contract address: 0x0000000000000000000000000000000000000000000000000000000040070000, class hash: 0x0000000000000000000000000000000000000000000000000000000000070000, selector: 0x032564d7e0fe091d49b4c20f4632191e4ed6986bf993849879abfef9465def25):
Error message: You shall not pass!
Error at pc=0:1397:
Error at pc=0:1706:
Cairo traceback (most recent call last):
Unknown location (pc=0:1401)
Unknown location (pc=0:1710)

An ASSERT_EQ instruction failed: 1 != 0.
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,18 @@ Unknown location (pc=0:125)
1: Error in the called contract (contract address: 0x0000000000000000000000000000000000000000000000000000000040070000, class hash: 0x0000000000000000000000000000000000000000000000000000000000070000, selector: 0x0062c83572d28cb834a3de3c1e94977a4191469a4a8c26d1d7bc55305e640ed5):
Error at pc=0:37:
Cairo traceback (most recent call last):
Unknown location (pc=0:1379)
Unknown location (pc=0:1306)
Unknown location (pc=0:1688)
Unknown location (pc=0:1615)

2: Error in the called contract (contract address: 0x0000000000000000000000000000000000000000000000000000000040070000, class hash: 0x0000000000000000000000000000000000000000000000000000000000070000, selector: 0x0062c83572d28cb834a3de3c1e94977a4191469a4a8c26d1d7bc55305e640ed5):
Error at pc=0:37:
Cairo traceback (most recent call last):
Unknown location (pc=0:1379)
Unknown location (pc=0:1306)
Unknown location (pc=0:1688)
Unknown location (pc=0:1615)

3: Error in the called contract (contract address: 0x0000000000000000000000000000000000000000000000000000000040070000, class hash: 0x0000000000000000000000000000000000000000000000000000000000070000, selector: 0x0062c83572d28cb834a3de3c1e94977a4191469a4a8c26d1d7bc55305e640ed5):
Error at pc=0:1294:
Error at pc=0:1603:
Cairo traceback (most recent call last):
Unknown location (pc=0:1379)
Unknown location (pc=0:1688)

Couldn't compute operand op0. Unknown value for memory cell 1:23
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,18 @@ Unknown location (pc=0:125)
1: Error in the called contract (contract address: 0x0000000000000000000000000000000000000000000000000000000040070000, class hash: 0x0000000000000000000000000000000000000000000000000000000000070000, selector: 0x0062c83572d28cb834a3de3c1e94977a4191469a4a8c26d1d7bc55305e640ed5):
Error at pc=0:37:
Cairo traceback (most recent call last):
Unknown location (pc=0:1379)
Unknown location (pc=0:1306)
Unknown location (pc=0:1688)
Unknown location (pc=0:1615)

2: Error in the called contract (contract address: 0x0000000000000000000000000000000000000000000000000000000040070000, class hash: 0x0000000000000000000000000000000000000000000000000000000000070000, selector: 0x0062c83572d28cb834a3de3c1e94977a4191469a4a8c26d1d7bc55305e640ed5):
Error at pc=0:49:
Cairo traceback (most recent call last):
Unknown location (pc=0:1379)
Unknown location (pc=0:1324)
Unknown location (pc=0:1688)
Unknown location (pc=0:1633)

3: Error in a library call (contract address: 0x0000000000000000000000000000000000000000000000000000000040070000, class hash: 0x0000000000000000000000000000000000000000000000000000000000070000, selector: 0x0062c83572d28cb834a3de3c1e94977a4191469a4a8c26d1d7bc55305e640ed5):
Error at pc=0:1294:
Error at pc=0:1603:
Cairo traceback (most recent call last):
Unknown location (pc=0:1379)
Unknown location (pc=0:1688)

Couldn't compute operand op0. Unknown value for memory cell 1:23
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ Unknown location (pc=0:125)
1: Error in the called contract (contract address: 0x0000000000000000000000000000000000000000000000000000000040070000, class hash: 0x0000000000000000000000000000000000000000000000000000000000070000, selector: 0x0062c83572d28cb834a3de3c1e94977a4191469a4a8c26d1d7bc55305e640ed5):
Error at pc=0:37:
Cairo traceback (most recent call last):
Unknown location (pc=0:1379)
Unknown location (pc=0:1306)
Unknown location (pc=0:1688)
Unknown location (pc=0:1615)

2: Error in the called contract (contract address: 0x0000000000000000000000000000000000000000000000000000000040070000, class hash: 0x0000000000000000000000000000000000000000000000000000000000070000, selector: 0x0062c83572d28cb834a3de3c1e94977a4191469a4a8c26d1d7bc55305e640ed5):
Error at pc=0:1294:
Error at pc=0:1603:
Cairo traceback (most recent call last):
Unknown location (pc=0:1379)
Unknown location (pc=0:1340)
Unknown location (pc=0:1688)
Unknown location (pc=0:1649)

Couldn't compute operand op0. Unknown value for memory cell 1:37
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ Unknown location (pc=0:125)
1: Error in the called contract (contract address: 0x0000000000000000000000000000000000000000000000000000000040070000, class hash: 0x0000000000000000000000000000000000000000000000000000000000070000, selector: 0x0062c83572d28cb834a3de3c1e94977a4191469a4a8c26d1d7bc55305e640ed5):
Error at pc=0:37:
Cairo traceback (most recent call last):
Unknown location (pc=0:1379)
Unknown location (pc=0:1306)
Unknown location (pc=0:1688)
Unknown location (pc=0:1615)

2: Error in the called contract (contract address: 0x0000000000000000000000000000000000000000000000000000000040070000, class hash: 0x0000000000000000000000000000000000000000000000000000000000070000, selector: 0x0062c83572d28cb834a3de3c1e94977a4191469a4a8c26d1d7bc55305e640ed5):
Error message: You shall not pass!
Error at pc=0:1397:
Error at pc=0:1706:
Cairo traceback (most recent call last):
Unknown location (pc=0:1379)
Unknown location (pc=0:1348)
Unknown location (pc=0:1688)
Unknown location (pc=0:1657)

An ASSERT_EQ instruction failed: 1 != 0.
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ Unknown location (pc=0:125)
1: Error in the called contract (contract address: 0x0000000000000000000000000000000000000000000000000000000040070000, class hash: 0x0000000000000000000000000000000000000000000000000000000000070000, selector: 0x03bf01fb7497d041938cb7b2954d8c4590006d26b3acd0f5aec1af45dc4f94b2):
Error at pc=0:37:
Cairo traceback (most recent call last):
Unknown location (pc=0:1092)
Unknown location (pc=0:1401)
Error message: Be aware of failure ahead...
Unknown location (pc=0:1082)
Unknown location (pc=0:1391)

2: Error in the called contract (contract address: 0x0000000000000000000000000000000000000000000000000000000040070001, class hash: 0x0000000000000000000000000000000000000000000000000000000000070000, selector: 0x032564d7e0fe091d49b4c20f4632191e4ed6986bf993849879abfef9465def25):
Error message: You shall not pass!
Error at pc=0:1397:
Error at pc=0:1706:
Cairo traceback (most recent call last):
Unknown location (pc=0:1401)
Unknown location (pc=0:1710)

An ASSERT_EQ instruction failed: 1 != 0.
Original file line number Diff line number Diff line change
@@ -1 +1 @@
pub const REQUIRED_GAS_GET_BLOCK_HASH_TEST: u64 = 14920;
pub const REQUIRED_GAS_GET_BLOCK_HASH_TEST: u64 = 16220;
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ fn positive_flow(runnable_version: RunnableCairo1) {
let test_contract = FeatureContract::TestContract(CairoVersion::Cairo1(runnable_version));
let (mut state, block_number, block_hash) = initialize_state(test_contract);

let calldata = calldata![block_number];
let calldata = calldata![block_number, block_hash];
let entry_point_call = CallEntryPoint {
entry_point_selector: selector_from_name("test_get_block_hash"),
calldata,
Expand Down Expand Up @@ -83,7 +83,7 @@ fn positive_flow(runnable_version: RunnableCairo1) {
l2_to_l1_messages: [],
cairo_native: false,
failed: false,
gas_consumed: 14920,
gas_consumed: 15620,
}
"#]]
.assert_debug_eq(&call_info.execution);
Expand All @@ -98,7 +98,8 @@ fn negative_flow_block_number_out_of_range(runnable_version: RunnableCairo1) {

let requested_block_number = CURRENT_BLOCK_NUMBER - constants::STORED_BLOCK_HASH_BUFFER + 1;
let block_number = felt!(requested_block_number);
let calldata = calldata![block_number];
let dummy_block_hash = felt!(66_u64);
let calldata = calldata![block_number, dummy_block_hash];
let entry_point_call = CallEntryPoint {
entry_point_selector: selector_from_name("test_get_block_hash"),
calldata,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,13 @@ fn test_get_class_hash_at(runnable_version: RunnableCairo1) {
let mut state = test_state(chain_info, BALANCE, &[(test_contract, 1)]);
let address = contract_address!("0x111");
let class_hash = class_hash!("0x222");
let class_hash_of_undeployed_contract = felt!("0x0");
let non_existing_address = felt!("0x333");
state.state.address_to_class_hash.insert(address, class_hash);

// Test deployed contract.
let positive_entry_point_call = CallEntryPoint {
calldata: calldata![address.into(), class_hash.0],
calldata: calldata![address.into(), class_hash.0, non_existing_address],
entry_point_selector: selector_from_name("test_get_class_hash_at"),
..trivial_external_entry_point_new(test_contract)
};
Expand All @@ -51,18 +53,20 @@ fn test_get_class_hash_at(runnable_version: RunnableCairo1) {
l2_to_l1_messages: [],
cairo_native: false,
failed: false,
gas_consumed: 15960,
gas_consumed: 28370,
}
"#]]
.assert_debug_eq(&positive_call_info.execution);
assert!(!positive_call_info.execution.failed);
assert_eq!(positive_call_info.execution.retdata, retdata![]);
// Test undeployed contract - should return class_hash = 0 and succeed.
let non_existing_address = felt!("0x333");
let class_hash_of_undeployed_contract = felt!("0x0");

// Test undeployed contract - should return class_hash = 0 and succeed.
let negative_entry_point_call = CallEntryPoint {
calldata: calldata![non_existing_address, class_hash_of_undeployed_contract],
calldata: calldata![
non_existing_address,
class_hash_of_undeployed_contract,
non_existing_address
],
entry_point_selector: selector_from_name("test_get_class_hash_at"),
..trivial_external_entry_point_new(test_contract)
};
Expand All @@ -71,7 +75,7 @@ fn test_get_class_hash_at(runnable_version: RunnableCairo1) {
// Sanity check: giving the wrong expected class hash to the test should make it fail.
let different_class_hash = class_hash!("0x444");
let different_class_hash_entry_point_call = CallEntryPoint {
calldata: calldata![address.into(), different_class_hash.0],
calldata: calldata![address.into(), different_class_hash.0, non_existing_address],
entry_point_selector: selector_from_name("test_get_class_hash_at"),
..trivial_external_entry_point_new(test_contract)
};
Expand Down
Loading