pub fn execute<'env, 'pc, 'vm, 'state, 'linkage, Mode: ExecutionMode>(
env: &'env mut Env<'pc, 'vm, 'state, 'linkage>,
metrics: Arc<LimitsMetrics>,
tx_context: Rc<RefCell<TxContext>>,
gas_charger: &mut GasCharger,
ast: Transaction,
trace_builder_opt: &mut Option<MoveTraceBuilder>,
) -> ResultWithTimings<Mode::ExecutionResults, ExecutionError>where
'pc: 'state,
'env: 'state,