From c8b8d7b7dc9b024068dc7795a612832bcdbac433 Mon Sep 17 00:00:00 2001 From: Nurzhan Saken Date: Thu, 6 Jun 2024 13:23:25 +0400 Subject: [PATCH] refactor: remove domain from trigger identity (#4640) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nurzhan Sakén --- client/examples/register_1000_triggers.rs | 3 +- client/src/client.rs | 18 +++- .../integration/domain_owner_permissions.rs | 2 +- .../integration/triggers/data_trigger.rs | 80 ++++------------- client/tests/integration/triggers/mod.rs | 1 + client/tests/integration/triggers/orphans.rs | 78 ++++++++++++++++ .../integration/triggers/time_trigger.rs | 4 +- client_cli/pytests/common/consts.py | 6 +- configs/swarm/executor.wasm | Bin 516755 -> 510842 bytes core/src/query/store.rs | 2 +- core/src/smartcontracts/isi/domain.rs | 30 +++++-- core/src/smartcontracts/isi/query.rs | 3 +- core/src/smartcontracts/isi/triggers/mod.rs | 45 ++++++++-- core/src/smartcontracts/isi/triggers/set.rs | 84 ++++++++---------- core/src/smartcontracts/isi/world.rs | 37 +++++--- data_model/src/events/data/events.rs | 7 +- data_model/src/lib.rs | 3 +- data_model/src/name.rs | 6 +- data_model/src/query/mod.rs | 28 ++++-- data_model/src/trigger.rs | 49 ++-------- data_model/src/visit.rs | 9 +- docs/source/references/schema.json | 33 ++++--- schema/gen/src/lib.rs | 3 +- smart_contract/executor/src/default.rs | 22 ++--- smart_contract/executor/src/permission.rs | 7 +- tools/parity_scale_cli/samples/trigger.bin | Bin 132 -> 131 bytes 26 files changed, 319 insertions(+), 241 deletions(-) create mode 100644 client/tests/integration/triggers/orphans.rs diff --git a/client/examples/register_1000_triggers.rs b/client/examples/register_1000_triggers.rs index 7c0f3b52139..eedb84642f3 100644 --- a/client/examples/register_1000_triggers.rs +++ b/client/examples/register_1000_triggers.rs @@ -1,6 +1,5 @@ //! Example of registering multiple triggers //! Used to show Iroha's trigger deduplication capabilities -use std::str::FromStr; use iroha::{client::Client, data_model::prelude::*}; use iroha_crypto::KeyPair; @@ -47,7 +46,7 @@ fn generate_genesis( let builder = (0..num_triggers) .map(|i| { - let trigger_id = TriggerId::new(None, Name::from_str(&i.to_string()).unwrap()); + let trigger_id = i.to_string().parse::().unwrap(); let trigger = build_trigger(trigger_id); Register::trigger(trigger) }) diff --git a/client/src/client.rs b/client/src/client.rs index 013e30403b7..a86c3c37c50 100644 --- a/client/src/client.rs +++ b/client/src/client.rs @@ -1527,9 +1527,21 @@ pub mod trigger { //! Module with queries for triggers use super::*; - /// Construct a query to get triggers by domain id - pub fn by_domain_id(domain_id: DomainId) -> FindTriggersByDomainId { - FindTriggersByDomainId::new(domain_id) + /// Construct a query to get a trigger by its id + pub fn by_id(trigger_id: TriggerId) -> FindTriggerById { + FindTriggerById::new(trigger_id) + } + + /// Construct a query to find all triggers executable + /// on behalf of the given account. + pub fn by_authority(account_id: AccountId) -> FindTriggersByAuthorityId { + FindTriggersByAuthorityId::new(account_id) + } + + /// Construct a query to find all triggers executable + /// on behalf of any account belonging to the given domain. + pub fn by_domain_of_authority(domain_id: DomainId) -> FindTriggersByAuthorityDomainId { + FindTriggersByAuthorityDomainId::new(domain_id) } } diff --git a/client/tests/integration/domain_owner_permissions.rs b/client/tests/integration/domain_owner_permissions.rs index 60a90789147..54ebd1e7c9c 100644 --- a/client/tests/integration/domain_owner_permissions.rs +++ b/client/tests/integration/domain_owner_permissions.rs @@ -268,7 +268,7 @@ fn domain_owner_trigger_permissions() -> Result<()> { let asset_definition_id = "rose#wonderland".parse()?; let asset_id = AssetId::new(asset_definition_id, alice_id.clone()); - let trigger_id: TriggerId = "trigger$kingdom".parse()?; + let trigger_id: TriggerId = "my_trigger".parse()?; let trigger_instructions = vec![Mint::asset_numeric(1u32, asset_id)]; let register_trigger = Register::trigger(Trigger::new( diff --git a/client/tests/integration/triggers/data_trigger.rs b/client/tests/integration/triggers/data_trigger.rs index b4c9789ea63..06ce5a2400e 100644 --- a/client/tests/integration/triggers/data_trigger.rs +++ b/client/tests/integration/triggers/data_trigger.rs @@ -1,6 +1,5 @@ use eyre::Result; use iroha::{client, data_model::prelude::*}; -use iroha_data_model::asset::AssetValue; use test_network::*; use test_samples::{gen_account_in, ALICE_ID}; @@ -13,6 +12,17 @@ fn must_execute_both_triggers() -> Result<()> { let asset_definition_id = "rose#wonderland".parse()?; let asset_id = AssetId::new(asset_definition_id, account_id.clone()); + let get_asset_value = |iroha: &client::Client, asset_id: AssetId| -> Numeric { + match *iroha + .request(client::asset::by_id(asset_id)) + .unwrap() + .value() + { + AssetValue::Numeric(val) => val, + _ => panic!("Expected u32 asset value"), + } + }; + let prev_value = get_asset_value(&test_client, asset_id.clone()); let instruction = Mint::asset_numeric(1u32, asset_id.clone()); @@ -41,72 +51,14 @@ fn must_execute_both_triggers() -> Result<()> { test_client.submit_blocking(Register::account(Account::new( gen_account_in("wonderland").0, )))?; - test_client.submit_blocking(Register::domain(Domain::new("neverland".parse()?)))?; - - let new_value = get_asset_value(&test_client, asset_id); - assert_eq!(new_value, prev_value.checked_add(numeric!(2)).unwrap()); - - Ok(()) -} - -#[test] -fn domain_scoped_trigger_must_be_executed_only_on_events_in_its_domain() -> Result<()> { - let (_rt, _peer, test_client) = ::new().with_port(10_655).start_with_runtime(); - wait_for_genesis_committed(&[test_client.clone()], 0); - - let create_neverland_domain: InstructionBox = - Register::domain(Domain::new("neverland".parse()?)).into(); - - let (account_id, _account_keypair) = gen_account_in("neverland"); - let create_sapporo_account = Register::account(Account::new(account_id.clone())).into(); - - let asset_definition_id: AssetDefinitionId = "sakura#neverland".parse()?; - let create_sakura_asset_definition = - Register::asset_definition(AssetDefinition::numeric(asset_definition_id.clone())).into(); - - let asset_id = AssetId::new(asset_definition_id, account_id.clone()); - let create_sakura_asset = Register::asset(Asset::new(asset_id.clone(), 0_u32)).into(); - - test_client.submit_all_blocking([ - create_neverland_domain, - create_sapporo_account, - create_sakura_asset_definition, - create_sakura_asset, - ])?; - - let prev_value = get_asset_value(&test_client, asset_id.clone()); - - let register_trigger = Register::trigger(Trigger::new( - "mint_sakura$neverland".parse()?, - Action::new( - [Mint::asset_numeric(1u32, asset_id.clone())], - Repeats::Indefinitely, - account_id, - AccountEventFilter::new().for_events(AccountEventSet::Created), - ), - )); - test_client.submit_blocking(register_trigger)?; - test_client.submit_blocking(Register::account(Account::new( - gen_account_in("wonderland").0, - )))?; + let new_value = get_asset_value(&test_client, asset_id.clone()); + assert_eq!(new_value, prev_value.checked_add(numeric!(1)).unwrap()); - test_client.submit_blocking(Register::account(Account::new( - gen_account_in("neverland").0, - )))?; + test_client.submit_blocking(Register::domain(Domain::new("neverland".parse()?)))?; - let new_value = get_asset_value(&test_client, asset_id); - assert_eq!(new_value, prev_value.checked_add(Numeric::ONE).unwrap()); + let newer_value = get_asset_value(&test_client, asset_id); + assert_eq!(newer_value, new_value.checked_add(numeric!(1)).unwrap()); Ok(()) } - -fn get_asset_value(client: &client::Client, asset_id: AssetId) -> Numeric { - let asset = client.request(client::asset::by_id(asset_id)).unwrap(); - - let AssetValue::Numeric(val) = *asset.value() else { - panic!("Expected u32 asset value") - }; - - val -} diff --git a/client/tests/integration/triggers/mod.rs b/client/tests/integration/triggers/mod.rs index 854da8753d3..f0d2c08b2d6 100644 --- a/client/tests/integration/triggers/mod.rs +++ b/client/tests/integration/triggers/mod.rs @@ -1,5 +1,6 @@ mod by_call_trigger; mod data_trigger; mod event_trigger; +mod orphans; mod time_trigger; mod trigger_rollback; diff --git a/client/tests/integration/triggers/orphans.rs b/client/tests/integration/triggers/orphans.rs new file mode 100644 index 00000000000..37602773cfd --- /dev/null +++ b/client/tests/integration/triggers/orphans.rs @@ -0,0 +1,78 @@ +use iroha::{ + client::{trigger, Client}, + data_model::prelude::*, +}; +use test_network::{wait_for_genesis_committed, Peer, PeerBuilder}; +use test_samples::gen_account_in; +use tokio::runtime::Runtime; + +fn find_trigger(iroha: &Client, trigger_id: TriggerId) -> Option { + iroha + .build_query(trigger::by_id(trigger_id)) + .execute() + .ok() + .map(|trigger| trigger.id) +} + +fn set_up_trigger( + port: u16, +) -> eyre::Result<(Runtime, Peer, Client, DomainId, AccountId, TriggerId)> { + let (rt, peer, iroha) = ::new().with_port(port).start_with_runtime(); + wait_for_genesis_committed(&[iroha.clone()], 0); + + let failand: DomainId = "failand".parse()?; + let create_failand: InstructionBox = Register::domain(Domain::new(failand.clone())).into(); + + let (the_one_who_fails, _account_keypair) = gen_account_in(failand.name()); + let create_the_one_who_fails: InstructionBox = + Register::account(Account::new(the_one_who_fails.clone())).into(); + + let fail_on_account_events = "fail".parse::()?; + let register_fail_on_account_events: InstructionBox = Register::trigger(Trigger::new( + fail_on_account_events.clone(), + Action::new( + [Fail::new(":(".to_owned())], + Repeats::Indefinitely, + the_one_who_fails.clone(), + AccountEventFilter::new(), + ), + )) + .into(); + iroha.submit_all_blocking([ + create_failand, + create_the_one_who_fails, + register_fail_on_account_events, + ])?; + Ok(( + rt, + peer, + iroha, + failand, + the_one_who_fails, + fail_on_account_events, + )) +} + +#[test] +fn trigger_must_be_removed_on_action_authority_account_removal() -> eyre::Result<()> { + let (_rt, _peer, iroha, _, the_one_who_fails, fail_on_account_events) = set_up_trigger(10_565)?; + assert_eq!( + find_trigger(&iroha, fail_on_account_events.clone()), + Some(fail_on_account_events.clone()) + ); + iroha.submit_blocking(Unregister::account(the_one_who_fails.clone()))?; + assert_eq!(find_trigger(&iroha, fail_on_account_events.clone()), None); + Ok(()) +} + +#[test] +fn trigger_must_be_removed_on_action_authority_domain_removal() -> eyre::Result<()> { + let (_rt, _peer, iroha, failand, _, fail_on_account_events) = set_up_trigger(10_505)?; + assert_eq!( + find_trigger(&iroha, fail_on_account_events.clone()), + Some(fail_on_account_events.clone()) + ); + iroha.submit_blocking(Unregister::domain(failand.clone()))?; + assert_eq!(find_trigger(&iroha, fail_on_account_events.clone()), None); + Ok(()) +} diff --git a/client/tests/integration/triggers/time_trigger.rs b/client/tests/integration/triggers/time_trigger.rs index 7dde83840bc..f56901cf273 100644 --- a/client/tests/integration/triggers/time_trigger.rs +++ b/client/tests/integration/triggers/time_trigger.rs @@ -242,8 +242,8 @@ fn mint_nft_for_every_user_every_1_sec() -> Result<()> { // Registering trigger let start_time = curr_time(); - let schedule = - TimeSchedule::starting_at(start_time).with_period(Duration::from_millis(TRIGGER_PERIOD_MS)); + let schedule = TimeSchedule::starting_at(start_time + Duration::from_secs(5)) + .with_period(Duration::from_millis(TRIGGER_PERIOD_MS)); let register_trigger = Register::trigger(Trigger::new( "mint_nft_for_all".parse()?, Action::new( diff --git a/client_cli/pytests/common/consts.py b/client_cli/pytests/common/consts.py index 2f4d2b7dc26..c46337ff847 100644 --- a/client_cli/pytests/common/consts.py +++ b/client_cli/pytests/common/consts.py @@ -22,8 +22,8 @@ class Stderr(Enum): INVALID_CHARACTER = "Failed to parse" INVALID_VALUE_TYPE = "should be either `Store` or `Numeric`" RESERVED_CHARACTER = ( - "The `@` character is reserved for `account@domain` constructs," - " `#` — for `asset#domain` and `$` — for `trigger$domain`." + "The `@` character is reserved for `account@domain` constructs, " + "and `#` — for `asset#domain`." ) WHITESPACES = "White space not allowed" INSUFFICIENT_FUNDS = "Not enough quantity to transfer/burn" @@ -34,7 +34,7 @@ class ReservedChars(Enum): Enum for reserved characters in names. """ - SPECIAL = "@#$" + SPECIAL = "@#" WHITESPACES = string.whitespace ALL = SPECIAL + WHITESPACES diff --git a/configs/swarm/executor.wasm b/configs/swarm/executor.wasm index 7347700b6937b64d265e91ce4a2c3b0811bc09c1..bf5b29743bbb3fabb2dac0c25995438d7e17d8a9 100644 GIT binary patch delta 193981 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%0API#LV9+NZYdnqEy?DXKS$Bc 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 z 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 E4}7}1zyJUM delta 204561 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≠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 diff --git a/core/src/query/store.rs b/core/src/query/store.rs index 3cadc0d9831..be9da50dbd3 100644 --- a/core/src/query/store.rs +++ b/core/src/query/store.rs @@ -130,7 +130,7 @@ impl LiveQueryStore { } fn remove(&mut self, query_id: &str) -> Option { - self.queries.remove(query_id).map(|(output, _)| output) + self.queries.swap_remove(query_id).map(|(output, _)| output) } } diff --git a/core/src/smartcontracts/isi/domain.rs b/core/src/smartcontracts/isi/domain.rs index b3c2ac376c3..a2b2023c03e 100644 --- a/core/src/smartcontracts/isi/domain.rs +++ b/core/src/smartcontracts/isi/domain.rs @@ -83,16 +83,36 @@ pub mod isi { ) -> Result<(), Error> { let account_id = self.object_id; - let domain = state_transaction.world.domain_mut(&account_id.domain_id)?; - if domain.remove_account(&account_id).is_none() { + state_transaction + .world() + .triggers() + .inspect_by_action( + |action| action.authority() == &account_id, + |trigger_id, _| trigger_id.clone(), + ) + .collect::>() + .into_iter() + .for_each(|trigger_id| { + state_transaction + .world + .triggers + .remove(trigger_id) + .then_some(()) + .expect("should succeed") + }); + + if state_transaction + .world + .domain_mut(&account_id.domain_id)? + .remove_account(&account_id) + .is_none() + { return Err(FindError::Account(account_id).into()); } state_transaction .world - .emit_events(Some(DomainEvent::Account(AccountEvent::Deleted( - account_id, - )))); + .emit_events(Some(AccountEvent::Deleted(account_id))); Ok(()) } diff --git a/core/src/smartcontracts/isi/query.rs b/core/src/smartcontracts/isi/query.rs index 8add9f440ea..29fd34c6c73 100644 --- a/core/src/smartcontracts/isi/query.rs +++ b/core/src/smartcontracts/isi/query.rs @@ -280,7 +280,8 @@ impl ValidQuery for QueryBox { FindTransactionsByAccountId, FindPermissionsByAccountId, FindAllActiveTriggerIds, - FindTriggersByDomainId, + FindTriggersByAuthorityId, + FindTriggersByAuthorityDomainId, FindAllRoles, FindAllRoleIds, FindRolesByAccountId, diff --git a/core/src/smartcontracts/isi/triggers/mod.rs b/core/src/smartcontracts/isi/triggers/mod.rs index 225f4f6a84f..8aecd9f859d 100644 --- a/core/src/smartcontracts/isi/triggers/mod.rs +++ b/core/src/smartcontracts/isi/triggers/mod.rs @@ -120,13 +120,13 @@ pub mod isi { _authority: &AccountId, state_transaction: &mut StateTransaction<'_, '_>, ) -> Result<(), Error> { - let trigger_id = self.object_id.clone(); + let trigger_id = self.object_id; let triggers = &mut state_transaction.world.triggers; if triggers.remove(trigger_id.clone()) { state_transaction .world - .emit_events(Some(TriggerEvent::Deleted(self.object_id))); + .emit_events(Some(TriggerEvent::Deleted(trigger_id))); Ok(()) } else { Err(RepetitionError { @@ -383,21 +383,50 @@ pub mod query { } } - impl ValidQuery for FindTriggersByDomainId { - #[metrics(+"find_triggers_by_domain_id")] + impl ValidQuery for FindTriggersByAuthorityId { + #[metrics(+"find_triggers_by_authority_id")] + fn execute<'state>( + &self, + state_ro: &'state impl StateReadOnly, + ) -> eyre::Result + 'state>, Error> { + let account_id = self.account_id.clone(); + + Ok(Box::new( + state_ro + .world() + .triggers() + .inspect_by_action( + move |action| action.authority() == &account_id, + |trigger_id, action| (trigger_id.clone(), action.clone_and_box()), + ) + .map(|(trigger_id, action)| { + let action = state_ro + .world() + .triggers() + .get_original_action(action) + .into(); + Trigger::new(trigger_id, action) + }), + )) + } + } + + impl ValidQuery for FindTriggersByAuthorityDomainId { + #[metrics(+"find_triggers_by_authority_domain_id")] fn execute<'state>( &self, state_ro: &'state impl StateReadOnly, ) -> eyre::Result + 'state>, Error> { - let domain_id = &self.domain_id; + let domain_id = self.domain_id.clone(); Ok(Box::new( state_ro .world() .triggers() - .inspect_by_domain_id(domain_id, |trigger_id, action| { - (trigger_id.clone(), action.clone_and_box()) - }) + .inspect_by_action( + move |action| action.authority().domain_id() == &domain_id, + |trigger_id, action| (trigger_id.clone(), action.clone_and_box()), + ) .map(|(trigger_id, action)| { let action = state_ro .world() diff --git a/core/src/smartcontracts/isi/triggers/set.rs b/core/src/smartcontracts/isi/triggers/set.rs index f5baa02534b..d7781f7acb2 100644 --- a/core/src/smartcontracts/isi/triggers/set.rs +++ b/core/src/smartcontracts/isi/triggers/set.rs @@ -409,51 +409,44 @@ pub trait SetReadOnly { }) } - /// Apply `f` to triggers that belong to the given [`DomainId`] + /// Apply `f` to triggers whose action satisfies the predicate. /// - /// Return an empty list if [`Set`] doesn't contain any triggers belonging to [`DomainId`]. - fn inspect_by_domain_id<'a, F, R>( - &'a self, - domain_id: &DomainId, - f: F, - ) -> impl Iterator + '_ + /// Return an empty list if [`Set`] doesn't contain any such triggers. + fn inspect_by_action<'a, P, F, R>(&'a self, filter: P, f: F) -> impl Iterator + '_ where + P: Fn(&dyn LoadedActionTrait) -> bool + 'a, F: Fn(&TriggerId, &dyn LoadedActionTrait) -> R + 'a, { - let domain_id = domain_id.clone(); - - self.ids().iter().filter_map(move |(id, event_type)| { - let trigger_domain_id = id.domain_id.as_ref()?; - - if *trigger_domain_id != domain_id { - return None; - } - - let result = match event_type { - TriggeringEventType::Data => self - .data_triggers() - .get(id) - .map(|trigger| f(id, trigger)) - .expect("`Set::data_triggers` doesn't contain required id. This is a bug"), - TriggeringEventType::Pipeline => self - .pipeline_triggers() - .get(id) - .map(|trigger| f(id, trigger)) - .expect("`Set::pipeline_triggers` doesn't contain required id. This is a bug"), - TriggeringEventType::Time => self - .time_triggers() - .get(id) - .map(|trigger| f(id, trigger)) - .expect("`Set::time_triggers` doesn't contain required id. This is a bug"), - TriggeringEventType::ExecuteTrigger => self - .by_call_triggers() - .get(id) - .map(|trigger| f(id, trigger)) - .expect("`Set::by_call_triggers` doesn't contain required id. This is a bug"), - }; - - Some(result) - }) + self.ids() + .iter() + .filter_map(move |(id, event_type)| match event_type { + TriggeringEventType::Data => { + let action = self + .data_triggers() + .get(id) + .expect("`Set::data_triggers` doesn't contain required id. This is a bug"); + filter(action).then(|| f(id, action)) + } + TriggeringEventType::Pipeline => { + let action = self.pipeline_triggers().get(id).expect( + "`Set::pipeline_triggers` doesn't contain required id. This is a bug", + ); + filter(action).then(|| f(id, action)) + } + TriggeringEventType::Time => { + let action = self + .time_triggers() + .get(id) + .expect("`Set::time_triggers` doesn't contain required id. This is a bug"); + filter(action).then(|| f(id, action)) + } + TriggeringEventType::ExecuteTrigger => { + let action = self.by_call_triggers().get(id).expect( + "`Set::by_call_triggers` doesn't contain required id. This is a bug", + ); + filter(action).then(|| f(id, action)) + } + }) } /// Apply `f` to the trigger identified by `id`. @@ -966,12 +959,9 @@ impl<'block, 'set> SetTransaction<'block, 'set> { // Passing by value to follow other `handle_` methods interface #[allow(clippy::needless_pass_by_value)] pub fn handle_data_event(&mut self, event: DataEvent) { - self.data_triggers - .iter() - .filter(|(id, _)| id.domain_id.is_none() || id.domain_id.as_ref() == event.domain_id()) - .for_each(|entry| { - Self::match_and_insert_trigger(&mut self.matched_ids, event.clone(), entry) - }); + self.data_triggers.iter().for_each(|entry| { + Self::match_and_insert_trigger(&mut self.matched_ids, event.clone(), entry) + }); } /// Handle [`ExecuteTriggerEvent`]. diff --git a/core/src/smartcontracts/isi/world.rs b/core/src/smartcontracts/isi/world.rs index 5c882cd54ed..47a55843bad 100644 --- a/core/src/smartcontracts/isi/world.rs +++ b/core/src/smartcontracts/isi/world.rs @@ -123,21 +123,36 @@ pub mod isi { ) -> Result<(), Error> { let domain_id = self.object_id; - let triggers_in_domain = state_transaction + state_transaction .world() .triggers() - .inspect_by_domain_id(&domain_id, |trigger_id, _| trigger_id.clone()) - .collect::>(); - - let world = &mut state_transaction.world; - for trigger_id in &triggers_in_domain { - assert!(world.triggers.remove(trigger_id.clone())); - } - if world.domains.remove(domain_id.clone()).is_none() { + .inspect_by_action( + |action| action.authority().domain_id() == &domain_id, + |trigger_id, _| trigger_id.clone(), + ) + .collect::>() + .into_iter() + .for_each(|trigger_id| { + state_transaction + .world + .triggers + .remove(trigger_id) + .then_some(()) + .expect("should succeed") + }); + + if state_transaction + .world + .domains + .remove(domain_id.clone()) + .is_none() + { return Err(FindError::Domain(domain_id).into()); } - world.emit_events(Some(DomainEvent::Deleted(domain_id))); + state_transaction + .world + .emit_events(Some(DomainEvent::Deleted(domain_id))); Ok(()) } @@ -303,7 +318,7 @@ pub mod isi { let parameter_id = parameter.id.clone(); let world = &mut state_transaction.world; - if !world.parameters.remove(¶meter) { + if !world.parameters.swap_remove(¶meter) { return Err(FindError::Parameter(parameter_id).into()); } diff --git a/data_model/src/events/data/events.rs b/data_model/src/events/data/events.rs index d43e34050aa..58fdbae2b32 100644 --- a/data_model/src/events/data/events.rs +++ b/data_model/src/events/data/events.rs @@ -597,8 +597,11 @@ impl DataEvent { pub fn domain_id(&self) -> Option<&DomainId> { match self { Self::Domain(event) => Some(event.origin_id()), - Self::Trigger(event) => event.origin_id().domain_id.as_ref(), - Self::Peer(_) | Self::Configuration(_) | Self::Role(_) | Self::Executor(_) => None, + Self::Configuration(_) + | Self::Executor(_) + | Self::Peer(_) + | Self::Role(_) + | Self::Trigger(_) => None, } } } diff --git a/data_model/src/lib.rs b/data_model/src/lib.rs index a475a90b916..c856e2f13f8 100644 --- a/data_model/src/lib.rs +++ b/data_model/src/lib.rs @@ -158,7 +158,8 @@ mod seal { FindAllActiveTriggerIds, FindTriggerById, FindTriggerKeyValueByIdAndKey, - FindTriggersByDomainId, + FindTriggersByAuthorityId, + FindTriggersByAuthorityDomainId, FindAllRoles, FindAllRoleIds, FindRoleByRoleId, diff --git a/data_model/src/name.rs b/data_model/src/name.rs index 518ae2a230c..6094cb7acf4 100644 --- a/data_model/src/name.rs +++ b/data_model/src/name.rs @@ -67,7 +67,7 @@ impl Name { /// # Errors /// Fails if not valid [`Name`]. fn validate_str(candidate: &str) -> Result<(), ParseError> { - const FORBIDDEN_CHARS: [char; 3] = ['@', '#', '$']; + const FORBIDDEN_CHARS: [char; 2] = ['@', '#']; if candidate.is_empty() { return Err(ParseError { @@ -83,7 +83,7 @@ impl Name { #[allow(clippy::non_ascii_literal)] return Err(ParseError { reason: "The `@` character is reserved for `account@domain` constructs, \ - `#` — for `asset#domain` and `$` — for `trigger$domain`.", + and `#` — for `asset#domain`.", }); } Ok(()) @@ -156,7 +156,7 @@ mod tests { use super::*; - const INVALID_NAMES: [&str; 5] = ["", " ", "@", "#", "$"]; + const INVALID_NAMES: [&str; 4] = ["", " ", "@", "#"]; #[test] fn deserialize_name() { diff --git a/data_model/src/query/mod.rs b/data_model/src/query/mod.rs index 01ed6624e73..cfa0fb22419 100644 --- a/data_model/src/query/mod.rs +++ b/data_model/src/query/mod.rs @@ -201,7 +201,8 @@ mod model { FindAllActiveTriggerIds(FindAllActiveTriggerIds), FindTriggerById(FindTriggerById), FindTriggerKeyValueByIdAndKey(FindTriggerKeyValueByIdAndKey), - FindTriggersByDomainId(FindTriggersByDomainId), + FindTriggersByAuthorityId(FindTriggersByAuthorityId), + FindTriggersByAuthorityDomainId(FindTriggersByAuthorityDomainId), FindAllRoles(FindAllRoles), FindAllRoleIds(FindAllRoleIds), FindRoleByRoleId(FindRoleByRoleId), @@ -424,7 +425,8 @@ impl_queries! { FindAllActiveTriggerIds => Vec, FindTriggerById => crate::trigger::Trigger, FindTriggerKeyValueByIdAndKey => MetadataValueBox, - FindTriggersByDomainId => Vec, + FindTriggersByAuthorityId => Vec, + FindTriggersByAuthorityDomainId => Vec, FindAllTransactions => Vec, FindTransactionsByAccountId => Vec, FindTransactionByHash => TransactionQueryOutput, @@ -1046,6 +1048,7 @@ pub mod trigger { use super::{MetadataValueBox, Query, QueryType}; use crate::{ + account::AccountId, domain::prelude::*, events::TriggeringEventFilterBox, prelude::InstructionBox, @@ -1072,7 +1075,6 @@ pub mod trigger { pub id: TriggerId, } - /// Find Trigger's metadata key-value pairs. #[derive(Display)] #[display(fmt = "Find metadata value with `{key}` key in `{id}` trigger")] @@ -1084,14 +1086,24 @@ pub mod trigger { pub key: Name, } + /// Find all triggers executable on behalf of the given account. + #[derive(Display)] + #[display(fmt = "Find triggers executable on behalf of the `{account_id}` account")] + #[repr(transparent)] + // SAFETY: `FindTriggersByAuthorityId` has no trap representation in `EvaluatesTo` + #[ffi_type(unsafe {robust})] + pub struct FindTriggersByAuthorityId { + /// [`AccountId`] specifies the authority behind the trigger execution. + pub account_id: AccountId, + } - /// Find [`Trigger`]s under the given [`DomainId`]. + /// Find all triggers whose authority belongs to the given domain. #[derive(Display)] - #[display(fmt = "Find trigger under `{domain_id}` domain")] + #[display(fmt = "Find triggers with authority under `{domain_id}` domain")] #[repr(transparent)] - // SAFETY: `FindTriggersByDomainId` has no trap representation in `EvaluatesTo` + // SAFETY: `FindTriggersByAuthorityDomainId` has no trap representation in `EvaluatesTo` #[ffi_type(unsafe {robust})] - pub struct FindTriggersByDomainId { + pub struct FindTriggersByAuthorityDomainId { /// [`DomainId`] specifies the domain in which to search for triggers. pub domain_id: DomainId, } @@ -1101,7 +1113,7 @@ pub mod trigger { //! Prelude Re-exports most commonly used traits, structs and macros from this crate. pub use super::{ FindAllActiveTriggerIds, FindTriggerById, FindTriggerKeyValueByIdAndKey, - FindTriggersByDomainId, + FindTriggersByAuthorityDomainId, FindTriggersByAuthorityId, }; } } diff --git a/data_model/src/trigger.rs b/data_model/src/trigger.rs index b32b9573bb7..1170a87c4e2 100644 --- a/data_model/src/trigger.rs +++ b/data_model/src/trigger.rs @@ -5,9 +5,9 @@ #[cfg(not(feature = "std"))] use alloc::{format, string::String, vec::Vec}; -use core::{cmp, str::FromStr}; +use core::cmp; -use derive_more::{Constructor, Display}; +use derive_more::{Constructor, Display, FromStr}; use getset::Getters; use iroha_data_model_derive::{model, IdEqOrdHash}; use iroha_macro::ffi_impl_opaque; @@ -18,8 +18,7 @@ use serde_with::{DeserializeFromStr, SerializeDisplay}; pub use self::model::*; use crate::{ - domain::DomainId, events::prelude::*, metadata::Metadata, transaction::Executable, - Identifiable, Name, ParseError, Registered, + events::prelude::*, metadata::Metadata, transaction::Executable, Identifiable, Name, Registered, }; #[model] @@ -29,6 +28,8 @@ mod model { /// Identification of a `Trigger`. #[derive( Debug, + Display, + FromStr, Clone, PartialEq, Eq, @@ -43,11 +44,11 @@ mod model { SerializeDisplay, IntoSchema, )] + #[display(fmt = "{name}")] #[getset(get = "pub")] - #[ffi_type] + #[repr(transparent)] + #[ffi_type(opaque)] pub struct TriggerId { - /// DomainId of domain of the trigger. - pub domain_id: Option, /// Name given to trigger by its creator. pub name: Name, } @@ -89,40 +90,6 @@ impl Registered for Trigger { type With = Self; } -impl core::fmt::Display for TriggerId { - fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { - if let Some(ref domain_id) = self.domain_id { - write!(f, "{}${}", self.name, domain_id) - } else { - write!(f, "{}", self.name) - } - } -} - -impl FromStr for TriggerId { - type Err = ParseError; - - fn from_str(s: &str) -> Result { - let mut split = s.split('$'); - match (split.next(), split.next(), split.next()) { - (Some(""), _, _) => Err(ParseError { - reason: "Empty `name` part in `name` or `name$domain_id`", - }), - (Some(name), None, _) => Ok(Self { - name: Name::from_str(name)?, - domain_id: None, - }), - (Some(name), Some(domain_id), None) if !domain_id.is_empty() => Ok(Self { - name: Name::from_str(name)?, - domain_id: Some(DomainId::from_str(domain_id)?), - }), - _ => Err(ParseError { - reason: "Trigger ID should have format `name` or `name$domain_id`", - }), - } - } -} - pub mod action { //! Contains trigger action and common trait for all actions diff --git a/data_model/src/visit.rs b/data_model/src/visit.rs index f2b16f0b81c..7369ba377b5 100644 --- a/data_model/src/visit.rs +++ b/data_model/src/visit.rs @@ -83,7 +83,8 @@ pub trait Visit { visit_find_transactions_by_account_id(&FindTransactionsByAccountId), visit_find_trigger_by_id(&FindTriggerById), visit_find_trigger_key_value_by_id_and_key(&FindTriggerKeyValueByIdAndKey), - visit_find_triggers_by_domain_id(&FindTriggersByDomainId), + visit_find_triggers_by_authority_id(&FindTriggersByAuthorityId), + visit_find_triggers_by_authority_domain_id(&FindTriggersByAuthorityDomainId), // Visit RegisterBox visit_register_peer(&Register), @@ -208,7 +209,8 @@ pub fn visit_query(visitor: &mut V, authority: &AccountId, qu visit_find_transactions_by_account_id(FindTransactionsByAccountId), visit_find_trigger_by_id(FindTriggerById), visit_find_trigger_key_value_by_id_and_key(FindTriggerKeyValueByIdAndKey), - visit_find_triggers_by_domain_id(FindTriggersByDomainId), + visit_find_triggers_by_authority_id(FindTriggersByAuthorityId), + visit_find_triggers_by_authority_domain_id(FindTriggersByAuthorityDomainId), } } @@ -469,5 +471,6 @@ leaf_visitors! { visit_find_transactions_by_account_id(&FindTransactionsByAccountId), visit_find_trigger_by_id(&FindTriggerById), visit_find_trigger_key_value_by_id_and_key(&FindTriggerKeyValueByIdAndKey), - visit_find_triggers_by_domain_id(&FindTriggersByDomainId), + visit_find_triggers_by_authority_id(&FindTriggersByAuthorityId), + visit_find_triggers_by_authority_domain_id(&FindTriggersByAuthorityDomainId), } diff --git a/docs/source/references/schema.json b/docs/source/references/schema.json index 1f11b12abf7..42db4424f77 100644 --- a/docs/source/references/schema.json +++ b/docs/source/references/schema.json @@ -1561,7 +1561,7 @@ } ] }, - "FindTriggersByDomainId": { + "FindTriggersByAuthorityDomainId": { "Struct": [ { "name": "domain_id", @@ -1569,6 +1569,14 @@ } ] }, + "FindTriggersByAuthorityId": { + "Struct": [ + { + "name": "account_id", + "type": "AccountId" + } + ] + }, "ForwardCursor": { "Struct": [ { @@ -2865,33 +2873,38 @@ "type": "FindTriggerKeyValueByIdAndKey" }, { - "tag": "FindTriggersByDomainId", + "tag": "FindTriggersByAuthorityId", "discriminant": 33, - "type": "FindTriggersByDomainId" + "type": "FindTriggersByAuthorityId" }, { - "tag": "FindAllRoles", + "tag": "FindTriggersByAuthorityDomainId", "discriminant": 34, + "type": "FindTriggersByAuthorityDomainId" + }, + { + "tag": "FindAllRoles", + "discriminant": 35, "type": "FindAllRoles" }, { "tag": "FindAllRoleIds", - "discriminant": 35, + "discriminant": 36, "type": "FindAllRoleIds" }, { "tag": "FindRoleByRoleId", - "discriminant": 36, + "discriminant": 37, "type": "FindRoleByRoleId" }, { "tag": "FindRolesByAccountId", - "discriminant": 37, + "discriminant": 38, "type": "FindRolesByAccountId" }, { "tag": "FindAllParameters", - "discriminant": 38, + "discriminant": 39, "type": "FindAllParameters" } ] @@ -4150,10 +4163,6 @@ }, "TriggerId": { "Struct": [ - { - "name": "domain_id", - "type": "Option" - }, { "name": "name", "type": "Name" diff --git a/schema/gen/src/lib.rs b/schema/gen/src/lib.rs index 6ba2247e388..c1735b9056e 100644 --- a/schema/gen/src/lib.rs +++ b/schema/gen/src/lib.rs @@ -182,7 +182,8 @@ types!( FindTransactionsByAccountId, FindTriggerById, FindTriggerKeyValueByIdAndKey, - FindTriggersByDomainId, + FindTriggersByAuthorityId, + FindTriggersByAuthorityDomainId, ForwardCursor, Grant, Grant, diff --git a/smart_contract/executor/src/default.rs b/smart_contract/executor/src/default.rs index ca9fefa1ae0..9ab7113e4c3 100644 --- a/smart_contract/executor/src/default.rs +++ b/smart_contract/executor/src/default.rs @@ -381,22 +381,12 @@ pub mod domain { AnyPermission::CanUnregisterUserTrigger(permission) => { permission.account_id.domain_id() == domain_id } - AnyPermission::CanExecuteUserTrigger(permission) => { - permission.trigger_id.domain_id().as_ref() == Some(domain_id) - } - AnyPermission::CanBurnUserTrigger(permission) => { - permission.trigger_id.domain_id().as_ref() == Some(domain_id) - } - AnyPermission::CanMintUserTrigger(permission) => { - permission.trigger_id.domain_id().as_ref() == Some(domain_id) - } - AnyPermission::CanSetKeyValueInTrigger(permission) => { - permission.trigger_id.domain_id().as_ref() == Some(domain_id) - } - AnyPermission::CanRemoveKeyValueInTrigger(permission) => { - permission.trigger_id.domain_id().as_ref() == Some(domain_id) - } - AnyPermission::CanUnregisterAnyPeer(_) + AnyPermission::CanExecuteUserTrigger(_) + | AnyPermission::CanBurnUserTrigger(_) + | AnyPermission::CanMintUserTrigger(_) + | AnyPermission::CanSetKeyValueInTrigger(_) + | AnyPermission::CanRemoveKeyValueInTrigger(_) + | AnyPermission::CanUnregisterAnyPeer(_) | AnyPermission::CanGrantPermissionToCreateParameters(_) | AnyPermission::CanRevokePermissionToCreateParameters(_) | AnyPermission::CanCreateParameters(_) diff --git a/smart_contract/executor/src/permission.rs b/smart_contract/executor/src/permission.rs index fbf53365e8a..a08c1248afc 100644 --- a/smart_contract/executor/src/permission.rs +++ b/smart_contract/executor/src/permission.rs @@ -210,7 +210,6 @@ pub mod trigger { /// `authority` is owner of `trigger_id` if: /// - `trigger.action.authority` is `authority` /// - `trigger.action.authority.domain_id` is owned by `authority` - /// - `trigger.domain_id` is not none and domain is owned by `authority` /// /// # Errors /// - `FindTrigger` fails @@ -219,11 +218,7 @@ pub mod trigger { let trigger = find_trigger(trigger_id)?; Ok(trigger.action().authority() == authority - || is_domain_owner(trigger.action().authority().domain_id(), authority)? - || match trigger_id.domain_id() { - Some(domain) => is_domain_owner(domain, authority)?, - None => false, - }) + || is_domain_owner(trigger.action().authority().domain_id(), authority)?) } /// Returns the trigger. pub(crate) fn find_trigger(trigger_id: &TriggerId) -> Result { diff --git a/tools/parity_scale_cli/samples/trigger.bin b/tools/parity_scale_cli/samples/trigger.bin index 35d40540b8b3e8c4e6bd6d2b9b8c6a8bffc9f2a3..c6493efbb4fc7f5944c8326a4d307ccc98907299 100644 GIT binary patch delta 7 OcmZo+Y-XIu*bD#&bOIj$ delta 8 PcmZo>Y++<%n9vLW2