@dashevo/wasm-dpp 0.25.0-dev.14 → 0.25.0-dev.16

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 (133) hide show
  1. package/Cargo.toml +5 -1
  2. package/dist/wasm/wasm_dpp.d.ts +1319 -1058
  3. package/dist/wasm/wasm_dpp.js +227 -116
  4. package/dist/wasm/wasm_dpp_bg.js +1 -1
  5. package/lib/test/fixtures/getDataContractFixture.js +9 -1
  6. package/lib/test/fixtures/getIdentityCreditTransferTransitionFixture.js +19 -0
  7. package/lib/wasm/wasm_dpp.d.ts +1319 -1058
  8. package/package.json +4 -4
  9. package/scripts/build-wasm.sh +6 -9
  10. package/src/data_contract/data_contract.rs +12 -0
  11. package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +18 -1
  12. package/src/data_contract/state_transition/data_contract_update_transition/mod.rs +18 -1
  13. package/src/data_contract_factory/data_contract_factory.rs +11 -2
  14. package/src/errors/consensus/basic/data_contract/data_contract_have_new_unique_index_error.rs +1 -0
  15. package/src/errors/consensus/basic/data_contract/data_contract_immutable_properties_update_error.rs +1 -0
  16. package/src/errors/consensus/basic/data_contract/data_contract_invalid_index_definition_update_error.rs +1 -0
  17. package/src/errors/consensus/basic/data_contract/data_contract_max_depth_exceed_error.rs +1 -0
  18. package/src/errors/consensus/basic/data_contract/data_contract_unique_indices_changed_error.rs +1 -0
  19. package/src/errors/consensus/basic/data_contract/duplicate_index_name_error.rs +1 -0
  20. package/src/errors/consensus/basic/data_contract/incompatible_data_contract_schema_error.rs +1 -0
  21. package/src/errors/consensus/basic/data_contract/incompatible_re2_pattern_error.rs +1 -0
  22. package/src/errors/consensus/basic/data_contract/index_error/duplicate_index_error.rs +1 -0
  23. package/src/errors/consensus/basic/data_contract/index_error/invalid_compound_index_error.rs +1 -0
  24. package/src/errors/consensus/basic/data_contract/index_error/invalid_index_property_type_error.rs +1 -0
  25. package/src/errors/consensus/basic/data_contract/index_error/invalid_indexed_property_constraint_error.rs +1 -0
  26. package/src/errors/consensus/basic/data_contract/index_error/system_property_index_already_present_error.rs +1 -0
  27. package/src/errors/consensus/basic/data_contract/index_error/undefined_index_property_error.rs +1 -0
  28. package/src/errors/consensus/basic/data_contract/index_error/unique_indices_limit_reached_error.rs +1 -0
  29. package/src/errors/consensus/basic/data_contract/invalid_data_contract_id_error.rs +1 -0
  30. package/src/errors/consensus/basic/data_contract/invalid_data_contract_version_error.rs +1 -0
  31. package/src/errors/consensus/basic/data_contract/invalid_json_schema_ref_error.rs +1 -0
  32. package/src/errors/consensus/basic/decode/protocol_version_parsing_error.rs +1 -0
  33. package/src/errors/consensus/basic/decode/serialized_object_parsing_error.rs +1 -0
  34. package/src/errors/consensus/basic/document/data_contract_not_present_error.rs +1 -0
  35. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_ids_error.rs +1 -0
  36. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_indices_error.rs +1 -0
  37. package/src/errors/consensus/basic/document/inconsistent_compound_index_data_error.rs +1 -0
  38. package/src/errors/consensus/basic/document/invalid_document_transition_action_error.rs +1 -0
  39. package/src/errors/consensus/basic/document/invalid_document_transition_id_error.rs +1 -0
  40. package/src/errors/consensus/basic/document/invalid_document_type_error.rs +1 -0
  41. package/src/errors/consensus/basic/document/missing_data_contract_id_error.rs +1 -0
  42. package/src/errors/consensus/basic/document/missing_document_transition_action_error.rs +1 -0
  43. package/src/errors/consensus/basic/document/missing_document_transition_type_error.rs +1 -0
  44. package/src/errors/consensus/basic/document/missing_document_type_error.rs +1 -0
  45. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_error.rs +1 -0
  46. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_error.rs +1 -0
  47. package/src/errors/consensus/basic/identity/identity_asset_lock_proof_locked_transaction_mismatch_error.rs +1 -0
  48. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_is_not_found_error.rs +1 -0
  49. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs +1 -0
  50. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs +1 -0
  51. package/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +1 -0
  52. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_core_chain_height_error.rs +1 -0
  53. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_transaction_height_error.rs +1 -0
  54. package/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size_error.rs +1 -0
  55. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs +1 -0
  56. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs +1 -0
  57. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_core_fee_error.rs +1 -0
  58. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_output_script_error.rs +1 -0
  59. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_pooling_error.rs +1 -0
  60. package/src/errors/consensus/basic/identity/invalid_identity_key_signature_error.rs +1 -0
  61. package/src/errors/consensus/basic/identity/invalid_identity_public_key_data_error.rs +1 -0
  62. package/src/errors/consensus/basic/identity/invalid_identity_public_key_security_level_error.rs +1 -0
  63. package/src/errors/consensus/basic/identity/invalid_identity_public_key_type_error.rs +1 -0
  64. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs +1 -0
  65. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_signature_error.rs +1 -0
  66. package/src/errors/consensus/basic/identity/missing_master_public_key_error.rs +1 -0
  67. package/src/errors/consensus/basic/identity/missing_public_key_error.rs +1 -0
  68. package/src/errors/consensus/basic/incompatible_protocol_version_error.rs +1 -0
  69. package/src/errors/consensus/basic/invalid_identifier_error.rs +1 -0
  70. package/src/errors/consensus/basic/invalid_signature_public_key_security_level_error.rs +1 -0
  71. package/src/errors/consensus/basic/invalid_state_transition_signature_error.rs +1 -0
  72. package/src/errors/consensus/basic/json_schema_compilation_error.rs +1 -0
  73. package/src/errors/consensus/basic/json_schema_error.rs +2 -2
  74. package/src/errors/consensus/basic/public_key_is_disabled_error.rs +1 -0
  75. package/src/errors/consensus/basic/public_key_security_level_not_met_error.rs +2 -2
  76. package/src/errors/consensus/basic/state_transition/invalid_state_transition_type_error.rs +1 -0
  77. package/src/errors/consensus/basic/state_transition/missing_state_transition_type_error.rs +1 -0
  78. package/src/errors/consensus/basic/state_transition/state_transition_max_size_exceeded_error.rs +1 -0
  79. package/src/errors/consensus/basic/unsupported_protocol_version_error.rs +1 -0
  80. package/src/errors/consensus/basic/wrong_public_key_purpose_error.rs +1 -0
  81. package/src/errors/consensus/consensus_error.rs +10 -1
  82. package/src/errors/consensus/deserialize.rs +1 -0
  83. package/src/errors/consensus/fee/balance_is_not_enough_error.rs +1 -0
  84. package/src/errors/consensus/signature/basic_bls_error.rs +1 -0
  85. package/src/errors/consensus/signature/basic_ecdsa_error.rs +1 -0
  86. package/src/errors/consensus/signature/identity_not_found_error.rs +1 -0
  87. package/src/errors/consensus/signature/signature_should_not_be_present_error.rs +1 -0
  88. package/src/errors/consensus/state/data_contract/data_contract_already_present_error.rs +1 -0
  89. package/src/errors/consensus/state/data_contract/data_contract_config_update_error.rs +53 -0
  90. package/src/errors/consensus/state/data_contract/data_contract_is_readonly_error.rs +53 -0
  91. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_condition_error.rs +1 -0
  92. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_execution_error.rs +1 -0
  93. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_invalid_result_error.rs +1 -0
  94. package/src/errors/consensus/state/data_contract/mod.rs +4 -0
  95. package/src/errors/consensus/state/document/document_already_present_error.rs +1 -0
  96. package/src/errors/consensus/state/document/document_not_found_error.rs +1 -0
  97. package/src/errors/consensus/state/document/document_owner_id_mismatch_error.rs +1 -0
  98. package/src/errors/consensus/state/document/document_timestamp_window_violation_error.rs +1 -0
  99. package/src/errors/consensus/state/document/document_timestamps_are_equal_error.rs +2 -1
  100. package/src/errors/consensus/state/document/document_timestamps_mismatch_error.rs +1 -0
  101. package/src/errors/consensus/state/document/duplicate_unique_index_error.rs +1 -0
  102. package/src/errors/consensus/state/document/invalid_document_revision_error.rs +1 -0
  103. package/src/errors/consensus/state/identity/duplicated_identity_public_key_id_state_error.rs +1 -0
  104. package/src/errors/consensus/state/identity/duplicated_identity_public_key_state_error.rs +1 -0
  105. package/src/errors/consensus/state/identity/identity_already_exists_error.rs +1 -0
  106. package/src/errors/consensus/state/identity/identity_public_key_disabled_at_window_violation_error.rs +1 -0
  107. package/src/errors/consensus/state/identity/identity_public_key_is_disabled_error.rs +1 -0
  108. package/src/errors/consensus/state/identity/identity_public_key_is_read_only_error.rs +1 -0
  109. package/src/errors/consensus/state/identity/invalid_identity_public_key_id_error.rs +1 -0
  110. package/src/errors/consensus/state/identity/invalid_identity_revision_error.rs +1 -0
  111. package/src/errors/consensus/state/identity/max_identity_public_key_limit_reached_error.rs +1 -0
  112. package/src/errors/consensus/value_error.rs +1 -0
  113. package/src/identity/identity_facade.rs +20 -2
  114. package/src/identity/identity_factory.rs +20 -2
  115. package/src/identity/state_transition/identity_credit_transfer_transition/apply_identity_credit_transfer_transition.rs +31 -0
  116. package/src/identity/state_transition/identity_credit_transfer_transition/identity_credit_transfer_transition_basic_validator.rs +66 -0
  117. package/src/identity/state_transition/identity_credit_transfer_transition/identity_credit_transfer_transition_state_validator.rs +44 -0
  118. package/src/identity/state_transition/identity_credit_transfer_transition/mod.rs +8 -0
  119. package/src/identity/state_transition/identity_credit_transfer_transition/to_object.rs +52 -0
  120. package/src/identity/state_transition/identity_credit_transfer_transition/transition.rs +311 -0
  121. package/src/identity/state_transition/mod.rs +2 -0
  122. package/src/identity/state_transition/transition_types.rs +4 -0
  123. package/src/state_transition/conversion.rs +11 -1
  124. package/src/state_transition/state_transition_facade.rs +1 -1
  125. package/src/state_transition/state_transition_factory.rs +10 -1
  126. package/src/state_transition/validation/validate_state_transition_identity_signature.rs +5 -0
  127. package/src/utils.rs +2 -1
  128. package/src/validation/validation_result.rs +1 -0
  129. package/test/unit/dataContract/DataContract.spec.js +18 -0
  130. package/test/unit/dataContract/DataContractFactory.spec.js +20 -0
  131. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition.spec.js +10 -0
  132. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +10 -0
  133. package/test/unit/identity/stateTransition/identityCreditTransferTransition/identityCreditTransferTransition.spec.js +139 -0
@@ -4,6 +4,7 @@ use dpp::errors::consensus::codes::ErrorWithCode;
4
4
  use crate::buffer::Buffer;
5
5
  use dpp::consensus::ConsensusError;
6
6
  use dpp::errors::consensus::ConsensusError as DPPConsensusError;
7
+ use dpp::serialization_traits::PlatformSerializable;
7
8
  use wasm_bindgen::prelude::*;
8
9
 
9
10
  #[wasm_bindgen(js_name=InvalidIdentityPublicKeySecurityLevelError)]
@@ -6,6 +6,7 @@ use dpp::consensus::codes::ErrorWithCode;
6
6
  use dpp::consensus::signature::InvalidIdentityPublicKeyTypeError;
7
7
  use dpp::consensus::ConsensusError;
8
8
  use dpp::identity::KeyType;
9
+ use dpp::serialization_traits::PlatformSerializable;
9
10
  use wasm_bindgen::prelude::*;
10
11
 
11
12
  #[wasm_bindgen(js_name=InvalidIdentityPublicKeyTypeError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::identity::InvalidInstantAssetLockProofError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=InvalidInstantAssetLockProofError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::identity::InvalidInstantAssetLockProofSignatureError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=InvalidInstantAssetLockProofSignatureError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::identity::MissingMasterPublicKeyError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=MissingMasterPublicKeyError)]
@@ -3,6 +3,7 @@ use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::signature::MissingPublicKeyError;
4
4
  use dpp::consensus::ConsensusError;
5
5
  use dpp::identity::KeyID;
6
+ use dpp::serialization_traits::PlatformSerializable;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
8
9
  #[wasm_bindgen(js_name=MissingPublicKeyError)]
@@ -3,6 +3,7 @@ use dpp::consensus::basic::IncompatibleProtocolVersionError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
5
 
6
+ use dpp::serialization_traits::PlatformSerializable;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
8
9
  #[wasm_bindgen(js_name=IncompatibleProtocolVersionError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::invalid_identifier_error::InvalidIdentifierError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=InvalidIdentifierError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::signature::InvalidSignaturePublicKeySecurityLevelError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=InvalidSignaturePublicKeySecurityLevelError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::signature::InvalidStateTransitionSignatureError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=InvalidStateTransitionSignatureError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::json_schema_compilation_error::JsonSchemaCompilationError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=JsonSchemaCompilationError)]
@@ -6,6 +6,7 @@ use dpp::errors::consensus::codes::ErrorWithCode;
6
6
  use dpp::errors::consensus::ConsensusError;
7
7
 
8
8
  use crate::buffer::Buffer;
9
+ use dpp::serialization_traits::PlatformSerializable;
9
10
  use wasm_bindgen::prelude::*;
10
11
 
11
12
  #[wasm_bindgen(js_name=JsonSchemaError, inspectable)]
@@ -66,8 +67,7 @@ impl JsonSchemaErrorWasm {
66
67
 
67
68
  #[wasm_bindgen(js_name=serialize)]
68
69
  pub fn serialize(&self) -> Result<Buffer, JsError> {
69
- let bytes = ConsensusError::from(self.inner.clone())
70
- .serialize()
70
+ let bytes = PlatformSerializable::serialize(&ConsensusError::from(self.inner.clone()))
71
71
  .map_err(JsError::from)?;
72
72
 
73
73
  Ok(Buffer::from_bytes(bytes.as_slice()))
@@ -3,6 +3,7 @@ use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::signature::PublicKeyIsDisabledError;
4
4
  use dpp::consensus::ConsensusError;
5
5
  use dpp::identity::KeyID;
6
+ use dpp::serialization_traits::PlatformSerializable;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
8
9
  #[wasm_bindgen(js_name=PublicKeyIsDisabledError)]
@@ -4,6 +4,7 @@ use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::signature::PublicKeySecurityLevelNotMetError;
5
5
  use dpp::consensus::ConsensusError;
6
6
 
7
+ use dpp::serialization_traits::PlatformSerializable;
7
8
  use wasm_bindgen::prelude::*;
8
9
 
9
10
  #[derive(Serialize)]
@@ -42,8 +43,7 @@ impl PublicKeySecurityLevelNotMetErrorWasm {
42
43
 
43
44
  #[wasm_bindgen(js_name=serialize)]
44
45
  pub fn serialize(&self) -> Result<Buffer, JsError> {
45
- let bytes = ConsensusError::from(self.inner.clone())
46
- .serialize()
46
+ let bytes = PlatformSerializable::serialize(&ConsensusError::from(self.inner.clone()))
47
47
  .map_err(JsError::from)?;
48
48
 
49
49
  Ok(Buffer::from_bytes(bytes.as_slice()))
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::state_transition::InvalidStateTransitionTypeError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=InvalidStateTransitionTypeError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::state_transition::MissingStateTransitionTypeError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=MissingStateTransitionTypeError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::state_transition::StateTransitionMaxSizeExceededError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=StateTransitionMaxSizeExceededError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::UnsupportedProtocolVersionError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=UnsupportedProtocolVersionError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::signature::WrongPublicKeyPurposeError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=WrongPublicKeyPurposeError)]
@@ -74,7 +74,10 @@ use crate::errors::consensus::signature::{
74
74
  use crate::errors::consensus::state::data_contract::data_trigger::{
75
75
  DataTriggerConditionErrorWasm, DataTriggerExecutionErrorWasm,
76
76
  };
77
- use crate::errors::consensus::state::data_contract::DataContractAlreadyPresentErrorWasm;
77
+ use crate::errors::consensus::state::data_contract::{
78
+ DataContractAlreadyPresentErrorWasm, DataContractConfigUpdateErrorWasm,
79
+ DataContractIsReadonlyErrorWasm,
80
+ };
78
81
  use crate::errors::consensus::state::document::{
79
82
  DocumentAlreadyPresentErrorWasm, DocumentNotFoundErrorWasm, DocumentOwnerIdMismatchErrorWasm,
80
83
  DocumentTimestampWindowViolationErrorWasm, DocumentTimestampsMismatchErrorWasm,
@@ -202,6 +205,12 @@ pub fn from_state_error(state_error: &StateError) -> JsValue {
202
205
  StateError::DocumentTimestampsAreEqualError(e) => {
203
206
  DocumentTimestampsAreEqualErrorWasm::from(e).into()
204
207
  }
208
+ StateError::DataContractIsReadonlyError(e) => {
209
+ DataContractIsReadonlyErrorWasm::from(e).into()
210
+ }
211
+ StateError::DataContractConfigUpdateError(e) => {
212
+ DataContractConfigUpdateErrorWasm::from(e).into()
213
+ }
205
214
  }
206
215
  }
207
216
 
@@ -1,5 +1,6 @@
1
1
  use crate::errors::consensus::consensus_error::from_consensus_error;
2
2
  use dpp::consensus::ConsensusError;
3
+ use dpp::serialization_traits::PlatformDeserializable;
3
4
  use wasm_bindgen::prelude::wasm_bindgen;
4
5
  use wasm_bindgen::{JsError, JsValue};
5
6
 
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::fee::balance_is_not_enough_error::BalanceIsNotEnoughError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use dpp::state_transition::fee::Credits;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::signature::BasicBLSError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=BasicBLSError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::signature::BasicECDSAError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=BasicECDSAError)]
@@ -1,6 +1,7 @@
1
1
  use dpp::consensus::codes::ErrorWithCode;
2
2
  use dpp::consensus::signature::IdentityNotFoundError;
3
3
  use dpp::consensus::ConsensusError;
4
+ use dpp::serialization_traits::PlatformSerializable;
4
5
  use wasm_bindgen::prelude::*;
5
6
 
6
7
  use crate::buffer::Buffer;
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::signature::SignatureShouldNotBePresentError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=SignatureShouldNotBePresentError)]
@@ -4,6 +4,7 @@ use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::state::data_contract::data_contract_already_present_error::DataContractAlreadyPresentError;
5
5
  use dpp::consensus::ConsensusError;
6
6
 
7
+ use dpp::serialization_traits::PlatformSerializable;
7
8
  use wasm_bindgen::prelude::*;
8
9
 
9
10
  #[wasm_bindgen(js_name=DataContractAlreadyPresentError)]
@@ -0,0 +1,53 @@
1
+ use crate::buffer::Buffer;
2
+ use crate::identifier::IdentifierWrapper;
3
+ use dpp::consensus::codes::ErrorWithCode;
4
+ use dpp::consensus::state::data_contract::data_contract_config_update_error::DataContractConfigUpdateError;
5
+ use dpp::consensus::ConsensusError;
6
+
7
+ use dpp::serialization_traits::PlatformSerializable;
8
+ use wasm_bindgen::prelude::*;
9
+
10
+ #[wasm_bindgen(js_name=DataContractConfigUpdateError)]
11
+ pub struct DataContractConfigUpdateErrorWasm {
12
+ inner: DataContractConfigUpdateError,
13
+ }
14
+
15
+ impl From<&DataContractConfigUpdateError> for DataContractConfigUpdateErrorWasm {
16
+ fn from(e: &DataContractConfigUpdateError) -> Self {
17
+ Self { inner: e.clone() }
18
+ }
19
+ }
20
+
21
+ #[wasm_bindgen(js_class=DataContractConfigUpdateError)]
22
+ impl DataContractConfigUpdateErrorWasm {
23
+ #[wasm_bindgen(constructor)]
24
+ pub fn new(data_contract_id: IdentifierWrapper, message: String) -> Self {
25
+ Self {
26
+ inner: DataContractConfigUpdateError::new(data_contract_id.into(), message),
27
+ }
28
+ }
29
+
30
+ #[wasm_bindgen(js_name=getDataContractId)]
31
+ pub fn data_contract_id(&self) -> IdentifierWrapper {
32
+ self.inner.data_contract_id().to_owned().into()
33
+ }
34
+
35
+ #[wasm_bindgen(js_name=getCode)]
36
+ pub fn get_code(&self) -> u32 {
37
+ ConsensusError::from(self.inner.clone()).code()
38
+ }
39
+
40
+ #[wasm_bindgen(getter)]
41
+ pub fn message(&self) -> String {
42
+ self.inner.to_string()
43
+ }
44
+
45
+ #[wasm_bindgen(js_name=serialize)]
46
+ pub fn serialize(&self) -> Result<Buffer, JsError> {
47
+ let bytes = ConsensusError::from(self.inner.clone())
48
+ .serialize()
49
+ .map_err(JsError::from)?;
50
+
51
+ Ok(Buffer::from_bytes(bytes.as_slice()))
52
+ }
53
+ }
@@ -0,0 +1,53 @@
1
+ use crate::buffer::Buffer;
2
+ use crate::identifier::IdentifierWrapper;
3
+ use dpp::consensus::codes::ErrorWithCode;
4
+ use dpp::consensus::state::data_contract::data_contract_is_readonly_error::DataContractIsReadonlyError;
5
+ use dpp::consensus::ConsensusError;
6
+
7
+ use dpp::serialization_traits::PlatformSerializable;
8
+ use wasm_bindgen::prelude::*;
9
+
10
+ #[wasm_bindgen(js_name=DataContractIsReadonlyError)]
11
+ pub struct DataContractIsReadonlyErrorWasm {
12
+ inner: DataContractIsReadonlyError,
13
+ }
14
+
15
+ impl From<&DataContractIsReadonlyError> for DataContractIsReadonlyErrorWasm {
16
+ fn from(e: &DataContractIsReadonlyError) -> Self {
17
+ Self { inner: e.clone() }
18
+ }
19
+ }
20
+
21
+ #[wasm_bindgen(js_class=DataContractIsReadonlyError)]
22
+ impl DataContractIsReadonlyErrorWasm {
23
+ #[wasm_bindgen(constructor)]
24
+ pub fn new(data_contract_id: IdentifierWrapper) -> Self {
25
+ Self {
26
+ inner: DataContractIsReadonlyError::new(data_contract_id.into()),
27
+ }
28
+ }
29
+
30
+ #[wasm_bindgen(js_name=getDataContractId)]
31
+ pub fn data_contract_id(&self) -> IdentifierWrapper {
32
+ self.inner.data_contract_id().to_owned().into()
33
+ }
34
+
35
+ #[wasm_bindgen(js_name=getCode)]
36
+ pub fn get_code(&self) -> u32 {
37
+ ConsensusError::from(self.inner.clone()).code()
38
+ }
39
+
40
+ #[wasm_bindgen(getter)]
41
+ pub fn message(&self) -> String {
42
+ self.inner.to_string()
43
+ }
44
+
45
+ #[wasm_bindgen(js_name=serialize)]
46
+ pub fn serialize(&self) -> Result<Buffer, JsError> {
47
+ let bytes = ConsensusError::from(self.inner.clone())
48
+ .serialize()
49
+ .map_err(JsError::from)?;
50
+
51
+ Ok(Buffer::from_bytes(bytes.as_slice()))
52
+ }
53
+ }
@@ -4,6 +4,7 @@ use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::state::data_trigger::data_trigger_condition_error::DataTriggerConditionError;
5
5
  use dpp::consensus::ConsensusError;
6
6
  use dpp::identifier::Identifier;
7
+ use dpp::serialization_traits::PlatformSerializable;
7
8
  use wasm_bindgen::prelude::*;
8
9
 
9
10
  #[wasm_bindgen(js_name=DataTriggerConditionError)]
@@ -3,6 +3,7 @@ use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::data_trigger::data_trigger_execution_error::DataTriggerExecutionError;
4
4
  use dpp::consensus::ConsensusError;
5
5
  use dpp::identifier::Identifier;
6
+ use dpp::serialization_traits::PlatformSerializable;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
8
9
  #[wasm_bindgen(js_name=DataTriggerExecutionError)]
@@ -4,6 +4,7 @@ use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::state::data_trigger::data_trigger_invalid_result_error::DataTriggerInvalidResultError;
5
5
  use dpp::consensus::ConsensusError;
6
6
  use dpp::identifier::Identifier;
7
+ use dpp::serialization_traits::PlatformSerializable;
7
8
  use wasm_bindgen::prelude::*;
8
9
 
9
10
  #[wasm_bindgen(js_name=DataTriggerInvalidResultError)]
@@ -1,4 +1,8 @@
1
1
  mod data_contract_already_present_error;
2
+ mod data_contract_config_update_error;
3
+ mod data_contract_is_readonly_error;
2
4
  pub mod data_trigger;
3
5
 
4
6
  pub use data_contract_already_present_error::*;
7
+ pub use data_contract_config_update_error::*;
8
+ pub use data_contract_is_readonly_error::*;
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::document::document_already_present_error::DocumentAlreadyPresentError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=DocumentAlreadyPresentError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::document::document_not_found_error::DocumentNotFoundError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=DocumentNotFoundError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::document::document_owner_id_mismatch_error::DocumentOwnerIdMismatchError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=DocumentOwnerIdMismatchError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::document::document_timestamp_window_violation_error::DocumentTimestampWindowViolationError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=DocumentTimestampWindowViolationError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::document::document_timestamps_are_equal_error::DocumentTimestampsAreEqualError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=DocumentTimestampsAreEqualError)]
@@ -35,7 +36,7 @@ impl DocumentTimestampsAreEqualErrorWasm {
35
36
  pub fn serialize(&self) -> Result<Buffer, JsError> {
36
37
  let bytes = ConsensusError::from(self.inner.clone())
37
38
  .serialize()
38
- .map_err(|e| JsError::from(e))?;
39
+ .map_err(JsError::from)?;
39
40
 
40
41
  Ok(Buffer::from_bytes(bytes.as_slice()))
41
42
  }
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::document::document_timestamps_mismatch_error::DocumentTimestampsMismatchError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=DocumentTimestampsMismatchError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::document::duplicate_unique_index_error::DuplicateUniqueIndexError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use js_sys::JsString;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
@@ -3,6 +3,7 @@ use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::document::invalid_document_revision_error::InvalidDocumentRevisionError;
4
4
  use dpp::consensus::ConsensusError;
5
5
  use dpp::prelude::Revision;
6
+ use dpp::serialization_traits::PlatformSerializable;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
8
9
  #[wasm_bindgen(js_name=InvalidDocumentRevisionError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::identity::duplicated_identity_public_key_id_state_error::DuplicatedIdentityPublicKeyIdStateError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=DuplicatedIdentityPublicKeyIdStateError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::identity::duplicated_identity_public_key_state_error::DuplicatedIdentityPublicKeyStateError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=DuplicatedIdentityPublicKeyStateError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::identity::IdentityAlreadyExistsError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=IdentityAlreadyExistsError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::identity::identity_public_key_disabled_at_window_violation_error::IdentityPublicKeyDisabledAtWindowViolationError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=IdentityPublicKeyDisabledAtWindowViolationError)]
@@ -3,6 +3,7 @@ use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::identity::identity_public_key_is_disabled_error::IdentityPublicKeyIsDisabledError;
4
4
  use dpp::consensus::ConsensusError;
5
5
  use dpp::identity::KeyID;
6
+ use dpp::serialization_traits::PlatformSerializable;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
8
9
  #[wasm_bindgen(js_name=IdentityPublicKeyIsDisabledError)]
@@ -3,6 +3,7 @@ use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::identity::identity_public_key_is_read_only_error::IdentityPublicKeyIsReadOnlyError;
4
4
  use dpp::consensus::ConsensusError;
5
5
  use dpp::identity::KeyID;
6
+ use dpp::serialization_traits::PlatformSerializable;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
8
9
  #[wasm_bindgen(js_name=IdentityPublicKeyIsReadOnlyError)]
@@ -3,6 +3,7 @@ use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::identity::invalid_identity_public_key_id_error::InvalidIdentityPublicKeyIdError;
4
4
  use dpp::consensus::ConsensusError;
5
5
  use dpp::identity::KeyID;
6
+ use dpp::serialization_traits::PlatformSerializable;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
8
9
  #[wasm_bindgen(js_name=InvalidIdentityPublicKeyIdError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::identity::invalid_identity_revision_error::InvalidIdentityRevisionError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use js_sys::Number;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::identity::max_identity_public_key_limit_reached_error::MaxIdentityPublicKeyLimitReachedError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=MaxIdentityPublicKeyLimitReachedError)]
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::value_error::ValueError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization_traits::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=ValueError, inspectable)]
@@ -17,8 +17,9 @@ use crate::utils::{ToSerdeJSONExt, WithJsError};
17
17
  use crate::validation::ValidationResultWasm;
18
18
  use crate::{
19
19
  create_asset_lock_proof_from_wasm_instance, with_js_error, ChainAssetLockProofWasm,
20
- IdentityCreateTransitionWasm, IdentityTopUpTransitionWasm, IdentityUpdateTransitionWasm,
21
- IdentityWasm, InstantAssetLockProofWasm,
20
+ IdentityCreateTransitionWasm, IdentityCreditTransferTransitionWasm,
21
+ IdentityTopUpTransitionWasm, IdentityUpdateTransitionWasm, IdentityWasm,
22
+ InstantAssetLockProofWasm,
22
23
  };
23
24
  use dpp::dashcore::{consensus, InstantLock, Transaction};
24
25
 
@@ -191,6 +192,23 @@ impl IdentityFacadeWasm {
191
192
  .with_js_error()
192
193
  }
193
194
 
195
+ #[wasm_bindgen(js_name=createIdentityCreditTransferTransition)]
196
+ pub fn create_identity_credit_transfer_transition(
197
+ &self,
198
+ identity_id: &IdentifierWrapper,
199
+ recipient_id: &IdentifierWrapper,
200
+ amount: u64,
201
+ ) -> Result<IdentityCreditTransferTransitionWasm, JsValue> {
202
+ self.0
203
+ .create_identity_credit_transfer_transition(
204
+ identity_id.to_owned().into(),
205
+ recipient_id.to_owned().into(),
206
+ amount,
207
+ )
208
+ .map(Into::into)
209
+ .with_js_error()
210
+ }
211
+
194
212
  #[wasm_bindgen(js_name=createIdentityUpdateTransition)]
195
213
  pub fn create_identity_update_transition(
196
214
  &self,