@dashevo/wasm-dpp 0.25.0-dev.8 → 0.25.0-pr.1545.2

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 (329) hide show
  1. package/Cargo.toml +34 -7
  2. package/README.md +12 -7
  3. package/dist/errors/patchConsensusErrors.js +94 -115
  4. package/dist/wasm/wasm_dpp.d.ts +2302 -4106
  5. package/dist/wasm/wasm_dpp.js +18149 -2639
  6. package/dist/wasm/wasm_dpp_bg.js +1 -1
  7. package/lib/bls/bls.js +48 -0
  8. package/lib/dpp.ts +1 -1
  9. package/lib/errors/patchConsensusErrors.ts +94 -93
  10. package/lib/test/bootstrap.js +5 -0
  11. package/lib/test/fixtures/getChainAssetLockProofFixture.js +20 -1
  12. package/lib/test/fixtures/getDataContractFixture.js +13 -9
  13. package/lib/test/fixtures/getDocumentTransitionsFixture.js +31 -1
  14. package/lib/test/fixtures/getDocumentsFixture.js +9 -5
  15. package/lib/test/fixtures/getIdentityCreateTransitionFixture.js +14 -20
  16. package/lib/test/fixtures/getIdentityCreditTransferTransitionFixture.js +14 -0
  17. package/lib/test/fixtures/getIdentityFixture.js +21 -32
  18. package/lib/test/fixtures/getIdentityTopUpTransitionFixture.js +7 -10
  19. package/lib/test/fixtures/getIdentityUpdateTransitionFixture.js +13 -28
  20. package/lib/test/fixtures/getInstantAssetLockProofFixture.js +32 -12
  21. package/lib/test/fixtures/getPrivateAndPublicKeyForSigningFixture.js +7 -9
  22. package/lib/test/mocks/createStateRepositoryMock.js +1 -0
  23. package/lib/test/mocks/getBlsAdapterMock.js +1 -1
  24. package/lib/utils/creditsConverter.js +14 -0
  25. package/lib/utils/hash.js +18 -0
  26. package/lib/wasm/wasm_dpp.d.ts +2302 -4106
  27. package/package.json +4 -6
  28. package/scripts/build-wasm.sh +30 -29
  29. package/src/bls_adapter.rs +1 -1
  30. package/src/dash_platform_protocol.rs +169 -192
  31. package/src/data_contract/data_contract.rs +309 -199
  32. package/src/data_contract/data_contract_facade.rs +28 -47
  33. package/src/data_contract/errors/mod.rs +1 -0
  34. package/src/data_contract/mod.rs +2 -2
  35. package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +92 -79
  36. package/src/data_contract/state_transition/data_contract_update_transition/mod.rs +84 -77
  37. package/src/data_contract_factory/data_contract_factory.rs +43 -83
  38. package/src/document/document_facade.rs +81 -76
  39. package/src/document/errors/document_already_exists_error.rs +6 -6
  40. package/src/document/errors/document_no_revision_error.rs +1 -0
  41. package/src/document/errors/document_not_provided_error.rs +6 -6
  42. package/src/document/errors/invalid_document_action_error.rs +11 -7
  43. package/src/document/errors/invalid_document_error.rs +5 -0
  44. package/src/document/errors/invalid_initial_revision_error.rs +4 -4
  45. package/src/document/errors/mismatch_owners_ids_error.rs +5 -8
  46. package/src/document/errors/mod.rs +5 -0
  47. package/src/document/errors/revision_absent_error.rs +6 -6
  48. package/src/document/errors/trying_to_delete_immutable_document_error.rs +19 -0
  49. package/src/document/errors/trying_to_replace_immutable_document_error.rs +4 -4
  50. package/src/document/extended_document.rs +91 -76
  51. package/src/document/factory.rs +140 -119
  52. package/src/document/generate_document_id.rs +2 -2
  53. package/src/document/mod.rs +164 -150
  54. package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +236 -229
  55. package/src/document/state_transition/document_batch_transition/document_transition/document_delete_transition.rs +14 -14
  56. package/src/document/state_transition/document_batch_transition/document_transition/document_replace_transition.rs +50 -38
  57. package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +164 -152
  58. package/src/document/state_transition/document_batch_transition/mod.rs +232 -222
  59. package/src/errors/consensus/basic/data_contract/data_contract_have_new_unique_index_error.rs +2 -9
  60. package/src/errors/consensus/basic/data_contract/data_contract_immutable_properties_update_error.rs +1 -9
  61. package/src/errors/consensus/basic/data_contract/data_contract_invalid_index_definition_update_error.rs +2 -10
  62. package/src/errors/consensus/basic/data_contract/data_contract_max_depth_exceed_error.rs +1 -9
  63. package/src/errors/consensus/basic/data_contract/data_contract_unique_indices_changed_error.rs +1 -9
  64. package/src/errors/consensus/basic/data_contract/duplicate_index_name_error.rs +1 -9
  65. package/src/errors/consensus/basic/data_contract/incompatible_data_contract_schema_error.rs +1 -9
  66. package/src/errors/consensus/basic/data_contract/incompatible_re2_pattern_error.rs +1 -9
  67. package/src/errors/consensus/basic/data_contract/index_error/duplicate_index_error.rs +1 -9
  68. package/src/errors/consensus/basic/data_contract/index_error/invalid_compound_index_error.rs +1 -9
  69. package/src/errors/consensus/basic/data_contract/index_error/invalid_index_property_type_error.rs +1 -9
  70. package/src/errors/consensus/basic/data_contract/index_error/invalid_indexed_property_constraint_error.rs +1 -9
  71. package/src/errors/consensus/basic/data_contract/index_error/system_property_index_already_present_error.rs +1 -9
  72. package/src/errors/consensus/basic/data_contract/index_error/undefined_index_property_error.rs +1 -9
  73. package/src/errors/consensus/basic/data_contract/index_error/unique_indices_limit_reached_error.rs +1 -9
  74. package/src/errors/consensus/basic/data_contract/invalid_data_contract_id_error.rs +1 -9
  75. package/src/errors/consensus/basic/data_contract/invalid_data_contract_version_error.rs +1 -9
  76. package/src/errors/consensus/basic/data_contract/invalid_json_schema_ref_error.rs +1 -9
  77. package/src/errors/consensus/basic/decode/protocol_version_parsing_error.rs +10 -7
  78. package/src/errors/consensus/basic/decode/serialized_object_parsing_error.rs +1 -9
  79. package/src/errors/consensus/basic/document/data_contract_not_present_error.rs +1 -9
  80. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_ids_error.rs +1 -9
  81. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_indices_error.rs +1 -9
  82. package/src/errors/consensus/basic/document/inconsistent_compound_index_data_error.rs +1 -9
  83. package/src/errors/consensus/basic/document/invalid_document_transition_action_error.rs +1 -9
  84. package/src/errors/consensus/basic/document/invalid_document_transition_id_error.rs +1 -9
  85. package/src/errors/consensus/basic/document/invalid_document_type_error.rs +1 -9
  86. package/src/errors/consensus/basic/document/missing_data_contract_id_error.rs +1 -9
  87. package/src/errors/consensus/basic/document/missing_document_transition_action_error.rs +1 -9
  88. package/src/errors/consensus/basic/document/missing_document_transition_type_error.rs +1 -9
  89. package/src/errors/consensus/basic/document/missing_document_type_error.rs +1 -9
  90. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_error.rs +1 -9
  91. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_error.rs +1 -9
  92. package/src/errors/consensus/basic/identity/identity_asset_lock_proof_locked_transaction_mismatch_error.rs +3 -11
  93. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_is_not_found_error.rs +1 -9
  94. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs +2 -10
  95. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs +1 -9
  96. package/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +5 -11
  97. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_core_chain_height_error.rs +1 -9
  98. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_transaction_height_error.rs +1 -9
  99. package/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size_error.rs +1 -9
  100. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_proof_chain_lock_validation_error.rs +1 -1
  101. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs +1 -9
  102. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs +1 -9
  103. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_core_fee_error.rs +1 -9
  104. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_output_script_error.rs +1 -9
  105. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_pooling_error.rs +1 -9
  106. package/src/errors/consensus/basic/identity/invalid_identity_key_signature_error.rs +1 -9
  107. package/src/errors/consensus/basic/identity/invalid_identity_public_key_data_error.rs +1 -9
  108. package/src/errors/consensus/basic/identity/invalid_identity_public_key_security_level_error.rs +1 -9
  109. package/src/errors/consensus/basic/identity/invalid_identity_public_key_type_error.rs +1 -9
  110. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs +1 -9
  111. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_signature_error.rs +1 -9
  112. package/src/errors/consensus/basic/identity/missing_master_public_key_error.rs +1 -9
  113. package/src/errors/consensus/basic/identity/missing_public_key_error.rs +1 -9
  114. package/src/errors/consensus/basic/incompatible_protocol_version_error.rs +1 -9
  115. package/src/errors/consensus/basic/invalid_identifier_error.rs +1 -9
  116. package/src/errors/consensus/basic/invalid_signature_public_key_security_level_error.rs +7 -15
  117. package/src/errors/consensus/basic/invalid_state_transition_signature_error.rs +1 -9
  118. package/src/errors/consensus/basic/json_schema_compilation_error.rs +1 -9
  119. package/src/errors/consensus/basic/json_schema_error.rs +33 -11
  120. package/src/errors/consensus/basic/mod.rs +2 -0
  121. package/src/errors/consensus/basic/public_key_is_disabled_error.rs +1 -9
  122. package/src/errors/consensus/basic/public_key_security_level_not_met_error.rs +2 -11
  123. package/src/errors/consensus/basic/state_transition/invalid_state_transition_type_error.rs +1 -9
  124. package/src/errors/consensus/basic/state_transition/missing_state_transition_type_error.rs +1 -9
  125. package/src/errors/consensus/basic/state_transition/state_transition_max_size_exceeded_error.rs +1 -9
  126. package/src/errors/consensus/basic/unsupported_protocol_version_error.rs +1 -9
  127. package/src/errors/consensus/basic/unsupported_version_error.rs +44 -0
  128. package/src/errors/consensus/basic/wrong_public_key_purpose_error.rs +1 -9
  129. package/src/errors/consensus/consensus_error.rs +44 -21
  130. package/src/errors/consensus/deserialize.rs +2 -1
  131. package/src/errors/consensus/fee/balance_is_not_enough_error.rs +5 -2
  132. package/src/errors/consensus/signature/basic_bls_error.rs +1 -9
  133. package/src/errors/consensus/signature/basic_ecdsa_error.rs +1 -9
  134. package/src/errors/consensus/signature/identity_not_found_error.rs +4 -2
  135. package/src/errors/consensus/signature/signature_should_not_be_present_error.rs +1 -9
  136. package/src/errors/consensus/state/data_contract/data_contract_already_present_error.rs +3 -2
  137. package/src/errors/consensus/state/data_contract/data_contract_config_update_error.rs +42 -0
  138. package/src/errors/consensus/state/data_contract/data_contract_is_readonly_error.rs +44 -0
  139. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_condition_error.rs +2 -1
  140. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_execution_error.rs +2 -1
  141. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_invalid_result_error.rs +2 -1
  142. package/src/errors/consensus/state/data_contract/mod.rs +7 -1
  143. package/src/errors/consensus/state/document/document_already_present_error.rs +1 -9
  144. package/src/errors/consensus/state/document/document_not_found_error.rs +1 -9
  145. package/src/errors/consensus/state/document/document_owner_id_mismatch_error.rs +1 -9
  146. package/src/errors/consensus/state/document/document_timestamp_window_violation_error.rs +1 -9
  147. package/src/errors/consensus/state/document/document_timestamps_are_equal_error.rs +34 -0
  148. package/src/errors/consensus/state/document/document_timestamps_mismatch_error.rs +1 -9
  149. package/src/errors/consensus/state/document/duplicate_unique_index_error.rs +1 -9
  150. package/src/errors/consensus/state/document/invalid_document_revision_error.rs +9 -12
  151. package/src/errors/consensus/state/document/mod.rs +2 -0
  152. package/src/errors/consensus/state/identity/duplicated_identity_public_key_id_state_error.rs +1 -9
  153. package/src/errors/consensus/state/identity/duplicated_identity_public_key_state_error.rs +1 -9
  154. package/src/errors/consensus/state/identity/identity_already_exists_error.rs +1 -9
  155. package/src/errors/consensus/state/identity/identity_public_key_disabled_at_window_violation_error.rs +1 -9
  156. package/src/errors/consensus/state/identity/identity_public_key_is_disabled_error.rs +1 -9
  157. package/src/errors/consensus/state/identity/identity_public_key_is_read_only_error.rs +1 -9
  158. package/src/errors/consensus/state/identity/invalid_identity_public_key_id_error.rs +2 -9
  159. package/src/errors/consensus/state/identity/invalid_identity_revision_error.rs +1 -9
  160. package/src/errors/consensus/state/identity/max_identity_public_key_limit_reached_error.rs +1 -9
  161. package/src/errors/consensus/value_error.rs +1 -9
  162. package/src/errors/from.rs +12 -8
  163. package/src/errors/mod.rs +7 -7
  164. package/src/errors/value_error.rs +5 -0
  165. package/src/identity/errors/asset_lock_transaction_is_not_found_error.rs +1 -2
  166. package/src/identity/factory_utils.rs +13 -13
  167. package/src/identity/identity.rs +275 -0
  168. package/src/identity/identity_facade.rs +94 -75
  169. package/src/identity/identity_factory.rs +74 -54
  170. package/src/identity/identity_public_key/mod.rs +87 -64
  171. package/src/identity/mod.rs +25 -247
  172. package/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof.rs +32 -17
  173. package/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof_structure_validator.rs +0 -1
  174. package/src/identity/state_transition/asset_lock_proof/chain/mod.rs +3 -1
  175. package/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs +24 -15
  176. package/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof_structure_validator.rs +0 -1
  177. package/src/identity/state_transition/asset_lock_proof/instant/mod.rs +3 -1
  178. package/src/identity/state_transition/asset_lock_proof/mod.rs +124 -127
  179. package/src/identity/state_transition/identity_create_transition/identity_create_transition.rs +72 -65
  180. package/src/identity/state_transition/identity_create_transition/identity_create_transition_basic_validator.rs +0 -1
  181. package/src/identity/state_transition/identity_create_transition/mod.rs +3 -3
  182. package/src/identity/state_transition/identity_create_transition/to_object.rs +11 -12
  183. package/src/identity/state_transition/identity_credit_transfer_transition/apply_identity_credit_transfer_transition.rs +31 -0
  184. package/src/identity/state_transition/identity_credit_transfer_transition/identity_credit_transfer_transition_basic_validator.rs +66 -0
  185. package/src/identity/state_transition/identity_credit_transfer_transition/identity_credit_transfer_transition_state_validator.rs +44 -0
  186. package/src/identity/state_transition/identity_credit_transfer_transition/mod.rs +8 -0
  187. package/src/identity/state_transition/identity_credit_transfer_transition/to_object.rs +49 -0
  188. package/src/identity/state_transition/identity_credit_transfer_transition/transition.rs +344 -0
  189. package/src/identity/state_transition/identity_public_key_transitions.rs +89 -75
  190. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition.rs +68 -62
  191. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition_basic_validator.rs +0 -2
  192. package/src/identity/state_transition/identity_topup_transition/mod.rs +3 -3
  193. package/src/identity/state_transition/identity_topup_transition/to_object.rs +9 -12
  194. package/src/identity/state_transition/identity_update_transition/identity_update_public_keys_validator.rs +2 -2
  195. package/src/identity/state_transition/identity_update_transition/identity_update_transition.rs +99 -104
  196. package/src/identity/state_transition/identity_update_transition/mod.rs +4 -4
  197. package/src/identity/state_transition/identity_update_transition/to_object.rs +15 -19
  198. package/src/identity/state_transition/mod.rs +5 -2
  199. package/src/identity/state_transition/transition_types.rs +34 -0
  200. package/src/identity/state_transition/validate_public_key_signatures.rs +2 -2
  201. package/src/lib.rs +9 -10
  202. package/src/metadata.rs +3 -3
  203. package/src/protocol_version.rs +7 -0
  204. package/src/state_transition/conversion.rs +11 -1
  205. package/src/state_transition/errors/invalid_state_transition_error.rs +12 -1
  206. package/src/state_transition/fee/operations/pre_calculated_operation.rs +2 -1
  207. package/src/state_transition/mod.rs +137 -139
  208. package/src/state_transition/state_transition_facade.rs +11 -11
  209. package/src/state_transition/state_transition_factory.rs +142 -153
  210. package/src/state_transition/validation/state_transition_fee_validator.rs +1 -1
  211. package/src/state_transition/validation/validate_state_transition_identity_signature.rs +28 -10
  212. package/src/state_transition/validation/validate_state_transition_key_signature.rs +1 -1
  213. package/src/utils.rs +7 -8
  214. package/src/validation/mod.rs +2 -2
  215. package/src/validation/validation_result.rs +17 -15
  216. package/test/integration/dataContract/DataContractFacade.spec.js +25 -32
  217. package/test/integration/dataContract/stateTransition/DataContractCreateTransition/validation/basic/validateDataContractCreateTransitionBasicFactory.spec.js +6 -6
  218. package/test/integration/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateDataContractUpdateTransitionBasicFactory.spec.js +11 -10
  219. package/test/integration/dataContract/validation/validateDataContractFactory.spec.js +3 -3
  220. package/test/integration/document/Document.spec.js +3 -3
  221. package/test/integration/document/DocumentFacade.spec.js +33 -48
  222. package/test/integration/document/stateTransition/DocumentsBatchTransition/DocumentBatchTransition.spec.js +13 -24
  223. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/basic/validateDocumentsBatchTransitionBasicFactory.spec.js +15 -15
  224. package/test/integration/document/validation/validateDocumentFactory.spec.js +3 -3
  225. package/test/integration/identity/IdentityFacade.spec.js +33 -63
  226. package/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js +6 -8
  227. package/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js +4 -7
  228. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/basic/validateIdentityUpdateTransitionBasicFactory.spec.js +1 -1
  229. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory.spec.js +21 -24
  230. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validatePublicKeysState.spec.js +2 -2
  231. package/test/integration/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory.spec.js +4 -4
  232. package/test/integration/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory.spec.js +7 -10
  233. package/test/integration/identity/stateTransition/assetLockProof/instant/validateInstantAssetLockProofStructureFactory.spec.js +5 -6
  234. package/test/integration/identity/stateTransition/assetLockProof/validateAssetLockTransactionFactory.spec.js +6 -6
  235. package/test/integration/identity/stateTransition/validatePublicKeySignaturesFactory.spec.js +5 -9
  236. package/test/integration/identity/validation/validateIdentityFactory.spec.js +7 -6
  237. package/test/integration/identity/validation/validatePublicKeysFactory.spec.js +5 -25
  238. package/test/integration/stateTransition/StateTransitionFacade.spec.js +45 -58
  239. package/test/integration/util/generateTemporaryEcdsaPrivateKey.spec.js +1 -1
  240. package/test/unit/DashPlatformProtocol.spec.js +10 -25
  241. package/test/unit/dataContract/DataContract.spec.js +119 -148
  242. package/test/unit/dataContract/DataContractFactory.spec.js +42 -31
  243. package/test/unit/dataContract/createDataContract.spec.js +6 -6
  244. package/test/unit/dataContract/generateDataContractId.spec.js +1 -1
  245. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition.spec.js +34 -26
  246. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory.spec.js +10 -9
  247. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +34 -27
  248. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateIndicesAreBackwardCompatible.spec.js +5 -5
  249. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory.spec.js +11 -10
  250. package/test/unit/dataContract/validation/validateDataContractPatterns.spec.js +7 -7
  251. package/test/unit/document/Document.spec.js +59 -70
  252. package/test/unit/document/DocumentFactory.spec.js +46 -111
  253. package/test/unit/document/errors/InvalidDocumentError.spec.js +9 -9
  254. package/test/unit/document/fetchAndValidateDataContractFactory.spec.js +1 -1
  255. package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +160 -158
  256. package/test/unit/document/stateTransition/DocumetsBatchTransition/documentTransition/DocumentCreateTransition.spec.js +1 -1
  257. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesById.spec.js +1 -1
  258. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js +134 -136
  259. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/validatePartialCompoundIndices.spec.js +4 -4
  260. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsBatchTransitionStateFactory.spec.js +572 -595
  261. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsUniquenessByIndicesFactory.spec.js +6 -14
  262. package/test/unit/identity/Identity.spec.js +48 -83
  263. package/test/unit/identity/IdentityFactory.spec.js +61 -75
  264. package/test/unit/identity/IdentityPublicKey.spec.js +34 -48
  265. package/test/unit/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition.spec.js +30 -63
  266. package/test/unit/identity/stateTransition/IdentityCreateTransition/validation/state/validateIdentityCreateTransitionStateFactory.spec.js +5 -9
  267. package/test/unit/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition.spec.js +13 -35
  268. package/test/unit/identity/stateTransition/IdentityTopUpTransition/validation/state/validateIdentityTopUpTransitionStateFactory.spec.js +5 -9
  269. package/test/unit/identity/stateTransition/IdentityUpdateTransition/IdentityUpdateTransition.spec.js +24 -46
  270. package/test/unit/identity/stateTransition/assetLockProof/ChainAssetLockProof.spec.js +9 -28
  271. package/test/unit/identity/stateTransition/assetLockProof/InstantAssetLockProof.spec.js +19 -27
  272. package/test/unit/identity/stateTransition/identityCreditTransferTransition/identityCreditTransferTransition.spec.js +130 -0
  273. package/test/unit/stateTransition/StateTransitionExecutionContext.spec.js +1 -1
  274. package/test/unit/stateTransition/StateTransitionFactory.spec.js +16 -22
  275. package/test/unit/stateTransition/createStateTransitionFactory.spec.js +43 -21
  276. package/test/unit/stateTransition/validation/validateStateTransitionBasicFactory.spec.js +3 -3
  277. package/test/unit/stateTransition/validation/validateStateTransitionFeeFactory.spec.js +5 -17
  278. package/test/unit/stateTransition/validation/validateStateTransitionIdentitySignatureFactory.spec.js +9 -5
  279. package/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js +8 -14
  280. package/test/unit/stateTransition/validation/validateStateTransitionStateFactory.spec.js +1 -1
  281. package/test/unit/version/validateProtocolVersionFactory.spec.js +1 -1
  282. package/test-d/index.test-d.ts +2 -2
  283. package/lib/test/fixtures/getDashPayContractFixture.js +0 -1
  284. package/lib/test/fixtures/getDashPayDocumentFixture.js +0 -1
  285. package/lib/test/fixtures/getDpnsContractFixture.js +0 -1
  286. package/lib/test/fixtures/getDpnsDocumentFixture.js +0 -1
  287. package/lib/test/fixtures/getFeatureFlagsContractFixture.js +0 -1
  288. package/lib/test/fixtures/getFeatureFlagsDocumentsFixture.js +0 -1
  289. package/lib/test/fixtures/getIdentityTopUpTransitionFixtureJs.js +0 -1
  290. package/lib/test/fixtures/getMasternodeRewardShareDocumentsFixture.js +0 -1
  291. package/lib/test/fixtures/getMasternodeRewardSharesContractFixture.js +0 -1
  292. package/lib/test/fixtures/getPreorderDocumentFixture.js +0 -1
  293. package/lib/test/fixtures/getRawTransactionFixture.js +0 -1
  294. package/src/data_contract/state_transition/data_contract_create_transition/apply.rs +0 -45
  295. package/src/data_contract/state_transition/data_contract_update_transition/apply.rs +0 -49
  296. package/src/decode_protocol_entity.rs +0 -25
  297. package/src/document/state_transition/document_batch_transition/apply_document_batch_transition.rs +0 -25
  298. package/test/integration/DashPlatformProtocol.spec.js +0 -53
  299. package/test/integration/ajv/keywords/byteArray/addByteArrayKeyword.spec.js +0 -148
  300. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/state/executeDataTriggersFactory.spec.js +0 -195
  301. package/test/integration/stateTransition/AbstractStateTransitionIdentitySigned.spec.js +0 -500
  302. package/test/integration/stateTransition/calculateStateTransitionFeeFromOperationsFactory.spec.js +0 -53
  303. package/test/integration/util/generateEntropy.spec.js +0 -17
  304. package/test/integration/util/serializer.spec.js +0 -24
  305. package/test/unit/dataContract/getBinaryPropertiesFromSchema.spec.js +0 -103
  306. package/test/unit/dataContract/getPropertyDefinitionByPath.spec.js +0 -84
  307. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory.spec.js +0 -47
  308. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory.spec.js +0 -49
  309. package/test/unit/dataTrigger/DataTrigger.spec.js +0 -132
  310. package/test/unit/dataTrigger/DataTriggerExecutionContext.spec.js +0 -29
  311. package/test/unit/dataTrigger/dashpayDataTriggers/createContactRequestDataTrigger.spec.js +0 -107
  312. package/test/unit/dataTrigger/dpnsTriggers/createDomainDataTrigger.spec.js +0 -382
  313. package/test/unit/dataTrigger/featureFlagDataTriggers/createFeatureFlagDataTrigger.spec.js +0 -99
  314. package/test/unit/dataTrigger/getDataTriggersFactory.spec.js +0 -113
  315. package/test/unit/dataTrigger/rejectDataTrigger.spec.js +0 -51
  316. package/test/unit/dataTrigger/rewardShareDataTriggers/createMasternodeRewardSharesDataTrigger.spec.js +0 -202
  317. package/test/unit/decodeProtocolEntityFactory.spec.js +0 -69
  318. package/test/unit/document/stateTransition/DocumetsBatchTransition/applyDocumentsBatchTransitionFactory.spec.js +0 -257
  319. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/fetchDocumentsFactory.spec.js +0 -94
  320. package/test/unit/errors/consensus/codes.spec.js +0 -102
  321. package/test/unit/identity/creditsConverter.spec.js +0 -34
  322. package/test/unit/identity/errors/InvalidIdentityError.spec.js +0 -46
  323. package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +0 -89
  324. package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +0 -142
  325. package/test/unit/identity/stateTransition/IdentityUpdateTransition/applyIdentityUpdateTransitionFactory.spec.js +0 -100
  326. package/test/unit/identity/stateTransition/assetLockProof/createAssetLockProofInstance.spec.js +0 -36
  327. package/test/unit/identity/stateTransition/assetLockProof/fetchAssetLockPublicKeyHashFactory.spec.js +0 -63
  328. package/test/unit/identity/validation/validateRequiredPurposeAndSecurityLevelFactory.spec.js +0 -47
  329. package/test/unit/stateTransition/errors/InvalidStateTransitionError.spec.js +0 -51
@@ -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::PlatformSerializable;
7
8
  use wasm_bindgen::prelude::*;
8
9
 
9
10
  #[wasm_bindgen(js_name=DataTriggerConditionError)]
@@ -47,7 +48,7 @@ impl DataTriggerConditionErrorWasm {
47
48
  #[wasm_bindgen(js_name=serialize)]
48
49
  pub fn serialize(&self) -> Result<Buffer, JsError> {
49
50
  let bytes = ConsensusError::from(self.inner.clone())
50
- .serialize()
51
+ .serialize_to_bytes()
51
52
  .map_err(JsError::from)?;
52
53
 
53
54
  Ok(Buffer::from_bytes(bytes.as_slice()))
@@ -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::PlatformSerializable;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
8
9
  #[wasm_bindgen(js_name=DataTriggerExecutionError)]
@@ -46,7 +47,7 @@ impl DataTriggerExecutionErrorWasm {
46
47
  #[wasm_bindgen(js_name=serialize)]
47
48
  pub fn serialize(&self) -> Result<Buffer, JsError> {
48
49
  let bytes = ConsensusError::from(self.inner.clone())
49
- .serialize()
50
+ .serialize_to_bytes()
50
51
  .map_err(JsError::from)?;
51
52
 
52
53
  Ok(Buffer::from_bytes(bytes.as_slice()))
@@ -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::PlatformSerializable;
7
8
  use wasm_bindgen::prelude::*;
8
9
 
9
10
  #[wasm_bindgen(js_name=DataTriggerInvalidResultError)]
@@ -42,7 +43,7 @@ impl DataTriggerInvalidResultErrorWasm {
42
43
  #[wasm_bindgen(js_name=serialize)]
43
44
  pub fn serialize(&self) -> Result<Buffer, JsError> {
44
45
  let bytes = ConsensusError::from(self.inner.clone())
45
- .serialize()
46
+ .serialize_to_bytes()
46
47
  .map_err(JsError::from)?;
47
48
 
48
49
  Ok(Buffer::from_bytes(bytes.as_slice()))
@@ -1,4 +1,10 @@
1
1
  mod data_contract_already_present_error;
2
- pub mod data_trigger;
2
+ mod data_contract_config_update_error;
3
+ mod data_contract_is_readonly_error;
4
+
5
+ // TODO(versioning): remove
6
+ // pub mod data_trigger;
3
7
 
4
8
  pub use data_contract_already_present_error::*;
9
+ pub use data_contract_config_update_error::*;
10
+ 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::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=DocumentAlreadyPresentError)]
@@ -31,13 +32,4 @@ impl DocumentAlreadyPresentErrorWasm {
31
32
  pub fn message(&self) -> String {
32
33
  self.inner.to_string()
33
34
  }
34
-
35
- #[wasm_bindgen(js_name=serialize)]
36
- pub fn serialize(&self) -> Result<Buffer, JsError> {
37
- let bytes = ConsensusError::from(self.inner.clone())
38
- .serialize()
39
- .map_err(JsError::from)?;
40
-
41
- Ok(Buffer::from_bytes(bytes.as_slice()))
42
- }
43
35
  }
@@ -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::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=DocumentNotFoundError)]
@@ -31,13 +32,4 @@ impl DocumentNotFoundErrorWasm {
31
32
  pub fn message(&self) -> String {
32
33
  self.inner.to_string()
33
34
  }
34
-
35
- #[wasm_bindgen(js_name=serialize)]
36
- pub fn serialize(&self) -> Result<Buffer, JsError> {
37
- let bytes = ConsensusError::from(self.inner.clone())
38
- .serialize()
39
- .map_err(JsError::from)?;
40
-
41
- Ok(Buffer::from_bytes(bytes.as_slice()))
42
- }
43
35
  }
@@ -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::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=DocumentOwnerIdMismatchError)]
@@ -41,13 +42,4 @@ impl DocumentOwnerIdMismatchErrorWasm {
41
42
  pub fn message(&self) -> String {
42
43
  self.inner.to_string()
43
44
  }
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
45
  }
@@ -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::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=DocumentTimestampWindowViolationError)]
@@ -57,13 +58,4 @@ impl DocumentTimestampWindowViolationErrorWasm {
57
58
  pub fn message(&self) -> String {
58
59
  self.inner.to_string()
59
60
  }
60
-
61
- #[wasm_bindgen(js_name=serialize)]
62
- pub fn serialize(&self) -> Result<Buffer, JsError> {
63
- let bytes = ConsensusError::from(self.inner.clone())
64
- .serialize()
65
- .map_err(JsError::from)?;
66
-
67
- Ok(Buffer::from_bytes(bytes.as_slice()))
68
- }
69
61
  }
@@ -0,0 +1,34 @@
1
+ use crate::buffer::Buffer;
2
+ use dpp::consensus::codes::ErrorWithCode;
3
+ use dpp::consensus::state::document::document_timestamps_are_equal_error::DocumentTimestampsAreEqualError;
4
+ use dpp::consensus::ConsensusError;
5
+ use dpp::serialization::PlatformSerializable;
6
+ use wasm_bindgen::prelude::*;
7
+
8
+ #[wasm_bindgen(js_name=DocumentTimestampsAreEqualError)]
9
+ pub struct DocumentTimestampsAreEqualErrorWasm {
10
+ inner: DocumentTimestampsAreEqualError,
11
+ }
12
+
13
+ impl From<&DocumentTimestampsAreEqualError> for DocumentTimestampsAreEqualErrorWasm {
14
+ fn from(e: &DocumentTimestampsAreEqualError) -> Self {
15
+ Self { inner: e.clone() }
16
+ }
17
+ }
18
+ #[wasm_bindgen(js_class=DocumentTimestampsAreEqualError)]
19
+ impl DocumentTimestampsAreEqualErrorWasm {
20
+ #[wasm_bindgen(js_name=getDocumentId)]
21
+ pub fn document_id(&self) -> Buffer {
22
+ Buffer::from_bytes(self.inner.document_id().as_bytes())
23
+ }
24
+
25
+ #[wasm_bindgen(js_name=getCode)]
26
+ pub fn get_code(&self) -> u32 {
27
+ ConsensusError::from(self.inner.clone()).code()
28
+ }
29
+
30
+ #[wasm_bindgen(getter)]
31
+ pub fn message(&self) -> String {
32
+ self.inner.to_string()
33
+ }
34
+ }
@@ -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::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=DocumentTimestampsMismatchError)]
@@ -30,13 +31,4 @@ impl DocumentTimestampsMismatchErrorWasm {
30
31
  pub fn message(&self) -> String {
31
32
  self.inner.to_string()
32
33
  }
33
-
34
- #[wasm_bindgen(js_name=serialize)]
35
- pub fn serialize(&self) -> Result<Buffer, JsError> {
36
- let bytes = ConsensusError::from(self.inner.clone())
37
- .serialize()
38
- .map_err(JsError::from)?;
39
-
40
- Ok(Buffer::from_bytes(bytes.as_slice()))
41
- }
42
34
  }
@@ -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::PlatformSerializable;
5
6
  use js_sys::JsString;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
@@ -41,13 +42,4 @@ impl DuplicateUniqueIndexErrorWasm {
41
42
  pub fn message(&self) -> String {
42
43
  self.inner.to_string()
43
44
  }
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
45
  }
@@ -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::PlatformSerializable;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
8
9
  #[wasm_bindgen(js_name=InvalidDocumentRevisionError)]
@@ -23,9 +24,14 @@ impl InvalidDocumentRevisionErrorWasm {
23
24
  Buffer::from_bytes(self.inner.document_id().as_bytes())
24
25
  }
25
26
 
26
- #[wasm_bindgen(js_name=getCurrentRevision)]
27
- pub fn current_revision(&self) -> Option<Revision> {
28
- *self.inner.current_revision()
27
+ #[wasm_bindgen(js_name=getPreviousRevision)]
28
+ pub fn previous_revision(&self) -> Option<Revision> {
29
+ *self.inner.previous_revision()
30
+ }
31
+
32
+ #[wasm_bindgen(js_name=getDesiredRevision)]
33
+ pub fn desired_revision(&self) -> Revision {
34
+ *self.inner.desired_revision()
29
35
  }
30
36
 
31
37
  #[wasm_bindgen(js_name=getCode)]
@@ -37,13 +43,4 @@ impl InvalidDocumentRevisionErrorWasm {
37
43
  pub fn message(&self) -> String {
38
44
  self.inner.to_string()
39
45
  }
40
-
41
- #[wasm_bindgen(js_name=serialize)]
42
- pub fn serialize(&self) -> Result<Buffer, JsError> {
43
- let bytes = ConsensusError::from(self.inner.clone())
44
- .serialize()
45
- .map_err(JsError::from)?;
46
-
47
- Ok(Buffer::from_bytes(bytes.as_slice()))
48
- }
49
46
  }
@@ -2,6 +2,7 @@ mod document_already_present_error;
2
2
  mod document_not_found_error;
3
3
  mod document_owner_id_mismatch_error;
4
4
  mod document_timestamp_window_violation_error;
5
+ mod document_timestamps_are_equal_error;
5
6
  mod document_timestamps_mismatch_error;
6
7
  mod duplicate_unique_index_error;
7
8
  mod invalid_document_revision_error;
@@ -10,6 +11,7 @@ pub use document_already_present_error::*;
10
11
  pub use document_not_found_error::*;
11
12
  pub use document_owner_id_mismatch_error::*;
12
13
  pub use document_timestamp_window_violation_error::*;
14
+ pub use document_timestamps_are_equal_error::*;
13
15
  pub use document_timestamps_mismatch_error::*;
14
16
  pub use duplicate_unique_index_error::*;
15
17
  pub use invalid_document_revision_error::*;
@@ -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::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=DuplicatedIdentityPublicKeyIdStateError)]
@@ -38,13 +39,4 @@ impl DuplicatedIdentityPublicKeyIdStateErrorWasm {
38
39
  pub fn message(&self) -> String {
39
40
  self.inner.to_string()
40
41
  }
41
-
42
- #[wasm_bindgen(js_name=serialize)]
43
- pub fn serialize(&self) -> Result<Buffer, JsError> {
44
- let bytes = ConsensusError::from(self.inner.clone())
45
- .serialize()
46
- .map_err(JsError::from)?;
47
-
48
- Ok(Buffer::from_bytes(bytes.as_slice()))
49
- }
50
42
  }
@@ -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::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=DuplicatedIdentityPublicKeyStateError)]
@@ -35,13 +36,4 @@ impl DuplicatedIdentityPublicKeyStateErrorWasm {
35
36
  pub fn message(&self) -> String {
36
37
  self.inner.to_string()
37
38
  }
38
-
39
- #[wasm_bindgen(js_name=serialize)]
40
- pub fn serialize(&self) -> Result<Buffer, JsError> {
41
- let bytes = ConsensusError::from(self.inner.clone())
42
- .serialize()
43
- .map_err(JsError::from)?;
44
-
45
- Ok(Buffer::from_bytes(bytes.as_slice()))
46
- }
47
39
  }
@@ -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::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=IdentityAlreadyExistsError)]
@@ -31,13 +32,4 @@ impl IdentityAlreadyExistsErrorWasm {
31
32
  pub fn message(&self) -> String {
32
33
  self.inner.to_string()
33
34
  }
34
-
35
- #[wasm_bindgen(js_name=serialize)]
36
- pub fn serialize(&self) -> Result<Buffer, JsError> {
37
- let bytes = ConsensusError::from(self.inner.clone())
38
- .serialize()
39
- .map_err(JsError::from)?;
40
-
41
- Ok(Buffer::from_bytes(bytes.as_slice()))
42
- }
43
35
  }
@@ -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::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=IdentityPublicKeyDisabledAtWindowViolationError)]
@@ -46,13 +47,4 @@ impl IdentityPublicKeyDisabledAtWindowViolationErrorWasm {
46
47
  pub fn message(&self) -> String {
47
48
  self.inner.to_string()
48
49
  }
49
-
50
- #[wasm_bindgen(js_name=serialize)]
51
- pub fn serialize(&self) -> Result<Buffer, JsError> {
52
- let bytes = ConsensusError::from(self.inner.clone())
53
- .serialize()
54
- .map_err(JsError::from)?;
55
-
56
- Ok(Buffer::from_bytes(bytes.as_slice()))
57
- }
58
50
  }
@@ -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::PlatformSerializable;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
8
9
  #[wasm_bindgen(js_name=IdentityPublicKeyIsDisabledError)]
@@ -32,13 +33,4 @@ impl IdentityPublicKeyIsDisabledErrorWasm {
32
33
  pub fn message(&self) -> String {
33
34
  self.inner.to_string()
34
35
  }
35
-
36
- #[wasm_bindgen(js_name=serialize)]
37
- pub fn serialize(&self) -> Result<Buffer, JsError> {
38
- let bytes = ConsensusError::from(self.inner.clone())
39
- .serialize()
40
- .map_err(JsError::from)?;
41
-
42
- Ok(Buffer::from_bytes(bytes.as_slice()))
43
- }
44
36
  }
@@ -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::PlatformSerializable;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
8
9
  #[wasm_bindgen(js_name=IdentityPublicKeyIsReadOnlyError)]
@@ -37,13 +38,4 @@ impl IdentityPublicKeyIsReadOnlyErrorWasm {
37
38
  pub fn message(&self) -> String {
38
39
  self.inner.to_string()
39
40
  }
40
-
41
- #[wasm_bindgen(js_name=serialize)]
42
- pub fn serialize(&self) -> Result<Buffer, JsError> {
43
- let bytes = ConsensusError::from(self.inner.clone())
44
- .serialize()
45
- .map_err(JsError::from)?;
46
-
47
- Ok(Buffer::from_bytes(bytes.as_slice()))
48
- }
49
41
  }
@@ -3,6 +3,8 @@ 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::{PlatformSerializable, PlatformSerializableWithPlatformVersion};
7
+ use dpp::version::PlatformVersion;
6
8
  use wasm_bindgen::prelude::*;
7
9
 
8
10
  #[wasm_bindgen(js_name=InvalidIdentityPublicKeyIdError)]
@@ -32,13 +34,4 @@ impl InvalidIdentityPublicKeyIdErrorWasm {
32
34
  pub fn message(&self) -> String {
33
35
  self.inner.to_string()
34
36
  }
35
-
36
- #[wasm_bindgen(js_name=serialize)]
37
- pub fn serialize(&self) -> Result<Buffer, JsError> {
38
- let bytes = ConsensusError::from(self.inner.clone())
39
- .serialize()
40
- .map_err(JsError::from)?;
41
-
42
- Ok(Buffer::from_bytes(bytes.as_slice()))
43
- }
44
37
  }
@@ -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::PlatformSerializable;
5
6
  use js_sys::Number;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
@@ -38,13 +39,4 @@ impl InvalidIdentityRevisionErrorWasm {
38
39
  pub fn message(&self) -> String {
39
40
  self.inner.to_string()
40
41
  }
41
-
42
- #[wasm_bindgen(js_name=serialize)]
43
- pub fn serialize(&self) -> Result<Buffer, JsError> {
44
- let bytes = ConsensusError::from(self.inner.clone())
45
- .serialize()
46
- .map_err(JsError::from)?;
47
-
48
- Ok(Buffer::from_bytes(bytes.as_slice()))
49
- }
50
42
  }
@@ -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::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=MaxIdentityPublicKeyLimitReachedError)]
@@ -32,13 +33,4 @@ impl MaxIdentityPublicKeyLimitReachedErrorWasm {
32
33
  pub fn message(&self) -> String {
33
34
  self.inner.to_string()
34
35
  }
35
-
36
- #[wasm_bindgen(js_name=serialize)]
37
- pub fn serialize(&self) -> Result<Buffer, JsError> {
38
- let bytes = ConsensusError::from(self.inner.clone())
39
- .serialize()
40
- .map_err(JsError::from)?;
41
-
42
- Ok(Buffer::from_bytes(bytes.as_slice()))
43
- }
44
36
  }
@@ -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::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=ValueError, inspectable)]
@@ -32,13 +33,4 @@ impl ValueErrorWasm {
32
33
  pub fn message(&self) -> String {
33
34
  self.inner.to_string()
34
35
  }
35
-
36
- #[wasm_bindgen(js_name=serialize)]
37
- pub fn serialize(&self) -> Result<Buffer, JsError> {
38
- let bytes = ConsensusError::from(self.inner.clone())
39
- .serialize()
40
- .map_err(JsError::from)?;
41
-
42
- Ok(Buffer::from_bytes(bytes.as_slice()))
43
- }
44
36
  }
@@ -5,6 +5,7 @@ use dpp::errors::ProtocolError;
5
5
 
6
6
  use crate::data_contract::errors::from_data_contract_to_js_error;
7
7
  use crate::document::errors::from_document_to_js_error;
8
+ // use crate::document::errors::from_document_to_js_error;
8
9
  use crate::errors::value_error::PlatformValueErrorWasm;
9
10
 
10
11
  use super::data_contract_not_present_error::DataContractNotPresentNotConsensusErrorWasm;
@@ -12,19 +13,20 @@ use crate::errors::consensus::consensus_error::from_consensus_error;
12
13
 
13
14
  pub fn from_dpp_err(pe: ProtocolError) -> JsValue {
14
15
  match pe {
16
+ // TODO(versioning): restore this
15
17
  ProtocolError::ConsensusError(consensus_error) => from_consensus_error(*consensus_error),
16
18
  ProtocolError::DataContractError(e) => from_data_contract_to_js_error(e),
17
19
 
18
20
  ProtocolError::Document(e) => from_document_to_js_error(*e),
19
21
 
20
- ProtocolError::ParsingJsonError(err) => format!(
21
- "Parsing error at line {}, column {}: {}",
22
- err.line(),
23
- err.column(),
24
- err
25
- )
26
- .into(),
27
-
22
+ // ProtocolError::ParsingJsonError(err) => format!(
23
+ // "Parsing error at line {}, column {}: {}",
24
+ // err.line(),
25
+ // err.column(),
26
+ // err
27
+ // )
28
+ // .into(),
29
+ //
28
30
  ProtocolError::DataContractNotPresentError(err) => {
29
31
  DataContractNotPresentNotConsensusErrorWasm::new(err.data_contract_id()).into()
30
32
  }
@@ -38,5 +40,7 @@ pub fn from_dpp_init_error(e: DashPlatformProtocolInitError) -> JsValue {
38
40
  DashPlatformProtocolInitError::SchemaDeserializationError(e) => e.to_string().into(),
39
41
  DashPlatformProtocolInitError::ValidationError(e) => e.to_string().into(),
40
42
  DashPlatformProtocolInitError::InvalidSchemaError(e) => e.to_string().into(),
43
+ // TODO(versioning): add rest erros
44
+ _ => JsValue::from_str(&format!("Error conversion not implemented: {e:#}",)),
41
45
  }
42
46
  }
package/src/errors/mod.rs CHANGED
@@ -6,12 +6,12 @@ pub mod consensus;
6
6
  mod from;
7
7
  mod js_conversion;
8
8
  pub mod protocol_error;
9
- mod public_key_validation_error;
10
-
11
- pub use public_key_validation_error::*;
12
-
13
- mod compatible_protocol_version_is_not_defined_error;
9
+ // mod public_key_validation_error;
10
+ //
11
+ // pub use public_key_validation_error::*;
12
+ //
13
+ // mod compatible_protocol_version_is_not_defined_error;
14
14
  pub mod data_contract_not_present_error;
15
- pub mod dpp_error;
15
+ // pub mod dpp_error;
16
16
  pub mod value_error;
17
- pub use compatible_protocol_version_is_not_defined_error::*;
17
+ // pub use compatible_protocol_version_is_not_defined_error::*;
@@ -29,4 +29,9 @@ impl PlatformValueErrorWasm {
29
29
  pub fn to_string(&self) -> String {
30
30
  format!("PlatformValueError: {}", self.message)
31
31
  }
32
+
33
+ #[wasm_bindgen(js_name=valueOf)]
34
+ pub fn value_of(&self) -> String {
35
+ self.to_string()
36
+ }
32
37
  }
@@ -1,4 +1,3 @@
1
- use dpp::dashcore::hashes::hex::ToHex;
2
1
  use dpp::identity::errors::AssetLockTransactionIsNotFoundError;
3
2
  use wasm_bindgen::prelude::*;
4
3
 
@@ -15,6 +14,6 @@ impl From<&AssetLockTransactionIsNotFoundError> for AssetLockTransactionIsNotFou
15
14
  impl AssetLockTransactionIsNotFoundErrorWasm {
16
15
  #[wasm_bindgen(js_name=getTransactionId)]
17
16
  pub fn transaction_id(&self) -> JsValue {
18
- self.0.transaction_id().to_hex().into()
17
+ hex::encode(self.0.transaction_id()).into()
19
18
  }
20
19
  }