@dashevo/wasm-dpp 0.24.0-dev.33 → 0.25.0-dev.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/Cargo.toml +2 -2
  2. package/dist/wasm/wasm_dpp.d.ts +600 -454
  3. package/dist/wasm/wasm_dpp.js +178 -120
  4. package/dist/wasm/wasm_dpp_bg.js +1 -1
  5. package/lib/test/fixtures/getDocumentsFixture.js +5 -1
  6. package/lib/wasm/wasm_dpp.d.ts +600 -454
  7. package/package.json +4 -4
  8. package/src/dash_platform_protocol.rs +1 -1
  9. package/src/data_contract/data_contract.rs +2 -1
  10. package/src/data_contract/data_contract_facade.rs +2 -2
  11. package/src/data_contract/state_transition/data_contract_create_transition/apply.rs +1 -1
  12. package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +7 -16
  13. package/src/data_contract/state_transition/data_contract_create_transition/validation.rs +5 -3
  14. package/src/data_contract/state_transition/data_contract_update_transition/apply.rs +6 -2
  15. package/src/data_contract/state_transition/data_contract_update_transition/mod.rs +7 -18
  16. package/src/data_contract/state_transition/data_contract_update_transition/validation.rs +6 -4
  17. package/src/decode_protocol_entity.rs +19 -19
  18. package/src/document/extended_document.rs +5 -2
  19. package/src/document/fetch_and_validate_data_contract.rs +2 -2
  20. package/src/document/mod.rs +5 -3
  21. package/src/document/state_transition/document_batch_transition/apply_document_batch_transition.rs +9 -6
  22. package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +1 -1
  23. package/src/document/state_transition/document_batch_transition/document_transition/document_replace_transition.rs +1 -1
  24. package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +1 -2
  25. package/src/document/state_transition/document_batch_transition/mod.rs +18 -25
  26. package/src/document/state_transition/document_batch_transition/validation/basic/validate_documents_batch_transition_basic.rs +4 -4
  27. package/src/document/state_transition/document_batch_transition/validation/state/validate_documents_batch_transitions_state.rs +3 -1
  28. package/src/errors/consensus/basic/data_contract/data_contract_have_new_unique_index_error.rs +1 -1
  29. package/src/errors/consensus/basic/data_contract/data_contract_immutable_properties_update_error.rs +3 -3
  30. package/src/errors/consensus/basic/data_contract/data_contract_invalid_index_definition_update_error.rs +1 -1
  31. package/src/errors/consensus/basic/data_contract/data_contract_max_depth_exceed_error.rs +1 -1
  32. package/src/errors/consensus/basic/data_contract/data_contract_unique_indices_changed_error.rs +1 -1
  33. package/src/errors/consensus/basic/data_contract/duplicate_index_name_error.rs +3 -3
  34. package/src/errors/consensus/basic/data_contract/incompatible_data_contract_schema_error.rs +3 -3
  35. package/src/errors/consensus/basic/data_contract/incompatible_re2_pattern_error.rs +4 -4
  36. package/src/errors/consensus/basic/data_contract/index_error/duplicate_index_error.rs +1 -1
  37. package/src/errors/consensus/basic/data_contract/index_error/invalid_compound_index_error.rs +1 -1
  38. package/src/errors/consensus/basic/data_contract/index_error/invalid_index_property_type_error.rs +1 -1
  39. package/src/errors/consensus/basic/data_contract/index_error/invalid_indexed_property_constraint_error.rs +1 -1
  40. package/src/errors/consensus/basic/data_contract/index_error/system_property_index_already_present_error.rs +1 -1
  41. package/src/errors/consensus/basic/data_contract/index_error/undefined_index_property_error.rs +1 -1
  42. package/src/errors/consensus/basic/data_contract/index_error/unique_indices_limit_reached_error.rs +1 -1
  43. package/src/errors/consensus/basic/data_contract/invalid_data_contract_id_error.rs +1 -1
  44. package/src/errors/consensus/basic/data_contract/invalid_data_contract_version_error.rs +1 -1
  45. package/src/errors/consensus/basic/data_contract/invalid_json_schema_ref_error.rs +2 -2
  46. package/src/errors/consensus/basic/decode/protocol_version_parsing_error.rs +1 -1
  47. package/src/errors/consensus/basic/decode/serialized_object_parsing_error.rs +1 -1
  48. package/src/errors/consensus/basic/document/data_contract_not_present_error.rs +1 -1
  49. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_ids_error.rs +1 -1
  50. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_indices_error.rs +1 -1
  51. package/src/errors/consensus/basic/document/inconsistent_compound_index_data_error.rs +2 -2
  52. package/src/errors/consensus/basic/document/invalid_document_transition_action_error.rs +1 -1
  53. package/src/errors/consensus/basic/document/invalid_document_transition_id_error.rs +1 -1
  54. package/src/errors/consensus/basic/document/invalid_document_type_error.rs +2 -2
  55. package/src/errors/consensus/basic/document/missing_data_contract_id_error.rs +1 -1
  56. package/src/errors/consensus/basic/document/missing_document_transition_action_error.rs +1 -1
  57. package/src/errors/consensus/basic/document/missing_document_transition_type_error.rs +1 -1
  58. package/src/errors/consensus/basic/document/missing_document_type_error.rs +1 -1
  59. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_error.rs +1 -1
  60. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_error.rs +1 -1
  61. package/src/errors/consensus/basic/identity/identity_asset_lock_proof_locked_transaction_mismatch_error.rs +1 -1
  62. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_is_not_found_error.rs +1 -1
  63. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs +1 -1
  64. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs +1 -1
  65. package/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +1 -1
  66. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_core_chain_height_error.rs +1 -1
  67. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_transaction_height_error.rs +1 -1
  68. package/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size_error.rs +1 -1
  69. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_proof_chain_lock_validation_error.rs +35 -0
  70. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs +1 -1
  71. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs +1 -1
  72. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_core_fee_error.rs +1 -1
  73. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_output_script_error.rs +1 -1
  74. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_pooling_error.rs +1 -1
  75. package/src/errors/consensus/basic/identity/invalid_identity_key_signature_error.rs +1 -1
  76. package/src/errors/consensus/basic/identity/invalid_identity_public_key_data_error.rs +1 -1
  77. package/src/errors/consensus/basic/identity/invalid_identity_public_key_security_level_error.rs +1 -1
  78. package/src/errors/consensus/basic/identity/invalid_identity_public_key_type_error.rs +1 -1
  79. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs +1 -1
  80. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_signature_error.rs +1 -1
  81. package/src/errors/consensus/basic/identity/missing_master_public_key_error.rs +1 -1
  82. package/src/errors/consensus/basic/identity/missing_public_key_error.rs +1 -1
  83. package/src/errors/consensus/basic/identity/mod.rs +2 -0
  84. package/src/errors/consensus/basic/incompatible_protocol_version_error.rs +2 -2
  85. package/src/errors/consensus/basic/invalid_identifier_error.rs +1 -1
  86. package/src/errors/consensus/basic/invalid_signature_public_key_security_level_error.rs +7 -3
  87. package/src/errors/consensus/basic/invalid_state_transition_signature_error.rs +1 -1
  88. package/src/errors/consensus/basic/json_schema_compilation_error.rs +1 -1
  89. package/src/errors/consensus/basic/json_schema_error.rs +1 -3
  90. package/src/errors/consensus/basic/public_key_is_disabled_error.rs +1 -1
  91. package/src/errors/consensus/basic/public_key_security_level_not_met_error.rs +2 -2
  92. package/src/errors/consensus/basic/state_transition/invalid_state_transition_type_error.rs +1 -1
  93. package/src/errors/consensus/basic/state_transition/missing_state_transition_type_error.rs +1 -1
  94. package/src/errors/consensus/basic/state_transition/state_transition_max_size_exceeded_error.rs +1 -1
  95. package/src/errors/consensus/basic/unsupported_protocol_version_error.rs +1 -1
  96. package/src/errors/consensus/basic/wrong_public_key_purpose_error.rs +1 -1
  97. package/src/errors/consensus/consensus_error.rs +24 -4
  98. package/src/errors/consensus/deserialize.rs +1 -1
  99. package/src/errors/consensus/fee/balance_is_not_enough_error.rs +1 -1
  100. package/src/errors/consensus/signature/basic_bls_error.rs +38 -0
  101. package/src/errors/consensus/signature/basic_ecdsa_error.rs +38 -0
  102. package/src/errors/consensus/signature/mod.rs +6 -0
  103. package/src/errors/consensus/signature/signature_should_not_be_present_error.rs +38 -0
  104. package/src/errors/consensus/state/data_contract/data_contract_already_present_error.rs +2 -2
  105. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_condition_error.rs +58 -1
  106. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_execution_error.rs +66 -1
  107. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_invalid_result_error.rs +50 -1
  108. package/src/errors/consensus/state/document/document_already_present_error.rs +1 -1
  109. package/src/errors/consensus/state/document/document_not_found_error.rs +1 -1
  110. package/src/errors/consensus/state/document/document_owner_id_mismatch_error.rs +1 -1
  111. package/src/errors/consensus/state/document/document_timestamp_window_violation_error.rs +2 -2
  112. package/src/errors/consensus/state/document/document_timestamps_mismatch_error.rs +1 -1
  113. package/src/errors/consensus/state/document/duplicate_unique_index_error.rs +1 -1
  114. package/src/errors/consensus/state/document/invalid_document_revision_error.rs +1 -1
  115. package/src/errors/consensus/state/identity/duplicated_identity_public_key_id_state_error.rs +1 -1
  116. package/src/errors/consensus/state/identity/duplicated_identity_public_key_state_error.rs +1 -1
  117. package/src/errors/consensus/state/identity/identity_already_exists_error.rs +1 -1
  118. package/src/errors/consensus/state/identity/identity_public_key_disabled_at_window_violation_error.rs +1 -1
  119. package/src/errors/consensus/state/identity/identity_public_key_is_disabled_error.rs +1 -1
  120. package/src/errors/consensus/state/identity/identity_public_key_is_read_only_error.rs +1 -1
  121. package/src/errors/consensus/state/identity/invalid_identity_public_key_id_error.rs +1 -1
  122. package/src/errors/consensus/state/identity/invalid_identity_revision_error.rs +1 -1
  123. package/src/errors/consensus/state/identity/max_identity_public_key_limit_reached_error.rs +1 -1
  124. package/src/errors/consensus/state/identity/missing_identity_public_key_ids_error.rs +26 -0
  125. package/src/errors/consensus/state/identity/mod.rs +2 -0
  126. package/src/errors/consensus/value_error.rs +1 -1
  127. package/src/errors/from.rs +0 -1
  128. package/src/generate_temporary_ecdsa_private_key.rs +2 -6
  129. package/src/identity/factory_utils.rs +4 -4
  130. package/src/identity/identity_public_key/key_type.rs +2 -0
  131. package/src/identity/identity_public_key/purpose.rs +7 -0
  132. package/src/identity/mod.rs +4 -2
  133. package/src/identity/state_transition/identity_create_transition/apply_identity_create_transition.rs +6 -2
  134. package/src/identity/state_transition/identity_create_transition/identity_create_transition.rs +14 -32
  135. package/src/identity/state_transition/identity_create_transition/identity_create_transition_state_validator.rs +3 -1
  136. package/src/identity/state_transition/identity_create_transition/to_object.rs +2 -2
  137. package/src/identity/state_transition/identity_public_key_transitions.rs +11 -11
  138. package/src/identity/state_transition/identity_topup_transition/apply_identity_topup_transition.rs +6 -2
  139. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition.rs +7 -26
  140. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition_state_validator.rs +3 -1
  141. package/src/identity/state_transition/identity_update_transition/apply_identity_update_transition.rs +3 -1
  142. package/src/identity/state_transition/identity_update_transition/identity_update_public_keys_validator.rs +2 -2
  143. package/src/identity/state_transition/identity_update_transition/identity_update_transition.rs +11 -32
  144. package/src/identity/state_transition/identity_update_transition/identity_update_transition_state_validator.rs +3 -2
  145. package/src/identity/state_transition/identity_update_transition/to_object.rs +2 -2
  146. package/src/identity/state_transition/validate_public_key_signatures.rs +2 -2
  147. package/src/state_repository.rs +3 -2
  148. package/src/state_transition/fee/calculate_state_transition_fee.rs +8 -5
  149. package/src/state_transition/state_transition_facade.rs +18 -21
  150. package/src/state_transition/validation/state_transition_fee_validator.rs +3 -1
  151. package/src/state_transition/validation/validate_state_transition_identity_signature.rs +22 -6
  152. package/src/state_transition/validation/validate_state_transition_key_signature.rs +7 -1
  153. package/src/utils.rs +2 -4
  154. package/src/validation/validation_result.rs +12 -7
  155. package/test/integration/dataContract/DataContractFacade.spec.js +17 -20
  156. package/test/integration/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateDataContractUpdateTransitionBasicFactory.spec.js +5 -4
  157. package/test/integration/dataContract/validation/validateDataContractFactory.spec.js +0 -17
  158. package/test/integration/document/stateTransition/DocumentsBatchTransition/DocumentBatchTransition.spec.js +10 -3
  159. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory.spec.js +4 -7
  160. package/test/integration/stateTransition/StateTransitionFacade.spec.js +21 -8
  161. package/test/unit/dataContract/DataContract.spec.js +9 -21
  162. package/test/unit/dataContract/DataContractFactory.spec.js +19 -28
  163. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition.spec.js +2 -4
  164. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory.spec.js +0 -7
  165. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory.spec.js +10 -8
  166. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +3 -5
  167. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory.spec.js +1 -3
  168. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory.spec.js +8 -6
  169. package/test/unit/decodeProtocolEntityFactory.spec.js +4 -1
  170. package/test/unit/document/Document.spec.js +9 -7
  171. package/test/unit/document/DocumentFactory.spec.js +38 -90
  172. package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +2 -3
  173. package/test/unit/document/stateTransition/DocumetsBatchTransition/applyDocumentsBatchTransitionFactory.spec.js +5 -6
  174. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsBatchTransitionStateFactory.spec.js +20 -18
  175. package/test/unit/identity/Identity.spec.js +3 -8
  176. package/test/unit/identity/IdentityFactory.spec.js +3 -4
  177. package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +1 -2
  178. package/test/unit/identity/stateTransition/IdentityCreateTransition/validation/state/validateIdentityCreateTransitionStateFactory.spec.js +7 -3
  179. package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +1 -2
  180. package/test/unit/identity/stateTransition/IdentityTopUpTransition/validation/state/validateIdentityTopUpTransitionStateFactory.spec.js +5 -1
  181. package/test/unit/identity/stateTransition/IdentityUpdateTransition/applyIdentityUpdateTransitionFactory.spec.js +3 -3
  182. package/test/unit/stateTransition/validation/validateStateTransitionBasicFactory.spec.js +12 -6
  183. package/test/unit/stateTransition/validation/validateStateTransitionFeeFactory.spec.js +4 -16
  184. package/test/unit/stateTransition/validation/validateStateTransitionIdentitySignatureFactory.spec.js +8 -4
  185. package/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js +3 -1
  186. package/test/unit/stateTransition/validation/validateStateTransitionStateFactory.spec.js +7 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dashevo/wasm-dpp",
3
- "version": "0.24.0-dev.33",
3
+ "version": "0.25.0-dev.10",
4
4
  "description": "The JavaScript implementation of the Dash Platform Protocol",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -43,9 +43,9 @@
43
43
  "@babel/cli": "^7.21.0",
44
44
  "@babel/core": "^7.15.5",
45
45
  "@babel/preset-env": "^7.15.4",
46
- "@dashevo/dashcore-lib": "~0.20.4",
47
- "@dashevo/dpns-contract": "0.24.0-dev.33",
48
- "@dashevo/dpp": "0.24.0-dev.33",
46
+ "@dashevo/dashcore-lib": "~0.20.3",
47
+ "@dashevo/dpns-contract": "0.25.0-dev.10",
48
+ "@dashevo/dpp": "0.25.0-dev.10",
49
49
  "@dashevo/wasm-re2": "~1.0.2",
50
50
  "@types/bs58": "^4.0.1",
51
51
  "@types/node": "^14.6.0",
@@ -51,7 +51,7 @@ impl DashPlatformProtocol {
51
51
  // "attempted to set a logger after the logging system was already initialized"
52
52
  // Usage of unsafe is fine here as we are in a single-threaded JS environment
53
53
  unsafe {
54
- if cfg!(LOGGER_INITIALIZED) && !LOGGER_INITIALIZED {
54
+ if !LOGGER_INITIALIZED {
55
55
  LOGGER_INITIALIZED = true;
56
56
  wasm_logger::init(wasm_logger::Config::new(log::Level::Debug));
57
57
  }
@@ -11,6 +11,7 @@ use dpp::data_contract::{DataContract, SCHEMA_URI};
11
11
  use dpp::platform_value::string_encoding::Encoding;
12
12
  use dpp::platform_value::{Bytes32, Value};
13
13
 
14
+ use dpp::serialization_traits::PlatformSerializable;
14
15
  use dpp::{platform_value, Convertible};
15
16
 
16
17
  use crate::errors::RustConversionError;
@@ -303,7 +304,7 @@ impl DataContractWasm {
303
304
 
304
305
  #[wasm_bindgen(js_name=toBuffer)]
305
306
  pub fn to_buffer(&self) -> Result<Buffer, JsValue> {
306
- let bytes = self.0.to_buffer().with_js_error()?;
307
+ let bytes = PlatformSerializable::serialize(&self.0).with_js_error()?;
307
308
  Ok(Buffer::from_bytes(&bytes))
308
309
  }
309
310
 
@@ -11,10 +11,10 @@ use dpp::version::ProtocolVersionValidator;
11
11
  use crate::entropy_generator::ExternalEntropyGenerator;
12
12
  use crate::utils::{get_bool_from_options, IntoWasm, WithJsError, SKIP_VALIDATION_PROPERTY_NAME};
13
13
  use crate::validation::ValidationResultWasm;
14
- use dpp::platform_value::Value;
14
+
15
15
  use dpp::{Convertible, ProtocolError};
16
16
  use std::sync::Arc;
17
- use wasm_bindgen::__rt::Ref;
17
+
18
18
  use wasm_bindgen::prelude::*;
19
19
 
20
20
  #[wasm_bindgen(js_name=DataContractFacade)]
@@ -38,7 +38,7 @@ impl ApplyDataContractCreateTransitionWasm {
38
38
  transition: DataContractCreateTransitionWasm,
39
39
  ) -> Result<(), JsError> {
40
40
  self.0
41
- .apply_data_contract_create_transition(&transition.into())
41
+ .apply_data_contract_create_transition(&transition.into(), None)
42
42
  .await
43
43
  .map_err(|e| e.deref().into())
44
44
  }
@@ -8,6 +8,8 @@ pub use validation::*;
8
8
 
9
9
  use dpp::consensus::signature::SignatureError;
10
10
  use dpp::consensus::ConsensusError;
11
+ use dpp::serialization_traits::PlatformSerializable;
12
+ use dpp::state_transition::StateTransition;
11
13
  use dpp::{
12
14
  data_contract::state_transition::data_contract_create_transition::DataContractCreateTransition,
13
15
  platform_value,
@@ -24,7 +26,7 @@ use crate::errors::protocol_error::from_protocol_error;
24
26
  use crate::utils::WithJsError;
25
27
  use crate::{
26
28
  buffer::Buffer, identifier::IdentifierWrapper, with_js_error, DataContractParameters,
27
- DataContractWasm, IdentityPublicKeyWasm, StateTransitionExecutionContextWasm,
29
+ DataContractWasm, IdentityPublicKeyWasm,
28
30
  };
29
31
 
30
32
  #[derive(Clone)]
@@ -107,11 +109,10 @@ impl DataContractCreateTransitionWasm {
107
109
  }
108
110
 
109
111
  #[wasm_bindgen(js_name=toBuffer)]
110
- pub fn to_buffer(&self, skip_signature: Option<bool>) -> Result<Buffer, JsValue> {
111
- let bytes = self
112
- .0
113
- .to_buffer(skip_signature.unwrap_or(false))
114
- .with_js_error()?;
112
+ pub fn to_buffer(&self) -> Result<Buffer, JsValue> {
113
+ let bytes =
114
+ PlatformSerializable::serialize(&StateTransition::DataContractCreate(self.0.clone()))
115
+ .with_js_error()?;
115
116
  Ok(Buffer::from_bytes(&bytes))
116
117
  }
117
118
 
@@ -139,16 +140,6 @@ impl DataContractCreateTransitionWasm {
139
140
  self.0.is_identity_state_transition()
140
141
  }
141
142
 
142
- #[wasm_bindgen(js_name=setExecutionContext)]
143
- pub fn set_execution_context(&mut self, context: &StateTransitionExecutionContextWasm) {
144
- self.0.set_execution_context(context.into())
145
- }
146
-
147
- #[wasm_bindgen(js_name=getExecutionContext)]
148
- pub fn get_execution_context(&mut self) -> StateTransitionExecutionContextWasm {
149
- self.0.get_execution_context().into()
150
- }
151
-
152
143
  #[wasm_bindgen(js_name=toObject)]
153
144
  pub fn to_object(&self, skip_signature: Option<bool>) -> Result<JsValue, JsValue> {
154
145
  let serde_object = self
@@ -3,7 +3,7 @@ use std::sync::Arc;
3
3
  use dpp::data_contract::state_transition::data_contract_create_transition::DataContractCreateTransition;
4
4
 
5
5
  use dpp::consensus::basic::value_error::ValueError;
6
- use dpp::validation::SimpleValidationResult;
6
+ use dpp::validation::SimpleConsensusValidationResult;
7
7
  use dpp::{
8
8
  data_contract::state_transition::data_contract_create_transition::validation::state::{
9
9
  validate_data_contract_create_transition_basic::DataContractCreateTransitionBasicValidator,
@@ -20,7 +20,7 @@ use crate::utils::WithJsError;
20
20
  use crate::validation::ValidationResultWasm;
21
21
  use crate::{
22
22
  state_repository::{ExternalStateRepositoryLike, ExternalStateRepositoryLikeWrapper},
23
- DataContractCreateTransitionWasm,
23
+ DataContractCreateTransitionWasm, StateTransitionExecutionContextWasm,
24
24
  };
25
25
 
26
26
  use super::DataContractCreateTransitionParameters;
@@ -29,11 +29,13 @@ use super::DataContractCreateTransitionParameters;
29
29
  pub async fn validate_data_contract_create_transition_state(
30
30
  state_repository: ExternalStateRepositoryLike,
31
31
  state_transition: DataContractCreateTransitionWasm,
32
+ execution_context: &StateTransitionExecutionContextWasm,
32
33
  ) -> Result<ValidationResultWasm, JsValue> {
33
34
  let wrapped_state_repository = ExternalStateRepositoryLikeWrapper::new(state_repository);
34
35
  let validation_result = dpp_validate_data_contract_create_transition_state(
35
36
  &wrapped_state_repository,
36
37
  &state_transition.into(),
38
+ &execution_context.to_owned().into(),
37
39
  )
38
40
  .await
39
41
  .with_js_error()?;
@@ -48,7 +50,7 @@ pub async fn validate_data_contract_create_transition_basic(
48
50
  serde_wasm_bindgen::from_value(raw_parameters)?;
49
51
 
50
52
  let mut value = platform_value::to_value(&parameters)?;
51
- let mut validation_result = SimpleValidationResult::default();
53
+ let mut validation_result = SimpleConsensusValidationResult::default();
52
54
  if let Some(err) = DataContractCreateTransition::clean_value(&mut value).err() {
53
55
  validation_result.add_error(ValueError::new(err));
54
56
  return Ok(validation_result.map(|_| JsValue::undefined()).into());
@@ -6,7 +6,7 @@ use wasm_bindgen::prelude::*;
6
6
 
7
7
  use crate::{
8
8
  state_repository::{ExternalStateRepositoryLike, ExternalStateRepositoryLikeWrapper},
9
- DataContractUpdateTransitionWasm,
9
+ DataContractUpdateTransitionWasm, StateTransitionExecutionContextWasm,
10
10
  };
11
11
 
12
12
  #[wasm_bindgen(js_name=ApplyDataContractUpdateTransition)]
@@ -36,9 +36,13 @@ impl ApplyDataContractUpdateTransitionWasm {
36
36
  pub async fn apply_data_contract_update_transition(
37
37
  &self,
38
38
  transition: DataContractUpdateTransitionWasm,
39
+ execution_context: &StateTransitionExecutionContextWasm,
39
40
  ) -> Result<(), JsError> {
40
41
  self.0
41
- .apply_data_contract_update_transition(&transition.into())
42
+ .apply_data_contract_update_transition(
43
+ &transition.into(),
44
+ &execution_context.to_owned().into(),
45
+ )
42
46
  .await
43
47
  .map_err(|e| e.deref().into())
44
48
  }
@@ -6,9 +6,9 @@ use std::collections::HashMap;
6
6
  pub use apply::*;
7
7
  pub use validation::*;
8
8
 
9
- use dpp::consensus::ConsensusError::SignatureError as ConsensusSignatureErrorVariant;
10
-
11
9
  use dpp::consensus::ConsensusError;
10
+ use dpp::serialization_traits::PlatformSerializable;
11
+ use dpp::state_transition::StateTransition;
12
12
  use dpp::{
13
13
  consensus::signature::SignatureError,
14
14
  data_contract::state_transition::data_contract_update_transition::DataContractUpdateTransition,
@@ -28,7 +28,7 @@ use crate::{
28
28
  };
29
29
  use crate::{
30
30
  buffer::Buffer, errors::protocol_error::from_protocol_error, identifier::IdentifierWrapper,
31
- with_js_error, DataContractParameters, DataContractWasm, StateTransitionExecutionContextWasm,
31
+ with_js_error, DataContractParameters, DataContractWasm,
32
32
  };
33
33
 
34
34
  #[derive(Clone)]
@@ -111,11 +111,10 @@ impl DataContractUpdateTransitionWasm {
111
111
  }
112
112
 
113
113
  #[wasm_bindgen(js_name=toBuffer)]
114
- pub fn to_buffer(&self, skip_signature: Option<bool>) -> Result<Buffer, JsValue> {
115
- let bytes = self
116
- .0
117
- .to_buffer(skip_signature.unwrap_or(false))
118
- .with_js_error()?;
114
+ pub fn to_buffer(&self) -> Result<Buffer, JsValue> {
115
+ let bytes =
116
+ PlatformSerializable::serialize(&StateTransition::DataContractUpdate(self.0.clone()))
117
+ .with_js_error()?;
119
118
  Ok(Buffer::from_bytes(&bytes))
120
119
  }
121
120
 
@@ -143,16 +142,6 @@ impl DataContractUpdateTransitionWasm {
143
142
  self.0.is_identity_state_transition()
144
143
  }
145
144
 
146
- #[wasm_bindgen(js_name=setExecutionContext)]
147
- pub fn set_execution_context(&mut self, context: &StateTransitionExecutionContextWasm) {
148
- self.0.set_execution_context(context.into())
149
- }
150
-
151
- #[wasm_bindgen(js_name=getExecutionContext)]
152
- pub fn get_execution_context(&mut self) -> StateTransitionExecutionContextWasm {
153
- self.0.get_execution_context().into()
154
- }
155
-
156
145
  #[wasm_bindgen(js_name=hash)]
157
146
  pub fn hash(&self, skip_signature: Option<bool>) -> Result<Buffer, JsValue> {
158
147
  let bytes = self
@@ -3,7 +3,7 @@ use std::{collections::BTreeMap, sync::Arc};
3
3
  use dpp::data_contract::state_transition::data_contract_update_transition::DataContractUpdateTransition;
4
4
 
5
5
  use dpp::consensus::basic::value_error::ValueError;
6
- use dpp::validation::{AsyncDataValidatorWithContext, SimpleValidationResult};
6
+ use dpp::validation::{AsyncDataValidatorWithContext, SimpleConsensusValidationResult};
7
7
  use dpp::{
8
8
  data_contract::state_transition::data_contract_update_transition::validation::{
9
9
  basic::{
@@ -29,12 +29,14 @@ use crate::{
29
29
  #[wasm_bindgen(js_name=validateDataContractUpdateTransitionState)]
30
30
  pub async fn validate_data_contract_update_transition_state(
31
31
  state_repository: ExternalStateRepositoryLike,
32
- state_transition: DataContractUpdateTransitionWasm,
32
+ state_transition: &DataContractUpdateTransitionWasm,
33
+ execution_context: &StateTransitionExecutionContextWasm,
33
34
  ) -> Result<ValidationResultWasm, JsValue> {
34
35
  let wrapped_state_repository = ExternalStateRepositoryLikeWrapper::new(state_repository);
35
36
  let result = dpp_validate_data_contract_update_transition_state(
36
37
  &wrapped_state_repository,
37
- &state_transition.into(),
38
+ &state_transition.to_owned().into(),
39
+ &execution_context.to_owned().into(),
38
40
  )
39
41
  .await
40
42
  .with_js_error()?;
@@ -71,7 +73,7 @@ pub async fn validate_data_contract_update_transition_basic(
71
73
  serde_wasm_bindgen::from_value(raw_parameters)?;
72
74
 
73
75
  let mut value = platform_value::to_value(&parameters)?;
74
- let mut validation_result = SimpleValidationResult::default();
76
+ let mut validation_result = SimpleConsensusValidationResult::default();
75
77
  if let Some(err) = DataContractUpdateTransition::clean_value(&mut value).err() {
76
78
  validation_result.add_error(ValueError::new(err));
77
79
  return Ok(validation_result.map(|_| JsValue::undefined()).into());
@@ -1,25 +1,25 @@
1
- use crate::errors::protocol_error::from_protocol_error;
2
- use core::iter::FromIterator;
3
- use dpp::encoding::decode_protocol_entity_factory::DecodeProtocolEntity;
4
- use dpp::ProtocolError;
5
1
  use js_sys::Array;
6
- use serde::Serialize;
2
+
7
3
  use wasm_bindgen::prelude::wasm_bindgen;
8
4
  use wasm_bindgen::JsValue;
9
5
 
10
6
  #[wasm_bindgen(js_name=decodeProtocolEntity)]
11
- pub fn decode_protocol_entity(buffer: Vec<u8>) -> Result<Array, JsValue> {
12
- let (protocol_version, value) =
13
- DecodeProtocolEntity::decode_protocol_entity(buffer).map_err(from_protocol_error)?;
14
-
15
- let serializer = serde_wasm_bindgen::Serializer::json_compatible();
16
- let js_value = value
17
- .try_to_validating_json()
18
- .map_err(|e| from_protocol_error(ProtocolError::ValueError(e)))?
19
- .serialize(&serializer)
20
- .map_err(|e| from_protocol_error(ProtocolError::EncodingError(e.to_string())))?;
21
- Ok(Array::from_iter(vec![
22
- JsValue::from(protocol_version),
23
- js_value,
24
- ]))
7
+ pub fn decode_protocol_entity(_buffer: Vec<u8>) -> Result<Array, JsValue> {
8
+ // TODO(v0.24-backport): revisit.
9
+ // This code was not used anywhere but js-drive and wallet-lib.
10
+ // In wallet-lib it is replaceable.
11
+ todo!()
12
+ // let (protocol_version, value) = DecodeProtocolEntity::decode_protocol_entity_to_value(buffer)
13
+ // .map_err(from_protocol_error)?;
14
+ //
15
+ // let serializer = serde_wasm_bindgen::Serializer::json_compatible();
16
+ // let js_value = value
17
+ // .try_to_validating_json()
18
+ // .map_err(|e| from_protocol_error(ProtocolError::ValueError(e)))?
19
+ // .serialize(&serializer)
20
+ // .map_err(|e| from_protocol_error(ProtocolError::EncodingError(e.to_string())))?;
21
+ // Ok(Array::from_iter(vec![
22
+ // JsValue::from(protocol_version),
23
+ // js_value,
24
+ // ]))
25
25
  }
@@ -7,6 +7,7 @@ use dpp::util::json_schema::JsonSchemaExt;
7
7
  use dpp::util::json_value::JsonValueExt;
8
8
 
9
9
  use dpp::platform_value::converter::serde_json::BTreeValueJsonConverter;
10
+ use dpp::serialization_traits::PlatformSerializable;
10
11
  use dpp::ProtocolError;
11
12
  use serde::{Deserialize, Serialize};
12
13
  use std::convert::TryInto;
@@ -198,6 +199,9 @@ impl ExtendedDocumentWasm {
198
199
  Value::Bytes(bytes) => {
199
200
  return Buffer::from_bytes(bytes).into();
200
201
  }
202
+ Value::Bytes20(bytes) => {
203
+ return Buffer::from_bytes(bytes.as_slice()).into();
204
+ }
201
205
  Value::Bytes32(bytes) => {
202
206
  return Buffer::from_bytes(bytes.as_slice()).into();
203
207
  }
@@ -322,8 +326,7 @@ impl ExtendedDocumentWasm {
322
326
 
323
327
  #[wasm_bindgen(js_name=toBuffer)]
324
328
  pub fn to_buffer(&self) -> Result<Buffer, JsValue> {
325
- let bytes = self.0.to_buffer().with_js_error()?;
326
-
329
+ let bytes = PlatformSerializable::serialize(&self.0.clone()).with_js_error()?;
327
330
  Ok(Buffer::from_bytes(&bytes))
328
331
  }
329
332
 
@@ -3,7 +3,7 @@ use dpp::{
3
3
  document::{self, fetch_and_validate_data_contract::fetch_and_validate_data_contract},
4
4
  prelude::DataContract,
5
5
  state_transition::state_transition_execution_context::StateTransitionExecutionContext,
6
- validation::ValidationResult,
6
+ validation::ConsensusValidationResult,
7
7
  ProtocolError,
8
8
  };
9
9
  use wasm_bindgen::prelude::*;
@@ -72,7 +72,7 @@ async fn fetch_and_validate_data_contract_inner(
72
72
  fetch_and_validate_data_contract(state_repository, &document_value, &ctx)
73
73
  .await
74
74
  .with_js_error()?;
75
- let result_with_js_value: ValidationResult<JsValue> = validation_result
75
+ let result_with_js_value: ConsensusValidationResult<JsValue> = validation_result
76
76
  .map(|dc| <DataContractWasm as std::convert::From<DataContract>>::from(dc).into());
77
77
 
78
78
  Ok(result_with_js_value.into())
@@ -1,4 +1,3 @@
1
- use dpp::dashcore::anyhow::Context;
2
1
  use dpp::prelude::{DataContract, Identifier};
3
2
  use dpp::util::json_schema::JsonSchemaExt;
4
3
 
@@ -11,7 +10,7 @@ use crate::buffer::Buffer;
11
10
 
12
11
  use crate::identifier::IdentifierWrapper;
13
12
  use crate::lodash::lodash_set;
14
- use crate::utils::{try_to_u64, WithJsError};
13
+ use crate::utils::WithJsError;
15
14
  use crate::utils::{with_serde_to_json_value, ToSerdeJSONExt};
16
15
  use crate::with_js_error;
17
16
  use crate::DataContractWasm;
@@ -27,7 +26,7 @@ pub mod state_transition;
27
26
  mod validator;
28
27
 
29
28
  pub use document_batch_transition::DocumentsBatchTransitionWasm;
30
- use dpp::data_contract::DriveContractExt;
29
+
31
30
  use dpp::document::{Document, EXTENDED_DOCUMENT_IDENTIFIER_FIELDS, IDENTIFIER_FIELDS};
32
31
 
33
32
  pub use extended_document::ExtendedDocumentWasm;
@@ -169,6 +168,9 @@ impl DocumentWasm {
169
168
  Value::Bytes(bytes) => {
170
169
  return Ok(Buffer::from_bytes(bytes.as_slice()).into());
171
170
  }
171
+ Value::Bytes20(bytes) => {
172
+ return Ok(Buffer::from_bytes(bytes.as_slice()).into());
173
+ }
172
174
  Value::Bytes32(bytes) => {
173
175
  return Ok(Buffer::from_bytes(bytes.as_slice()).into());
174
176
  }
@@ -4,19 +4,22 @@ use wasm_bindgen::prelude::*;
4
4
  use crate::{
5
5
  state_repository::{ExternalStateRepositoryLike, ExternalStateRepositoryLikeWrapper},
6
6
  utils::WithJsError,
7
- DocumentsBatchTransitionWasm,
7
+ DocumentsBatchTransitionWasm, StateTransitionExecutionContextWasm,
8
8
  };
9
9
 
10
10
  #[wasm_bindgen(js_name=applyDocumentsBatchTransition)]
11
11
  pub async fn apply_documents_batch_transition_wasm(
12
12
  state_repository: ExternalStateRepositoryLike,
13
13
  transition: &DocumentsBatchTransitionWasm,
14
+ execution_context: &StateTransitionExecutionContextWasm,
14
15
  ) -> Result<(), JsValue> {
15
16
  let wrapped_state_repository = ExternalStateRepositoryLikeWrapper::new(state_repository);
16
17
 
17
- let result = apply_documents_batch_transition(&wrapped_state_repository, &transition.0)
18
- .await
19
- .with_js_error();
20
-
21
- result
18
+ apply_documents_batch_transition(
19
+ &wrapped_state_repository,
20
+ &transition.0,
21
+ &execution_context.to_owned().into(),
22
+ )
23
+ .await
24
+ .with_js_error()
22
25
  }
@@ -2,7 +2,7 @@ use std::convert;
2
2
  use std::convert::TryInto;
3
3
 
4
4
  use dpp::document::document_transition::document_base_transition::JsonValue;
5
- use dpp::identity::TimestampMillis;
5
+
6
6
  use dpp::platform_value::btreemap_extensions::{
7
7
  BTreeValueMapHelper, BTreeValueMapPathHelper, BTreeValueMapReplacementPathHelper,
8
8
  };
@@ -2,7 +2,7 @@ use std::convert;
2
2
  use std::convert::TryInto;
3
3
 
4
4
  use dpp::document::document_transition::document_base_transition::JsonValue;
5
- use dpp::identity::TimestampMillis;
5
+
6
6
  use dpp::platform_value::btreemap_extensions::{
7
7
  BTreeValueMapHelper, BTreeValueMapPathHelper, BTreeValueMapReplacementPathHelper,
8
8
  };
@@ -2,7 +2,6 @@ mod document_create_transition;
2
2
  mod document_delete_transition;
3
3
  mod document_replace_transition;
4
4
 
5
- use anyhow::Context;
6
5
  pub use document_create_transition::*;
7
6
  pub use document_delete_transition::*;
8
7
  pub use document_replace_transition::*;
@@ -26,7 +25,7 @@ use crate::{
26
25
  buffer::Buffer,
27
26
  identifier::{identifier_from_js_value, IdentifierWrapper},
28
27
  lodash::lodash_set,
29
- utils::{try_to_u64, Inner, ToSerdeJSONExt, WithJsError},
28
+ utils::{Inner, ToSerdeJSONExt, WithJsError},
30
29
  with_js_error, BinaryType, ConversionOptions, DataContractWasm,
31
30
  };
32
31
 
@@ -19,6 +19,8 @@ use serde::{Deserialize, Serialize};
19
19
  use dpp::consensus::signature::SignatureError;
20
20
  use dpp::consensus::ConsensusError;
21
21
  use dpp::platform_value::{BinaryData, ReplacementType};
22
+ use dpp::serialization_traits::PlatformSerializable;
23
+ use dpp::state_transition::StateTransition;
22
24
  use wasm_bindgen::prelude::*;
23
25
 
24
26
  use crate::{
@@ -28,7 +30,7 @@ use crate::{
28
30
  identifier::IdentifierWrapper,
29
31
  lodash::lodash_set,
30
32
  utils::{Inner, IntoWasm, ToSerdeJSONExt, WithJsError},
31
- IdentityPublicKeyWasm, StateTransitionExecutionContextWasm,
33
+ IdentityPublicKeyWasm,
32
34
  };
33
35
  pub mod apply_document_batch_transition;
34
36
  pub mod document_transition;
@@ -79,9 +81,11 @@ impl DocumentsBatchTransitionWasm {
79
81
  .map_err(ProtocolError::ValueError)
80
82
  .with_js_error()?;
81
83
 
82
- let documents_batch_transition =
83
- DocumentsBatchTransition::from_raw_object(batch_transition_value, data_contracts)
84
- .with_js_error()?;
84
+ let documents_batch_transition = DocumentsBatchTransition::from_raw_object_with_contracts(
85
+ batch_transition_value,
86
+ data_contracts,
87
+ )
88
+ .with_js_error()?;
85
89
 
86
90
  Ok(documents_batch_transition.into())
87
91
  }
@@ -327,8 +331,12 @@ impl DocumentsBatchTransitionWasm {
327
331
  }
328
332
 
329
333
  #[wasm_bindgen(js_name=getKeySecurityLevelRequirement)]
330
- pub fn get_security_level_requirement(&self) -> u8 {
331
- self.0.get_security_level_requirement() as u8
334
+ pub fn get_security_level_requirement(&self) -> js_sys::Array {
335
+ let array = js_sys::Array::new();
336
+ for security_level in self.0.get_security_level_requirement() {
337
+ array.push(&JsValue::from(security_level as u32));
338
+ }
339
+ array
332
340
  }
333
341
 
334
342
  // AbstractStateTransition methods
@@ -362,26 +370,11 @@ impl DocumentsBatchTransitionWasm {
362
370
  self.0.is_identity_state_transition()
363
371
  }
364
372
 
365
- #[wasm_bindgen(js_name=setExecutionContext)]
366
- pub fn set_execution_context(&mut self, context: &StateTransitionExecutionContextWasm) {
367
- self.0.set_execution_context(context.into())
368
- }
369
-
370
- #[wasm_bindgen(js_name=getExecutionContext)]
371
- pub fn get_execution_context(&mut self) -> StateTransitionExecutionContextWasm {
372
- self.0.get_execution_context().clone().into()
373
- }
374
-
375
373
  #[wasm_bindgen(js_name=toBuffer)]
376
- pub fn to_buffer(&self, options: &JsValue) -> Result<Buffer, JsValue> {
377
- let skip_signature = if options.is_object() {
378
- let options = options.with_serde_to_json_value()?;
379
- options.get_bool("skipSignature").unwrap_or_default()
380
- } else {
381
- false
382
- };
383
- let bytes = self.0.to_buffer(skip_signature).with_js_error()?;
384
-
374
+ pub fn to_buffer(&self) -> Result<Buffer, JsValue> {
375
+ let bytes =
376
+ PlatformSerializable::serialize(&StateTransition::DocumentsBatch(self.0.clone()))
377
+ .with_js_error()?;
385
378
  Ok(Buffer::from_bytes(&bytes))
386
379
  }
387
380
 
@@ -1,7 +1,7 @@
1
1
  use dpp::consensus::basic::value_error::ValueError;
2
2
  use dpp::document::validation::basic::validate_documents_batch_transition_basic;
3
3
  use dpp::document::DocumentsBatchTransition;
4
- use dpp::validation::SimpleValidationResult;
4
+ use dpp::validation::SimpleConsensusValidationResult;
5
5
  use std::sync::Arc;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
@@ -18,12 +18,12 @@ pub async fn validate_documents_batch_transition_basic_wasm(
18
18
  protocol_version_validator: ProtocolVersionValidatorWasm,
19
19
  state_repository: ExternalStateRepositoryLike,
20
20
  js_raw_state_transition: JsValue,
21
- execution_context: StateTransitionExecutionContextWasm,
21
+ execution_context: &StateTransitionExecutionContextWasm,
22
22
  ) -> Result<ValidationResultWasm, JsValue> {
23
23
  let wrapped_state_repository = ExternalStateRepositoryLikeWrapper::new(state_repository);
24
24
  let mut value = js_raw_state_transition.with_serde_to_platform_value()?;
25
25
 
26
- let mut validation_result = SimpleValidationResult::default();
26
+ let mut validation_result = SimpleConsensusValidationResult::default();
27
27
  if let Some(err) = DocumentsBatchTransition::clean_value(&mut value).err() {
28
28
  validation_result.add_error(ValueError::new(err));
29
29
  return Ok(validation_result.map(|_| JsValue::undefined()).into());
@@ -34,7 +34,7 @@ pub async fn validate_documents_batch_transition_basic_wasm(
34
34
  &protocol_version_validator.into(),
35
35
  &value,
36
36
  Arc::new(wrapped_state_repository),
37
- &execution_context.into(),
37
+ &execution_context.to_owned().into(),
38
38
  )
39
39
  .await
40
40
  .with_js_error()?,
@@ -5,13 +5,14 @@ use crate::{
5
5
  state_repository::{ExternalStateRepositoryLike, ExternalStateRepositoryLikeWrapper},
6
6
  utils::WithJsError,
7
7
  validation::ValidationResultWasm,
8
- DocumentsBatchTransitionWasm,
8
+ DocumentsBatchTransitionWasm, StateTransitionExecutionContextWasm,
9
9
  };
10
10
 
11
11
  #[wasm_bindgen(js_name = "validateDocumentsBatchTransitionState")]
12
12
  pub async fn validate_documents_batch_transition_state_wasm(
13
13
  state_repository: ExternalStateRepositoryLike,
14
14
  state_transition: &DocumentsBatchTransitionWasm,
15
+ execution_context: &StateTransitionExecutionContextWasm,
15
16
  ) -> Result<ValidationResultWasm, JsValue> {
16
17
  let wrapped_state_repository = ExternalStateRepositoryLikeWrapper::new(state_repository);
17
18
 
@@ -19,6 +20,7 @@ pub async fn validate_documents_batch_transition_state_wasm(
19
20
  validate_documents_batch_transition_state::validate_document_batch_transition_state(
20
21
  &wrapped_state_repository,
21
22
  &state_transition.0,
23
+ &execution_context.to_owned().into(),
22
24
  )
23
25
  .await
24
26
  .with_js_error()?;
@@ -41,7 +41,7 @@ impl DataContractHaveNewUniqueIndexErrorWasm {
41
41
  pub fn serialize(&self) -> Result<Buffer, JsError> {
42
42
  let bytes = ConsensusError::from(self.inner.clone())
43
43
  .serialize()
44
- .map_err(|e| JsError::from(e))?;
44
+ .map_err(JsError::from)?;
45
45
 
46
46
  Ok(Buffer::from_bytes(bytes.as_slice()))
47
47
  }
@@ -21,12 +21,12 @@ impl From<&DataContractImmutablePropertiesUpdateError>
21
21
  impl DataContractImmutablePropertiesUpdateErrorWasm {
22
22
  #[wasm_bindgen(js_name=getOperation)]
23
23
  pub fn get_operation(&self) -> String {
24
- self.inner.operation().to_string()
24
+ self.inner.operation()
25
25
  }
26
26
 
27
27
  #[wasm_bindgen(js_name=getFieldPath)]
28
28
  pub fn get_field_path(&self) -> String {
29
- self.inner.field_path().to_string()
29
+ self.inner.field_path()
30
30
  }
31
31
 
32
32
  #[wasm_bindgen(js_name=getCode)]
@@ -43,7 +43,7 @@ impl DataContractImmutablePropertiesUpdateErrorWasm {
43
43
  pub fn serialize(&self) -> Result<Buffer, JsError> {
44
44
  let bytes = ConsensusError::from(self.inner.clone())
45
45
  .serialize()
46
- .map_err(|e| JsError::from(e))?;
46
+ .map_err(JsError::from)?;
47
47
 
48
48
  Ok(Buffer::from_bytes(bytes.as_slice()))
49
49
  }
@@ -43,7 +43,7 @@ impl DataContractInvalidIndexDefinitionUpdateErrorWasm {
43
43
  pub fn serialize(&self) -> Result<Buffer, JsError> {
44
44
  let bytes = ConsensusError::from(self.inner.clone())
45
45
  .serialize()
46
- .map_err(|e| JsError::from(e))?;
46
+ .map_err(JsError::from)?;
47
47
 
48
48
  Ok(Buffer::from_bytes(bytes.as_slice()))
49
49
  }