@dashevo/wasm-dpp 0.25.0-dev.2 → 0.25.0-dev.20

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 (290) hide show
  1. package/Cargo.toml +31 -6
  2. package/README.md +11 -6
  3. package/dist/errors/patchConsensusErrors.js +94 -115
  4. package/dist/wasm/wasm_dpp.d.ts +2198 -4098
  5. package/dist/wasm/wasm_dpp.js +17746 -2637
  6. package/dist/wasm/wasm_dpp_bg.js +1 -1
  7. package/lib/dpp.ts +1 -1
  8. package/lib/errors/patchConsensusErrors.ts +94 -93
  9. package/lib/test/bootstrap.js +5 -0
  10. package/lib/test/fixtures/getDataContractFixture.js +11 -5
  11. package/lib/test/fixtures/getDocumentsFixture.js +9 -5
  12. package/lib/test/fixtures/getIdentityCreateTransitionFixture.js +14 -20
  13. package/lib/test/fixtures/getIdentityCreditTransferTransitionFixture.js +14 -0
  14. package/lib/test/fixtures/getIdentityFixture.js +21 -32
  15. package/lib/test/fixtures/getIdentityTopUpTransitionFixture.js +7 -10
  16. package/lib/test/fixtures/getIdentityUpdateTransitionFixture.js +13 -28
  17. package/lib/test/fixtures/getPrivateAndPublicKeyForSigningFixture.js +7 -9
  18. package/lib/test/fixtures/js/generateRandomIdentifier.js +1 -0
  19. package/lib/test/fixtures/js/getChainAssetLockProofFixture.js +1 -0
  20. package/lib/test/fixtures/js/getDataContractFixture.js +1 -0
  21. package/lib/test/fixtures/js/getDocumentTransitionsFixture.js +1 -0
  22. package/lib/test/fixtures/js/getDocumentsFixture.js +1 -0
  23. package/lib/test/fixtures/js/getInstantAssetLockProofFixture.js +1 -0
  24. package/lib/test/mocks/createStateRepositoryMock.js +1 -0
  25. package/lib/wasm/wasm_dpp.d.ts +2198 -4098
  26. package/package.json +5 -5
  27. package/scripts/build-wasm.sh +30 -29
  28. package/src/dash_platform_protocol.rs +173 -196
  29. package/src/data_contract/data_contract.rs +309 -199
  30. package/src/data_contract/data_contract_facade.rs +28 -47
  31. package/src/data_contract/errors/mod.rs +1 -0
  32. package/src/data_contract/mod.rs +2 -2
  33. package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +92 -79
  34. package/src/data_contract/state_transition/data_contract_update_transition/mod.rs +84 -77
  35. package/src/data_contract_factory/data_contract_factory.rs +43 -83
  36. package/src/document/document_facade.rs +81 -76
  37. package/src/document/errors/document_already_exists_error.rs +6 -6
  38. package/src/document/errors/document_no_revision_error.rs +1 -0
  39. package/src/document/errors/document_not_provided_error.rs +6 -6
  40. package/src/document/errors/invalid_document_action_error.rs +11 -7
  41. package/src/document/errors/invalid_initial_revision_error.rs +4 -4
  42. package/src/document/errors/mismatch_owners_ids_error.rs +5 -8
  43. package/src/document/errors/mod.rs +5 -0
  44. package/src/document/errors/revision_absent_error.rs +6 -6
  45. package/src/document/errors/trying_to_delete_immutable_document_error.rs +19 -0
  46. package/src/document/errors/trying_to_replace_immutable_document_error.rs +4 -4
  47. package/src/document/extended_document.rs +76 -76
  48. package/src/document/factory.rs +140 -119
  49. package/src/document/generate_document_id.rs +2 -2
  50. package/src/document/mod.rs +164 -150
  51. package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +50 -48
  52. package/src/document/state_transition/document_batch_transition/document_transition/document_delete_transition.rs +14 -14
  53. package/src/document/state_transition/document_batch_transition/document_transition/document_replace_transition.rs +50 -38
  54. package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +165 -153
  55. package/src/document/state_transition/document_batch_transition/mod.rs +232 -222
  56. package/src/errors/consensus/basic/data_contract/data_contract_have_new_unique_index_error.rs +2 -9
  57. package/src/errors/consensus/basic/data_contract/data_contract_immutable_properties_update_error.rs +1 -9
  58. package/src/errors/consensus/basic/data_contract/data_contract_invalid_index_definition_update_error.rs +2 -10
  59. package/src/errors/consensus/basic/data_contract/data_contract_max_depth_exceed_error.rs +1 -9
  60. package/src/errors/consensus/basic/data_contract/data_contract_unique_indices_changed_error.rs +1 -9
  61. package/src/errors/consensus/basic/data_contract/duplicate_index_name_error.rs +1 -9
  62. package/src/errors/consensus/basic/data_contract/incompatible_data_contract_schema_error.rs +1 -9
  63. package/src/errors/consensus/basic/data_contract/incompatible_re2_pattern_error.rs +1 -9
  64. package/src/errors/consensus/basic/data_contract/index_error/duplicate_index_error.rs +1 -9
  65. package/src/errors/consensus/basic/data_contract/index_error/invalid_compound_index_error.rs +1 -9
  66. package/src/errors/consensus/basic/data_contract/index_error/invalid_index_property_type_error.rs +1 -9
  67. package/src/errors/consensus/basic/data_contract/index_error/invalid_indexed_property_constraint_error.rs +1 -9
  68. package/src/errors/consensus/basic/data_contract/index_error/system_property_index_already_present_error.rs +1 -9
  69. package/src/errors/consensus/basic/data_contract/index_error/undefined_index_property_error.rs +1 -9
  70. package/src/errors/consensus/basic/data_contract/index_error/unique_indices_limit_reached_error.rs +1 -9
  71. package/src/errors/consensus/basic/data_contract/invalid_data_contract_id_error.rs +1 -9
  72. package/src/errors/consensus/basic/data_contract/invalid_data_contract_version_error.rs +1 -9
  73. package/src/errors/consensus/basic/data_contract/invalid_json_schema_ref_error.rs +1 -9
  74. package/src/errors/consensus/basic/decode/protocol_version_parsing_error.rs +10 -7
  75. package/src/errors/consensus/basic/decode/serialized_object_parsing_error.rs +1 -9
  76. package/src/errors/consensus/basic/document/data_contract_not_present_error.rs +1 -9
  77. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_ids_error.rs +1 -9
  78. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_indices_error.rs +1 -9
  79. package/src/errors/consensus/basic/document/inconsistent_compound_index_data_error.rs +1 -9
  80. package/src/errors/consensus/basic/document/invalid_document_transition_action_error.rs +1 -9
  81. package/src/errors/consensus/basic/document/invalid_document_transition_id_error.rs +1 -9
  82. package/src/errors/consensus/basic/document/invalid_document_type_error.rs +1 -9
  83. package/src/errors/consensus/basic/document/missing_data_contract_id_error.rs +1 -9
  84. package/src/errors/consensus/basic/document/missing_document_transition_action_error.rs +1 -9
  85. package/src/errors/consensus/basic/document/missing_document_transition_type_error.rs +1 -9
  86. package/src/errors/consensus/basic/document/missing_document_type_error.rs +1 -9
  87. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_error.rs +1 -9
  88. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_error.rs +1 -9
  89. package/src/errors/consensus/basic/identity/identity_asset_lock_proof_locked_transaction_mismatch_error.rs +1 -9
  90. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_is_not_found_error.rs +1 -9
  91. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs +1 -9
  92. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs +1 -9
  93. package/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +1 -9
  94. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_core_chain_height_error.rs +1 -9
  95. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_transaction_height_error.rs +1 -9
  96. package/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size_error.rs +1 -9
  97. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs +1 -9
  98. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs +1 -9
  99. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_core_fee_error.rs +1 -9
  100. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_output_script_error.rs +1 -9
  101. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_pooling_error.rs +1 -9
  102. package/src/errors/consensus/basic/identity/invalid_identity_key_signature_error.rs +1 -9
  103. package/src/errors/consensus/basic/identity/invalid_identity_public_key_data_error.rs +1 -9
  104. package/src/errors/consensus/basic/identity/invalid_identity_public_key_security_level_error.rs +1 -9
  105. package/src/errors/consensus/basic/identity/invalid_identity_public_key_type_error.rs +1 -9
  106. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs +1 -9
  107. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_signature_error.rs +1 -9
  108. package/src/errors/consensus/basic/identity/missing_master_public_key_error.rs +1 -9
  109. package/src/errors/consensus/basic/identity/missing_public_key_error.rs +1 -9
  110. package/src/errors/consensus/basic/incompatible_protocol_version_error.rs +1 -9
  111. package/src/errors/consensus/basic/invalid_identifier_error.rs +1 -9
  112. package/src/errors/consensus/basic/invalid_signature_public_key_security_level_error.rs +7 -15
  113. package/src/errors/consensus/basic/invalid_state_transition_signature_error.rs +1 -9
  114. package/src/errors/consensus/basic/json_schema_compilation_error.rs +1 -9
  115. package/src/errors/consensus/basic/json_schema_error.rs +1 -9
  116. package/src/errors/consensus/basic/mod.rs +2 -0
  117. package/src/errors/consensus/basic/public_key_is_disabled_error.rs +1 -9
  118. package/src/errors/consensus/basic/public_key_security_level_not_met_error.rs +2 -11
  119. package/src/errors/consensus/basic/state_transition/invalid_state_transition_type_error.rs +1 -9
  120. package/src/errors/consensus/basic/state_transition/missing_state_transition_type_error.rs +1 -9
  121. package/src/errors/consensus/basic/state_transition/state_transition_max_size_exceeded_error.rs +1 -9
  122. package/src/errors/consensus/basic/unsupported_protocol_version_error.rs +1 -9
  123. package/src/errors/consensus/basic/unsupported_version_error.rs +44 -0
  124. package/src/errors/consensus/basic/wrong_public_key_purpose_error.rs +1 -9
  125. package/src/errors/consensus/consensus_error.rs +44 -21
  126. package/src/errors/consensus/deserialize.rs +2 -1
  127. package/src/errors/consensus/fee/balance_is_not_enough_error.rs +5 -2
  128. package/src/errors/consensus/signature/basic_bls_error.rs +1 -9
  129. package/src/errors/consensus/signature/basic_ecdsa_error.rs +1 -9
  130. package/src/errors/consensus/signature/identity_not_found_error.rs +4 -2
  131. package/src/errors/consensus/signature/signature_should_not_be_present_error.rs +1 -9
  132. package/src/errors/consensus/state/data_contract/data_contract_already_present_error.rs +3 -2
  133. package/src/errors/consensus/state/data_contract/data_contract_config_update_error.rs +42 -0
  134. package/src/errors/consensus/state/data_contract/data_contract_is_readonly_error.rs +44 -0
  135. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_condition_error.rs +2 -1
  136. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_execution_error.rs +2 -1
  137. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_invalid_result_error.rs +2 -1
  138. package/src/errors/consensus/state/data_contract/mod.rs +7 -1
  139. package/src/errors/consensus/state/document/document_already_present_error.rs +1 -9
  140. package/src/errors/consensus/state/document/document_not_found_error.rs +1 -9
  141. package/src/errors/consensus/state/document/document_owner_id_mismatch_error.rs +1 -9
  142. package/src/errors/consensus/state/document/document_timestamp_window_violation_error.rs +1 -9
  143. package/src/errors/consensus/state/document/document_timestamps_are_equal_error.rs +34 -0
  144. package/src/errors/consensus/state/document/document_timestamps_mismatch_error.rs +1 -9
  145. package/src/errors/consensus/state/document/duplicate_unique_index_error.rs +1 -9
  146. package/src/errors/consensus/state/document/invalid_document_revision_error.rs +9 -12
  147. package/src/errors/consensus/state/document/mod.rs +2 -0
  148. package/src/errors/consensus/state/identity/duplicated_identity_public_key_id_state_error.rs +1 -9
  149. package/src/errors/consensus/state/identity/duplicated_identity_public_key_state_error.rs +1 -9
  150. package/src/errors/consensus/state/identity/identity_already_exists_error.rs +1 -9
  151. package/src/errors/consensus/state/identity/identity_public_key_disabled_at_window_violation_error.rs +1 -9
  152. package/src/errors/consensus/state/identity/identity_public_key_is_disabled_error.rs +1 -9
  153. package/src/errors/consensus/state/identity/identity_public_key_is_read_only_error.rs +1 -9
  154. package/src/errors/consensus/state/identity/invalid_identity_public_key_id_error.rs +2 -9
  155. package/src/errors/consensus/state/identity/invalid_identity_revision_error.rs +1 -9
  156. package/src/errors/consensus/state/identity/max_identity_public_key_limit_reached_error.rs +1 -9
  157. package/src/errors/consensus/value_error.rs +1 -9
  158. package/src/errors/from.rs +12 -8
  159. package/src/errors/mod.rs +7 -7
  160. package/src/errors/value_error.rs +5 -0
  161. package/src/identity/factory_utils.rs +13 -13
  162. package/src/identity/identity.rs +275 -0
  163. package/src/identity/identity_facade.rs +87 -70
  164. package/src/identity/identity_factory.rs +74 -54
  165. package/src/identity/identity_public_key/mod.rs +87 -63
  166. package/src/identity/mod.rs +25 -247
  167. package/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof_structure_validator.rs +0 -1
  168. package/src/identity/state_transition/asset_lock_proof/chain/mod.rs +3 -1
  169. package/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof_structure_validator.rs +0 -1
  170. package/src/identity/state_transition/asset_lock_proof/instant/mod.rs +3 -1
  171. package/src/identity/state_transition/asset_lock_proof/mod.rs +112 -116
  172. package/src/identity/state_transition/identity_create_transition/identity_create_transition.rs +71 -65
  173. package/src/identity/state_transition/identity_create_transition/identity_create_transition_basic_validator.rs +0 -1
  174. package/src/identity/state_transition/identity_create_transition/mod.rs +3 -3
  175. package/src/identity/state_transition/identity_create_transition/to_object.rs +10 -12
  176. package/src/identity/state_transition/identity_credit_transfer_transition/apply_identity_credit_transfer_transition.rs +31 -0
  177. package/src/identity/state_transition/identity_credit_transfer_transition/identity_credit_transfer_transition_basic_validator.rs +66 -0
  178. package/src/identity/state_transition/identity_credit_transfer_transition/identity_credit_transfer_transition_state_validator.rs +44 -0
  179. package/src/identity/state_transition/identity_credit_transfer_transition/mod.rs +8 -0
  180. package/src/identity/state_transition/identity_credit_transfer_transition/to_object.rs +49 -0
  181. package/src/identity/state_transition/identity_credit_transfer_transition/transition.rs +344 -0
  182. package/src/identity/state_transition/identity_public_key_transitions.rs +89 -74
  183. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition.rs +67 -62
  184. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition_basic_validator.rs +0 -2
  185. package/src/identity/state_transition/identity_topup_transition/mod.rs +3 -3
  186. package/src/identity/state_transition/identity_topup_transition/to_object.rs +8 -12
  187. package/src/identity/state_transition/identity_update_transition/identity_update_public_keys_validator.rs +2 -2
  188. package/src/identity/state_transition/identity_update_transition/identity_update_transition.rs +99 -104
  189. package/src/identity/state_transition/identity_update_transition/mod.rs +4 -4
  190. package/src/identity/state_transition/identity_update_transition/to_object.rs +15 -19
  191. package/src/identity/state_transition/mod.rs +5 -2
  192. package/src/identity/state_transition/transition_types.rs +34 -0
  193. package/src/identity/state_transition/validate_public_key_signatures.rs +2 -2
  194. package/src/lib.rs +10 -11
  195. package/src/metadata.rs +3 -3
  196. package/src/protocol_version.rs +7 -0
  197. package/src/state_transition/conversion.rs +11 -1
  198. package/src/state_transition/errors/invalid_state_transition_error.rs +12 -1
  199. package/src/state_transition/fee/operations/pre_calculated_operation.rs +2 -1
  200. package/src/state_transition/mod.rs +137 -139
  201. package/src/state_transition/state_transition_facade.rs +11 -11
  202. package/src/state_transition/state_transition_factory.rs +142 -153
  203. package/src/state_transition/validation/state_transition_fee_validator.rs +1 -1
  204. package/src/state_transition/validation/validate_state_transition_identity_signature.rs +28 -10
  205. package/src/state_transition/validation/validate_state_transition_key_signature.rs +1 -1
  206. package/src/utils.rs +5 -2
  207. package/src/validation/validation_result.rs +1 -0
  208. package/test/integration/dataContract/DataContractFacade.spec.js +25 -32
  209. package/test/integration/dataContract/stateTransition/DataContractCreateTransition/validation/basic/validateDataContractCreateTransitionBasicFactory.spec.js +6 -6
  210. package/test/integration/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateDataContractUpdateTransitionBasicFactory.spec.js +11 -10
  211. package/test/integration/dataContract/validation/validateDataContractFactory.spec.js +3 -3
  212. package/test/integration/document/Document.spec.js +3 -3
  213. package/test/integration/document/DocumentFacade.spec.js +39 -38
  214. package/test/integration/document/stateTransition/DocumentsBatchTransition/DocumentBatchTransition.spec.js +6 -7
  215. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/basic/validateDocumentsBatchTransitionBasicFactory.spec.js +15 -15
  216. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/state/executeDataTriggersFactory.spec.js +2 -2
  217. package/test/integration/document/validation/validateDocumentFactory.spec.js +3 -3
  218. package/test/integration/identity/IdentityFacade.spec.js +33 -62
  219. package/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js +6 -8
  220. package/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js +4 -7
  221. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/basic/validateIdentityUpdateTransitionBasicFactory.spec.js +1 -1
  222. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory.spec.js +21 -24
  223. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validatePublicKeysState.spec.js +2 -2
  224. package/test/integration/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory.spec.js +4 -4
  225. package/test/integration/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory.spec.js +7 -10
  226. package/test/integration/identity/stateTransition/assetLockProof/instant/validateInstantAssetLockProofStructureFactory.spec.js +4 -5
  227. package/test/integration/identity/stateTransition/assetLockProof/validateAssetLockTransactionFactory.spec.js +6 -6
  228. package/test/integration/identity/stateTransition/validatePublicKeySignaturesFactory.spec.js +3 -7
  229. package/test/integration/identity/validation/validateIdentityFactory.spec.js +7 -6
  230. package/test/integration/identity/validation/validatePublicKeysFactory.spec.js +5 -25
  231. package/test/integration/stateTransition/StateTransitionFacade.spec.js +45 -58
  232. package/test/integration/util/generateTemporaryEcdsaPrivateKey.spec.js +1 -1
  233. package/test/unit/DashPlatformProtocol.spec.js +10 -25
  234. package/test/unit/dataContract/DataContract.spec.js +119 -148
  235. package/test/unit/dataContract/DataContractFactory.spec.js +42 -31
  236. package/test/unit/dataContract/createDataContract.spec.js +6 -6
  237. package/test/unit/dataContract/generateDataContractId.spec.js +1 -1
  238. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition.spec.js +34 -26
  239. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory.spec.js +7 -9
  240. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory.spec.js +10 -9
  241. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +28 -19
  242. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory.spec.js +7 -7
  243. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateIndicesAreBackwardCompatible.spec.js +5 -5
  244. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory.spec.js +11 -10
  245. package/test/unit/dataContract/validation/validateDataContractPatterns.spec.js +7 -7
  246. package/test/unit/document/Document.spec.js +31 -20
  247. package/test/unit/document/DocumentFactory.spec.js +45 -110
  248. package/test/unit/document/fetchAndValidateDataContractFactory.spec.js +1 -1
  249. package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +6 -7
  250. package/test/unit/document/stateTransition/DocumetsBatchTransition/applyDocumentsBatchTransitionFactory.spec.js +11 -12
  251. package/test/unit/document/stateTransition/DocumetsBatchTransition/documentTransition/DocumentCreateTransition.spec.js +1 -1
  252. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesById.spec.js +1 -1
  253. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js +1 -1
  254. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/validatePartialCompoundIndices.spec.js +1 -1
  255. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/fetchDocumentsFactory.spec.js +1 -1
  256. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsBatchTransitionStateFactory.spec.js +9 -9
  257. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsUniquenessByIndicesFactory.spec.js +1 -1
  258. package/test/unit/identity/Identity.spec.js +46 -81
  259. package/test/unit/identity/IdentityFactory.spec.js +61 -75
  260. package/test/unit/identity/IdentityPublicKey.spec.js +34 -48
  261. package/test/unit/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition.spec.js +30 -63
  262. package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +9 -15
  263. package/test/unit/identity/stateTransition/IdentityCreateTransition/validation/state/validateIdentityCreateTransitionStateFactory.spec.js +5 -9
  264. package/test/unit/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition.spec.js +13 -35
  265. package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +9 -13
  266. package/test/unit/identity/stateTransition/IdentityTopUpTransition/validation/state/validateIdentityTopUpTransitionStateFactory.spec.js +5 -9
  267. package/test/unit/identity/stateTransition/IdentityUpdateTransition/IdentityUpdateTransition.spec.js +24 -46
  268. package/test/unit/identity/stateTransition/IdentityUpdateTransition/applyIdentityUpdateTransitionFactory.spec.js +4 -4
  269. package/test/unit/identity/stateTransition/assetLockProof/fetchAssetLockPublicKeyHashFactory.spec.js +1 -1
  270. package/test/unit/identity/stateTransition/identityCreditTransferTransition/identityCreditTransferTransition.spec.js +130 -0
  271. package/test/unit/stateTransition/StateTransitionExecutionContext.spec.js +1 -1
  272. package/test/unit/stateTransition/StateTransitionFactory.spec.js +16 -22
  273. package/test/unit/stateTransition/createStateTransitionFactory.spec.js +43 -21
  274. package/test/unit/stateTransition/validation/validateStateTransitionBasicFactory.spec.js +3 -3
  275. package/test/unit/stateTransition/validation/validateStateTransitionFeeFactory.spec.js +5 -17
  276. package/test/unit/stateTransition/validation/validateStateTransitionIdentitySignatureFactory.spec.js +9 -5
  277. package/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js +8 -14
  278. package/test/unit/stateTransition/validation/validateStateTransitionStateFactory.spec.js +1 -1
  279. package/test/unit/version/validateProtocolVersionFactory.spec.js +1 -1
  280. package/test-d/index.test-d.ts +2 -2
  281. package/src/data_contract/state_transition/data_contract_create_transition/apply.rs +0 -45
  282. package/src/data_contract/state_transition/data_contract_update_transition/apply.rs +0 -49
  283. package/src/decode_protocol_entity.rs +0 -25
  284. package/src/document/state_transition/document_batch_transition/apply_document_batch_transition.rs +0 -25
  285. package/test/integration/ajv/keywords/byteArray/addByteArrayKeyword.spec.js +0 -148
  286. package/test/integration/util/generateEntropy.spec.js +0 -17
  287. package/test/integration/util/serializer.spec.js +0 -24
  288. package/test/unit/decodeProtocolEntityFactory.spec.js +0 -69
  289. package/test/unit/identity/errors/InvalidIdentityError.spec.js +0 -46
  290. package/test/unit/stateTransition/errors/InvalidStateTransitionError.spec.js +0 -51
@@ -2,6 +2,7 @@ use dpp::consensus::basic::identity::IdentityAssetLockProofLockedTransactionMism
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::ConsensusError;
4
4
  use dpp::dashcore::hashes::Hash;
5
+ use dpp::serialization::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  use crate::buffer::Buffer;
@@ -45,13 +46,4 @@ impl IdentityAssetLockProofLockedTransactionMismatchErrorWasm {
45
46
  pub fn message(&self) -> String {
46
47
  self.inner.to_string()
47
48
  }
48
-
49
- #[wasm_bindgen(js_name=serialize)]
50
- pub fn serialize(&self) -> Result<Buffer, JsError> {
51
- let bytes = ConsensusError::from(self.inner.clone())
52
- .serialize()
53
- .map_err(JsError::from)?;
54
-
55
- Ok(Buffer::from_bytes(bytes.as_slice()))
56
- }
57
49
  }
@@ -1,6 +1,7 @@
1
1
  use dpp::consensus::basic::identity::IdentityAssetLockTransactionIsNotFoundError;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::ConsensusError;
4
+ use dpp::serialization::PlatformSerializable;
4
5
  use wasm_bindgen::prelude::*;
5
6
 
6
7
  use crate::buffer::Buffer;
@@ -34,13 +35,4 @@ impl IdentityAssetLockTransactionIsNotFoundErrorWasm {
34
35
  pub fn message(&self) -> String {
35
36
  self.inner.to_string()
36
37
  }
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
38
  }
@@ -2,6 +2,7 @@ use dpp::consensus::basic::identity::IdentityAssetLockTransactionOutPointAlready
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::ConsensusError;
4
4
  use dpp::dashcore::hashes::Hash;
5
+ use dpp::serialization::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  use crate::buffer::Buffer;
@@ -43,13 +44,4 @@ impl IdentityAssetLockTransactionOutPointAlreadyExistsErrorWasm {
43
44
  pub fn message(&self) -> String {
44
45
  self.inner.to_string()
45
46
  }
46
-
47
- #[wasm_bindgen(js_name=serialize)]
48
- pub fn serialize(&self) -> Result<Buffer, JsError> {
49
- let bytes = ConsensusError::from(self.inner.clone())
50
- .serialize()
51
- .map_err(JsError::from)?;
52
-
53
- Ok(Buffer::from_bytes(bytes.as_slice()))
54
- }
55
47
  }
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::identity::IdentityAssetLockTransactionOutputNotFoundError;
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=IdentityAssetLockTransactionOutputNotFoundError)]
@@ -33,13 +34,4 @@ impl IdentityAssetLockTransactionOutputNotFoundErrorWasm {
33
34
  pub fn message(&self) -> String {
34
35
  self.inner.to_string()
35
36
  }
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
37
  }
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::identity::IdentityInsufficientBalanceError;
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=IdentityInsufficientBalanceError)]
@@ -36,13 +37,4 @@ impl IdentityInsufficientBalanceErrorWasm {
36
37
  pub fn message(&self) -> String {
37
38
  self.inner.to_string()
38
39
  }
39
-
40
- #[wasm_bindgen(js_name=serialize)]
41
- pub fn serialize(&self) -> Result<Buffer, JsError> {
42
- let bytes = ConsensusError::from(self.inner.clone())
43
- .serialize()
44
- .map_err(JsError::from)?;
45
-
46
- Ok(Buffer::from_bytes(bytes.as_slice()))
47
- }
48
40
  }
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::identity::InvalidAssetLockProofCoreChainHeightError;
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=InvalidAssetLockProofCoreChainHeightError)]
@@ -38,13 +39,4 @@ impl InvalidAssetLockProofCoreChainHeightErrorWasm {
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::basic::identity::InvalidAssetLockProofTransactionHeightError;
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=InvalidAssetLockProofTransactionHeightError)]
@@ -38,13 +39,4 @@ impl InvalidAssetLockProofTransactionHeightErrorWasm {
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::basic::identity::InvalidAssetLockTransactionOutputReturnSizeError;
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=InvalidAssetLockTransactionOutputReturnSizeError)]
@@ -33,13 +34,4 @@ impl InvalidAssetLockTransactionOutputReturnSizeErrorWasm {
33
34
  pub fn message(&self) -> String {
34
35
  self.inner.to_string()
35
36
  }
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
37
  }
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::identity::InvalidIdentityAssetLockTransactionError;
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=InvalidIdentityAssetLockTransactionError)]
@@ -33,13 +34,4 @@ impl InvalidIdentityAssetLockTransactionErrorWasm {
33
34
  pub fn message(&self) -> String {
34
35
  self.inner.to_string()
35
36
  }
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
37
  }
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::identity::InvalidIdentityAssetLockTransactionOutputError;
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=InvalidIdentityAssetLockTransactionOutputError)]
@@ -33,13 +34,4 @@ impl InvalidIdentityAssetLockTransactionOutputErrorWasm {
33
34
  pub fn message(&self) -> String {
34
35
  self.inner.to_string()
35
36
  }
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
37
  }
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::identity::InvalidIdentityCreditWithdrawalTransitionCoreFeeError;
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=InvalidIdentityCreditWithdrawalTransitionCoreFeeError)]
@@ -33,13 +34,4 @@ impl InvalidIdentityCreditWithdrawalTransitionCoreFeeErrorWasm {
33
34
  pub fn message(&self) -> String {
34
35
  self.inner.to_string()
35
36
  }
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
37
  }
@@ -1,6 +1,7 @@
1
1
  use dpp::consensus::basic::identity::InvalidIdentityCreditWithdrawalTransitionOutputScriptError;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::ConsensusError;
4
+ use dpp::serialization::PlatformSerializable;
4
5
  use wasm_bindgen::prelude::*;
5
6
 
6
7
  use crate::buffer::Buffer;
@@ -29,13 +30,4 @@ impl InvalidIdentityCreditWithdrawalTransitionOutputScriptErrorWasm {
29
30
  pub fn message(&self) -> String {
30
31
  self.inner.to_string()
31
32
  }
32
-
33
- #[wasm_bindgen(js_name=serialize)]
34
- pub fn serialize(&self) -> Result<Buffer, JsError> {
35
- let bytes = ConsensusError::from(self.inner.clone())
36
- .serialize()
37
- .map_err(JsError::from)?;
38
-
39
- Ok(Buffer::from_bytes(bytes.as_slice()))
40
- }
41
33
  }
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::identity::NotImplementedIdentityCreditWithdrawalTransitionPoolingError;
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=NotImplementedIdentityCreditWithdrawalTransitionPoolingError)]
@@ -33,13 +34,4 @@ impl NotImplementedIdentityCreditWithdrawalTransitionPoolingErrorWasm {
33
34
  pub fn message(&self) -> String {
34
35
  self.inner.to_string()
35
36
  }
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
37
  }
@@ -3,6 +3,7 @@ use dpp::consensus::basic::identity::InvalidIdentityKeySignatureError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
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=InvalidIdentityKeySignatureError)]
@@ -32,13 +33,4 @@ impl InvalidIdentityKeySignatureErrorWasm {
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
  }
@@ -4,6 +4,7 @@ use dpp::errors::consensus::codes::ErrorWithCode;
4
4
  use crate::buffer::Buffer;
5
5
  use dpp::consensus::ConsensusError;
6
6
  use dpp::errors::consensus::ConsensusError as DPPConsensusError;
7
+ use dpp::serialization::PlatformSerializable;
7
8
  use wasm_bindgen::prelude::*;
8
9
 
9
10
  #[wasm_bindgen(js_name=InvalidIdentityPublicKeyDataError)]
@@ -39,13 +40,4 @@ impl InvalidIdentityPublicKeyDataErrorWasm {
39
40
  pub fn message(&self) -> String {
40
41
  self.inner.to_string()
41
42
  }
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
43
  }
@@ -4,6 +4,7 @@ use dpp::errors::consensus::codes::ErrorWithCode;
4
4
  use crate::buffer::Buffer;
5
5
  use dpp::consensus::ConsensusError;
6
6
  use dpp::errors::consensus::ConsensusError as DPPConsensusError;
7
+ use dpp::serialization::PlatformSerializable;
7
8
  use wasm_bindgen::prelude::*;
8
9
 
9
10
  #[wasm_bindgen(js_name=InvalidIdentityPublicKeySecurityLevelError)]
@@ -46,13 +47,4 @@ impl InvalidIdentityPublicKeySecurityLevelErrorWasm {
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
  }
@@ -6,6 +6,7 @@ use dpp::consensus::codes::ErrorWithCode;
6
6
  use dpp::consensus::signature::InvalidIdentityPublicKeyTypeError;
7
7
  use dpp::consensus::ConsensusError;
8
8
  use dpp::identity::KeyType;
9
+ use dpp::serialization::PlatformSerializable;
9
10
  use wasm_bindgen::prelude::*;
10
11
 
11
12
  #[wasm_bindgen(js_name=InvalidIdentityPublicKeyTypeError)]
@@ -44,13 +45,4 @@ impl InvalidIdentityPublicKeyTypeErrorWasm {
44
45
  pub fn message(&self) -> String {
45
46
  self.inner.to_string()
46
47
  }
47
-
48
- #[wasm_bindgen(js_name=serialize)]
49
- pub fn serialize(&self) -> Result<Buffer, JsError> {
50
- let bytes = ConsensusError::from(self.inner.clone())
51
- .serialize()
52
- .map_err(JsError::from)?;
53
-
54
- Ok(Buffer::from_bytes(bytes.as_slice()))
55
- }
56
48
  }
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::identity::InvalidInstantAssetLockProofError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=InvalidInstantAssetLockProofError)]
@@ -26,13 +27,4 @@ impl InvalidInstantAssetLockProofErrorWasm {
26
27
  pub fn message(&self) -> String {
27
28
  self.inner.to_string()
28
29
  }
29
-
30
- #[wasm_bindgen(js_name=serialize)]
31
- pub fn serialize(&self) -> Result<Buffer, JsError> {
32
- let bytes = ConsensusError::from(self.inner.clone())
33
- .serialize()
34
- .map_err(JsError::from)?;
35
-
36
- Ok(Buffer::from_bytes(bytes.as_slice()))
37
- }
38
30
  }
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::identity::InvalidInstantAssetLockProofSignatureError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=InvalidInstantAssetLockProofSignatureError)]
@@ -28,13 +29,4 @@ impl InvalidInstantAssetLockProofSignatureErrorWasm {
28
29
  pub fn message(&self) -> String {
29
30
  self.inner.to_string()
30
31
  }
31
-
32
- #[wasm_bindgen(js_name=serialize)]
33
- pub fn serialize(&self) -> Result<Buffer, JsError> {
34
- let bytes = ConsensusError::from(self.inner.clone())
35
- .serialize()
36
- .map_err(JsError::from)?;
37
-
38
- Ok(Buffer::from_bytes(bytes.as_slice()))
39
- }
40
32
  }
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::identity::MissingMasterPublicKeyError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=MissingMasterPublicKeyError)]
@@ -26,13 +27,4 @@ impl MissingMasterPublicKeyErrorWasm {
26
27
  pub fn message(&self) -> String {
27
28
  self.inner.to_string()
28
29
  }
29
-
30
- #[wasm_bindgen(js_name=serialize)]
31
- pub fn serialize(&self) -> Result<Buffer, JsError> {
32
- let bytes = ConsensusError::from(self.inner.clone())
33
- .serialize()
34
- .map_err(JsError::from)?;
35
-
36
- Ok(Buffer::from_bytes(bytes.as_slice()))
37
- }
38
30
  }
@@ -3,6 +3,7 @@ use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::signature::MissingPublicKeyError;
4
4
  use dpp::consensus::ConsensusError;
5
5
  use dpp::identity::KeyID;
6
+ use dpp::serialization::PlatformSerializable;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
8
9
  #[wasm_bindgen(js_name=MissingPublicKeyError)]
@@ -32,13 +33,4 @@ impl MissingPublicKeyErrorWasm {
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::basic::IncompatibleProtocolVersionError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
5
 
6
+ use dpp::serialization::PlatformSerializable;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
8
9
  #[wasm_bindgen(js_name=IncompatibleProtocolVersionError)]
@@ -37,13 +38,4 @@ impl IncompatibleProtocolVersionErrorWasm {
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
  }
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::invalid_identifier_error::InvalidIdentifierError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=InvalidIdentifierError)]
@@ -36,13 +37,4 @@ impl InvalidIdentifierErrorWasm {
36
37
  pub fn message(&self) -> String {
37
38
  self.inner.to_string()
38
39
  }
39
-
40
- #[wasm_bindgen(js_name=serialize)]
41
- pub fn serialize(&self) -> Result<Buffer, JsError> {
42
- let bytes = ConsensusError::from(self.inner.clone())
43
- .serialize()
44
- .map_err(JsError::from)?;
45
-
46
- Ok(Buffer::from_bytes(bytes.as_slice()))
47
- }
48
40
  }
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::signature::InvalidSignaturePublicKeySecurityLevelError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=InvalidSignaturePublicKeySecurityLevelError)]
@@ -25,12 +26,12 @@ impl InvalidSignaturePublicKeySecurityLevelErrorWasm {
25
26
  }
26
27
 
27
28
  #[wasm_bindgen(js_name=getKeySecurityLevelRequirement)]
28
- pub fn get_allowed_key_security_levels(&self) -> Vec<u8> {
29
- self.inner
30
- .allowed_key_security_levels()
31
- .iter()
32
- .map(|security_level| *security_level as u8)
33
- .collect()
29
+ pub fn get_allowed_key_security_levels(&self) -> js_sys::Array {
30
+ let array = js_sys::Array::new();
31
+ for security_level in self.inner.allowed_key_security_levels() {
32
+ array.push(&JsValue::from(security_level as u32));
33
+ }
34
+ array
34
35
  }
35
36
 
36
37
  #[wasm_bindgen(js_name=getCode)]
@@ -42,13 +43,4 @@ impl InvalidSignaturePublicKeySecurityLevelErrorWasm {
42
43
  pub fn message(&self) -> String {
43
44
  self.inner.to_string()
44
45
  }
45
-
46
- #[wasm_bindgen(js_name=serialize)]
47
- pub fn serialize(&self) -> Result<Buffer, JsError> {
48
- let bytes = ConsensusError::from(self.inner.clone())
49
- .serialize()
50
- .map_err(JsError::from)?;
51
-
52
- Ok(Buffer::from_bytes(bytes.as_slice()))
53
- }
54
46
  }
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::signature::InvalidStateTransitionSignatureError;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=InvalidStateTransitionSignatureError)]
@@ -26,13 +27,4 @@ impl InvalidStateTransitionSignatureErrorWasm {
26
27
  pub fn message(&self) -> String {
27
28
  self.inner.to_string()
28
29
  }
29
-
30
- #[wasm_bindgen(js_name=serialize)]
31
- pub fn serialize(&self) -> Result<Buffer, JsError> {
32
- let bytes = ConsensusError::from(self.inner.clone())
33
- .serialize()
34
- .map_err(JsError::from)?;
35
-
36
- Ok(Buffer::from_bytes(bytes.as_slice()))
37
- }
38
30
  }
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::json_schema_compilation_error::JsonSchemaCompilationError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
+ use dpp::serialization::PlatformSerializable;
5
6
  use wasm_bindgen::prelude::*;
6
7
 
7
8
  #[wasm_bindgen(js_name=JsonSchemaCompilationError)]
@@ -31,13 +32,4 @@ impl JsonSchemaCompilationErrorWasm {
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
  }
@@ -6,6 +6,7 @@ use dpp::errors::consensus::codes::ErrorWithCode;
6
6
  use dpp::errors::consensus::ConsensusError;
7
7
 
8
8
  use crate::buffer::Buffer;
9
+ use dpp::serialization::PlatformSerializable;
9
10
  use wasm_bindgen::prelude::*;
10
11
 
11
12
  #[wasm_bindgen(js_name=JsonSchemaError, inspectable)]
@@ -63,13 +64,4 @@ impl JsonSchemaErrorWasm {
63
64
  pub fn message(&self) -> String {
64
65
  self.inner.to_string()
65
66
  }
66
-
67
- #[wasm_bindgen(js_name=serialize)]
68
- pub fn serialize(&self) -> Result<Buffer, JsError> {
69
- let bytes = ConsensusError::from(self.inner.clone())
70
- .serialize()
71
- .map_err(JsError::from)?;
72
-
73
- Ok(Buffer::from_bytes(bytes.as_slice()))
74
- }
75
67
  }
@@ -14,6 +14,7 @@ pub mod state_transition;
14
14
  #[cfg(test)]
15
15
  mod test_consensus_error;
16
16
  mod unsupported_protocol_version_error;
17
+ mod unsupported_version_error;
17
18
  mod wrong_public_key_purpose_error;
18
19
 
19
20
  pub use incompatible_protocol_version_error::*;
@@ -27,4 +28,5 @@ pub use public_key_security_level_not_met_error::*;
27
28
  #[cfg(test)]
28
29
  pub use test_consensus_error::*;
29
30
  pub use unsupported_protocol_version_error::*;
31
+ pub use unsupported_version_error::*;
30
32
  pub use wrong_public_key_purpose_error::*;
@@ -3,6 +3,7 @@ use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::signature::PublicKeyIsDisabledError;
4
4
  use dpp::consensus::ConsensusError;
5
5
  use dpp::identity::KeyID;
6
+ use dpp::serialization::PlatformSerializable;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
8
9
  #[wasm_bindgen(js_name=PublicKeyIsDisabledError)]
@@ -32,13 +33,4 @@ impl PublicKeyIsDisabledErrorWasm {
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
  }