Skip to content

Commit 77a2bff

Browse files
feat: specify transition names within documents batch (#2007)
Co-authored-by: Quantum Explorer <[email protected]>
1 parent 45825c1 commit 77a2bff

File tree

2 files changed

+36
-12
lines changed
  • packages
    • rs-dpp/src/state_transition
    • rs-drive-abci/src/execution/platform_events/state_transition_processing/process_raw_state_transitions/v0

2 files changed

+36
-12
lines changed

packages/rs-dpp/src/state_transition/mod.rs

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
use derive_more::From;
2+
use documents_batch_transition::accessors::DocumentsBatchTransitionAccessorsV0;
3+
use documents_batch_transition::document_transition::DocumentTransition;
24
#[cfg(feature = "state-transition-serde-conversion")]
35
use serde::{Deserialize, Serialize};
46

@@ -343,17 +345,35 @@ impl StateTransition {
343345
}
344346

345347
/// Returns state transition name
346-
pub fn name(&self) -> &'static str {
348+
pub fn name(&self) -> String {
347349
match self {
348-
Self::DataContractCreate(_) => "DataContractCreate",
349-
Self::DataContractUpdate(_) => "DataContractUpdate",
350-
Self::DocumentsBatch(_) => "DocumentsBatch",
351-
Self::IdentityCreate(_) => "IdentityCreate",
352-
Self::IdentityTopUp(_) => "IdentityTopUp",
353-
Self::IdentityCreditWithdrawal(_) => "IdentityCreditWithdrawal",
354-
Self::IdentityUpdate(_) => "IdentityUpdate",
355-
Self::IdentityCreditTransfer(_) => "IdentityCreditTransfer",
356-
Self::MasternodeVote(_) => "MasternodeVote",
350+
Self::DataContractCreate(_) => "DataContractCreate".to_string(),
351+
Self::DataContractUpdate(_) => "DataContractUpdate".to_string(),
352+
Self::DocumentsBatch(documents_batch_transition) => {
353+
let mut document_transition_types = vec![];
354+
match documents_batch_transition {
355+
DocumentsBatchTransition::V0(documents_batch_transition_v0) => {
356+
for transition in documents_batch_transition_v0.transitions().iter() {
357+
let document_transition_name = match transition {
358+
DocumentTransition::Create(_) => "Create",
359+
DocumentTransition::Replace(_) => "Replace",
360+
DocumentTransition::Delete(_) => "Delete",
361+
DocumentTransition::Transfer(_) => "Transfer",
362+
DocumentTransition::UpdatePrice(_) => "UpdatePrice",
363+
DocumentTransition::Purchase(_) => "Purchase",
364+
};
365+
document_transition_types.push(document_transition_name);
366+
}
367+
}
368+
}
369+
format!("DocumentsBatch([{}])", document_transition_types.join(", "))
370+
}
371+
Self::IdentityCreate(_) => "IdentityCreate".to_string(),
372+
Self::IdentityTopUp(_) => "IdentityTopUp".to_string(),
373+
Self::IdentityCreditWithdrawal(_) => "IdentityCreditWithdrawal".to_string(),
374+
Self::IdentityUpdate(_) => "IdentityUpdate".to_string(),
375+
Self::IdentityCreditTransfer(_) => "IdentityCreditTransfer".to_string(),
376+
Self::MasternodeVote(_) => "MasternodeVote".to_string(),
357377
}
358378
}
359379

packages/rs-drive-abci/src/execution/platform_events/state_transition_processing/process_raw_state_transitions/v0/mod.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ where
113113
.map(|validation_result| {
114114
self.process_validation_result_v0(
115115
raw_state_transition,
116-
state_transition_name,
116+
&state_transition_name,
117117
validation_result,
118118
block_info,
119119
transaction,
@@ -141,7 +141,11 @@ where
141141
StateTransitionExecutionResult::InternalError(_) => 1,
142142
};
143143

144-
state_transition_execution_histogram(elapsed_time, state_transition_name, code);
144+
state_transition_execution_histogram(
145+
elapsed_time,
146+
&state_transition_name,
147+
code,
148+
);
145149

146150
execution_result
147151
}

0 commit comments

Comments
 (0)