pub fn transaction<Mode: ExecutionMode>(
meter: &mut TranslationMeter<'_, '_>,
env: &Env<'_, '_, '_, '_, '_>,
tx_context: &TxContext,
withdrawal_compatibility_inputs: Option<Vec<bool>>,
gas_payment: Option<GasPayment>,
pt: ProgrammableTransaction,
) -> Result<Transaction, ExecutionError>