1pub mod verifier;
5
6pub mod entry_points_verifier;
7pub mod global_storage_access_verifier;
8pub mod id_leak_verifier;
9pub mod meter;
10pub mod one_time_witness_verifier;
11pub mod private_generics;
12pub mod struct_with_key_verifier;
13
14use move_core_types::{ident_str, identifier::IdentStr, vm_status::StatusCode};
15use sui_types::error::{ExecutionError, ExecutionErrorKind};
16
17pub const INIT_FN_NAME: &IdentStr = ident_str!("init");
18pub const TEST_SCENARIO_MODULE_NAME: &str = "test_scenario";
19
20fn verification_failure(error: String) -> ExecutionError {
21 ExecutionError::new_with_source(ExecutionErrorKind::SuiMoveVerificationError, error)
22}
23
24fn to_verification_timeout_error(error: String) -> ExecutionError {
25 ExecutionError::new_with_source(ExecutionErrorKind::SuiMoveVerificationTimedout, error)
26}
27
28pub fn check_for_verifier_timeout(major_status_code: &StatusCode) -> bool {
32 [
33 StatusCode::PROGRAM_TOO_COMPLEX,
34 StatusCode::TOO_MANY_BACK_EDGES,
36 ]
37 .contains(major_status_code)
38}