From 8d389457dd637862d9013632851c632fcb5eaa57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marin=20Ver=C5=A1i=C4=87?= Date: Fri, 1 Sep 2023 12:11:52 +0200 Subject: [PATCH] [fix] #3853: Compare permission token payload as JSON (#3855) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marin Veršić --- client/tests/integration/permissions.rs | 143 ++++++--- .../integration/smartcontracts/Cargo.toml | 2 +- .../validator_with_admin/src/lib.rs | 86 +++--- .../validator_with_custom_token/src/lib.rs | 133 ++++---- .../validator_with_migration_fail/src/lib.rs | 123 ++++---- client/tests/integration/upgrade.rs | 31 +- configs/peer/validator.wasm | Bin 484394 -> 510389 bytes core/src/smartcontracts/isi/query.rs | 1 - core/src/smartcontracts/isi/world.rs | 21 +- data_model/derive/src/lib.rs | 56 +++- data_model/src/isi.rs | 143 ++++++--- data_model/src/lib.rs | 3 +- data_model/src/permission.rs | 25 +- data_model/src/query/mod.rs | 36 +-- data_model/src/visit.rs | 15 +- default_validator/Cargo.toml | 2 +- default_validator/src/lib.rs | 169 ++++++++++- docs/source/references/schema.json | 43 +-- schema/gen/src/lib.rs | 1 - wasm/validator/Cargo.toml | 3 - wasm/validator/derive/src/entrypoint.rs | 4 +- wasm/validator/derive/src/token.rs | 40 +-- wasm/validator/src/default.rs | 284 +++++------------- wasm/validator/src/lib.rs | 43 +-- wasm/validator/src/permission.rs | 12 +- 25 files changed, 741 insertions(+), 678 deletions(-) diff --git a/client/tests/integration/permissions.rs b/client/tests/integration/permissions.rs index bbd0551daea..033ab3e1030 100644 --- a/client/tests/integration/permissions.rs +++ b/client/tests/integration/permissions.rs @@ -9,8 +9,6 @@ use iroha_genesis::GenesisNetwork; use serde_json::json; use test_network::{PeerBuilder, *}; -use super::Configuration; - #[test] fn genesis_transactions_are_validated() { const POLL_PERIOD: Duration = Duration::from_millis(1000); @@ -61,7 +59,7 @@ fn genesis_transactions_are_validated() { } } -fn get_assets(iroha_client: &mut Client, id: &::Id) -> Vec { +fn get_assets(iroha_client: &Client, id: &AccountId) -> Vec { iroha_client .request(client::asset::by_account_id(id.clone())) .expect("Failed to execute request.") @@ -69,26 +67,24 @@ fn get_assets(iroha_client: &mut Client, id: &::Id) -> .expect("Failed to execute request.") } -#[ignore = "ignore, more in #2851"] #[test] +#[ignore = "ignore, more in #2851"] fn permissions_disallow_asset_transfer() { - let (_rt, _peer, mut iroha_client) = - ::new().with_port(10_730).start_with_runtime(); + let (_rt, _peer, iroha_client) = ::new().with_port(10_730).start_with_runtime(); wait_for_genesis_committed(&[iroha_client.clone()], 0); - let pipeline_time = Configuration::pipeline_time(); // Given - let alice_id = ::Id::from_str("alice@wonderland").expect("Valid"); - let bob_id = ::Id::from_str("bob@wonderland").expect("Valid"); + let alice_id = "alice@wonderland".parse().expect("Valid"); + let bob_id: AccountId = "bob@wonderland".parse().expect("Valid"); + let mouse_id: AccountId = "mouse@wonderland".parse().expect("Valid"); let asset_definition_id: AssetDefinitionId = "xor#wonderland".parse().expect("Valid"); let create_asset = RegisterBox::new(AssetDefinition::quantity(asset_definition_id.clone())); - let register_bob = RegisterBox::new(Account::new(bob_id.clone(), [])); + let mouse_keypair = iroha_crypto::KeyPair::generate().expect("Failed to generate KeyPair."); - let alice_start_assets = get_assets(&mut iroha_client, &alice_id); + let alice_start_assets = get_assets(&iroha_client, &alice_id); iroha_client - .submit_all([create_asset, register_bob]) + .submit_blocking(create_asset) .expect("Failed to prepare state."); - thread::sleep(pipeline_time * 2); let quantity: u32 = 200; let mint_asset = MintBox::new( @@ -96,9 +92,8 @@ fn permissions_disallow_asset_transfer() { IdBox::AssetId(AssetId::new(asset_definition_id.clone(), bob_id.clone())), ); iroha_client - .submit(mint_asset) + .submit_blocking(mint_asset) .expect("Failed to create asset."); - thread::sleep(pipeline_time * 2); //When let transfer_asset = TransferBox::new( @@ -106,12 +101,16 @@ fn permissions_disallow_asset_transfer() { quantity.to_value(), IdBox::AccountId(alice_id.clone()), ); + let transfer_tx = TransactionBuilder::new(mouse_id) + .with_instructions([transfer_asset]) + .sign(mouse_keypair) + .expect("Failed to sign mouse transaction"); let err = iroha_client - .submit_blocking(transfer_asset) + .submit_transaction_blocking(&transfer_tx) .expect_err("Transaction was not rejected."); let rejection_reason = err .downcast_ref::() - .unwrap_or_else(|| panic!("Error {err} is not PipelineRejectionReason")); + .expect("Error {err} is not PipelineRejectionReason"); //Then assert!(matches!( rejection_reason, @@ -119,56 +118,52 @@ fn permissions_disallow_asset_transfer() { ValidationFail::NotPermitted(_) )) )); - let alice_assets = get_assets(&mut iroha_client, &alice_id); + let alice_assets = get_assets(&iroha_client, &alice_id); assert_eq!(alice_assets, alice_start_assets); } -#[ignore = "ignore, more in #2851"] #[test] +#[ignore = "ignore, more in #2851"] fn permissions_disallow_asset_burn() { - let (_rt, _not_drop, mut iroha_client) = - ::new().with_port(10_735).start_with_runtime(); - let pipeline_time = Configuration::pipeline_time(); - - // Given - thread::sleep(pipeline_time * 5); + let (_rt, _peer, iroha_client) = ::new().with_port(10_735).start_with_runtime(); let alice_id = "alice@wonderland".parse().expect("Valid"); - let bob_id: ::Id = "bob@wonderland".parse().expect("Valid"); + let bob_id: AccountId = "bob@wonderland".parse().expect("Valid"); + let mouse_id: AccountId = "mouse@wonderland".parse().expect("Valid"); let asset_definition_id = AssetDefinitionId::from_str("xor#wonderland").expect("Valid"); let create_asset = RegisterBox::new(AssetDefinition::quantity(asset_definition_id.clone())); - let register_bob = RegisterBox::new(Account::new(bob_id.clone(), [])); + let mouse_keypair = iroha_crypto::KeyPair::generate().expect("Failed to generate KeyPair."); - let alice_start_assets = get_assets(&mut iroha_client, &alice_id); + let alice_start_assets = get_assets(&iroha_client, &alice_id); iroha_client - .submit_all([create_asset, register_bob]) + .submit_blocking(create_asset) .expect("Failed to prepare state."); - thread::sleep(pipeline_time * 2); - let quantity: u32 = 200; let mint_asset = MintBox::new( quantity.to_value(), - IdBox::AssetId(AssetId::new(asset_definition_id.clone(), bob_id.clone())), + IdBox::AssetId(AssetId::new(asset_definition_id.clone(), bob_id)), ); iroha_client - .submit_all([mint_asset]) + .submit_blocking(mint_asset) .expect("Failed to create asset."); - thread::sleep(pipeline_time * 2); - //When let burn_asset = BurnBox::new( quantity.to_value(), - IdBox::AssetId(AssetId::new(asset_definition_id, bob_id)), + IdBox::AssetId(AssetId::new(asset_definition_id, mouse_id.clone())), ); + let burn_tx = TransactionBuilder::new(mouse_id) + .with_instructions([burn_asset]) + .sign(mouse_keypair) + .expect("Failed to sign mouse transaction"); let err = iroha_client - .submit_blocking(burn_asset) + .submit_transaction_blocking(&burn_tx) .expect_err("Transaction was not rejected."); let rejection_reason = err .downcast_ref::() - .unwrap_or_else(|| panic!("Error {err} is not PipelineRejectionReason")); - //Then + .expect("Error {err} is not PipelineRejectionReason"); + assert!(matches!( rejection_reason, &PipelineRejectionReason::Transaction(TransactionRejectionReason::Validation( @@ -176,12 +171,12 @@ fn permissions_disallow_asset_burn() { )) )); - let alice_assets = get_assets(&mut iroha_client, &alice_id); + let alice_assets = get_assets(&iroha_client, &alice_id); assert_eq!(alice_assets, alice_start_assets); } -#[ignore = "ignore, more in #2851"] #[test] +#[ignore = "ignore, more in #2851"] fn account_can_query_only_its_own_domain() -> Result<()> { let (_rt, _peer, client) = ::new().with_port(10_740).start_with_runtime(); wait_for_genesis_committed(&[client.clone()], 0); @@ -203,21 +198,18 @@ fn account_can_query_only_its_own_domain() -> Result<()> { Ok(()) } -#[ignore = "ignore, more in #2851"] #[test] fn permissions_differ_not_only_by_names() { let (_rt, _not_drop, client) = ::new().with_port(10_745).start_with_runtime(); - let alice_id: ::Id = "alice@wonderland".parse().expect("Valid"); - let mouse_id: ::Id = "mouse@wonderland".parse().expect("Valid"); + let alice_id: AccountId = "alice@wonderland".parse().expect("Valid"); + let mouse_id: AccountId = "mouse@wonderland".parse().expect("Valid"); let mouse_keypair = iroha_crypto::KeyPair::generate().expect("Failed to generate KeyPair."); // Registering `Store` asset definitions - let hat_definition_id: ::Id = - "hat#wonderland".parse().expect("Valid"); + let hat_definition_id: AssetDefinitionId = "hat#wonderland".parse().expect("Valid"); let new_hat_definition = AssetDefinition::store(hat_definition_id.clone()); - let shoes_definition_id: ::Id = - "shoes#wonderland".parse().expect("Valid"); + let shoes_definition_id: AssetDefinitionId = "shoes#wonderland".parse().expect("Valid"); let new_shoes_definition = AssetDefinition::store(shoes_definition_id.clone()); client .submit_all_blocking([ @@ -233,7 +225,7 @@ fn permissions_differ_not_only_by_names() { .expect("Failed to register mouse"); // Granting permission to Alice to modify metadata in Mouse's hats - let mouse_hat_id = ::Id::new(hat_definition_id, mouse_id.clone()); + let mouse_hat_id = AssetId::new(hat_definition_id, mouse_id.clone()); let allow_alice_to_set_key_value_in_hats = GrantBox::new( PermissionToken::new( "CanSetKeyValueInUserAsset".parse().unwrap(), @@ -260,7 +252,7 @@ fn permissions_differ_not_only_by_names() { .expect("Failed to modify Mouse's hats"); // ... but not shoes - let mouse_shoes_id = ::Id::new(shoes_definition_id, mouse_id.clone()); + let mouse_shoes_id = AssetId::new(shoes_definition_id, mouse_id.clone()); let set_shoes_color = SetKeyValueBox::new( mouse_shoes_id.clone(), Name::from_str("color").expect("Valid"), @@ -293,3 +285,54 @@ fn permissions_differ_not_only_by_names() { .submit_blocking(set_shoes_color) .expect("Failed to modify Mouse's shoes"); } + +#[test] +fn stored_vs_granted_token_payload() -> Result<()> { + let (_rt, _peer, iroha_client) = ::new().with_port(10_730).start_with_runtime(); + wait_for_genesis_committed(&[iroha_client.clone()], 0); + + // Given + let alice_id = AccountId::from_str("alice@wonderland").expect("Valid"); + + // Registering mouse and asset definition + let asset_definition_id: AssetDefinitionId = "xor#wonderland".parse().expect("Valid"); + let create_asset = RegisterBox::new(AssetDefinition::store(asset_definition_id.clone())); + let mouse_id: AccountId = "mouse@wonderland".parse().expect("Valid"); + let mouse_keypair = iroha_crypto::KeyPair::generate().expect("Failed to generate KeyPair."); + let new_mouse_account = Account::new(mouse_id.clone(), [mouse_keypair.public_key().clone()]); + let instructions: [InstructionBox; 2] = [ + RegisterBox::new(new_mouse_account).into(), + create_asset.into(), + ]; + iroha_client + .submit_all_blocking(instructions) + .expect("Failed to register mouse"); + + // Allow alice to mint mouse asset and mint initial value + let mouse_asset = AssetId::new(asset_definition_id, mouse_id.clone()); + let allow_alice_to_set_key_value_in_mouse_asset = GrantBox::new( + PermissionToken::from_str_unchecked( + "CanSetKeyValueInUserAsset".parse().unwrap(), + // NOTE: Introduced additional whitespaces in the serialized form + "{ \"asset_id\" : \"xor#wonderland#mouse@wonderland\" }", + ), + alice_id, + ); + + let transaction = TransactionBuilder::new(mouse_id) + .with_instructions([allow_alice_to_set_key_value_in_mouse_asset]) + .sign(mouse_keypair) + .expect("Failed to sign mouse transaction"); + iroha_client + .submit_transaction_blocking(&transaction) + .expect("Failed to grant permission to alice."); + + // Check that alice can indeed mint mouse asset + let set_key_value = + SetKeyValueBox::new(mouse_asset, Name::from_str("color")?, "red".to_owned()); + iroha_client + .submit_blocking(set_key_value) + .expect("Failed to mint asset for mouse."); + + Ok(()) +} diff --git a/client/tests/integration/smartcontracts/Cargo.toml b/client/tests/integration/smartcontracts/Cargo.toml index 60616f0c821..ae766717c1b 100644 --- a/client/tests/integration/smartcontracts/Cargo.toml +++ b/client/tests/integration/smartcontracts/Cargo.toml @@ -29,7 +29,7 @@ codegen-units = 1 # Further reduces binary size but increases compilation time [workspace.dependencies] iroha_wasm = { version = "=2.0.0-pre-rc.19", path = "../../../../wasm", features = ["debug"]} iroha_trigger = { version = "=2.0.0-pre-rc.19", path = "../../../../wasm/trigger", features = ["debug"]} -iroha_validator = { version = "=2.0.0-pre-rc.19", path = "../../../../wasm/validator", features = ["default-validator"] } +iroha_validator = { version = "=2.0.0-pre-rc.19", path = "../../../../wasm/validator" } iroha_schema = { version = "=2.0.0-pre-rc.19", path = "../../../../schema" } parity-scale-codec = { version = "3.2.1", default-features = false } diff --git a/client/tests/integration/smartcontracts/validator_with_admin/src/lib.rs b/client/tests/integration/smartcontracts/validator_with_admin/src/lib.rs index 9dea2658465..cbc6d280537 100644 --- a/client/tests/integration/smartcontracts/validator_with_admin/src/lib.rs +++ b/client/tests/integration/smartcontracts/validator_with_admin/src/lib.rs @@ -1,40 +1,57 @@ //! Runtime Validator which allows any instruction executed by `admin@admin` account. -//! If authority is not `admin@admin` then [`DefaultValidator`] is used as a backup. +//! If authority is not `admin@admin` then default validation is used as a backup. #![no_std] #![allow(missing_docs, clippy::missing_errors_doc)] use iroha_validator::{ data_model::evaluate::{EvaluationError, ExpressionEvaluator}, - parse, + iroha_wasm, parse, prelude::*, }; #[cfg(not(test))] extern crate panic_halt; -struct CustomValidator(DefaultValidator); +struct Validator { + verdict: Result, + block_height: u64, + host: iroha_wasm::Host, +} -macro_rules! delegate { - ( $($visitor:ident$(<$bound:ident>)?($operation:ty)),+ $(,)? ) => { $( - fn $visitor $(<$bound>)?(&mut self, authority: &AccountId, operation: $operation) { - self.0.$visitor(authority, operation); - } )+ +impl Validator { + /// Construct [`Self`] + pub fn new(block_height: u64) -> Self { + Self { + verdict: Ok(()), + block_height, + host: iroha_wasm::Host, + } } } -impl Visit for CustomValidator { +macro_rules! defaults { + ( $($validator:ident $(<$param:ident $(: $bound:path)?>)?($operation:ty)),+ $(,)? ) => { $( + fn $validator $(<$param $(: $bound)?>)?(&mut self, authority: &AccountId, operation: $operation) { + iroha_validator::default::$validator(self, authority, operation) + } )+ + }; +} + +impl Visit for Validator { fn visit_instruction(&mut self, authority: &AccountId, isi: &InstructionBox) { if parse!("admin@admin" as AccountId) == *authority { pass!(self); } - self.0.visit_instruction(authority, isi); + iroha_validator::default::visit_instruction(self, authority, isi); } - delegate! { - visit_expression(&EvaluatesTo), + defaults! { + visit_unsupported(T), + visit_transaction(&VersionedSignedTransaction), + visit_expression(&EvaluatesTo), visit_sequence(&SequenceBox), visit_if(&Conditional), visit_pair(&Pair), @@ -75,6 +92,7 @@ impl Visit for CustomValidator { visit_revoke_account_permission(Revoke), // Role validation + visit_register_role(Register), visit_unregister_role(Unregister), visit_grant_account_role(Grant), visit_revoke_account_role(Revoke), @@ -93,37 +111,29 @@ impl Visit for CustomValidator { } } -impl Validate for CustomValidator { - /// Migration should be applied on blockchain with [`DefaultValidator`] - fn migrate(_block_height: u64) -> MigrationResult { - Ok(()) - } - +impl Validate for Validator { fn verdict(&self) -> &Result { - self.0.verdict() + &self.verdict } fn block_height(&self) -> u64 { - self.0.block_height() + self.block_height } fn deny(&mut self, reason: ValidationFail) { - self.0.deny(reason); + self.verdict = Err(reason); } } -impl ExpressionEvaluator for CustomValidator { - fn evaluate( - &self, - expression: &E, - ) -> core::result::Result { - self.0.evaluate(expression) +impl ExpressionEvaluator for Validator { + fn evaluate(&self, expression: &E) -> Result { + self.host.evaluate(expression) } } #[entrypoint] -pub fn migrate(block_height: u64) -> MigrationResult { - CustomValidator::migrate(block_height) +pub fn migrate(_block_height: u64) -> MigrationResult { + Ok(()) } #[entrypoint] @@ -132,11 +142,9 @@ pub fn validate_transaction( transaction: VersionedSignedTransaction, block_height: u64, ) -> Result { - let mut validator = CustomValidator(DefaultValidator::new(block_height)); - + let mut validator = Validator::new(block_height); validator.visit_transaction(&authority, &transaction); - - validator.0.verdict + validator.verdict } #[entrypoint] @@ -145,18 +153,14 @@ pub fn validate_instruction( instruction: InstructionBox, block_height: u64, ) -> Result { - let mut validator = CustomValidator(DefaultValidator::new(block_height)); - + let mut validator = Validator::new(block_height); validator.visit_instruction(&authority, &instruction); - - validator.0.verdict + validator.verdict } #[entrypoint] pub fn validate_query(authority: AccountId, query: QueryBox, block_height: u64) -> Result { - let mut validator = CustomValidator(DefaultValidator::new(block_height)); - + let mut validator = Validator::new(block_height); validator.visit_query(&authority, &query); - - validator.0.verdict + validator.verdict } diff --git a/client/tests/integration/smartcontracts/validator_with_custom_token/src/lib.rs b/client/tests/integration/smartcontracts/validator_with_custom_token/src/lib.rs index 3a70683c0d4..660a5d076db 100644 --- a/client/tests/integration/smartcontracts/validator_with_custom_token/src/lib.rs +++ b/client/tests/integration/smartcontracts/validator_with_custom_token/src/lib.rs @@ -1,7 +1,7 @@ //! Runtime Validator which allows domain (un-)registration only for users who own //! [`token::CanControlDomainLives`] permission token. //! -//! This validator should be applied on top of the blockchain with [`DefaultValidator`]. +//! This validator should be applied on top of the blockchain with default validation. //! //! It also doesn't have [`iroha_validator::default::domain::tokens::CanUnregisterDomain`]. //! @@ -21,6 +21,8 @@ use anyhow::anyhow; use iroha_schema::IntoSchema; use iroha_validator::{ data_model::evaluate::{EvaluationError, ExpressionEvaluator}, + default::default_permission_token_schema, + iroha_wasm, permission::Token as _, prelude::*, }; @@ -39,22 +41,37 @@ mod token { use super::*; /// Token to identify if user can (un-)register domains. - #[derive(Token, ValidateGrantRevoke, Decode, Encode, IntoSchema, Serialize, Deserialize)] + #[derive( + PartialEq, + Eq, + Token, + ValidateGrantRevoke, + Decode, + Encode, + IntoSchema, + Serialize, + Deserialize, + )] #[validate(iroha_validator::permission::OnlyGenesis)] pub struct CanControlDomainLives; } -struct CustomValidator(DefaultValidator); +struct Validator { + verdict: Result, + block_height: u64, + host: iroha_wasm::Host, +} -macro_rules! delegate { - ( $($visitor:ident$(<$bound:ident>)?($operation:ty)),+ $(,)? ) => { $( - fn $visitor $(<$bound>)?(&mut self, authority: &AccountId, operation: $operation) { - self.0.$visitor(authority, operation); - } )+ +impl Validator { + /// Construct [`Self`] + pub fn new(block_height: u64) -> Self { + Self { + verdict: Ok(()), + block_height, + host: iroha_wasm::Host, + } } -} -impl CustomValidator { fn get_all_accounts_with_can_unregister_domain_permission( ) -> Result, MigrationError> { let accounts = FindAllAccounts.execute().map_err(|error| { @@ -152,8 +169,16 @@ impl CustomValidator { } } -impl Visit for CustomValidator { - fn visit_register_domain(&mut self, authority: &AccountId, _register_domain: Register) { +macro_rules! defaults { + ( $($validator:ident $(<$param:ident $(: $bound:path)?>)?($operation:ty)),+ $(,)? ) => { $( + fn $validator $(<$param $(: $bound)?>)?(&mut self, authority: &AccountId, operation: $operation) { + iroha_validator::default::$validator(self, authority, operation) + } )+ + }; +} + +impl Visit for Validator { + fn visit_register_domain(&mut self, authority: &AccountId, _isi: Register) { if self.block_height() == 0 { pass!(self); } @@ -164,11 +189,7 @@ impl Visit for CustomValidator { deny!(self, "You don't have permission to register a new domain"); } - fn visit_unregister_domain( - &mut self, - authority: &AccountId, - _unregister_domain: Unregister, - ) { + fn visit_unregister_domain(&mut self, authority: &AccountId, _isi: Unregister) { if self.block_height() == 0 { pass!(self); } @@ -179,15 +200,16 @@ impl Visit for CustomValidator { deny!(self, "You don't have permission to unregister domain"); } - delegate! { - visit_expression(&EvaluatesTo), + defaults! { + visit_unsupported(T), + visit_transaction(&VersionedSignedTransaction), + visit_instruction(&InstructionBox), + visit_expression(&EvaluatesTo), visit_sequence(&SequenceBox), visit_if(&Conditional), visit_pair(&Pair), - visit_instruction(&InstructionBox), - // Peer validation visit_unregister_peer(Unregister), @@ -223,6 +245,7 @@ impl Visit for CustomValidator { visit_revoke_account_permission(Revoke), // Role validation + visit_register_role(Register), visit_unregister_role(Unregister), visit_grant_account_role(Grant), visit_revoke_account_role(Revoke), @@ -241,50 +264,40 @@ impl Visit for CustomValidator { } } -impl Validate for CustomValidator { - /// Migration should be applied on blockchain with [`DefaultValidator`] - fn migrate(_block_height: u64) -> MigrationResult { - let accounts = Self::get_all_accounts_with_can_unregister_domain_permission()?; - - let mut schema = DefaultValidator::permission_token_schema(); - schema.remove::(); - schema.insert::(); - - let (token_ids, schema_str) = schema.serialize(); - iroha_validator::iroha_wasm::set_permission_token_schema( - &iroha_validator::data_model::permission::PermissionTokenSchema::new( - token_ids, schema_str, - ), - ); - - Self::replace_token(&accounts) - } - +impl Validate for Validator { fn verdict(&self) -> &Result { - self.0.verdict() + &self.verdict } fn block_height(&self) -> u64 { - self.0.block_height() + self.block_height } fn deny(&mut self, reason: ValidationFail) { - self.0.deny(reason); + self.verdict = Err(reason); } } -impl ExpressionEvaluator for CustomValidator { - fn evaluate( - &self, - expression: &E, - ) -> core::result::Result { - self.0.evaluate(expression) +impl ExpressionEvaluator for Validator { + fn evaluate(&self, expression: &E) -> Result { + self.host.evaluate(expression) } } #[entrypoint] -pub fn migrate(block_height: u64) -> MigrationResult { - CustomValidator::migrate(block_height) +pub fn migrate(_block_height: u64) -> MigrationResult { + let accounts = Validator::get_all_accounts_with_can_unregister_domain_permission()?; + + let mut schema = default_permission_token_schema(); + schema.remove::(); + schema.insert::(); + + let (token_ids, schema_str) = schema.serialize(); + iroha_validator::iroha_wasm::set_permission_token_schema( + &iroha_validator::data_model::permission::PermissionTokenSchema::new(token_ids, schema_str), + ); + + Validator::replace_token(&accounts) } #[entrypoint] @@ -293,11 +306,9 @@ pub fn validate_transaction( transaction: VersionedSignedTransaction, block_height: u64, ) -> Result { - let mut validator = CustomValidator(DefaultValidator::new(block_height)); - + let mut validator = Validator::new(block_height); validator.visit_transaction(&authority, &transaction); - - validator.0.verdict + validator.verdict } #[entrypoint] @@ -306,18 +317,14 @@ pub fn validate_instruction( instruction: InstructionBox, block_height: u64, ) -> Result { - let mut validator = CustomValidator(DefaultValidator::new(block_height)); - + let mut validator = Validator::new(block_height); validator.visit_instruction(&authority, &instruction); - - validator.0.verdict + validator.verdict } #[entrypoint] pub fn validate_query(authority: AccountId, query: QueryBox, block_height: u64) -> Result { - let mut validator = CustomValidator(DefaultValidator::new(block_height)); - + let mut validator = Validator::new(block_height); validator.visit_query(&authority, &query); - - validator.0.verdict + validator.verdict } diff --git a/client/tests/integration/smartcontracts/validator_with_migration_fail/src/lib.rs b/client/tests/integration/smartcontracts/validator_with_migration_fail/src/lib.rs index 2d549c5e0d3..859dc13b801 100644 --- a/client/tests/integration/smartcontracts/validator_with_migration_fail/src/lib.rs +++ b/client/tests/integration/smartcontracts/validator_with_migration_fail/src/lib.rs @@ -1,41 +1,62 @@ -//! Runtime Validator which copies [`DefaultValidator`] logic but forbids any queries and fails to migrate. +//! Runtime Validator which copies default validation logic but forbids any queries and fails to migrate. #![no_std] #![allow(missing_docs, clippy::missing_errors_doc)] +extern crate alloc; #[cfg(not(test))] extern crate panic_halt; -extern crate alloc; - use alloc::{borrow::ToOwned as _, format}; use anyhow::anyhow; use iroha_validator::{ - data_model::evaluate::{EvaluationError, ExpressionEvaluator}, - parse, + data_model::{ + evaluate::{EvaluationError, ExpressionEvaluator}, + ValidationFail, + }, + iroha_wasm, parse, prelude::*, }; -struct CustomValidator(DefaultValidator); +struct Validator { + verdict: Result, + block_height: u64, + host: iroha_wasm::Host, +} + +impl Validator { + /// Construct [`Self`] + pub fn new(block_height: u64) -> Self { + Self { + verdict: Ok(()), + block_height, + host: iroha_wasm::Host, + } + } +} -macro_rules! delegate { - ( $($visitor:ident$(<$bound:ident>)?($operation:ty)),+ $(,)? ) => { $( - fn $visitor $(<$bound>)?(&mut self, authority: &AccountId, operation: $operation) { - self.0.$visitor(authority, operation); +macro_rules! defaults { + ( $($validator:ident $(<$param:ident $(: $bound:path)?>)?($operation:ty)),+ $(,)? ) => { $( + fn $validator $(<$param $(: $bound)?>)?(&mut self, authority: &AccountId, operation: $operation) { + iroha_validator::default::$validator(self, authority, operation) } )+ - } + }; } -impl Visit for CustomValidator { +impl Visit for Validator { fn visit_query(&mut self, _authority: &AccountId, _query: &QueryBox) { - deny!(self, "All queries are forbidden") + self.deny(ValidationFail::NotPermitted( + "All queries are forbidden".to_owned(), + )); } - delegate! { - visit_expression(&EvaluatesTo), + defaults! { + visit_unsupported(T), + visit_transaction(&VersionedSignedTransaction), visit_instruction(&InstructionBox), + visit_expression(&EvaluatesTo), visit_sequence(&SequenceBox), visit_if(&Conditional), visit_pair(&Pair), @@ -76,6 +97,7 @@ impl Visit for CustomValidator { visit_revoke_account_permission(Revoke), // Role validation + visit_register_role(Register), visit_unregister_role(Unregister), visit_grant_account_role(Grant), visit_revoke_account_role(Revoke), @@ -94,51 +116,42 @@ impl Visit for CustomValidator { } } -impl Validate for CustomValidator { - /// Migration should be applied on blockchain with [`DefaultValidator`] - fn migrate(_block_height: u64) -> MigrationResult { - // Performing side-effects to check in the test that it won't be applied after failure - - // Registering a new domain (using ISI) - let domain_id = parse!("failed_migration_test_domain" as DomainId); - RegisterBox::new(Domain::new(domain_id)) - .execute() - .map_err(|error| { - format!( - "{:?}", - anyhow!(error).context("Failed to register test domain") - ) - })?; - - Err("This validator always fails to migrate".to_owned()) - } - +impl Validate for Validator { fn verdict(&self) -> &Result { - self.0.verdict() + &self.verdict } fn block_height(&self) -> u64 { - self.0.block_height() + self.block_height } fn deny(&mut self, reason: ValidationFail) { - self.0.deny(reason); + self.verdict = Err(reason); } } -impl ExpressionEvaluator for CustomValidator { - fn evaluate( - &self, - expression: &E, - ) -> core::result::Result { - self.0.evaluate(expression) +impl ExpressionEvaluator for Validator { + fn evaluate(&self, expression: &E) -> Result { + self.host.evaluate(expression) } } -/// Migration entrypoint. #[entrypoint] -pub fn migrate(block_height: u64) -> MigrationResult { - CustomValidator::migrate(block_height) +pub fn migrate(_block_height: u64) -> MigrationResult { + // Performing side-effects to check in the test that it won't be applied after failure + + // Registering a new domain (using ISI) + let domain_id = parse!("failed_migration_test_domain" as DomainId); + RegisterBox::new(Domain::new(domain_id)) + .execute() + .map_err(|error| { + format!( + "{:?}", + anyhow!(error).context("Failed to register test domain") + ) + })?; + + Err("This validator always fails to migrate".to_owned()) } #[entrypoint] @@ -147,11 +160,9 @@ pub fn validate_transaction( transaction: VersionedSignedTransaction, block_height: u64, ) -> Result { - let mut validator = CustomValidator(DefaultValidator::new(block_height)); - + let mut validator = Validator::new(block_height); validator.visit_transaction(&authority, &transaction); - - validator.0.verdict + validator.verdict } #[entrypoint] @@ -160,18 +171,14 @@ pub fn validate_instruction( instruction: InstructionBox, block_height: u64, ) -> Result { - let mut validator = CustomValidator(DefaultValidator::new(block_height)); - + let mut validator = Validator::new(block_height); validator.visit_instruction(&authority, &instruction); - - validator.0.verdict + validator.verdict } #[entrypoint] pub fn validate_query(authority: AccountId, query: QueryBox, block_height: u64) -> Result { - let mut validator = CustomValidator(DefaultValidator::new(block_height)); - + let mut validator = Validator::new(block_height); validator.visit_query(&authority, &query); - - validator.0.verdict + validator.verdict } diff --git a/client/tests/integration/upgrade.rs b/client/tests/integration/upgrade.rs index 77b6bc6139a..368b34bcfcb 100644 --- a/client/tests/integration/upgrade.rs +++ b/client/tests/integration/upgrade.rs @@ -3,9 +3,9 @@ use std::{path::Path, str::FromStr as _}; use eyre::Result; -use iroha_client::client::{self, Client}; +use iroha_client::client::{self, Client, QueryResult}; use iroha_crypto::KeyPair; -use iroha_data_model::{prelude::*, query::permission::DoesAccountHavePermissionToken}; +use iroha_data_model::prelude::*; use iroha_logger::info; use serde_json::json; use test_network::*; @@ -70,13 +70,14 @@ fn validator_upgrade_should_run_migration() -> Result<()> { // Check that Alice has permission to unregister Wonderland let alice_id: AccountId = "alice@wonderland".parse().unwrap(); - assert!(client.request(DoesAccountHavePermissionToken::new( - alice_id.clone(), - PermissionToken::new( - can_unregister_domain_token_id.clone(), - &json!({ "domain_id": DomainId::from_str("wonderland").unwrap() }) - ), - ))?); + let alice_tokens = client + .request(FindPermissionTokensByAccountId::new(alice_id.clone()))? + .collect::>>() + .expect("Valid"); + assert!(alice_tokens.contains(&PermissionToken::new( + can_unregister_domain_token_id.clone(), + &json!({ "domain_id": DomainId::from_str("wonderland").unwrap() }), + ))); upgrade_validator( &client, @@ -98,10 +99,14 @@ fn validator_upgrade_should_run_migration() -> Result<()> { .any(|id| id == &can_control_domain_lives_token_id)); // Check that Alice has `can_control_domain_lives` permission - assert!(client.request(DoesAccountHavePermissionToken::new( - alice_id, - PermissionToken::new(can_control_domain_lives_token_id, &json!(null)), - ))?); + let alice_tokens = client + .request(FindPermissionTokensByAccountId::new(alice_id))? + .collect::>>() + .expect("Valid"); + assert!(alice_tokens.contains(&PermissionToken::new( + can_control_domain_lives_token_id, + &json!(null), + ))); Ok(()) } diff --git a/configs/peer/validator.wasm b/configs/peer/validator.wasm index 3574fd32f27b484588d0fe76232eabab4ca53241..348870236671e7c9b918d14c1561106d4c182257 100644 GIT binary patch literal 510389 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 z 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%0D950)S;_kUXYo(uSH&_SrnZgbx#r&9d%kS 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 Result { - let authority = wsv - .evaluate(&self.account_id) - .map_err(|e| Error::Evaluate(e.to_string()))?; - let given_permission_token = wsv - .evaluate(&self.permission_token) - .map_err(|e| Error::Evaluate(e.to_string()))?; - - Ok(wsv - .account_permission_tokens(&authority)? - .any(|permission_token| *permission_token == given_permission_token)) - } - } } diff --git a/data_model/derive/src/lib.rs b/data_model/derive/src/lib.rs index 2b70c08203a..d6bb607ddc4 100644 --- a/data_model/derive/src/lib.rs +++ b/data_model/derive/src/lib.rs @@ -95,7 +95,7 @@ pub fn model_single(input: TokenStream) -> TokenStream { /// /// ```rust /// use iroha_data_model_derive::IdEqOrdHash; -/// use iroha_data_model::Identifiable; +/// use iroha_data_model::{Identifiable, IdBox}; /// /// #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] /// struct Id { @@ -107,6 +107,12 @@ pub fn model_single(input: TokenStream) -> TokenStream { /// id: Id, /// } /// +/// # impl From for IdBox { +/// # fn from(_source: Id) -> Self { +/// # unimplemented!("Only present to make the example work") +/// # } +/// # } +/// /// /* which will expand into: /// impl Identifiable for Struct { /// type Id = Id; @@ -149,7 +155,7 @@ pub fn model_single(input: TokenStream) -> TokenStream { /// /// ```rust /// use iroha_data_model_derive::IdEqOrdHash; -/// use iroha_data_model::Identifiable; +/// use iroha_data_model::{Identifiable, IdBox}; /// /// #[derive(Debug, IdEqOrdHash)] /// struct InnerStruct { @@ -157,12 +163,30 @@ pub fn model_single(input: TokenStream) -> TokenStream { /// field: Id, /// } /// +/// # impl From for IdBox { +/// # fn from(_source: Id) -> Self { +/// # unimplemented!("Only present to make the example work") +/// # } +/// # } +/// /// #[derive(Debug, IdEqOrdHash)] /// struct Struct { /// #[id(transparent)] /// inner: InnerStruct, /// } /// +/// # impl From for IdBox { +/// # fn from(_source: InnerStruct) -> Self { +/// # unimplemented!("Only present to make the example work") +/// # } +/// # } +/// +/// # impl From for IdBox { +/// # fn from(_source: Struct) -> Self { +/// # unimplemented!("Only present to make the example work") +/// # } +/// # } +/// /// #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] /// struct Id { /// name: u32, @@ -190,7 +214,7 @@ pub fn id_eq_ord_hash(input: TokenStream) -> TokenStream { /// /// ```ignore /// use iroha_data_model_derive::{Filter, IdEqOrdHash}; -/// use iroha_data_model::prelude::{HasOrigin, Identifiable}; +/// use iroha_data_model::prelude::{HasOrigin, Identifiable, IdBox}; /// use serde::{Deserialize, Serialize}; /// /// @@ -224,6 +248,18 @@ pub fn id_eq_ord_hash(input: TokenStream) -> TokenStream { /// id: ::Id, /// } /// +/// # impl From for IdBox { +/// # fn from(_source: Layer) -> Self { +/// # unimplemented!("Only present to make the example work") +/// # } +/// # } +/// +/// # impl From for IdBox { +/// # fn from(_source: SubLayer) -> Self { +/// # unimplemented!("Only present to make the example work") +/// # } +/// # } +/// /// impl HasOrigin for LayerEvent { /// type Origin = Layer; /// @@ -431,7 +467,7 @@ pub fn partially_tagged_deserialize_derive(input: TokenStream) -> TokenStream { /// /// ``` /// use iroha_data_model_derive::{IdEqOrdHash, HasOrigin}; -/// use iroha_data_model::prelude::{Identifiable, HasOrigin}; +/// use iroha_data_model::prelude::{HasOrigin, Identifiable, IdBox}; /// /// /// #[derive(Debug, Clone, HasOrigin)] @@ -469,6 +505,18 @@ pub fn partially_tagged_deserialize_derive(input: TokenStream) -> TokenStream { /// id: SubLayerId, /// } /// +/// # impl From for IdBox { +/// # fn from(_source: LayerId) -> Self { +/// # unimplemented!("Only present to make the example work") +/// # } +/// # } +/// +/// # impl From for IdBox { +/// # fn from(_source: SubLayerId) -> Self { +/// # unimplemented!("Only present to make the example work") +/// # } +/// # } +/// /// let layer_id = LayerId { name: 42 }; /// let sub_layer_id = SubLayerId { name: 24, parent_id: layer_id.clone() }; /// let layer_created_event = LayerEvent::Created(layer_id.clone()); diff --git a/data_model/src/isi.rs b/data_model/src/isi.rs index 9e26cc9c9bd..c816d1b2a59 100644 --- a/data_model/src/isi.rs +++ b/data_model/src/isi.rs @@ -147,13 +147,11 @@ mod transparent { // because they are never shared between client and server(http)/host(wasm) use super::*; + use crate::validator::Validator; /// Generic instruction to set key value at the object. #[derive(Debug, Clone)] - pub struct SetKeyValue - where - O: Identifiable, - { + pub struct SetKeyValue { /// Where to set key value. pub object_id: O::Id, /// Key. @@ -164,10 +162,7 @@ mod transparent { /// Generic instruction to remove key value at the object. #[derive(Debug, Clone)] - pub struct RemoveKeyValue - where - O: Identifiable, - { + pub struct RemoveKeyValue { /// From where to remove key value. pub object_id: O::Id, /// Key of the pair to remove. @@ -176,31 +171,21 @@ mod transparent { /// Generic instruction for a registration of an object to the identifiable destination. #[derive(Debug, Clone)] - pub struct Register - where - O: Registered, - { + pub struct Register { /// The object that should be registered, should be uniquely identifiable by its id. pub object: O::With, } /// Generic instruction for an unregistration of an object from the identifiable destination. #[derive(Debug, Clone)] - pub struct Unregister - where - O: Registered, - { + pub struct Unregister { /// [`Identifiable::Id`] of the object which should be unregistered. pub object_id: O::Id, } /// Generic instruction for a mint of an object to the identifiable destination. #[derive(Debug, Clone)] - pub struct Mint - where - D: Identifiable, - O: Into, - { + pub struct Mint> { /// Object which should be minted. pub object: O, /// Destination object [`Identifiable::Id`]. @@ -209,11 +194,7 @@ mod transparent { /// Generic instruction for a burn of an object to the identifiable destination. #[derive(Debug, Clone)] - pub struct Burn - where - D: Identifiable, - O: Into, - { + pub struct Burn> { /// Object which should be burned. pub object: O, /// Destination object [`Identifiable::Id`]. @@ -222,10 +203,7 @@ mod transparent { /// Generic instruction for a transfer of an object from the identifiable source to the identifiable destination. #[derive(Debug, Clone)] - pub struct Transfer - where - O: Into, - { + pub struct Transfer, D: Identifiable> { /// Source object `Id`. pub source_id: S::Id, /// Object which should be transferred. @@ -236,11 +214,7 @@ mod transparent { /// Generic instruction for granting permission to an entity. #[derive(Debug, Clone)] - pub struct Grant - where - D: Registered, - O: Into, - { + pub struct Grant> { /// Object to grant. pub object: O, /// Entity to which to grant this token. @@ -249,11 +223,7 @@ mod transparent { /// Generic instruction for revoking permission from an entity. #[derive(Debug, Clone)] - pub struct Revoke - where - D: Registered, - O: Into, - { + pub struct Revoke> { /// Object to revoke. pub object: O, /// Entity which is being revoked this token from. @@ -276,10 +246,7 @@ mod transparent { /// Generic instruction for upgrading runtime objects. #[derive(Debug, Clone)] - pub struct Upgrade - where - O: Into, - { + pub struct Upgrade> { /// Object to upgrade. pub object: O, } @@ -299,6 +266,94 @@ mod transparent { /// Log level of the message pub level: Level, } + + impl From> for SetKeyValueBox { + fn from(source: SetKeyValue) -> Self { + Self::new(source.object_id.into(), source.key, source.value) + } + } + + impl From> for RemoveKeyValueBox { + fn from(source: RemoveKeyValue) -> Self { + Self::new(source.object_id.into(), source.key) + } + } + + impl From> for RegisterBox { + fn from(source: Register) -> Self { + Self::new(source.object.into()) + } + } + + impl From> for UnregisterBox { + fn from(source: Unregister) -> Self { + Self::new(source.object_id.into()) + } + } + + impl> From> for MintBox { + fn from(source: Mint) -> Self { + Self::new(source.object, source.destination_id.into()) + } + } + + impl> From> for BurnBox { + fn from(source: Burn) -> Self { + Self::new(source.object, source.destination_id.into()) + } + } + + impl, D: Identifiable> From> for TransferBox { + fn from(source: Transfer) -> Self { + Self::new( + source.source_id.into(), + source.object, + source.destination_id.into(), + ) + } + } + + impl> From> for GrantBox { + fn from(source: Grant) -> Self { + Self::new(source.object, source.destination_id.into()) + } + } + + impl> From> for RevokeBox { + fn from(source: Revoke) -> Self { + Self::new(source.object, source.destination_id.into()) + } + } + + impl From for SetParameterBox { + fn from(source: SetParameter) -> Self { + Self::new(source.parameter) + } + } + + impl From for NewParameterBox { + fn from(source: NewParameter) -> Self { + Self::new(source.parameter) + } + } + + impl From> for UpgradeBox { + fn from(source: Upgrade) -> Self { + Self::new(source.object) + } + } + + impl From for ExecuteTriggerBox { + fn from(source: ExecuteTrigger) -> Self { + Self::new(source.trigger_id) + } + } + + impl From for LogBox { + fn from(source: Log) -> Self { + Self::new(source.level, source.msg) + } + } } isi! { diff --git a/data_model/src/lib.rs b/data_model/src/lib.rs index 074b07a548b..6e3f2bdaee0 100644 --- a/data_model/src/lib.rs +++ b/data_model/src/lib.rs @@ -151,7 +151,6 @@ mod seal { FindTransactionByHash, FindPermissionTokensByAccountId, FindPermissionTokenSchema, - DoesAccountHavePermissionToken, FindAllActiveTriggerIds, FindTriggerById, FindTriggerKeyValueByIdAndKey, @@ -1556,7 +1555,7 @@ impl> TryToValue for T { /// This trait should always be derived with [`IdEqOrdHash`] pub trait Identifiable: Ord + Eq { /// Type of the entity identifier - type Id: Ord + Eq + core::hash::Hash; + type Id: Into + Ord + Eq + core::hash::Hash; /// Get reference to the type identifier fn id(&self) -> &Self::Id; diff --git a/data_model/src/permission.rs b/data_model/src/permission.rs index 22f49781f51..2e1fcd025b5 100644 --- a/data_model/src/permission.rs +++ b/data_model/src/permission.rs @@ -75,8 +75,9 @@ pub mod model { pub schema: String, } - /// String containing serialized json - #[derive(Debug, Clone, PartialEq, Eq, Encode, Decode)] + /// String containing serialized valid JSON. + /// This string is guaranteed to parse as JSON + #[derive(Debug, Clone, Eq, Encode, Decode)] pub struct StringWithJson(pub(super) String); } @@ -94,6 +95,20 @@ impl PermissionTokenSchema { } impl PermissionToken { + /// Construct [`Self`] from a raw string slice. The caller of the function + /// must make sure that the given string slice can be parsed as valid JSON. + /// + /// Only used in tests + #[cfg(debug_assertions)] + // TODO: Remove after integration tests have been moved to python tests + #[deprecated(note = "Will be removed after integration tests are removed from iroha_client")] + pub fn from_str_unchecked(definition_id: PermissionTokenId, payload: &str) -> Self { + Self { + definition_id, + payload: StringWithJson(payload.to_owned()), + } + } + /// Construct [`Self`] pub fn new(definition_id: PermissionTokenId, payload: &serde_json::Value) -> Self { Self { @@ -127,6 +142,12 @@ impl StringWithJson { Self(payload.to_string()) } } +impl PartialEq for StringWithJson { + fn eq(&self, other: &Self) -> bool { + serde_json::from_str::(&self.0).unwrap() + == serde_json::from_str::(&other.0).unwrap() + } +} impl<'de> serde::de::Deserialize<'de> for StringWithJson { fn deserialize(deserializer: D) -> Result diff --git a/data_model/src/query/mod.rs b/data_model/src/query/mod.rs index 92ee7a6c33b..a6f6a524bc1 100644 --- a/data_model/src/query/mod.rs +++ b/data_model/src/query/mod.rs @@ -125,7 +125,6 @@ pub mod model { FindTransactionByHash(FindTransactionByHash), FindPermissionTokensByAccountId(FindPermissionTokensByAccountId), FindPermissionTokenSchema(FindPermissionTokenSchema), - DoesAccountHavePermissionToken(DoesAccountHavePermissionToken), FindAllActiveTriggerIds(FindAllActiveTriggerIds), FindTriggerById(FindTriggerById), FindTriggerKeyValueByIdAndKey(FindTriggerKeyValueByIdAndKey), @@ -328,17 +327,6 @@ pub mod permission { /// `Id` of an account to find. pub id: EvaluatesTo, } - - /// [`DoesAccountHavePermission`] Iroha Query checks if the account has the specified permission. - #[derive(Display)] - #[display(fmt = "Check if `{account_id}` account has `{permission_token}` permission token")] - #[ffi_type] - pub struct DoesAccountHavePermissionToken { - /// `Id` of an account to check. - pub account_id: EvaluatesTo, - /// `PermissionToken` to check for. - pub permission_token: EvaluatesTo, - } } impl Query for FindPermissionTokenSchema { @@ -349,25 +337,8 @@ pub mod permission { type Output = Vec; } - impl Query for DoesAccountHavePermissionToken { - type Output = bool; - } - - impl DoesAccountHavePermissionToken { - /// Construct [`DoesAccountHavePermissionToken`]. - pub fn new( - account_id: impl Into>, - permission_token: impl Into>, - ) -> Self { - Self { - account_id: account_id.into(), - permission_token: permission_token.into(), - } - } - } - impl FindPermissionTokensByAccountId { - /// Construct [`DoesAccountHavePermissionToken`]. + /// Construct [`FindPermissionTokensByAccountId`]. pub fn new(account_id: impl Into>) -> Self { Self { id: account_id.into(), @@ -377,10 +348,7 @@ pub mod permission { /// The prelude re-exports most commonly used traits, structs and macros from this module. pub mod prelude { - pub use super::{ - DoesAccountHavePermissionToken, FindPermissionTokenSchema, - FindPermissionTokensByAccountId, - }; + pub use super::{FindPermissionTokenSchema, FindPermissionTokensByAccountId}; } } diff --git a/data_model/src/visit.rs b/data_model/src/visit.rs index e6bf8ebff3e..1f33124d6fa 100644 --- a/data_model/src/visit.rs +++ b/data_model/src/visit.rs @@ -13,7 +13,7 @@ macro_rules! delegate { fn $visitor$(<$param $(: $bound)?>)?(&mut self, authority: &AccountId, operation: $operation) { $visitor(self, authority, operation); } )+ - } + }; } macro_rules! evaluate_expr { @@ -66,7 +66,6 @@ pub trait Visit: ExpressionEvaluator { visit_log(Log), // Visit QueryBox - visit_does_account_have_permission_token(&DoesAccountHavePermissionToken), visit_find_account_by_id(&FindAccountById), visit_find_account_key_value_by_id_and_key(&FindAccountKeyValueByIdAndKey), visit_find_accounts_by_domain_id(&FindAccountsByDomainId), @@ -171,7 +170,7 @@ pub trait Visit: ExpressionEvaluator { fn visit_unsupported( _visitor: &mut V, _authority: &AccountId, - _item: T, + _isi: T, ) { } @@ -201,7 +200,6 @@ pub fn visit_query(visitor: &mut V, authority: &AccountId, qu } query_visitors! { - visit_does_account_have_permission_token(DoesAccountHavePermissionToken), visit_find_account_by_id(FindAccountById), visit_find_account_key_value_by_id_and_key(FindAccountKeyValueByIdAndKey), visit_find_accounts_by_domain_id(FindAccountsByDomainId), @@ -281,7 +279,7 @@ pub fn visit_instruction( InstructionBox::Log(isi) => { let msg = evaluate_expr!(visitor, authority, ::msg()); let level = evaluate_expr!(visitor, authority, ::level()); - visitor.visit_log(authority, Log { msg, level }) + visitor.visit_log(authority, Log { msg, level }); } $( InstructionBox::$isi(isi) => { visitor.$visitor(authority, isi); @@ -605,8 +603,8 @@ pub fn visit_revoke(visitor: &mut V, authority: &AccountId, i let destination_id = evaluate_expr!(visitor, authority, ::destination_id()); let object = evaluate_expr!(visitor, authority, ::object()); - match (destination_id, object) { - (IdBox::AccountId(destination_id), Value::PermissionToken(object)) => visitor + match (object, destination_id) { + (Value::PermissionToken(object), IdBox::AccountId(destination_id)) => visitor .visit_revoke_account_permission( authority, Revoke { @@ -614,7 +612,7 @@ pub fn visit_revoke(visitor: &mut V, authority: &AccountId, i destination_id, }, ), - (IdBox::AccountId(destination_id), Value::Id(IdBox::RoleId(object))) => visitor + (Value::Id(IdBox::RoleId(object)), IdBox::AccountId(destination_id)) => visitor .visit_revoke_account_role( authority, Revoke { @@ -715,7 +713,6 @@ leaf_visitors! { visit_log(Log), // Query visitors - visit_does_account_have_permission_token(&DoesAccountHavePermissionToken), visit_find_account_by_id(&FindAccountById), visit_find_account_key_value_by_id_and_key(&FindAccountKeyValueByIdAndKey), visit_find_accounts_by_domain_id(&FindAccountsByDomainId), diff --git a/default_validator/Cargo.toml b/default_validator/Cargo.toml index 759c34716ac..f45204042fd 100644 --- a/default_validator/Cargo.toml +++ b/default_validator/Cargo.toml @@ -24,6 +24,6 @@ opt-level = "z" # Optimize for size vs speed with "s"/"z"(removes vectorizat codegen-units = 1 # Further reduces binary size but increases compilation time [dependencies] -iroha_validator = { version = "2.0.0-pre-rc.19", path = "../wasm/validator", features = ["debug", "default-validator"]} +iroha_validator = { version = "2.0.0-pre-rc.19", path = "../wasm/validator", features = ["debug"]} panic-halt = "0.2.0" diff --git a/default_validator/src/lib.rs b/default_validator/src/lib.rs index 5eb510ed144..7a670099a5a 100644 --- a/default_validator/src/lib.rs +++ b/default_validator/src/lib.rs @@ -3,14 +3,167 @@ #![no_std] #![allow(missing_docs, clippy::missing_errors_doc)] +extern crate alloc; #[cfg(not(test))] extern crate panic_halt; -use iroha_validator::prelude::*; +use alloc::borrow::ToOwned as _; +use iroha_validator::{ + data_model::evaluate::ExpressionEvaluator, default::default_permission_token_schema, + iroha_wasm, prelude::*, +}; + +/// Validator that replaces some of [`Validate`]'s methods with sensible defaults +/// +/// # Warning +/// +/// The defaults are not guaranteed to be stable. +#[derive(Debug, Clone)] +pub struct Validator { + verdict: Result, + block_height: u64, + host: iroha_wasm::Host, +} + +impl Validator { + /// Construct [`Self`] + pub fn new(block_height: u64) -> Self { + Self { + verdict: Ok(()), + block_height, + host: iroha_wasm::Host, + } + } + + fn ensure_genesis(block_height: u64) -> MigrationResult { + if block_height != 0 { + return Err("Default Validator is intended to be used only in genesis. \ + Write your own validator if you need to upgrade validator on existing chain." + .to_owned()); + } + + Ok(()) + } +} + +macro_rules! defaults { + ( $($validator:ident $(<$param:ident $(: $bound:path)?>)?($operation:ty)),+ $(,)? ) => { $( + fn $validator $(<$param $(: $bound)?>)?(&mut self, authority: &AccountId, operation: $operation) { + iroha_validator::default::$validator(self, authority, operation) + } )+ + }; +} + +impl Visit for Validator { + defaults! { + visit_unsupported(T), + + visit_transaction(&VersionedSignedTransaction), + visit_instruction(&InstructionBox), + visit_expression(&EvaluatesTo), + visit_sequence(&SequenceBox), + visit_if(&Conditional), + visit_pair(&Pair), + + // Peer validation + visit_unregister_peer(Unregister), + + // Domain validation + visit_unregister_domain(Unregister), + visit_set_domain_key_value(SetKeyValue), + visit_remove_domain_key_value(RemoveKeyValue), + + // Account validation + visit_unregister_account(Unregister), + visit_mint_account_public_key(Mint), + visit_burn_account_public_key(Burn), + visit_mint_account_signature_check_condition(Mint), + visit_set_account_key_value(SetKeyValue), + visit_remove_account_key_value(RemoveKeyValue), + + // Asset validation + visit_register_asset(Register), + visit_unregister_asset(Unregister), + visit_mint_asset(Mint), + visit_burn_asset(Burn), + visit_transfer_asset(Transfer), + visit_set_asset_key_value(SetKeyValue), + visit_remove_asset_key_value(RemoveKeyValue), + + // AssetDefinition validation + visit_unregister_asset_definition(Unregister), + visit_transfer_asset_definition(Transfer), + visit_set_asset_definition_key_value(SetKeyValue), + visit_remove_asset_definition_key_value(RemoveKeyValue), + + // Permission validation + visit_grant_account_permission(Grant), + visit_revoke_account_permission(Revoke), + + // Role validation + visit_register_role(Register), + visit_unregister_role(Unregister), + visit_grant_account_role(Grant), + visit_revoke_account_role(Revoke), + + // Trigger validation + visit_unregister_trigger(Unregister>), + visit_mint_trigger_repetitions(Mint, u32>), + visit_execute_trigger(ExecuteTrigger), + + // Parameter validation + visit_set_parameter(SetParameter), + visit_new_parameter(NewParameter), + + // Upgrade validation + visit_upgrade_validator(Upgrade), + } +} + +impl Validate for Validator { + fn verdict(&self) -> &Result { + &self.verdict + } + + fn block_height(&self) -> u64 { + self.block_height + } + + fn deny(&mut self, reason: ValidationFail) { + self.verdict = Err(reason); + } +} + +impl ExpressionEvaluator for Validator { + fn evaluate( + &self, + expression: &E, + ) -> core::result::Result { + self.host.evaluate(expression) + } +} + +/// Migrate previous validator to the current version. +/// Called by Iroha once just before upgrading validator. +/// +/// # Errors +/// +/// Concrete errors are specific to the implementation. +/// +/// If `migrate()` entrypoint fails then the whole `Upgrade` instruction +/// will be denied and previous validator will stay unchanged. #[entrypoint] pub fn migrate(block_height: u64) -> MigrationResult { - DefaultValidator::migrate(block_height) + Validator::ensure_genesis(block_height)?; + + let schema = default_permission_token_schema(); + let (token_ids, schema_str) = schema.serialize(); + iroha_validator::iroha_wasm::set_permission_token_schema( + &iroha_validator::data_model::permission::PermissionTokenSchema::new(token_ids, schema_str), + ); + + Ok(()) } #[entrypoint] @@ -19,10 +172,8 @@ pub fn validate_transaction( transaction: VersionedSignedTransaction, block_height: u64, ) -> Result { - let mut validator = DefaultValidator::new(block_height); - + let mut validator = Validator::new(block_height); validator.visit_transaction(&authority, &transaction); - validator.verdict } @@ -32,18 +183,14 @@ pub fn validate_instruction( instruction: InstructionBox, block_height: u64, ) -> Result { - let mut validator = DefaultValidator::new(block_height); - + let mut validator = Validator::new(block_height); validator.visit_instruction(&authority, &instruction); - validator.verdict } #[entrypoint] pub fn validate_query(authority: AccountId, query: QueryBox, block_height: u64) -> Result { - let mut validator = DefaultValidator::new(block_height); - + let mut validator = Validator::new(block_height); validator.visit_query(&authority, &query); - validator.verdict } diff --git a/docs/source/references/schema.json b/docs/source/references/schema.json index 15833786c86..8352748b3fb 100644 --- a/docs/source/references/schema.json +++ b/docs/source/references/schema.json @@ -945,18 +945,6 @@ } ] }, - "DoesAccountHavePermissionToken": { - "Struct": [ - { - "name": "account_id", - "type": "EvaluatesTo" - }, - { - "name": "permission_token", - "type": "EvaluatesTo" - } - ] - }, "Domain": { "Struct": [ { @@ -1175,14 +1163,6 @@ } ] }, - "EvaluatesTo": { - "Struct": [ - { - "name": "expression", - "type": "Expression" - } - ] - }, "EvaluatesTo": { "Struct": [ { @@ -3571,54 +3551,49 @@ "discriminant": 31, "type": "FindPermissionTokenSchema" }, - { - "tag": "DoesAccountHavePermissionToken", - "discriminant": 32, - "type": "DoesAccountHavePermissionToken" - }, { "tag": "FindAllActiveTriggerIds", - "discriminant": 33, + "discriminant": 32, "type": "FindAllActiveTriggerIds" }, { "tag": "FindTriggerById", - "discriminant": 34, + "discriminant": 33, "type": "FindTriggerById" }, { "tag": "FindTriggerKeyValueByIdAndKey", - "discriminant": 35, + "discriminant": 34, "type": "FindTriggerKeyValueByIdAndKey" }, { "tag": "FindTriggersByDomainId", - "discriminant": 36, + "discriminant": 35, "type": "FindTriggersByDomainId" }, { "tag": "FindAllRoles", - "discriminant": 37, + "discriminant": 36, "type": "FindAllRoles" }, { "tag": "FindAllRoleIds", - "discriminant": 38, + "discriminant": 37, "type": "FindAllRoleIds" }, { "tag": "FindRoleByRoleId", - "discriminant": 39, + "discriminant": 38, "type": "FindRoleByRoleId" }, { "tag": "FindRolesByAccountId", - "discriminant": 40, + "discriminant": 39, "type": "FindRolesByAccountId" }, { "tag": "FindAllParameters", - "discriminant": 41, + "discriminant": 40, "type": "FindAllParameters" } ] diff --git a/schema/gen/src/lib.rs b/schema/gen/src/lib.rs index f3b400539a8..11712455494 100644 --- a/schema/gen/src/lib.rs +++ b/schema/gen/src/lib.rs @@ -123,7 +123,6 @@ types!( DataEvent, DataEventFilter, Divide, - DoesAccountHavePermissionToken, Domain, DomainEvent, DomainEventFilter, diff --git a/wasm/validator/Cargo.toml b/wasm/validator/Cargo.toml index aaca743687d..607f70bc836 100644 --- a/wasm/validator/Cargo.toml +++ b/wasm/validator/Cargo.toml @@ -7,11 +7,8 @@ edition.workspace = true license.workspace = true [features] -default = ["default-validator"] # Enables debugging tools such as `dbg()` and `DebugUnwrapExt` debug = ["iroha_wasm/debug"] -# Enables predefined default validator -default-validator = [] [dependencies] iroha_wasm = { version = "2.0.0-pre-rc.19", path = ".." } diff --git a/wasm/validator/derive/src/entrypoint.rs b/wasm/validator/derive/src/entrypoint.rs index 54651f86290..73ceb77538c 100644 --- a/wasm/validator/derive/src/entrypoint.rs +++ b/wasm/validator/derive/src/entrypoint.rs @@ -149,8 +149,8 @@ fn impl_migrate_entrypoint(fn_item: syn::ItemFn) -> TokenStream { ::core::mem::ManuallyDrop::new(bytes).as_ptr() } - // NOTE: Host objects are always passed by value to wasm - #[allow(clippy::needless_pass_by_value)] + // NOTE: False positive + #[allow(clippy::unnecessary_wraps)] #(#attrs)* #vis #sig #block diff --git a/wasm/validator/derive/src/token.rs b/wasm/validator/derive/src/token.rs index da7ea6a159f..38cc336641a 100644 --- a/wasm/validator/derive/src/token.rs +++ b/wasm/validator/derive/src/token.rs @@ -20,41 +20,25 @@ pub fn impl_derive_token(input: TokenStream) -> TokenStream { .into() } -fn gen_token_definition_id() -> proc_macro2::TokenStream { - quote! {{ - let token_id = ::type_name(); - - ::iroha_validator::iroha_wasm::debug::DebugExpectExt::dbg_expect( - token_id.parse::(), - "Failed to parse permission token as `Name`", - ) - }} -} - fn impl_token(ident: &syn::Ident, generics: &syn::Generics) -> proc_macro2::TokenStream { let (impl_generics, ty_generics, where_clause) = generics.split_for_impl(); - let token_definition_id = gen_token_definition_id(); quote! { impl #impl_generics ::iroha_validator::permission::Token for #ident #ty_generics #where_clause { fn is_owned_by(&self, account_id: &::iroha_validator::data_model::prelude::AccountId) -> bool { - let permission_token = ::iroha_validator::data_model::permission::PermissionToken::new( - #token_definition_id, &::serde_json::to_value(self) - .expect(concat!("Failed to serialize `", stringify!(#ident), "` permission token into JSON")) - ); - - let value = ::iroha_validator::iroha_wasm::debug::DebugExpectExt::dbg_expect( + let all_account_tokens: Vec = ::iroha_validator::iroha_wasm::debug::DebugExpectExt::dbg_expect( ::iroha_validator::iroha_wasm::QueryHost::execute( - &::iroha_validator::iroha_wasm::data_model::prelude::DoesAccountHavePermissionToken::new( - account_id.clone(), permission_token, + &::iroha_validator::iroha_wasm::data_model::prelude::FindPermissionTokensByAccountId::new( + account_id.clone(), ) ), - "Failed to execute `DoesAccountHavePermissionToken` query" - ); - ::iroha_validator::iroha_wasm::debug::DebugExpectExt::dbg_expect( - value.try_into(), - "Failed to convert `DoesAccountHavePermissionToken` query result into `bool`" - ) + "Failed to execute `FindPermissionTokensByAccountId` query" + ).try_into().unwrap(); + + all_account_tokens + .into_iter() + .filter_map(|token| Self::try_from(token).ok()) + .any(|token| self == &token) } } } @@ -65,14 +49,14 @@ fn impl_try_from_permission_token( generics: &syn::Generics, ) -> proc_macro2::TokenStream { let (impl_generics, ty_generics, where_clause) = generics.split_for_impl(); - let token_definition_id = gen_token_definition_id(); + let token_id = quote! { ::name() }; quote! { impl #impl_generics ::core::convert::TryFrom<::iroha_validator::data_model::permission::PermissionToken> for #ident #ty_generics #where_clause { type Error = ::iroha_validator::permission::PermissionTokenConversionError; fn try_from(token: ::iroha_validator::data_model::permission::PermissionToken) -> ::core::result::Result { - if #token_definition_id != *token.definition_id() { + if #token_id != *token.definition_id() { return Err(::iroha_validator::permission::PermissionTokenConversionError::Id( ::alloc::borrow::ToOwned::to_owned(token.definition_id()) )); diff --git a/wasm/validator/src/default.rs b/wasm/validator/src/default.rs index 788a1a7c182..364fc1b72c9 100644 --- a/wasm/validator/src/default.rs +++ b/wasm/validator/src/default.rs @@ -3,29 +3,32 @@ use alloc::{borrow::ToOwned as _, format, string::String}; -use account::{ +pub use account::{ visit_burn_account_public_key, visit_mint_account_public_key, visit_mint_account_signature_check_condition, visit_remove_account_key_value, visit_set_account_key_value, visit_unregister_account, }; -use asset::{ +pub use asset::{ visit_burn_asset, visit_mint_asset, visit_register_asset, visit_remove_asset_key_value, visit_set_asset_key_value, visit_transfer_asset, visit_unregister_asset, }; -use asset_definition::{ +pub use asset_definition::{ visit_remove_asset_definition_key_value, visit_set_asset_definition_key_value, visit_transfer_asset_definition, visit_unregister_asset_definition, }; -use data_model::{evaluate::ExpressionEvaluator, visit::Visit}; -use domain::{visit_remove_domain_key_value, visit_set_domain_key_value, visit_unregister_domain}; -use parameter::{visit_new_parameter, visit_set_parameter}; -use peer::visit_unregister_peer; -use permission_token::{visit_grant_account_permission, visit_revoke_account_permission}; -use role::{ +pub use domain::{ + visit_remove_domain_key_value, visit_set_domain_key_value, visit_unregister_domain, +}; +pub use parameter::{visit_new_parameter, visit_set_parameter}; +pub use peer::visit_unregister_peer; +pub use permission_token::{visit_grant_account_permission, visit_revoke_account_permission}; +pub use role::{ visit_grant_account_role, visit_register_role, visit_revoke_account_role, visit_unregister_role, }; -use trigger::{visit_execute_trigger, visit_mint_trigger_repetitions, visit_unregister_trigger}; -use validator::visit_upgrade_validator; +pub use trigger::{ + visit_execute_trigger, visit_mint_trigger_repetitions, visit_unregister_trigger, +}; +pub use validator::visit_upgrade_validator; use super::*; use crate::{permission, permission::Token as _, prelude::*}; @@ -42,14 +45,6 @@ macro_rules! evaluate_expr { }}; } -macro_rules! custom_impls { - ( $($validator:ident $(<$param:ident $(: $bound:path)?>)?($operation:ty)),+ $(,)? ) => { $( - fn $validator $(<$param $(: $bound)?>)?(&mut self, authority: &AccountId, operation: $operation) { - $validator(self, authority, operation) - } )+ - } -} - /// Apply `callback` macro for all token types from this crate. /// /// Callback technique is used because of macro expansion order. With that technique we can @@ -74,7 +69,7 @@ macro_rules! map_all_crate_tokens { macro_rules! token { ($($meta:meta)* $item:item) => { - #[derive(serde::Serialize, serde::Deserialize)] + #[derive(PartialEq, Eq, serde::Serialize, serde::Deserialize)] #[derive(iroha_schema::IntoSchema)] #[derive(Clone, Token)] $($meta)* @@ -84,156 +79,18 @@ macro_rules! token { pub(crate) use map_all_crate_tokens; -impl Validate for DefaultValidator { - fn migrate(block_height: u64) -> MigrationResult { - Self::ensure_genesis(block_height)?; - - let schema = Self::permission_token_schema(); - - let (token_ids, schema_str) = schema.serialize(); - iroha_validator::iroha_wasm::set_permission_token_schema( - &iroha_validator::data_model::permission::PermissionTokenSchema::new( - token_ids, schema_str, - ), - ); - - Ok(()) - } - - fn verdict(&self) -> &Result { - &self.verdict - } - - fn block_height(&self) -> u64 { - self.block_height - } - - fn deny(&mut self, reason: ValidationFail) { - self.verdict = Err(reason); - } -} - -/// Validator that replaces some of [`Validate`]'s methods with sensible defaults -/// -/// # Warning -/// -/// The defaults are not guaranteed to be stable. -#[derive(Debug, Clone)] -pub struct DefaultValidator { - pub verdict: Result, - pub block_height: u64, - host: iroha_wasm::Host, -} - -impl DefaultValidator { - /// Construct [`Self`] - #[allow(clippy::new_without_default)] - pub fn new(block_height: u64) -> Self { - Self { - verdict: Ok(()), - block_height, - host: iroha_wasm::Host, - } - } - - pub fn permission_token_schema() -> PermissionTokenSchema { - let mut schema = iroha_validator::PermissionTokenSchema::default(); +pub fn default_permission_token_schema() -> PermissionTokenSchema { + let mut schema = iroha_validator::PermissionTokenSchema::default(); - macro_rules! add_to_schema { - ($token_ty:ty) => { - schema.insert::<$token_ty>(); - }; - } - - map_all_crate_tokens!(add_to_schema); - - schema - } - - fn ensure_genesis(block_height: u64) -> MigrationResult { - if block_height != 0 { - return Err("Default Validator is intended to be used only in genesis. \ - Write your own validator if you need to upgrade validator on existing chain." - .to_owned()); - } - - Ok(()) + macro_rules! add_to_schema { + ($token_ty:ty) => { + schema.insert::<$token_ty>(); + }; } -} -impl ExpressionEvaluator for DefaultValidator { - fn evaluate( - &self, - expression: &E, - ) -> core::result::Result { - self.host.evaluate(expression) - } -} + iroha_validator::default::map_all_crate_tokens!(add_to_schema); -impl Visit for DefaultValidator { - custom_impls! { - visit_unsupported(T), - - visit_transaction(&VersionedSignedTransaction), - visit_instruction(&InstructionBox), - visit_expression(&EvaluatesTo), - visit_sequence(&SequenceBox), - visit_if(&Conditional), - visit_pair(&Pair), - - // Peer validation - visit_unregister_peer(Unregister), - - // Domain validation - visit_unregister_domain(Unregister), - visit_set_domain_key_value(SetKeyValue), - visit_remove_domain_key_value(RemoveKeyValue), - - // Account validation - visit_unregister_account(Unregister), - visit_mint_account_public_key(Mint), - visit_burn_account_public_key(Burn), - visit_mint_account_signature_check_condition(Mint), - visit_set_account_key_value(SetKeyValue), - visit_remove_account_key_value(RemoveKeyValue), - - // Asset validation - visit_register_asset(Register), - visit_unregister_asset(Unregister), - visit_mint_asset(Mint), - visit_burn_asset(Burn), - visit_transfer_asset(Transfer), - visit_set_asset_key_value(SetKeyValue), - visit_remove_asset_key_value(RemoveKeyValue), - - // AssetDefinition validation - visit_unregister_asset_definition(Unregister), - visit_transfer_asset_definition(Transfer), - visit_set_asset_definition_key_value(SetKeyValue), - visit_remove_asset_definition_key_value(RemoveKeyValue), - - // Permission validation - visit_grant_account_permission(Grant), - visit_revoke_account_permission(Revoke), - - // Role validation - visit_register_role(Register), - visit_unregister_role(Unregister), - visit_grant_account_role(Grant), - visit_revoke_account_role(Revoke), - - // Trigger validation - visit_unregister_trigger(Unregister>), - visit_mint_trigger_repetitions(Mint, u32>), - visit_execute_trigger(ExecuteTrigger), - - // Parameter validation - visit_set_parameter(SetParameter), - visit_new_parameter(NewParameter), - - // Upgrade validation - visit_upgrade_validator(Upgrade), - } + schema } /// Default validation for [`VersionedSignedTransaction`]. @@ -284,8 +141,7 @@ pub fn visit_instruction( validator.visit_new_parameter(authority, NewParameter{parameter}); if validator.verdict().is_ok() { - let res = isi.execute(); - isi_validators!(@handle_isi_result res); + isi_validators!(@execute isi); } } InstructionBox::SetParameter(isi) => { @@ -293,8 +149,7 @@ pub fn visit_instruction( validator.visit_set_parameter(authority, SetParameter{parameter}); if validator.verdict().is_ok() { - let res = isi.execute(); - isi_validators!(@handle_isi_result res); + isi_validators!(@execute isi); } } InstructionBox::ExecuteTrigger(isi) => { @@ -302,8 +157,7 @@ pub fn visit_instruction( validator.visit_execute_trigger(authority, ExecuteTrigger{trigger_id}); if validator.verdict().is_ok() { - let res = isi.execute(); - isi_validators!(@handle_isi_result res); + isi_validators!(@execute isi); } } InstructionBox::Log(isi) => { @@ -312,24 +166,23 @@ pub fn visit_instruction( validator.visit_log(authority, Log{level, msg}); if validator.verdict().is_ok() { - let res = isi.execute(); - isi_validators!(@handle_isi_result res); + isi_validators!(@execute isi); } } $( InstructionBox::$isi(isi) => { validator.$validator(authority, isi); if validator.verdict().is_ok() { - let res = isi.execute(); - isi_validators!(@handle_isi_result res); + isi_validators!(@execute isi); } } )+ $( // NOTE: `visit_and_execute_instructions` is reentrant, so don't execute composite instructions InstructionBox::$composite_isi(isi) => validator.$composite_validator(authority, isi), )+ } }; - (@handle_isi_result $res:ident) => { - if let Err(err) = $res { + (@execute $isi:ident) => { + // TODO: Execution should be infallible after successful validation + if let Err(err) = isi.execute() { validator.deny(err); } } @@ -358,12 +211,12 @@ pub fn visit_instruction( } } -fn visit_unsupported( +pub fn visit_unsupported( validator: &mut V, _authority: &AccountId, - item: T, + isi: T, ) { - deny!(validator, "{item:?}: Unsupported operation"); + deny!(validator, "{isi:?}: Unsupported operation"); } pub fn visit_expression( @@ -1060,9 +913,9 @@ pub mod asset { pass!(validator); } match asset_definition::is_asset_definition_owner(asset.id().definition_id(), authority) { + Err(err) => deny!(validator, err), Ok(true) => pass!(validator), Ok(false) => {} - Err(err) => deny!(validator, err), } let can_register_assets_with_definition_token = tokens::CanRegisterAssetsWithDefinition { asset_definition_id: asset.id().definition_id().clone(), @@ -1152,9 +1005,9 @@ pub mod asset { pass!(validator); } match asset_definition::is_asset_definition_owner(asset_id.definition_id(), authority) { + Err(err) => deny!(validator, err), Ok(true) => pass!(validator), Ok(false) => {} - Err(err) => deny!(validator, err), } let can_burn_assets_with_definition_token = tokens::CanBurnAssetsWithDefinition { asset_definition_id: asset_id.definition_id().clone(), @@ -1184,9 +1037,9 @@ pub mod asset { pass!(validator); } match asset_definition::is_asset_definition_owner(asset_id.definition_id(), authority) { + Err(err) => deny!(validator, err), Ok(true) => pass!(validator), Ok(false) => {} - Err(err) => deny!(validator, err), } let can_transfer_assets_with_definition_token = tokens::CanTransferAssetsWithDefinition { asset_definition_id: asset_id.definition_id().clone(), @@ -1426,21 +1279,18 @@ pub mod role { macro_rules! visit_internal { ($token_ty:ty) => { if let Ok(concrete_token) = - <$token_ty as ::core::convert::TryFrom<_>>::try_from( - < - $crate::data_model::permission::PermissionToken as - ::core::clone::Clone - >::clone(token) - ) + <$token_ty as TryFrom<_>>::try_from(token.clone()) { if is_genesis($validator) { continue; } - if let Err(error) = <$token_ty as permission::ValidateGrantRevoke>::$method( - &concrete_token, - $authority, - $validator.block_height(), - ) { + if let Err(error) = + <$token_ty as permission::ValidateGrantRevoke>::$method( + &concrete_token, + $authority, + $validator.block_height(), + ) + { deny!($validator, error); } @@ -1451,10 +1301,13 @@ pub mod role { } map_all_crate_tokens!(visit_internal); - - // In normal situation we either did early return or continue before reaching this line - iroha_wasm::debug::dbg_panic("Role contains unknown permission token, this should never happen"); + deny!( + $validator, + "Incorrect validator implementation: Role contains unknown permission tokens" + ) } + + pass!($validator); }; } @@ -1462,22 +1315,17 @@ pub mod role { pub fn visit_register_role( validator: &mut V, _authority: &AccountId, - register_role: Register, + isi: Register, ) { - iroha_wasm::debug!("visit_register_role()"); - let role = register_role.object.inner(); + let mut unknown_tokens = Vec::new(); + let role = isi.object.inner(); for token in role.permissions() { iroha_wasm::debug!(&format!("Checking `{token:?}`")); macro_rules! try_from_token { ($token_ty:ty) => { iroha_wasm::debug!(concat!("Trying `", stringify!($token_ty), "`")); - if <$token_ty as ::core::convert::TryFrom<_>>::try_from( - < - $crate::data_model::permission::PermissionToken as - ::core::clone::Clone - >::clone(token) - ).is_ok() { + if <$token_ty as TryFrom<_>>::try_from(token.clone()).is_ok() { iroha_wasm::debug!("Success!"); // Continue because token can correspond to only one concrete token continue; @@ -1486,15 +1334,19 @@ pub mod role { } map_all_crate_tokens!(try_from_token); + unknown_tokens.push(token); + } - // In normal situation we continued before reaching this line + if !unknown_tokens.is_empty() { deny!( validator, - ValidationFail::NotPermitted(format!("Unrecognised permission token `{token:?}`")) + ValidationFail::NotPermitted(format!( + "{unknown_tokens:?}: Unrecognised permission tokens" + )) ); } - pass!(validator) + pass!(validator); } #[allow(clippy::needless_pass_by_value)] @@ -1672,14 +1524,12 @@ pub mod permission_token { macro_rules! visit_internal { ($token_ty:ty) => { - if let Ok(concrete_token) = - <$token_ty as ::core::convert::TryFrom<_>>::try_from(token.clone()) - { + if let Ok(token) = <$token_ty as TryFrom<_>>::try_from(token.clone()) { if is_genesis($validator) { pass!($validator); } if let Err(error) = <$token_ty as permission::ValidateGrantRevoke>::$method( - &concrete_token, + &token, $authority, $validator.block_height(), ) { @@ -1692,7 +1542,11 @@ pub mod permission_token { } map_all_crate_tokens!(visit_internal); - deny!($validator, "Unknown permission token"); + + deny!( + $validator, + ValidationFail::NotPermitted(format!("{token:?}: Unknown permission token")) + ); }; } diff --git a/wasm/validator/src/lib.rs b/wasm/validator/src/lib.rs index 81945a7f763..348d8173f66 100644 --- a/wasm/validator/src/lib.rs +++ b/wasm/validator/src/lib.rs @@ -2,25 +2,16 @@ #![no_std] extern crate alloc; -// NOTE: Enables us to implement derive macros -// that refer to the this crate for this crate -#[cfg(feature = "default-validator")] extern crate self as iroha_validator; use alloc::vec::Vec; -#[cfg(feature = "default-validator")] -pub use default::DefaultValidator; pub use iroha_schema::MetaMap; use iroha_wasm::data_model::{ - permission::PermissionTokenId, - validator::{MigrationResult, Result}, - visit::Visit, - ValidationFail, + permission::PermissionTokenId, validator::Result, visit::Visit, ValidationFail, }; pub use iroha_wasm::{self, data_model}; -#[cfg(feature = "default-validator")] pub mod default; pub mod permission; @@ -120,11 +111,8 @@ pub struct PermissionTokenSchema(Vec, MetaMap); impl PermissionTokenSchema { /// Remove permission token from this collection - pub fn remove(&mut self) { - let to_remove = ::iroha_validator::iroha_wasm::debug::DebugExpectExt::dbg_expect( - ::type_name().parse(), - "Failed to parse permission token as `Name`", - ); + pub fn remove(&mut self) { + let to_remove = ::name(); if let Some(pos) = self.0.iter().position(|token_id| *token_id == to_remove) { self.0.remove(pos); @@ -133,15 +121,9 @@ impl PermissionTokenSchema { } /// Insert new permission token into this collection - pub fn insert(&mut self) { + pub fn insert(&mut self) { ::update_schema_map(&mut self.1); - - self.0.push( - ::iroha_validator::iroha_wasm::debug::DebugExpectExt::dbg_expect( - ::type_name().parse(), - "Failed to parse permission token as `Name`", - ), - ); + self.0.push(::name()); } /// Serializes schema into a JSON string representation @@ -157,19 +139,6 @@ impl PermissionTokenSchema { /// Validator of Iroha operations pub trait Validate: Visit { - /// Migrate previous validator to the current version. - /// - /// This function should be called by `migrate` entrypoint, - /// which will be called by Iroha only once just before upgrading validator. - /// - /// # Errors - /// - /// Concrete errors are specific to the implementation. - /// - /// If `migrate()` entrypoint fails then the whole `Upgrade` instruction - /// will be denied and previous validator will stay unchanged. - fn migrate(block_height: u64) -> MigrationResult; - /// Validator verdict. fn verdict(&self) -> &Result; @@ -197,7 +166,5 @@ pub mod prelude { Context, }; - #[cfg(feature = "default-validator")] - pub use super::DefaultValidator; pub use super::{declare_tokens, deny, pass, PermissionTokenSchema, Validate}; } diff --git a/wasm/validator/src/permission.rs b/wasm/validator/src/permission.rs index db0bb921721..300e7c8e5d2 100644 --- a/wasm/validator/src/permission.rs +++ b/wasm/validator/src/permission.rs @@ -13,11 +13,17 @@ pub trait Token: + DeserializeOwned + IntoSchema + TryFrom + + PartialEq + ValidateGrantRevoke { - /// Check if token is owned by the account using evaluation on host. - /// - /// Basically it's a wrapper around [`DoesAccountHavePermissionToken`] query. + /// Return name of this permission token + fn name() -> Name { + ::type_name() + .parse() + .dbg_expect("Failed to parse permission token as `Name`") + } + + /// Check if token is owned by the account fn is_owned_by(&self, account_id: &AccountId) -> bool; }

--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 F{{>M!`!@gp literal 484394 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