diff --git a/external-crates/move/crates/move-cli/src/sandbox/commands/publish.rs b/external-crates/move/crates/move-cli/src/sandbox/commands/publish.rs index a06a0a8343c74..e2a9bee418d02 100644 --- a/external-crates/move/crates/move-cli/src/sandbox/commands/publish.rs +++ b/external-crates/move/crates/move-cli/src/sandbox/commands/publish.rs @@ -145,8 +145,7 @@ pub fn publish( } if !has_error { - let (changeset, events) = session.finish().0?; - assert!(events.is_empty()); + let changeset = session.finish().0?; if verbose { explain_publish_changeset(&changeset); } diff --git a/external-crates/move/crates/move-cli/src/sandbox/commands/run.rs b/external-crates/move/crates/move-cli/src/sandbox/commands/run.rs index 2a710ae83b97b..5f3c556b6745c 100644 --- a/external-crates/move/crates/move-cli/src/sandbox/commands/run.rs +++ b/external-crates/move/crates/move-cli/src/sandbox/commands/run.rs @@ -115,7 +115,7 @@ pub fn run( txn_args, ) } else { - let (_changeset, _events) = session.finish().0?; + let _changeset = session.finish().0?; Ok(()) } } diff --git a/external-crates/move/crates/move-core-types/src/effects.rs b/external-crates/move/crates/move-core-types/src/effects.rs index 614f598a4ce62..01e3c9958b1ad 100644 --- a/external-crates/move/crates/move-core-types/src/effects.rs +++ b/external-crates/move/crates/move-core-types/src/effects.rs @@ -5,7 +5,7 @@ use crate::{ account_address::AccountAddress, identifier::Identifier, - language_storage::{ModuleId, StructTag, TypeTag}, + language_storage::{ModuleId, StructTag}, }; use anyhow::{bail, Result}; use std::collections::btree_map::{self, BTreeMap}; @@ -300,5 +300,3 @@ impl ChangeSet { }) } } - -pub type Event = (Vec, u64, TypeTag, Vec); diff --git a/external-crates/move/crates/move-transactional-test-runner/src/vm_test_harness.rs b/external-crates/move/crates/move-transactional-test-runner/src/vm_test_harness.rs index a95b41216283f..9ae5ca713a235 100644 --- a/external-crates/move/crates/move-transactional-test-runner/src/vm_test_harness.rs +++ b/external-crates/move/crates/move-transactional-test-runner/src/vm_test_harness.rs @@ -293,7 +293,7 @@ impl SimpleVMTestAdapter { // save changeset // TODO support events - let (changeset, _events) = session.finish().0?; + let changeset = session.finish().0?; self.storage.apply(changeset).unwrap(); Ok(res) } diff --git a/external-crates/move/crates/move-unit-test/src/test_runner.rs b/external-crates/move/crates/move-unit-test/src/test_runner.rs index 04f2e6fc372df..186d45575fa12 100644 --- a/external-crates/move/crates/move-unit-test/src/test_runner.rs +++ b/external-crates/move/crates/move-unit-test/src/test_runner.rs @@ -290,7 +290,7 @@ impl SharedTestingConfig { .into(), ); match session.finish_with_extensions().0 { - Ok((cs, _, extensions)) => (Ok(cs), Ok(extensions), return_result, test_run_info), + Ok((cs, extensions)) => (Ok(cs), Ok(extensions), return_result, test_run_info), Err(err) => (Err(err.clone()), Err(err), return_result, test_run_info), } } diff --git a/external-crates/move/crates/move-vm-integration-tests/src/tests/exec_func_effects_tests.rs b/external-crates/move/crates/move-vm-integration-tests/src/tests/exec_func_effects_tests.rs index 44d59dcd1aef5..eee44028d5ac5 100644 --- a/external-crates/move/crates/move-vm-integration-tests/src/tests/exec_func_effects_tests.rs +++ b/external-crates/move/crates/move-vm-integration-tests/src/tests/exec_func_effects_tests.rs @@ -8,7 +8,7 @@ use crate::compiler::{as_module, compile_units}; use move_binary_format::errors::VMResult; use move_core_types::{ account_address::AccountAddress, - effects::{ChangeSet, Event}, + effects::ChangeSet, identifier::Identifier, language_storage::ModuleId, runtime_value::{serialize_values, MoveValue}, @@ -57,7 +57,7 @@ fn fail_arg_deserialize() { fn mutref_output_success() { let mod_code = setup_module(); let result = run(&mod_code, USE_MUTREF_LABEL, MoveValue::U64(1)); - let (_, _, ret_values) = result.unwrap(); + let (_, ret_values) = result.unwrap(); assert_eq!(1, ret_values.mutable_reference_outputs.len()); let parsed = parse_u64_arg(&ret_values.mutable_reference_outputs.first().unwrap().1); assert_eq!(EXPECT_MUTREF_OUT_VALUE, parsed); @@ -86,7 +86,7 @@ fn run( module: &ModuleCode, fun_name: &str, arg_val0: MoveValue, -) -> VMResult<(ChangeSet, Vec, SerializedReturnValues)> { +) -> VMResult<(ChangeSet, SerializedReturnValues)> { let module_id = &module.0; let modules = vec![module.clone()]; let (vm, storage) = setup_vm(&modules); @@ -103,8 +103,8 @@ fn run( &mut UnmeteredGasMeter, ) .and_then(|ret_values| { - let (change_set, events) = session.finish().0?; - Ok((change_set, events, ret_values)) + let change_set = session.finish().0?; + Ok((change_set, ret_values)) }) } diff --git a/external-crates/move/crates/move-vm-integration-tests/src/tests/loader_tests.rs b/external-crates/move/crates/move-vm-integration-tests/src/tests/loader_tests.rs index 650e1a09066ea..bc99f58f1932a 100644 --- a/external-crates/move/crates/move-vm-integration-tests/src/tests/loader_tests.rs +++ b/external-crates/move/crates/move-vm-integration-tests/src/tests/loader_tests.rs @@ -136,7 +136,7 @@ impl Adapter { .publish_module(binary, DEFAULT_ACCOUNT, &mut UnmeteredGasMeter) .unwrap_or_else(|e| panic!("failure publishing module: {e:?}\n{:#?}", module)); } - let (changeset, _) = session.finish().0.expect("failure getting write set"); + let changeset = session.finish().0.expect("failure getting write set"); self.store .apply(changeset) .expect("failure applying write set"); @@ -173,7 +173,7 @@ impl Adapter { .publish_module_bundle(binaries, DEFAULT_ACCOUNT, &mut UnmeteredGasMeter) .unwrap_or_else(|e| panic!("failure publishing module bundle: {e:?}")); - let (changeset, _) = session.finish().0.expect("failure getting write set"); + let changeset = session.finish().0.expect("failure getting write set"); self.store .apply(changeset) .expect("failure applying write set"); diff --git a/external-crates/move/crates/move-vm-runtime/src/data_cache.rs b/external-crates/move/crates/move-vm-runtime/src/data_cache.rs index 6bba27a230d09..be5db895ea82e 100644 --- a/external-crates/move/crates/move-vm-runtime/src/data_cache.rs +++ b/external-crates/move/crates/move-vm-runtime/src/data_cache.rs @@ -7,7 +7,7 @@ use crate::loader::Loader; use move_binary_format::errors::*; use move_core_types::{ account_address::AccountAddress, - effects::{AccountChangeSet, ChangeSet, Event, Op}, + effects::{AccountChangeSet, ChangeSet, Op}, gas_algebra::NumBytes, identifier::{IdentStr, Identifier}, language_storage::{ModuleId, TypeTag}, @@ -53,7 +53,6 @@ pub(crate) struct TransactionDataCache<'l, S> { remote: S, loader: &'l Loader, account_map: BTreeMap, - event_data: Vec<(Vec, u64, Type, MoveTypeLayout, Value)>, } impl<'l, S: MoveResolver> TransactionDataCache<'l, S> { @@ -64,7 +63,6 @@ impl<'l, S: MoveResolver> TransactionDataCache<'l, S> { remote, loader, account_map: BTreeMap::new(), - event_data: vec![], } } @@ -72,10 +70,10 @@ impl<'l, S: MoveResolver> TransactionDataCache<'l, S> { /// published modules. /// /// Gives all proper guarantees on lifetime of global data as well. - pub(crate) fn into_effects(mut self) -> (PartialVMResult<(ChangeSet, Vec)>, S) { + pub(crate) fn into_effects(mut self) -> (PartialVMResult, S) { (self.impl_into_effects(), self.remote) } - fn impl_into_effects(&mut self) -> PartialVMResult<(ChangeSet, Vec)> { + fn impl_into_effects(&mut self) -> PartialVMResult { let mut change_set = ChangeSet::new(); for (addr, account_data_cache) in std::mem::take(&mut self.account_map).into_iter() { let mut modules = BTreeMap::new(); @@ -123,16 +121,7 @@ impl<'l, S: MoveResolver> TransactionDataCache<'l, S> { } } - let mut events = vec![]; - for (guid, seq_num, ty, ty_layout, val) in std::mem::take(&mut self.event_data) { - let ty_tag = self.loader.type_to_type_tag(&ty)?; - let blob = val - .simple_serialize(&ty_layout) - .ok_or_else(|| PartialVMError::new(StatusCode::INTERNAL_TYPE_ERROR))?; - events.push((guid, seq_num, ty_tag, blob)) - } - - Ok((change_set, events)) + Ok(change_set) } pub(crate) fn num_mutated_accounts(&self, sender: &AccountAddress) -> u64 { diff --git a/external-crates/move/crates/move-vm-runtime/src/session.rs b/external-crates/move/crates/move-vm-runtime/src/session.rs index ff50f1e79f3eb..de9e7f38bbf58 100644 --- a/external-crates/move/crates/move-vm-runtime/src/session.rs +++ b/external-crates/move/crates/move-vm-runtime/src/session.rs @@ -13,7 +13,7 @@ use move_binary_format::{ use move_core_types::{ account_address::AccountAddress, annotated_value as A, - effects::{ChangeSet, Event}, + effects::ChangeSet, identifier::IdentStr, language_storage::{ModuleId, TypeTag}, resolver::MoveResolver, @@ -173,7 +173,7 @@ impl<'r, 'l, S: MoveResolver> Session<'r, 'l, S> { /// This function should always succeed with no user errors returned, barring invariant violations. /// /// This MUST NOT be called if there is a previous invocation that failed with an invariant violation. - pub fn finish(self) -> (VMResult<(ChangeSet, Vec)>, S) { + pub fn finish(self) -> (VMResult, S) { let (res, remote) = self.data_cache.into_effects(); (res.map_err(|e| e.finish(Location::Undefined)), remote) } @@ -186,7 +186,7 @@ impl<'r, 'l, S: MoveResolver> Session<'r, 'l, S> { pub fn finish_with_extensions( self, ) -> ( - VMResult<(ChangeSet, Vec, NativeContextExtensions<'r>)>, + VMResult<(ChangeSet, NativeContextExtensions<'r>)>, S, ) { let Session { @@ -196,7 +196,7 @@ impl<'r, 'l, S: MoveResolver> Session<'r, 'l, S> { } = self; let (res, remote) = data_cache.into_effects(); ( - res.map(|(change_set, events)| (change_set, events, native_extensions)) + res.map(|change_set| (change_set, native_extensions)) .map_err(|e| e.finish(Location::Undefined)), remote, ) diff --git a/external-crates/move/move-execution/v0/crates/move-vm-runtime/src/data_cache.rs b/external-crates/move/move-execution/v0/crates/move-vm-runtime/src/data_cache.rs index 6bba27a230d09..be5db895ea82e 100644 --- a/external-crates/move/move-execution/v0/crates/move-vm-runtime/src/data_cache.rs +++ b/external-crates/move/move-execution/v0/crates/move-vm-runtime/src/data_cache.rs @@ -7,7 +7,7 @@ use crate::loader::Loader; use move_binary_format::errors::*; use move_core_types::{ account_address::AccountAddress, - effects::{AccountChangeSet, ChangeSet, Event, Op}, + effects::{AccountChangeSet, ChangeSet, Op}, gas_algebra::NumBytes, identifier::{IdentStr, Identifier}, language_storage::{ModuleId, TypeTag}, @@ -53,7 +53,6 @@ pub(crate) struct TransactionDataCache<'l, S> { remote: S, loader: &'l Loader, account_map: BTreeMap, - event_data: Vec<(Vec, u64, Type, MoveTypeLayout, Value)>, } impl<'l, S: MoveResolver> TransactionDataCache<'l, S> { @@ -64,7 +63,6 @@ impl<'l, S: MoveResolver> TransactionDataCache<'l, S> { remote, loader, account_map: BTreeMap::new(), - event_data: vec![], } } @@ -72,10 +70,10 @@ impl<'l, S: MoveResolver> TransactionDataCache<'l, S> { /// published modules. /// /// Gives all proper guarantees on lifetime of global data as well. - pub(crate) fn into_effects(mut self) -> (PartialVMResult<(ChangeSet, Vec)>, S) { + pub(crate) fn into_effects(mut self) -> (PartialVMResult, S) { (self.impl_into_effects(), self.remote) } - fn impl_into_effects(&mut self) -> PartialVMResult<(ChangeSet, Vec)> { + fn impl_into_effects(&mut self) -> PartialVMResult { let mut change_set = ChangeSet::new(); for (addr, account_data_cache) in std::mem::take(&mut self.account_map).into_iter() { let mut modules = BTreeMap::new(); @@ -123,16 +121,7 @@ impl<'l, S: MoveResolver> TransactionDataCache<'l, S> { } } - let mut events = vec![]; - for (guid, seq_num, ty, ty_layout, val) in std::mem::take(&mut self.event_data) { - let ty_tag = self.loader.type_to_type_tag(&ty)?; - let blob = val - .simple_serialize(&ty_layout) - .ok_or_else(|| PartialVMError::new(StatusCode::INTERNAL_TYPE_ERROR))?; - events.push((guid, seq_num, ty_tag, blob)) - } - - Ok((change_set, events)) + Ok(change_set) } pub(crate) fn num_mutated_accounts(&self, sender: &AccountAddress) -> u64 { diff --git a/external-crates/move/move-execution/v0/crates/move-vm-runtime/src/session.rs b/external-crates/move/move-execution/v0/crates/move-vm-runtime/src/session.rs index a396c55ba447e..4ca219692e083 100644 --- a/external-crates/move/move-execution/v0/crates/move-vm-runtime/src/session.rs +++ b/external-crates/move/move-execution/v0/crates/move-vm-runtime/src/session.rs @@ -13,7 +13,7 @@ use move_binary_format::{ use move_core_types::{ account_address::AccountAddress, annotated_value as A, - effects::{ChangeSet, Event}, + effects::ChangeSet, identifier::IdentStr, language_storage::{ModuleId, TypeTag}, resolver::MoveResolver, @@ -163,7 +163,7 @@ impl<'r, 'l, S: MoveResolver> Session<'r, 'l, S> { /// This function should always succeed with no user errors returned, barring invariant violations. /// /// This MUST NOT be called if there is a previous invocation that failed with an invariant violation. - pub fn finish(self) -> (VMResult<(ChangeSet, Vec)>, S) { + pub fn finish(self) -> (VMResult, S) { let (res, remote) = self.data_cache.into_effects(); (res.map_err(|e| e.finish(Location::Undefined)), remote) } @@ -172,7 +172,7 @@ impl<'r, 'l, S: MoveResolver> Session<'r, 'l, S> { pub fn finish_with_extensions( self, ) -> ( - VMResult<(ChangeSet, Vec, NativeContextExtensions<'r>)>, + VMResult<(ChangeSet, NativeContextExtensions<'r>)>, S, ) { let Session { @@ -182,7 +182,7 @@ impl<'r, 'l, S: MoveResolver> Session<'r, 'l, S> { } = self; let (res, remote) = data_cache.into_effects(); ( - res.map(|(change_set, events)| (change_set, events, native_extensions)) + res.map(|change_set| (change_set, native_extensions)) .map_err(|e| e.finish(Location::Undefined)), remote, ) diff --git a/external-crates/move/move-execution/v1/crates/move-vm-runtime/src/data_cache.rs b/external-crates/move/move-execution/v1/crates/move-vm-runtime/src/data_cache.rs index 6bba27a230d09..be5db895ea82e 100644 --- a/external-crates/move/move-execution/v1/crates/move-vm-runtime/src/data_cache.rs +++ b/external-crates/move/move-execution/v1/crates/move-vm-runtime/src/data_cache.rs @@ -7,7 +7,7 @@ use crate::loader::Loader; use move_binary_format::errors::*; use move_core_types::{ account_address::AccountAddress, - effects::{AccountChangeSet, ChangeSet, Event, Op}, + effects::{AccountChangeSet, ChangeSet, Op}, gas_algebra::NumBytes, identifier::{IdentStr, Identifier}, language_storage::{ModuleId, TypeTag}, @@ -53,7 +53,6 @@ pub(crate) struct TransactionDataCache<'l, S> { remote: S, loader: &'l Loader, account_map: BTreeMap, - event_data: Vec<(Vec, u64, Type, MoveTypeLayout, Value)>, } impl<'l, S: MoveResolver> TransactionDataCache<'l, S> { @@ -64,7 +63,6 @@ impl<'l, S: MoveResolver> TransactionDataCache<'l, S> { remote, loader, account_map: BTreeMap::new(), - event_data: vec![], } } @@ -72,10 +70,10 @@ impl<'l, S: MoveResolver> TransactionDataCache<'l, S> { /// published modules. /// /// Gives all proper guarantees on lifetime of global data as well. - pub(crate) fn into_effects(mut self) -> (PartialVMResult<(ChangeSet, Vec)>, S) { + pub(crate) fn into_effects(mut self) -> (PartialVMResult, S) { (self.impl_into_effects(), self.remote) } - fn impl_into_effects(&mut self) -> PartialVMResult<(ChangeSet, Vec)> { + fn impl_into_effects(&mut self) -> PartialVMResult { let mut change_set = ChangeSet::new(); for (addr, account_data_cache) in std::mem::take(&mut self.account_map).into_iter() { let mut modules = BTreeMap::new(); @@ -123,16 +121,7 @@ impl<'l, S: MoveResolver> TransactionDataCache<'l, S> { } } - let mut events = vec![]; - for (guid, seq_num, ty, ty_layout, val) in std::mem::take(&mut self.event_data) { - let ty_tag = self.loader.type_to_type_tag(&ty)?; - let blob = val - .simple_serialize(&ty_layout) - .ok_or_else(|| PartialVMError::new(StatusCode::INTERNAL_TYPE_ERROR))?; - events.push((guid, seq_num, ty_tag, blob)) - } - - Ok((change_set, events)) + Ok(change_set) } pub(crate) fn num_mutated_accounts(&self, sender: &AccountAddress) -> u64 { diff --git a/external-crates/move/move-execution/v1/crates/move-vm-runtime/src/session.rs b/external-crates/move/move-execution/v1/crates/move-vm-runtime/src/session.rs index ba358b2a63c5c..4e0632f50489f 100644 --- a/external-crates/move/move-execution/v1/crates/move-vm-runtime/src/session.rs +++ b/external-crates/move/move-execution/v1/crates/move-vm-runtime/src/session.rs @@ -13,7 +13,7 @@ use move_binary_format::{ use move_core_types::{ account_address::AccountAddress, annotated_value as A, - effects::{ChangeSet, Event}, + effects::ChangeSet, identifier::IdentStr, language_storage::{ModuleId, TypeTag}, resolver::MoveResolver, @@ -173,7 +173,7 @@ impl<'r, 'l, S: MoveResolver> Session<'r, 'l, S> { /// This function should always succeed with no user errors returned, barring invariant violations. /// /// This MUST NOT be called if there is a previous invocation that failed with an invariant violation. - pub fn finish(self) -> (VMResult<(ChangeSet, Vec)>, S) { + pub fn finish(self) -> (VMResult, S) { let (res, remote) = self.data_cache.into_effects(); (res.map_err(|e| e.finish(Location::Undefined)), remote) } @@ -186,7 +186,7 @@ impl<'r, 'l, S: MoveResolver> Session<'r, 'l, S> { pub fn finish_with_extensions( self, ) -> ( - VMResult<(ChangeSet, Vec, NativeContextExtensions<'r>)>, + VMResult<(ChangeSet, NativeContextExtensions<'r>)>, S, ) { let Session { @@ -196,7 +196,7 @@ impl<'r, 'l, S: MoveResolver> Session<'r, 'l, S> { } = self; let (res, remote) = data_cache.into_effects(); ( - res.map(|(change_set, events)| (change_set, events, native_extensions)) + res.map(|change_set| (change_set, native_extensions)) .map_err(|e| e.finish(Location::Undefined)), remote, ) diff --git a/external-crates/move/move-execution/v2/crates/move-vm-runtime/src/data_cache.rs b/external-crates/move/move-execution/v2/crates/move-vm-runtime/src/data_cache.rs index 6bba27a230d09..be5db895ea82e 100644 --- a/external-crates/move/move-execution/v2/crates/move-vm-runtime/src/data_cache.rs +++ b/external-crates/move/move-execution/v2/crates/move-vm-runtime/src/data_cache.rs @@ -7,7 +7,7 @@ use crate::loader::Loader; use move_binary_format::errors::*; use move_core_types::{ account_address::AccountAddress, - effects::{AccountChangeSet, ChangeSet, Event, Op}, + effects::{AccountChangeSet, ChangeSet, Op}, gas_algebra::NumBytes, identifier::{IdentStr, Identifier}, language_storage::{ModuleId, TypeTag}, @@ -53,7 +53,6 @@ pub(crate) struct TransactionDataCache<'l, S> { remote: S, loader: &'l Loader, account_map: BTreeMap, - event_data: Vec<(Vec, u64, Type, MoveTypeLayout, Value)>, } impl<'l, S: MoveResolver> TransactionDataCache<'l, S> { @@ -64,7 +63,6 @@ impl<'l, S: MoveResolver> TransactionDataCache<'l, S> { remote, loader, account_map: BTreeMap::new(), - event_data: vec![], } } @@ -72,10 +70,10 @@ impl<'l, S: MoveResolver> TransactionDataCache<'l, S> { /// published modules. /// /// Gives all proper guarantees on lifetime of global data as well. - pub(crate) fn into_effects(mut self) -> (PartialVMResult<(ChangeSet, Vec)>, S) { + pub(crate) fn into_effects(mut self) -> (PartialVMResult, S) { (self.impl_into_effects(), self.remote) } - fn impl_into_effects(&mut self) -> PartialVMResult<(ChangeSet, Vec)> { + fn impl_into_effects(&mut self) -> PartialVMResult { let mut change_set = ChangeSet::new(); for (addr, account_data_cache) in std::mem::take(&mut self.account_map).into_iter() { let mut modules = BTreeMap::new(); @@ -123,16 +121,7 @@ impl<'l, S: MoveResolver> TransactionDataCache<'l, S> { } } - let mut events = vec![]; - for (guid, seq_num, ty, ty_layout, val) in std::mem::take(&mut self.event_data) { - let ty_tag = self.loader.type_to_type_tag(&ty)?; - let blob = val - .simple_serialize(&ty_layout) - .ok_or_else(|| PartialVMError::new(StatusCode::INTERNAL_TYPE_ERROR))?; - events.push((guid, seq_num, ty_tag, blob)) - } - - Ok((change_set, events)) + Ok(change_set) } pub(crate) fn num_mutated_accounts(&self, sender: &AccountAddress) -> u64 { diff --git a/external-crates/move/move-execution/v2/crates/move-vm-runtime/src/session.rs b/external-crates/move/move-execution/v2/crates/move-vm-runtime/src/session.rs index ba358b2a63c5c..4e0632f50489f 100644 --- a/external-crates/move/move-execution/v2/crates/move-vm-runtime/src/session.rs +++ b/external-crates/move/move-execution/v2/crates/move-vm-runtime/src/session.rs @@ -13,7 +13,7 @@ use move_binary_format::{ use move_core_types::{ account_address::AccountAddress, annotated_value as A, - effects::{ChangeSet, Event}, + effects::ChangeSet, identifier::IdentStr, language_storage::{ModuleId, TypeTag}, resolver::MoveResolver, @@ -173,7 +173,7 @@ impl<'r, 'l, S: MoveResolver> Session<'r, 'l, S> { /// This function should always succeed with no user errors returned, barring invariant violations. /// /// This MUST NOT be called if there is a previous invocation that failed with an invariant violation. - pub fn finish(self) -> (VMResult<(ChangeSet, Vec)>, S) { + pub fn finish(self) -> (VMResult, S) { let (res, remote) = self.data_cache.into_effects(); (res.map_err(|e| e.finish(Location::Undefined)), remote) } @@ -186,7 +186,7 @@ impl<'r, 'l, S: MoveResolver> Session<'r, 'l, S> { pub fn finish_with_extensions( self, ) -> ( - VMResult<(ChangeSet, Vec, NativeContextExtensions<'r>)>, + VMResult<(ChangeSet, NativeContextExtensions<'r>)>, S, ) { let Session { @@ -196,7 +196,7 @@ impl<'r, 'l, S: MoveResolver> Session<'r, 'l, S> { } = self; let (res, remote) = data_cache.into_effects(); ( - res.map(|(change_set, events)| (change_set, events, native_extensions)) + res.map(|change_set| (change_set, native_extensions)) .map_err(|e| e.finish(Location::Undefined)), remote, ) diff --git a/sui-execution/v0/sui-adapter/src/programmable_transactions/context.rs b/sui-execution/v0/sui-adapter/src/programmable_transactions/context.rs index e15558166cc92..bead8548416be 100644 --- a/sui-execution/v0/sui-adapter/src/programmable_transactions/context.rs +++ b/sui-execution/v0/sui-adapter/src/programmable_transactions/context.rs @@ -183,10 +183,8 @@ mod checked { // the session was just used for ability and layout metadata fetching, no changes should // exist. Plus, Sui Move does not use these changes or events let (res, linkage) = tmp_session.finish(); - let (change_set, move_events) = - res.map_err(|e| crate::error::convert_vm_error(e, vm, &linkage))?; + let change_set = res.map_err(|e| crate::error::convert_vm_error(e, vm, &linkage))?; assert_invariant!(change_set.accounts().is_empty(), "Change set must be empty"); - assert_invariant!(move_events.is_empty(), "Events must be empty"); // make the real session let session = new_session( vm, @@ -681,15 +679,13 @@ mod checked { } let (res, linkage) = session.finish_with_extensions(); - let (change_set, events, mut native_context_extensions) = + let (change_set, mut native_context_extensions) = res.map_err(|e| convert_vm_error(e, vm, &linkage))?; // Sui Move programs should never touch global state, so resources should be empty assert_invariant!( change_set.resources().next().is_none(), "Change set must be empty" ); - // Sui Move no longer uses Move's internal event system - assert_invariant!(events.is_empty(), "Events must be empty"); let object_runtime: ObjectRuntime = native_context_extensions.remove(); let new_ids = object_runtime.new_ids().clone(); // tell the object runtime what input objects were taken and which were transferred @@ -841,12 +837,11 @@ mod checked { } let (res, linkage) = tmp_session.finish(); - let (change_set, move_events) = res.map_err(|e| convert_vm_error(e, vm, &linkage))?; + let change_set = res.map_err(|e| convert_vm_error(e, vm, &linkage))?; // the session was just used for ability and layout metadata fetching, no changes should // exist. Plus, Sui Move does not use these changes or events assert_invariant!(change_set.accounts().is_empty(), "Change set must be empty"); - assert_invariant!(move_events.is_empty(), "Events must be empty"); Ok(ExecutionResults::V1(ExecutionResultsV1 { object_changes,