@dashevo/wasm-dpp 0.23.0-dev.15 → 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
@@ -0,0 +1,24 @@
1
+ use dpp::identity::Purpose;
2
+ use wasm_bindgen::prelude::*;
3
+
4
+ #[wasm_bindgen(js_name = KeyPurpose)]
5
+ pub enum PurposeWasm {
6
+ /// at least one authentication key must be registered for all security levels
7
+ AUTHENTICATION = 0,
8
+ /// this key cannot be used for signing documents
9
+ ENCRYPTION = 1,
10
+ /// this key cannot be used for signing documents
11
+ DECRYPTION = 2,
12
+ WITHDRAW = 3,
13
+ }
14
+
15
+ impl From<Purpose> for PurposeWasm {
16
+ fn from(p: Purpose) -> Self {
17
+ match p {
18
+ Purpose::AUTHENTICATION => PurposeWasm::AUTHENTICATION,
19
+ Purpose::ENCRYPTION => PurposeWasm::ENCRYPTION,
20
+ Purpose::DECRYPTION => PurposeWasm::DECRYPTION,
21
+ Purpose::WITHDRAW => PurposeWasm::WITHDRAW,
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,21 @@
1
+ use dpp::identity::SecurityLevel;
2
+ use wasm_bindgen::prelude::*;
3
+
4
+ #[wasm_bindgen(js_name = "KeySecurityLevel")]
5
+ pub enum SecurityLevelWasm {
6
+ MASTER = 0,
7
+ CRITICAL = 1,
8
+ HIGH = 2,
9
+ MEDIUM = 3,
10
+ }
11
+
12
+ impl From<SecurityLevel> for SecurityLevelWasm {
13
+ fn from(level: SecurityLevel) -> Self {
14
+ match level {
15
+ SecurityLevel::CRITICAL => Self::CRITICAL,
16
+ SecurityLevel::HIGH => Self::HIGH,
17
+ SecurityLevel::MASTER => Self::MASTER,
18
+ SecurityLevel::MEDIUM => Self::MEDIUM,
19
+ }
20
+ }
21
+ }
package/src/lib.rs ADDED
@@ -0,0 +1,28 @@
1
+ extern crate web_sys;
2
+
3
+ pub use dash_platform_protocol::*;
4
+ pub use data_contract::*;
5
+ pub use data_contract_factory::*;
6
+ pub use document::*;
7
+ pub use identity::*;
8
+ pub use identity::*;
9
+ pub use identity_facade::*;
10
+ pub use identity_public_key::*;
11
+ pub use metadata::*;
12
+
13
+ mod dash_platform_protocol;
14
+ mod data_contract;
15
+ mod data_contract_factory;
16
+ mod document;
17
+ pub mod errors;
18
+ mod identifier;
19
+ mod identity;
20
+ mod identity_facade;
21
+ mod identity_public_key;
22
+ mod metadata;
23
+
24
+ mod utils;
25
+
26
+ mod bls_adapter;
27
+ mod buffer;
28
+ pub mod validation_result;
@@ -0,0 +1,54 @@
1
+ #![allow(clippy::from_over_into)]
2
+
3
+ pub use serde::{Deserialize, Serialize};
4
+ use wasm_bindgen::prelude::*;
5
+
6
+ use dpp::metadata::Metadata;
7
+
8
+ #[wasm_bindgen(js_name=Metadata)]
9
+ #[derive(Debug)]
10
+ pub struct MetadataWasm(Metadata);
11
+
12
+ impl std::convert::From<Metadata> for MetadataWasm {
13
+ fn from(v: Metadata) -> Self {
14
+ MetadataWasm(v)
15
+ }
16
+ }
17
+ impl std::convert::Into<Metadata> for MetadataWasm {
18
+ fn into(self) -> Metadata {
19
+ self.0
20
+ }
21
+ }
22
+
23
+ //? probably it should be a separate trait with blanket implementation
24
+ #[wasm_bindgen(js_class=Metadata)]
25
+ impl MetadataWasm {
26
+ #[wasm_bindgen(constructor)]
27
+ pub fn new(block_height: JsValue, core_chain_locked_height: JsValue) -> Self {
28
+ // TODO: return an error instead of unwraps
29
+ let block_height = block_height.as_f64().unwrap() as u64;
30
+ let core_chain_locked_height = core_chain_locked_height.as_f64().unwrap() as u64;
31
+ let inner = Metadata {
32
+ block_height,
33
+ core_chain_locked_height,
34
+ };
35
+ inner.into()
36
+ }
37
+
38
+ #[wasm_bindgen(js_name=from)]
39
+ pub fn from(object: JsValue) -> Self {
40
+ let i: Metadata = serde_json::from_str(&object.as_string().unwrap()).unwrap();
41
+ MetadataWasm(i)
42
+ }
43
+
44
+ #[wasm_bindgen(js_name=toJSON)]
45
+ pub fn to_json(&self) -> JsValue {
46
+ serde_wasm_bindgen::to_value(&self.0).unwrap()
47
+ }
48
+
49
+ #[wasm_bindgen(js_name=toObject)]
50
+ pub fn to_object(&self) -> JsValue {
51
+ let serializer = serde_wasm_bindgen::Serializer::json_compatible();
52
+ self.0.serialize(&serializer).expect("implements Serialize")
53
+ }
54
+ }
package/src/utils.rs ADDED
@@ -0,0 +1,59 @@
1
+ use dpp::dashcore::anyhow::Context;
2
+ use js_sys::Function;
3
+ use serde_json::Value;
4
+ use wasm_bindgen::prelude::*;
5
+
6
+ pub trait ToSerdeJSONExt {
7
+ fn to_serde_json_value(&self) -> Result<Value, JsValue>;
8
+ }
9
+
10
+ impl ToSerdeJSONExt for JsValue {
11
+ fn to_serde_json_value(&self) -> Result<Value, JsValue> {
12
+ to_serde_json_value(self)
13
+ }
14
+ }
15
+
16
+ pub fn to_vec_js<T>(iter: impl IntoIterator<Item = T>) -> Vec<JsValue>
17
+ where
18
+ T: Into<JsValue>,
19
+ {
20
+ iter.into_iter().map(|v| v.into()).collect()
21
+ }
22
+
23
+ pub fn to_vec_of_serde_values(
24
+ values: impl IntoIterator<Item = impl AsRef<JsValue>>,
25
+ ) -> Result<Vec<Value>, JsValue> {
26
+ values
27
+ .into_iter()
28
+ .map(|v| v.as_ref().to_serde_json_value())
29
+ .collect()
30
+ }
31
+
32
+ pub fn into_vec_of<T>(iter: &[JsValue]) -> Vec<T>
33
+ where
34
+ T: for<'de> serde::de::Deserialize<'de>,
35
+ {
36
+ iter.iter()
37
+ .map(|v| serde_wasm_bindgen::from_value(v.clone()).expect("data malformed"))
38
+ .collect()
39
+ }
40
+
41
+ pub fn to_serde_json_value(data: &JsValue) -> Result<Value, JsValue> {
42
+ let data = stringify(data)?;
43
+ let value: Value = serde_json::from_str(&data)
44
+ .with_context(|| format!("cant convert {:#?} to serde json value", data))
45
+ .map_err(|e| format!("{:#}", e))?;
46
+ Ok(value)
47
+ }
48
+
49
+ pub fn stringify(data: &JsValue) -> Result<String, JsValue> {
50
+ let replacer_func = Function::new_with_args(
51
+ "key, value",
52
+ "return value.type=='Buffer' ? value.data : value ",
53
+ );
54
+
55
+ let data_string: String =
56
+ js_sys::JSON::stringify_with_replacer(data, &JsValue::from(replacer_func))?.into();
57
+
58
+ Ok(data_string)
59
+ }
@@ -0,0 +1,41 @@
1
+ use crate::errors::consensus_error::from_consensus_error_ref;
2
+ use dpp::validation::ValidationResult;
3
+ use js_sys::JsString;
4
+ use wasm_bindgen::prelude::*;
5
+
6
+ #[wasm_bindgen(js_name=ValidationResult)]
7
+ pub struct ValidationResultWasm(ValidationResult<()>);
8
+
9
+ #[wasm_bindgen(js_class=ValidationResult)]
10
+ impl ValidationResultWasm {
11
+ /// This is just a test method - doesn't need to be in the resulted binding. Please
12
+ /// remove before shipping
13
+ #[wasm_bindgen(js_name=errorsText)]
14
+ pub fn errors_text(&self) -> Vec<JsString> {
15
+ self.0
16
+ .errors()
17
+ .iter()
18
+ .map(|e| e.to_string().into())
19
+ .collect()
20
+ }
21
+
22
+ #[wasm_bindgen(js_name=isValid)]
23
+ pub fn is_valid(&self) -> bool {
24
+ self.0.is_valid()
25
+ }
26
+
27
+ #[wasm_bindgen(js_name=getErrors)]
28
+ pub fn errors(&self) -> Vec<JsValue> {
29
+ self.0
30
+ .errors()
31
+ .iter()
32
+ .map(from_consensus_error_ref)
33
+ .collect()
34
+ }
35
+ }
36
+
37
+ impl From<ValidationResult<()>> for ValidationResultWasm {
38
+ fn from(validation_result: ValidationResult<()>) -> Self {
39
+ ValidationResultWasm(validation_result)
40
+ }
41
+ }
@@ -1,7 +1,7 @@
1
- const DashPlatformProtocol = require('../../lib/DashPlatformProtocol');
2
- const protocolVersion = require('../../lib/version/protocolVersion');
3
- const getChainAssetLockProofFixture = require('../../lib/test/fixtures/getChainAssetLockProofFixture');
4
- const generateRandomIdentifier = require('../../lib/test/utils/generateRandomIdentifier');
1
+ const DashPlatformProtocol = require('@dashevo/dpp/lib/DashPlatformProtocol');
2
+ const protocolVersion = require('@dashevo/dpp/lib/version/protocolVersion');
3
+ const getChainAssetLockProofFixture = require('@dashevo/dpp/lib/test/fixtures/getChainAssetLockProofFixture');
4
+ const generateRandomIdentifier = require('@dashevo/dpp/lib/test/utils/generateRandomIdentifier');
5
5
 
6
6
  describe('DashPlatformProtocol', () => {
7
7
  let dpp;
@@ -1,7 +1,7 @@
1
1
  const { default: Ajv } = require('ajv');
2
2
 
3
- const addByteArrayKeyword = require('../../../../../lib/ajv/keywords/byteArray/addByteArrayKeyword');
4
- const byteArray = require('../../../../../lib/ajv/keywords/byteArray/byteArray');
3
+ const addByteArrayKeyword = require('@dashevo/dpp/lib/ajv/keywords/byteArray/addByteArrayKeyword');
4
+ const byteArray = require('@dashevo/dpp/lib/ajv/keywords/byteArray/byteArray');
5
5
 
6
6
  describe('addByteArrayKeyword', () => {
7
7
  let ajv;
@@ -1,14 +1,14 @@
1
- const DashPlatformProtocol = require('../../../lib/DashPlatformProtocol');
1
+ const DashPlatformProtocol = require('@dashevo/dpp/lib/DashPlatformProtocol');
2
2
 
3
- const DataContract = require('../../../lib/dataContract/DataContract');
3
+ const DataContract = require('@dashevo/dpp/lib/dataContract/DataContract');
4
4
 
5
- const DataContractCreateTransition = require('../../../lib/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition');
5
+ const DataContractCreateTransition = require('@dashevo/dpp/lib/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition');
6
6
 
7
- const ValidationResult = require('../../../lib/validation/ValidationResult');
7
+ const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
8
8
 
9
- const getDataContractFixture = require('../../../lib/test/fixtures/getDataContractFixture');
9
+ const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
10
10
 
11
- const DataContractFactory = require('../../../lib/dataContract/DataContractFactory');
11
+ const DataContractFactory = require('@dashevo/dpp/lib/dataContract/DataContractFactory');
12
12
 
13
13
  describe('DataContractFacade', () => {
14
14
  let dpp;
@@ -2,27 +2,27 @@ const crypto = require('crypto');
2
2
 
3
3
  const { getRE2Class } = require('@dashevo/wasm-re2');
4
4
 
5
- const createAjv = require('../../../../../../../lib/ajv/createAjv');
5
+ const createAjv = require('@dashevo/dpp/lib/ajv/createAjv');
6
6
 
7
- const JsonSchemaValidator = require('../../../../../../../lib/validation/JsonSchemaValidator');
7
+ const JsonSchemaValidator = require('@dashevo/dpp/lib/validation/JsonSchemaValidator');
8
8
 
9
- const protocolVersion = require('../../../../../../../lib/version/protocolVersion');
9
+ const protocolVersion = require('@dashevo/dpp/lib/version/protocolVersion');
10
10
 
11
- const validateDataContractCreateTransitionBasicFactory = require('../../../../../../../lib/dataContract/stateTransition/DataContractCreateTransition/validation/basic/validateDataContractCreateTransitionBasicFactory');
11
+ const validateDataContractCreateTransitionBasicFactory = require('@dashevo/dpp/lib/dataContract/stateTransition/DataContractCreateTransition/validation/basic/validateDataContractCreateTransitionBasicFactory');
12
12
 
13
- const DataContractCreateTransition = require('../../../../../../../lib/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition');
13
+ const DataContractCreateTransition = require('@dashevo/dpp/lib/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition');
14
14
 
15
- const getDataContractFixture = require('../../../../../../../lib/test/fixtures/getDataContractFixture');
15
+ const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
16
16
 
17
17
  const {
18
18
  expectValidationError,
19
19
  expectJsonSchemaError,
20
- } = require('../../../../../../../lib/test/expect/expectError');
20
+ } = require('@dashevo/dpp/lib/test/expect/expectError');
21
21
 
22
- const ValidationResult = require('../../../../../../../lib/validation/ValidationResult');
22
+ const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
23
23
 
24
- const InvalidDataContractIdError = require('../../../../../../../lib/errors/consensus/basic/dataContract/InvalidDataContractIdError');
25
- const SomeConsensusError = require('../../../../../../../lib/test/mocks/SomeConsensusError');
24
+ const InvalidDataContractIdError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/InvalidDataContractIdError');
25
+ const SomeConsensusError = require('@dashevo/dpp/lib/test/mocks/SomeConsensusError');
26
26
 
27
27
  describe('validateDataContractCreateTransitionBasicFactory', () => {
28
28
  let validateDataContractMock;
@@ -1,35 +1,35 @@
1
- const lodashClone = require('lodash.clonedeep');
1
+ const lodashClone = require('lodash/cloneDeep');
2
2
 
3
3
  const jsonPatch = require('fast-json-patch');
4
4
  const jsonSchemaDiffValidator = require('json-schema-diff-validator');
5
5
 
6
6
  const { getRE2Class } = require('@dashevo/wasm-re2');
7
7
 
8
- const createAjv = require('../../../../../../../lib/ajv/createAjv');
8
+ const createAjv = require('@dashevo/dpp/lib/ajv/createAjv');
9
9
 
10
- const JsonSchemaValidator = require('../../../../../../../lib/validation/JsonSchemaValidator');
10
+ const JsonSchemaValidator = require('@dashevo/dpp/lib/validation/JsonSchemaValidator');
11
11
 
12
- const protocolVersion = require('../../../../../../../lib/version/protocolVersion');
12
+ const protocolVersion = require('@dashevo/dpp/lib/version/protocolVersion');
13
13
 
14
- const createStateRepositoryMock = require('../../../../../../../lib/test/mocks/createStateRepositoryMock');
14
+ const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
15
15
 
16
- const validateDataContractUpdateTransitionBasicFactory = require('../../../../../../../lib/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateDataContractUpdateTransitionBasicFactory');
16
+ const validateDataContractUpdateTransitionBasicFactory = require('@dashevo/dpp/lib/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateDataContractUpdateTransitionBasicFactory');
17
17
 
18
- const DataContractUpdateTransition = require('../../../../../../../lib/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition');
18
+ const DataContractUpdateTransition = require('@dashevo/dpp/lib/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition');
19
19
 
20
- const getDataContractFixture = require('../../../../../../../lib/test/fixtures/getDataContractFixture');
20
+ const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
21
21
 
22
22
  const {
23
23
  expectValidationError,
24
24
  expectJsonSchemaError,
25
- } = require('../../../../../../../lib/test/expect/expectError');
25
+ } = require('@dashevo/dpp/lib/test/expect/expectError');
26
26
 
27
- const ValidationResult = require('../../../../../../../lib/validation/ValidationResult');
27
+ const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
28
28
 
29
- const SomeConsensusError = require('../../../../../../../lib/test/mocks/SomeConsensusError');
30
- const DataContractImmutablePropertiesUpdateError = require('../../../../../../../lib/errors/consensus/basic/dataContract/DataContractImmutablePropertiesUpdateError');
31
- const IncompatibleDataContractSchemaError = require('../../../../../../../lib/errors/consensus/basic/dataContract/IncompatibleDataContractSchemaError');
32
- const StateTransitionExecutionContext = require('../../../../../../../lib/stateTransition/StateTransitionExecutionContext');
29
+ const SomeConsensusError = require('@dashevo/dpp/lib/test/mocks/SomeConsensusError');
30
+ const DataContractImmutablePropertiesUpdateError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/DataContractImmutablePropertiesUpdateError');
31
+ const IncompatibleDataContractSchemaError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/IncompatibleDataContractSchemaError');
32
+ const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
33
33
 
34
34
  describe('validateDataContractUpdateTransitionBasicFactory', () => {
35
35
  let validateDataContractMock;
@@ -1,35 +1,35 @@
1
1
  const { getRE2Class } = require('@dashevo/wasm-re2');
2
- const lodashCloneDeep = require('lodash.clonedeep');
2
+ const lodashCloneDeep = require('lodash/cloneDeep');
3
3
 
4
4
  const $RefParser = require('@apidevtools/json-schema-ref-parser');
5
5
 
6
- const createAjv = require('../../../../lib/ajv/createAjv');
6
+ const createAjv = require('@dashevo/dpp/lib/ajv/createAjv');
7
7
 
8
- const JsonSchemaValidator = require('../../../../lib/validation/JsonSchemaValidator');
8
+ const JsonSchemaValidator = require('@dashevo/dpp/lib/validation/JsonSchemaValidator');
9
9
 
10
- const ValidationResult = require('../../../../lib/validation/ValidationResult');
10
+ const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
11
11
 
12
- const validateDataContractFactory = require('../../../../lib/dataContract/validation/validateDataContractFactory');
13
- const validateDataContractMaxDepthFactory = require('../../../../lib/dataContract/validation/validateDataContractMaxDepthFactory');
14
- const enrichDataContractWithBaseSchema = require('../../../../lib/dataContract/enrichDataContractWithBaseSchema');
15
- const validateDataContractPatternsFactory = require('../../../../lib/dataContract/validation/validateDataContractPatternsFactory');
12
+ const validateDataContractFactory = require('@dashevo/dpp/lib/dataContract/validation/validateDataContractFactory');
13
+ const validateDataContractMaxDepthFactory = require('@dashevo/dpp/lib/dataContract/validation/validateDataContractMaxDepthFactory');
14
+ const enrichDataContractWithBaseSchema = require('@dashevo/dpp/lib/dataContract/enrichDataContractWithBaseSchema');
15
+ const validateDataContractPatternsFactory = require('@dashevo/dpp/lib/dataContract/validation/validateDataContractPatternsFactory');
16
16
 
17
- const getDataContractFixture = require('../../../../lib/test/fixtures/getDataContractFixture');
17
+ const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
18
18
 
19
- const { expectJsonSchemaError, expectValidationError } = require('../../../../lib/test/expect/expectError');
19
+ const { expectJsonSchemaError, expectValidationError } = require('@dashevo/dpp/lib/test/expect/expectError');
20
20
 
21
- const DuplicateIndexError = require('../../../../lib/errors/consensus/basic/dataContract/DuplicateIndexError');
22
- const UndefinedIndexPropertyError = require('../../../../lib/errors/consensus/basic/dataContract/UndefinedIndexPropertyError');
23
- const InvalidIndexPropertyTypeError = require('../../../../lib/errors/consensus/basic/dataContract/InvalidIndexPropertyTypeError');
24
- const SystemPropertyIndexAlreadyPresentError = require('../../../../lib/errors/consensus/basic/dataContract/SystemPropertyIndexAlreadyPresentError');
25
- const UniqueIndicesLimitReachedError = require('../../../../lib/errors/consensus/basic/dataContract/UniqueIndicesLimitReachedError');
26
- const InvalidIndexedPropertyConstraintError = require('../../../../lib/errors/consensus/basic/dataContract/InvalidIndexedPropertyConstraintError');
27
- const InvalidCompoundIndexError = require('../../../../lib/errors/consensus/basic/dataContract/InvalidCompoundIndexError');
28
- const IncompatibleRe2PatternError = require('../../../../lib/errors/consensus/basic/dataContract/IncompatibleRe2PatternError');
29
- const InvalidJsonSchemaRefError = require('../../../../lib/errors/consensus/basic/dataContract/InvalidJsonSchemaRefError');
30
- const JsonSchemaCompilationError = require('../../../../lib/errors/consensus/basic/JsonSchemaCompilationError');
31
- const SomeConsensusError = require('../../../../lib/test/mocks/SomeConsensusError');
32
- const getPropertyDefinitionByPath = require('../../../../lib/dataContract/getPropertyDefinitionByPath');
21
+ const DuplicateIndexError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/DuplicateIndexError');
22
+ const UndefinedIndexPropertyError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/UndefinedIndexPropertyError');
23
+ const InvalidIndexPropertyTypeError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/InvalidIndexPropertyTypeError');
24
+ const SystemPropertyIndexAlreadyPresentError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/SystemPropertyIndexAlreadyPresentError');
25
+ const UniqueIndicesLimitReachedError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/UniqueIndicesLimitReachedError');
26
+ const InvalidIndexedPropertyConstraintError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/InvalidIndexedPropertyConstraintError');
27
+ const InvalidCompoundIndexError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/InvalidCompoundIndexError');
28
+ const IncompatibleRe2PatternError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/IncompatibleRe2PatternError');
29
+ const InvalidJsonSchemaRefError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/InvalidJsonSchemaRefError');
30
+ const JsonSchemaCompilationError = require('@dashevo/dpp/lib/errors/consensus/basic/JsonSchemaCompilationError');
31
+ const SomeConsensusError = require('@dashevo/dpp/lib/test/mocks/SomeConsensusError');
32
+ const getPropertyDefinitionByPath = require('@dashevo/dpp/lib/dataContract/getPropertyDefinitionByPath');
33
33
 
34
34
  describe('validateDataContractFactory', function main() {
35
35
  this.timeout(15000);
@@ -1,8 +1,8 @@
1
- const Identifier = require('../../../lib/identifier/Identifier');
2
- const Metadata = require('../../../lib/Metadata');
1
+ const Identifier = require('@dashevo/dpp/lib/identifier/Identifier');
2
+ const Metadata = require('@dashevo/dpp/lib/Metadata');
3
3
 
4
- const getDataContractFixture = require('../../../lib/test/fixtures/getDataContractFixture');
5
- const getDocumentsFixture = require('../../../lib/test/fixtures/getDocumentsFixture');
4
+ const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
5
+ const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture');
6
6
 
7
7
  describe('Document', () => {
8
8
  let document;
@@ -13,7 +13,12 @@ describe('Document', () => {
13
13
  dataContract = getDataContractFixture();
14
14
  [document] = getDocumentsFixture(dataContract).slice(8);
15
15
 
16
- metadataFixture = new Metadata(42, 0);
16
+ metadataFixture = new Metadata({
17
+ blockHeight: 42,
18
+ coreChainLockedHeight: 0,
19
+ timeMs: new Date().getTime(),
20
+ protocolVersion: 1,
21
+ });
17
22
 
18
23
  document.setMetadata(metadataFixture);
19
24
  });
@@ -1,19 +1,19 @@
1
- const generateRandomIdentifier = require('../../../lib/test/utils/generateRandomIdentifier');
2
- const DashPlatformProtocol = require('../../../lib/DashPlatformProtocol');
1
+ const generateRandomIdentifier = require('@dashevo/dpp/lib/test/utils/generateRandomIdentifier');
2
+ const DashPlatformProtocol = require('@dashevo/dpp/lib/DashPlatformProtocol');
3
3
 
4
- const Document = require('../../../lib/document/Document');
5
- const DocumentsBatchTransition = require('../../../lib/document/stateTransition/DocumentsBatchTransition/DocumentsBatchTransition');
4
+ const Document = require('@dashevo/dpp/lib/document/Document');
5
+ const DocumentsBatchTransition = require('@dashevo/dpp/lib/document/stateTransition/DocumentsBatchTransition/DocumentsBatchTransition');
6
6
 
7
- const ValidationResult = require('../../../lib/validation/ValidationResult');
7
+ const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
8
8
 
9
- const createStateRepositoryMock = require('../../../lib/test/mocks/createStateRepositoryMock');
9
+ const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
10
10
 
11
- const getDataContractFixture = require('../../../lib/test/fixtures/getDataContractFixture');
12
- const getDocumentsFixture = require('../../../lib/test/fixtures/getDocumentsFixture');
13
- const getDocumentTransitionsFixture = require('../../../lib/test/fixtures/getDocumentTransitionsFixture');
11
+ const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
12
+ const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture');
13
+ const getDocumentTransitionsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentTransitionsFixture');
14
14
 
15
- const DataContractNotPresentError = require('../../../lib/errors/consensus/basic/document/DataContractNotPresentError');
16
- const MissingOptionError = require('../../../lib/errors/MissingOptionError');
15
+ const DataContractNotPresentError = require('@dashevo/dpp/lib/errors/consensus/basic/document/DataContractNotPresentError');
16
+ const MissingOptionError = require('@dashevo/dpp/lib/errors/MissingOptionError');
17
17
 
18
18
  describe('DocumentFacade', () => {
19
19
  let dpp;
@@ -1,9 +1,9 @@
1
- const IdentityPublicKey = require('../../../../../lib/identity/IdentityPublicKey');
1
+ const IdentityPublicKey = require('@dashevo/dpp/lib/identity/IdentityPublicKey');
2
2
 
3
- const getDataContractFixture = require('../../../../../lib/test/fixtures/getDataContractFixture');
4
- const getDocumentsFixture = require('../../../../../lib/test/fixtures/getDocumentsFixture');
5
- const DocumentFactory = require('../../../../../lib/document/DocumentFactory');
6
- const createDPPMock = require('../../../../../lib/test/mocks/createDPPMock');
3
+ const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
4
+ const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture');
5
+ const DocumentFactory = require('@dashevo/dpp/lib/document/DocumentFactory');
6
+ const createDPPMock = require('@dashevo/dpp/lib/test/mocks/createDPPMock');
7
7
 
8
8
  describe('DocumentBatchTransition', () => {
9
9
  let stateTransitionFixture;
@@ -1,41 +1,41 @@
1
1
  const { getRE2Class } = require('@dashevo/wasm-re2');
2
2
 
3
- const createAjv = require('../../../../../../../lib/ajv/createAjv');
3
+ const createAjv = require('@dashevo/dpp/lib/ajv/createAjv');
4
4
 
5
- const protocolVersion = require('../../../../../../../lib/version/protocolVersion');
5
+ const protocolVersion = require('@dashevo/dpp/lib/version/protocolVersion');
6
6
 
7
- const JsonSchemaValidator = require('../../../../../../../lib/validation/JsonSchemaValidator');
7
+ const JsonSchemaValidator = require('@dashevo/dpp/lib/validation/JsonSchemaValidator');
8
8
 
9
- const generateRandomIdentifier = require('../../../../../../../lib/test/utils/generateRandomIdentifier');
9
+ const generateRandomIdentifier = require('@dashevo/dpp/lib/test/utils/generateRandomIdentifier');
10
10
 
11
- const enrichDataContractWithBaseSchema = require('../../../../../../../lib/dataContract/enrichDataContractWithBaseSchema');
11
+ const enrichDataContractWithBaseSchema = require('@dashevo/dpp/lib/dataContract/enrichDataContractWithBaseSchema');
12
12
 
13
- const DocumentsBatchTransition = require('../../../../../../../lib/document/stateTransition/DocumentsBatchTransition/DocumentsBatchTransition');
13
+ const DocumentsBatchTransition = require('@dashevo/dpp/lib/document/stateTransition/DocumentsBatchTransition/DocumentsBatchTransition');
14
14
 
15
- const getDocumentTransitionsFixture = require('../../../../../../../lib/test/fixtures/getDocumentTransitionsFixture');
16
- const getDocumentsFixture = require('../../../../../../../lib/test/fixtures/getDocumentsFixture');
17
- const getDataContractFixture = require('../../../../../../../lib/test/fixtures/getDataContractFixture');
15
+ const getDocumentTransitionsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentTransitionsFixture');
16
+ const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture');
17
+ const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
18
18
 
19
- const ValidationResult = require('../../../../../../../lib/validation/ValidationResult');
19
+ const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
20
20
 
21
- const validateDocumentsBatchTransitionBasicFactory = require('../../../../../../../lib/document/stateTransition/DocumentsBatchTransition/validation/basic/validateDocumentsBatchTransitionBasicFactory');
21
+ const validateDocumentsBatchTransitionBasicFactory = require('@dashevo/dpp/lib/document/stateTransition/DocumentsBatchTransition/validation/basic/validateDocumentsBatchTransitionBasicFactory');
22
22
 
23
- const { expectValidationError, expectJsonSchemaError } = require('../../../../../../../lib/test/expect/expectError');
23
+ const { expectValidationError, expectJsonSchemaError } = require('@dashevo/dpp/lib/test/expect/expectError');
24
24
 
25
- const createStateRepositoryMock = require('../../../../../../../lib/test/mocks/createStateRepositoryMock');
25
+ const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
26
26
 
27
- const InvalidDocumentTransitionIdError = require('../../../../../../../lib/errors/consensus/basic/document/InvalidDocumentTransitionIdError');
28
- const DataContractNotPresentError = require('../../../../../../../lib/errors/consensus/basic/document/DataContractNotPresentError');
29
- const MissingDataContractIdError = require('../../../../../../../lib/errors/consensus/basic/document/MissingDataContractIdError');
30
- const MissingDocumentTransitionTypeError = require('../../../../../../../lib/errors/consensus/basic/document/MissingDocumentTransitionTypeError');
31
- const InvalidDocumentTypeError = require('../../../../../../../lib/errors/consensus/basic/document/InvalidDocumentTypeError');
32
- const MissingDocumentTransitionActionError = require('../../../../../../../lib/errors/consensus/basic/document/MissingDocumentTransitionActionError');
33
- const InvalidDocumentTransitionActionError = require('../../../../../../../lib/errors/consensus/basic/document/InvalidDocumentTransitionActionError');
34
- const InvalidIdentifierError = require('../../../../../../../lib/errors/consensus/basic/InvalidIdentifierError');
35
- const DuplicateDocumentTransitionsWithIndicesError = require('../../../../../../../lib/errors/consensus/basic/document/DuplicateDocumentTransitionsWithIndicesError');
36
- const DuplicateDocumentTransitionsWithIdsError = require('../../../../../../../lib/errors/consensus/basic/document/DuplicateDocumentTransitionsWithIdsError');
37
- const SomeConsensusError = require('../../../../../../../lib/test/mocks/SomeConsensusError');
38
- const StateTransitionExecutionContext = require('../../../../../../../lib/stateTransition/StateTransitionExecutionContext');
27
+ const InvalidDocumentTransitionIdError = require('@dashevo/dpp/lib/errors/consensus/basic/document/InvalidDocumentTransitionIdError');
28
+ const DataContractNotPresentError = require('@dashevo/dpp/lib/errors/consensus/basic/document/DataContractNotPresentError');
29
+ const MissingDataContractIdError = require('@dashevo/dpp/lib/errors/consensus/basic/document/MissingDataContractIdError');
30
+ const MissingDocumentTransitionTypeError = require('@dashevo/dpp/lib/errors/consensus/basic/document/MissingDocumentTransitionTypeError');
31
+ const InvalidDocumentTypeError = require('@dashevo/dpp/lib/errors/consensus/basic/document/InvalidDocumentTypeError');
32
+ const MissingDocumentTransitionActionError = require('@dashevo/dpp/lib/errors/consensus/basic/document/MissingDocumentTransitionActionError');
33
+ const InvalidDocumentTransitionActionError = require('@dashevo/dpp/lib/errors/consensus/basic/document/InvalidDocumentTransitionActionError');
34
+ const InvalidIdentifierError = require('@dashevo/dpp/lib/errors/consensus/basic/InvalidIdentifierError');
35
+ const DuplicateDocumentTransitionsWithIndicesError = require('@dashevo/dpp/lib/errors/consensus/basic/document/DuplicateDocumentTransitionsWithIndicesError');
36
+ const DuplicateDocumentTransitionsWithIdsError = require('@dashevo/dpp/lib/errors/consensus/basic/document/DuplicateDocumentTransitionsWithIdsError');
37
+ const SomeConsensusError = require('@dashevo/dpp/lib/test/mocks/SomeConsensusError');
38
+ const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
39
39
 
40
40
  describe('validateDocumentsBatchTransitionBasicFactory', () => {
41
41
  let dataContract;