sui_adapter_latest/static_programmable_transactions/typing/invariant_checks/
mod.rs1use crate::{
5 execution_mode::ExecutionMode,
6 static_programmable_transactions::{
7 env, linkage::resolved_linkage::ExecutableLinkage, typing::ast as T,
8 },
9};
10pub mod defining_ids_in_types;
11pub mod linkage_consistency;
12pub mod memory_safety;
13pub mod type_check;
14
15pub fn transaction<Mode: ExecutionMode>(
16 env: &env::Env<Mode>,
17 tt: &T::Transaction,
18 unified_linkage: Option<&ExecutableLinkage>,
19) -> Result<(), Mode::Error> {
20 defining_ids_in_types::verify(env, tt)?;
21 type_check::verify::<Mode>(env, tt)?;
22 memory_safety::verify(env, tt)?;
23 linkage_consistency::verify(env, tt, unified_linkage)?;
24 Ok(())
26}