@dashevo/wasm-dpp 0.25.0-dev.9 → 0.25.0

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 (295) hide show
  1. package/Cargo.toml +33 -7
  2. package/README.md +11 -6
  3. package/dist/errors/patchConsensusErrors.js +94 -115
  4. package/dist/wasm/wasm_dpp.d.ts +2213 -4113
  5. package/dist/wasm/wasm_dpp.js +17748 -2639
  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 +2213 -4113
  26. package/package.json +6 -6
  27. package/scripts/build-wasm.sh +30 -29
  28. package/src/bls_adapter.rs +1 -1
  29. package/src/dash_platform_protocol.rs +173 -196
  30. package/src/data_contract/data_contract.rs +309 -199
  31. package/src/data_contract/data_contract_facade.rs +28 -47
  32. package/src/data_contract/errors/mod.rs +1 -0
  33. package/src/data_contract/mod.rs +2 -2
  34. package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +92 -79
  35. package/src/data_contract/state_transition/data_contract_update_transition/mod.rs +84 -77
  36. package/src/data_contract_factory/data_contract_factory.rs +43 -83
  37. package/src/document/document_facade.rs +81 -76
  38. package/src/document/errors/document_already_exists_error.rs +6 -6
  39. package/src/document/errors/document_no_revision_error.rs +1 -0
  40. package/src/document/errors/document_not_provided_error.rs +6 -6
  41. package/src/document/errors/invalid_document_action_error.rs +11 -7
  42. package/src/document/errors/invalid_initial_revision_error.rs +4 -4
  43. package/src/document/errors/mismatch_owners_ids_error.rs +5 -8
  44. package/src/document/errors/mod.rs +5 -0
  45. package/src/document/errors/revision_absent_error.rs +6 -6
  46. package/src/document/errors/trying_to_delete_immutable_document_error.rs +19 -0
  47. package/src/document/errors/trying_to_replace_immutable_document_error.rs +4 -4
  48. package/src/document/extended_document.rs +76 -76
  49. package/src/document/factory.rs +140 -119
  50. package/src/document/generate_document_id.rs +2 -2
  51. package/src/document/mod.rs +164 -150
  52. package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +50 -48
  53. package/src/document/state_transition/document_batch_transition/document_transition/document_delete_transition.rs +14 -14
  54. package/src/document/state_transition/document_batch_transition/document_transition/document_replace_transition.rs +50 -38
  55. package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +165 -153
  56. package/src/document/state_transition/document_batch_transition/mod.rs +232 -222
  57. package/src/errors/consensus/basic/data_contract/data_contract_have_new_unique_index_error.rs +2 -9
  58. package/src/errors/consensus/basic/data_contract/data_contract_immutable_properties_update_error.rs +1 -9
  59. package/src/errors/consensus/basic/data_contract/data_contract_invalid_index_definition_update_error.rs +2 -10
  60. package/src/errors/consensus/basic/data_contract/data_contract_max_depth_exceed_error.rs +1 -9
  61. package/src/errors/consensus/basic/data_contract/data_contract_unique_indices_changed_error.rs +1 -9
  62. package/src/errors/consensus/basic/data_contract/duplicate_index_name_error.rs +1 -9
  63. package/src/errors/consensus/basic/data_contract/incompatible_data_contract_schema_error.rs +1 -9
  64. package/src/errors/consensus/basic/data_contract/incompatible_re2_pattern_error.rs +1 -9
  65. package/src/errors/consensus/basic/data_contract/index_error/duplicate_index_error.rs +1 -9
  66. package/src/errors/consensus/basic/data_contract/index_error/invalid_compound_index_error.rs +1 -9
  67. package/src/errors/consensus/basic/data_contract/index_error/invalid_index_property_type_error.rs +1 -9
  68. package/src/errors/consensus/basic/data_contract/index_error/invalid_indexed_property_constraint_error.rs +1 -9
  69. package/src/errors/consensus/basic/data_contract/index_error/system_property_index_already_present_error.rs +1 -9
  70. package/src/errors/consensus/basic/data_contract/index_error/undefined_index_property_error.rs +1 -9
  71. package/src/errors/consensus/basic/data_contract/index_error/unique_indices_limit_reached_error.rs +1 -9
  72. package/src/errors/consensus/basic/data_contract/invalid_data_contract_id_error.rs +1 -9
  73. package/src/errors/consensus/basic/data_contract/invalid_data_contract_version_error.rs +1 -9
  74. package/src/errors/consensus/basic/data_contract/invalid_json_schema_ref_error.rs +1 -9
  75. package/src/errors/consensus/basic/decode/protocol_version_parsing_error.rs +10 -7
  76. package/src/errors/consensus/basic/decode/serialized_object_parsing_error.rs +1 -9
  77. package/src/errors/consensus/basic/document/data_contract_not_present_error.rs +1 -9
  78. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_ids_error.rs +1 -9
  79. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_indices_error.rs +1 -9
  80. package/src/errors/consensus/basic/document/inconsistent_compound_index_data_error.rs +1 -9
  81. package/src/errors/consensus/basic/document/invalid_document_transition_action_error.rs +1 -9
  82. package/src/errors/consensus/basic/document/invalid_document_transition_id_error.rs +1 -9
  83. package/src/errors/consensus/basic/document/invalid_document_type_error.rs +1 -9
  84. package/src/errors/consensus/basic/document/missing_data_contract_id_error.rs +1 -9
  85. package/src/errors/consensus/basic/document/missing_document_transition_action_error.rs +1 -9
  86. package/src/errors/consensus/basic/document/missing_document_transition_type_error.rs +1 -9
  87. package/src/errors/consensus/basic/document/missing_document_type_error.rs +1 -9
  88. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_error.rs +1 -9
  89. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_error.rs +1 -9
  90. package/src/errors/consensus/basic/identity/identity_asset_lock_proof_locked_transaction_mismatch_error.rs +3 -11
  91. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_is_not_found_error.rs +1 -9
  92. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs +2 -10
  93. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs +1 -9
  94. package/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +1 -9
  95. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_core_chain_height_error.rs +1 -9
  96. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_transaction_height_error.rs +1 -9
  97. package/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size_error.rs +1 -9
  98. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_proof_chain_lock_validation_error.rs +1 -1
  99. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs +1 -9
  100. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs +1 -9
  101. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_core_fee_error.rs +1 -9
  102. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_output_script_error.rs +1 -9
  103. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_pooling_error.rs +1 -9
  104. package/src/errors/consensus/basic/identity/invalid_identity_key_signature_error.rs +1 -9
  105. package/src/errors/consensus/basic/identity/invalid_identity_public_key_data_error.rs +1 -9
  106. package/src/errors/consensus/basic/identity/invalid_identity_public_key_security_level_error.rs +1 -9
  107. package/src/errors/consensus/basic/identity/invalid_identity_public_key_type_error.rs +1 -9
  108. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs +1 -9
  109. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_signature_error.rs +1 -9
  110. package/src/errors/consensus/basic/identity/missing_master_public_key_error.rs +1 -9
  111. package/src/errors/consensus/basic/identity/missing_public_key_error.rs +1 -9
  112. package/src/errors/consensus/basic/incompatible_protocol_version_error.rs +1 -9
  113. package/src/errors/consensus/basic/invalid_identifier_error.rs +1 -9
  114. package/src/errors/consensus/basic/invalid_signature_public_key_security_level_error.rs +7 -15
  115. package/src/errors/consensus/basic/invalid_state_transition_signature_error.rs +1 -9
  116. package/src/errors/consensus/basic/json_schema_compilation_error.rs +1 -9
  117. package/src/errors/consensus/basic/json_schema_error.rs +1 -9
  118. package/src/errors/consensus/basic/mod.rs +2 -0
  119. package/src/errors/consensus/basic/public_key_is_disabled_error.rs +1 -9
  120. package/src/errors/consensus/basic/public_key_security_level_not_met_error.rs +2 -11
  121. package/src/errors/consensus/basic/state_transition/invalid_state_transition_type_error.rs +1 -9
  122. package/src/errors/consensus/basic/state_transition/missing_state_transition_type_error.rs +1 -9
  123. package/src/errors/consensus/basic/state_transition/state_transition_max_size_exceeded_error.rs +1 -9
  124. package/src/errors/consensus/basic/unsupported_protocol_version_error.rs +1 -9
  125. package/src/errors/consensus/basic/unsupported_version_error.rs +44 -0
  126. package/src/errors/consensus/basic/wrong_public_key_purpose_error.rs +1 -9
  127. package/src/errors/consensus/consensus_error.rs +44 -21
  128. package/src/errors/consensus/deserialize.rs +2 -1
  129. package/src/errors/consensus/fee/balance_is_not_enough_error.rs +5 -2
  130. package/src/errors/consensus/signature/basic_bls_error.rs +1 -9
  131. package/src/errors/consensus/signature/basic_ecdsa_error.rs +1 -9
  132. package/src/errors/consensus/signature/identity_not_found_error.rs +4 -2
  133. package/src/errors/consensus/signature/signature_should_not_be_present_error.rs +1 -9
  134. package/src/errors/consensus/state/data_contract/data_contract_already_present_error.rs +3 -2
  135. package/src/errors/consensus/state/data_contract/data_contract_config_update_error.rs +42 -0
  136. package/src/errors/consensus/state/data_contract/data_contract_is_readonly_error.rs +44 -0
  137. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_condition_error.rs +2 -1
  138. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_execution_error.rs +2 -1
  139. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_invalid_result_error.rs +2 -1
  140. package/src/errors/consensus/state/data_contract/mod.rs +7 -1
  141. package/src/errors/consensus/state/document/document_already_present_error.rs +1 -9
  142. package/src/errors/consensus/state/document/document_not_found_error.rs +1 -9
  143. package/src/errors/consensus/state/document/document_owner_id_mismatch_error.rs +1 -9
  144. package/src/errors/consensus/state/document/document_timestamp_window_violation_error.rs +1 -9
  145. package/src/errors/consensus/state/document/document_timestamps_are_equal_error.rs +34 -0
  146. package/src/errors/consensus/state/document/document_timestamps_mismatch_error.rs +1 -9
  147. package/src/errors/consensus/state/document/duplicate_unique_index_error.rs +1 -9
  148. package/src/errors/consensus/state/document/invalid_document_revision_error.rs +9 -12
  149. package/src/errors/consensus/state/document/mod.rs +2 -0
  150. package/src/errors/consensus/state/identity/duplicated_identity_public_key_id_state_error.rs +1 -9
  151. package/src/errors/consensus/state/identity/duplicated_identity_public_key_state_error.rs +1 -9
  152. package/src/errors/consensus/state/identity/identity_already_exists_error.rs +1 -9
  153. package/src/errors/consensus/state/identity/identity_public_key_disabled_at_window_violation_error.rs +1 -9
  154. package/src/errors/consensus/state/identity/identity_public_key_is_disabled_error.rs +1 -9
  155. package/src/errors/consensus/state/identity/identity_public_key_is_read_only_error.rs +1 -9
  156. package/src/errors/consensus/state/identity/invalid_identity_public_key_id_error.rs +2 -9
  157. package/src/errors/consensus/state/identity/invalid_identity_revision_error.rs +1 -9
  158. package/src/errors/consensus/state/identity/max_identity_public_key_limit_reached_error.rs +1 -9
  159. package/src/errors/consensus/value_error.rs +1 -9
  160. package/src/errors/from.rs +12 -8
  161. package/src/errors/mod.rs +7 -7
  162. package/src/errors/value_error.rs +5 -0
  163. package/src/identity/errors/asset_lock_transaction_is_not_found_error.rs +1 -2
  164. package/src/identity/factory_utils.rs +13 -13
  165. package/src/identity/identity.rs +275 -0
  166. package/src/identity/identity_facade.rs +87 -70
  167. package/src/identity/identity_factory.rs +74 -54
  168. package/src/identity/identity_public_key/mod.rs +87 -64
  169. package/src/identity/mod.rs +25 -247
  170. package/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof_structure_validator.rs +0 -1
  171. package/src/identity/state_transition/asset_lock_proof/chain/mod.rs +3 -1
  172. package/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs +2 -2
  173. package/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof_structure_validator.rs +0 -1
  174. package/src/identity/state_transition/asset_lock_proof/instant/mod.rs +3 -1
  175. package/src/identity/state_transition/asset_lock_proof/mod.rs +112 -116
  176. package/src/identity/state_transition/identity_create_transition/identity_create_transition.rs +71 -65
  177. package/src/identity/state_transition/identity_create_transition/identity_create_transition_basic_validator.rs +0 -1
  178. package/src/identity/state_transition/identity_create_transition/mod.rs +3 -3
  179. package/src/identity/state_transition/identity_create_transition/to_object.rs +10 -12
  180. package/src/identity/state_transition/identity_credit_transfer_transition/apply_identity_credit_transfer_transition.rs +31 -0
  181. package/src/identity/state_transition/identity_credit_transfer_transition/identity_credit_transfer_transition_basic_validator.rs +66 -0
  182. package/src/identity/state_transition/identity_credit_transfer_transition/identity_credit_transfer_transition_state_validator.rs +44 -0
  183. package/src/identity/state_transition/identity_credit_transfer_transition/mod.rs +8 -0
  184. package/src/identity/state_transition/identity_credit_transfer_transition/to_object.rs +49 -0
  185. package/src/identity/state_transition/identity_credit_transfer_transition/transition.rs +344 -0
  186. package/src/identity/state_transition/identity_public_key_transitions.rs +89 -75
  187. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition.rs +67 -62
  188. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition_basic_validator.rs +0 -2
  189. package/src/identity/state_transition/identity_topup_transition/mod.rs +3 -3
  190. package/src/identity/state_transition/identity_topup_transition/to_object.rs +8 -12
  191. package/src/identity/state_transition/identity_update_transition/identity_update_public_keys_validator.rs +2 -2
  192. package/src/identity/state_transition/identity_update_transition/identity_update_transition.rs +99 -104
  193. package/src/identity/state_transition/identity_update_transition/mod.rs +4 -4
  194. package/src/identity/state_transition/identity_update_transition/to_object.rs +15 -19
  195. package/src/identity/state_transition/mod.rs +5 -2
  196. package/src/identity/state_transition/transition_types.rs +34 -0
  197. package/src/identity/state_transition/validate_public_key_signatures.rs +2 -2
  198. package/src/lib.rs +10 -11
  199. package/src/metadata.rs +3 -3
  200. package/src/protocol_version.rs +7 -0
  201. package/src/state_transition/conversion.rs +11 -1
  202. package/src/state_transition/errors/invalid_state_transition_error.rs +12 -1
  203. package/src/state_transition/fee/operations/pre_calculated_operation.rs +2 -1
  204. package/src/state_transition/mod.rs +137 -139
  205. package/src/state_transition/state_transition_facade.rs +11 -11
  206. package/src/state_transition/state_transition_factory.rs +142 -153
  207. package/src/state_transition/validation/state_transition_fee_validator.rs +1 -1
  208. package/src/state_transition/validation/validate_state_transition_identity_signature.rs +28 -10
  209. package/src/state_transition/validation/validate_state_transition_key_signature.rs +1 -1
  210. package/src/utils.rs +7 -8
  211. package/src/validation/validation_result.rs +1 -0
  212. package/test/integration/dataContract/DataContractFacade.spec.js +25 -32
  213. package/test/integration/dataContract/stateTransition/DataContractCreateTransition/validation/basic/validateDataContractCreateTransitionBasicFactory.spec.js +6 -6
  214. package/test/integration/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateDataContractUpdateTransitionBasicFactory.spec.js +11 -10
  215. package/test/integration/dataContract/validation/validateDataContractFactory.spec.js +3 -3
  216. package/test/integration/document/Document.spec.js +3 -3
  217. package/test/integration/document/DocumentFacade.spec.js +39 -38
  218. package/test/integration/document/stateTransition/DocumentsBatchTransition/DocumentBatchTransition.spec.js +6 -7
  219. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/basic/validateDocumentsBatchTransitionBasicFactory.spec.js +15 -15
  220. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/state/executeDataTriggersFactory.spec.js +2 -2
  221. package/test/integration/document/validation/validateDocumentFactory.spec.js +3 -3
  222. package/test/integration/identity/IdentityFacade.spec.js +33 -62
  223. package/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js +6 -8
  224. package/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js +4 -7
  225. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/basic/validateIdentityUpdateTransitionBasicFactory.spec.js +1 -1
  226. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory.spec.js +21 -24
  227. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validatePublicKeysState.spec.js +2 -2
  228. package/test/integration/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory.spec.js +4 -4
  229. package/test/integration/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory.spec.js +7 -10
  230. package/test/integration/identity/stateTransition/assetLockProof/instant/validateInstantAssetLockProofStructureFactory.spec.js +4 -5
  231. package/test/integration/identity/stateTransition/assetLockProof/validateAssetLockTransactionFactory.spec.js +6 -6
  232. package/test/integration/identity/stateTransition/validatePublicKeySignaturesFactory.spec.js +3 -7
  233. package/test/integration/identity/validation/validateIdentityFactory.spec.js +7 -6
  234. package/test/integration/identity/validation/validatePublicKeysFactory.spec.js +5 -25
  235. package/test/integration/stateTransition/StateTransitionFacade.spec.js +45 -58
  236. package/test/integration/util/generateTemporaryEcdsaPrivateKey.spec.js +1 -1
  237. package/test/unit/DashPlatformProtocol.spec.js +10 -25
  238. package/test/unit/dataContract/DataContract.spec.js +119 -148
  239. package/test/unit/dataContract/DataContractFactory.spec.js +42 -31
  240. package/test/unit/dataContract/createDataContract.spec.js +6 -6
  241. package/test/unit/dataContract/generateDataContractId.spec.js +1 -1
  242. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition.spec.js +34 -26
  243. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory.spec.js +7 -9
  244. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory.spec.js +10 -9
  245. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +28 -19
  246. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory.spec.js +7 -7
  247. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateIndicesAreBackwardCompatible.spec.js +5 -5
  248. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory.spec.js +11 -10
  249. package/test/unit/dataContract/validation/validateDataContractPatterns.spec.js +7 -7
  250. package/test/unit/dataTrigger/dpnsTriggers/createDomainDataTrigger.spec.js +1 -1
  251. package/test/unit/document/Document.spec.js +31 -20
  252. package/test/unit/document/DocumentFactory.spec.js +45 -110
  253. package/test/unit/document/fetchAndValidateDataContractFactory.spec.js +1 -1
  254. package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +6 -7
  255. package/test/unit/document/stateTransition/DocumetsBatchTransition/applyDocumentsBatchTransitionFactory.spec.js +11 -12
  256. package/test/unit/document/stateTransition/DocumetsBatchTransition/documentTransition/DocumentCreateTransition.spec.js +1 -1
  257. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesById.spec.js +1 -1
  258. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js +1 -1
  259. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/validatePartialCompoundIndices.spec.js +1 -1
  260. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/fetchDocumentsFactory.spec.js +1 -1
  261. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsBatchTransitionStateFactory.spec.js +9 -9
  262. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsUniquenessByIndicesFactory.spec.js +1 -1
  263. package/test/unit/identity/Identity.spec.js +46 -81
  264. package/test/unit/identity/IdentityFactory.spec.js +61 -75
  265. package/test/unit/identity/IdentityPublicKey.spec.js +34 -48
  266. package/test/unit/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition.spec.js +30 -63
  267. package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +9 -15
  268. package/test/unit/identity/stateTransition/IdentityCreateTransition/validation/state/validateIdentityCreateTransitionStateFactory.spec.js +5 -9
  269. package/test/unit/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition.spec.js +13 -35
  270. package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +9 -13
  271. package/test/unit/identity/stateTransition/IdentityTopUpTransition/validation/state/validateIdentityTopUpTransitionStateFactory.spec.js +5 -9
  272. package/test/unit/identity/stateTransition/IdentityUpdateTransition/IdentityUpdateTransition.spec.js +24 -46
  273. package/test/unit/identity/stateTransition/IdentityUpdateTransition/applyIdentityUpdateTransitionFactory.spec.js +4 -4
  274. package/test/unit/identity/stateTransition/assetLockProof/fetchAssetLockPublicKeyHashFactory.spec.js +1 -1
  275. package/test/unit/identity/stateTransition/identityCreditTransferTransition/identityCreditTransferTransition.spec.js +130 -0
  276. package/test/unit/stateTransition/StateTransitionExecutionContext.spec.js +1 -1
  277. package/test/unit/stateTransition/StateTransitionFactory.spec.js +16 -22
  278. package/test/unit/stateTransition/createStateTransitionFactory.spec.js +43 -21
  279. package/test/unit/stateTransition/validation/validateStateTransitionBasicFactory.spec.js +3 -3
  280. package/test/unit/stateTransition/validation/validateStateTransitionFeeFactory.spec.js +5 -17
  281. package/test/unit/stateTransition/validation/validateStateTransitionIdentitySignatureFactory.spec.js +9 -5
  282. package/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js +8 -14
  283. package/test/unit/stateTransition/validation/validateStateTransitionStateFactory.spec.js +1 -1
  284. package/test/unit/version/validateProtocolVersionFactory.spec.js +1 -1
  285. package/test-d/index.test-d.ts +2 -2
  286. package/src/data_contract/state_transition/data_contract_create_transition/apply.rs +0 -45
  287. package/src/data_contract/state_transition/data_contract_update_transition/apply.rs +0 -49
  288. package/src/decode_protocol_entity.rs +0 -25
  289. package/src/document/state_transition/document_batch_transition/apply_document_batch_transition.rs +0 -25
  290. package/test/integration/ajv/keywords/byteArray/addByteArrayKeyword.spec.js +0 -148
  291. package/test/integration/util/generateEntropy.spec.js +0 -17
  292. package/test/integration/util/serializer.spec.js +0 -24
  293. package/test/unit/decodeProtocolEntityFactory.spec.js +0 -69
  294. package/test/unit/identity/errors/InvalidIdentityError.spec.js +0 -46
  295. 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;
@@ -24,13 +25,13 @@ impl IdentityAssetLockProofLockedTransactionMismatchErrorWasm {
24
25
  #[wasm_bindgen(js_name=getInstantLockTransactionId)]
25
26
  pub fn instant_lock_transaction_id(&self) -> Buffer {
26
27
  let tx_id = self.inner.instant_lock_transaction_id();
27
- Buffer::from_bytes(&tx_id)
28
+ Buffer::from_bytes(&tx_id.to_byte_array())
28
29
  }
29
30
 
30
31
  #[wasm_bindgen(js_name=getAssetLockTransactionId)]
31
32
  pub fn asset_lock_transaction_id(&self) -> Buffer {
32
33
  let tx_id = self.inner.asset_lock_transaction_id();
33
- let mut hash_bytes = tx_id.as_hash().into_inner();
34
+ let mut hash_bytes = tx_id.to_byte_array();
34
35
  hash_bytes.reverse();
35
36
 
36
37
  Buffer::from_bytes(&hash_bytes)
@@ -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;
@@ -29,7 +30,7 @@ impl IdentityAssetLockTransactionOutPointAlreadyExistsErrorWasm {
29
30
  #[wasm_bindgen(js_name=getTransactionId)]
30
31
  pub fn transaction_id(&self) -> Buffer {
31
32
  let tx_id = self.inner.transaction_id();
32
- let mut tx_id_bytes = tx_id.as_hash().into_inner();
33
+ let mut tx_id_bytes = tx_id.to_byte_array();
33
34
  tx_id_bytes.reverse();
34
35
  Buffer::from_bytes(&tx_id_bytes)
35
36
  }
@@ -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
  }
@@ -23,7 +23,7 @@ impl InvalidIdentityAssetLockProofChainLockValidationErrorWasm {
23
23
  #[wasm_bindgen(js_name=getTransactionId)]
24
24
  pub fn transaction_id(&self) -> Buffer {
25
25
  let tx_id = self.inner.transaction_id();
26
- let mut tx_id_bytes = tx_id.as_hash().into_inner();
26
+ let mut tx_id_bytes = tx_id.to_byte_array();
27
27
  tx_id_bytes.reverse();
28
28
  Buffer::from_bytes(&tx_id_bytes)
29
29
  }
@@ -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::*;