@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
@@ -2,7 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::document::document_already_present_error::DocumentAlreadyPresentError;
4
4
  use dpp::consensus::ConsensusError;
5
- use dpp::serialization_traits::PlatformSerializable;
5
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=DocumentAlreadyPresentError)]
@@ -32,13 +32,4 @@ impl DocumentAlreadyPresentErrorWasm {
32
32
  pub fn message(&self) -> String {
33
33
  self.inner.to_string()
34
34
  }
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
35
  }
@@ -2,7 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::document::document_not_found_error::DocumentNotFoundError;
4
4
  use dpp::consensus::ConsensusError;
5
- use dpp::serialization_traits::PlatformSerializable;
5
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=DocumentNotFoundError)]
@@ -32,13 +32,4 @@ impl DocumentNotFoundErrorWasm {
32
32
  pub fn message(&self) -> String {
33
33
  self.inner.to_string()
34
34
  }
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
35
  }
@@ -2,7 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::document::document_owner_id_mismatch_error::DocumentOwnerIdMismatchError;
4
4
  use dpp::consensus::ConsensusError;
5
- use dpp::serialization_traits::PlatformSerializable;
5
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=DocumentOwnerIdMismatchError)]
@@ -42,13 +42,4 @@ impl DocumentOwnerIdMismatchErrorWasm {
42
42
  pub fn message(&self) -> String {
43
43
  self.inner.to_string()
44
44
  }
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
45
  }
@@ -2,7 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::document::document_timestamp_window_violation_error::DocumentTimestampWindowViolationError;
4
4
  use dpp::consensus::ConsensusError;
5
- use dpp::serialization_traits::PlatformSerializable;
5
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=DocumentTimestampWindowViolationError)]
@@ -58,13 +58,4 @@ impl DocumentTimestampWindowViolationErrorWasm {
58
58
  pub fn message(&self) -> String {
59
59
  self.inner.to_string()
60
60
  }
61
-
62
- #[wasm_bindgen(js_name=serialize)]
63
- pub fn serialize(&self) -> Result<Buffer, JsError> {
64
- let bytes = ConsensusError::from(self.inner.clone())
65
- .serialize()
66
- .map_err(JsError::from)?;
67
-
68
- Ok(Buffer::from_bytes(bytes.as_slice()))
69
- }
70
61
  }
@@ -2,7 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::document::document_timestamps_are_equal_error::DocumentTimestampsAreEqualError;
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=DocumentTimestampsAreEqualError)]
@@ -31,13 +31,4 @@ impl DocumentTimestampsAreEqualErrorWasm {
31
31
  pub fn message(&self) -> String {
32
32
  self.inner.to_string()
33
33
  }
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(|e| JsError::from(e))?;
40
-
41
- Ok(Buffer::from_bytes(bytes.as_slice()))
42
- }
43
34
  }
@@ -2,7 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::document::document_timestamps_mismatch_error::DocumentTimestampsMismatchError;
4
4
  use dpp::consensus::ConsensusError;
5
- use dpp::serialization_traits::PlatformSerializable;
5
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=DocumentTimestampsMismatchError)]
@@ -31,13 +31,4 @@ impl DocumentTimestampsMismatchErrorWasm {
31
31
  pub fn message(&self) -> String {
32
32
  self.inner.to_string()
33
33
  }
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
34
  }
@@ -2,7 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::document::duplicate_unique_index_error::DuplicateUniqueIndexError;
4
4
  use dpp::consensus::ConsensusError;
5
- use dpp::serialization_traits::PlatformSerializable;
5
+ use dpp::serialization::PlatformSerializable;
6
6
  use js_sys::JsString;
7
7
  use wasm_bindgen::prelude::*;
8
8
 
@@ -42,13 +42,4 @@ impl DuplicateUniqueIndexErrorWasm {
42
42
  pub fn message(&self) -> String {
43
43
  self.inner.to_string()
44
44
  }
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
45
  }
@@ -3,7 +3,7 @@ use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::document::invalid_document_revision_error::InvalidDocumentRevisionError;
4
4
  use dpp::consensus::ConsensusError;
5
5
  use dpp::prelude::Revision;
6
- use dpp::serialization_traits::PlatformSerializable;
6
+ use dpp::serialization::PlatformSerializable;
7
7
  use wasm_bindgen::prelude::*;
8
8
 
9
9
  #[wasm_bindgen(js_name=InvalidDocumentRevisionError)]
@@ -24,9 +24,14 @@ impl InvalidDocumentRevisionErrorWasm {
24
24
  Buffer::from_bytes(self.inner.document_id().as_bytes())
25
25
  }
26
26
 
27
- #[wasm_bindgen(js_name=getCurrentRevision)]
28
- pub fn current_revision(&self) -> Option<Revision> {
29
- *self.inner.current_revision()
27
+ #[wasm_bindgen(js_name=getPreviousRevision)]
28
+ pub fn previous_revision(&self) -> Option<Revision> {
29
+ *self.inner.previous_revision()
30
+ }
31
+
32
+ #[wasm_bindgen(js_name=getDesiredRevision)]
33
+ pub fn desired_revision(&self) -> Revision {
34
+ *self.inner.desired_revision()
30
35
  }
31
36
 
32
37
  #[wasm_bindgen(js_name=getCode)]
@@ -38,13 +43,4 @@ impl InvalidDocumentRevisionErrorWasm {
38
43
  pub fn message(&self) -> String {
39
44
  self.inner.to_string()
40
45
  }
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
46
  }
@@ -2,7 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::identity::duplicated_identity_public_key_id_state_error::DuplicatedIdentityPublicKeyIdStateError;
4
4
  use dpp::consensus::ConsensusError;
5
- use dpp::serialization_traits::PlatformSerializable;
5
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=DuplicatedIdentityPublicKeyIdStateError)]
@@ -39,13 +39,4 @@ impl DuplicatedIdentityPublicKeyIdStateErrorWasm {
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::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::identity::duplicated_identity_public_key_state_error::DuplicatedIdentityPublicKeyStateError;
4
4
  use dpp::consensus::ConsensusError;
5
- use dpp::serialization_traits::PlatformSerializable;
5
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=DuplicatedIdentityPublicKeyStateError)]
@@ -36,13 +36,4 @@ impl DuplicatedIdentityPublicKeyStateErrorWasm {
36
36
  pub fn message(&self) -> String {
37
37
  self.inner.to_string()
38
38
  }
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
39
  }
@@ -2,7 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::identity::IdentityAlreadyExistsError;
4
4
  use dpp::consensus::ConsensusError;
5
- use dpp::serialization_traits::PlatformSerializable;
5
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=IdentityAlreadyExistsError)]
@@ -32,13 +32,4 @@ impl IdentityAlreadyExistsErrorWasm {
32
32
  pub fn message(&self) -> String {
33
33
  self.inner.to_string()
34
34
  }
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
35
  }
@@ -2,7 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::identity::identity_public_key_disabled_at_window_violation_error::IdentityPublicKeyDisabledAtWindowViolationError;
4
4
  use dpp::consensus::ConsensusError;
5
- use dpp::serialization_traits::PlatformSerializable;
5
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=IdentityPublicKeyDisabledAtWindowViolationError)]
@@ -47,13 +47,4 @@ impl IdentityPublicKeyDisabledAtWindowViolationErrorWasm {
47
47
  pub fn message(&self) -> String {
48
48
  self.inner.to_string()
49
49
  }
50
-
51
- #[wasm_bindgen(js_name=serialize)]
52
- pub fn serialize(&self) -> Result<Buffer, JsError> {
53
- let bytes = ConsensusError::from(self.inner.clone())
54
- .serialize()
55
- .map_err(JsError::from)?;
56
-
57
- Ok(Buffer::from_bytes(bytes.as_slice()))
58
- }
59
50
  }
@@ -3,7 +3,7 @@ use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::identity::identity_public_key_is_disabled_error::IdentityPublicKeyIsDisabledError;
4
4
  use dpp::consensus::ConsensusError;
5
5
  use dpp::identity::KeyID;
6
- use dpp::serialization_traits::PlatformSerializable;
6
+ use dpp::serialization::PlatformSerializable;
7
7
  use wasm_bindgen::prelude::*;
8
8
 
9
9
  #[wasm_bindgen(js_name=IdentityPublicKeyIsDisabledError)]
@@ -33,13 +33,4 @@ impl IdentityPublicKeyIsDisabledErrorWasm {
33
33
  pub fn message(&self) -> String {
34
34
  self.inner.to_string()
35
35
  }
36
-
37
- #[wasm_bindgen(js_name=serialize)]
38
- pub fn serialize(&self) -> Result<Buffer, JsError> {
39
- let bytes = ConsensusError::from(self.inner.clone())
40
- .serialize()
41
- .map_err(JsError::from)?;
42
-
43
- Ok(Buffer::from_bytes(bytes.as_slice()))
44
- }
45
36
  }
@@ -3,7 +3,7 @@ use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::identity::identity_public_key_is_read_only_error::IdentityPublicKeyIsReadOnlyError;
4
4
  use dpp::consensus::ConsensusError;
5
5
  use dpp::identity::KeyID;
6
- use dpp::serialization_traits::PlatformSerializable;
6
+ use dpp::serialization::PlatformSerializable;
7
7
  use wasm_bindgen::prelude::*;
8
8
 
9
9
  #[wasm_bindgen(js_name=IdentityPublicKeyIsReadOnlyError)]
@@ -38,13 +38,4 @@ impl IdentityPublicKeyIsReadOnlyErrorWasm {
38
38
  pub fn message(&self) -> String {
39
39
  self.inner.to_string()
40
40
  }
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
41
  }
@@ -3,7 +3,8 @@ use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::identity::invalid_identity_public_key_id_error::InvalidIdentityPublicKeyIdError;
4
4
  use dpp::consensus::ConsensusError;
5
5
  use dpp::identity::KeyID;
6
- use dpp::serialization_traits::PlatformSerializable;
6
+ use dpp::serialization::{PlatformSerializable, PlatformSerializableWithPlatformVersion};
7
+ use dpp::version::PlatformVersion;
7
8
  use wasm_bindgen::prelude::*;
8
9
 
9
10
  #[wasm_bindgen(js_name=InvalidIdentityPublicKeyIdError)]
@@ -33,13 +34,4 @@ impl InvalidIdentityPublicKeyIdErrorWasm {
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,7 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::identity::invalid_identity_revision_error::InvalidIdentityRevisionError;
4
4
  use dpp::consensus::ConsensusError;
5
- use dpp::serialization_traits::PlatformSerializable;
5
+ use dpp::serialization::PlatformSerializable;
6
6
  use js_sys::Number;
7
7
  use wasm_bindgen::prelude::*;
8
8
 
@@ -39,13 +39,4 @@ impl InvalidIdentityRevisionErrorWasm {
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::codes::ErrorWithCode;
3
3
  use dpp::consensus::state::identity::max_identity_public_key_limit_reached_error::MaxIdentityPublicKeyLimitReachedError;
4
4
  use dpp::consensus::ConsensusError;
5
- use dpp::serialization_traits::PlatformSerializable;
5
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=MaxIdentityPublicKeyLimitReachedError)]
@@ -33,13 +33,4 @@ impl MaxIdentityPublicKeyLimitReachedErrorWasm {
33
33
  pub fn message(&self) -> String {
34
34
  self.inner.to_string()
35
35
  }
36
-
37
- #[wasm_bindgen(js_name=serialize)]
38
- pub fn serialize(&self) -> Result<Buffer, JsError> {
39
- let bytes = ConsensusError::from(self.inner.clone())
40
- .serialize()
41
- .map_err(JsError::from)?;
42
-
43
- Ok(Buffer::from_bytes(bytes.as_slice()))
44
- }
45
36
  }
@@ -2,7 +2,7 @@ use crate::buffer::Buffer;
2
2
  use dpp::consensus::basic::value_error::ValueError;
3
3
  use dpp::consensus::codes::ErrorWithCode;
4
4
  use dpp::consensus::ConsensusError;
5
- use dpp::serialization_traits::PlatformSerializable;
5
+ use dpp::serialization::PlatformSerializable;
6
6
  use wasm_bindgen::prelude::*;
7
7
 
8
8
  #[wasm_bindgen(js_name=ValueError, inspectable)]
@@ -33,13 +33,4 @@ impl ValueErrorWasm {
33
33
  pub fn message(&self) -> String {
34
34
  self.inner.to_string()
35
35
  }
36
-
37
- #[wasm_bindgen(js_name=serialize)]
38
- pub fn serialize(&self) -> Result<Buffer, JsError> {
39
- let bytes = ConsensusError::from(self.inner.clone())
40
- .serialize()
41
- .map_err(JsError::from)?;
42
-
43
- Ok(Buffer::from_bytes(bytes.as_slice()))
44
- }
45
36
  }
@@ -5,6 +5,7 @@ use dpp::errors::ProtocolError;
5
5
 
6
6
  use crate::data_contract::errors::from_data_contract_to_js_error;
7
7
  use crate::document::errors::from_document_to_js_error;
8
+ // use crate::document::errors::from_document_to_js_error;
8
9
  use crate::errors::value_error::PlatformValueErrorWasm;
9
10
 
10
11
  use super::data_contract_not_present_error::DataContractNotPresentNotConsensusErrorWasm;
@@ -12,19 +13,20 @@ use crate::errors::consensus::consensus_error::from_consensus_error;
12
13
 
13
14
  pub fn from_dpp_err(pe: ProtocolError) -> JsValue {
14
15
  match pe {
16
+ // TODO(versioning): restore this
15
17
  ProtocolError::ConsensusError(consensus_error) => from_consensus_error(*consensus_error),
16
18
  ProtocolError::DataContractError(e) => from_data_contract_to_js_error(e),
17
19
 
18
20
  ProtocolError::Document(e) => from_document_to_js_error(*e),
19
21
 
20
- ProtocolError::ParsingJsonError(err) => format!(
21
- "Parsing error at line {}, column {}: {}",
22
- err.line(),
23
- err.column(),
24
- err
25
- )
26
- .into(),
27
-
22
+ // ProtocolError::ParsingJsonError(err) => format!(
23
+ // "Parsing error at line {}, column {}: {}",
24
+ // err.line(),
25
+ // err.column(),
26
+ // err
27
+ // )
28
+ // .into(),
29
+ //
28
30
  ProtocolError::DataContractNotPresentError(err) => {
29
31
  DataContractNotPresentNotConsensusErrorWasm::new(err.data_contract_id()).into()
30
32
  }
@@ -38,5 +40,7 @@ pub fn from_dpp_init_error(e: DashPlatformProtocolInitError) -> JsValue {
38
40
  DashPlatformProtocolInitError::SchemaDeserializationError(e) => e.to_string().into(),
39
41
  DashPlatformProtocolInitError::ValidationError(e) => e.to_string().into(),
40
42
  DashPlatformProtocolInitError::InvalidSchemaError(e) => e.to_string().into(),
43
+ // TODO(versioning): add rest erros
44
+ _ => JsValue::from_str(&format!("Error conversion not implemented: {e:#}",)),
41
45
  }
42
46
  }
package/src/errors/mod.rs CHANGED
@@ -6,12 +6,12 @@ pub mod consensus;
6
6
  mod from;
7
7
  mod js_conversion;
8
8
  pub mod protocol_error;
9
- mod public_key_validation_error;
10
-
11
- pub use public_key_validation_error::*;
12
-
13
- mod compatible_protocol_version_is_not_defined_error;
9
+ // mod public_key_validation_error;
10
+ //
11
+ // pub use public_key_validation_error::*;
12
+ //
13
+ // mod compatible_protocol_version_is_not_defined_error;
14
14
  pub mod data_contract_not_present_error;
15
- pub mod dpp_error;
15
+ // pub mod dpp_error;
16
16
  pub mod value_error;
17
- pub use compatible_protocol_version_is_not_defined_error::*;
17
+ // pub use compatible_protocol_version_is_not_defined_error::*;
@@ -1,29 +1,29 @@
1
1
  use crate::errors::RustConversionError;
2
- use crate::identity::identity_public_key_transitions::IdentityPublicKeyWithWitnessWasm;
2
+ use crate::identity::state_transition::create_asset_lock_proof_from_wasm_instance;
3
+ use crate::identity::state_transition::identity_public_key_transitions::IdentityPublicKeyWithWitnessWasm;
4
+ use crate::identity::IdentityPublicKeyWasm;
3
5
  use crate::utils::{generic_of_js_val, to_vec_of_platform_values};
4
- use crate::{create_asset_lock_proof_from_wasm_instance, IdentityPublicKeyWasm};
6
+ use dpp::identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0;
5
7
  use dpp::identity::state_transition::asset_lock_proof::AssetLockProof;
6
- use dpp::identity::state_transition::identity_public_key_transitions::IdentityPublicKeyInCreation;
7
8
  use dpp::identity::{IdentityPublicKey, KeyID};
9
+ use dpp::serialization::ValueConvertible;
10
+ use dpp::state_transition::public_key_in_creation::IdentityPublicKeyInCreation;
8
11
  use std::collections::BTreeMap;
9
12
  use wasm_bindgen::__rt::Ref;
10
13
  use wasm_bindgen::{JsCast, JsValue};
11
14
 
12
- pub fn parse_create_args(
13
- asset_lock_proof: JsValue,
15
+ pub fn parse_public_keys(
14
16
  public_keys: js_sys::Array,
15
- ) -> Result<(AssetLockProof, BTreeMap<KeyID, IdentityPublicKey>), JsValue> {
16
- let asset_lock_proof = create_asset_lock_proof_from_wasm_instance(&asset_lock_proof)?;
17
-
17
+ ) -> Result<BTreeMap<KeyID, IdentityPublicKey>, JsValue> {
18
18
  let raw_public_keys = to_vec_of_platform_values(public_keys.iter())?;
19
19
 
20
20
  let public_keys = raw_public_keys
21
21
  .into_iter()
22
- .map(|v| IdentityPublicKey::from_value(v).map(|key| (key.id, key)))
22
+ .map(|v| IdentityPublicKey::from_object(v).map(|key| (key.id(), key)))
23
23
  .collect::<Result<_, _>>()
24
24
  .map_err(|e| format!("converting to collection of IdentityPublicKeys failed: {e:#}"))?;
25
25
 
26
- Ok((asset_lock_proof, public_keys))
26
+ Ok(public_keys)
27
27
  }
28
28
 
29
29
  type AddPublicKeys = Option<Vec<IdentityPublicKeyInCreation>>;