@dashevo/wasm-dpp 0.25.0-dev.15 → 0.25.0-dev.17

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 (271) hide show
  1. package/Cargo.toml +27 -3
  2. package/dist/errors/patchConsensusErrors.js +94 -115
  3. package/dist/wasm/wasm_dpp.d.ts +2124 -4081
  4. package/dist/wasm/wasm_dpp.js +17746 -2656
  5. package/dist/wasm/wasm_dpp_bg.js +1 -1
  6. package/lib/dpp.ts +1 -1
  7. package/lib/errors/patchConsensusErrors.ts +94 -93
  8. package/lib/test/bootstrap.js +5 -0
  9. package/lib/test/fixtures/getDataContractFixture.js +11 -5
  10. package/lib/test/fixtures/getDocumentsFixture.js +4 -4
  11. package/lib/test/fixtures/getIdentityCreateTransitionFixture.js +13 -19
  12. package/lib/test/fixtures/getIdentityCreditTransferTransitionFixture.js +14 -0
  13. package/lib/test/fixtures/getIdentityFixture.js +21 -32
  14. package/lib/test/fixtures/getIdentityTopUpTransitionFixture.js +7 -10
  15. package/lib/test/fixtures/getIdentityUpdateTransitionFixture.js +13 -28
  16. package/lib/test/fixtures/getPrivateAndPublicKeyForSigningFixture.js +7 -9
  17. package/lib/wasm/wasm_dpp.d.ts +2124 -4081
  18. package/package.json +5 -5
  19. package/scripts/build-wasm.sh +6 -9
  20. package/src/dash_platform_protocol.rs +172 -195
  21. package/src/data_contract/data_contract.rs +264 -200
  22. package/src/data_contract/data_contract_facade.rs +24 -46
  23. package/src/data_contract/errors/mod.rs +1 -0
  24. package/src/data_contract/mod.rs +2 -2
  25. package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +91 -79
  26. package/src/data_contract/state_transition/data_contract_update_transition/mod.rs +84 -73
  27. package/src/data_contract_factory/data_contract_factory.rs +39 -83
  28. package/src/document/document_facade.rs +74 -81
  29. package/src/document/errors/document_already_exists_error.rs +6 -6
  30. package/src/document/errors/document_no_revision_error.rs +1 -0
  31. package/src/document/errors/document_not_provided_error.rs +6 -6
  32. package/src/document/errors/invalid_document_action_error.rs +11 -7
  33. package/src/document/errors/invalid_initial_revision_error.rs +4 -4
  34. package/src/document/errors/mismatch_owners_ids_error.rs +5 -8
  35. package/src/document/errors/mod.rs +5 -0
  36. package/src/document/errors/revision_absent_error.rs +6 -6
  37. package/src/document/errors/trying_to_delete_immutable_document_error.rs +19 -0
  38. package/src/document/errors/trying_to_replace_immutable_document_error.rs +4 -4
  39. package/src/document/extended_document.rs +76 -76
  40. package/src/document/factory.rs +127 -123
  41. package/src/document/generate_document_id.rs +2 -2
  42. package/src/document/mod.rs +162 -148
  43. package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +50 -48
  44. package/src/document/state_transition/document_batch_transition/document_transition/document_delete_transition.rs +14 -14
  45. package/src/document/state_transition/document_batch_transition/document_transition/document_replace_transition.rs +50 -38
  46. package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +165 -153
  47. package/src/document/state_transition/document_batch_transition/mod.rs +230 -217
  48. package/src/errors/consensus/basic/data_contract/data_contract_have_new_unique_index_error.rs +2 -10
  49. package/src/errors/consensus/basic/data_contract/data_contract_immutable_properties_update_error.rs +1 -10
  50. package/src/errors/consensus/basic/data_contract/data_contract_invalid_index_definition_update_error.rs +2 -11
  51. package/src/errors/consensus/basic/data_contract/data_contract_max_depth_exceed_error.rs +1 -10
  52. package/src/errors/consensus/basic/data_contract/data_contract_unique_indices_changed_error.rs +1 -10
  53. package/src/errors/consensus/basic/data_contract/duplicate_index_name_error.rs +1 -10
  54. package/src/errors/consensus/basic/data_contract/incompatible_data_contract_schema_error.rs +1 -10
  55. package/src/errors/consensus/basic/data_contract/incompatible_re2_pattern_error.rs +1 -10
  56. package/src/errors/consensus/basic/data_contract/index_error/duplicate_index_error.rs +1 -10
  57. package/src/errors/consensus/basic/data_contract/index_error/invalid_compound_index_error.rs +1 -10
  58. package/src/errors/consensus/basic/data_contract/index_error/invalid_index_property_type_error.rs +1 -10
  59. package/src/errors/consensus/basic/data_contract/index_error/invalid_indexed_property_constraint_error.rs +1 -10
  60. package/src/errors/consensus/basic/data_contract/index_error/system_property_index_already_present_error.rs +1 -10
  61. package/src/errors/consensus/basic/data_contract/index_error/undefined_index_property_error.rs +1 -10
  62. package/src/errors/consensus/basic/data_contract/index_error/unique_indices_limit_reached_error.rs +1 -10
  63. package/src/errors/consensus/basic/data_contract/invalid_data_contract_id_error.rs +1 -10
  64. package/src/errors/consensus/basic/data_contract/invalid_data_contract_version_error.rs +1 -10
  65. package/src/errors/consensus/basic/data_contract/invalid_json_schema_ref_error.rs +1 -10
  66. package/src/errors/consensus/basic/decode/protocol_version_parsing_error.rs +10 -8
  67. package/src/errors/consensus/basic/decode/serialized_object_parsing_error.rs +1 -10
  68. package/src/errors/consensus/basic/document/data_contract_not_present_error.rs +1 -10
  69. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_ids_error.rs +1 -10
  70. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_indices_error.rs +1 -10
  71. package/src/errors/consensus/basic/document/inconsistent_compound_index_data_error.rs +1 -10
  72. package/src/errors/consensus/basic/document/invalid_document_transition_action_error.rs +1 -10
  73. package/src/errors/consensus/basic/document/invalid_document_transition_id_error.rs +1 -10
  74. package/src/errors/consensus/basic/document/invalid_document_type_error.rs +1 -10
  75. package/src/errors/consensus/basic/document/missing_data_contract_id_error.rs +1 -10
  76. package/src/errors/consensus/basic/document/missing_document_transition_action_error.rs +1 -10
  77. package/src/errors/consensus/basic/document/missing_document_transition_type_error.rs +1 -10
  78. package/src/errors/consensus/basic/document/missing_document_type_error.rs +1 -10
  79. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_error.rs +1 -10
  80. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_error.rs +1 -10
  81. package/src/errors/consensus/basic/identity/identity_asset_lock_proof_locked_transaction_mismatch_error.rs +1 -10
  82. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_is_not_found_error.rs +1 -10
  83. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs +1 -10
  84. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs +1 -10
  85. package/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +1 -10
  86. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_core_chain_height_error.rs +1 -10
  87. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_transaction_height_error.rs +1 -10
  88. package/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size_error.rs +1 -10
  89. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs +1 -10
  90. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs +1 -10
  91. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_core_fee_error.rs +1 -10
  92. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_output_script_error.rs +1 -10
  93. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_pooling_error.rs +1 -10
  94. package/src/errors/consensus/basic/identity/invalid_identity_key_signature_error.rs +1 -10
  95. package/src/errors/consensus/basic/identity/invalid_identity_public_key_data_error.rs +1 -10
  96. package/src/errors/consensus/basic/identity/invalid_identity_public_key_security_level_error.rs +1 -10
  97. package/src/errors/consensus/basic/identity/invalid_identity_public_key_type_error.rs +1 -10
  98. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs +1 -10
  99. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_signature_error.rs +1 -10
  100. package/src/errors/consensus/basic/identity/missing_master_public_key_error.rs +1 -10
  101. package/src/errors/consensus/basic/identity/missing_public_key_error.rs +1 -10
  102. package/src/errors/consensus/basic/incompatible_protocol_version_error.rs +1 -10
  103. package/src/errors/consensus/basic/invalid_identifier_error.rs +1 -10
  104. package/src/errors/consensus/basic/invalid_signature_public_key_security_level_error.rs +1 -10
  105. package/src/errors/consensus/basic/invalid_state_transition_signature_error.rs +1 -10
  106. package/src/errors/consensus/basic/json_schema_compilation_error.rs +1 -10
  107. package/src/errors/consensus/basic/json_schema_error.rs +1 -9
  108. package/src/errors/consensus/basic/mod.rs +2 -0
  109. package/src/errors/consensus/basic/public_key_is_disabled_error.rs +1 -10
  110. package/src/errors/consensus/basic/public_key_security_level_not_met_error.rs +2 -11
  111. package/src/errors/consensus/basic/state_transition/invalid_state_transition_type_error.rs +1 -10
  112. package/src/errors/consensus/basic/state_transition/missing_state_transition_type_error.rs +1 -10
  113. package/src/errors/consensus/basic/state_transition/state_transition_max_size_exceeded_error.rs +1 -10
  114. package/src/errors/consensus/basic/unsupported_protocol_version_error.rs +1 -10
  115. package/src/errors/consensus/basic/unsupported_version_error.rs +44 -0
  116. package/src/errors/consensus/basic/wrong_public_key_purpose_error.rs +1 -10
  117. package/src/errors/consensus/consensus_error.rs +39 -21
  118. package/src/errors/consensus/deserialize.rs +2 -2
  119. package/src/errors/consensus/fee/balance_is_not_enough_error.rs +5 -3
  120. package/src/errors/consensus/signature/basic_bls_error.rs +1 -10
  121. package/src/errors/consensus/signature/basic_ecdsa_error.rs +1 -10
  122. package/src/errors/consensus/signature/identity_not_found_error.rs +4 -3
  123. package/src/errors/consensus/signature/signature_should_not_be_present_error.rs +1 -10
  124. package/src/errors/consensus/state/data_contract/data_contract_already_present_error.rs +3 -3
  125. package/src/errors/consensus/state/data_contract/data_contract_config_update_error.rs +42 -0
  126. package/src/errors/consensus/state/data_contract/data_contract_is_readonly_error.rs +44 -0
  127. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_condition_error.rs +2 -2
  128. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_execution_error.rs +2 -2
  129. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_invalid_result_error.rs +2 -2
  130. package/src/errors/consensus/state/data_contract/mod.rs +7 -1
  131. package/src/errors/consensus/state/document/document_already_present_error.rs +1 -10
  132. package/src/errors/consensus/state/document/document_not_found_error.rs +1 -10
  133. package/src/errors/consensus/state/document/document_owner_id_mismatch_error.rs +1 -10
  134. package/src/errors/consensus/state/document/document_timestamp_window_violation_error.rs +1 -10
  135. package/src/errors/consensus/state/document/document_timestamps_are_equal_error.rs +1 -10
  136. package/src/errors/consensus/state/document/document_timestamps_mismatch_error.rs +1 -10
  137. package/src/errors/consensus/state/document/duplicate_unique_index_error.rs +1 -10
  138. package/src/errors/consensus/state/document/invalid_document_revision_error.rs +9 -13
  139. package/src/errors/consensus/state/identity/duplicated_identity_public_key_id_state_error.rs +1 -10
  140. package/src/errors/consensus/state/identity/duplicated_identity_public_key_state_error.rs +1 -10
  141. package/src/errors/consensus/state/identity/identity_already_exists_error.rs +1 -10
  142. package/src/errors/consensus/state/identity/identity_public_key_disabled_at_window_violation_error.rs +1 -10
  143. package/src/errors/consensus/state/identity/identity_public_key_is_disabled_error.rs +1 -10
  144. package/src/errors/consensus/state/identity/identity_public_key_is_read_only_error.rs +1 -10
  145. package/src/errors/consensus/state/identity/invalid_identity_public_key_id_error.rs +2 -10
  146. package/src/errors/consensus/state/identity/invalid_identity_revision_error.rs +1 -10
  147. package/src/errors/consensus/state/identity/max_identity_public_key_limit_reached_error.rs +1 -10
  148. package/src/errors/consensus/value_error.rs +1 -10
  149. package/src/errors/from.rs +12 -8
  150. package/src/errors/mod.rs +7 -7
  151. package/src/identity/factory_utils.rs +10 -10
  152. package/src/identity/identity.rs +275 -0
  153. package/src/identity/identity_facade.rs +87 -70
  154. package/src/identity/identity_factory.rs +74 -54
  155. package/src/identity/identity_public_key/mod.rs +86 -62
  156. package/src/identity/mod.rs +25 -256
  157. package/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof_structure_validator.rs +0 -1
  158. package/src/identity/state_transition/asset_lock_proof/chain/mod.rs +3 -1
  159. package/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof_structure_validator.rs +0 -1
  160. package/src/identity/state_transition/asset_lock_proof/instant/mod.rs +3 -1
  161. package/src/identity/state_transition/asset_lock_proof/mod.rs +112 -116
  162. package/src/identity/state_transition/identity_create_transition/identity_create_transition.rs +66 -52
  163. package/src/identity/state_transition/identity_create_transition/identity_create_transition_basic_validator.rs +0 -1
  164. package/src/identity/state_transition/identity_create_transition/mod.rs +3 -3
  165. package/src/identity/state_transition/identity_create_transition/to_object.rs +9 -11
  166. package/src/identity/state_transition/identity_credit_transfer_transition/apply_identity_credit_transfer_transition.rs +31 -0
  167. package/src/identity/state_transition/identity_credit_transfer_transition/identity_credit_transfer_transition_basic_validator.rs +66 -0
  168. package/src/identity/state_transition/identity_credit_transfer_transition/identity_credit_transfer_transition_state_validator.rs +44 -0
  169. package/src/identity/state_transition/identity_credit_transfer_transition/mod.rs +8 -0
  170. package/src/identity/state_transition/identity_credit_transfer_transition/to_object.rs +49 -0
  171. package/src/identity/state_transition/identity_credit_transfer_transition/transition.rs +344 -0
  172. package/src/identity/state_transition/identity_public_key_transitions.rs +81 -66
  173. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition.rs +64 -51
  174. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition_basic_validator.rs +0 -2
  175. package/src/identity/state_transition/identity_topup_transition/mod.rs +3 -3
  176. package/src/identity/state_transition/identity_topup_transition/to_object.rs +8 -12
  177. package/src/identity/state_transition/identity_update_transition/identity_update_transition.rs +95 -92
  178. package/src/identity/state_transition/identity_update_transition/mod.rs +4 -4
  179. package/src/identity/state_transition/identity_update_transition/to_object.rs +14 -18
  180. package/src/identity/state_transition/mod.rs +4 -2
  181. package/src/identity/state_transition/transition_types.rs +4 -0
  182. package/src/lib.rs +9 -9
  183. package/src/metadata.rs +3 -3
  184. package/src/protocol_version.rs +2 -2
  185. package/src/state_transition/conversion.rs +11 -1
  186. package/src/state_transition/errors/invalid_state_transition_error.rs +9 -9
  187. package/src/state_transition/fee/operations/pre_calculated_operation.rs +2 -1
  188. package/src/state_transition/mod.rs +137 -139
  189. package/src/state_transition/state_transition_facade.rs +2 -3
  190. package/src/state_transition/state_transition_factory.rs +142 -153
  191. package/src/state_transition/validation/state_transition_fee_validator.rs +1 -1
  192. package/src/state_transition/validation/validate_state_transition_identity_signature.rs +8 -4
  193. package/src/state_transition/validation/validate_state_transition_key_signature.rs +1 -1
  194. package/src/utils.rs +4 -2
  195. package/src/validation/validation_result.rs +1 -1
  196. package/test/integration/dataContract/DataContractFacade.spec.js +11 -15
  197. package/test/integration/dataContract/stateTransition/DataContractCreateTransition/validation/basic/validateDataContractCreateTransitionBasicFactory.spec.js +1 -1
  198. package/test/integration/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateDataContractUpdateTransitionBasicFactory.spec.js +1 -1
  199. package/test/integration/dataContract/validation/validateDataContractFactory.spec.js +1 -1
  200. package/test/integration/document/Document.spec.js +3 -3
  201. package/test/integration/document/DocumentFacade.spec.js +34 -33
  202. package/test/integration/document/stateTransition/DocumentsBatchTransition/DocumentBatchTransition.spec.js +1 -1
  203. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/basic/validateDocumentsBatchTransitionBasicFactory.spec.js +1 -1
  204. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/state/executeDataTriggersFactory.spec.js +1 -1
  205. package/test/integration/document/validation/validateDocumentFactory.spec.js +1 -1
  206. package/test/integration/identity/IdentityFacade.spec.js +29 -58
  207. package/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js +2 -2
  208. package/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js +1 -1
  209. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/basic/validateIdentityUpdateTransitionBasicFactory.spec.js +1 -1
  210. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory.spec.js +2 -2
  211. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validatePublicKeysState.spec.js +2 -2
  212. package/test/integration/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory.spec.js +1 -1
  213. package/test/integration/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory.spec.js +2 -2
  214. package/test/integration/identity/stateTransition/assetLockProof/instant/validateInstantAssetLockProofStructureFactory.spec.js +1 -1
  215. package/test/integration/identity/stateTransition/assetLockProof/validateAssetLockTransactionFactory.spec.js +4 -3
  216. package/test/integration/identity/stateTransition/validatePublicKeySignaturesFactory.spec.js +1 -1
  217. package/test/integration/identity/validation/validateIdentityFactory.spec.js +2 -2
  218. package/test/integration/identity/validation/validatePublicKeysFactory.spec.js +1 -1
  219. package/test/integration/stateTransition/StateTransitionFacade.spec.js +39 -48
  220. package/test/integration/util/generateTemporaryEcdsaPrivateKey.spec.js +1 -1
  221. package/test/unit/DashPlatformProtocol.spec.js +4 -18
  222. package/test/unit/dataContract/DataContract.spec.js +100 -121
  223. package/test/unit/dataContract/DataContractFactory.spec.js +21 -1
  224. package/test/unit/dataContract/createDataContract.spec.js +1 -1
  225. package/test/unit/dataContract/generateDataContractId.spec.js +1 -1
  226. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition.spec.js +23 -13
  227. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory.spec.js +1 -1
  228. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory.spec.js +1 -1
  229. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +16 -7
  230. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory.spec.js +1 -1
  231. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateIndicesAreBackwardCompatible.spec.js +1 -1
  232. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory.spec.js +1 -1
  233. package/test/unit/dataContract/validation/validateDataContractPatterns.spec.js +1 -1
  234. package/test/unit/document/Document.spec.js +18 -10
  235. package/test/unit/document/DocumentFactory.spec.js +10 -23
  236. package/test/unit/document/fetchAndValidateDataContractFactory.spec.js +1 -1
  237. package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +4 -4
  238. package/test/unit/document/stateTransition/DocumetsBatchTransition/applyDocumentsBatchTransitionFactory.spec.js +1 -1
  239. package/test/unit/document/stateTransition/DocumetsBatchTransition/documentTransition/DocumentCreateTransition.spec.js +1 -1
  240. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesById.spec.js +1 -1
  241. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js +1 -1
  242. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/validatePartialCompoundIndices.spec.js +1 -1
  243. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/fetchDocumentsFactory.spec.js +1 -1
  244. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsBatchTransitionStateFactory.spec.js +1 -1
  245. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsUniquenessByIndicesFactory.spec.js +1 -1
  246. package/test/unit/identity/Identity.spec.js +34 -74
  247. package/test/unit/identity/IdentityFactory.spec.js +55 -68
  248. package/test/unit/identity/IdentityPublicKey.spec.js +30 -47
  249. package/test/unit/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition.spec.js +23 -55
  250. package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +2 -2
  251. package/test/unit/identity/stateTransition/IdentityCreateTransition/validation/state/validateIdentityCreateTransitionStateFactory.spec.js +2 -2
  252. package/test/unit/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition.spec.js +7 -28
  253. package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +4 -4
  254. package/test/unit/identity/stateTransition/IdentityTopUpTransition/validation/state/validateIdentityTopUpTransitionStateFactory.spec.js +2 -2
  255. package/test/unit/identity/stateTransition/IdentityUpdateTransition/IdentityUpdateTransition.spec.js +19 -36
  256. package/test/unit/identity/stateTransition/IdentityUpdateTransition/applyIdentityUpdateTransitionFactory.spec.js +3 -3
  257. package/test/unit/identity/stateTransition/assetLockProof/fetchAssetLockPublicKeyHashFactory.spec.js +1 -1
  258. package/test/unit/identity/stateTransition/identityCreditTransferTransition/identityCreditTransferTransition.spec.js +130 -0
  259. package/test/unit/stateTransition/StateTransitionExecutionContext.spec.js +1 -1
  260. package/test/unit/stateTransition/StateTransitionFactory.spec.js +13 -18
  261. package/test/unit/stateTransition/createStateTransitionFactory.spec.js +1 -1
  262. package/test/unit/stateTransition/validation/validateStateTransitionBasicFactory.spec.js +1 -1
  263. package/test/unit/stateTransition/validation/validateStateTransitionFeeFactory.spec.js +1 -1
  264. package/test/unit/stateTransition/validation/validateStateTransitionIdentitySignatureFactory.spec.js +1 -1
  265. package/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js +2 -2
  266. package/test/unit/stateTransition/validation/validateStateTransitionStateFactory.spec.js +1 -1
  267. package/test/unit/version/validateProtocolVersionFactory.spec.js +1 -1
  268. package/test-d/index.test-d.ts +2 -2
  269. package/src/data_contract/state_transition/data_contract_create_transition/apply.rs +0 -45
  270. package/src/data_contract/state_transition/data_contract_update_transition/apply.rs +0 -49
  271. package/src/document/state_transition/document_batch_transition/apply_document_batch_transition.rs +0 -25
@@ -3,7 +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
+ use dpp::serialization::PlatformSerializable;
7
7
  use wasm_bindgen::prelude::*;
8
8
 
9
9
  #[wasm_bindgen(js_name=PublicKeyIsDisabledError)]
@@ -33,13 +33,4 @@ impl PublicKeyIsDisabledErrorWasm {
33
33
  pub fn message(&self) -> String {
34
34
  self.inner.to_string()
35
35
  }
36
-
37
- #[wasm_bindgen(js_name=serialize)]
38
- pub fn serialize(&self) -> Result<Buffer, JsError> {
39
- let bytes = ConsensusError::from(self.inner.clone())
40
- .serialize()
41
- .map_err(JsError::from)?;
42
-
43
- Ok(Buffer::from_bytes(bytes.as_slice()))
44
- }
45
36
  }
@@ -1,13 +1,12 @@
1
1
  use crate::buffer::Buffer;
2
- use crate::Serialize;
3
2
  use dpp::consensus::codes::ErrorWithCode;
4
3
  use dpp::consensus::signature::PublicKeySecurityLevelNotMetError;
5
4
  use dpp::consensus::ConsensusError;
5
+ use serde::Serialize;
6
6
 
7
- use dpp::serialization_traits::PlatformSerializable;
7
+ use dpp::serialization::PlatformSerializable;
8
8
  use wasm_bindgen::prelude::*;
9
9
 
10
- #[derive(Serialize)]
11
10
  #[wasm_bindgen(js_name=PublicKeySecurityLevelNotMetError)]
12
11
  pub struct PublicKeySecurityLevelNotMetErrorWasm {
13
12
  inner: PublicKeySecurityLevelNotMetError,
@@ -40,12 +39,4 @@ impl PublicKeySecurityLevelNotMetErrorWasm {
40
39
  pub fn message(&self) -> String {
41
40
  self.inner.to_string()
42
41
  }
43
-
44
- #[wasm_bindgen(js_name=serialize)]
45
- pub fn serialize(&self) -> Result<Buffer, JsError> {
46
- let bytes = PlatformSerializable::serialize(&ConsensusError::from(self.inner.clone()))
47
- .map_err(JsError::from)?;
48
-
49
- Ok(Buffer::from_bytes(bytes.as_slice()))
50
- }
51
42
  }
@@ -2,7 +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
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=InvalidStateTransitionTypeError)]
@@ -39,13 +39,4 @@ impl InvalidStateTransitionTypeErrorWasm {
39
39
  pub fn message(&self) -> String {
40
40
  self.inner.to_string()
41
41
  }
42
-
43
- #[wasm_bindgen(js_name=serialize)]
44
- pub fn serialize(&self) -> Result<Buffer, JsError> {
45
- let bytes = ConsensusError::from(self.inner.clone())
46
- .serialize()
47
- .map_err(JsError::from)?;
48
-
49
- Ok(Buffer::from_bytes(bytes.as_slice()))
50
- }
51
42
  }
@@ -2,7 +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
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=MissingStateTransitionTypeError)]
@@ -34,13 +34,4 @@ impl MissingStateTransitionTypeErrorWasm {
34
34
  pub fn message(&self) -> String {
35
35
  self.inner.to_string()
36
36
  }
37
-
38
- #[wasm_bindgen(js_name=serialize)]
39
- pub fn serialize(&self) -> Result<Buffer, JsError> {
40
- let bytes = ConsensusError::from(self.inner.clone())
41
- .serialize()
42
- .map_err(JsError::from)?;
43
-
44
- Ok(Buffer::from_bytes(bytes.as_slice()))
45
- }
46
37
  }
@@ -2,7 +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
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=StateTransitionMaxSizeExceededError)]
@@ -37,13 +37,4 @@ impl StateTransitionMaxSizeExceededErrorWasm {
37
37
  pub fn message(&self) -> String {
38
38
  self.inner.to_string()
39
39
  }
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
40
  }
@@ -2,7 +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
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=UnsupportedProtocolVersionError)]
@@ -37,13 +37,4 @@ impl UnsupportedProtocolVersionErrorWasm {
37
37
  pub fn message(&self) -> String {
38
38
  self.inner.to_string()
39
39
  }
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
40
  }
@@ -0,0 +1,44 @@
1
+ use crate::buffer::Buffer;
2
+ use dpp::consensus::basic::UnsupportedVersionError;
3
+ use dpp::consensus::codes::ErrorWithCode;
4
+ use dpp::consensus::ConsensusError;
5
+ use wasm_bindgen::prelude::*;
6
+
7
+ #[wasm_bindgen(js_name = UnsupportedVersionError)]
8
+ pub struct UnsupportedVersionErrorWasm {
9
+ inner: UnsupportedVersionError,
10
+ }
11
+
12
+ impl From<&UnsupportedVersionError> for UnsupportedVersionErrorWasm {
13
+ fn from(e: &UnsupportedVersionError) -> Self {
14
+ Self { inner: e.clone() }
15
+ }
16
+ }
17
+
18
+ #[wasm_bindgen(js_class = UnsupportedVersionError)]
19
+ impl UnsupportedVersionErrorWasm {
20
+ #[wasm_bindgen(js_name = getReceivedVersion)]
21
+ pub fn received_version(&self) -> u16 {
22
+ self.inner.received_version()
23
+ }
24
+
25
+ #[wasm_bindgen(js_name = getMinVersion)]
26
+ pub fn min_version(&self) -> u16 {
27
+ self.inner.min_version()
28
+ }
29
+
30
+ #[wasm_bindgen(js_name = getMaxVersion)]
31
+ pub fn max_version(&self) -> u16 {
32
+ self.inner.max_version()
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
+ }
@@ -2,7 +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
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=WrongPublicKeyPurposeError)]
@@ -37,13 +37,4 @@ impl WrongPublicKeyPurposeErrorWasm {
37
37
  pub fn message(&self) -> String {
38
38
  self.inner.to_string()
39
39
  }
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
40
  }
@@ -1,8 +1,8 @@
1
1
  use crate::errors::consensus::basic::{
2
2
  IncompatibleProtocolVersionErrorWasm, InvalidIdentifierErrorWasm, JsonSchemaErrorWasm,
3
- UnsupportedProtocolVersionErrorWasm,
3
+ UnsupportedProtocolVersionErrorWasm, UnsupportedVersionErrorWasm,
4
4
  };
5
- use dpp::consensus::ConsensusError as DPPConsensusError;
5
+ use dpp::consensus::{ConsensusError as DPPConsensusError, ConsensusError};
6
6
  use std::ops::Deref;
7
7
 
8
8
  use crate::errors::consensus::basic::identity::{
@@ -23,6 +23,7 @@ use crate::errors::consensus::basic::identity::{
23
23
  InvalidInstantAssetLockProofSignatureErrorWasm, MissingMasterPublicKeyErrorWasm,
24
24
  NotImplementedIdentityCreditWithdrawalTransitionPoolingErrorWasm,
25
25
  };
26
+
26
27
  use crate::errors::consensus::state::identity::{
27
28
  DuplicatedIdentityPublicKeyIdStateErrorWasm, DuplicatedIdentityPublicKeyStateErrorWasm,
28
29
  MissingIdentityPublicKeyIdsErrorWasm,
@@ -43,12 +44,13 @@ use dpp::consensus::basic::BasicError::{
43
44
  InvalidIdentityPublicKeySecurityLevelError, InvalidInstantAssetLockProofError,
44
45
  InvalidInstantAssetLockProofSignatureError, JsonSchemaError, MissingMasterPublicKeyError,
45
46
  NotImplementedIdentityCreditWithdrawalTransitionPoolingError, ProtocolVersionParsingError,
46
- SerializedObjectParsingError, UnsupportedProtocolVersionError,
47
+ SerializedObjectParsingError, UnsupportedProtocolVersionError, UnsupportedVersionError,
47
48
  };
48
49
  use dpp::consensus::fee::fee_error::FeeError;
49
50
  use dpp::consensus::signature::SignatureError;
50
51
 
51
- use dpp::consensus::state::data_trigger::data_trigger_error::DataTriggerError;
52
+ // TODO(versioning): remove
53
+ // use dpp::consensus::state::data_trigger::data_trigger_error::DataTriggerError;
52
54
  use dpp::consensus::state::state_error::StateError;
53
55
 
54
56
  use wasm_bindgen::{JsError, JsValue};
@@ -71,10 +73,13 @@ use crate::errors::consensus::signature::{
71
73
  BasicBLSErrorWasm, BasicECDSAErrorWasm, IdentityNotFoundErrorWasm,
72
74
  SignatureShouldNotBePresentErrorWasm,
73
75
  };
74
- use crate::errors::consensus::state::data_contract::data_trigger::{
75
- DataTriggerConditionErrorWasm, DataTriggerExecutionErrorWasm,
76
+ // use crate::errors::consensus::state::data_contract::data_trigger::{
77
+ // DataTriggerConditionErrorWasm, DataTriggerExecutionErrorWasm,
78
+ // };
79
+ use crate::errors::consensus::state::data_contract::{
80
+ DataContractAlreadyPresentErrorWasm, DataContractConfigUpdateErrorWasm,
81
+ DataContractIsReadonlyErrorWasm,
76
82
  };
77
- use crate::errors::consensus::state::data_contract::DataContractAlreadyPresentErrorWasm;
78
83
  use crate::errors::consensus::state::document::{
79
84
  DocumentAlreadyPresentErrorWasm, DocumentNotFoundErrorWasm, DocumentOwnerIdMismatchErrorWasm,
80
85
  DocumentTimestampWindowViolationErrorWasm, DocumentTimestampsMismatchErrorWasm,
@@ -112,7 +117,8 @@ use crate::errors::consensus::basic::{
112
117
  PublicKeySecurityLevelNotMetErrorWasm, WrongPublicKeyPurposeErrorWasm,
113
118
  };
114
119
  use crate::errors::consensus::fee::BalanceIsNotEnoughErrorWasm;
115
- use crate::errors::consensus::state::data_contract::data_trigger::DataTriggerInvalidResultErrorWasm;
120
+
121
+ // use crate::errors::consensus::state::data_contract::data_trigger::DataTriggerInvalidResultErrorWasm;
116
122
  use crate::errors::consensus::value_error::ValueErrorWasm;
117
123
 
118
124
  use super::state::document::DocumentTimestampsAreEqualErrorWasm;
@@ -178,19 +184,20 @@ pub fn from_state_error(state_error: &StateError) -> JsValue {
178
184
  StateError::MissingIdentityPublicKeyIdsError(e) => {
179
185
  MissingIdentityPublicKeyIdsErrorWasm::from(e).into()
180
186
  }
181
- StateError::DataTriggerError(data_trigger_error) => match data_trigger_error.deref() {
182
- DataTriggerError::DataTriggerConditionError(e) => {
183
- DataTriggerConditionErrorWasm::from(e).into()
184
- }
185
- DataTriggerError::DataTriggerExecutionError(e) => {
186
- DataTriggerExecutionErrorWasm::from(e).into()
187
- }
188
- DataTriggerError::DataTriggerInvalidResultError(e) => {
189
- DataTriggerInvalidResultErrorWasm::from(e).into()
190
- }
191
- },
192
- // TODO(v0.24-backport): this error seems to be used only in drive executor. Do we need binding for it?
193
- StateError::DataTriggerActionError(_) => JsError::new("Data Trigger action error").into(),
187
+ // TODO(versioning): restore
188
+ // StateError::DataTriggerError(data_trigger_error) => match data_trigger_error.deref() {
189
+ // DataTriggerError::DataTriggerConditionError(e) => {
190
+ // DataTriggerConditionErrorWasm::from(e).into()
191
+ // }
192
+ // DataTriggerError::DataTriggerExecutionError(e) => {
193
+ // DataTriggerExecutionErrorWasm::from(e).into()
194
+ // }
195
+ // DataTriggerError::DataTriggerInvalidResultError(e) => {
196
+ // DataTriggerInvalidResultErrorWasm::from(e).into()
197
+ // }
198
+ // },
199
+ // TODO(versioning): restore
200
+ // StateError::DataTriggerActionError(_) => JsError::new("Data Trigger action error").into(),
194
201
  StateError::IdentityAlreadyExistsError(e) => {
195
202
  let wasm_error: IdentityAlreadyExistsErrorWasm = e.into();
196
203
  wasm_error.into()
@@ -202,6 +209,14 @@ pub fn from_state_error(state_error: &StateError) -> JsValue {
202
209
  StateError::DocumentTimestampsAreEqualError(e) => {
203
210
  DocumentTimestampsAreEqualErrorWasm::from(e).into()
204
211
  }
212
+ StateError::DataContractIsReadonlyError(e) => {
213
+ DataContractIsReadonlyErrorWasm::from(e).into()
214
+ }
215
+ StateError::DataContractConfigUpdateError(e) => {
216
+ DataContractConfigUpdateErrorWasm::from(e).into()
217
+ }
218
+ // TODO(versioning): restore
219
+ _ => todo!(),
205
220
  }
206
221
  }
207
222
 
@@ -305,6 +320,7 @@ fn from_basic_error(basic_error: &BasicError) -> JsValue {
305
320
  SerializedObjectParsingError(e) => SerializedObjectParsingErrorWasm::from(e).into(),
306
321
  JsonSchemaError(e) => JsonSchemaErrorWasm::from(e).into(),
307
322
  UnsupportedProtocolVersionError(e) => UnsupportedProtocolVersionErrorWasm::from(e).into(),
323
+ UnsupportedVersionError(e) => UnsupportedVersionErrorWasm::from(e).into(),
308
324
  IncompatibleProtocolVersionError(e) => IncompatibleProtocolVersionErrorWasm::from(e).into(),
309
325
  DuplicatedIdentityPublicKeyIdBasicError(e) => {
310
326
  DuplicatedIdentityPublicKeyIdErrorWasm::from(e).into()
@@ -365,6 +381,8 @@ fn from_basic_error(basic_error: &BasicError) -> JsValue {
365
381
  NotImplementedIdentityCreditWithdrawalTransitionPoolingErrorWasm::from(e).into()
366
382
  }
367
383
  IncompatibleRe2PatternError(err) => IncompatibleRe2PatternErrorWasm::from(err).into(),
384
+ // TODO(versioning): cover other errors
385
+ _ => todo!(),
368
386
  }
369
387
  }
370
388
 
@@ -1,12 +1,12 @@
1
1
  use crate::errors::consensus::consensus_error::from_consensus_error;
2
2
  use dpp::consensus::ConsensusError;
3
- use dpp::serialization_traits::PlatformDeserializable;
3
+ use dpp::serialization::PlatformDeserializable;
4
4
  use wasm_bindgen::prelude::wasm_bindgen;
5
5
  use wasm_bindgen::{JsError, JsValue};
6
6
 
7
7
  #[wasm_bindgen(js_name=deserializeConsensusError)]
8
8
  pub fn deserialize_consensus_error(bytes: Vec<u8>) -> Result<JsValue, JsError> {
9
- ConsensusError::deserialize(bytes.as_slice())
9
+ ConsensusError::deserialize_from_bytes(bytes.as_slice())
10
10
  .map(from_consensus_error)
11
11
  .map_err(|e| e.into())
12
12
  }
@@ -2,8 +2,10 @@ 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;
6
- use dpp::state_transition::fee::Credits;
5
+ use dpp::fee::Credits;
6
+ use dpp::serialization::PlatformSerializable;
7
+ use dpp::serialization::PlatformSerializableWithPlatformVersion;
8
+ use dpp::version::PlatformVersion;
7
9
  use wasm_bindgen::prelude::*;
8
10
 
9
11
  #[wasm_bindgen(js_name=BalanceIsNotEnoughError)]
@@ -49,7 +51,7 @@ impl BalanceIsNotEnoughErrorWasm {
49
51
  #[wasm_bindgen(js_name=serialize)]
50
52
  pub fn serialize(&self) -> Result<Buffer, JsError> {
51
53
  let bytes = ConsensusError::from(self.inner.clone())
52
- .serialize()
54
+ .serialize_to_bytes_with_platform_version(PlatformVersion::first())
53
55
  .map_err(JsError::from)?;
54
56
 
55
57
  Ok(Buffer::from_bytes(bytes.as_slice()))
@@ -2,7 +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
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=BasicBLSError)]
@@ -27,13 +27,4 @@ impl BasicBLSErrorWasm {
27
27
  pub fn message(&self) -> String {
28
28
  self.inner.to_string()
29
29
  }
30
-
31
- #[wasm_bindgen(js_name=serialize)]
32
- pub fn serialize(&self) -> Result<Buffer, JsError> {
33
- let bytes = ConsensusError::from(self.inner.clone())
34
- .serialize()
35
- .map_err(JsError::from)?;
36
-
37
- Ok(Buffer::from_bytes(bytes.as_slice()))
38
- }
39
30
  }
@@ -2,7 +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
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=BasicECDSAError)]
@@ -27,13 +27,4 @@ impl BasicECDSAErrorWasm {
27
27
  pub fn message(&self) -> String {
28
28
  self.inner.to_string()
29
29
  }
30
-
31
- #[wasm_bindgen(js_name=serialize)]
32
- pub fn serialize(&self) -> Result<Buffer, JsError> {
33
- let bytes = ConsensusError::from(self.inner.clone())
34
- .serialize()
35
- .map_err(JsError::from)?;
36
-
37
- Ok(Buffer::from_bytes(bytes.as_slice()))
38
- }
39
30
  }
@@ -1,12 +1,13 @@
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
+ use dpp::serialization::PlatformSerializable;
5
5
  use wasm_bindgen::prelude::*;
6
6
 
7
7
  use crate::buffer::Buffer;
8
8
  use crate::identifier::IdentifierWrapper;
9
-
9
+ use dpp::serialization::PlatformSerializableWithPlatformVersion;
10
+ use dpp::version::PlatformVersion;
10
11
  #[wasm_bindgen(js_name=IdentityNotFoundError)]
11
12
  pub struct IdentityNotFoundErrorWasm {
12
13
  inner: IdentityNotFoundError,
@@ -45,7 +46,7 @@ impl IdentityNotFoundErrorWasm {
45
46
  #[wasm_bindgen(js_name=serialize)]
46
47
  pub fn serialize(&self) -> Result<Buffer, JsError> {
47
48
  let bytes = ConsensusError::from(self.inner.clone())
48
- .serialize()
49
+ .serialize_to_bytes_with_platform_version(PlatformVersion::first())
49
50
  .map_err(JsError::from)?;
50
51
 
51
52
  Ok(Buffer::from_bytes(bytes.as_slice()))
@@ -2,7 +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
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=SignatureShouldNotBePresentError)]
@@ -27,13 +27,4 @@ impl SignatureShouldNotBePresentErrorWasm {
27
27
  pub fn message(&self) -> String {
28
28
  self.inner.to_string()
29
29
  }
30
-
31
- #[wasm_bindgen(js_name=serialize)]
32
- pub fn serialize(&self) -> Result<Buffer, JsError> {
33
- let bytes = ConsensusError::from(self.inner.clone())
34
- .serialize()
35
- .map_err(JsError::from)?;
36
-
37
- Ok(Buffer::from_bytes(bytes.as_slice()))
38
- }
39
30
  }
@@ -4,9 +4,9 @@ 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
+ use dpp::serialization::{PlatformSerializable, PlatformSerializableWithPlatformVersion};
8
+ use dpp::version::PlatformVersion;
8
9
  use wasm_bindgen::prelude::*;
9
-
10
10
  #[wasm_bindgen(js_name=DataContractAlreadyPresentError)]
11
11
  pub struct DataContractAlreadyPresentErrorWasm {
12
12
  inner: DataContractAlreadyPresentError,
@@ -45,7 +45,7 @@ impl DataContractAlreadyPresentErrorWasm {
45
45
  #[wasm_bindgen(js_name=serialize)]
46
46
  pub fn serialize(&self) -> Result<Buffer, JsError> {
47
47
  let bytes = ConsensusError::from(self.inner.clone())
48
- .serialize()
48
+ .serialize_to_bytes_with_platform_version(PlatformVersion::first())
49
49
  .map_err(JsError::from)?;
50
50
 
51
51
  Ok(Buffer::from_bytes(bytes.as_slice()))
@@ -0,0 +1,42 @@
1
+ use crate::identifier::IdentifierWrapper;
2
+ use dpp::consensus::codes::ErrorWithCode;
3
+ use dpp::consensus::state::data_contract::data_contract_config_update_error::DataContractConfigUpdateError;
4
+
5
+ use dpp::consensus::ConsensusError;
6
+ use wasm_bindgen::prelude::*;
7
+
8
+ #[wasm_bindgen(js_name=DataContractConfigUpdateError)]
9
+ pub struct DataContractConfigUpdateErrorWasm {
10
+ inner: DataContractConfigUpdateError,
11
+ }
12
+
13
+ impl From<&DataContractConfigUpdateError> for DataContractConfigUpdateErrorWasm {
14
+ fn from(e: &DataContractConfigUpdateError) -> Self {
15
+ Self { inner: e.clone() }
16
+ }
17
+ }
18
+
19
+ #[wasm_bindgen(js_class=DataContractConfigUpdateError)]
20
+ impl DataContractConfigUpdateErrorWasm {
21
+ #[wasm_bindgen(constructor)]
22
+ pub fn new(data_contract_id: IdentifierWrapper, message: String) -> Self {
23
+ Self {
24
+ inner: DataContractConfigUpdateError::new(data_contract_id.into(), message),
25
+ }
26
+ }
27
+
28
+ #[wasm_bindgen(js_name=getDataContractId)]
29
+ pub fn data_contract_id(&self) -> IdentifierWrapper {
30
+ self.inner.data_contract_id().to_owned().into()
31
+ }
32
+
33
+ #[wasm_bindgen(js_name=getCode)]
34
+ pub fn get_code(&self) -> u32 {
35
+ ConsensusError::from(self.inner.clone()).code()
36
+ }
37
+
38
+ #[wasm_bindgen(getter)]
39
+ pub fn message(&self) -> String {
40
+ self.inner.to_string()
41
+ }
42
+ }
@@ -0,0 +1,44 @@
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::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
+ }
@@ -4,7 +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
+ use dpp::serialization::PlatformSerializable;
8
8
  use wasm_bindgen::prelude::*;
9
9
 
10
10
  #[wasm_bindgen(js_name=DataTriggerConditionError)]
@@ -48,7 +48,7 @@ impl DataTriggerConditionErrorWasm {
48
48
  #[wasm_bindgen(js_name=serialize)]
49
49
  pub fn serialize(&self) -> Result<Buffer, JsError> {
50
50
  let bytes = ConsensusError::from(self.inner.clone())
51
- .serialize()
51
+ .serialize_to_bytes()
52
52
  .map_err(JsError::from)?;
53
53
 
54
54
  Ok(Buffer::from_bytes(bytes.as_slice()))
@@ -3,7 +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
+ use dpp::serialization::PlatformSerializable;
7
7
  use wasm_bindgen::prelude::*;
8
8
 
9
9
  #[wasm_bindgen(js_name=DataTriggerExecutionError)]
@@ -47,7 +47,7 @@ impl DataTriggerExecutionErrorWasm {
47
47
  #[wasm_bindgen(js_name=serialize)]
48
48
  pub fn serialize(&self) -> Result<Buffer, JsError> {
49
49
  let bytes = ConsensusError::from(self.inner.clone())
50
- .serialize()
50
+ .serialize_to_bytes()
51
51
  .map_err(JsError::from)?;
52
52
 
53
53
  Ok(Buffer::from_bytes(bytes.as_slice()))
@@ -4,7 +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
+ use dpp::serialization::PlatformSerializable;
8
8
  use wasm_bindgen::prelude::*;
9
9
 
10
10
  #[wasm_bindgen(js_name=DataTriggerInvalidResultError)]
@@ -43,7 +43,7 @@ impl DataTriggerInvalidResultErrorWasm {
43
43
  #[wasm_bindgen(js_name=serialize)]
44
44
  pub fn serialize(&self) -> Result<Buffer, JsError> {
45
45
  let bytes = ConsensusError::from(self.inner.clone())
46
- .serialize()
46
+ .serialize_to_bytes()
47
47
  .map_err(JsError::from)?;
48
48
 
49
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::*;