From 8844d570706c1e8827baf61b4d660ecca4140273 Mon Sep 17 00:00:00 2001 From: Nikita Strygin Date: Mon, 25 Dec 2023 11:40:34 +0300 Subject: [PATCH] [refactor] #3068: remove flattened events Signed-off-by: Nikita Strygin --- client/tests/integration/events/data.rs | 16 ++-- .../integration/triggers/data_trigger.rs | 22 ++++- .../integration/triggers/event_trigger.rs | 12 ++- configs/peer/executor.wasm | Bin 389245 -> 390610 bytes core/src/smartcontracts/isi/domain.rs | 2 +- core/src/wsv.rs | 8 +- data_model/src/events/data/events.rs | 80 +----------------- data_model/src/events/data/filters.rs | 78 +++++++++++------ docs/source/references/schema.json | 44 ++-------- tools/parity_scale_decoder/build.rs | 10 +-- .../parity_scale_decoder/samples/trigger.bin | Bin 76 -> 80 bytes .../parity_scale_decoder/samples/trigger.json | 7 +- tools/parity_scale_decoder/src/main.rs | 7 +- 13 files changed, 118 insertions(+), 168 deletions(-) diff --git a/client/tests/integration/events/data.rs b/client/tests/integration/events/data.rs index d3aa2a96834..9f914bb5bb3 100644 --- a/client/tests/integration/events/data.rs +++ b/client/tests/integration/events/data.rs @@ -181,46 +181,46 @@ fn produce_multiple_events() -> Result<()> { } let expected_domain_events: Vec = [ - WorldEvent::Domain(DomainEvent::Account(AccountEvent::PermissionAdded( + DataEvent::Domain(DomainEvent::Account(AccountEvent::PermissionAdded( AccountPermissionChanged { account_id: bob_id.clone(), permission_id: token_1.definition_id.clone(), }, ))), - WorldEvent::Domain(DomainEvent::Account(AccountEvent::PermissionAdded( + DataEvent::Domain(DomainEvent::Account(AccountEvent::PermissionAdded( AccountPermissionChanged { account_id: bob_id.clone(), permission_id: token_2.definition_id.clone(), }, ))), - WorldEvent::Domain(DomainEvent::Account(AccountEvent::RoleGranted( + DataEvent::Domain(DomainEvent::Account(AccountEvent::RoleGranted( AccountRoleChanged { account_id: bob_id.clone(), role_id: role_id.clone(), }, ))), - WorldEvent::Domain(DomainEvent::Account(AccountEvent::PermissionRemoved( + DataEvent::Domain(DomainEvent::Account(AccountEvent::PermissionRemoved( AccountPermissionChanged { account_id: bob_id.clone(), permission_id: token_1.definition_id, }, ))), - WorldEvent::Domain(DomainEvent::Account(AccountEvent::PermissionRemoved( + DataEvent::Domain(DomainEvent::Account(AccountEvent::PermissionRemoved( AccountPermissionChanged { account_id: bob_id.clone(), permission_id: token_2.definition_id, }, ))), - WorldEvent::Domain(DomainEvent::Account(AccountEvent::RoleRevoked( + DataEvent::Domain(DomainEvent::Account(AccountEvent::RoleRevoked( AccountRoleChanged { account_id: bob_id, role_id: role_id.clone(), }, ))), - WorldEvent::Role(RoleEvent::Deleted(role_id)), + DataEvent::Role(RoleEvent::Deleted(role_id)), ] .into_iter() - .flat_map(WorldEvent::flatten) + .map(Into::into) .collect(); for expected_event in expected_domain_events { diff --git a/client/tests/integration/triggers/data_trigger.rs b/client/tests/integration/triggers/data_trigger.rs index e7096f7b024..2c197c9da18 100644 --- a/client/tests/integration/triggers/data_trigger.rs +++ b/client/tests/integration/triggers/data_trigger.rs @@ -20,8 +20,15 @@ fn must_execute_both_triggers() -> Result<()> { [instruction.clone()], Repeats::Indefinitely, account_id.clone(), - TriggeringFilterBox::Data(BySome(DataEntityFilter::ByAccount(BySome( - AccountFilter::new(AcceptAll, BySome(AccountEventFilter::ByCreated)), + // FIXME: rewrite the filters using the builder DSL https://github.com/hyperledger/iroha/issues/3068 + TriggeringFilterBox::Data(BySome(DataEntityFilter::ByDomain(BySome( + DomainFilter::new( + AcceptAll, + BySome(DomainEventFilter::ByAccount(BySome(AccountFilter::new( + AcceptAll, + BySome(AccountEventFilter::ByCreated), + )))), + ), )))), ), )); @@ -86,8 +93,15 @@ fn domain_scoped_trigger_must_be_executed_only_on_events_in_its_domain() -> Resu [Mint::asset_quantity(1_u32, asset_id.clone())], Repeats::Indefinitely, account_id, - TriggeringFilterBox::Data(BySome(DataEntityFilter::ByAccount(BySome( - AccountFilter::new(AcceptAll, BySome(AccountEventFilter::ByCreated)), + // FIXME: rewrite the filters using the builder DSL https://github.com/hyperledger/iroha/issues/3068 + TriggeringFilterBox::Data(BySome(DataEntityFilter::ByDomain(BySome( + DomainFilter::new( + AcceptAll, + BySome(DomainEventFilter::ByAccount(BySome(AccountFilter::new( + AcceptAll, + BySome(AccountEventFilter::ByCreated), + )))), + ), )))), ), )); diff --git a/client/tests/integration/triggers/event_trigger.rs b/client/tests/integration/triggers/event_trigger.rs index 8269a244ad4..bc340775aff 100644 --- a/client/tests/integration/triggers/event_trigger.rs +++ b/client/tests/integration/triggers/event_trigger.rs @@ -24,10 +24,16 @@ fn test_mint_asset_when_new_asset_definition_created() -> Result<()> { vec![instruction], Repeats::Indefinitely, account_id, - TriggeringFilterBox::Data(BySome(DataEntityFilter::ByAssetDefinition(BySome( - AssetDefinitionFilter::new( + // FIXME: rewrite the filters using the builder DSL https://github.com/hyperledger/iroha/issues/3068 + TriggeringFilterBox::Data(BySome(DataEntityFilter::ByDomain(BySome( + DomainFilter::new( AcceptAll, - BySome(AssetDefinitionEventFilter::ByCreated), + BySome(DomainEventFilter::ByAssetDefinition(BySome( + AssetDefinitionFilter::new( + AcceptAll, + BySome(AssetDefinitionEventFilter::ByCreated), + ), + ))), ), )))), ), diff --git a/configs/peer/executor.wasm b/configs/peer/executor.wasm index 48c0f25b41cc2e2c2b2ef6a26a9d75b19fd5ad4d..7af36698d6cf6663f58b1f0a0e07e4bcce86101e 100644 GIT binary patch delta 135708 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 delta 132396 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 diff --git a/core/src/smartcontracts/isi/domain.rs b/core/src/smartcontracts/isi/domain.rs index 81855321e7c..2912b511b09 100644 --- a/core/src/smartcontracts/isi/domain.rs +++ b/core/src/smartcontracts/isi/domain.rs @@ -179,7 +179,7 @@ pub mod isi { domain.remove_asset_total_quantity(&asset_definition_id); - events.push(WorldEvent::from(DomainEvent::AssetDefinition( + events.push(DataEvent::from(DomainEvent::AssetDefinition( AssetDefinitionEvent::Deleted(asset_definition_id), ))); diff --git a/core/src/wsv.rs b/core/src/wsv.rs index 0e653e6c488..2bbf58ff7ca 100644 --- a/core/src/wsv.rs +++ b/core/src/wsv.rs @@ -1252,7 +1252,7 @@ impl WorldStateView { /// The function puts events produced by iterator into `events_buffer`. /// Events should be produced in the order of expanding scope: from specific to general. /// Example: account events before domain events. - pub fn emit_events, T: Into>(&mut self, world_events: I) { + pub fn emit_events, T: Into>(&mut self, world_events: I) { Self::emit_events_impl( &mut self.world.triggers, &mut self.events_buffer, @@ -1263,7 +1263,7 @@ impl WorldStateView { /// Implementation of [`Self::emit_events()`]. /// /// Usable when you can't call [`Self::emit_events()`] due to mutable reference to self. - fn emit_events_impl, T: Into>( + fn emit_events_impl, T: Into>( triggers: &mut TriggerSet, events_buffer: &mut Vec, world_events: I, @@ -1271,7 +1271,7 @@ impl WorldStateView { let data_events: SmallVec<[DataEvent; 3]> = world_events .into_iter() .map(Into::into) - .flat_map(WorldEvent::flatten) + .map(Into::into) .collect(); for event in data_events.iter() { @@ -1285,7 +1285,7 @@ impl WorldStateView { /// Produces [`PermissionTokenSchemaUpdateEvent`]. pub fn set_permission_token_schema(&mut self, schema: PermissionTokenSchema) { let old_schema = std::mem::replace(&mut self.world.permission_token_schema, schema.clone()); - self.emit_events(std::iter::once(WorldEvent::PermissionTokenSchemaUpdate( + self.emit_events(std::iter::once(DataEvent::PermissionToken( PermissionTokenSchemaUpdateEvent { old_schema, new_schema: schema, diff --git a/data_model/src/events/data/events.rs b/data_model/src/events/data/events.rs index 90f1caf2cf8..c08b9e504c0 100644 --- a/data_model/src/events/data/events.rs +++ b/data_model/src/events/data/events.rs @@ -3,7 +3,6 @@ use getset::Getters; use iroha_data_model_derive::{model, Filter, HasOrigin}; -use iroha_primitives::small::SmallVec; pub use self::model::*; use super::*; @@ -61,22 +60,6 @@ pub mod model { pub value: Box, } - /// World event - /// - /// Does not participate in `Event`, but useful for events warranties when modifying `wsv` - #[derive( - Debug, Clone, PartialEq, Eq, FromVariant, Decode, Encode, Deserialize, Serialize, IntoSchema, - )] - pub enum WorldEvent { - Peer(peer::PeerEvent), - Domain(domain::DomainEvent), - Role(role::RoleEvent), - Trigger(trigger::TriggerEvent), - PermissionTokenSchemaUpdate(permission::PermissionTokenSchemaUpdateEvent), - Configuration(config::ConfigurationEvent), - Executor(executor::ExecutorEvent), - } - /// Event #[derive( Debug, @@ -98,12 +81,6 @@ pub mod model { Peer(peer::PeerEvent), /// Domain event Domain(domain::DomainEvent), - /// Account event - Account(account::AccountEvent), - /// Asset definition event - AssetDefinition(asset::AssetDefinitionEvent), - /// Asset event - Asset(asset::AssetEvent), /// Trigger event Trigger(trigger::TriggerEvent), /// Role event @@ -629,65 +606,19 @@ pub trait HasOrigin { fn origin_id(&self) -> &::Id; } -impl WorldEvent { - /// Unfold [`Self`] and return vector of [`Event`]s in the expanding scope order: from specific to general. - /// E.g [`AssetEvent`] -> [`AccountEvent`] -> [`DomainEvent`] - pub fn flatten(self) -> SmallVec<[DataEvent; 3]> { - let mut events = SmallVec::new(); - - match self { - WorldEvent::Domain(domain_event) => { - match &domain_event { - DomainEvent::Account(account_event) => { - if let AccountEvent::Asset(asset_event) = account_event { - events.push(DataEvent::Asset(asset_event.clone())); - } - events.push(DataEvent::Account(account_event.clone())); - } - DomainEvent::AssetDefinition(asset_definition_event) => { - events.push(DataEvent::AssetDefinition(asset_definition_event.clone())); - } - _ => (), - } - events.push(DataEvent::Domain(domain_event)); - } - WorldEvent::Peer(peer_event) => { - events.push(DataEvent::Peer(peer_event)); - } - WorldEvent::Role(role_event) => { - events.push(DataEvent::Role(role_event)); - } - WorldEvent::Trigger(trigger_event) => { - events.push(DataEvent::Trigger(trigger_event)); - } - WorldEvent::PermissionTokenSchemaUpdate(token_event) => { - events.push(DataEvent::PermissionToken(token_event)); - } - WorldEvent::Configuration(config_event) => { - events.push(DataEvent::Configuration(config_event)); - } - WorldEvent::Executor(executor_event) => { - events.push(DataEvent::Executor(executor_event)); - } - } - - events - } -} - -impl From for WorldEvent { +impl From for DataEvent { fn from(value: AccountEvent) -> Self { DomainEvent::Account(value).into() } } -impl From for WorldEvent { +impl From for DataEvent { fn from(value: AssetDefinitionEvent) -> Self { DomainEvent::AssetDefinition(value).into() } } -impl From for WorldEvent { +impl From for DataEvent { fn from(value: AssetEvent) -> Self { AccountEvent::Asset(value).into() } @@ -698,9 +629,6 @@ impl DataEvent { pub fn domain_id(&self) -> Option<&DomainId> { match self { Self::Domain(event) => Some(event.origin_id()), - Self::Account(event) => Some(&event.origin_id().domain_id), - Self::AssetDefinition(event) => Some(&event.origin_id().domain_id), - Self::Asset(event) => Some(&event.origin_id().definition_id.domain_id), Self::Trigger(event) => event.origin_id().domain_id.as_ref(), Self::Peer(_) | Self::Configuration(_) @@ -731,6 +659,6 @@ pub mod prelude { trigger::{ TriggerEvent, TriggerEventFilter, TriggerFilter, TriggerNumberOfExecutionsChanged, }, - DataEvent, HasOrigin, MetadataChanged, WorldEvent, + DataEvent, HasOrigin, MetadataChanged, }; } diff --git a/data_model/src/events/data/filters.rs b/data_model/src/events/data/filters.rs index 30d4029e018..c03b9b7c6b6 100644 --- a/data_model/src/events/data/filters.rs +++ b/data_model/src/events/data/filters.rs @@ -52,12 +52,6 @@ pub mod model { ByPeer(FilterOpt), /// Filter by Domain entity. `AcceptAll` value will accept all `Domain` events ByDomain(FilterOpt), - /// Filter by Account entity. `AcceptAll` value will accept all `Account` events - ByAccount(FilterOpt), - /// Filter by AssetDefinition entity. `AcceptAll` value will accept all `AssetDefinition` events - ByAssetDefinition(FilterOpt), - /// Filter by Asset entity. `AcceptAll` value will accept all `Asset` events - ByAsset(FilterOpt), /// Filter by Trigger entity. `AcceptAll` value will accept all `Trigger` events ByTrigger(FilterOpt), /// Filter by Role entity. `AcceptAll` value will accept all `Role` events @@ -145,13 +139,9 @@ impl Filter for DataEntityFilter { match (self, event) { (Self::ByPeer(filter_opt), DataEvent::Peer(peer)) => filter_opt.matches(peer), (Self::ByDomain(filter_opt), DataEvent::Domain(domain)) => filter_opt.matches(domain), - (Self::ByAccount(filter_opt), DataEvent::Account(account)) => { - filter_opt.matches(account) + (Self::ByTrigger(filter_opt), DataEvent::Trigger(trigger)) => { + filter_opt.matches(trigger) } - (Self::ByAssetDefinition(filter_opt), DataEvent::AssetDefinition(asset_definition)) => { - filter_opt.matches(asset_definition) - } - (Self::ByAsset(filter_opt), DataEvent::Asset(asset)) => filter_opt.matches(asset), (Self::ByRole(filter_opt), DataEvent::Role(role)) => filter_opt.matches(role), _ => false, } @@ -241,22 +231,60 @@ mod tests { metadata: Metadata::default(), }; let asset_id = AssetId::new( - AssetDefinitionId::new(asset_name, domain_id), + AssetDefinitionId::new(asset_name, domain_id.clone()), account_id.clone(), ); - let asset = Asset::new(asset_id, 0u32); - - let domain_created = DomainEvent::Created(domain); - let account_created = AccountEvent::Created(account); - let asset_created = AssetEvent::Created(asset); - let account_asset_created = AccountEvent::Asset(asset_created.clone()); - let account_filter = BySome(DataEntityFilter::ByAccount(BySome(AccountFilter::new( - BySome(OriginFilter(account_id)), + let asset = Asset::new(asset_id.clone(), 0u32); + + // Create three events with three levels of nesting + // the first one is just a domain event + // the second one is an account event with a domain event inside + // the third one is an asset event with an account event with a domain event inside + let domain_created = DomainEvent::Created(domain).into(); + let account_created = DomainEvent::Account(AccountEvent::Created(account)).into(); + let asset_created = + DomainEvent::Account(AccountEvent::Asset(AssetEvent::Created(asset))).into(); + + // test how the differently nested filters with with the events + // FIXME: rewrite the filters using the builder DSL https://github.com/hyperledger/iroha/issues/3068 + let domain_filter = BySome(DataEntityFilter::ByDomain(BySome(DomainFilter::new( + BySome(OriginFilter(domain_id)), + AcceptAll, + )))); + let account_filter = BySome(DataEntityFilter::ByDomain(BySome(DomainFilter::new( + // kind of unfortunately, we have to specify the domain id filter, + // even though we will filter it with the account id filter (account id contains domain id with and account name) + // FIXME: maybe make this more orthogonal by introducing a partial id (in account event filter only by account name) AcceptAll, + BySome(DomainEventFilter::ByAccount(BySome(AccountFilter::new( + BySome(OriginFilter(account_id)), + AcceptAll, + )))), )))); - assert!(!account_filter.matches(&domain_created.into())); - assert!(!account_filter.matches(&asset_created.into())); - assert!(account_filter.matches(&account_created.into())); - assert!(account_filter.matches(&account_asset_created.into())); + let asset_filter = BySome(DataEntityFilter::ByDomain(BySome(DomainFilter::new( + AcceptAll, + BySome(DomainEventFilter::ByAccount(BySome(AccountFilter::new( + AcceptAll, + BySome(AccountEventFilter::ByAsset(BySome(AssetFilter::new( + BySome(OriginFilter(asset_id)), + AcceptAll, + )))), + )))), + )))); + + // domain filter matches all of those, because all of those events happened in the same domain + assert!(domain_filter.matches(&domain_created)); + assert!(domain_filter.matches(&account_created)); + assert!(domain_filter.matches(&asset_created)); + + // account event does not match the domain created event, as it is not an account event + assert!(!account_filter.matches(&domain_created)); + assert!(account_filter.matches(&account_created)); + assert!(account_filter.matches(&asset_created)); + + // asset event matches only the domain->account->asset event + assert!(!asset_filter.matches(&domain_created)); + assert!(!asset_filter.matches(&account_created)); + assert!(asset_filter.matches(&asset_created)); } } diff --git a/docs/source/references/schema.json b/docs/source/references/schema.json index a4640d1122e..3ac32350d43 100644 --- a/docs/source/references/schema.json +++ b/docs/source/references/schema.json @@ -876,29 +876,14 @@ "discriminant": 1, "type": "FilterOpt" }, - { - "tag": "ByAccount", - "discriminant": 2, - "type": "FilterOpt" - }, - { - "tag": "ByAssetDefinition", - "discriminant": 3, - "type": "FilterOpt" - }, - { - "tag": "ByAsset", - "discriminant": 4, - "type": "FilterOpt" - }, { "tag": "ByTrigger", - "discriminant": 5, + "discriminant": 2, "type": "FilterOpt" }, { "tag": "ByRole", - "discriminant": 6, + "discriminant": 3, "type": "FilterOpt" } ] @@ -915,44 +900,29 @@ "discriminant": 1, "type": "DomainEvent" }, - { - "tag": "Account", - "discriminant": 2, - "type": "AccountEvent" - }, - { - "tag": "AssetDefinition", - "discriminant": 3, - "type": "AssetDefinitionEvent" - }, - { - "tag": "Asset", - "discriminant": 4, - "type": "AssetEvent" - }, { "tag": "Trigger", - "discriminant": 5, + "discriminant": 2, "type": "TriggerEvent" }, { "tag": "Role", - "discriminant": 6, + "discriminant": 3, "type": "RoleEvent" }, { "tag": "PermissionToken", - "discriminant": 7, + "discriminant": 4, "type": "PermissionTokenSchemaUpdateEvent" }, { "tag": "Configuration", - "discriminant": 8, + "discriminant": 5, "type": "ConfigurationEvent" }, { "tag": "Executor", - "discriminant": 9, + "discriminant": 6, "type": "ExecutorEvent" } ] diff --git a/tools/parity_scale_decoder/build.rs b/tools/parity_scale_decoder/build.rs index 58e3db5dbd8..49223203f69 100644 --- a/tools/parity_scale_decoder/build.rs +++ b/tools/parity_scale_decoder/build.rs @@ -23,13 +23,11 @@ where path_to.push("samples/"); path_to.push(filename); - let mut path_to_json_sample = path_to.clone(); - path_to_json_sample.set_extension("json"); + let path_to_json = path_to.with_extension("json"); + let path_to_binary = path_to.with_extension("bin"); - let mut path_to_binary = path_to; - path_to_binary.set_extension("bin"); - - let buf = fs::read_to_string(path_to_json_sample)?; + println!("cargo:rerun-if-changed={}", path_to_json.to_str().unwrap()); + let buf = fs::read_to_string(path_to_json)?; let sample = serde_json::from_str::(buf.as_str())?; diff --git a/tools/parity_scale_decoder/samples/trigger.bin b/tools/parity_scale_decoder/samples/trigger.bin index 9d08440887748d63b32d6564b5608c27bf9b9241..4ad7ccdfd9e315c9e96cef5a1dab82facefc5e8c 100644 GIT binary patch delta 12 TcmeYXnBd9I$jHFR%D?~s50wFh delta 8 PcmWIWnc&IH#J~Um33~y1 diff --git a/tools/parity_scale_decoder/samples/trigger.json b/tools/parity_scale_decoder/samples/trigger.json index b37816c0352..2cf26cf26f3 100644 --- a/tools/parity_scale_decoder/samples/trigger.json +++ b/tools/parity_scale_decoder/samples/trigger.json @@ -19,7 +19,12 @@ "authority": "alice@wonderland", "filter": { "Data": { - "ByAccount": "AcceptAll" + "ByDomain": { + "origin_filter": "AcceptAll", + "event_filter": { + "ByAccount": "AcceptAll" + } + } } }, "metadata": {} diff --git a/tools/parity_scale_decoder/src/main.rs b/tools/parity_scale_decoder/src/main.rs index 47dc7801e7a..c57d0d1a7cb 100644 --- a/tools/parity_scale_decoder/src/main.rs +++ b/tools/parity_scale_decoder/src/main.rs @@ -264,9 +264,10 @@ mod tests { vec![Mint::asset_quantity(1_u32, rose_id)], Repeats::Indefinitely, account_id, - FilterBox::Data(DataEventFilter::BySome(DataEntityFilter::ByAccount( - AcceptAll, - ))), + // FIXME: rewrite the filters using the builder DSL https://github.com/hyperledger/iroha/issues/3068 + FilterBox::Data(BySome(DataEntityFilter::ByDomain(BySome( + DomainFilter::new(AcceptAll, BySome(DomainEventFilter::ByAccount(AcceptAll))), + )))), ); let trigger = Trigger::new(trigger_id, action);