@dashevo/wasm-dpp 0.23.0-dev.14 → 0.24.0-dev.10

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 (272) hide show
  1. package/.eslintignore +1 -0
  2. package/Cargo.toml +23 -0
  3. package/README.md +21 -6
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.js +2 -0
  6. package/dist/index.js.LICENSE.txt +8 -0
  7. package/dist/lib/patchIdentifier.d.ts +2 -0
  8. package/dist/wasm/wasm_dpp.d.ts +2756 -0
  9. package/index.ts +30 -0
  10. package/karma.conf.js +6 -3
  11. package/lib/patchIdentifier.ts +37 -0
  12. package/lib/test/.eslintrc +9 -0
  13. package/lib/test/bootstrap.js +27 -0
  14. package/lib/test/expect/expectError.js +34 -0
  15. package/lib/test/karma/loader.js +6 -0
  16. package/lib/test/utils/generateRandomIdentifierAsync.js +14 -0
  17. package/package.json +31 -55
  18. package/scripts/build.sh +69 -0
  19. package/scripts/clean.sh +4 -0
  20. package/src/bls_adapter.rs +71 -0
  21. package/src/buffer.rs +15 -0
  22. package/src/dash_platform_protocol.rs +26 -0
  23. package/src/data_contract/data_contract.rs +290 -0
  24. package/src/data_contract/errors/data_contract_already_exists.rs +1 -0
  25. package/src/data_contract/errors/invalid_data_contract.rs +29 -0
  26. package/src/data_contract/errors/invalid_document_type.rs +33 -0
  27. package/src/data_contract/errors/mod.rs +37 -0
  28. package/src/data_contract/index.rs +61 -0
  29. package/src/data_contract/mod.rs +10 -0
  30. package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +37 -0
  31. package/src/data_contract/state_transition/mod.rs +3 -0
  32. package/src/data_contract_factory/data_contract_factory.rs +155 -0
  33. package/src/data_contract_factory/mod.rs +1 -0
  34. package/src/document/errors/document_already_exists_error.rs +28 -0
  35. package/src/document/errors/document_not_provided_error.rs +28 -0
  36. package/src/document/errors/invalid_action_name_error.rs +24 -0
  37. package/src/document/errors/invalid_document_action_error.rs +28 -0
  38. package/src/document/errors/invalid_document_error.rs +32 -0
  39. package/src/document/errors/invalid_initial_revision_error.rs +25 -0
  40. package/src/document/errors/mismatch_owners_ids_error.rs +27 -0
  41. package/src/document/errors/mod.rs +55 -0
  42. package/src/document/errors/no_documents_supplied_error.rs +22 -0
  43. package/src/document/mod.rs +158 -0
  44. package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +22 -0
  45. package/src/document/state_transition/document_batch_transition/document_transition/document_delete_transition.rs +22 -0
  46. package/src/document/state_transition/document_batch_transition/document_transition/document_update_transition.rs +22 -0
  47. package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +24 -0
  48. package/src/document/state_transition/document_batch_transition/mod.rs +1 -0
  49. package/src/document/state_transition/mod.rs +1 -0
  50. package/src/errors/consensus/basic/data_contract/data_contract_have_new_unique_index_error.rs +36 -0
  51. package/src/errors/consensus/basic/data_contract/data_contract_immutable_properties_update_error.rs +36 -0
  52. package/src/errors/consensus/basic/data_contract/data_contract_invalid_index_definition_update_error.rs +36 -0
  53. package/src/errors/consensus/basic/data_contract/data_contract_max_depth_exceed_error.rs +26 -0
  54. package/src/errors/consensus/basic/data_contract/data_contract_unique_indices_changed_error.rs +36 -0
  55. package/src/errors/consensus/basic/data_contract/duplicate_index_name_error.rs +36 -0
  56. package/src/errors/consensus/basic/data_contract/incompatible_data_contract_schema_error.rs +66 -0
  57. package/src/errors/consensus/basic/data_contract/incompatible_re2_pattern_error.rs +43 -0
  58. package/src/errors/consensus/basic/data_contract/index_error/duplicate_index_error.rs +39 -0
  59. package/src/errors/consensus/basic/data_contract/index_error/invalid_compound_index_error.rs +39 -0
  60. package/src/errors/consensus/basic/data_contract/index_error/invalid_index_property_type_error.rs +59 -0
  61. package/src/errors/consensus/basic/data_contract/index_error/invalid_indexed_property_constraint_error.rs +67 -0
  62. package/src/errors/consensus/basic/data_contract/index_error/mod.rs +15 -0
  63. package/src/errors/consensus/basic/data_contract/index_error/system_property_index_already_present_error.rs +51 -0
  64. package/src/errors/consensus/basic/data_contract/index_error/undefined_index_property_error.rs +51 -0
  65. package/src/errors/consensus/basic/data_contract/index_error/unique_indices_limit_reached_error.rs +36 -0
  66. package/src/errors/consensus/basic/data_contract/invalid_data_contract_id_error.rs +37 -0
  67. package/src/errors/consensus/basic/data_contract/invalid_data_contract_version_error.rs +36 -0
  68. package/src/errors/consensus/basic/data_contract/invalid_json_schema_ref_error.rs +26 -0
  69. package/src/errors/consensus/basic/data_contract/mod.rs +25 -0
  70. package/src/errors/consensus/basic/decode/mod.rs +5 -0
  71. package/src/errors/consensus/basic/decode/protocol_version_parsing_error.rs +29 -0
  72. package/src/errors/consensus/basic/decode/serialized_object_parsing_error.rs +29 -0
  73. package/src/errors/consensus/basic/document/data_contract_not_present_error.rs +32 -0
  74. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_ids_error.rs +36 -0
  75. package/src/errors/consensus/basic/document/inconsistent_compound_index_data_error.rs +40 -0
  76. package/src/errors/consensus/basic/document/invalid_document_transition_action_error.rs +26 -0
  77. package/src/errors/consensus/basic/document/invalid_document_transition_id_error.rs +38 -0
  78. package/src/errors/consensus/basic/document/invalid_document_type_error.rs +39 -0
  79. package/src/errors/consensus/basic/document/missing_data_contract_id_error.rs +20 -0
  80. package/src/errors/consensus/basic/document/missing_document_transition_action_error.rs +20 -0
  81. package/src/errors/consensus/basic/document/missing_document_type_error.rs +20 -0
  82. package/src/errors/consensus/basic/document/mod.rs +19 -0
  83. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_error.rs +32 -0
  84. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_error.rs +32 -0
  85. package/src/errors/consensus/basic/identity/identity_asset_lock_proof_locked_transaction_mismatch_error.rs +38 -0
  86. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_is_not_found_error.rs +31 -0
  87. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs +37 -0
  88. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs +29 -0
  89. package/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +33 -0
  90. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_core_chain_height_error.rs +34 -0
  91. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_transaction_height_error.rs +34 -0
  92. package/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size_error.rs +29 -0
  93. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs +60 -0
  94. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs +29 -0
  95. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_core_fee_error.rs +29 -0
  96. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_output_script_error.rs +32 -0
  97. package/src/errors/consensus/basic/identity/invalid_identity_key_signature_error.rs +29 -0
  98. package/src/errors/consensus/basic/identity/invalid_identity_public_key_data_error.rs +39 -0
  99. package/src/errors/consensus/basic/identity/invalid_identity_public_key_security_level_error.rs +42 -0
  100. package/src/errors/consensus/basic/identity/invalid_identity_public_key_type_error.rs +30 -0
  101. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs +22 -0
  102. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_signature_error.rs +24 -0
  103. package/src/errors/consensus/basic/identity/missing_master_public_key_error.rs +22 -0
  104. package/src/errors/consensus/basic/identity/missing_public_key_error.rs +29 -0
  105. package/src/errors/consensus/basic/identity/mod.rs +45 -0
  106. package/src/errors/consensus/basic/incompatible_protocol_version_error.rs +32 -0
  107. package/src/errors/consensus/basic/invalid_identifier_error.rs +36 -0
  108. package/src/errors/consensus/basic/invalid_signature_public_key_security_level_error.rs +41 -0
  109. package/src/errors/consensus/basic/invalid_state_transition_signature_error.rs +20 -0
  110. package/src/errors/consensus/basic/json_schema_compilation_error.rs +26 -0
  111. package/src/errors/consensus/basic/json_schema_error.rs +274 -0
  112. package/src/errors/consensus/basic/mod.rs +30 -0
  113. package/src/errors/consensus/basic/public_key_is_disabled_error.rs +30 -0
  114. package/src/errors/consensus/basic/public_key_security_level_not_met_error.rs +41 -0
  115. package/src/errors/consensus/basic/state_transition/invalid_state_transition_type_error.rs +29 -0
  116. package/src/errors/consensus/basic/state_transition/missing_state_transition_type_error.rs +20 -0
  117. package/src/errors/consensus/basic/state_transition/mod.rs +7 -0
  118. package/src/errors/consensus/basic/state_transition/state_transition_max_size_exceeded_error.rs +36 -0
  119. package/src/errors/consensus/basic/test_consensus_error.rs +21 -0
  120. package/src/errors/consensus/basic/unsupported_protocol_version_error.rs +32 -0
  121. package/src/errors/consensus/basic/wrong_public_key_purpose_error.rs +37 -0
  122. package/src/errors/consensus/fee/balance_is_not_enough_error.rs +32 -0
  123. package/src/errors/consensus/fee/mod.rs +3 -0
  124. package/src/errors/consensus/mod.rs +4 -0
  125. package/src/errors/consensus/signature/identity_not_found_error.rs +29 -0
  126. package/src/errors/consensus/signature/mod.rs +3 -0
  127. package/src/errors/consensus/state/data_contract/data_contract_already_present_error.rs +31 -0
  128. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_condition_error.rs +74 -0
  129. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_execution_error.rs +82 -0
  130. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_invalid_result_error.rs +66 -0
  131. package/src/errors/consensus/state/data_contract/data_trigger/mod.rs +7 -0
  132. package/src/errors/consensus/state/data_contract/mod.rs +4 -0
  133. package/src/errors/consensus/state/document/document_already_present_error.rs +28 -0
  134. package/src/errors/consensus/state/document/document_not_found_error.rs +28 -0
  135. package/src/errors/consensus/state/document/document_owner_id_mismatch_error.rs +50 -0
  136. package/src/errors/consensus/state/document/document_timestamp_window_violation_error.rs +72 -0
  137. package/src/errors/consensus/state/document/document_timestamps_mismatch_error.rs +28 -0
  138. package/src/errors/consensus/state/document/duplicate_unique_index_error.rs +42 -0
  139. package/src/errors/consensus/state/document/invalid_document_revision_error.rs +38 -0
  140. package/src/errors/consensus/state/document/mod.rs +15 -0
  141. package/src/errors/consensus/state/identity/identity_already_exists_error.rs +28 -0
  142. package/src/errors/consensus/state/identity/identity_public_key_disabled_at_window_violation_error.rs +49 -0
  143. package/src/errors/consensus/state/identity/identity_public_key_is_disabled_error.rs +31 -0
  144. package/src/errors/consensus/state/identity/identity_public_key_is_read_only_error.rs +28 -0
  145. package/src/errors/consensus/state/identity/invalid_identity_public_key_id_error.rs +28 -0
  146. package/src/errors/consensus/state/identity/invalid_identity_revision_error.rs +38 -0
  147. package/src/errors/consensus/state/identity/max_identity_public_key_limit_reached_error.rs +26 -0
  148. package/src/errors/consensus/state/identity/mod.rs +15 -0
  149. package/src/errors/consensus/state/mod.rs +3 -0
  150. package/src/errors/consensus_error.rs +612 -0
  151. package/src/errors/from.rs +24 -0
  152. package/src/errors/js_conversion.rs +63 -0
  153. package/src/errors/mod.rs +10 -0
  154. package/src/errors/public_key_validation_error.rs +23 -0
  155. package/src/identifier.rs +103 -0
  156. package/src/identity.rs +253 -0
  157. package/src/identity_facade.rs +55 -0
  158. package/src/identity_public_key/key_type.rs +22 -0
  159. package/src/identity_public_key/mod.rs +192 -0
  160. package/src/identity_public_key/public_keys_validator.rs +44 -0
  161. package/src/identity_public_key/purpose.rs +24 -0
  162. package/src/identity_public_key/security_level.rs +21 -0
  163. package/src/lib.rs +28 -0
  164. package/src/metadata.rs +54 -0
  165. package/src/utils.rs +59 -0
  166. package/src/validation_result.rs +41 -0
  167. package/test/integration/DashPlatformProtocol.spec.js +4 -4
  168. package/test/integration/ajv/keywords/byteArray/addByteArrayKeyword.spec.js +2 -2
  169. package/test/integration/dataContract/DataContractFacade.spec.js +6 -6
  170. package/test/integration/dataContract/stateTransition/DataContractCreateTransition/validation/basic/validateDataContractCreateTransitionBasicFactory.spec.js +10 -10
  171. package/test/integration/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateDataContractUpdateTransitionBasicFactory.spec.js +14 -14
  172. package/test/integration/dataContract/validation/validateDataContractFactory.spec.js +22 -22
  173. package/test/integration/document/Document.spec.js +10 -5
  174. package/test/integration/document/DocumentFacade.spec.js +11 -11
  175. package/test/integration/document/stateTransition/DocumentsBatchTransition/DocumentBatchTransition.spec.js +5 -5
  176. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/basic/validateDocumentsBatchTransitionBasicFactory.spec.js +25 -25
  177. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/state/executeDataTriggersFactory.spec.js +15 -15
  178. package/test/integration/document/validation/validateDocumentFactory.spec.js +12 -12
  179. package/test/integration/error/consensus/createConsensusError.spec.js +3 -3
  180. package/test/integration/identity/IdentityFacade.spec.js +13 -13
  181. package/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js +12 -12
  182. package/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js +11 -11
  183. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/basic/validateIdentityUpdateTransitionBasicFactory.spec.js +8 -8
  184. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory.spec.js +24 -39
  185. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validatePublicKeysState.spec.js +7 -7
  186. package/test/integration/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory.spec.js +29 -35
  187. package/test/integration/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory.spec.js +8 -8
  188. package/test/integration/identity/stateTransition/assetLockProof/instant/validateInstantAssetLockProofStructureFactory.spec.js +11 -11
  189. package/test/integration/identity/stateTransition/assetLockProof/validateAssetLockTransactionFactory.spec.js +10 -10
  190. package/test/integration/identity/stateTransition/validatePublicKeySignaturesFactory.spec.js +7 -7
  191. package/test/integration/identity/validation/validateIdentityFactory.spec.js +8 -8
  192. package/test/integration/identity/validation/validatePublicKeysFactory.spec.js +50 -24
  193. package/test/integration/stateTransition/AbstractStateTransitionIdentitySigned.spec.js +14 -14
  194. package/test/integration/stateTransition/StateTransitionFacade.spec.js +15 -19
  195. package/test/integration/stateTransition/calculateStateTransitionFee.spec.js +8 -11
  196. package/test/integration/util/generateEntropy.spec.js +1 -1
  197. package/test/integration/util/serializer.spec.js +2 -2
  198. package/test/unit/DashPlatformProtocol.spec.js +4 -4
  199. package/test/unit/Identifier.spec.js +2 -2
  200. package/test/unit/Metadata.spec.js +1 -1
  201. package/test/unit/dataContract/DataContract.spec.js +100 -159
  202. package/test/unit/dataContract/DataContractFactory.spec.js +55 -111
  203. package/test/unit/dataContract/createDataContract.spec.js +20 -10
  204. package/test/unit/dataContract/errors/InvalidDataContractError.spec.js +2 -2
  205. package/test/unit/dataContract/generateDataContractId.spec.js +23 -6
  206. package/test/unit/dataContract/getBinaryPropertiesFromSchema.spec.js +1 -1
  207. package/test/unit/dataContract/getPropertyDefinitionByPath.spec.js +1 -1
  208. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition.spec.js +8 -8
  209. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory.spec.js +6 -6
  210. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory.spec.js +8 -8
  211. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +8 -8
  212. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory.spec.js +6 -6
  213. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateIndicesAreBackwardCompatible.spec.js +6 -6
  214. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory.spec.js +9 -9
  215. package/test/unit/dataContract/validation/validateDataContractMaxDepthFactory.spec.js +6 -6
  216. package/test/unit/dataContract/validation/validateDataContractPatternsFactory.spec.js +3 -3
  217. package/test/unit/dataTrigger/DataTrigger.spec.js +8 -8
  218. package/test/unit/dataTrigger/DataTriggerExecutionContext.spec.js +4 -4
  219. package/test/unit/dataTrigger/dashpayDataTriggers/createContactRequestDataTrigger.spec.js +13 -15
  220. package/test/unit/dataTrigger/dpnsTriggers/createDomainDataTrigger.spec.js +12 -12
  221. package/test/unit/dataTrigger/featureFlagDataTriggers/createFeatureFlagDataTrigger.spec.js +11 -13
  222. package/test/unit/dataTrigger/getDataTriggersFactory.spec.js +7 -7
  223. package/test/unit/dataTrigger/rejectDataTrigger.spec.js +8 -8
  224. package/test/unit/dataTrigger/rewardShareDataTriggers/createMasternodeRewardSharesDataTrigger.spec.js +9 -9
  225. package/test/unit/decodeProtocolEntityFactory.spec.js +4 -4
  226. package/test/unit/document/Document.spec.js +9 -9
  227. package/test/unit/document/DocumentFactory.spec.js +19 -19
  228. package/test/unit/document/errors/InvalidDocumentError.spec.js +2 -2
  229. package/test/unit/document/fetchAndValidateDataContractFactory.spec.js +8 -8
  230. package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +8 -8
  231. package/test/unit/document/stateTransition/DocumetsBatchTransition/applyDocumentsBatchTransitionFactory.spec.js +16 -17
  232. package/test/unit/document/stateTransition/DocumetsBatchTransition/documentTransition/DocumentCreateTransition.spec.js +1 -1
  233. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesById.spec.js +2 -2
  234. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js +6 -6
  235. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/validatePartialCompoundIndices.spec.js +7 -7
  236. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/fetchDocumentsFactory.spec.js +6 -6
  237. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsBatchTransitionStateFactory.spec.js +27 -34
  238. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsUniquenessByIndicesFactory.spec.js +9 -9
  239. package/test/unit/errors/consensus/codes.spec.js +7 -7
  240. package/test/unit/identity/Identity.spec.js +98 -69
  241. package/test/unit/identity/IdentityFactory.spec.js +15 -15
  242. package/test/unit/identity/IdentityPublicKey.spec.js +53 -66
  243. package/test/unit/identity/creditsConverter.spec.js +1 -1
  244. package/test/unit/identity/errors/InvalidIdentityError.spec.js +2 -2
  245. package/test/unit/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition.spec.js +7 -7
  246. package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +8 -8
  247. package/test/unit/identity/stateTransition/IdentityCreateTransition/validation/state/validateIdentityCreateTransitionStateFactory.spec.js +6 -6
  248. package/test/unit/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition.spec.js +4 -4
  249. package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +7 -7
  250. package/test/unit/identity/stateTransition/IdentityTopUpTransition/validation/state/validateIdentityTopUpTransitionStateFactory.spec.js +2 -2
  251. package/test/unit/identity/stateTransition/IdentityUpdateTransition/IdentityUpdateTransition.spec.js +6 -6
  252. package/test/unit/identity/stateTransition/IdentityUpdateTransition/applyIdentityUpdateTransitionFactory.spec.js +6 -6
  253. package/test/unit/identity/stateTransition/assetLockProof/createAssetLockProofInstance.spec.js +5 -5
  254. package/test/unit/identity/stateTransition/assetLockProof/fetchAssetLockPublicKeyHashFactory.spec.js +3 -3
  255. package/test/unit/identity/validation/validateRequiredPurposeAndSecurityLevelFactory.spec.js +5 -5
  256. package/test/unit/stateTransition/StateTransitionFactory.spec.js +8 -8
  257. package/test/unit/stateTransition/createStateTransitionFactory.spec.js +8 -8
  258. package/test/unit/stateTransition/errors/InvalidStateTransitionError.spec.js +3 -3
  259. package/test/unit/stateTransition/validation/validateStateTransitionBasicFactory.spec.js +12 -12
  260. package/test/unit/stateTransition/validation/validateStateTransitionFeeFactory.spec.js +15 -15
  261. package/test/unit/stateTransition/validation/validateStateTransitionIdentitySignatureFactory.spec.js +22 -22
  262. package/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js +6 -6
  263. package/test/unit/stateTransition/validation/validateStateTransitionStateFactory.spec.js +9 -9
  264. package/test/unit/version/validateProtocolVersionFactory.spec.js +7 -7
  265. package/tsconfig.json +18 -0
  266. package/wasm/wasm_dpp.d.ts +2756 -0
  267. package/wasm/wasm_dpp.js +7750 -0
  268. package/wasm/wasm_dpp_bg.js +1 -0
  269. package/wasm/wasm_dpp_bg.wasm +0 -0
  270. package/wasm/wasm_dpp_bg.wasm.d.ts +518 -0
  271. package/webpack.config.js +22 -19
  272. package/CHANGELOG.md +0 -397
@@ -1,178 +1,122 @@
1
- const getDataContractFixture = require('../../../lib/test/fixtures/getDataContractFixture');
1
+ const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
2
2
 
3
- const protocolVersion = require('../../../lib/version/protocolVersion');
3
+ const protocolVersion = require('@dashevo/dpp/lib/version/protocolVersion');
4
4
 
5
- const DataContractCreateTransition = require('../../../lib/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition');
6
-
7
- const ValidationResult = require('../../../lib/validation/ValidationResult');
8
-
9
- const InvalidDataContractError = require('../../../lib/dataContract/errors/InvalidDataContractError');
10
- const SerializedObjectParsingError = require('../../../lib/errors/consensus/basic/decode/SerializedObjectParsingError');
11
- const createDPPMock = require('../../../lib/test/mocks/createDPPMock');
12
- const SomeConsensusError = require('../../../lib/test/mocks/SomeConsensusError');
13
-
14
- const DataContractFactory = require('../../../lib/dataContract/DataContractFactory');
15
- const entropyGenerator = require('../../../lib/util/entropyGenerator');
5
+ const { default: loadWasmDpp } = require('../../../dist');
16
6
 
17
7
  describe('DataContractFactory', () => {
18
- let decodeProtocolEntityMock;
19
- let validateDataContractMock;
8
+ let DataContractFactory;
9
+ let DataContractValidator;
10
+ let DataContract;
11
+ let InvalidDataContractError;
12
+
20
13
  let factory;
21
- let dataContract;
14
+ let jsDataContract;
22
15
  let rawDataContract;
23
- let generateEntropyMock;
24
- let dppMock;
16
+ let dataContractValidator;
17
+
18
+ before(async () => {
19
+ ({
20
+ DataContractFactory, DataContractValidator, DataContract, InvalidDataContractError,
21
+ } = await loadWasmDpp());
22
+ });
25
23
 
26
- beforeEach(function beforeEach() {
27
- dataContract = getDataContractFixture();
28
- dppMock = createDPPMock();
24
+ beforeEach(() => {
25
+ jsDataContract = getDataContractFixture();
29
26
 
30
- rawDataContract = dataContract.toObject();
27
+ // For some reason fixture has empty $defs which violates meta schema
28
+ delete jsDataContract.$defs;
31
29
 
32
- decodeProtocolEntityMock = this.sinonSandbox.stub();
33
- validateDataContractMock = this.sinonSandbox.stub();
34
- generateEntropyMock = this.sinonSandbox.stub(entropyGenerator, 'generate');
30
+ rawDataContract = jsDataContract.toObject();
31
+
32
+ dataContractValidator = new DataContractValidator();
35
33
 
36
34
  factory = new DataContractFactory(
37
- dppMock,
38
- validateDataContractMock,
39
- decodeProtocolEntityMock,
35
+ 1,
36
+ dataContractValidator,
40
37
  );
41
38
  });
42
39
 
43
- afterEach(() => {
44
- generateEntropyMock.restore();
45
- });
46
-
47
40
  describe('create', () => {
48
41
  it('should return new Data Contract with specified name and documents definition', () => {
49
- generateEntropyMock.returns(dataContract.getEntropy());
50
42
  const result = factory.create(
51
- dataContract.ownerId.toBuffer(),
43
+ jsDataContract.ownerId.toBuffer(),
52
44
  rawDataContract.documents,
53
- );
45
+ ).toObject();
54
46
 
55
- expect(result).excluding('$defs').to.deep.equal(dataContract);
47
+ expect(result).excluding('$id').to.deep.equal(rawDataContract);
56
48
  });
57
49
  });
58
50
 
59
51
  describe('createFromObject', () => {
60
52
  it('should return new Data Contract with data from passed object', async () => {
61
- validateDataContractMock.returns(new ValidationResult());
62
-
63
53
  const result = await factory.createFromObject(rawDataContract);
64
-
65
54
  expect(result.toObject()).excluding('entropy').to.deep.equal(rawDataContract);
66
-
67
- expect(validateDataContractMock).to.have.been.calledOnceWith(rawDataContract);
68
55
  });
69
56
 
70
57
  it('should return new Data Contract without validation if "skipValidation" option is passed', async () => {
71
- const result = await factory.createFromObject(rawDataContract, { skipValidation: true });
58
+ const alteredContract = jsDataContract.toObject();
59
+ alteredContract.$defs = {}; // Empty defs are bad!
72
60
 
73
- expect(result.toObject()).excluding('entropy').to.deep.equal(rawDataContract);
61
+ const resultSkipValidation = await factory.createFromObject(alteredContract, true);
74
62
 
75
- expect(validateDataContractMock).to.have.not.been.called();
63
+ expect(resultSkipValidation.toObject()).excluding('entropy').to.deep.equal(alteredContract);
76
64
  });
77
65
 
78
66
  it('should throw an error if passed object is not valid', async () => {
79
- const validationError = new SomeConsensusError('test');
80
-
81
- validateDataContractMock.returns(new ValidationResult([validationError]));
67
+ const alteredContract = jsDataContract.toObject();
68
+ alteredContract.$defs = {}; // Empty defs are bad!
82
69
 
83
- let error;
84
70
  try {
85
- await factory.createFromObject(rawDataContract);
71
+ await factory.createFromObject(alteredContract);
86
72
  } catch (e) {
87
- error = e;
73
+ expect(e).to.be.an.instanceOf(InvalidDataContractError);
74
+ expect(e.getRawDataContract()).to.deep.equal(alteredContract);
75
+ expect(e.getErrors()).to.have.length(1);
76
+ // TODO JsonSchemaError binding type required
77
+ // const [consensusError] = error.getErrors();
88
78
  }
89
-
90
- expect(error).to.be.an.instanceOf(InvalidDataContractError);
91
- expect(error.getRawDataContract()).to.equal(rawDataContract);
92
-
93
- expect(error.getErrors()).to.have.length(1);
94
-
95
- const [consensusError] = error.getErrors();
96
-
97
- expect(consensusError).to.equal(validationError);
98
-
99
- expect(validateDataContractMock).to.have.been.calledOnceWith(rawDataContract);
100
79
  });
101
80
  });
102
81
 
103
82
  describe('createFromBuffer', () => {
104
83
  let serializedDataContract;
105
84
 
106
- beforeEach(function beforeEach() {
107
- this.sinonSandbox.stub(factory, 'createFromObject');
108
-
109
- serializedDataContract = dataContract.toBuffer();
110
- });
111
-
112
- afterEach(() => {
113
- factory.createFromObject.restore();
85
+ beforeEach(() => {
86
+ serializedDataContract = jsDataContract.toBuffer();
114
87
  });
115
88
 
116
89
  it('should return new Data Contract from serialized contract', async () => {
117
- decodeProtocolEntityMock.returns([rawDataContract.protocolVersion, rawDataContract]);
118
-
119
- factory.createFromObject.returns(dataContract);
120
-
121
90
  const result = await factory.createFromBuffer(serializedDataContract);
122
91
 
123
- expect(result).to.equal(dataContract);
124
-
125
- expect(factory.createFromObject).to.have.been.calledOnceWith(rawDataContract);
126
-
127
- expect(decodeProtocolEntityMock).to.have.been.calledOnceWithExactly(
128
- serializedDataContract,
129
- );
92
+ expect(result.toObject()).to.deep.equal(jsDataContract.toObject());
130
93
  });
131
94
 
132
95
  it('should throw InvalidDataContractError if the decoding fails with consensus error', async () => {
133
- const parsingError = new SerializedObjectParsingError(
134
- serializedDataContract,
135
- new Error(),
136
- );
137
-
138
- decodeProtocolEntityMock.throws(parsingError);
139
-
140
96
  try {
97
+ // Casually break serialized data contract:
98
+ serializedDataContract[5] += 1337;
141
99
  await factory.createFromBuffer(serializedDataContract);
142
-
143
100
  expect.fail('should throw InvalidDataContractError');
144
101
  } catch (e) {
145
- expect(e).to.be.an.instanceOf(InvalidDataContractError);
146
-
147
- const [innerError] = e.getErrors();
148
- expect(innerError).to.equal(parsingError);
149
- }
150
- });
151
-
152
- it('should throw an error if decoding fails with any other error', async () => {
153
- const parsingError = new Error('Something failed during parsing');
154
-
155
- decodeProtocolEntityMock.throws(parsingError);
156
-
157
- try {
158
- await factory.createFromBuffer(serializedDataContract);
159
-
160
- expect.fail('should throw an error');
161
- } catch (e) {
162
- expect(e).to.equal(parsingError);
102
+ // TODO SerializedObjectParsingError binding type required
103
+ // expect(e).to.be.an.instanceOf(SerializedObjectPasingError);
104
+ expect(e).to.match(/Parsing of serialized object failed/);
163
105
  }
164
106
  });
165
107
  });
166
108
 
167
109
  describe('createDataContractCreateTransition', () => {
168
- it('should return new DataContractCreateTransition with passed DataContract', () => {
169
- const result = factory.createDataContractCreateTransition(dataContract);
110
+ it('should return new DataContractCreateTransition with passed DataContract', async () => {
111
+ // Create wasm version of DataContract
112
+ const dataContract = new DataContract(rawDataContract);
113
+ dataContract.setEntropy(jsDataContract.getEntropy());
170
114
 
171
- expect(result).to.be.an.instanceOf(DataContractCreateTransition);
115
+ const result = await factory.createDataContractCreateTransition(dataContract);
172
116
 
173
117
  expect(result.getProtocolVersion()).to.equal(protocolVersion.latestVersion);
174
- expect(result.getEntropy()).to.deep.equal(dataContract.getEntropy());
175
- expect(result.getDataContract().toObject()).to.deep.equal(dataContract.toObject());
118
+ expect(result.getEntropy()).to.deep.equal(jsDataContract.getEntropy());
119
+ expect(result.getDataContract().toObject()).to.deep.equal(jsDataContract.toObject());
176
120
  });
177
121
  });
178
122
  });
@@ -1,15 +1,25 @@
1
- const DataContract = require('../../../lib/dataContract/DataContract');
1
+ const generateRandomIdentifier = require('@dashevo/dpp/lib/test/utils/generateRandomIdentifier');
2
2
 
3
- const generateRandomIdentifier = require('../../../lib/test/utils/generateRandomIdentifier');
3
+ const { default: loadWasmDpp } = require('../../../dist');
4
4
 
5
5
  describe('createDataContract', () => {
6
6
  let rawDataContract;
7
+ let DataContract;
8
+
9
+ before(async () => {
10
+ ({
11
+ DataContract,
12
+ } = await loadWasmDpp());
13
+ });
7
14
 
8
15
  beforeEach(() => {
9
16
  rawDataContract = {
10
17
  $id: generateRandomIdentifier().toBuffer(),
11
18
  ownerId: generateRandomIdentifier().toBuffer(),
12
19
  contractId: generateRandomIdentifier().toBuffer(),
20
+ protocolVersion: 4,
21
+ version: 20,
22
+ $schema: 'http://test.com/schema',
13
23
  documents: {
14
24
  niceDocument: {
15
25
  name: { type: 'string' },
@@ -23,12 +33,12 @@ describe('createDataContract', () => {
23
33
 
24
34
  expect(dataContract).to.be.an.instanceOf(DataContract);
25
35
 
26
- expect(dataContract.getOwnerId()).to.deep.equal(rawDataContract.ownerId);
27
- expect(dataContract.getDocuments()).to.equal(rawDataContract.documents);
36
+ expect(dataContract.getOwnerId().toBuffer()).to.deep.equal(rawDataContract.ownerId);
37
+ expect(dataContract.getDocuments()).to.deep.equal(rawDataContract.documents);
28
38
  });
29
39
 
30
40
  it('should return new DataContract with "$schema" if present', () => {
31
- rawDataContract.$schema = 'http://test.com/schema';
41
+ rawDataContract.$schema = 'http://test.com/otherschema';
32
42
 
33
43
  const dataContract = new DataContract(rawDataContract);
34
44
 
@@ -36,8 +46,8 @@ describe('createDataContract', () => {
36
46
 
37
47
  expect(dataContract.getJsonMetaSchema()).to.equal(rawDataContract.$schema);
38
48
 
39
- expect(dataContract.getOwnerId()).to.deep.equal(rawDataContract.ownerId);
40
- expect(dataContract.getDocuments()).to.equal(rawDataContract.documents);
49
+ expect(dataContract.getOwnerId().toBuffer()).to.deep.equal(rawDataContract.ownerId);
50
+ expect(dataContract.getDocuments()).to.deep.equal(rawDataContract.documents);
41
51
  });
42
52
 
43
53
  it('should return new DataContract with "$defs" if present', () => {
@@ -49,9 +59,9 @@ describe('createDataContract', () => {
49
59
 
50
60
  expect(dataContract).to.be.an.instanceOf(DataContract);
51
61
 
52
- expect(dataContract.getDefinitions()).to.equal(rawDataContract.$defs);
62
+ expect(dataContract.getDefinitions()).to.deep.equal(rawDataContract.$defs);
53
63
 
54
- expect(dataContract.getOwnerId()).to.deep.equal(rawDataContract.ownerId);
55
- expect(dataContract.getDocuments()).to.equal(rawDataContract.documents);
64
+ expect(dataContract.getOwnerId().toBuffer()).to.deep.equal(rawDataContract.ownerId);
65
+ expect(dataContract.getDocuments()).to.deep.equal(rawDataContract.documents);
56
66
  });
57
67
  });
@@ -1,5 +1,5 @@
1
- const InvalidDataContractError = require('../../../../lib/dataContract/errors/InvalidDataContractError');
2
- const getDataContractFixture = require('../../../../lib/test/fixtures/getDataContractFixture');
1
+ const InvalidDataContractError = require('@dashevo/dpp/lib/dataContract/errors/InvalidDataContractError');
2
+ const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
3
3
 
4
4
  describe('InvalidDataContractError', () => {
5
5
  let rawDataContract;
@@ -1,19 +1,36 @@
1
1
  const bs58 = require('bs58');
2
- const generateDataContractId = require('../../../lib/dataContract/generateDataContractId');
2
+
3
+ const { default: loadWasmDpp } = require('../../../dist');
3
4
 
4
5
  describe('generateDataContractId', () => {
5
6
  let ownerId;
6
7
  let entropy;
8
+ let DataContractFactory;
9
+ let DataContractValidator;
10
+
11
+ before(async () => {
12
+ ({
13
+ DataContractFactory, DataContractValidator,
14
+ } = await loadWasmDpp());
15
+ });
7
16
 
8
17
  beforeEach(() => {
9
- ownerId = bs58.decode('23wdhodag');
10
- entropy = bs58.decode('5dz916pTe1');
18
+ ownerId = bs58.decode('4Sr8EZ9BjQpMpBX5PLPxfvv5crTERSWBnRJXxUmCcrCQ');
19
+ entropy = bs58.decode('85NSrhBXYJAwzj8rDXuYhPQZPyg67diKSNcfhfnVhKnT');
11
20
  });
12
21
 
13
22
  it('should generate bs58 id based on ', () => {
14
- const id = bs58.decode('CnS7cz4z1qoPsNfEgpgyVnKdtH2u7bgzZXHLcCQt24US');
15
- const generatedId = generateDataContractId(ownerId, entropy);
23
+ const id = bs58.decode('8W4qubpTaFKEWHqr9vAFSNGFULnz2TbgbG4eUik7yWx2');
24
+
25
+ const entropyGenerator = {
26
+ generate() {
27
+ return entropy;
28
+ },
29
+ };
30
+
31
+ const factory = new DataContractFactory(1337, new DataContractValidator(), entropyGenerator);
32
+ const dataContract = factory.create(ownerId, {});
16
33
 
17
- expect(Buffer.compare(id, generatedId)).to.equal(0);
34
+ expect(Buffer.compare(id, dataContract.getId().toBuffer())).to.equal(0);
18
35
  });
19
36
  });
@@ -1,5 +1,5 @@
1
1
  const { getBinaryPropertiesFromSchema } = require(
2
- '../../../lib/dataContract/getBinaryPropertiesFromSchema',
2
+ '@dashevo/dpp/lib/dataContract/getBinaryPropertiesFromSchema',
3
3
  );
4
4
 
5
5
  describe('getBinaryPropertiesFromSchema', () => {
@@ -1,5 +1,5 @@
1
1
  const getPropertyDefinitionByPath = require(
2
- '../../../lib/dataContract/getPropertyDefinitionByPath',
2
+ '@dashevo/dpp/lib/dataContract/getPropertyDefinitionByPath',
3
3
  );
4
4
 
5
5
  describe('getPropertyDefinitionByPath', () => {
@@ -1,11 +1,11 @@
1
- const getDataContractFixture = require('../../../../../lib/test/fixtures/getDataContractFixture');
2
- const stateTransitionTypes = require('../../../../../lib/stateTransition/stateTransitionTypes');
3
-
4
- const Identifier = require('../../../../../lib/identifier/Identifier');
5
- const protocolVersion = require('../../../../../lib/version/protocolVersion');
6
- const DataContractCreateTransition = require('../../../../../lib/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition');
7
- const hash = require('../../../../../lib/util/hash');
8
- const serializer = require('../../../../../lib/util/serializer');
1
+ const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
2
+ const stateTransitionTypes = require('@dashevo/dpp/lib/stateTransition/stateTransitionTypes');
3
+
4
+ const Identifier = require('@dashevo/dpp/lib/identifier/Identifier');
5
+ const protocolVersion = require('@dashevo/dpp/lib/version/protocolVersion');
6
+ const DataContractCreateTransition = require('@dashevo/dpp/lib/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition');
7
+ const hash = require('@dashevo/dpp/lib/util/hash');
8
+ const serializer = require('@dashevo/dpp/lib/util/serializer');
9
9
 
10
10
  describe('DataContractCreateTransition', () => {
11
11
  let stateTransition;
@@ -1,15 +1,15 @@
1
1
  const DataContractCreateTransition = require(
2
- '../../../../../lib/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition',
2
+ '@dashevo/dpp/lib/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition',
3
3
  );
4
4
 
5
- const getDataContractFixture = require('../../../../../lib/test/fixtures/getDataContractFixture');
5
+ const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
6
6
 
7
7
  const applyDataContractCreateTransitionFactory = require(
8
- '../../../../../lib/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory',
8
+ '@dashevo/dpp/lib/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory',
9
9
  );
10
10
 
11
- const createStateRepositoryMock = require('../../../../../lib/test/mocks/createStateRepositoryMock');
12
- const StateTransitionExecutionContext = require('../../../../../lib/stateTransition/StateTransitionExecutionContext');
11
+ const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
12
+ const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
13
13
 
14
14
  describe('applyDataContractCreateTransitionFactory', () => {
15
15
  let stateTransition;
@@ -40,7 +40,7 @@ describe('applyDataContractCreateTransitionFactory', () => {
40
40
  it('should store a data contract from state transition in the repository', async () => {
41
41
  await applyDataContractCreateTransition(stateTransition);
42
42
 
43
- expect(stateRepositoryMock.storeDataContract).to.have.been.calledOnceWithExactly(
43
+ expect(stateRepositoryMock.createDataContract).to.have.been.calledOnceWithExactly(
44
44
  stateTransition.getDataContract(),
45
45
  executionContext,
46
46
  );
@@ -1,15 +1,15 @@
1
- const validateDataContractCreateTransitionStateFactory = require('../../../../../../../lib/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory');
2
- const DataContractCreateTransition = require('../../../../../../../lib/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition');
1
+ const validateDataContractCreateTransitionStateFactory = require('@dashevo/dpp/lib/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory');
2
+ const DataContractCreateTransition = require('@dashevo/dpp/lib/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition');
3
3
 
4
- const createStateRepositoryMock = require('../../../../../../../lib/test/mocks/createStateRepositoryMock');
5
- const getDataContractFixture = require('../../../../../../../lib/test/fixtures/getDataContractFixture');
4
+ const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
5
+ const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
6
6
 
7
- const { expectValidationError } = require('../../../../../../../lib/test/expect/expectError');
7
+ const { expectValidationError } = require('@dashevo/dpp/lib/test/expect/expectError');
8
8
 
9
- const ValidationResult = require('../../../../../../../lib/validation/ValidationResult');
9
+ const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
10
10
 
11
- const DataContractAlreadyPresentError = require('../../../../../../../lib/errors/consensus/state/dataContract/DataContractAlreadyPresentError');
12
- const StateTransitionExecutionContext = require('../../../../../../../lib/stateTransition/StateTransitionExecutionContext');
11
+ const DataContractAlreadyPresentError = require('@dashevo/dpp/lib/errors/consensus/state/dataContract/DataContractAlreadyPresentError');
12
+ const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
13
13
 
14
14
  describe('validateDataContractCreateTransitionStateFactory', () => {
15
15
  let validateDataContractCreateTransitionState;
@@ -1,11 +1,11 @@
1
- const getDataContractFixture = require('../../../../../lib/test/fixtures/getDataContractFixture');
2
- const stateTransitionTypes = require('../../../../../lib/stateTransition/stateTransitionTypes');
3
-
4
- const Identifier = require('../../../../../lib/identifier/Identifier');
5
- const protocolVersion = require('../../../../../lib/version/protocolVersion');
6
- const DataContractUpdateTransition = require('../../../../../lib/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition');
7
- const hash = require('../../../../../lib/util/hash');
8
- const serializer = require('../../../../../lib/util/serializer');
1
+ const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
2
+ const stateTransitionTypes = require('@dashevo/dpp/lib/stateTransition/stateTransitionTypes');
3
+
4
+ const Identifier = require('@dashevo/dpp/lib/identifier/Identifier');
5
+ const protocolVersion = require('@dashevo/dpp/lib/version/protocolVersion');
6
+ const DataContractUpdateTransition = require('@dashevo/dpp/lib/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition');
7
+ const hash = require('@dashevo/dpp/lib/util/hash');
8
+ const serializer = require('@dashevo/dpp/lib/util/serializer');
9
9
 
10
10
  describe('DataContractUpdateTransition', () => {
11
11
  let stateTransition;
@@ -1,15 +1,15 @@
1
1
  const DataContractUpdateTransition = require(
2
- '../../../../../lib/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition',
2
+ '@dashevo/dpp/lib/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition',
3
3
  );
4
4
 
5
- const getDataContractFixture = require('../../../../../lib/test/fixtures/getDataContractFixture');
5
+ const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
6
6
 
7
7
  const applyDataContractUpdateTransitionFactory = require(
8
- '../../../../../lib/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory',
8
+ '@dashevo/dpp/lib/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory',
9
9
  );
10
10
 
11
- const createStateRepositoryMock = require('../../../../../lib/test/mocks/createStateRepositoryMock');
12
- const StateTransitionExecutionContext = require('../../../../../lib/stateTransition/StateTransitionExecutionContext');
11
+ const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
12
+ const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
13
13
 
14
14
  describe('applyDataContractUpdateTransitionFactory', () => {
15
15
  let stateTransition;
@@ -39,7 +39,7 @@ describe('applyDataContractUpdateTransitionFactory', () => {
39
39
  it('should store a data contract from state transition in the repository', async () => {
40
40
  await applyDataContractUpdateTransition(stateTransition);
41
41
 
42
- expect(stateRepositoryMock.storeDataContract).to.have.been.calledOnceWithExactly(
42
+ expect(stateRepositoryMock.updateDataContract).to.have.been.calledOnceWithExactly(
43
43
  stateTransition.getDataContract(),
44
44
  executionContext,
45
45
  );
@@ -1,9 +1,9 @@
1
- const validateIndicesAreBackwardCompatible = require('../../../../../../../lib/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateIndicesAreBackwardCompatible');
2
- const DataContractHaveNewIndexWithOldPropertiesError = require('../../../../../../../lib/errors/consensus/basic/dataContract/DataContractInvalidIndexDefinitionUpdateError');
3
- const DataContractHaveNewUniqueIndexError = require('../../../../../../../lib/errors/consensus/basic/dataContract/DataContractHaveNewUniqueIndexError');
4
- const DataContractIndicesChangedError = require('../../../../../../../lib/errors/consensus/basic/dataContract/DataContractUniqueIndicesChangedError');
5
- const getDataContractFixture = require('../../../../../../../lib/test/fixtures/getDataContractFixture');
6
- const DataContractInvalidIndexDefinitionUpdateError = require('../../../../../../../lib/errors/consensus/basic/dataContract/DataContractInvalidIndexDefinitionUpdateError');
1
+ const validateIndicesAreBackwardCompatible = require('@dashevo/dpp/lib/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateIndicesAreBackwardCompatible');
2
+ const DataContractHaveNewIndexWithOldPropertiesError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/DataContractInvalidIndexDefinitionUpdateError');
3
+ const DataContractHaveNewUniqueIndexError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/DataContractHaveNewUniqueIndexError');
4
+ const DataContractIndicesChangedError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/DataContractUniqueIndicesChangedError');
5
+ const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
6
+ const DataContractInvalidIndexDefinitionUpdateError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/DataContractInvalidIndexDefinitionUpdateError');
7
7
 
8
8
  describe('validateIndicesAreBackwardCompatible', () => {
9
9
  let oldDocumentsSchema;
@@ -1,16 +1,16 @@
1
- const validateDataContractUpdateTransitionStateFactory = require('../../../../../../../lib/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory');
2
- const DataContractUpdateTransition = require('../../../../../../../lib/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition');
1
+ const validateDataContractUpdateTransitionStateFactory = require('@dashevo/dpp/lib/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory');
2
+ const DataContractUpdateTransition = require('@dashevo/dpp/lib/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition');
3
3
 
4
- const createStateRepositoryMock = require('../../../../../../../lib/test/mocks/createStateRepositoryMock');
5
- const getDataContractFixture = require('../../../../../../../lib/test/fixtures/getDataContractFixture');
4
+ const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
5
+ const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
6
6
 
7
- const { expectValidationError } = require('../../../../../../../lib/test/expect/expectError');
7
+ const { expectValidationError } = require('@dashevo/dpp/lib/test/expect/expectError');
8
8
 
9
- const ValidationResult = require('../../../../../../../lib/validation/ValidationResult');
9
+ const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
10
10
 
11
- const DataContractNotPresentError = require('../../../../../../../lib/errors/consensus/basic/document/DataContractNotPresentError');
12
- const InvalidDataContractVersionError = require('../../../../../../../lib/errors/consensus/basic/dataContract/InvalidDataContractVersionError');
13
- const StateTransitionExecutionContext = require('../../../../../../../lib/stateTransition/StateTransitionExecutionContext');
11
+ const DataContractNotPresentError = require('@dashevo/dpp/lib/errors/consensus/basic/document/DataContractNotPresentError');
12
+ const InvalidDataContractVersionError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/InvalidDataContractVersionError');
13
+ const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
14
14
 
15
15
  describe('validateDataContractUpdateTransitionStateFactory', () => {
16
16
  let validateDataContractUpdateTransitionState;
@@ -1,9 +1,9 @@
1
- const validateDataContractMaxDepthFactory = require('../../../../lib/dataContract/validation/validateDataContractMaxDepthFactory');
2
- const ValidationResult = require('../../../../lib/validation/ValidationResult');
3
- const { expectValidationError } = require('../../../../lib/test/expect/expectError');
4
- const DataContractMaxDepthExceedError = require('../../../../lib/errors/consensus/basic/dataContract/DataContractMaxDepthExceedError');
5
- const generateDeepJson = require('../../../../lib/test/utils/generateDeepJson');
6
- const InvalidJsonSchemaRefError = require('../../../../lib/errors/consensus/basic/dataContract/InvalidJsonSchemaRefError');
1
+ const validateDataContractMaxDepthFactory = require('@dashevo/dpp/lib/dataContract/validation/validateDataContractMaxDepthFactory');
2
+ const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
3
+ const { expectValidationError } = require('@dashevo/dpp/lib/test/expect/expectError');
4
+ const DataContractMaxDepthExceedError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/DataContractMaxDepthExceedError');
5
+ const generateDeepJson = require('@dashevo/dpp/lib/test/utils/generateDeepJson');
6
+ const InvalidJsonSchemaRefError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/InvalidJsonSchemaRefError');
7
7
 
8
8
  describe('validateDataContractMaxDepthFactory', () => {
9
9
  let refParserMock;
@@ -1,10 +1,10 @@
1
1
  const { getRE2Class } = require('@dashevo/wasm-re2');
2
2
 
3
- const validateDataContractPatternsFactory = require('../../../../lib/dataContract/validation/validateDataContractPatternsFactory');
3
+ const validateDataContractPatternsFactory = require('@dashevo/dpp/lib/dataContract/validation/validateDataContractPatternsFactory');
4
4
  const { expectValidationError } = require(
5
- '../../../../lib/test/expect/expectError',
5
+ '@dashevo/dpp/lib/test/expect/expectError',
6
6
  );
7
- const IncompatibleRe2PatternError = require('../../../../lib/errors/consensus/basic/dataContract/IncompatibleRe2PatternError');
7
+ const IncompatibleRe2PatternError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/IncompatibleRe2PatternError');
8
8
 
9
9
  describe('validateDataContractPatternsFactory', () => {
10
10
  let validateDataContractPatterns;
@@ -1,12 +1,12 @@
1
1
  const bs58 = require('bs58');
2
- const AbstractDocumentTransition = require('../../../lib/document/stateTransition/DocumentsBatchTransition/documentTransition/AbstractDocumentTransition');
3
- const DataTrigger = require('../../../lib/dataTrigger/DataTrigger');
4
- const DataTriggerExecutionContext = require('../../../lib/dataTrigger/DataTriggerExecutionContext');
5
- const getDpnsContractFixture = require('../../../lib/test/fixtures/getDpnsContractFixture');
6
- const DataTriggerExecutionResult = require('../../../lib/dataTrigger/DataTriggerExecutionResult');
7
- const getDocumentsFixture = require('../../../lib/test/fixtures/getDocumentsFixture');
8
- const DataTriggerExecutionError = require('../../../lib/errors/consensus/state/dataContract/dataTrigger/DataTriggerExecutionError');
9
- const DataTriggerInvalidResultError = require('../../../lib/errors/consensus/state/dataContract/dataTrigger/DataTriggerInvalidResultError');
2
+ const AbstractDocumentTransition = require('@dashevo/dpp/lib/document/stateTransition/DocumentsBatchTransition/documentTransition/AbstractDocumentTransition');
3
+ const DataTrigger = require('@dashevo/dpp/lib/dataTrigger/DataTrigger');
4
+ const DataTriggerExecutionContext = require('@dashevo/dpp/lib/dataTrigger/DataTriggerExecutionContext');
5
+ const getDpnsContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDpnsContractFixture');
6
+ const DataTriggerExecutionResult = require('@dashevo/dpp/lib/dataTrigger/DataTriggerExecutionResult');
7
+ const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture');
8
+ const DataTriggerExecutionError = require('@dashevo/dpp/lib/errors/consensus/state/dataContract/dataTrigger/DataTriggerExecutionError');
9
+ const DataTriggerInvalidResultError = require('@dashevo/dpp/lib/errors/consensus/state/dataContract/dataTrigger/DataTriggerInvalidResultError');
10
10
 
11
11
  describe('DataTrigger', () => {
12
12
  let dataContractMock;
@@ -1,8 +1,8 @@
1
1
  const bs58 = require('bs58');
2
- const DataTriggerExecutionContext = require('../../../lib/dataTrigger/DataTriggerExecutionContext');
3
- const createStateRepositoryMock = require('../../../lib/test/mocks/createStateRepositoryMock');
4
- const getDpnsContractFixture = require('../../../lib/test/fixtures/getDpnsContractFixture');
5
- const StateTransitionExecutionContext = require('../../../lib/stateTransition/StateTransitionExecutionContext');
2
+ const DataTriggerExecutionContext = require('@dashevo/dpp/lib/dataTrigger/DataTriggerExecutionContext');
3
+ const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
4
+ const getDpnsContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDpnsContractFixture');
5
+ const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
6
6
 
7
7
  describe('DataTriggerExecutionContext', () => {
8
8
  let dataContractMock;