From e65d631f77effb4b1c8f68a6a660c206f9b7cc90 Mon Sep 17 00:00:00 2001 From: Ilia Churin Date: Mon, 13 Nov 2023 20:57:50 +0900 Subject: [PATCH] [feature] #3871: `Register` permissions Signed-off-by: Ilia Churin --- client/tests/integration/domain_owner.rs | 61 +++++++++++++++++- configs/peer/executor.wasm | Bin 498053 -> 501774 bytes core/test_network/src/lib.rs | 6 ++ smart_contract/executor/derive/src/default.rs | 2 +- smart_contract/executor/derive/src/lib.rs | 1 + smart_contract/executor/src/default.rs | 39 ++++++++++- smart_contract/executor/src/default/tokens.rs | 9 +++ 7 files changed, 111 insertions(+), 7 deletions(-) diff --git a/client/tests/integration/domain_owner.rs b/client/tests/integration/domain_owner.rs index 5ebdda473d6..a5840f624ca 100644 --- a/client/tests/integration/domain_owner.rs +++ b/client/tests/integration/domain_owner.rs @@ -10,11 +10,53 @@ fn domain_owner_domain_permissions() -> Result<()> { wait_for_genesis_committed(&[test_client.clone()], 0); let kingdom_id: DomainId = "kingdom".parse()?; + let bob_id: AccountId = "bob@kingdom".parse()?; + let coin_id: AssetDefinitionId = "coin#kingdom".parse()?; + let coin = AssetDefinition::quantity(coin_id.clone()); // "alice@wonderland" is owner of "kingdom" domain let kingdom = Domain::new(kingdom_id.clone()); test_client.submit_blocking(RegisterExpr::new(kingdom))?; + let bob_keypair = KeyPair::generate()?; + let bob = Account::new(bob_id.clone(), [bob_keypair.public_key().clone()]); + test_client.submit_blocking(RegisterExpr::new(bob))?; + + // Asset definitions can't be registered by "bob@kingdom" by default + let transaction = TransactionBuilder::new(bob_id.clone()) + .with_instructions([RegisterExpr::new(coin.clone())]) + .sign(bob_keypair.clone())?; + let err = test_client + .submit_transaction_blocking(&transaction) + .expect_err("Tx should fail due to permissions"); + + let rejection_reason = err + .downcast_ref::() + .unwrap_or_else(|| panic!("Error {err} is not PipelineRejectionReason")); + + assert!(matches!( + rejection_reason, + &PipelineRejectionReason::Transaction(TransactionRejectionReason::Validation( + ValidationFail::NotPermitted(_) + )) + )); + + // "alice@wonderland" owns the domain and can register AssetDefinitions by default as domain owner + test_client.submit_blocking(RegisterExpr::new(coin.clone()))?; + test_client.submit_blocking(UnregisterExpr::new(coin_id))?; + + // Granting a respective token also allows "bob@kingdom" to do so + let token = PermissionToken::new( + "CanRegisterAssetDefinitionInDomain".parse().unwrap(), + &json!({ "domain_id": kingdom_id }), + ); + test_client.submit_blocking(GrantExpr::new(token.clone(), bob_id.clone()))?; + let transaction = TransactionBuilder::new(bob_id.clone()) + .with_instructions([RegisterExpr::new(coin)]) + .sign(bob_keypair)?; + test_client.submit_transaction_blocking(&transaction)?; + test_client.submit_blocking(RevokeExpr::new(token, bob_id.clone()))?; + // check that "alice@wonderland" as owner of domain can edit metadata in her domain let key: Name = "key".parse()?; let value: Name = "value".parse()?; @@ -22,7 +64,6 @@ fn domain_owner_domain_permissions() -> Result<()> { test_client.submit_blocking(RemoveKeyValueExpr::new(kingdom_id.clone(), key))?; // check that "alice@wonderland" as owner of domain can grant and revoke domain related permission tokens - let bob_id: AccountId = "bob@wonderland".parse()?; let token = PermissionToken::new( "CanUnregisterDomain".parse().unwrap(), &json!({ "domain_id": kingdom_id }), @@ -108,7 +149,7 @@ fn domain_owner_asset_definition_permissions() -> Result<()> { let coin_id: AssetDefinitionId = "coin#kingdom".parse()?; // "alice@wonderland" is owner of "kingdom" domain - let kingdom = Domain::new(kingdom_id); + let kingdom = Domain::new(kingdom_id.clone()); test_client.submit_blocking(RegisterExpr::new(kingdom))?; let bob_keypair = KeyPair::generate()?; @@ -118,6 +159,13 @@ fn domain_owner_asset_definition_permissions() -> Result<()> { let rabbit = Account::new(rabbit_id.clone(), []); test_client.submit_blocking(RegisterExpr::new(rabbit))?; + // Grant permission to register asset definitions to "bob@kingdom" + let token = PermissionToken::new( + "CanRegisterAssetDefinitionInDomain".parse().unwrap(), + &json!({ "domain_id": kingdom_id }), + ); + test_client.submit_blocking(GrantExpr::new(token, bob_id.clone()))?; + // register asset definitions by "bob@kingdom" so he is owner of it let coin = AssetDefinition::quantity(coin_id.clone()); let transaction = TransactionBuilder::new(bob_id.clone()) @@ -161,13 +209,20 @@ fn domain_owner_asset_permissions() -> Result<()> { let store_id: AssetDefinitionId = "store#kingdom".parse()?; // "alice@wonderland" is owner of "kingdom" domain - let kingdom = Domain::new(kingdom_id); + let kingdom = Domain::new(kingdom_id.clone()); test_client.submit_blocking(RegisterExpr::new(kingdom))?; let bob_keypair = KeyPair::generate()?; let bob = Account::new(bob_id.clone(), [bob_keypair.public_key().clone()]); test_client.submit_blocking(RegisterExpr::new(bob))?; + // Grant permission to register asset definitions to "bob@kingdom" + let token = PermissionToken::new( + "CanRegisterAssetDefinitionInDomain".parse().unwrap(), + &json!({ "domain_id": kingdom_id }), + ); + test_client.submit_blocking(GrantExpr::new(token, bob_id.clone()))?; + // register asset definitions by "bob@kingdom" so he is owner of it let coin = AssetDefinition::quantity(coin_id.clone()); let store = AssetDefinition::store(store_id.clone()); diff --git a/configs/peer/executor.wasm b/configs/peer/executor.wasm index d124730bbd19009b34ea0464fe06ec53031ac541..3132da71f30c2007418c15fa9a6ed8e34b61c147 100644 GIT binary patch delta 155526 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

^Mx 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 a*5@?AftIThzp8--gu$$bY4`JHxBm|@{$KY1 diff --git a/core/test_network/src/lib.rs b/core/test_network/src/lib.rs index 28be214fd0f..76597fe144e 100644 --- a/core/test_network/src/lib.rs +++ b/core/test_network/src/lib.rs @@ -105,6 +105,11 @@ impl TestGenesis for GenesisNetwork { ); let upgrade_executor_permission = PermissionToken::new("CanUpgradeExecutor".parse().unwrap(), &json!(null)); + let register_asset_definitions_permission = + PermissionToken::new( + "CanRegisterAssetDefinitionInDomain".parse().unwrap(), + &json!({ "domain_id": DomainId::from_str("wonderland").unwrap() } ), + ); let first_transaction = genesis .first_transaction_mut() @@ -116,6 +121,7 @@ impl TestGenesis for GenesisNetwork { unregister_any_role_permission, unregister_wonderland_domain, upgrade_executor_permission, + register_asset_definitions_permission ] { first_transaction .append_instruction(GrantExpr::new(permission, alice_id.clone()).into()); diff --git a/smart_contract/executor/derive/src/default.rs b/smart_contract/executor/derive/src/default.rs index 2e458f86992..aa5e1068305 100644 --- a/smart_contract/executor/derive/src/default.rs +++ b/smart_contract/executor/derive/src/default.rs @@ -138,6 +138,7 @@ pub fn impl_derive_visit(emitter: &mut Emitter, input: &syn2::DeriveInput) -> To "fn visit_transfer_asset(operation: Transfer)", "fn visit_set_asset_key_value(operation: SetKeyValue)", "fn visit_remove_asset_key_value(operation: RemoveKeyValue)", + "fn visit_register_asset_definition(operation: Register)", "fn visit_unregister_asset_definition(operation: Unregister)", "fn visit_transfer_asset_definition(operation: Transfer)", "fn visit_set_asset_definition_key_value(operation: SetKeyValue)", @@ -198,7 +199,6 @@ pub fn impl_derive_visit(emitter: &mut Emitter, input: &syn2::DeriveInput) -> To }) .collect::>(); - println!("{}", quote!(#(#visit_items)*)); quote! { impl ::iroha_executor::prelude::Visit for #ident { #(#visit_items)* diff --git a/smart_contract/executor/derive/src/lib.rs b/smart_contract/executor/derive/src/lib.rs index d822a1887e1..8af4bd608f2 100644 --- a/smart_contract/executor/derive/src/lib.rs +++ b/smart_contract/executor/derive/src/lib.rs @@ -112,6 +112,7 @@ pub fn derive_token(input: TokenStream) -> TokenStream { /// - `asset_definition::Owner` - checks if the authority is the asset definition owner; /// - `asset::Owner` - checks if the authority is the asset owner; /// - `account::Owner` - checks if the authority is the account owner. +/// - `domain::Owner` - checks if the authority is the domain owner. /// - `AlwaysPass` - checks nothing and always passes. /// - `OnlyGenesis` - checks that block height is 0. /// diff --git a/smart_contract/executor/src/default.rs b/smart_contract/executor/src/default.rs index 38327a7bb11..63c9435fbfe 100644 --- a/smart_contract/executor/src/default.rs +++ b/smart_contract/executor/src/default.rs @@ -15,8 +15,9 @@ pub use asset::{ visit_set_asset_key_value, visit_transfer_asset, visit_unregister_asset, }; pub use asset_definition::{ - visit_remove_asset_definition_key_value, visit_set_asset_definition_key_value, - visit_transfer_asset_definition, visit_unregister_asset_definition, + visit_register_asset_definition, visit_remove_asset_definition_key_value, + visit_set_asset_definition_key_value, visit_transfer_asset_definition, + visit_unregister_asset_definition, }; pub use domain::{ visit_remove_domain_key_value, visit_set_domain_key_value, visit_transfer_domain, @@ -563,10 +564,42 @@ pub mod account { } pub mod asset_definition { - use permission::{account::is_account_owner, asset_definition::is_asset_definition_owner}; + use permission::{ + account::is_account_owner, asset_definition::is_asset_definition_owner, + domain::is_domain_owner, + }; use super::*; + pub fn visit_register_asset_definition( + executor: &mut V, + authority: &AccountId, + isi: Register, + ) { + let domain_id = isi.object.id().domain_id(); + + if is_genesis(executor) { + pass!(executor); + } + match is_domain_owner(domain_id, authority) { + Err(err) => deny!(executor, err), + Ok(true) => pass!(executor), + Ok(false) => {} + } + let can_register_asset_definition_token = + tokens::domain::CanRegisterAssetDefinitionInDomain { + domain_id: domain_id.clone(), + }; + if can_register_asset_definition_token.is_owned_by(authority) { + pass!(executor); + } + + deny!( + executor, + "New `AssetDefinition` can only be registered by domain owner or if granted `CanRegisterAssetDefinitionInDomain` token" + ); + } + pub fn visit_unregister_asset_definition( executor: &mut V, authority: &AccountId, diff --git a/smart_contract/executor/src/default/tokens.rs b/smart_contract/executor/src/default/tokens.rs index df79280ba40..238faca814a 100644 --- a/smart_contract/executor/src/default/tokens.rs +++ b/smart_contract/executor/src/default/tokens.rs @@ -69,6 +69,7 @@ declare_tokens! { crate::default::tokens::domain::{CanUnregisterDomain}, crate::default::tokens::domain::{CanSetKeyValueInDomain}, crate::default::tokens::domain::{CanRemoveKeyValueInDomain}, + crate::default::tokens::domain::{CanRegisterAssetDefinitionInDomain}, crate::default::tokens::account::{CanUnregisterAccount}, crate::default::tokens::account::{CanMintUserPublicKeys}, @@ -145,6 +146,14 @@ pub mod domain { pub domain_id: DomainId, } } + + token! { + #[derive(ValidateGrantRevoke, permission::derive_conversions::domain::Owner)] + #[validate(permission::domain::Owner)] + pub struct CanRegisterAssetDefinitionInDomain { + pub domain_id: DomainId, + } + } } pub mod account {