sui_adapter_latest/static_programmable_transactions/typing/verify/
mod.rs

1// Copyright (c) Mysten Labs, Inc.
2// SPDX-License-Identifier: Apache-2.0
3
4use sui_types::error::ExecutionError;
5
6use crate::{
7    execution_mode::ExecutionMode,
8    static_programmable_transactions::{env, typing::ast as T},
9};
10
11pub mod drop_safety;
12pub mod input_arguments;
13pub mod memory_safety;
14pub mod move_functions;
15pub mod private_entry_arguments;
16
17pub fn transaction<Mode: ExecutionMode>(
18    env: &env::Env,
19    ast: &mut T::Transaction,
20) -> Result<(), ExecutionError> {
21    input_arguments::verify::<Mode>(env, &*ast)?;
22    move_functions::verify::<Mode>(env, &*ast)?;
23    memory_safety::verify(env, &*ast)?;
24    drop_safety::refine_and_verify::<Mode>(env, ast)?;
25    private_entry_arguments::verify::<Mode>(env, &*ast)?;
26    Ok(())
27}