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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/Cargo.toml +27 -3
  2. package/dist/errors/patchConsensusErrors.js +94 -115
  3. package/dist/wasm/wasm_dpp.d.ts +2124 -4081
  4. package/dist/wasm/wasm_dpp.js +17746 -2656
  5. package/dist/wasm/wasm_dpp_bg.js +1 -1
  6. package/lib/dpp.ts +1 -1
  7. package/lib/errors/patchConsensusErrors.ts +94 -93
  8. package/lib/test/bootstrap.js +5 -0
  9. package/lib/test/fixtures/getDataContractFixture.js +11 -5
  10. package/lib/test/fixtures/getDocumentsFixture.js +4 -4
  11. package/lib/test/fixtures/getIdentityCreateTransitionFixture.js +13 -19
  12. package/lib/test/fixtures/getIdentityCreditTransferTransitionFixture.js +14 -0
  13. package/lib/test/fixtures/getIdentityFixture.js +21 -32
  14. package/lib/test/fixtures/getIdentityTopUpTransitionFixture.js +7 -10
  15. package/lib/test/fixtures/getIdentityUpdateTransitionFixture.js +13 -28
  16. package/lib/test/fixtures/getPrivateAndPublicKeyForSigningFixture.js +7 -9
  17. package/lib/wasm/wasm_dpp.d.ts +2124 -4081
  18. package/package.json +5 -5
  19. package/scripts/build-wasm.sh +6 -9
  20. package/src/dash_platform_protocol.rs +172 -195
  21. package/src/data_contract/data_contract.rs +264 -200
  22. package/src/data_contract/data_contract_facade.rs +24 -46
  23. package/src/data_contract/errors/mod.rs +1 -0
  24. package/src/data_contract/mod.rs +2 -2
  25. package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +91 -79
  26. package/src/data_contract/state_transition/data_contract_update_transition/mod.rs +84 -73
  27. package/src/data_contract_factory/data_contract_factory.rs +39 -83
  28. package/src/document/document_facade.rs +74 -81
  29. package/src/document/errors/document_already_exists_error.rs +6 -6
  30. package/src/document/errors/document_no_revision_error.rs +1 -0
  31. package/src/document/errors/document_not_provided_error.rs +6 -6
  32. package/src/document/errors/invalid_document_action_error.rs +11 -7
  33. package/src/document/errors/invalid_initial_revision_error.rs +4 -4
  34. package/src/document/errors/mismatch_owners_ids_error.rs +5 -8
  35. package/src/document/errors/mod.rs +5 -0
  36. package/src/document/errors/revision_absent_error.rs +6 -6
  37. package/src/document/errors/trying_to_delete_immutable_document_error.rs +19 -0
  38. package/src/document/errors/trying_to_replace_immutable_document_error.rs +4 -4
  39. package/src/document/extended_document.rs +76 -76
  40. package/src/document/factory.rs +127 -123
  41. package/src/document/generate_document_id.rs +2 -2
  42. package/src/document/mod.rs +162 -148
  43. package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +50 -48
  44. package/src/document/state_transition/document_batch_transition/document_transition/document_delete_transition.rs +14 -14
  45. package/src/document/state_transition/document_batch_transition/document_transition/document_replace_transition.rs +50 -38
  46. package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +165 -153
  47. package/src/document/state_transition/document_batch_transition/mod.rs +230 -217
  48. package/src/errors/consensus/basic/data_contract/data_contract_have_new_unique_index_error.rs +2 -10
  49. package/src/errors/consensus/basic/data_contract/data_contract_immutable_properties_update_error.rs +1 -10
  50. package/src/errors/consensus/basic/data_contract/data_contract_invalid_index_definition_update_error.rs +2 -11
  51. package/src/errors/consensus/basic/data_contract/data_contract_max_depth_exceed_error.rs +1 -10
  52. package/src/errors/consensus/basic/data_contract/data_contract_unique_indices_changed_error.rs +1 -10
  53. package/src/errors/consensus/basic/data_contract/duplicate_index_name_error.rs +1 -10
  54. package/src/errors/consensus/basic/data_contract/incompatible_data_contract_schema_error.rs +1 -10
  55. package/src/errors/consensus/basic/data_contract/incompatible_re2_pattern_error.rs +1 -10
  56. package/src/errors/consensus/basic/data_contract/index_error/duplicate_index_error.rs +1 -10
  57. package/src/errors/consensus/basic/data_contract/index_error/invalid_compound_index_error.rs +1 -10
  58. package/src/errors/consensus/basic/data_contract/index_error/invalid_index_property_type_error.rs +1 -10
  59. package/src/errors/consensus/basic/data_contract/index_error/invalid_indexed_property_constraint_error.rs +1 -10
  60. package/src/errors/consensus/basic/data_contract/index_error/system_property_index_already_present_error.rs +1 -10
  61. package/src/errors/consensus/basic/data_contract/index_error/undefined_index_property_error.rs +1 -10
  62. package/src/errors/consensus/basic/data_contract/index_error/unique_indices_limit_reached_error.rs +1 -10
  63. package/src/errors/consensus/basic/data_contract/invalid_data_contract_id_error.rs +1 -10
  64. package/src/errors/consensus/basic/data_contract/invalid_data_contract_version_error.rs +1 -10
  65. package/src/errors/consensus/basic/data_contract/invalid_json_schema_ref_error.rs +1 -10
  66. package/src/errors/consensus/basic/decode/protocol_version_parsing_error.rs +10 -8
  67. package/src/errors/consensus/basic/decode/serialized_object_parsing_error.rs +1 -10
  68. package/src/errors/consensus/basic/document/data_contract_not_present_error.rs +1 -10
  69. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_ids_error.rs +1 -10
  70. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_indices_error.rs +1 -10
  71. package/src/errors/consensus/basic/document/inconsistent_compound_index_data_error.rs +1 -10
  72. package/src/errors/consensus/basic/document/invalid_document_transition_action_error.rs +1 -10
  73. package/src/errors/consensus/basic/document/invalid_document_transition_id_error.rs +1 -10
  74. package/src/errors/consensus/basic/document/invalid_document_type_error.rs +1 -10
  75. package/src/errors/consensus/basic/document/missing_data_contract_id_error.rs +1 -10
  76. package/src/errors/consensus/basic/document/missing_document_transition_action_error.rs +1 -10
  77. package/src/errors/consensus/basic/document/missing_document_transition_type_error.rs +1 -10
  78. package/src/errors/consensus/basic/document/missing_document_type_error.rs +1 -10
  79. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_error.rs +1 -10
  80. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_error.rs +1 -10
  81. package/src/errors/consensus/basic/identity/identity_asset_lock_proof_locked_transaction_mismatch_error.rs +1 -10
  82. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_is_not_found_error.rs +1 -10
  83. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs +1 -10
  84. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs +1 -10
  85. package/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +1 -10
  86. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_core_chain_height_error.rs +1 -10
  87. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_transaction_height_error.rs +1 -10
  88. package/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size_error.rs +1 -10
  89. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs +1 -10
  90. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs +1 -10
  91. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_core_fee_error.rs +1 -10
  92. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_output_script_error.rs +1 -10
  93. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_pooling_error.rs +1 -10
  94. package/src/errors/consensus/basic/identity/invalid_identity_key_signature_error.rs +1 -10
  95. package/src/errors/consensus/basic/identity/invalid_identity_public_key_data_error.rs +1 -10
  96. package/src/errors/consensus/basic/identity/invalid_identity_public_key_security_level_error.rs +1 -10
  97. package/src/errors/consensus/basic/identity/invalid_identity_public_key_type_error.rs +1 -10
  98. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs +1 -10
  99. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_signature_error.rs +1 -10
  100. package/src/errors/consensus/basic/identity/missing_master_public_key_error.rs +1 -10
  101. package/src/errors/consensus/basic/identity/missing_public_key_error.rs +1 -10
  102. package/src/errors/consensus/basic/incompatible_protocol_version_error.rs +1 -10
  103. package/src/errors/consensus/basic/invalid_identifier_error.rs +1 -10
  104. package/src/errors/consensus/basic/invalid_signature_public_key_security_level_error.rs +1 -10
  105. package/src/errors/consensus/basic/invalid_state_transition_signature_error.rs +1 -10
  106. package/src/errors/consensus/basic/json_schema_compilation_error.rs +1 -10
  107. package/src/errors/consensus/basic/json_schema_error.rs +1 -9
  108. package/src/errors/consensus/basic/mod.rs +2 -0
  109. package/src/errors/consensus/basic/public_key_is_disabled_error.rs +1 -10
  110. package/src/errors/consensus/basic/public_key_security_level_not_met_error.rs +2 -11
  111. package/src/errors/consensus/basic/state_transition/invalid_state_transition_type_error.rs +1 -10
  112. package/src/errors/consensus/basic/state_transition/missing_state_transition_type_error.rs +1 -10
  113. package/src/errors/consensus/basic/state_transition/state_transition_max_size_exceeded_error.rs +1 -10
  114. package/src/errors/consensus/basic/unsupported_protocol_version_error.rs +1 -10
  115. package/src/errors/consensus/basic/unsupported_version_error.rs +44 -0
  116. package/src/errors/consensus/basic/wrong_public_key_purpose_error.rs +1 -10
  117. package/src/errors/consensus/consensus_error.rs +39 -21
  118. package/src/errors/consensus/deserialize.rs +2 -2
  119. package/src/errors/consensus/fee/balance_is_not_enough_error.rs +5 -3
  120. package/src/errors/consensus/signature/basic_bls_error.rs +1 -10
  121. package/src/errors/consensus/signature/basic_ecdsa_error.rs +1 -10
  122. package/src/errors/consensus/signature/identity_not_found_error.rs +4 -3
  123. package/src/errors/consensus/signature/signature_should_not_be_present_error.rs +1 -10
  124. package/src/errors/consensus/state/data_contract/data_contract_already_present_error.rs +3 -3
  125. package/src/errors/consensus/state/data_contract/data_contract_config_update_error.rs +42 -0
  126. package/src/errors/consensus/state/data_contract/data_contract_is_readonly_error.rs +44 -0
  127. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_condition_error.rs +2 -2
  128. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_execution_error.rs +2 -2
  129. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_invalid_result_error.rs +2 -2
  130. package/src/errors/consensus/state/data_contract/mod.rs +7 -1
  131. package/src/errors/consensus/state/document/document_already_present_error.rs +1 -10
  132. package/src/errors/consensus/state/document/document_not_found_error.rs +1 -10
  133. package/src/errors/consensus/state/document/document_owner_id_mismatch_error.rs +1 -10
  134. package/src/errors/consensus/state/document/document_timestamp_window_violation_error.rs +1 -10
  135. package/src/errors/consensus/state/document/document_timestamps_are_equal_error.rs +1 -10
  136. package/src/errors/consensus/state/document/document_timestamps_mismatch_error.rs +1 -10
  137. package/src/errors/consensus/state/document/duplicate_unique_index_error.rs +1 -10
  138. package/src/errors/consensus/state/document/invalid_document_revision_error.rs +9 -13
  139. package/src/errors/consensus/state/identity/duplicated_identity_public_key_id_state_error.rs +1 -10
  140. package/src/errors/consensus/state/identity/duplicated_identity_public_key_state_error.rs +1 -10
  141. package/src/errors/consensus/state/identity/identity_already_exists_error.rs +1 -10
  142. package/src/errors/consensus/state/identity/identity_public_key_disabled_at_window_violation_error.rs +1 -10
  143. package/src/errors/consensus/state/identity/identity_public_key_is_disabled_error.rs +1 -10
  144. package/src/errors/consensus/state/identity/identity_public_key_is_read_only_error.rs +1 -10
  145. package/src/errors/consensus/state/identity/invalid_identity_public_key_id_error.rs +2 -10
  146. package/src/errors/consensus/state/identity/invalid_identity_revision_error.rs +1 -10
  147. package/src/errors/consensus/state/identity/max_identity_public_key_limit_reached_error.rs +1 -10
  148. package/src/errors/consensus/value_error.rs +1 -10
  149. package/src/errors/from.rs +12 -8
  150. package/src/errors/mod.rs +7 -7
  151. package/src/identity/factory_utils.rs +10 -10
  152. package/src/identity/identity.rs +275 -0
  153. package/src/identity/identity_facade.rs +87 -70
  154. package/src/identity/identity_factory.rs +74 -54
  155. package/src/identity/identity_public_key/mod.rs +86 -62
  156. package/src/identity/mod.rs +25 -256
  157. package/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof_structure_validator.rs +0 -1
  158. package/src/identity/state_transition/asset_lock_proof/chain/mod.rs +3 -1
  159. package/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof_structure_validator.rs +0 -1
  160. package/src/identity/state_transition/asset_lock_proof/instant/mod.rs +3 -1
  161. package/src/identity/state_transition/asset_lock_proof/mod.rs +112 -116
  162. package/src/identity/state_transition/identity_create_transition/identity_create_transition.rs +66 -52
  163. package/src/identity/state_transition/identity_create_transition/identity_create_transition_basic_validator.rs +0 -1
  164. package/src/identity/state_transition/identity_create_transition/mod.rs +3 -3
  165. package/src/identity/state_transition/identity_create_transition/to_object.rs +9 -11
  166. package/src/identity/state_transition/identity_credit_transfer_transition/apply_identity_credit_transfer_transition.rs +31 -0
  167. package/src/identity/state_transition/identity_credit_transfer_transition/identity_credit_transfer_transition_basic_validator.rs +66 -0
  168. package/src/identity/state_transition/identity_credit_transfer_transition/identity_credit_transfer_transition_state_validator.rs +44 -0
  169. package/src/identity/state_transition/identity_credit_transfer_transition/mod.rs +8 -0
  170. package/src/identity/state_transition/identity_credit_transfer_transition/to_object.rs +49 -0
  171. package/src/identity/state_transition/identity_credit_transfer_transition/transition.rs +344 -0
  172. package/src/identity/state_transition/identity_public_key_transitions.rs +81 -66
  173. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition.rs +64 -51
  174. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition_basic_validator.rs +0 -2
  175. package/src/identity/state_transition/identity_topup_transition/mod.rs +3 -3
  176. package/src/identity/state_transition/identity_topup_transition/to_object.rs +8 -12
  177. package/src/identity/state_transition/identity_update_transition/identity_update_transition.rs +95 -92
  178. package/src/identity/state_transition/identity_update_transition/mod.rs +4 -4
  179. package/src/identity/state_transition/identity_update_transition/to_object.rs +14 -18
  180. package/src/identity/state_transition/mod.rs +4 -2
  181. package/src/identity/state_transition/transition_types.rs +4 -0
  182. package/src/lib.rs +9 -9
  183. package/src/metadata.rs +3 -3
  184. package/src/protocol_version.rs +2 -2
  185. package/src/state_transition/conversion.rs +11 -1
  186. package/src/state_transition/errors/invalid_state_transition_error.rs +9 -9
  187. package/src/state_transition/fee/operations/pre_calculated_operation.rs +2 -1
  188. package/src/state_transition/mod.rs +137 -139
  189. package/src/state_transition/state_transition_facade.rs +2 -3
  190. package/src/state_transition/state_transition_factory.rs +142 -153
  191. package/src/state_transition/validation/state_transition_fee_validator.rs +1 -1
  192. package/src/state_transition/validation/validate_state_transition_identity_signature.rs +8 -4
  193. package/src/state_transition/validation/validate_state_transition_key_signature.rs +1 -1
  194. package/src/utils.rs +4 -2
  195. package/src/validation/validation_result.rs +1 -1
  196. package/test/integration/dataContract/DataContractFacade.spec.js +11 -15
  197. package/test/integration/dataContract/stateTransition/DataContractCreateTransition/validation/basic/validateDataContractCreateTransitionBasicFactory.spec.js +1 -1
  198. package/test/integration/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateDataContractUpdateTransitionBasicFactory.spec.js +1 -1
  199. package/test/integration/dataContract/validation/validateDataContractFactory.spec.js +1 -1
  200. package/test/integration/document/Document.spec.js +3 -3
  201. package/test/integration/document/DocumentFacade.spec.js +34 -33
  202. package/test/integration/document/stateTransition/DocumentsBatchTransition/DocumentBatchTransition.spec.js +1 -1
  203. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/basic/validateDocumentsBatchTransitionBasicFactory.spec.js +1 -1
  204. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/state/executeDataTriggersFactory.spec.js +1 -1
  205. package/test/integration/document/validation/validateDocumentFactory.spec.js +1 -1
  206. package/test/integration/identity/IdentityFacade.spec.js +29 -58
  207. package/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js +2 -2
  208. package/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js +1 -1
  209. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/basic/validateIdentityUpdateTransitionBasicFactory.spec.js +1 -1
  210. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory.spec.js +2 -2
  211. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validatePublicKeysState.spec.js +2 -2
  212. package/test/integration/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory.spec.js +1 -1
  213. package/test/integration/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory.spec.js +2 -2
  214. package/test/integration/identity/stateTransition/assetLockProof/instant/validateInstantAssetLockProofStructureFactory.spec.js +1 -1
  215. package/test/integration/identity/stateTransition/assetLockProof/validateAssetLockTransactionFactory.spec.js +4 -3
  216. package/test/integration/identity/stateTransition/validatePublicKeySignaturesFactory.spec.js +1 -1
  217. package/test/integration/identity/validation/validateIdentityFactory.spec.js +2 -2
  218. package/test/integration/identity/validation/validatePublicKeysFactory.spec.js +1 -1
  219. package/test/integration/stateTransition/StateTransitionFacade.spec.js +39 -48
  220. package/test/integration/util/generateTemporaryEcdsaPrivateKey.spec.js +1 -1
  221. package/test/unit/DashPlatformProtocol.spec.js +4 -18
  222. package/test/unit/dataContract/DataContract.spec.js +100 -121
  223. package/test/unit/dataContract/DataContractFactory.spec.js +21 -1
  224. package/test/unit/dataContract/createDataContract.spec.js +1 -1
  225. package/test/unit/dataContract/generateDataContractId.spec.js +1 -1
  226. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition.spec.js +23 -13
  227. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory.spec.js +1 -1
  228. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory.spec.js +1 -1
  229. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +16 -7
  230. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory.spec.js +1 -1
  231. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateIndicesAreBackwardCompatible.spec.js +1 -1
  232. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory.spec.js +1 -1
  233. package/test/unit/dataContract/validation/validateDataContractPatterns.spec.js +1 -1
  234. package/test/unit/document/Document.spec.js +18 -10
  235. package/test/unit/document/DocumentFactory.spec.js +10 -23
  236. package/test/unit/document/fetchAndValidateDataContractFactory.spec.js +1 -1
  237. package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +4 -4
  238. package/test/unit/document/stateTransition/DocumetsBatchTransition/applyDocumentsBatchTransitionFactory.spec.js +1 -1
  239. package/test/unit/document/stateTransition/DocumetsBatchTransition/documentTransition/DocumentCreateTransition.spec.js +1 -1
  240. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesById.spec.js +1 -1
  241. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js +1 -1
  242. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/validatePartialCompoundIndices.spec.js +1 -1
  243. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/fetchDocumentsFactory.spec.js +1 -1
  244. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsBatchTransitionStateFactory.spec.js +1 -1
  245. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsUniquenessByIndicesFactory.spec.js +1 -1
  246. package/test/unit/identity/Identity.spec.js +34 -74
  247. package/test/unit/identity/IdentityFactory.spec.js +55 -68
  248. package/test/unit/identity/IdentityPublicKey.spec.js +30 -47
  249. package/test/unit/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition.spec.js +23 -55
  250. package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +2 -2
  251. package/test/unit/identity/stateTransition/IdentityCreateTransition/validation/state/validateIdentityCreateTransitionStateFactory.spec.js +2 -2
  252. package/test/unit/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition.spec.js +7 -28
  253. package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +4 -4
  254. package/test/unit/identity/stateTransition/IdentityTopUpTransition/validation/state/validateIdentityTopUpTransitionStateFactory.spec.js +2 -2
  255. package/test/unit/identity/stateTransition/IdentityUpdateTransition/IdentityUpdateTransition.spec.js +19 -36
  256. package/test/unit/identity/stateTransition/IdentityUpdateTransition/applyIdentityUpdateTransitionFactory.spec.js +3 -3
  257. package/test/unit/identity/stateTransition/assetLockProof/fetchAssetLockPublicKeyHashFactory.spec.js +1 -1
  258. package/test/unit/identity/stateTransition/identityCreditTransferTransition/identityCreditTransferTransition.spec.js +130 -0
  259. package/test/unit/stateTransition/StateTransitionExecutionContext.spec.js +1 -1
  260. package/test/unit/stateTransition/StateTransitionFactory.spec.js +13 -18
  261. package/test/unit/stateTransition/createStateTransitionFactory.spec.js +1 -1
  262. package/test/unit/stateTransition/validation/validateStateTransitionBasicFactory.spec.js +1 -1
  263. package/test/unit/stateTransition/validation/validateStateTransitionFeeFactory.spec.js +1 -1
  264. package/test/unit/stateTransition/validation/validateStateTransitionIdentitySignatureFactory.spec.js +1 -1
  265. package/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js +2 -2
  266. package/test/unit/stateTransition/validation/validateStateTransitionStateFactory.spec.js +1 -1
  267. package/test/unit/version/validateProtocolVersionFactory.spec.js +1 -1
  268. package/test-d/index.test-d.ts +2 -2
  269. package/src/data_contract/state_transition/data_contract_create_transition/apply.rs +0 -45
  270. package/src/data_contract/state_transition/data_contract_update_transition/apply.rs +0 -49
  271. package/src/document/state_transition/document_batch_transition/apply_document_batch_transition.rs +0 -25
@@ -1,15 +1,8 @@
1
1
  use dpp::identity::KeyID;
2
2
 
3
3
  use dpp::{
4
- document::{
5
- document_transition::document_base_transition,
6
- state_transition::documents_batch_transition::property_names, DocumentsBatchTransition,
7
- },
8
- prelude::{DataContract, DocumentTransition, Identifier},
9
- state_transition::{
10
- StateTransitionConvert, StateTransitionIdentitySigned, StateTransitionLike,
11
- StateTransitionType,
12
- },
4
+ prelude::{DataContract, Identifier},
5
+ state_transition::{StateTransitionFieldTypes, StateTransitionLike, StateTransitionType},
13
6
  util::json_value::JsonValueExt,
14
7
  ProtocolError,
15
8
  };
@@ -19,22 +12,29 @@ use serde::{Deserialize, Serialize};
19
12
  use dpp::consensus::signature::SignatureError;
20
13
  use dpp::consensus::ConsensusError;
21
14
  use dpp::platform_value::{BinaryData, ReplacementType};
22
- use dpp::serialization_traits::PlatformSerializable;
15
+ use dpp::serialization::PlatformSerializable;
16
+ use dpp::state_transition::documents_batch_transition::accessors::DocumentsBatchTransitionAccessorsV0;
17
+ use dpp::state_transition::documents_batch_transition::document_transition::DocumentTransition;
18
+ use dpp::state_transition::documents_batch_transition::DocumentsBatchTransition;
23
19
  use dpp::state_transition::StateTransition;
24
20
  use wasm_bindgen::prelude::*;
25
21
 
26
22
  use crate::{
27
23
  bls_adapter::{BlsAdapter, JsBlsAdapter},
28
24
  buffer::Buffer,
29
- document_batch_transition::document_transition::DocumentTransitionWasm,
30
25
  identifier::IdentifierWrapper,
31
26
  lodash::lodash_set,
32
27
  utils::{Inner, IntoWasm, ToSerdeJSONExt, WithJsError},
33
28
  IdentityPublicKeyWasm,
34
29
  };
35
- pub mod apply_document_batch_transition;
30
+
31
+ use document_transition::DocumentTransitionWasm;
32
+ use dpp::state_transition::documents_batch_transition::methods::v0::DocumentsBatchTransitionMethodsV0;
33
+
34
+ use dpp::state_transition::StateTransitionIdentitySigned;
35
+
36
36
  pub mod document_transition;
37
- pub mod validation;
37
+ // pub mod validation;
38
38
 
39
39
  #[derive(Clone, Debug)]
40
40
  #[wasm_bindgen(js_name = DocumentsBatchTransition)]
@@ -51,44 +51,44 @@ pub struct ToObjectOptions {
51
51
 
52
52
  #[wasm_bindgen(js_class=DocumentsBatchTransition)]
53
53
  impl DocumentsBatchTransitionWasm {
54
- #[wasm_bindgen(constructor)]
55
- pub fn from_raw_object(
56
- js_raw_transition: JsValue,
57
- data_contracts: Array,
58
- ) -> Result<DocumentsBatchTransitionWasm, JsValue> {
59
- let data_contracts_array_js = Array::from(&data_contracts);
60
-
61
- let mut data_contracts: Vec<DataContract> = vec![];
62
-
63
- for contract in data_contracts_array_js.iter() {
64
- let value = contract.with_serde_to_platform_value()?;
65
- let data_contract = DataContract::from_raw_object(value).with_js_error()?;
66
- data_contracts.push(data_contract);
67
- }
68
-
69
- let mut batch_transition_value = js_raw_transition.with_serde_to_platform_value()?;
70
- let base_identifier_fields = document_base_transition::IDENTIFIER_FIELDS
71
- .iter()
72
- .map(|field| format!("{}[].{}", property_names::TRANSITIONS, field))
73
- .collect::<Vec<_>>();
74
- batch_transition_value
75
- .replace_at_paths(
76
- DocumentsBatchTransition::identifiers_property_paths()
77
- .into_iter()
78
- .chain(base_identifier_fields.iter().map(|s| s.as_str())),
79
- ReplacementType::Identifier,
80
- )
81
- .map_err(ProtocolError::ValueError)
82
- .with_js_error()?;
83
-
84
- let documents_batch_transition = DocumentsBatchTransition::from_raw_object_with_contracts(
85
- batch_transition_value,
86
- data_contracts,
87
- )
88
- .with_js_error()?;
89
-
90
- Ok(documents_batch_transition.into())
91
- }
54
+ // #[wasm_bindgen(constructor)]
55
+ // pub fn from_object(
56
+ // js_raw_transition: JsValue,
57
+ // data_contracts: Array,
58
+ // ) -> Result<DocumentsBatchTransitionWasm, JsValue> {
59
+ // let data_contracts_array_js = Array::from(&data_contracts);
60
+ //
61
+ // let mut data_contracts: Vec<DataContract> = vec![];
62
+ //
63
+ // for contract in data_contracts_array_js.iter() {
64
+ // let value = contract.with_serde_to_platform_value()?;
65
+ // let data_contract = DataContract::from_value(value).with_js_error()?;
66
+ // data_contracts.push(data_contract);
67
+ // }
68
+ //
69
+ // let mut batch_transition_value = js_raw_transition.with_serde_to_platform_value()?;
70
+ // let base_identifier_fields = document_base_transition::IDENTIFIER_FIELDS
71
+ // .iter()
72
+ // .map(|field| format!("{}[].{}", property_names::TRANSITIONS, field))
73
+ // .collect::<Vec<_>>();
74
+ // batch_transition_value
75
+ // .replace_at_paths(
76
+ // DocumentsBatchTransition::identifiers_property_paths()
77
+ // .into_iter()
78
+ // .chain(base_identifier_fields.iter().map(|s| s.as_str())),
79
+ // ReplacementType::Identifier,
80
+ // )
81
+ // .map_err(ProtocolError::ValueError)
82
+ // .with_js_error()?;
83
+ //
84
+ // let documents_batch_transition = DocumentsBatchTransition::from_object_with_contracts(
85
+ // batch_transition_value,
86
+ // data_contracts,
87
+ // )
88
+ // .with_js_error()?;
89
+ //
90
+ // Ok(documents_batch_transition.into())
91
+ // }
92
92
 
93
93
  #[wasm_bindgen(js_name=getType)]
94
94
  pub fn get_type(&self) -> u8 {
@@ -97,13 +97,13 @@ impl DocumentsBatchTransitionWasm {
97
97
 
98
98
  #[wasm_bindgen(js_name=getOwnerId)]
99
99
  pub fn get_owner_id(&self) -> IdentifierWrapper {
100
- self.0.get_owner_id().to_owned().into()
100
+ self.0.owner_id().to_owned().into()
101
101
  }
102
102
 
103
103
  #[wasm_bindgen(js_name=getTransitions)]
104
104
  pub fn get_transitions(&self) -> js_sys::Array {
105
105
  let array = js_sys::Array::new();
106
- let transitions = self.0.get_transitions();
106
+ let transitions = self.0.transitions();
107
107
 
108
108
  for tr in transitions.iter().cloned() {
109
109
  let transition: DocumentTransitionWasm = tr.into();
@@ -124,131 +124,132 @@ impl DocumentsBatchTransitionWasm {
124
124
  transitions.push(transition)
125
125
  }
126
126
 
127
- self.0.transitions = transitions;
127
+ self.0.set_transitions(transitions);
128
+
128
129
  Ok(())
129
130
  }
130
131
 
131
- #[wasm_bindgen(js_name=toJSON)]
132
- pub fn to_json(&self) -> Result<JsValue, JsValue> {
133
- let value = self.0.to_json(false).with_js_error()?;
134
- let serializer = serde_wasm_bindgen::Serializer::json_compatible();
135
-
136
- let is_null_signature = value.get(property_names::SIGNATURE).is_none();
137
- let is_null_signature_public_key_id =
138
- value.get(property_names::SIGNATURE_PUBLIC_KEY_ID).is_none();
139
-
140
- let js_value = value.serialize(&serializer)?;
141
-
142
- if is_null_signature {
143
- js_sys::Reflect::set(
144
- &js_value,
145
- &property_names::SIGNATURE.into(),
146
- &JsValue::undefined(),
147
- )?;
148
- }
149
- if is_null_signature_public_key_id {
150
- js_sys::Reflect::set(
151
- &js_value,
152
- &property_names::SIGNATURE_PUBLIC_KEY_ID.into(),
153
- &JsValue::undefined(),
154
- )?;
155
- }
156
-
157
- Ok(js_value)
158
- }
159
-
160
- #[wasm_bindgen(js_name=toObject)]
161
- pub fn to_object(&self, js_options: &JsValue) -> Result<JsValue, JsValue> {
162
- let options: ToObjectOptions = if js_options.is_object() {
163
- let raw_options = js_options.with_serde_to_json_value()?;
164
- serde_json::from_value(raw_options).with_js_error()?
165
- } else {
166
- Default::default()
167
- };
168
-
169
- let mut value = self
170
- .0
171
- .to_cleaned_object(options.skip_signature)
172
- .with_js_error()?;
173
- let serializer = serde_wasm_bindgen::Serializer::json_compatible();
174
- let js_value = value.serialize(&serializer)?;
175
- let is_signature_present = value
176
- .get(property_names::SIGNATURE)
177
- .map_err(ProtocolError::ValueError)
178
- .with_js_error()?
179
- .is_some();
180
-
181
- // Transform every transition individually
182
- let transitions = Array::new();
183
- for transition in self.0.transitions.iter() {
184
- let js_value =
185
- DocumentTransitionWasm::from(transition.to_owned()).to_object(js_options)?;
186
- transitions.push(&js_value);
187
- }
188
- // Replace the whole collection of transitions
189
- Reflect::set(
190
- &js_value,
191
- &property_names::TRANSITIONS.into(),
192
- &transitions.into(),
193
- )?;
194
-
195
- // Transform paths that are specific to the DocumentsBatchTransition
196
- for path in DocumentsBatchTransition::binary_property_paths() {
197
- if let Some(bytes) = value
198
- .remove_optional_value_at_path(path)
199
- .and_then(|value| value.map(|value| value.to_binary_bytes()).transpose())
200
- .map_err(ProtocolError::ValueError)
201
- .with_js_error()?
202
- {
203
- let buffer = Buffer::from_bytes_owned(bytes);
204
- lodash_set(&js_value, path, buffer.into());
205
- }
206
- }
207
- for path in DocumentsBatchTransition::identifiers_property_paths() {
208
- if let Some(bytes) = value
209
- .remove_optional_value_at_path(path)
210
- .and_then(|value| value.map(|value| value.to_identifier_bytes()).transpose())
211
- .map_err(ProtocolError::ValueError)
212
- .with_js_error()?
213
- {
214
- let buffer = Buffer::from_bytes_owned(bytes);
215
- if !options.skip_identifiers_conversion {
216
- lodash_set(&js_value, path, buffer.into());
217
- } else {
218
- let id = IdentifierWrapper::new(buffer.into());
219
- lodash_set(&js_value, path, id.into());
220
- }
221
- }
222
- }
223
-
224
- if !is_signature_present && !options.skip_signature {
225
- js_sys::Reflect::set(
226
- &js_value,
227
- &property_names::SIGNATURE.into(),
228
- &JsValue::undefined(),
229
- )?;
230
- }
231
- if value
232
- .get(property_names::SIGNATURE_PUBLIC_KEY_ID)
233
- .map_err(ProtocolError::ValueError)
234
- .with_js_error()?
235
- .is_none()
236
- {
237
- js_sys::Reflect::set(
238
- &js_value,
239
- &property_names::SIGNATURE_PUBLIC_KEY_ID.into(),
240
- &JsValue::undefined(),
241
- )?;
242
- }
243
-
244
- Ok(js_value)
245
- }
132
+ // #[wasm_bindgen(js_name=toJSON)]
133
+ // pub fn to_json(&self) -> Result<JsValue, JsValue> {
134
+ // let value = self.0.to_json(false).with_js_error()?;
135
+ // let serializer = serde_wasm_bindgen::Serializer::json_compatible();
136
+ //
137
+ // let is_null_signature = value.get(property_names::SIGNATURE).is_none();
138
+ // let is_null_signature_public_key_id =
139
+ // value.get(property_names::SIGNATURE_PUBLIC_KEY_ID).is_none();
140
+ //
141
+ // let js_value = value.serialize(&serializer)?;
142
+ //
143
+ // if is_null_signature {
144
+ // js_sys::Reflect::set(
145
+ // &js_value,
146
+ // &property_names::SIGNATURE.into(),
147
+ // &JsValue::undefined(),
148
+ // )?;
149
+ // }
150
+ // if is_null_signature_public_key_id {
151
+ // js_sys::Reflect::set(
152
+ // &js_value,
153
+ // &property_names::SIGNATURE_PUBLIC_KEY_ID.into(),
154
+ // &JsValue::undefined(),
155
+ // )?;
156
+ // }
157
+ //
158
+ // Ok(js_value)
159
+ // }
160
+
161
+ // #[wasm_bindgen(js_name=toObject)]
162
+ // pub fn to_object(&self, js_options: &JsValue) -> Result<JsValue, JsValue> {
163
+ // let options: ToObjectOptions = if js_options.is_object() {
164
+ // let raw_options = js_options.with_serde_to_json_value()?;
165
+ // serde_json::from_value(raw_options).with_js_error()?
166
+ // } else {
167
+ // Default::default()
168
+ // };
169
+ //
170
+ // let mut value = self
171
+ // .0
172
+ // .to_cleaned_object(options.skip_signature)
173
+ // .with_js_error()?;
174
+ // let serializer = serde_wasm_bindgen::Serializer::json_compatible();
175
+ // let js_value = value.serialize(&serializer)?;
176
+ // let is_signature_present = value
177
+ // .get(property_names::SIGNATURE)
178
+ // .map_err(ProtocolError::ValueError)
179
+ // .with_js_error()?
180
+ // .is_some();
181
+ //
182
+ // // Transform every transition individually
183
+ // let transitions = Array::new();
184
+ // for transition in self.0.transitions.iter() {
185
+ // let js_value =
186
+ // DocumentTransitionWasm::from(transition.to_owned()).to_object(js_options)?;
187
+ // transitions.push(&js_value);
188
+ // }
189
+ // // Replace the whole collection of transitions
190
+ // Reflect::set(
191
+ // &js_value,
192
+ // &property_names::TRANSITIONS.into(),
193
+ // &transitions.into(),
194
+ // )?;
195
+ //
196
+ // // Transform paths that are specific to the DocumentsBatchTransition
197
+ // for path in DocumentsBatchTransition::binary_property_paths() {
198
+ // if let Some(bytes) = value
199
+ // .remove_optional_value_at_path(path)
200
+ // .and_then(|value| value.map(|value| value.to_binary_bytes()).transpose())
201
+ // .map_err(ProtocolError::ValueError)
202
+ // .with_js_error()?
203
+ // {
204
+ // let buffer = Buffer::from_bytes_owned(bytes);
205
+ // lodash_set(&js_value, path, buffer.into());
206
+ // }
207
+ // }
208
+ // for path in DocumentsBatchTransition::identifiers_property_paths() {
209
+ // if let Some(bytes) = value
210
+ // .remove_optional_value_at_path(path)
211
+ // .and_then(|value| value.map(|value| value.to_identifier_bytes()).transpose())
212
+ // .map_err(ProtocolError::ValueError)
213
+ // .with_js_error()?
214
+ // {
215
+ // let buffer = Buffer::from_bytes_owned(bytes);
216
+ // if !options.skip_identifiers_conversion {
217
+ // lodash_set(&js_value, path, buffer.into());
218
+ // } else {
219
+ // let id = IdentifierWrapper::new(buffer.into());
220
+ // lodash_set(&js_value, path, id.into());
221
+ // }
222
+ // }
223
+ // }
224
+ //
225
+ // if !is_signature_present && !options.skip_signature {
226
+ // js_sys::Reflect::set(
227
+ // &js_value,
228
+ // &property_names::SIGNATURE.into(),
229
+ // &JsValue::undefined(),
230
+ // )?;
231
+ // }
232
+ // if value
233
+ // .get(property_names::SIGNATURE_PUBLIC_KEY_ID)
234
+ // .map_err(ProtocolError::ValueError)
235
+ // .with_js_error()?
236
+ // .is_none()
237
+ // {
238
+ // js_sys::Reflect::set(
239
+ // &js_value,
240
+ // &property_names::SIGNATURE_PUBLIC_KEY_ID.into(),
241
+ // &JsValue::undefined(),
242
+ // )?;
243
+ // }
244
+ //
245
+ // Ok(js_value)
246
+ // }
246
247
 
247
248
  #[wasm_bindgen(js_name=getModifiedDataIds)]
248
249
  pub fn get_modified_ids(&self) -> Array {
249
250
  let array = Array::new();
250
251
 
251
- for id in self.0.get_modified_data_ids() {
252
+ for id in self.0.modified_data_ids() {
252
253
  let id = <IdentifierWrapper as From<Identifier>>::from(id.to_owned());
253
254
  array.push(&id.into());
254
255
  }
@@ -258,8 +259,8 @@ impl DocumentsBatchTransitionWasm {
258
259
 
259
260
  // AbstractSTateTransitionIdentitySigned methods
260
261
  #[wasm_bindgen(js_name=getSignaturePublicKeyId)]
261
- pub fn get_signature_public_key_id(&self) -> Option<f64> {
262
- self.0.get_signature_public_key_id().map(|v| v as f64)
262
+ pub fn get_signature_public_key_id(&self) -> u32 {
263
+ self.0.signature_public_key_id()
263
264
  }
264
265
 
265
266
  #[wasm_bindgen(js_name=sign)]
@@ -269,34 +270,46 @@ impl DocumentsBatchTransitionWasm {
269
270
  private_key: &[u8],
270
271
  bls: JsBlsAdapter,
271
272
  ) -> Result<(), JsValue> {
272
- self.0
273
+ let bls_adapter = BlsAdapter(bls);
274
+
275
+ // TODO: come up with a better way to set signature to the binding.
276
+ let mut state_transition = StateTransition::DocumentsBatch(self.0.clone());
277
+ state_transition
273
278
  .sign(
274
279
  &identity_public_key.to_owned().into(),
275
- private_key,
276
- &BlsAdapter(bls),
280
+ &private_key,
281
+ &bls_adapter,
277
282
  )
278
- .with_js_error()
279
- }
283
+ .with_js_error()?;
280
284
 
281
- #[wasm_bindgen(js_name=verifyPublicKeyLevelAndPurpose)]
282
- pub fn verify_public_key_level_and_purpose(
283
- &self,
284
- public_key: &IdentityPublicKeyWasm,
285
- ) -> Result<(), JsValue> {
286
- self.0
287
- .verify_public_key_level_and_purpose(public_key.inner())
288
- .with_js_error()
289
- }
285
+ let signature = state_transition.signature().to_owned();
286
+ let signature_public_key_id = state_transition.signature_public_key_id().unwrap_or(0);
290
287
 
291
- #[wasm_bindgen(js_name=verifyPublicKeyIsEnabled)]
292
- pub fn verify_public_key_is_enabled(
293
- &self,
294
- public_key: &IdentityPublicKeyWasm,
295
- ) -> Result<(), JsValue> {
296
- self.0
297
- .verify_public_key_is_enabled(public_key.inner())
298
- .with_js_error()
288
+ self.0.set_signature(signature);
289
+ self.0.set_signature_public_key_id(signature_public_key_id);
290
+
291
+ Ok(())
299
292
  }
293
+ //
294
+ // #[wasm_bindgen(js_name=verifyPublicKeyLevelAndPurpose)]
295
+ // pub fn verify_public_key_level_and_purpose(
296
+ // &self,
297
+ // public_key: &IdentityPublicKeyWasm,
298
+ // ) -> Result<(), JsValue> {
299
+ // self.0
300
+ // .verify_public_key_level_and_purpose(public_key.inner())
301
+ // .with_js_error()
302
+ // }
303
+ //
304
+ // #[wasm_bindgen(js_name=verifyPublicKeyIsEnabled)]
305
+ // pub fn verify_public_key_is_enabled(
306
+ // &self,
307
+ // public_key: &IdentityPublicKeyWasm,
308
+ // ) -> Result<(), JsValue> {
309
+ // self.0
310
+ // .verify_public_key_is_enabled(public_key.inner())
311
+ // .with_js_error()
312
+ // }
300
313
 
301
314
  #[wasm_bindgen(js_name=verifySignature)]
302
315
  pub fn verify_signature(
@@ -306,8 +319,7 @@ impl DocumentsBatchTransitionWasm {
306
319
  ) -> Result<bool, JsValue> {
307
320
  let bls_adapter = BlsAdapter(bls);
308
321
 
309
- let verification_result = self
310
- .0
322
+ let verification_result = StateTransition::DocumentsBatch(self.0.clone())
311
323
  .verify_signature(&identity_public_key.to_owned().into(), &bls_adapter);
312
324
 
313
325
  match verification_result {
@@ -333,21 +345,21 @@ impl DocumentsBatchTransitionWasm {
333
345
  #[wasm_bindgen(js_name=getKeySecurityLevelRequirement)]
334
346
  pub fn get_security_level_requirement(&self) -> js_sys::Array {
335
347
  let array = js_sys::Array::new();
336
- for security_level in self.0.get_security_level_requirement() {
348
+ for security_level in self.0.security_level_requirement() {
337
349
  array.push(&JsValue::from(security_level as u32));
338
350
  }
339
351
  array
340
352
  }
341
353
 
342
354
  // AbstractStateTransition methods
343
- #[wasm_bindgen(js_name=getProtocolVersion)]
344
- pub fn get_protocol_version(&self) -> u32 {
345
- self.0.get_protocol_version()
346
- }
355
+ // #[wasm_bindgen(js_name=getProtocolVersion)]
356
+ // pub fn get_protocol_version(&self) -> u32 {
357
+ // self.0.state_transition_protocol_version()
358
+ // }
347
359
 
348
360
  #[wasm_bindgen(js_name=getSignature)]
349
361
  pub fn get_signature(&self) -> Vec<u8> {
350
- self.0.get_signature().to_vec()
362
+ self.0.signature().to_vec()
351
363
  }
352
364
 
353
365
  #[wasm_bindgen(js_name=setSignature)]
@@ -372,24 +384,25 @@ impl DocumentsBatchTransitionWasm {
372
384
 
373
385
  #[wasm_bindgen(js_name=toBuffer)]
374
386
  pub fn to_buffer(&self) -> Result<Buffer, JsValue> {
375
- let bytes =
376
- PlatformSerializable::serialize(&StateTransition::DocumentsBatch(self.0.clone()))
377
- .with_js_error()?;
387
+ let bytes = PlatformSerializable::serialize_to_bytes(&StateTransition::DocumentsBatch(
388
+ self.0.clone(),
389
+ ))
390
+ .with_js_error()?;
378
391
  Ok(Buffer::from_bytes(&bytes))
379
392
  }
380
393
 
381
- #[wasm_bindgen(js_name=hash)]
382
- pub fn hash(&self, options: JsValue) -> Result<Buffer, JsValue> {
383
- let skip_signature = if options.is_object() {
384
- let options = options.with_serde_to_json_value()?;
385
- options.get_bool("skipSignature").unwrap_or_default()
386
- } else {
387
- false
388
- };
389
- let bytes = self.0.hash(skip_signature).with_js_error()?;
390
-
391
- Ok(Buffer::from_bytes(&bytes))
392
- }
394
+ // #[wasm_bindgen(js_name=hash)]
395
+ // pub fn hash(&self, options: JsValue) -> Result<Buffer, JsValue> {
396
+ // let skip_signature = if options.is_object() {
397
+ // let options = options.with_serde_to_json_value()?;
398
+ // options.get_bool("skipSignature").unwrap_or_default()
399
+ // } else {
400
+ // false
401
+ // };
402
+ // let bytes = self.0.hash(skip_signature).with_js_error()?;
403
+ //
404
+ // Ok(Buffer::from_bytes(&bytes))
405
+ // }
393
406
  }
394
407
 
395
408
  impl From<DocumentsBatchTransition> for DocumentsBatchTransitionWasm {
@@ -2,7 +2,8 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::data_contract::DataContractHaveNewUniqueIndexError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
- use dpp::serialization_traits::PlatformSerializable;
5
+ use dpp::serialization::PlatformSerializable;
6
+ use serde::Serialize;
6
7
  use wasm_bindgen::prelude::*;
7
8
 
8
9
  #[wasm_bindgen(js_name=DataContractHaveNewUniqueIndexError)]
@@ -37,13 +38,4 @@ impl DataContractHaveNewUniqueIndexErrorWasm {
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,7 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::data_contract::DataContractImmutablePropertiesUpdateError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
- use dpp::serialization_traits::PlatformSerializable;
5
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=DataContractImmutablePropertiesUpdateError)]
@@ -39,13 +39,4 @@ impl DataContractImmutablePropertiesUpdateErrorWasm {
39
39
  pub fn message(&self) -> String {
40
40
  self.inner.to_string()
41
41
  }
42
-
43
- #[wasm_bindgen(js_name=serialize)]
44
- pub fn serialize(&self) -> Result<Buffer, JsError> {
45
- let bytes = ConsensusError::from(self.inner.clone())
46
- .serialize()
47
- .map_err(JsError::from)?;
48
-
49
- Ok(Buffer::from_bytes(bytes.as_slice()))
50
- }
51
42
  }
@@ -2,7 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::data_contract::DataContractInvalidIndexDefinitionUpdateError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
- use dpp::serialization_traits::PlatformSerializable;
5
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=DataContractInvalidIndexDefinitionUpdateError)]
@@ -27,7 +27,7 @@ impl DataContractInvalidIndexDefinitionUpdateErrorWasm {
27
27
 
28
28
  #[wasm_bindgen(js_name=getIndexName)]
29
29
  pub fn get_index_name(&self) -> String {
30
- self.inner.index_name().to_string()
30
+ self.inner.index_path().to_string()
31
31
  }
32
32
 
33
33
  #[wasm_bindgen(js_name=getCode)]
@@ -39,13 +39,4 @@ impl DataContractInvalidIndexDefinitionUpdateErrorWasm {
39
39
  pub fn message(&self) -> String {
40
40
  self.inner.to_string()
41
41
  }
42
-
43
- #[wasm_bindgen(js_name=serialize)]
44
- pub fn serialize(&self) -> Result<Buffer, JsError> {
45
- let bytes = ConsensusError::from(self.inner.clone())
46
- .serialize()
47
- .map_err(JsError::from)?;
48
-
49
- Ok(Buffer::from_bytes(bytes.as_slice()))
50
- }
51
42
  }
@@ -2,7 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::data_contract::data_contract_max_depth_exceed_error::DataContractMaxDepthExceedError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
- use dpp::serialization_traits::PlatformSerializable;
5
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=DataContractMaxDepthExceedError)]
@@ -37,13 +37,4 @@ impl DataContractMaxDepthExceedErrorWasm {
37
37
  pub fn message(&self) -> String {
38
38
  self.inner.to_string()
39
39
  }
40
-
41
- #[wasm_bindgen(js_name=serialize)]
42
- pub fn serialize(&self) -> Result<Buffer, JsError> {
43
- let bytes = ConsensusError::from(self.inner.clone())
44
- .serialize()
45
- .map_err(JsError::from)?;
46
-
47
- Ok(Buffer::from_bytes(bytes.as_slice()))
48
- }
49
40
  }