From 98d674f842c6be0a8ea972d4b779de021bd4b9c7 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Thu, 16 Jun 2022 10:06:23 -0700 Subject: [PATCH] transactional-tests: also provide the rich error in the exp files --- .../tests/children/child_of_shared_object.exp | 3 +- .../tests/entry_points/wrong_visibility.exp | 9 ++-- .../tests/publish/init_param.exp | 3 +- .../tests/publish/init_public.exp | 3 +- .../tests/publish/init_ret.exp | 3 +- .../tests/sui/freeze.exp | 6 ++- .../sui/move_call_args_type_mismatch.exp | 6 ++- .../sui/move_call_incorrect_function.exp | 6 ++- .../sui/publish_module_non_zero_address.exp | 3 +- crates/sui-core/src/authority.rs | 4 +- .../src/epoch/tests/reconfiguration_tests.rs | 5 +-- crates/sui-core/src/execution_engine.rs | 23 ++++++----- .../src/test_adapter.rs | 41 ++++++++++++------- crates/sui-types/src/messages.rs | 6 +-- .../entry_points/generic_with_key_invalid.exp | 6 ++- .../tests/entry_points/non_key_struct.exp | 3 +- .../entry_points/non_key_struct_generic.exp | 6 ++- .../entry_points/non_key_struct_vector.exp | 3 +- .../tests/entry_points/return_values.exp | 12 ++++-- .../tests/global_storage_access/all.exp | 3 +- .../global_storage_access/borrow_global.exp | 6 ++- .../borrow_global_mut.exp | 6 ++- .../tests/global_storage_access/exists.exp | 6 ++- .../tests/global_storage_access/move_from.exp | 6 ++- .../tests/global_storage_access/move_to.exp | 6 ++- ...mut_borrow_generic_key_struct_id_field.exp | 3 +- .../mut_borrow_key_struct_id_field.exp | 3 +- .../id_leak/direct_leak_through_call.exp | 3 +- .../id_leak/indirect_leak_through_call.exp | 3 +- .../tests/id_leak/through_direct_return.exp | 3 +- .../tests/id_leak/through_indirect_return.exp | 3 +- .../tests/id_leak/through_reference.exp | 3 +- .../tests/id_leak/through_vector.exp | 3 +- .../tests/init/cannot_call_init.exp | 3 +- .../tests/init/must_have_txn_context.exp | 6 ++- .../tests/init/not_generic.exp | 3 +- .../tests/init/not_private.exp | 9 ++-- .../tests/init/not_txn_context.exp | 12 ++++-- .../tests/init/return_values.exp | 3 +- .../key_struct_first_field_not_id.exp | 3 +- ...ruct_id_field_incorrect_struct_address.exp | 3 +- ..._struct_id_field_incorrect_struct_name.exp | 3 +- .../key_struct_id_field_incorrect_type.exp | 3 +- .../key_struct_second_field_id.exp | 3 +- .../struct_with_key/key_struct_with_drop.exp | 3 +- 45 files changed, 167 insertions(+), 95 deletions(-) diff --git a/crates/sui-adapter-transactional-tests/tests/children/child_of_shared_object.exp b/crates/sui-adapter-transactional-tests/tests/children/child_of_shared_object.exp index d03c4aec75521..1a32a61058e8f 100644 --- a/crates/sui-adapter-transactional-tests/tests/children/child_of_shared_object.exp +++ b/crates/sui-adapter-transactional-tests/tests/children/child_of_shared_object.exp @@ -24,7 +24,8 @@ task 6 'run'. lines 86-88: written: object(109), object(111), object(112) task 7 'run'. lines 89-89: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: InvalidSharedChildUse, source: Some("When an (either direct or indirect) child object of a shared object is passed as a Move argument,either the child object's type or the shared object's type must be defined in the same module as the called function. This is violated by object fake(109) (defined in module 'T1::O1'), whose ancestor fake(111) is a shared object (defined in module 'T2::O2'), and neither are defined in this module 'T1::O1'") } } task 8 'run'. lines 91-91: written: object(109), object(111), object(114) diff --git a/crates/sui-adapter-transactional-tests/tests/entry_points/wrong_visibility.exp b/crates/sui-adapter-transactional-tests/tests/entry_points/wrong_visibility.exp index 7eedb854fa7b6..3c099e9038c82 100644 --- a/crates/sui-adapter-transactional-tests/tests/entry_points/wrong_visibility.exp +++ b/crates/sui-adapter-transactional-tests/tests/entry_points/wrong_visibility.exp @@ -5,10 +5,13 @@ created: object(103) written: object(102) task 2 'run'. lines 26-26: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: InvalidNonEntryFunction, source: Some("Can only call `entry` functions") } } task 3 'run'. lines 28-28: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: InvalidNonEntryFunction, source: Some("Can only call `entry` functions") } } task 4 'run'. lines 30-30: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: InvalidNonEntryFunction, source: Some("Can only call `entry` functions") } } diff --git a/crates/sui-adapter-transactional-tests/tests/publish/init_param.exp b/crates/sui-adapter-transactional-tests/tests/publish/init_param.exp index 7b22629aacbc7..779fc0e9e96c6 100644 --- a/crates/sui-adapter-transactional-tests/tests/publish/init_param.exp +++ b/crates/sui-adapter-transactional-tests/tests/publish/init_param.exp @@ -1,4 +1,5 @@ processed 2 tasks task 1 'publish'. lines 5-24: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Expected exactly one parameter for _::M1::init of type &mut sui::tx_context::TxContext") } } diff --git a/crates/sui-adapter-transactional-tests/tests/publish/init_public.exp b/crates/sui-adapter-transactional-tests/tests/publish/init_public.exp index 105ce71c40a88..a9d0789d8a9d8 100644 --- a/crates/sui-adapter-transactional-tests/tests/publish/init_public.exp +++ b/crates/sui-adapter-transactional-tests/tests/publish/init_public.exp @@ -1,4 +1,5 @@ processed 2 tasks task 1 'publish'. lines 5-25: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("_::M1. 'init' function must be private") } } diff --git a/crates/sui-adapter-transactional-tests/tests/publish/init_ret.exp b/crates/sui-adapter-transactional-tests/tests/publish/init_ret.exp index 5aa6c520f0e1a..0b56f7c711920 100644 --- a/crates/sui-adapter-transactional-tests/tests/publish/init_ret.exp +++ b/crates/sui-adapter-transactional-tests/tests/publish/init_ret.exp @@ -1,4 +1,5 @@ processed 2 tasks task 1 'publish'. lines 5-26: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("_::M1, 'init' function cannot have return values") } } diff --git a/crates/sui-adapter-transactional-tests/tests/sui/freeze.exp b/crates/sui-adapter-transactional-tests/tests/sui/freeze.exp index 5cacb6d868e29..200da82e68238 100644 --- a/crates/sui-adapter-transactional-tests/tests/sui/freeze.exp +++ b/crates/sui-adapter-transactional-tests/tests/sui/freeze.exp @@ -11,7 +11,9 @@ task 2 'run'. lines 10-10: written: object(104), object(105) task 3 'run'. lines 12-12: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: TypeError, source: Some("Only owned object can be passed by-value, violation found in argument 0") } } task 4 'run'. lines 14-14: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: TypeError, source: Some("Argument 0 is expected to be mutable, immutable object found") } } diff --git a/crates/sui-adapter-transactional-tests/tests/sui/move_call_args_type_mismatch.exp b/crates/sui-adapter-transactional-tests/tests/sui/move_call_args_type_mismatch.exp index 1f3e8f270541d..d596986982959 100644 --- a/crates/sui-adapter-transactional-tests/tests/sui/move_call_args_type_mismatch.exp +++ b/crates/sui-adapter-transactional-tests/tests/sui/move_call_args_type_mismatch.exp @@ -5,7 +5,9 @@ created: object(103) written: object(102) task 2 'run'. lines 14-16: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: InvalidFunctionSignature, source: Some("Expected 2 arguments calling function 'create', but found 1") } } task 3 'run'. lines 17-17: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: VmError, source: Some(VMError { major_status: FAILED_TO_DESERIALIZE_ARGUMENT, sub_status: None, message: None, exec_state: None, location: Undefined, indices: [], offsets: [] }) } } diff --git a/crates/sui-adapter-transactional-tests/tests/sui/move_call_incorrect_function.exp b/crates/sui-adapter-transactional-tests/tests/sui/move_call_incorrect_function.exp index 1ce52608ec050..e06a183741b82 100644 --- a/crates/sui-adapter-transactional-tests/tests/sui/move_call_incorrect_function.exp +++ b/crates/sui-adapter-transactional-tests/tests/sui/move_call_incorrect_function.exp @@ -1,7 +1,9 @@ processed 2 tasks task 0 'run'. lines 7-9: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: VmError, source: Some(VMError { major_status: LINKER_ERROR, sub_status: None, message: Some("Cannot find ModuleId { address: _, name: Identifier(\"object_basics\") } in data cache"), exec_state: None, location: Undefined, indices: [], offsets: [] }) } } task 1 'run'. lines 10-10: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: FunctionNotFound, source: Some("Could not resolve function 'foo' in module sui::object_basics") } } diff --git a/crates/sui-adapter-transactional-tests/tests/sui/publish_module_non_zero_address.exp b/crates/sui-adapter-transactional-tests/tests/sui/publish_module_non_zero_address.exp index f0cb963ad1cfe..4a01fcee8fb1e 100644 --- a/crates/sui-adapter-transactional-tests/tests/sui/publish_module_non_zero_address.exp +++ b/crates/sui-adapter-transactional-tests/tests/sui/publish_module_non_zero_address.exp @@ -1,4 +1,5 @@ processed 2 tasks task 1 'publish'. lines 8-10: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModulePublishFailure, source: Some("Publishing module M with non-zero address is not allowed") } } diff --git a/crates/sui-core/src/authority.rs b/crates/sui-core/src/authority.rs index 7af4c17dffc4e..4085e5853567d 100644 --- a/crates/sui-core/src/authority.rs +++ b/crates/sui-core/src/authority.rs @@ -584,7 +584,7 @@ impl AuthorityState { let transaction_dependencies = input_objects.transaction_dependencies(); let mut temporary_store = AuthorityTemporaryStore::new(self.database.clone(), input_objects, transaction_digest); - let effects = execution_engine::execute_transaction_to_effects( + let (effects, _execution_error) = execution_engine::execute_transaction_to_effects( shared_object_refs, &mut temporary_store, certificate.data.clone(), @@ -594,7 +594,7 @@ impl AuthorityState { &self._native_functions, gas_status, self.committee.load().epoch, - )?; + ); self.metrics.total_effects.inc(); self.metrics diff --git a/crates/sui-core/src/epoch/tests/reconfiguration_tests.rs b/crates/sui-core/src/epoch/tests/reconfiguration_tests.rs index eb8682b801a58..973e7c816b333 100644 --- a/crates/sui-core/src/epoch/tests/reconfiguration_tests.rs +++ b/crates/sui-core/src/epoch/tests/reconfiguration_tests.rs @@ -142,7 +142,7 @@ async fn test_start_epoch_change() { ), tx_digest, ); - let effects = execution_engine::execute_transaction_to_effects( + let (effects, _) = execution_engine::execute_transaction_to_effects( vec![], &mut temporary_store, transaction.data.clone(), @@ -152,8 +152,7 @@ async fn test_start_epoch_change() { &state._native_functions, SuiGasStatus::new_with_budget(1000, 1, 1), state.committee.load().epoch, - ) - .unwrap(); + ); let signed_effects = effects.to_sign_effects(0, &state.name, &*state.secret); assert_eq!( state diff --git a/crates/sui-core/src/execution_engine.rs b/crates/sui-core/src/execution_engine.rs index 512b8c1bfbdf4..53be73a00098b 100644 --- a/crates/sui-core/src/execution_engine.rs +++ b/crates/sui-core/src/execution_engine.rs @@ -14,7 +14,6 @@ use sui_types::gas_coin::GasCoin; use sui_types::object::{MoveObject, Owner, OBJECT_START_VERSION}; use sui_types::{ base_types::{ObjectID, ObjectRef, SuiAddress, TransactionDigest, TxContext}, - error::SuiResult, event::{Event, TransferType}, gas::{self, SuiGasStatus}, messages::{ @@ -39,11 +38,11 @@ pub fn execute_transaction_to_effects( native_functions: &NativeFunctionTable, gas_status: SuiGasStatus, epoch: EpochId, -) -> SuiResult { +) -> (TransactionEffects, Option) { let mut tx_ctx = TxContext::new(&transaction_data.signer(), &transaction_digest, epoch); let gas_object_ref = *transaction_data.gas_payment_object_ref(); - let (gas_cost_summary, status) = execute_transaction( + let (gas_cost_summary, execution_result) = execute_transaction( temporary_store, transaction_data, gas_object_ref.0, @@ -52,6 +51,14 @@ pub fn execute_transaction_to_effects( native_functions, gas_status, ); + + let (status, execution_error) = match execution_result { + Ok(()) => (ExecutionStatus::Success, None), + Err(error) => ( + ExecutionStatus::new_failure(error.to_execution_status()), + Some(error), + ), + }; debug!( computation_gas_cost = gas_cost_summary.computation_cost, storage_gas_cost = gas_cost_summary.storage_cost, @@ -71,7 +78,7 @@ pub fn execute_transaction_to_effects( status, gas_object_ref, ); - Ok(effects) + (effects, execution_error) } fn charge_gas_for_object_read( @@ -98,7 +105,7 @@ fn execute_transaction( move_vm: &Arc, native_functions: &NativeFunctionTable, mut gas_status: SuiGasStatus, -) -> (GasCostSummary, ExecutionStatus) { +) -> (GasCostSummary, Result<(), ExecutionError>) { // We must charge object read gas inside here during transaction execution, because if this fails // we must still ensure an effect is committed and all objects versions incremented. let mut result = charge_gas_for_object_read(temporary_store, &mut gas_status); @@ -228,11 +235,7 @@ fn execute_transaction( } let cost_summary = gas_status.summary(result.is_ok()); - let status = match result { - Ok(()) => ExecutionStatus::Success, - Err(error) => ExecutionStatus::new_failure(error), - }; - (cost_summary, status) + (cost_summary, result) } fn transfer_coin( diff --git a/crates/sui-transactional-test-runner/src/test_adapter.rs b/crates/sui-transactional-test-runner/src/test_adapter.rs index 6a5891566daaf..f17e7e5272f39 100644 --- a/crates/sui-transactional-test-runner/src/test_adapter.rs +++ b/crates/sui-transactional-test-runner/src/test_adapter.rs @@ -446,19 +446,22 @@ impl<'a> SuiTestAdapter<'a> { let shared_object_refs: Vec<_> = input_objects.filter_shared_objects(); let mut temporary_store = AuthorityTemporaryStore::new(self.storage.clone(), input_objects, transaction_digest); - let TransactionEffects { - status, - events, - created, - // TODO display all these somehow - transaction_digest: _, - mutated: _, - unwrapped: _, - deleted: _, - wrapped: _, - gas_object: _, - .. - } = execution_engine::execute_transaction_to_effects( + let ( + TransactionEffects { + status, + events, + created, + // TODO display all these somehow + transaction_digest: _, + mutated: _, + unwrapped: _, + deleted: _, + wrapped: _, + gas_object: _, + .. + }, + execution_error, + ) = execution_engine::execute_transaction_to_effects( shared_object_refs, &mut temporary_store, transaction.data, @@ -469,7 +472,7 @@ impl<'a> SuiTestAdapter<'a> { gas_status, // TODO: Support different epochs in transactional tests. 0, - )?; + ); let (_objects, _active_inputs, written, deleted, _events) = temporary_store.into_inner(); let created_set: BTreeSet<_> = created.iter().map(|((id, _, _), _)| *id).collect(); let mut created_ids: Vec<_> = created_set.iter().copied().collect(); @@ -504,7 +507,15 @@ impl<'a> SuiTestAdapter<'a> { deleted: deleted_ids, events, }), - ExecutionStatus::Failure { error, .. } => Err(error.into()), + ExecutionStatus::Failure { error, .. } => { + Err(anyhow::anyhow!(self.stabilize_str(format!( + "Transaction Effects Status: {}\nExecution Error: {}", + error, + execution_error.expect( + "to have an execution error if a transaction's status is a failure" + ) + )))) + } } } diff --git a/crates/sui-types/src/messages.rs b/crates/sui-types/src/messages.rs index ecffe2ecf1076..f8af11f446a54 100644 --- a/crates/sui-types/src/messages.rs +++ b/crates/sui-types/src/messages.rs @@ -921,10 +921,8 @@ impl std::fmt::Display for ExecutionFailureStatus { impl std::error::Error for ExecutionFailureStatus {} impl ExecutionStatus { - pub fn new_failure(error: ExecutionError) -> ExecutionStatus { - ExecutionStatus::Failure { - error: error.to_execution_status(), - } + pub fn new_failure(error: ExecutionFailureStatus) -> ExecutionStatus { + ExecutionStatus::Failure { error } } pub fn is_ok(&self) -> bool { diff --git a/crates/sui-verifier-transactional-tests/tests/entry_points/generic_with_key_invalid.exp b/crates/sui-verifier-transactional-tests/tests/entry_points/generic_with_key_invalid.exp index 9109c5367b61a..2a57ebef9f861 100644 --- a/crates/sui-verifier-transactional-tests/tests/entry_points/generic_with_key_invalid.exp +++ b/crates/sui-verifier-transactional-tests/tests/entry_points/generic_with_key_invalid.exp @@ -1,7 +1,9 @@ processed 2 tasks task 0 'publish'. lines 6-16: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Invalid entry point parameter type. Expected primitive or object type. Got: std::option::Option") } } task 1 'publish'. lines 18-28: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Invalid entry point parameter type. Expected primitive or object type. Got: vector>") } } diff --git a/crates/sui-verifier-transactional-tests/tests/entry_points/non_key_struct.exp b/crates/sui-verifier-transactional-tests/tests/entry_points/non_key_struct.exp index 0e1f1be278eac..4357c69baa0eb 100644 --- a/crates/sui-verifier-transactional-tests/tests/entry_points/non_key_struct.exp +++ b/crates/sui-verifier-transactional-tests/tests/entry_points/non_key_struct.exp @@ -1,4 +1,5 @@ processed 1 task task 0 'publish'. lines 6-17: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Invalid entry point parameter type. Expected primitive or object type. Got: _::m::S") } } diff --git a/crates/sui-verifier-transactional-tests/tests/entry_points/non_key_struct_generic.exp b/crates/sui-verifier-transactional-tests/tests/entry_points/non_key_struct_generic.exp index 2f95910818be5..1a8459d08dc3b 100644 --- a/crates/sui-verifier-transactional-tests/tests/entry_points/non_key_struct_generic.exp +++ b/crates/sui-verifier-transactional-tests/tests/entry_points/non_key_struct_generic.exp @@ -1,7 +1,9 @@ processed 2 tasks task 0 'publish'. lines 6-21: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Invalid entry point parameter type. Expected primitive or object type. Got: _::m::Obj<_::m::NoStore>") } } task 1 'publish'. lines 23-35: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Invalid entry point parameter type. Expected primitive or object type. Got: _::m::Obj") } } diff --git a/crates/sui-verifier-transactional-tests/tests/entry_points/non_key_struct_vector.exp b/crates/sui-verifier-transactional-tests/tests/entry_points/non_key_struct_vector.exp index 0e1f1be278eac..8868def72c030 100644 --- a/crates/sui-verifier-transactional-tests/tests/entry_points/non_key_struct_vector.exp +++ b/crates/sui-verifier-transactional-tests/tests/entry_points/non_key_struct_vector.exp @@ -1,4 +1,5 @@ processed 1 task task 0 'publish'. lines 6-17: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Invalid entry point parameter type. Expected primitive or object type. Got: vector<_::m::S>") } } diff --git a/crates/sui-verifier-transactional-tests/tests/entry_points/return_values.exp b/crates/sui-verifier-transactional-tests/tests/entry_points/return_values.exp index 0a85027f36913..780a83514062a 100644 --- a/crates/sui-verifier-transactional-tests/tests/entry_points/return_values.exp +++ b/crates/sui-verifier-transactional-tests/tests/entry_points/return_values.exp @@ -1,13 +1,17 @@ processed 4 tasks task 0 'publish'. lines 4-11: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Entry function foo cannot have return values") } } task 1 'publish'. lines 13-20: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Entry function foo cannot have return values") } } task 2 'publish'. lines 22-29: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Entry function foo cannot have return values") } } task 3 'publish'. lines 32-39: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Entry function foo cannot have return values") } } diff --git a/crates/sui-verifier-transactional-tests/tests/global_storage_access/all.exp b/crates/sui-verifier-transactional-tests/tests/global_storage_access/all.exp index 7f58be9c4d03a..05cdda731367e 100644 --- a/crates/sui-verifier-transactional-tests/tests/global_storage_access/all.exp +++ b/crates/sui-verifier-transactional-tests/tests/global_storage_access/all.exp @@ -1,4 +1,5 @@ processed 1 task task 0 'publish'. lines 4-31: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Access to Move global storage is not allowed. Found in function no: [Exists(StructDefinitionIndex(0)), ExistsGeneric(StructDefInstantiationIndex(0)), ImmBorrowGlobal(StructDefinitionIndex(0)), ImmBorrowGlobalGeneric(StructDefInstantiationIndex(0)), MutBorrowGlobal(StructDefinitionIndex(0)), MutBorrowGlobalGeneric(StructDefInstantiationIndex(0)), MoveFrom(StructDefinitionIndex(0)), MoveFromGeneric(StructDefInstantiationIndex(0)), MoveTo(StructDefinitionIndex(0)), MoveToGeneric(StructDefInstantiationIndex(0))]") } } diff --git a/crates/sui-verifier-transactional-tests/tests/global_storage_access/borrow_global.exp b/crates/sui-verifier-transactional-tests/tests/global_storage_access/borrow_global.exp index 6722b64b5eef9..630e30e67902b 100644 --- a/crates/sui-verifier-transactional-tests/tests/global_storage_access/borrow_global.exp +++ b/crates/sui-verifier-transactional-tests/tests/global_storage_access/borrow_global.exp @@ -1,7 +1,9 @@ processed 2 tasks task 0 'publish'. lines 4-15: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Access to Move global storage is not allowed. Found in function no: [ImmBorrowGlobal(StructDefinitionIndex(0))]") } } task 1 'publish'. lines 17-27: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Access to Move global storage is not allowed. Found in function no: [ImmBorrowGlobalGeneric(StructDefInstantiationIndex(0))]") } } diff --git a/crates/sui-verifier-transactional-tests/tests/global_storage_access/borrow_global_mut.exp b/crates/sui-verifier-transactional-tests/tests/global_storage_access/borrow_global_mut.exp index 6722b64b5eef9..2e344ec82df27 100644 --- a/crates/sui-verifier-transactional-tests/tests/global_storage_access/borrow_global_mut.exp +++ b/crates/sui-verifier-transactional-tests/tests/global_storage_access/borrow_global_mut.exp @@ -1,7 +1,9 @@ processed 2 tasks task 0 'publish'. lines 4-15: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Access to Move global storage is not allowed. Found in function no: [MutBorrowGlobal(StructDefinitionIndex(0))]") } } task 1 'publish'. lines 17-27: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Access to Move global storage is not allowed. Found in function no: [MutBorrowGlobalGeneric(StructDefInstantiationIndex(0))]") } } diff --git a/crates/sui-verifier-transactional-tests/tests/global_storage_access/exists.exp b/crates/sui-verifier-transactional-tests/tests/global_storage_access/exists.exp index 117124ecd05fd..e65761d994e66 100644 --- a/crates/sui-verifier-transactional-tests/tests/global_storage_access/exists.exp +++ b/crates/sui-verifier-transactional-tests/tests/global_storage_access/exists.exp @@ -1,7 +1,9 @@ processed 2 tasks task 0 'publish'. lines 4-14: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Access to Move global storage is not allowed. Found in function no: [Exists(StructDefinitionIndex(0))]") } } task 1 'publish'. lines 16-25: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Access to Move global storage is not allowed. Found in function no: [ExistsGeneric(StructDefInstantiationIndex(0))]") } } diff --git a/crates/sui-verifier-transactional-tests/tests/global_storage_access/move_from.exp b/crates/sui-verifier-transactional-tests/tests/global_storage_access/move_from.exp index 46fb3862f6231..a90a2f6587b0d 100644 --- a/crates/sui-verifier-transactional-tests/tests/global_storage_access/move_from.exp +++ b/crates/sui-verifier-transactional-tests/tests/global_storage_access/move_from.exp @@ -1,7 +1,9 @@ processed 2 tasks task 0 'publish'. lines 4-20: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Access to Move global storage is not allowed. Found in function no: [MoveFrom(StructDefinitionIndex(0))]") } } task 1 'publish'. lines 22-38: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Access to Move global storage is not allowed. Found in function no: [MoveFromGeneric(StructDefInstantiationIndex(0))]") } } diff --git a/crates/sui-verifier-transactional-tests/tests/global_storage_access/move_to.exp b/crates/sui-verifier-transactional-tests/tests/global_storage_access/move_to.exp index 6722b64b5eef9..604caa1b2aa48 100644 --- a/crates/sui-verifier-transactional-tests/tests/global_storage_access/move_to.exp +++ b/crates/sui-verifier-transactional-tests/tests/global_storage_access/move_to.exp @@ -1,7 +1,9 @@ processed 2 tasks task 0 'publish'. lines 4-15: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Access to Move global storage is not allowed. Found in function no: [MoveTo(StructDefinitionIndex(0))]") } } task 1 'publish'. lines 17-27: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Access to Move global storage is not allowed. Found in function no: [MoveToGeneric(StructDefInstantiationIndex(0))]") } } diff --git a/crates/sui-verifier-transactional-tests/tests/id_immutable/mut_borrow_generic_key_struct_id_field.exp b/crates/sui-verifier-transactional-tests/tests/id_immutable/mut_borrow_generic_key_struct_id_field.exp index 5cf3822b98a1d..429b8ca6cd27e 100644 --- a/crates/sui-verifier-transactional-tests/tests/id_immutable/mut_borrow_generic_key_struct_id_field.exp +++ b/crates/sui-verifier-transactional-tests/tests/id_immutable/mut_borrow_generic_key_struct_id_field.exp @@ -1,4 +1,5 @@ processed 1 task task 0 'publish'. lines 4-18: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("In function foo: ID field of struct Foo cannot be mut borrowed because ID is immutable.") } } diff --git a/crates/sui-verifier-transactional-tests/tests/id_immutable/mut_borrow_key_struct_id_field.exp b/crates/sui-verifier-transactional-tests/tests/id_immutable/mut_borrow_key_struct_id_field.exp index 5cf3822b98a1d..429b8ca6cd27e 100644 --- a/crates/sui-verifier-transactional-tests/tests/id_immutable/mut_borrow_key_struct_id_field.exp +++ b/crates/sui-verifier-transactional-tests/tests/id_immutable/mut_borrow_key_struct_id_field.exp @@ -1,4 +1,5 @@ processed 1 task task 0 'publish'. lines 4-18: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("In function foo: ID field of struct Foo cannot be mut borrowed because ID is immutable.") } } diff --git a/crates/sui-verifier-transactional-tests/tests/id_leak/direct_leak_through_call.exp b/crates/sui-verifier-transactional-tests/tests/id_leak/direct_leak_through_call.exp index 64f927b810e08..196e3c837ddce 100644 --- a/crates/sui-verifier-transactional-tests/tests/id_leak/direct_leak_through_call.exp +++ b/crates/sui-verifier-transactional-tests/tests/id_leak/direct_leak_through_call.exp @@ -1,4 +1,5 @@ processed 1 task task 0 'publish'. lines 4-25: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("ID leak detected in function foo: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some(\"ID leaked through function call.\") } }") } } diff --git a/crates/sui-verifier-transactional-tests/tests/id_leak/indirect_leak_through_call.exp b/crates/sui-verifier-transactional-tests/tests/id_leak/indirect_leak_through_call.exp index 64f927b810e08..196e3c837ddce 100644 --- a/crates/sui-verifier-transactional-tests/tests/id_leak/indirect_leak_through_call.exp +++ b/crates/sui-verifier-transactional-tests/tests/id_leak/indirect_leak_through_call.exp @@ -1,4 +1,5 @@ processed 1 task task 0 'publish'. lines 4-25: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("ID leak detected in function foo: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some(\"ID leaked through function call.\") } }") } } diff --git a/crates/sui-verifier-transactional-tests/tests/id_leak/through_direct_return.exp b/crates/sui-verifier-transactional-tests/tests/id_leak/through_direct_return.exp index 83894131bab78..f0848fc467b93 100644 --- a/crates/sui-verifier-transactional-tests/tests/id_leak/through_direct_return.exp +++ b/crates/sui-verifier-transactional-tests/tests/id_leak/through_direct_return.exp @@ -1,4 +1,5 @@ processed 1 task task 0 'publish'. lines 4-19: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("ID leak detected in function foo: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some(\"ID leaked through function return.\") } }") } } diff --git a/crates/sui-verifier-transactional-tests/tests/id_leak/through_indirect_return.exp b/crates/sui-verifier-transactional-tests/tests/id_leak/through_indirect_return.exp index 83894131bab78..f0848fc467b93 100644 --- a/crates/sui-verifier-transactional-tests/tests/id_leak/through_indirect_return.exp +++ b/crates/sui-verifier-transactional-tests/tests/id_leak/through_indirect_return.exp @@ -1,4 +1,5 @@ processed 1 task task 0 'publish'. lines 4-19: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("ID leak detected in function foo: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some(\"ID leaked through function return.\") } }") } } diff --git a/crates/sui-verifier-transactional-tests/tests/id_leak/through_reference.exp b/crates/sui-verifier-transactional-tests/tests/id_leak/through_reference.exp index 2f43f00b588eb..5e2d8e814717d 100644 --- a/crates/sui-verifier-transactional-tests/tests/id_leak/through_reference.exp +++ b/crates/sui-verifier-transactional-tests/tests/id_leak/through_reference.exp @@ -1,4 +1,5 @@ processed 1 task task 0 'publish'. lines 4-20: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: VmError, source: Some(VMError { major_status: WRITEREF_WITHOUT_DROP_ABILITY, sub_status: None, message: None, exec_state: None, location: Module(ModuleId { address: _, name: Identifier("m") }), indices: [(FunctionDefinition, 0)], offsets: [(FunctionDefinitionIndex(0), 5)] }) } } diff --git a/crates/sui-verifier-transactional-tests/tests/id_leak/through_vector.exp b/crates/sui-verifier-transactional-tests/tests/id_leak/through_vector.exp index 2f43f00b588eb..63b37d32d95c4 100644 --- a/crates/sui-verifier-transactional-tests/tests/id_leak/through_vector.exp +++ b/crates/sui-verifier-transactional-tests/tests/id_leak/through_vector.exp @@ -1,4 +1,5 @@ processed 1 task task 0 'publish'. lines 4-20: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("ID leak detected in function foo: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some(\"ID is leaked into a vector\") } }") } } diff --git a/crates/sui-verifier-transactional-tests/tests/init/cannot_call_init.exp b/crates/sui-verifier-transactional-tests/tests/init/cannot_call_init.exp index 29ef18ae48c3a..02338f5ccdf8a 100644 --- a/crates/sui-verifier-transactional-tests/tests/init/cannot_call_init.exp +++ b/crates/sui-verifier-transactional-tests/tests/init/cannot_call_init.exp @@ -1,4 +1,5 @@ processed 1 task task 0 'publish'. lines 4-17: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("_::m::init at offset 1. Cannot call a module's 'init' function from another Move function") } } diff --git a/crates/sui-verifier-transactional-tests/tests/init/must_have_txn_context.exp b/crates/sui-verifier-transactional-tests/tests/init/must_have_txn_context.exp index 1f25cf1f209c1..9089ecffb63e4 100644 --- a/crates/sui-verifier-transactional-tests/tests/init/must_have_txn_context.exp +++ b/crates/sui-verifier-transactional-tests/tests/init/must_have_txn_context.exp @@ -1,7 +1,9 @@ processed 2 tasks task 0 'publish'. lines 4-11: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Expected exactly one parameter for _::m::init of type &mut sui::tx_context::TxContext") } } task 1 'publish'. lines 14-21: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Expected exactly one parameter for _::m::init of type &mut sui::tx_context::TxContext") } } diff --git a/crates/sui-verifier-transactional-tests/tests/init/not_generic.exp b/crates/sui-verifier-transactional-tests/tests/init/not_generic.exp index 7f2ba62f147c2..3e43c5361fc69 100644 --- a/crates/sui-verifier-transactional-tests/tests/init/not_generic.exp +++ b/crates/sui-verifier-transactional-tests/tests/init/not_generic.exp @@ -1,4 +1,5 @@ processed 1 task task 0 'publish'. lines 4-11: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("_::m. 'init' function cannot have type parameters") } } diff --git a/crates/sui-verifier-transactional-tests/tests/init/not_private.exp b/crates/sui-verifier-transactional-tests/tests/init/not_private.exp index 664ba4fe3ecb4..ae6638d31de3c 100644 --- a/crates/sui-verifier-transactional-tests/tests/init/not_private.exp +++ b/crates/sui-verifier-transactional-tests/tests/init/not_private.exp @@ -1,10 +1,13 @@ processed 3 tasks task 0 'publish'. lines 4-11: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("_::m. 'init' function must be private") } } task 1 'publish'. lines 13-20: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("_::m. 'init' function must be private") } } task 2 'publish'. lines 22-29: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("_::m. 'init' function must be private") } } diff --git a/crates/sui-verifier-transactional-tests/tests/init/not_txn_context.exp b/crates/sui-verifier-transactional-tests/tests/init/not_txn_context.exp index 0a85027f36913..87a00c0211aed 100644 --- a/crates/sui-verifier-transactional-tests/tests/init/not_txn_context.exp +++ b/crates/sui-verifier-transactional-tests/tests/init/not_txn_context.exp @@ -1,13 +1,17 @@ processed 4 tasks task 0 'publish'. lines 4-11: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Expected parameter for _::m::init to be &mut sui::tx_context::TxContext, but found u64") } } task 1 'publish'. lines 13-20: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Expected parameter for _::tx_context::init to be &mut sui::tx_context::TxContext, but found _::tx_context::TxContext") } } task 2 'publish'. lines 22-29: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Expected parameter for _::m::init to be &mut sui::tx_context::TxContext, but found &sui::tx_context::TxContext") } } task 3 'publish'. lines 32-39: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Expected parameter for _::m::init to be &mut sui::tx_context::TxContext, but found sui::tx_context::TxContext") } } diff --git a/crates/sui-verifier-transactional-tests/tests/init/return_values.exp b/crates/sui-verifier-transactional-tests/tests/init/return_values.exp index 7f2ba62f147c2..0a1b81a811b60 100644 --- a/crates/sui-verifier-transactional-tests/tests/init/return_values.exp +++ b/crates/sui-verifier-transactional-tests/tests/init/return_values.exp @@ -1,4 +1,5 @@ processed 1 task task 0 'publish'. lines 4-11: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("_::m, 'init' function cannot have return values") } } diff --git a/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_first_field_not_id.exp b/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_first_field_not_id.exp index cc6a4d6bc622f..ef4cf5c425a49 100644 --- a/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_first_field_not_id.exp +++ b/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_first_field_not_id.exp @@ -1,4 +1,5 @@ processed 1 task task 0 'publish'. lines 4-10: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("First field of struct S must be 'id', flag found") } } diff --git a/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_id_field_incorrect_struct_address.exp b/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_id_field_incorrect_struct_address.exp index 7f2ba62f147c2..2374a7deb1786 100644 --- a/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_id_field_incorrect_struct_address.exp +++ b/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_id_field_incorrect_struct_address.exp @@ -1,4 +1,5 @@ processed 1 task task 0 'publish'. lines 4-11: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("First field of struct S must be of type sui::id::VersionedID, _::id::VersionedID type found") } } diff --git a/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_id_field_incorrect_struct_name.exp b/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_id_field_incorrect_struct_name.exp index cc6a4d6bc622f..b028c5b55efb2 100644 --- a/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_id_field_incorrect_struct_name.exp +++ b/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_id_field_incorrect_struct_name.exp @@ -1,4 +1,5 @@ processed 1 task task 0 'publish'. lines 4-10: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("First field of struct S must be of type sui::id::VersionedID, sui::id::ID type found") } } diff --git a/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_id_field_incorrect_type.exp b/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_id_field_incorrect_type.exp index cc6a4d6bc622f..abe7cc519f463 100644 --- a/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_id_field_incorrect_type.exp +++ b/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_id_field_incorrect_type.exp @@ -1,4 +1,5 @@ processed 1 task task 0 'publish'. lines 4-10: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("First field of struct S must be of ID type, Bool type found") } } diff --git a/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_second_field_id.exp b/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_second_field_id.exp index 7f2ba62f147c2..4eec2bcc018b7 100644 --- a/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_second_field_id.exp +++ b/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_second_field_id.exp @@ -1,4 +1,5 @@ processed 1 task task 0 'publish'. lines 4-11: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("First field of struct S must be 'id', flag found") } } diff --git a/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_with_drop.exp b/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_with_drop.exp index cc6a4d6bc622f..2f0d0f8030894 100644 --- a/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_with_drop.exp +++ b/crates/sui-verifier-transactional-tests/tests/struct_with_key/key_struct_with_drop.exp @@ -1,4 +1,5 @@ processed 1 task task 0 'publish'. lines 4-10: -Error: MiscellaneousError +Error: Transaction Effects Status: MiscellaneousError +Execution Error: ExecutionError: ExecutionError { inner: ExecutionErrorInner { kind: ModuleVerificationFailure, source: Some("Struct S cannot have both key and drop abilities") } }