@dashevo/wasm-dpp 0.25.0-dev.16 → 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 (265) hide show
  1. package/Cargo.toml +22 -2
  2. package/dist/errors/patchConsensusErrors.js +94 -115
  3. package/dist/wasm/wasm_dpp.d.ts +2136 -4354
  4. package/dist/wasm/wasm_dpp.js +17748 -2769
  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 +2 -4
  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 +7 -12
  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 +2136 -4354
  18. package/package.json +4 -4
  19. package/src/dash_platform_protocol.rs +172 -195
  20. package/src/data_contract/data_contract.rs +255 -203
  21. package/src/data_contract/data_contract_facade.rs +24 -46
  22. package/src/data_contract/errors/mod.rs +1 -0
  23. package/src/data_contract/mod.rs +2 -2
  24. package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +82 -87
  25. package/src/data_contract/state_transition/data_contract_update_transition/mod.rs +74 -80
  26. package/src/data_contract_factory/data_contract_factory.rs +28 -81
  27. package/src/document/document_facade.rs +74 -81
  28. package/src/document/errors/document_already_exists_error.rs +6 -6
  29. package/src/document/errors/document_no_revision_error.rs +1 -0
  30. package/src/document/errors/document_not_provided_error.rs +6 -6
  31. package/src/document/errors/invalid_document_action_error.rs +11 -7
  32. package/src/document/errors/invalid_initial_revision_error.rs +4 -4
  33. package/src/document/errors/mismatch_owners_ids_error.rs +5 -8
  34. package/src/document/errors/mod.rs +5 -0
  35. package/src/document/errors/revision_absent_error.rs +6 -6
  36. package/src/document/errors/trying_to_delete_immutable_document_error.rs +19 -0
  37. package/src/document/errors/trying_to_replace_immutable_document_error.rs +4 -4
  38. package/src/document/extended_document.rs +76 -76
  39. package/src/document/factory.rs +127 -123
  40. package/src/document/generate_document_id.rs +2 -2
  41. package/src/document/mod.rs +162 -148
  42. package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +50 -48
  43. package/src/document/state_transition/document_batch_transition/document_transition/document_delete_transition.rs +14 -14
  44. package/src/document/state_transition/document_batch_transition/document_transition/document_replace_transition.rs +50 -38
  45. package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +165 -153
  46. package/src/document/state_transition/document_batch_transition/mod.rs +230 -217
  47. package/src/errors/consensus/basic/data_contract/data_contract_have_new_unique_index_error.rs +2 -10
  48. package/src/errors/consensus/basic/data_contract/data_contract_immutable_properties_update_error.rs +1 -10
  49. package/src/errors/consensus/basic/data_contract/data_contract_invalid_index_definition_update_error.rs +2 -11
  50. package/src/errors/consensus/basic/data_contract/data_contract_max_depth_exceed_error.rs +1 -10
  51. package/src/errors/consensus/basic/data_contract/data_contract_unique_indices_changed_error.rs +1 -10
  52. package/src/errors/consensus/basic/data_contract/duplicate_index_name_error.rs +1 -10
  53. package/src/errors/consensus/basic/data_contract/incompatible_data_contract_schema_error.rs +1 -10
  54. package/src/errors/consensus/basic/data_contract/incompatible_re2_pattern_error.rs +1 -10
  55. package/src/errors/consensus/basic/data_contract/index_error/duplicate_index_error.rs +1 -10
  56. package/src/errors/consensus/basic/data_contract/index_error/invalid_compound_index_error.rs +1 -10
  57. package/src/errors/consensus/basic/data_contract/index_error/invalid_index_property_type_error.rs +1 -10
  58. package/src/errors/consensus/basic/data_contract/index_error/invalid_indexed_property_constraint_error.rs +1 -10
  59. package/src/errors/consensus/basic/data_contract/index_error/system_property_index_already_present_error.rs +1 -10
  60. package/src/errors/consensus/basic/data_contract/index_error/undefined_index_property_error.rs +1 -10
  61. package/src/errors/consensus/basic/data_contract/index_error/unique_indices_limit_reached_error.rs +1 -10
  62. package/src/errors/consensus/basic/data_contract/invalid_data_contract_id_error.rs +1 -10
  63. package/src/errors/consensus/basic/data_contract/invalid_data_contract_version_error.rs +1 -10
  64. package/src/errors/consensus/basic/data_contract/invalid_json_schema_ref_error.rs +1 -10
  65. package/src/errors/consensus/basic/decode/protocol_version_parsing_error.rs +10 -8
  66. package/src/errors/consensus/basic/decode/serialized_object_parsing_error.rs +1 -10
  67. package/src/errors/consensus/basic/document/data_contract_not_present_error.rs +1 -10
  68. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_ids_error.rs +1 -10
  69. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_indices_error.rs +1 -10
  70. package/src/errors/consensus/basic/document/inconsistent_compound_index_data_error.rs +1 -10
  71. package/src/errors/consensus/basic/document/invalid_document_transition_action_error.rs +1 -10
  72. package/src/errors/consensus/basic/document/invalid_document_transition_id_error.rs +1 -10
  73. package/src/errors/consensus/basic/document/invalid_document_type_error.rs +1 -10
  74. package/src/errors/consensus/basic/document/missing_data_contract_id_error.rs +1 -10
  75. package/src/errors/consensus/basic/document/missing_document_transition_action_error.rs +1 -10
  76. package/src/errors/consensus/basic/document/missing_document_transition_type_error.rs +1 -10
  77. package/src/errors/consensus/basic/document/missing_document_type_error.rs +1 -10
  78. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_error.rs +1 -10
  79. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_error.rs +1 -10
  80. package/src/errors/consensus/basic/identity/identity_asset_lock_proof_locked_transaction_mismatch_error.rs +1 -10
  81. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_is_not_found_error.rs +1 -10
  82. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs +1 -10
  83. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs +1 -10
  84. package/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +1 -10
  85. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_core_chain_height_error.rs +1 -10
  86. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_transaction_height_error.rs +1 -10
  87. package/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size_error.rs +1 -10
  88. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs +1 -10
  89. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs +1 -10
  90. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_core_fee_error.rs +1 -10
  91. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_output_script_error.rs +1 -10
  92. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_pooling_error.rs +1 -10
  93. package/src/errors/consensus/basic/identity/invalid_identity_key_signature_error.rs +1 -10
  94. package/src/errors/consensus/basic/identity/invalid_identity_public_key_data_error.rs +1 -10
  95. package/src/errors/consensus/basic/identity/invalid_identity_public_key_security_level_error.rs +1 -10
  96. package/src/errors/consensus/basic/identity/invalid_identity_public_key_type_error.rs +1 -10
  97. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs +1 -10
  98. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_signature_error.rs +1 -10
  99. package/src/errors/consensus/basic/identity/missing_master_public_key_error.rs +1 -10
  100. package/src/errors/consensus/basic/identity/missing_public_key_error.rs +1 -10
  101. package/src/errors/consensus/basic/incompatible_protocol_version_error.rs +1 -10
  102. package/src/errors/consensus/basic/invalid_identifier_error.rs +1 -10
  103. package/src/errors/consensus/basic/invalid_signature_public_key_security_level_error.rs +1 -10
  104. package/src/errors/consensus/basic/invalid_state_transition_signature_error.rs +1 -10
  105. package/src/errors/consensus/basic/json_schema_compilation_error.rs +1 -10
  106. package/src/errors/consensus/basic/json_schema_error.rs +1 -9
  107. package/src/errors/consensus/basic/mod.rs +2 -0
  108. package/src/errors/consensus/basic/public_key_is_disabled_error.rs +1 -10
  109. package/src/errors/consensus/basic/public_key_security_level_not_met_error.rs +2 -11
  110. package/src/errors/consensus/basic/state_transition/invalid_state_transition_type_error.rs +1 -10
  111. package/src/errors/consensus/basic/state_transition/missing_state_transition_type_error.rs +1 -10
  112. package/src/errors/consensus/basic/state_transition/state_transition_max_size_exceeded_error.rs +1 -10
  113. package/src/errors/consensus/basic/unsupported_protocol_version_error.rs +1 -10
  114. package/src/errors/consensus/basic/unsupported_version_error.rs +44 -0
  115. package/src/errors/consensus/basic/wrong_public_key_purpose_error.rs +1 -10
  116. package/src/errors/consensus/consensus_error.rs +30 -21
  117. package/src/errors/consensus/deserialize.rs +2 -2
  118. package/src/errors/consensus/fee/balance_is_not_enough_error.rs +5 -3
  119. package/src/errors/consensus/signature/basic_bls_error.rs +1 -10
  120. package/src/errors/consensus/signature/basic_ecdsa_error.rs +1 -10
  121. package/src/errors/consensus/signature/identity_not_found_error.rs +4 -3
  122. package/src/errors/consensus/signature/signature_should_not_be_present_error.rs +1 -10
  123. package/src/errors/consensus/state/data_contract/data_contract_already_present_error.rs +3 -3
  124. package/src/errors/consensus/state/data_contract/data_contract_config_update_error.rs +1 -12
  125. package/src/errors/consensus/state/data_contract/data_contract_is_readonly_error.rs +1 -10
  126. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_condition_error.rs +2 -2
  127. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_execution_error.rs +2 -2
  128. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_invalid_result_error.rs +2 -2
  129. package/src/errors/consensus/state/data_contract/mod.rs +3 -1
  130. package/src/errors/consensus/state/document/document_already_present_error.rs +1 -10
  131. package/src/errors/consensus/state/document/document_not_found_error.rs +1 -10
  132. package/src/errors/consensus/state/document/document_owner_id_mismatch_error.rs +1 -10
  133. package/src/errors/consensus/state/document/document_timestamp_window_violation_error.rs +1 -10
  134. package/src/errors/consensus/state/document/document_timestamps_are_equal_error.rs +1 -10
  135. package/src/errors/consensus/state/document/document_timestamps_mismatch_error.rs +1 -10
  136. package/src/errors/consensus/state/document/duplicate_unique_index_error.rs +1 -10
  137. package/src/errors/consensus/state/document/invalid_document_revision_error.rs +9 -13
  138. package/src/errors/consensus/state/identity/duplicated_identity_public_key_id_state_error.rs +1 -10
  139. package/src/errors/consensus/state/identity/duplicated_identity_public_key_state_error.rs +1 -10
  140. package/src/errors/consensus/state/identity/identity_already_exists_error.rs +1 -10
  141. package/src/errors/consensus/state/identity/identity_public_key_disabled_at_window_violation_error.rs +1 -10
  142. package/src/errors/consensus/state/identity/identity_public_key_is_disabled_error.rs +1 -10
  143. package/src/errors/consensus/state/identity/identity_public_key_is_read_only_error.rs +1 -10
  144. package/src/errors/consensus/state/identity/invalid_identity_public_key_id_error.rs +2 -10
  145. package/src/errors/consensus/state/identity/invalid_identity_revision_error.rs +1 -10
  146. package/src/errors/consensus/state/identity/max_identity_public_key_limit_reached_error.rs +1 -10
  147. package/src/errors/consensus/value_error.rs +1 -10
  148. package/src/errors/from.rs +12 -8
  149. package/src/errors/mod.rs +7 -7
  150. package/src/identity/factory_utils.rs +10 -10
  151. package/src/identity/identity.rs +275 -0
  152. package/src/identity/identity_facade.rs +69 -70
  153. package/src/identity/identity_factory.rs +57 -55
  154. package/src/identity/identity_public_key/mod.rs +86 -62
  155. package/src/identity/mod.rs +25 -256
  156. package/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof_structure_validator.rs +0 -1
  157. package/src/identity/state_transition/asset_lock_proof/chain/mod.rs +3 -1
  158. package/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof_structure_validator.rs +0 -1
  159. package/src/identity/state_transition/asset_lock_proof/instant/mod.rs +3 -1
  160. package/src/identity/state_transition/asset_lock_proof/mod.rs +112 -116
  161. package/src/identity/state_transition/identity_create_transition/identity_create_transition.rs +66 -52
  162. package/src/identity/state_transition/identity_create_transition/identity_create_transition_basic_validator.rs +0 -1
  163. package/src/identity/state_transition/identity_create_transition/mod.rs +3 -3
  164. package/src/identity/state_transition/identity_create_transition/to_object.rs +9 -11
  165. package/src/identity/state_transition/identity_credit_transfer_transition/mod.rs +3 -3
  166. package/src/identity/state_transition/identity_credit_transfer_transition/to_object.rs +10 -13
  167. package/src/identity/state_transition/identity_credit_transfer_transition/transition.rs +72 -39
  168. package/src/identity/state_transition/identity_public_key_transitions.rs +81 -66
  169. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition.rs +64 -51
  170. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition_basic_validator.rs +0 -2
  171. package/src/identity/state_transition/identity_topup_transition/mod.rs +3 -3
  172. package/src/identity/state_transition/identity_topup_transition/to_object.rs +8 -12
  173. package/src/identity/state_transition/identity_update_transition/identity_update_transition.rs +95 -92
  174. package/src/identity/state_transition/identity_update_transition/mod.rs +4 -4
  175. package/src/identity/state_transition/identity_update_transition/to_object.rs +14 -18
  176. package/src/identity/state_transition/mod.rs +2 -2
  177. package/src/lib.rs +9 -9
  178. package/src/metadata.rs +3 -3
  179. package/src/protocol_version.rs +2 -2
  180. package/src/state_transition/errors/invalid_state_transition_error.rs +9 -9
  181. package/src/state_transition/fee/operations/pre_calculated_operation.rs +2 -1
  182. package/src/state_transition/mod.rs +137 -139
  183. package/src/state_transition/state_transition_facade.rs +1 -2
  184. package/src/state_transition/state_transition_factory.rs +139 -159
  185. package/src/state_transition/validation/state_transition_fee_validator.rs +1 -1
  186. package/src/state_transition/validation/validate_state_transition_identity_signature.rs +3 -4
  187. package/src/state_transition/validation/validate_state_transition_key_signature.rs +1 -1
  188. package/src/utils.rs +4 -2
  189. package/src/validation/validation_result.rs +1 -1
  190. package/test/integration/dataContract/DataContractFacade.spec.js +11 -15
  191. package/test/integration/dataContract/stateTransition/DataContractCreateTransition/validation/basic/validateDataContractCreateTransitionBasicFactory.spec.js +1 -1
  192. package/test/integration/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateDataContractUpdateTransitionBasicFactory.spec.js +1 -1
  193. package/test/integration/dataContract/validation/validateDataContractFactory.spec.js +1 -1
  194. package/test/integration/document/Document.spec.js +3 -3
  195. package/test/integration/document/DocumentFacade.spec.js +34 -33
  196. package/test/integration/document/stateTransition/DocumentsBatchTransition/DocumentBatchTransition.spec.js +1 -1
  197. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/basic/validateDocumentsBatchTransitionBasicFactory.spec.js +1 -1
  198. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/state/executeDataTriggersFactory.spec.js +1 -1
  199. package/test/integration/document/validation/validateDocumentFactory.spec.js +1 -1
  200. package/test/integration/identity/IdentityFacade.spec.js +29 -58
  201. package/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js +2 -2
  202. package/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js +1 -1
  203. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/basic/validateIdentityUpdateTransitionBasicFactory.spec.js +1 -1
  204. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory.spec.js +2 -2
  205. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validatePublicKeysState.spec.js +2 -2
  206. package/test/integration/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory.spec.js +1 -1
  207. package/test/integration/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory.spec.js +2 -2
  208. package/test/integration/identity/stateTransition/assetLockProof/instant/validateInstantAssetLockProofStructureFactory.spec.js +1 -1
  209. package/test/integration/identity/stateTransition/assetLockProof/validateAssetLockTransactionFactory.spec.js +4 -3
  210. package/test/integration/identity/stateTransition/validatePublicKeySignaturesFactory.spec.js +1 -1
  211. package/test/integration/identity/validation/validateIdentityFactory.spec.js +2 -2
  212. package/test/integration/identity/validation/validatePublicKeysFactory.spec.js +1 -1
  213. package/test/integration/stateTransition/StateTransitionFacade.spec.js +39 -48
  214. package/test/integration/util/generateTemporaryEcdsaPrivateKey.spec.js +1 -1
  215. package/test/unit/DashPlatformProtocol.spec.js +4 -18
  216. package/test/unit/dataContract/DataContract.spec.js +84 -123
  217. package/test/unit/dataContract/DataContractFactory.spec.js +1 -1
  218. package/test/unit/dataContract/createDataContract.spec.js +1 -1
  219. package/test/unit/dataContract/generateDataContractId.spec.js +1 -1
  220. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition.spec.js +14 -14
  221. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory.spec.js +1 -1
  222. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory.spec.js +1 -1
  223. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +7 -8
  224. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory.spec.js +1 -1
  225. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateIndicesAreBackwardCompatible.spec.js +1 -1
  226. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory.spec.js +1 -1
  227. package/test/unit/dataContract/validation/validateDataContractPatterns.spec.js +1 -1
  228. package/test/unit/document/Document.spec.js +18 -10
  229. package/test/unit/document/DocumentFactory.spec.js +10 -23
  230. package/test/unit/document/fetchAndValidateDataContractFactory.spec.js +1 -1
  231. package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +4 -4
  232. package/test/unit/document/stateTransition/DocumetsBatchTransition/applyDocumentsBatchTransitionFactory.spec.js +1 -1
  233. package/test/unit/document/stateTransition/DocumetsBatchTransition/documentTransition/DocumentCreateTransition.spec.js +1 -1
  234. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesById.spec.js +1 -1
  235. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js +1 -1
  236. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/validatePartialCompoundIndices.spec.js +1 -1
  237. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/fetchDocumentsFactory.spec.js +1 -1
  238. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsBatchTransitionStateFactory.spec.js +1 -1
  239. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsUniquenessByIndicesFactory.spec.js +1 -1
  240. package/test/unit/identity/Identity.spec.js +34 -74
  241. package/test/unit/identity/IdentityFactory.spec.js +55 -68
  242. package/test/unit/identity/IdentityPublicKey.spec.js +30 -47
  243. package/test/unit/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition.spec.js +23 -55
  244. package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +2 -2
  245. package/test/unit/identity/stateTransition/IdentityCreateTransition/validation/state/validateIdentityCreateTransitionStateFactory.spec.js +2 -2
  246. package/test/unit/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition.spec.js +7 -28
  247. package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +4 -4
  248. package/test/unit/identity/stateTransition/IdentityTopUpTransition/validation/state/validateIdentityTopUpTransitionStateFactory.spec.js +2 -2
  249. package/test/unit/identity/stateTransition/IdentityUpdateTransition/IdentityUpdateTransition.spec.js +19 -36
  250. package/test/unit/identity/stateTransition/IdentityUpdateTransition/applyIdentityUpdateTransitionFactory.spec.js +3 -3
  251. package/test/unit/identity/stateTransition/assetLockProof/fetchAssetLockPublicKeyHashFactory.spec.js +1 -1
  252. package/test/unit/identity/stateTransition/identityCreditTransferTransition/identityCreditTransferTransition.spec.js +14 -23
  253. package/test/unit/stateTransition/StateTransitionExecutionContext.spec.js +1 -1
  254. package/test/unit/stateTransition/StateTransitionFactory.spec.js +13 -18
  255. package/test/unit/stateTransition/createStateTransitionFactory.spec.js +1 -1
  256. package/test/unit/stateTransition/validation/validateStateTransitionBasicFactory.spec.js +1 -1
  257. package/test/unit/stateTransition/validation/validateStateTransitionFeeFactory.spec.js +1 -1
  258. package/test/unit/stateTransition/validation/validateStateTransitionIdentitySignatureFactory.spec.js +1 -1
  259. package/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js +2 -2
  260. package/test/unit/stateTransition/validation/validateStateTransitionStateFactory.spec.js +1 -1
  261. package/test/unit/version/validateProtocolVersionFactory.spec.js +1 -1
  262. package/test-d/index.test-d.ts +2 -2
  263. package/src/data_contract/state_transition/data_contract_create_transition/apply.rs +0 -45
  264. package/src/data_contract/state_transition/data_contract_update_transition/apply.rs +0 -49
  265. package/src/document/state_transition/document_batch_transition/apply_document_batch_transition.rs +0 -25
@@ -1,9 +1,9 @@
1
1
  pub use identity_update_transition::*;
2
2
 
3
- pub mod apply_identity_update_transition;
4
- pub mod identity_update_public_keys_validator;
3
+ // pub mod apply_identity_update_transition;
4
+ // pub mod identity_update_public_keys_validator;
5
5
  pub mod identity_update_transition;
6
- pub mod identity_update_transition_basic_validator;
7
- pub mod identity_update_transition_state_validator;
6
+ // pub mod identity_update_transition_basic_validator;
7
+ // pub mod identity_update_transition_state_validator;
8
8
 
9
9
  mod to_object;
@@ -1,11 +1,9 @@
1
1
  use dpp::identity::KeyID;
2
+ use dpp::state_transition::identity_update_transition::accessors::IdentityUpdateTransitionAccessorsV0;
3
+ use dpp::state_transition::identity_update_transition::IdentityUpdateTransition;
4
+ use dpp::state_transition::public_key_in_creation::IdentityPublicKeyInCreation;
2
5
  use dpp::state_transition::StateTransitionIdentitySigned;
3
- use dpp::{
4
- identifier::Identifier,
5
- identity::state_transition::identity_public_key_transitions::IdentityPublicKeyInCreation,
6
- identity::state_transition::identity_update_transition::identity_update_transition::IdentityUpdateTransition,
7
- state_transition::StateTransitionLike,
8
- };
6
+ use dpp::{identifier::Identifier, state_transition::StateTransitionLike};
9
7
  use serde::Deserialize;
10
8
  use std::default::Default;
11
9
 
@@ -18,10 +16,9 @@ pub struct ToObjectOptions {
18
16
  #[derive(Default)]
19
17
  pub struct ToObject {
20
18
  pub transition_type: u8,
21
- pub protocol_version: u32,
22
19
  pub revision: u32,
23
20
  pub signature: Option<Vec<u8>>,
24
- pub signature_public_key_id: Option<KeyID>,
21
+ pub signature_public_key_id: KeyID,
25
22
  pub public_keys_disabled_at: Option<u64>,
26
23
  pub public_keys_to_add: Option<Vec<IdentityPublicKeyInCreation>>,
27
24
  pub public_key_ids_to_disable: Option<Vec<KeyID>>,
@@ -30,34 +27,33 @@ pub struct ToObject {
30
27
 
31
28
  pub fn to_object_struct(
32
29
  transition: &IdentityUpdateTransition,
33
- options: ToObjectOptions,
30
+ options: &ToObjectOptions,
34
31
  ) -> ToObject {
35
32
  let mut to_object = ToObject {
36
- transition_type: transition.get_type() as u8,
37
- protocol_version: transition.get_protocol_version(),
38
- revision: transition.get_revision() as u32,
39
- identity_id: transition.get_identity_id().to_owned(),
33
+ transition_type: transition.state_transition_type() as u8,
34
+ revision: transition.revision() as u32,
35
+ identity_id: transition.identity_id().to_owned(),
40
36
  ..ToObject::default()
41
37
  };
42
38
 
43
39
  if !options.skip_signature.unwrap_or(false) {
44
- let signature = Some(transition.get_signature().to_vec());
40
+ let signature = Some(transition.signature().to_vec());
45
41
  if let Some(signature) = &signature {
46
42
  if !signature.is_empty() {
47
- to_object.signature_public_key_id = transition.get_signature_public_key_id()
43
+ to_object.signature_public_key_id = transition.signature_public_key_id()
48
44
  }
49
45
  }
50
46
  to_object.signature = signature;
51
47
  }
52
48
 
53
- to_object.public_keys_disabled_at = transition.get_public_keys_disabled_at();
49
+ to_object.public_keys_disabled_at = transition.public_keys_disabled_at();
54
50
 
55
- let public_keys_to_add = transition.get_public_keys_to_add();
51
+ let public_keys_to_add = transition.public_keys_to_add();
56
52
  if !public_keys_to_add.is_empty() {
57
53
  to_object.public_keys_to_add = Some(public_keys_to_add.to_owned());
58
54
  }
59
55
 
60
- let public_key_ids_to_disable = transition.get_public_key_ids_to_disable();
56
+ let public_key_ids_to_disable = transition.public_key_ids_to_disable();
61
57
  if !public_key_ids_to_disable.is_empty() {
62
58
  to_object.public_key_ids_to_disable = Some(public_key_ids_to_disable.to_owned());
63
59
  }
@@ -3,7 +3,7 @@ pub use identity_create_transition::*;
3
3
  pub use identity_credit_transfer_transition::*;
4
4
  pub use identity_topup_transition::*;
5
5
  pub use identity_update_transition::*;
6
- pub use validate_public_key_signatures::*;
6
+ // pub use validate_public_key_signatures::*;
7
7
 
8
8
  mod asset_lock_proof;
9
9
  mod identity_create_transition;
@@ -12,4 +12,4 @@ pub(crate) mod identity_public_key_transitions;
12
12
  mod identity_topup_transition;
13
13
  mod identity_update_transition;
14
14
  mod transition_types;
15
- mod validate_public_key_signatures;
15
+ // mod validate_public_key_signatures;
package/src/lib.rs CHANGED
@@ -2,32 +2,32 @@ extern crate core;
2
2
 
3
3
  pub use dash_platform_protocol::*;
4
4
  pub use data_contract::*;
5
- pub use data_contract_factory::*;
6
- pub use data_trigger::*;
5
+ // pub use data_contract_factory::*;
6
+ // pub use data_trigger::*;
7
7
  pub use document::*;
8
8
  pub use identity::*;
9
9
  pub use metadata::*;
10
- pub use state_transition::*;
10
+ // pub use state_transition::*;
11
11
 
12
12
  mod dash_platform_protocol;
13
13
  mod data_contract;
14
14
  mod data_contract_factory;
15
- mod data_trigger;
15
+ // mod data_trigger;
16
16
  mod document;
17
17
  pub mod errors;
18
18
  mod identifier;
19
19
  mod identity;
20
20
  mod metadata;
21
- mod state_repository;
21
+ // mod state_repository;
22
22
  mod state_transition;
23
- mod version;
23
+ // mod version;
24
24
 
25
25
  mod utils;
26
26
 
27
- mod bls_adapter;
27
+ pub mod bls_adapter;
28
28
  mod buffer;
29
29
  mod entropy_generator;
30
- mod generate_temporary_ecdsa_private_key;
30
+ // mod generate_temporary_ecdsa_private_key;
31
31
  mod lodash;
32
32
  mod protocol_version;
33
- mod validation;
33
+ // mod validation;
package/src/metadata.rs CHANGED
@@ -12,19 +12,19 @@ use dpp::util::json_value::JsonValueExt;
12
12
  #[derive(Clone, Debug)]
13
13
  pub struct MetadataWasm(Metadata);
14
14
 
15
- impl std::convert::From<Metadata> for MetadataWasm {
15
+ impl From<Metadata> for MetadataWasm {
16
16
  fn from(v: Metadata) -> Self {
17
17
  MetadataWasm(v)
18
18
  }
19
19
  }
20
20
 
21
- impl std::convert::From<&MetadataWasm> for Metadata {
21
+ impl From<&MetadataWasm> for Metadata {
22
22
  fn from(v: &MetadataWasm) -> Self {
23
23
  v.0.clone()
24
24
  }
25
25
  }
26
26
 
27
- impl std::convert::Into<Metadata> for MetadataWasm {
27
+ impl Into<Metadata> for MetadataWasm {
28
28
  fn into(self) -> Metadata {
29
29
  self.0
30
30
  }
@@ -1,7 +1,7 @@
1
- use dpp::version::LATEST_VERSION;
1
+ use dpp::version::{PlatformVersion, LATEST_VERSION};
2
2
  use wasm_bindgen::prelude::wasm_bindgen;
3
3
 
4
4
  #[wasm_bindgen(js_name = getLatestProtocolVersion)]
5
5
  pub fn latest_protocol_version() -> u32 {
6
- LATEST_VERSION
6
+ PlatformVersion::latest().protocol_version
7
7
  }
@@ -47,13 +47,13 @@ impl InvalidStateTransitionErrorWasm {
47
47
  self.raw_state_transition.clone()
48
48
  }
49
49
 
50
- #[wasm_bindgen(js_name = valueOf)]
51
- pub fn value_of(&self) -> Result<JsValue, JsError> {
52
- let errors = serde_json::to_value(&self.errors)
53
- .map_err(|_| JsError::new("Can't serialize consensus errors to json"))?;
54
- let ser = serde_wasm_bindgen::Serializer::json_compatible();
55
- errors
56
- .serialize(&ser)
57
- .map_err(|_| JsError::new("Can't serialize consensus errors to json"))
58
- }
50
+ // #[wasm_bindgen(js_name = valueOf)]
51
+ // pub fn value_of(&self) -> Result<JsValue, JsError> {
52
+ // let errors = serde_json::to_value(&self.errors)
53
+ // .map_err(|_| JsError::new("Can't serialize consensus errors to json"))?;
54
+ // let ser = serde_wasm_bindgen::Serializer::json_compatible();
55
+ // errors
56
+ // .serialize(&ser)
57
+ // .map_err(|_| JsError::new("Can't serialize consensus errors to json"))
58
+ // }
59
59
  }
@@ -1,9 +1,10 @@
1
1
  use crate::{fee::dummy_fee_result::DummyFeesResultWasm, utils::Inner};
2
+ use dpp::fee::Credits;
2
3
  use dpp::platform_value::Error as PlatformValueError;
3
4
  use dpp::{
4
5
  state_transition::fee::{
5
6
  operations::{OperationLike, PreCalculatedOperation},
6
- Credits, Refunds,
7
+ Refunds,
7
8
  },
8
9
  ProtocolError,
9
10
  };
@@ -1,142 +1,140 @@
1
- use dpp::state_transition::state_transition_execution_context::StateTransitionExecutionContext;
2
-
3
- use dpp::state_transition::fee::operations::Operation;
4
- use wasm_bindgen::prelude::*;
5
-
1
+ // use dpp::state_transition::fee::operations::Operation;
2
+ // use wasm_bindgen::prelude::*;
3
+ //
6
4
  pub mod errors;
7
- pub mod state_transition_facade;
5
+ // pub mod state_transition_facade;
8
6
  pub mod state_transition_factory;
9
7
 
10
- pub mod fee;
11
- pub mod validation;
12
- use crate::state_transition::conversion::create_operation_from_wasm_instance;
13
- use crate::utils::Inner;
14
- pub use fee::*;
15
- pub use validation::*;
16
-
17
- pub(crate) mod conversion;
18
-
19
- #[wasm_bindgen(js_name=StateTransitionExecutionContext)]
20
- #[derive(Clone)]
21
- pub struct StateTransitionExecutionContextWasm(StateTransitionExecutionContext);
22
-
23
- impl From<StateTransitionExecutionContext> for StateTransitionExecutionContextWasm {
24
- fn from(rs: StateTransitionExecutionContext) -> Self {
25
- StateTransitionExecutionContextWasm(rs)
26
- }
27
- }
28
-
29
- impl From<StateTransitionExecutionContextWasm> for StateTransitionExecutionContext {
30
- fn from(wa: StateTransitionExecutionContextWasm) -> Self {
31
- wa.0
32
- }
33
- }
34
-
35
- impl<'a> From<&'a StateTransitionExecutionContextWasm> for StateTransitionExecutionContext {
36
- fn from(wa: &StateTransitionExecutionContextWasm) -> Self {
37
- wa.0.clone()
38
- }
39
- }
40
-
41
- impl<'a> From<&'a StateTransitionExecutionContextWasm> for &'a StateTransitionExecutionContext {
42
- fn from(wa: &'a StateTransitionExecutionContextWasm) -> Self {
43
- &wa.0
44
- }
45
- }
46
-
47
- impl<'a> From<&'a StateTransitionExecutionContext> for StateTransitionExecutionContextWasm {
48
- fn from(rs: &'a StateTransitionExecutionContext) -> Self {
49
- Self(rs.clone())
50
- }
51
- }
52
-
53
- impl Default for StateTransitionExecutionContextWasm {
54
- fn default() -> Self {
55
- Self::new()
56
- }
57
- }
58
-
59
- #[wasm_bindgen(js_class=StateTransitionExecutionContext)]
60
- impl StateTransitionExecutionContextWasm {
61
- #[wasm_bindgen(constructor)]
62
- pub fn new() -> StateTransitionExecutionContextWasm {
63
- StateTransitionExecutionContext::default().into()
64
- }
65
-
66
- #[wasm_bindgen(js_name=enableDryRun)]
67
- pub fn enable_dry_run(&self) {
68
- self.0.enable_dry_run();
69
- }
70
-
71
- #[wasm_bindgen(js_name=disableDryRun)]
72
- pub fn disable_dry_run(&self) {
73
- self.0.disable_dry_run();
74
- }
75
-
76
- #[wasm_bindgen(js_name=isDryRun)]
77
- pub fn is_dry_run(&self) -> bool {
78
- self.0.is_dry_run()
79
- }
80
-
81
- #[wasm_bindgen(js_name=addOperation)]
82
- pub fn add_operation(&self, operation: JsValue) -> Result<(), JsValue> {
83
- let operation = create_operation_from_wasm_instance(&operation)?;
84
- self.0.add_operation(operation);
85
- Ok(())
86
- }
87
-
88
- #[wasm_bindgen(js_name=getDryOperations)]
89
- pub fn get_dry_operations(&self) -> Vec<JsValue> {
90
- self.0
91
- .get_dry_operations()
92
- .iter()
93
- .map(|operation| match operation {
94
- Operation::PreCalculated(operation) => {
95
- PreCalculatedOperationWasm::from(operation.to_owned()).into()
96
- }
97
- Operation::Read(operation) => ReadOperationWasm::from(operation.to_owned()).into(),
98
- Operation::SignatureVerification(operation) => {
99
- SignatureVerificationOperationWasm::from(operation.to_owned()).into()
100
- }
101
- })
102
- .collect()
103
- }
104
-
105
- #[wasm_bindgen(js_name=getOperations)]
106
- pub fn get_operation(&self) -> Vec<JsValue> {
107
- self.0
108
- .get_operations()
109
- .iter()
110
- .map(|operation| match operation {
111
- Operation::PreCalculated(operation) => {
112
- PreCalculatedOperationWasm::from(operation.to_owned()).into()
113
- }
114
- Operation::Read(operation) => ReadOperationWasm::from(operation.to_owned()).into(),
115
- Operation::SignatureVerification(operation) => {
116
- SignatureVerificationOperationWasm::from(operation.to_owned()).into()
117
- }
118
- })
119
- .collect()
120
- }
121
-
122
- #[wasm_bindgen(js_name=clearDryOperations)]
123
- pub fn clear_dry_run_operations(&self) {
124
- self.0.clear_dry_run_operations();
125
- }
126
- }
127
-
128
- impl Inner for StateTransitionExecutionContextWasm {
129
- type InnerItem = StateTransitionExecutionContext;
130
-
131
- fn into_inner(self) -> Self::InnerItem {
132
- self.0
133
- }
134
-
135
- fn inner(&self) -> &Self::InnerItem {
136
- &self.0
137
- }
138
-
139
- fn inner_mut(&mut self) -> &mut Self::InnerItem {
140
- &mut self.0
141
- }
142
- }
8
+ // pub mod fee;
9
+ // pub mod validation;
10
+ // use crate::state_transition::conversion::create_operation_from_wasm_instance;
11
+ // use crate::utils::Inner;
12
+ // pub use fee::*;
13
+ // pub use validation::*;
14
+ //
15
+ // pub(crate) mod conversion;
16
+ //
17
+ // #[wasm_bindgen(js_name=StateTransitionExecutionContext)]
18
+ // #[derive(Clone)]
19
+ // pub struct StateTransitionExecutionContextWasm(StateTransitionExecutionContext);
20
+ //
21
+ // impl From<StateTransitionExecutionContext> for StateTransitionExecutionContextWasm {
22
+ // fn from(rs: StateTransitionExecutionContext) -> Self {
23
+ // StateTransitionExecutionContextWasm(rs)
24
+ // }
25
+ // }
26
+ //
27
+ // impl From<StateTransitionExecutionContextWasm> for StateTransitionExecutionContext {
28
+ // fn from(wa: StateTransitionExecutionContextWasm) -> Self {
29
+ // wa.0
30
+ // }
31
+ // }
32
+ //
33
+ // impl<'a> From<&'a StateTransitionExecutionContextWasm> for StateTransitionExecutionContext {
34
+ // fn from(wa: &StateTransitionExecutionContextWasm) -> Self {
35
+ // wa.0.clone()
36
+ // }
37
+ // }
38
+ //
39
+ // impl<'a> From<&'a StateTransitionExecutionContextWasm> for &'a StateTransitionExecutionContext {
40
+ // fn from(wa: &'a StateTransitionExecutionContextWasm) -> Self {
41
+ // &wa.0
42
+ // }
43
+ // }
44
+ //
45
+ // impl<'a> From<&'a StateTransitionExecutionContext> for StateTransitionExecutionContextWasm {
46
+ // fn from(rs: &'a StateTransitionExecutionContext) -> Self {
47
+ // Self(rs.clone())
48
+ // }
49
+ // }
50
+ //
51
+ // impl Default for StateTransitionExecutionContextWasm {
52
+ // fn default() -> Self {
53
+ // Self::new()
54
+ // }
55
+ // }
56
+ //
57
+ // #[wasm_bindgen(js_class=StateTransitionExecutionContext)]
58
+ // impl StateTransitionExecutionContextWasm {
59
+ // #[wasm_bindgen(constructor)]
60
+ // pub fn new() -> StateTransitionExecutionContextWasm {
61
+ // StateTransitionExecutionContext::default().into()
62
+ // }
63
+ //
64
+ // #[wasm_bindgen(js_name=enableDryRun)]
65
+ // pub fn enable_dry_run(&self) {
66
+ // self.0.enable_dry_run();
67
+ // }
68
+ //
69
+ // #[wasm_bindgen(js_name=disableDryRun)]
70
+ // pub fn disable_dry_run(&self) {
71
+ // self.0.disable_dry_run();
72
+ // }
73
+ //
74
+ // #[wasm_bindgen(js_name=isDryRun)]
75
+ // pub fn is_dry_run(&self) -> bool {
76
+ // self.0.is_dry_run()
77
+ // }
78
+ //
79
+ // #[wasm_bindgen(js_name=addOperation)]
80
+ // pub fn add_operation(&self, operation: JsValue) -> Result<(), JsValue> {
81
+ // let operation = create_operation_from_wasm_instance(&operation)?;
82
+ // self.0.add_operation(operation);
83
+ // Ok(())
84
+ // }
85
+ //
86
+ // #[wasm_bindgen(js_name=getDryOperations)]
87
+ // pub fn get_dry_operations(&self) -> Vec<JsValue> {
88
+ // self.0
89
+ // .get_dry_operations()
90
+ // .iter()
91
+ // .map(|operation| match operation {
92
+ // Operation::PreCalculated(operation) => {
93
+ // PreCalculatedOperationWasm::from(operation.to_owned()).into()
94
+ // }
95
+ // Operation::Read(operation) => ReadOperationWasm::from(operation.to_owned()).into(),
96
+ // Operation::SignatureVerification(operation) => {
97
+ // SignatureVerificationOperationWasm::from(operation.to_owned()).into()
98
+ // }
99
+ // })
100
+ // .collect()
101
+ // }
102
+ //
103
+ // #[wasm_bindgen(js_name=getOperations)]
104
+ // pub fn get_operation(&self) -> Vec<JsValue> {
105
+ // self.0
106
+ // .get_operations()
107
+ // .iter()
108
+ // .map(|operation| match operation {
109
+ // Operation::PreCalculated(operation) => {
110
+ // PreCalculatedOperationWasm::from(operation.to_owned()).into()
111
+ // }
112
+ // Operation::Read(operation) => ReadOperationWasm::from(operation.to_owned()).into(),
113
+ // Operation::SignatureVerification(operation) => {
114
+ // SignatureVerificationOperationWasm::from(operation.to_owned()).into()
115
+ // }
116
+ // })
117
+ // .collect()
118
+ // }
119
+ //
120
+ // #[wasm_bindgen(js_name=clearDryOperations)]
121
+ // pub fn clear_dry_run_operations(&self) {
122
+ // self.0.clear_dry_run_operations();
123
+ // }
124
+ // }
125
+ //
126
+ // impl Inner for StateTransitionExecutionContextWasm {
127
+ // type InnerItem = StateTransitionExecutionContext;
128
+ //
129
+ // fn into_inner(self) -> Self::InnerItem {
130
+ // self.0
131
+ // }
132
+ //
133
+ // fn inner(&self) -> &Self::InnerItem {
134
+ // &self.0
135
+ // }
136
+ //
137
+ // fn inner_mut(&mut self) -> &mut Self::InnerItem {
138
+ // &mut self.0
139
+ // }
140
+ // }
@@ -6,9 +6,8 @@ use crate::state_transition_factory::StateTransitionFactoryWasm;
6
6
  use crate::utils::{ToSerdeJSONExt, WithJsError};
7
7
  use crate::validation::ValidationResultWasm;
8
8
  use crate::{with_js_error, StateTransitionExecutionContextWasm};
9
- use dpp::state_transition::state_transition_execution_context::StateTransitionExecutionContext;
10
9
  use dpp::state_transition::{
11
- StateTransitionConvert, StateTransitionFacade, StateTransitionType, ValidateOptions,
10
+ StateTransitionFacade, StateTransitionFieldTypes, StateTransitionType, ValidateOptions,
12
11
  };
13
12
  use dpp::version::ProtocolVersionValidator;
14
13
  use serde::Deserialize;