From e5d88dac78bf182789dd0073ae29f97c6b3e940a Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Mon, 17 Feb 2025 16:29:42 +0700 Subject: [PATCH 1/2] fix: invalid feature flag usage --- .../token_transfer_transition/v0/mod.rs | 11 +---------- .../token_transfer_transition/v0/v0_methods.rs | 2 +- .../token_transfer_transition/v0_methods.rs | 2 +- .../document/batch_transition/methods/mod.rs | 4 +--- .../document/batch_transition/methods/v1/mod.rs | 4 +--- .../document/batch_transition/v1/v0_methods.rs | 3 +-- packages/rs-dpp/src/tokens/mod.rs | 10 ++++++++++ packages/rs-dpp/src/tokens/token_event.rs | 2 +- .../rs-drive-abci/src/execution/check_tx/v0/mod.rs | 8 ++++---- .../token_transfer_transition_action/mod.rs | 2 +- .../token_transfer_transition_action/v0/mod.rs | 2 +- .../platform/transition/fungible_tokens/transfer.rs | 5 +---- 12 files changed, 24 insertions(+), 31 deletions(-) diff --git a/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/batched_transition/token_transfer_transition/v0/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/batched_transition/token_transfer_transition/v0/mod.rs index 54fc9f55ff6..de433c3510f 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/batched_transition/token_transfer_transition/v0/mod.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/batched_transition/token_transfer_transition/v0/mod.rs @@ -4,21 +4,12 @@ use bincode::{Decode, Encode}; use derive_more::Display; pub use super::super::token_base_transition::IDENTIFIER_FIELDS; -use crate::prelude::{ - DerivationEncryptionKeyIndex, RecipientKeyIndex, RootEncryptionKeyIndex, SenderKeyIndex, -}; use crate::state_transition::batch_transition::token_base_transition::TokenBaseTransition; +use crate::tokens::{PrivateEncryptedNote, SharedEncryptedNote}; use platform_value::Identifier; #[cfg(feature = "state-transition-serde-conversion")] use serde::{Deserialize, Serialize}; -pub type SharedEncryptedNote = (SenderKeyIndex, RecipientKeyIndex, Vec); -pub type PrivateEncryptedNote = ( - RootEncryptionKeyIndex, - DerivationEncryptionKeyIndex, - Vec, -); - mod property_names { pub const AMOUNT: &str = "$amount"; pub const RECIPIENT_OWNER_ID: &str = "recipientOwnerId"; diff --git a/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/batched_transition/token_transfer_transition/v0/v0_methods.rs b/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/batched_transition/token_transfer_transition/v0/v0_methods.rs index 5f8875f3df3..710f4cfdb04 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/batched_transition/token_transfer_transition/v0/v0_methods.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/batched_transition/token_transfer_transition/v0/v0_methods.rs @@ -3,7 +3,7 @@ use crate::prelude::{DerivationEncryptionKeyIndex, RecipientKeyIndex, RootEncryp use crate::state_transition::batch_transition::batched_transition::token_transfer_transition::TokenTransferTransitionV0; use crate::state_transition::batch_transition::token_base_transition::token_base_transition_accessors::TokenBaseTransitionAccessors; use crate::state_transition::batch_transition::token_base_transition::TokenBaseTransition; -use crate::state_transition::batch_transition::token_transfer_transition::{PrivateEncryptedNote, SharedEncryptedNote}; +use crate::tokens::{PrivateEncryptedNote, SharedEncryptedNote}; impl TokenBaseTransitionAccessors for TokenTransferTransitionV0 { fn base(&self) -> &TokenBaseTransition { diff --git a/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/batched_transition/token_transfer_transition/v0_methods.rs b/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/batched_transition/token_transfer_transition/v0_methods.rs index 81cd4a1e46d..aff9670182f 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/batched_transition/token_transfer_transition/v0_methods.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/batched_transition/token_transfer_transition/v0_methods.rs @@ -4,7 +4,7 @@ use crate::state_transition::batch_transition::batched_transition::token_transfe use crate::state_transition::batch_transition::token_base_transition::token_base_transition_accessors::TokenBaseTransitionAccessors; use crate::state_transition::batch_transition::TokenTransferTransition; use crate::state_transition::batch_transition::token_base_transition::TokenBaseTransition; -use crate::state_transition::batch_transition::token_transfer_transition::{PrivateEncryptedNote, SharedEncryptedNote}; +use crate::tokens::{PrivateEncryptedNote, SharedEncryptedNote}; impl TokenBaseTransitionAccessors for TokenTransferTransition { fn base(&self) -> &TokenBaseTransition { diff --git a/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/methods/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/methods/mod.rs index 9895e738b9e..d243861648c 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/methods/mod.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/methods/mod.rs @@ -20,9 +20,6 @@ use crate::prelude::UserFeeIncrease; use crate::state_transition::batch_transition::batched_transition::BatchedTransition; use crate::state_transition::batch_transition::methods::v0::DocumentsBatchTransitionMethodsV0; use crate::state_transition::batch_transition::methods::v1::DocumentsBatchTransitionMethodsV1; -use crate::state_transition::batch_transition::token_transfer_transition::{ - PrivateEncryptedNote, SharedEncryptedNote, -}; use crate::state_transition::batch_transition::BatchTransition; #[cfg(feature = "state-transition-signing")] use crate::state_transition::batch_transition::{BatchTransitionV0, BatchTransitionV1}; @@ -30,6 +27,7 @@ use crate::state_transition::batch_transition::{BatchTransitionV0, BatchTransiti use crate::state_transition::StateTransition; #[cfg(feature = "state-transition-signing")] use crate::tokens::emergency_action::TokenEmergencyAction; +use crate::tokens::{PrivateEncryptedNote, SharedEncryptedNote}; use crate::ProtocolError; #[cfg(feature = "state-transition-signing")] use platform_value::Identifier; diff --git a/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/methods/v1/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/methods/v1/mod.rs index e68792f3316..62617d914ce 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/methods/v1/mod.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/methods/v1/mod.rs @@ -11,13 +11,11 @@ use crate::identity::IdentityPublicKey; #[cfg(feature = "state-transition-signing")] use crate::prelude::{IdentityNonce, UserFeeIncrease}; use crate::state_transition::batch_transition::accessors::DocumentsBatchTransitionAccessorsV0; -use crate::state_transition::batch_transition::token_transfer_transition::{ - PrivateEncryptedNote, SharedEncryptedNote, -}; #[cfg(feature = "state-transition-signing")] use crate::state_transition::StateTransition; #[cfg(feature = "state-transition-signing")] use crate::tokens::emergency_action::TokenEmergencyAction; +use crate::tokens::{PrivateEncryptedNote, SharedEncryptedNote}; #[cfg(feature = "state-transition-signing")] use crate::version::FeatureVersion; #[cfg(feature = "state-transition-signing")] diff --git a/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/v1/v0_methods.rs b/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/v1/v0_methods.rs index eff8b16880a..3a7454eecbc 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/v1/v0_methods.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/v1/v0_methods.rs @@ -71,13 +71,12 @@ use crate::state_transition::batch_transition::token_freeze_transition::TokenFre #[cfg(feature = "state-transition-signing")] use crate::state_transition::batch_transition::token_mint_transition::TokenMintTransitionV0; #[cfg(feature = "state-transition-signing")] -use crate::state_transition::batch_transition::token_transfer_transition::{PrivateEncryptedNote, SharedEncryptedNote}; -#[cfg(feature = "state-transition-signing")] use crate::state_transition::batch_transition::token_transfer_transition::TokenTransferTransitionV0; #[cfg(feature = "state-transition-signing")] use crate::state_transition::batch_transition::token_unfreeze_transition::TokenUnfreezeTransitionV0; #[cfg(feature = "state-transition-signing")] use crate::tokens::emergency_action::TokenEmergencyAction; +use crate::tokens::{PrivateEncryptedNote, SharedEncryptedNote}; impl DocumentsBatchTransitionAccessorsV0 for BatchTransitionV1 { type IterType<'a> diff --git a/packages/rs-dpp/src/tokens/mod.rs b/packages/rs-dpp/src/tokens/mod.rs index aa8703acbf3..b05c9bdbd95 100644 --- a/packages/rs-dpp/src/tokens/mod.rs +++ b/packages/rs-dpp/src/tokens/mod.rs @@ -1,4 +1,7 @@ use crate::data_contract::TokenContractPosition; +use crate::prelude::{ + DerivationEncryptionKeyIndex, RecipientKeyIndex, RootEncryptionKeyIndex, SenderKeyIndex, +}; use crate::util::hash::hash_double; pub mod allowed_currency; @@ -8,6 +11,13 @@ pub mod info; pub mod status; pub mod token_event; +pub type SharedEncryptedNote = (SenderKeyIndex, RecipientKeyIndex, Vec); +pub type PrivateEncryptedNote = ( + RootEncryptionKeyIndex, + DerivationEncryptionKeyIndex, + Vec, +); + pub fn calculate_token_id(contract_id: &[u8; 32], token_pos: TokenContractPosition) -> [u8; 32] { let mut bytes = b"dash_token".to_vec(); bytes.extend_from_slice(contract_id); diff --git a/packages/rs-dpp/src/tokens/token_event.rs b/packages/rs-dpp/src/tokens/token_event.rs index fa5675dc5af..82c72825d70 100644 --- a/packages/rs-dpp/src/tokens/token_event.rs +++ b/packages/rs-dpp/src/tokens/token_event.rs @@ -21,8 +21,8 @@ pub type TokenEventPersonalEncryptedNote = Option<( Vec, )>; use crate::serialization::PlatformSerializableWithPlatformVersion; -use crate::state_transition::batch_transition::token_transfer_transition::SharedEncryptedNote; use crate::tokens::emergency_action::TokenEmergencyAction; +use crate::tokens::SharedEncryptedNote; use crate::ProtocolError; pub type RecipientIdentifier = Identifier; diff --git a/packages/rs-drive-abci/src/execution/check_tx/v0/mod.rs b/packages/rs-drive-abci/src/execution/check_tx/v0/mod.rs index 06292c23421..08989a82f77 100644 --- a/packages/rs-drive-abci/src/execution/check_tx/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/check_tx/v0/mod.rs @@ -630,7 +630,7 @@ mod tests { ) .expect("expected to process state transition"); - assert_eq!(processing_result.aggregated_fees().processing_fee, 2484410); + assert_eq!(processing_result.aggregated_fees().processing_fee, 2484810); let check_result = platform .check_tx( @@ -1141,7 +1141,7 @@ mod tests { // The processing fees should be twice as much as a fee multiplier of 0, // since a fee multiplier of 100 means 100% more of 1 (gives 2) - assert_eq!(processing_result.aggregated_fees().processing_fee, 4968820); + assert_eq!(processing_result.aggregated_fees().processing_fee, 4969620); let check_result = platform .check_tx( @@ -1613,7 +1613,7 @@ mod tests { ) .expect("expected to process state transition"); - assert_eq!(processing_result.aggregated_fees().processing_fee, 2484410); + assert_eq!(processing_result.aggregated_fees().processing_fee, 2484810); platform .drive @@ -2069,7 +2069,7 @@ mod tests { ) .expect("expected to process state transition"); - assert_eq!(processing_result.aggregated_fees().processing_fee, 2484410); + assert_eq!(processing_result.aggregated_fees().processing_fee, 2484810); platform .drive diff --git a/packages/rs-drive/src/state_transition_action/batch/batched_transition/token_transition/token_transfer_transition_action/mod.rs b/packages/rs-drive/src/state_transition_action/batch/batched_transition/token_transition/token_transfer_transition_action/mod.rs index 6fd5f24a8eb..eb9fc965198 100644 --- a/packages/rs-drive/src/state_transition_action/batch/batched_transition/token_transition/token_transfer_transition_action/mod.rs +++ b/packages/rs-drive/src/state_transition_action/batch/batched_transition/token_transition/token_transfer_transition_action/mod.rs @@ -3,7 +3,7 @@ use derive_more::From; use crate::state_transition_action::batch::batched_transition::token_transition::token_base_transition_action::TokenBaseTransitionAction; use dpp::identifier::Identifier; use dpp::prelude::{DerivationEncryptionKeyIndex, RootEncryptionKeyIndex}; -use dpp::state_transition::batch_transition::token_transfer_transition::{PrivateEncryptedNote, SharedEncryptedNote}; +use dpp::tokens::{PrivateEncryptedNote, SharedEncryptedNote}; /// transformer module pub mod transformer; diff --git a/packages/rs-drive/src/state_transition_action/batch/batched_transition/token_transition/token_transfer_transition_action/v0/mod.rs b/packages/rs-drive/src/state_transition_action/batch/batched_transition/token_transition/token_transfer_transition_action/v0/mod.rs index 7cec7fc2be0..4df8b2e93ad 100644 --- a/packages/rs-drive/src/state_transition_action/batch/batched_transition/token_transition/token_transfer_transition_action/v0/mod.rs +++ b/packages/rs-drive/src/state_transition_action/batch/batched_transition/token_transition/token_transfer_transition_action/v0/mod.rs @@ -6,7 +6,7 @@ use dpp::identifier::Identifier; use dpp::prelude::{ DerivationEncryptionKeyIndex, IdentityNonce, RootEncryptionKeyIndex, }; -use dpp::state_transition::batch_transition::token_transfer_transition::{PrivateEncryptedNote, SharedEncryptedNote}; +use dpp::tokens::{PrivateEncryptedNote, SharedEncryptedNote}; use crate::drive::contract::DataContractFetchInfo; use crate::state_transition_action::batch::batched_transition::token_transition::token_base_transition_action::{ TokenBaseTransitionAction, TokenBaseTransitionActionAccessorsV0, diff --git a/packages/rs-sdk/src/platform/transition/fungible_tokens/transfer.rs b/packages/rs-sdk/src/platform/transition/fungible_tokens/transfer.rs index 6908c8864d0..281907b0799 100644 --- a/packages/rs-sdk/src/platform/transition/fungible_tokens/transfer.rs +++ b/packages/rs-sdk/src/platform/transition/fungible_tokens/transfer.rs @@ -9,12 +9,9 @@ use dpp::identity::signer::Signer; use dpp::identity::IdentityPublicKey; use dpp::prelude::UserFeeIncrease; use dpp::state_transition::batch_transition::methods::v1::DocumentsBatchTransitionMethodsV1; -use dpp::state_transition::batch_transition::token_transfer_transition::{ - PrivateEncryptedNote, SharedEncryptedNote, -}; use dpp::state_transition::batch_transition::BatchTransition; use dpp::state_transition::StateTransition; -use dpp::tokens::calculate_token_id; +use dpp::tokens::{calculate_token_id, PrivateEncryptedNote, SharedEncryptedNote}; use dpp::version::PlatformVersion; /// A builder to configure and broadcast token transfer transitions From c1b743a3dc554e40a95b32d491a97cd15b2040b4 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 20 Feb 2025 13:15:22 +0700 Subject: [PATCH 2/2] chore: use feature for imports and remove wrong asserts --- .../document/batch_transition/methods/mod.rs | 2 ++ .../document/batch_transition/methods/v1/mod.rs | 1 + .../document/batch_transition/v1/v0_methods.rs | 2 ++ packages/rs-drive-abci/src/execution/check_tx/v0/mod.rs | 8 ++++---- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/methods/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/methods/mod.rs index d243861648c..5c7a5381495 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/methods/mod.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/methods/mod.rs @@ -1,5 +1,6 @@ #[cfg(feature = "state-transition-signing")] use crate::balances::credits::TokenAmount; +#[cfg(feature = "state-transition-signing")] use crate::data_contract::associated_token::token_configuration_item::TokenConfigurationChangeItem; #[cfg(feature = "state-transition-signing")] use crate::data_contract::document_type::DocumentTypeRef; @@ -27,6 +28,7 @@ use crate::state_transition::batch_transition::{BatchTransitionV0, BatchTransiti use crate::state_transition::StateTransition; #[cfg(feature = "state-transition-signing")] use crate::tokens::emergency_action::TokenEmergencyAction; +#[cfg(feature = "state-transition-signing")] use crate::tokens::{PrivateEncryptedNote, SharedEncryptedNote}; use crate::ProtocolError; #[cfg(feature = "state-transition-signing")] diff --git a/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/methods/v1/mod.rs b/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/methods/v1/mod.rs index 62617d914ce..f17e54aa2bc 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/methods/v1/mod.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/methods/v1/mod.rs @@ -15,6 +15,7 @@ use crate::state_transition::batch_transition::accessors::DocumentsBatchTransiti use crate::state_transition::StateTransition; #[cfg(feature = "state-transition-signing")] use crate::tokens::emergency_action::TokenEmergencyAction; +#[cfg(feature = "state-transition-signing")] use crate::tokens::{PrivateEncryptedNote, SharedEncryptedNote}; #[cfg(feature = "state-transition-signing")] use crate::version::FeatureVersion; diff --git a/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/v1/v0_methods.rs b/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/v1/v0_methods.rs index 3a7454eecbc..cdf38f9ebff 100644 --- a/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/v1/v0_methods.rs +++ b/packages/rs-dpp/src/state_transition/state_transitions/document/batch_transition/v1/v0_methods.rs @@ -39,6 +39,7 @@ use crate::ProtocolError; use platform_value::Identifier; #[cfg(feature = "state-transition-signing")] use platform_version::version::{FeatureVersion, PlatformVersion}; +#[cfg(feature = "state-transition-signing")] use crate::balances::credits::TokenAmount; #[cfg(feature = "state-transition-signing")] use crate::data_contract::associated_token::token_configuration_item::TokenConfigurationChangeItem; @@ -76,6 +77,7 @@ use crate::state_transition::batch_transition::token_transfer_transition::TokenT use crate::state_transition::batch_transition::token_unfreeze_transition::TokenUnfreezeTransitionV0; #[cfg(feature = "state-transition-signing")] use crate::tokens::emergency_action::TokenEmergencyAction; +#[cfg(feature = "state-transition-signing")] use crate::tokens::{PrivateEncryptedNote, SharedEncryptedNote}; impl DocumentsBatchTransitionAccessorsV0 for BatchTransitionV1 { diff --git a/packages/rs-drive-abci/src/execution/check_tx/v0/mod.rs b/packages/rs-drive-abci/src/execution/check_tx/v0/mod.rs index 08989a82f77..06292c23421 100644 --- a/packages/rs-drive-abci/src/execution/check_tx/v0/mod.rs +++ b/packages/rs-drive-abci/src/execution/check_tx/v0/mod.rs @@ -630,7 +630,7 @@ mod tests { ) .expect("expected to process state transition"); - assert_eq!(processing_result.aggregated_fees().processing_fee, 2484810); + assert_eq!(processing_result.aggregated_fees().processing_fee, 2484410); let check_result = platform .check_tx( @@ -1141,7 +1141,7 @@ mod tests { // The processing fees should be twice as much as a fee multiplier of 0, // since a fee multiplier of 100 means 100% more of 1 (gives 2) - assert_eq!(processing_result.aggregated_fees().processing_fee, 4969620); + assert_eq!(processing_result.aggregated_fees().processing_fee, 4968820); let check_result = platform .check_tx( @@ -1613,7 +1613,7 @@ mod tests { ) .expect("expected to process state transition"); - assert_eq!(processing_result.aggregated_fees().processing_fee, 2484810); + assert_eq!(processing_result.aggregated_fees().processing_fee, 2484410); platform .drive @@ -2069,7 +2069,7 @@ mod tests { ) .expect("expected to process state transition"); - assert_eq!(processing_result.aggregated_fees().processing_fee, 2484810); + assert_eq!(processing_result.aggregated_fees().processing_fee, 2484410); platform .drive