@dashevo/wasm-dpp 0.23.0-dev.15 → 0.24.0-dev.11

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 (276) hide show
  1. package/.eslintignore +1 -0
  2. package/Cargo.toml +25 -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 +2850 -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/apply.rs +44 -0
  31. package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +138 -0
  32. package/src/data_contract/state_transition/data_contract_create_transition/validation.rs +24 -0
  33. package/src/data_contract/state_transition/mod.rs +3 -0
  34. package/src/data_contract_factory/data_contract_factory.rs +155 -0
  35. package/src/data_contract_factory/mod.rs +1 -0
  36. package/src/document/errors/document_already_exists_error.rs +28 -0
  37. package/src/document/errors/document_not_provided_error.rs +28 -0
  38. package/src/document/errors/invalid_action_name_error.rs +24 -0
  39. package/src/document/errors/invalid_document_action_error.rs +28 -0
  40. package/src/document/errors/invalid_document_error.rs +32 -0
  41. package/src/document/errors/invalid_initial_revision_error.rs +25 -0
  42. package/src/document/errors/mismatch_owners_ids_error.rs +27 -0
  43. package/src/document/errors/mod.rs +55 -0
  44. package/src/document/errors/no_documents_supplied_error.rs +22 -0
  45. package/src/document/mod.rs +158 -0
  46. package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +22 -0
  47. package/src/document/state_transition/document_batch_transition/document_transition/document_delete_transition.rs +22 -0
  48. package/src/document/state_transition/document_batch_transition/document_transition/document_update_transition.rs +22 -0
  49. package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +24 -0
  50. package/src/document/state_transition/document_batch_transition/mod.rs +1 -0
  51. package/src/document/state_transition/mod.rs +1 -0
  52. package/src/errors/consensus/basic/data_contract/data_contract_have_new_unique_index_error.rs +36 -0
  53. package/src/errors/consensus/basic/data_contract/data_contract_immutable_properties_update_error.rs +36 -0
  54. package/src/errors/consensus/basic/data_contract/data_contract_invalid_index_definition_update_error.rs +36 -0
  55. package/src/errors/consensus/basic/data_contract/data_contract_max_depth_exceed_error.rs +26 -0
  56. package/src/errors/consensus/basic/data_contract/data_contract_unique_indices_changed_error.rs +36 -0
  57. package/src/errors/consensus/basic/data_contract/duplicate_index_name_error.rs +36 -0
  58. package/src/errors/consensus/basic/data_contract/incompatible_data_contract_schema_error.rs +66 -0
  59. package/src/errors/consensus/basic/data_contract/incompatible_re2_pattern_error.rs +43 -0
  60. package/src/errors/consensus/basic/data_contract/index_error/duplicate_index_error.rs +39 -0
  61. package/src/errors/consensus/basic/data_contract/index_error/invalid_compound_index_error.rs +39 -0
  62. package/src/errors/consensus/basic/data_contract/index_error/invalid_index_property_type_error.rs +59 -0
  63. package/src/errors/consensus/basic/data_contract/index_error/invalid_indexed_property_constraint_error.rs +67 -0
  64. package/src/errors/consensus/basic/data_contract/index_error/mod.rs +15 -0
  65. package/src/errors/consensus/basic/data_contract/index_error/system_property_index_already_present_error.rs +51 -0
  66. package/src/errors/consensus/basic/data_contract/index_error/undefined_index_property_error.rs +51 -0
  67. package/src/errors/consensus/basic/data_contract/index_error/unique_indices_limit_reached_error.rs +36 -0
  68. package/src/errors/consensus/basic/data_contract/invalid_data_contract_id_error.rs +37 -0
  69. package/src/errors/consensus/basic/data_contract/invalid_data_contract_version_error.rs +36 -0
  70. package/src/errors/consensus/basic/data_contract/invalid_json_schema_ref_error.rs +26 -0
  71. package/src/errors/consensus/basic/data_contract/mod.rs +25 -0
  72. package/src/errors/consensus/basic/decode/mod.rs +5 -0
  73. package/src/errors/consensus/basic/decode/protocol_version_parsing_error.rs +29 -0
  74. package/src/errors/consensus/basic/decode/serialized_object_parsing_error.rs +29 -0
  75. package/src/errors/consensus/basic/document/data_contract_not_present_error.rs +32 -0
  76. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_ids_error.rs +36 -0
  77. package/src/errors/consensus/basic/document/inconsistent_compound_index_data_error.rs +40 -0
  78. package/src/errors/consensus/basic/document/invalid_document_transition_action_error.rs +26 -0
  79. package/src/errors/consensus/basic/document/invalid_document_transition_id_error.rs +38 -0
  80. package/src/errors/consensus/basic/document/invalid_document_type_error.rs +39 -0
  81. package/src/errors/consensus/basic/document/missing_data_contract_id_error.rs +20 -0
  82. package/src/errors/consensus/basic/document/missing_document_transition_action_error.rs +20 -0
  83. package/src/errors/consensus/basic/document/missing_document_type_error.rs +20 -0
  84. package/src/errors/consensus/basic/document/mod.rs +19 -0
  85. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_error.rs +32 -0
  86. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_error.rs +32 -0
  87. package/src/errors/consensus/basic/identity/identity_asset_lock_proof_locked_transaction_mismatch_error.rs +38 -0
  88. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_is_not_found_error.rs +31 -0
  89. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs +37 -0
  90. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs +29 -0
  91. package/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +33 -0
  92. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_core_chain_height_error.rs +34 -0
  93. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_transaction_height_error.rs +34 -0
  94. package/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size_error.rs +29 -0
  95. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs +60 -0
  96. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs +29 -0
  97. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_core_fee_error.rs +29 -0
  98. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_output_script_error.rs +32 -0
  99. package/src/errors/consensus/basic/identity/invalid_identity_key_signature_error.rs +29 -0
  100. package/src/errors/consensus/basic/identity/invalid_identity_public_key_data_error.rs +39 -0
  101. package/src/errors/consensus/basic/identity/invalid_identity_public_key_security_level_error.rs +42 -0
  102. package/src/errors/consensus/basic/identity/invalid_identity_public_key_type_error.rs +30 -0
  103. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs +22 -0
  104. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_signature_error.rs +24 -0
  105. package/src/errors/consensus/basic/identity/missing_master_public_key_error.rs +22 -0
  106. package/src/errors/consensus/basic/identity/missing_public_key_error.rs +29 -0
  107. package/src/errors/consensus/basic/identity/mod.rs +45 -0
  108. package/src/errors/consensus/basic/incompatible_protocol_version_error.rs +32 -0
  109. package/src/errors/consensus/basic/invalid_identifier_error.rs +36 -0
  110. package/src/errors/consensus/basic/invalid_signature_public_key_security_level_error.rs +41 -0
  111. package/src/errors/consensus/basic/invalid_state_transition_signature_error.rs +20 -0
  112. package/src/errors/consensus/basic/json_schema_compilation_error.rs +26 -0
  113. package/src/errors/consensus/basic/json_schema_error.rs +274 -0
  114. package/src/errors/consensus/basic/mod.rs +30 -0
  115. package/src/errors/consensus/basic/public_key_is_disabled_error.rs +30 -0
  116. package/src/errors/consensus/basic/public_key_security_level_not_met_error.rs +41 -0
  117. package/src/errors/consensus/basic/state_transition/invalid_state_transition_type_error.rs +29 -0
  118. package/src/errors/consensus/basic/state_transition/missing_state_transition_type_error.rs +20 -0
  119. package/src/errors/consensus/basic/state_transition/mod.rs +7 -0
  120. package/src/errors/consensus/basic/state_transition/state_transition_max_size_exceeded_error.rs +36 -0
  121. package/src/errors/consensus/basic/test_consensus_error.rs +21 -0
  122. package/src/errors/consensus/basic/unsupported_protocol_version_error.rs +32 -0
  123. package/src/errors/consensus/basic/wrong_public_key_purpose_error.rs +37 -0
  124. package/src/errors/consensus/fee/balance_is_not_enough_error.rs +32 -0
  125. package/src/errors/consensus/fee/mod.rs +3 -0
  126. package/src/errors/consensus/mod.rs +4 -0
  127. package/src/errors/consensus/signature/identity_not_found_error.rs +29 -0
  128. package/src/errors/consensus/signature/mod.rs +3 -0
  129. package/src/errors/consensus/state/data_contract/data_contract_already_present_error.rs +31 -0
  130. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_condition_error.rs +74 -0
  131. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_execution_error.rs +82 -0
  132. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_invalid_result_error.rs +66 -0
  133. package/src/errors/consensus/state/data_contract/data_trigger/mod.rs +7 -0
  134. package/src/errors/consensus/state/data_contract/mod.rs +4 -0
  135. package/src/errors/consensus/state/document/document_already_present_error.rs +28 -0
  136. package/src/errors/consensus/state/document/document_not_found_error.rs +28 -0
  137. package/src/errors/consensus/state/document/document_owner_id_mismatch_error.rs +50 -0
  138. package/src/errors/consensus/state/document/document_timestamp_window_violation_error.rs +72 -0
  139. package/src/errors/consensus/state/document/document_timestamps_mismatch_error.rs +28 -0
  140. package/src/errors/consensus/state/document/duplicate_unique_index_error.rs +42 -0
  141. package/src/errors/consensus/state/document/invalid_document_revision_error.rs +38 -0
  142. package/src/errors/consensus/state/document/mod.rs +15 -0
  143. package/src/errors/consensus/state/identity/identity_already_exists_error.rs +28 -0
  144. package/src/errors/consensus/state/identity/identity_public_key_disabled_at_window_violation_error.rs +49 -0
  145. package/src/errors/consensus/state/identity/identity_public_key_is_disabled_error.rs +31 -0
  146. package/src/errors/consensus/state/identity/identity_public_key_is_read_only_error.rs +28 -0
  147. package/src/errors/consensus/state/identity/invalid_identity_public_key_id_error.rs +28 -0
  148. package/src/errors/consensus/state/identity/invalid_identity_revision_error.rs +38 -0
  149. package/src/errors/consensus/state/identity/max_identity_public_key_limit_reached_error.rs +26 -0
  150. package/src/errors/consensus/state/identity/mod.rs +15 -0
  151. package/src/errors/consensus/state/mod.rs +3 -0
  152. package/src/errors/consensus_error.rs +612 -0
  153. package/src/errors/from.rs +24 -0
  154. package/src/errors/js_conversion.rs +63 -0
  155. package/src/errors/mod.rs +10 -0
  156. package/src/errors/public_key_validation_error.rs +23 -0
  157. package/src/identifier.rs +103 -0
  158. package/src/identity.rs +253 -0
  159. package/src/identity_facade.rs +55 -0
  160. package/src/identity_public_key/key_type.rs +22 -0
  161. package/src/identity_public_key/mod.rs +192 -0
  162. package/src/identity_public_key/public_keys_validator.rs +44 -0
  163. package/src/identity_public_key/purpose.rs +24 -0
  164. package/src/identity_public_key/security_level.rs +21 -0
  165. package/src/lib.rs +29 -0
  166. package/src/metadata.rs +54 -0
  167. package/src/state_repository.rs +229 -0
  168. package/src/state_transition/mod.rs +41 -0
  169. package/src/utils.rs +59 -0
  170. package/src/validation_result.rs +41 -0
  171. package/test/integration/DashPlatformProtocol.spec.js +4 -4
  172. package/test/integration/ajv/keywords/byteArray/addByteArrayKeyword.spec.js +2 -2
  173. package/test/integration/dataContract/DataContractFacade.spec.js +6 -6
  174. package/test/integration/dataContract/stateTransition/DataContractCreateTransition/validation/basic/validateDataContractCreateTransitionBasicFactory.spec.js +10 -10
  175. package/test/integration/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateDataContractUpdateTransitionBasicFactory.spec.js +14 -14
  176. package/test/integration/dataContract/validation/validateDataContractFactory.spec.js +22 -22
  177. package/test/integration/document/Document.spec.js +10 -5
  178. package/test/integration/document/DocumentFacade.spec.js +11 -11
  179. package/test/integration/document/stateTransition/DocumentsBatchTransition/DocumentBatchTransition.spec.js +5 -5
  180. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/basic/validateDocumentsBatchTransitionBasicFactory.spec.js +25 -25
  181. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/state/executeDataTriggersFactory.spec.js +15 -15
  182. package/test/integration/document/validation/validateDocumentFactory.spec.js +12 -12
  183. package/test/integration/error/consensus/createConsensusError.spec.js +3 -3
  184. package/test/integration/identity/IdentityFacade.spec.js +13 -13
  185. package/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js +12 -12
  186. package/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js +11 -11
  187. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/basic/validateIdentityUpdateTransitionBasicFactory.spec.js +8 -8
  188. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory.spec.js +24 -39
  189. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validatePublicKeysState.spec.js +7 -7
  190. package/test/integration/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory.spec.js +29 -35
  191. package/test/integration/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory.spec.js +8 -8
  192. package/test/integration/identity/stateTransition/assetLockProof/instant/validateInstantAssetLockProofStructureFactory.spec.js +11 -11
  193. package/test/integration/identity/stateTransition/assetLockProof/validateAssetLockTransactionFactory.spec.js +10 -10
  194. package/test/integration/identity/stateTransition/validatePublicKeySignaturesFactory.spec.js +7 -7
  195. package/test/integration/identity/validation/validateIdentityFactory.spec.js +8 -8
  196. package/test/integration/identity/validation/validatePublicKeysFactory.spec.js +50 -24
  197. package/test/integration/stateTransition/AbstractStateTransitionIdentitySigned.spec.js +14 -14
  198. package/test/integration/stateTransition/StateTransitionFacade.spec.js +15 -19
  199. package/test/integration/stateTransition/calculateStateTransitionFee.spec.js +8 -11
  200. package/test/integration/util/generateEntropy.spec.js +1 -1
  201. package/test/integration/util/serializer.spec.js +2 -2
  202. package/test/unit/DashPlatformProtocol.spec.js +4 -4
  203. package/test/unit/Identifier.spec.js +2 -2
  204. package/test/unit/Metadata.spec.js +1 -1
  205. package/test/unit/dataContract/DataContract.spec.js +100 -159
  206. package/test/unit/dataContract/DataContractFactory.spec.js +55 -111
  207. package/test/unit/dataContract/createDataContract.spec.js +20 -10
  208. package/test/unit/dataContract/errors/InvalidDataContractError.spec.js +2 -2
  209. package/test/unit/dataContract/generateDataContractId.spec.js +23 -6
  210. package/test/unit/dataContract/getBinaryPropertiesFromSchema.spec.js +1 -1
  211. package/test/unit/dataContract/getPropertyDefinitionByPath.spec.js +1 -1
  212. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition.spec.js +20 -67
  213. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory.spec.js +29 -23
  214. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory.spec.js +48 -45
  215. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +8 -8
  216. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory.spec.js +6 -6
  217. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateIndicesAreBackwardCompatible.spec.js +6 -6
  218. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory.spec.js +9 -9
  219. package/test/unit/dataContract/validation/validateDataContractMaxDepthFactory.spec.js +6 -6
  220. package/test/unit/dataContract/validation/validateDataContractPatternsFactory.spec.js +3 -3
  221. package/test/unit/dataTrigger/DataTrigger.spec.js +8 -8
  222. package/test/unit/dataTrigger/DataTriggerExecutionContext.spec.js +4 -4
  223. package/test/unit/dataTrigger/dashpayDataTriggers/createContactRequestDataTrigger.spec.js +13 -15
  224. package/test/unit/dataTrigger/dpnsTriggers/createDomainDataTrigger.spec.js +12 -12
  225. package/test/unit/dataTrigger/featureFlagDataTriggers/createFeatureFlagDataTrigger.spec.js +11 -13
  226. package/test/unit/dataTrigger/getDataTriggersFactory.spec.js +7 -7
  227. package/test/unit/dataTrigger/rejectDataTrigger.spec.js +8 -8
  228. package/test/unit/dataTrigger/rewardShareDataTriggers/createMasternodeRewardSharesDataTrigger.spec.js +9 -9
  229. package/test/unit/decodeProtocolEntityFactory.spec.js +4 -4
  230. package/test/unit/document/Document.spec.js +9 -9
  231. package/test/unit/document/DocumentFactory.spec.js +19 -19
  232. package/test/unit/document/errors/InvalidDocumentError.spec.js +2 -2
  233. package/test/unit/document/fetchAndValidateDataContractFactory.spec.js +8 -8
  234. package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +8 -8
  235. package/test/unit/document/stateTransition/DocumetsBatchTransition/applyDocumentsBatchTransitionFactory.spec.js +16 -17
  236. package/test/unit/document/stateTransition/DocumetsBatchTransition/documentTransition/DocumentCreateTransition.spec.js +1 -1
  237. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesById.spec.js +2 -2
  238. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js +6 -6
  239. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/validatePartialCompoundIndices.spec.js +7 -7
  240. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/fetchDocumentsFactory.spec.js +6 -6
  241. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsBatchTransitionStateFactory.spec.js +27 -34
  242. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsUniquenessByIndicesFactory.spec.js +9 -9
  243. package/test/unit/errors/consensus/codes.spec.js +7 -7
  244. package/test/unit/identity/Identity.spec.js +98 -69
  245. package/test/unit/identity/IdentityFactory.spec.js +15 -15
  246. package/test/unit/identity/IdentityPublicKey.spec.js +53 -66
  247. package/test/unit/identity/creditsConverter.spec.js +1 -1
  248. package/test/unit/identity/errors/InvalidIdentityError.spec.js +2 -2
  249. package/test/unit/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition.spec.js +7 -7
  250. package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +8 -8
  251. package/test/unit/identity/stateTransition/IdentityCreateTransition/validation/state/validateIdentityCreateTransitionStateFactory.spec.js +6 -6
  252. package/test/unit/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition.spec.js +4 -4
  253. package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +7 -7
  254. package/test/unit/identity/stateTransition/IdentityTopUpTransition/validation/state/validateIdentityTopUpTransitionStateFactory.spec.js +2 -2
  255. package/test/unit/identity/stateTransition/IdentityUpdateTransition/IdentityUpdateTransition.spec.js +6 -6
  256. package/test/unit/identity/stateTransition/IdentityUpdateTransition/applyIdentityUpdateTransitionFactory.spec.js +6 -6
  257. package/test/unit/identity/stateTransition/assetLockProof/createAssetLockProofInstance.spec.js +5 -5
  258. package/test/unit/identity/stateTransition/assetLockProof/fetchAssetLockPublicKeyHashFactory.spec.js +3 -3
  259. package/test/unit/identity/validation/validateRequiredPurposeAndSecurityLevelFactory.spec.js +5 -5
  260. package/test/unit/stateTransition/StateTransitionFactory.spec.js +8 -8
  261. package/test/unit/stateTransition/createStateTransitionFactory.spec.js +8 -8
  262. package/test/unit/stateTransition/errors/InvalidStateTransitionError.spec.js +3 -3
  263. package/test/unit/stateTransition/validation/validateStateTransitionBasicFactory.spec.js +12 -12
  264. package/test/unit/stateTransition/validation/validateStateTransitionFeeFactory.spec.js +15 -15
  265. package/test/unit/stateTransition/validation/validateStateTransitionIdentitySignatureFactory.spec.js +22 -22
  266. package/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js +6 -6
  267. package/test/unit/stateTransition/validation/validateStateTransitionStateFactory.spec.js +9 -9
  268. package/test/unit/version/validateProtocolVersionFactory.spec.js +7 -7
  269. package/tsconfig.json +18 -0
  270. package/wasm/wasm_dpp.d.ts +2850 -0
  271. package/wasm/wasm_dpp.js +7978 -0
  272. package/wasm/wasm_dpp_bg.js +1 -0
  273. package/wasm/wasm_dpp_bg.wasm +0 -0
  274. package/wasm/wasm_dpp_bg.wasm.d.ts +536 -0
  275. package/webpack.config.js +22 -19
  276. package/CHANGELOG.md +0 -397
@@ -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;
@@ -1,24 +1,24 @@
1
1
  const bs58 = require('bs58');
2
- const AbstractDocumentTransition = require('../../../../../../../lib/document/stateTransition/DocumentsBatchTransition/documentTransition/AbstractDocumentTransition');
2
+ const AbstractDocumentTransition = require('@dashevo/dpp/lib/document/stateTransition/DocumentsBatchTransition/documentTransition/AbstractDocumentTransition');
3
3
 
4
- const generateRandomIdentifier = require('../../../../../../../lib/test/utils/generateRandomIdentifier');
4
+ const generateRandomIdentifier = require('@dashevo/dpp/lib/test/utils/generateRandomIdentifier');
5
5
 
6
- const DataTrigger = require('../../../../../../../lib/dataTrigger/DataTrigger');
7
- const DataTriggerExecutionResult = require('../../../../../../../lib/dataTrigger/DataTriggerExecutionResult');
8
- const DataTriggerExecutionContext = require('../../../../../../../lib/dataTrigger/DataTriggerExecutionContext');
9
- const getDpnsContractFixture = require('../../../../../../../lib/test/fixtures/getDpnsContractFixture');
10
- const dpnsDocumentFixture = require('../../../../../../../lib/test/fixtures/getDpnsDocumentFixture');
11
- const getDocumentsFixture = require('../../../../../../../lib/test/fixtures/getDocumentsFixture');
12
- const getDocumentTransitionsFixture = require('../../../../../../../lib/test/fixtures/getDocumentTransitionsFixture');
13
- const getDataContractFixture = require('../../../../../../../lib/test/fixtures/getDataContractFixture');
6
+ const DataTrigger = require('@dashevo/dpp/lib/dataTrigger/DataTrigger');
7
+ const DataTriggerExecutionResult = require('@dashevo/dpp/lib/dataTrigger/DataTriggerExecutionResult');
8
+ const DataTriggerExecutionContext = require('@dashevo/dpp/lib/dataTrigger/DataTriggerExecutionContext');
9
+ const getDpnsContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDpnsContractFixture');
10
+ const dpnsDocumentFixture = require('@dashevo/dpp/lib/test/fixtures/getDpnsDocumentFixture');
11
+ const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture');
12
+ const getDocumentTransitionsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentTransitionsFixture');
13
+ const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
14
14
 
15
- const dpnsCreateDomainDataTrigger = require('../../../../../../../lib/dataTrigger/dpnsTriggers/createDomainDataTrigger');
16
- const dpnsDeleteDomainDataTrigger = require('../../../../../../../lib/dataTrigger/dpnsTriggers/createDomainDataTrigger');
17
- const dpnsUpdateDomainDataTrigger = require('../../../../../../../lib/dataTrigger/dpnsTriggers/createDomainDataTrigger');
15
+ const dpnsCreateDomainDataTrigger = require('@dashevo/dpp/lib/dataTrigger/dpnsTriggers/createDomainDataTrigger');
16
+ const dpnsDeleteDomainDataTrigger = require('@dashevo/dpp/lib/dataTrigger/dpnsTriggers/createDomainDataTrigger');
17
+ const dpnsUpdateDomainDataTrigger = require('@dashevo/dpp/lib/dataTrigger/dpnsTriggers/createDomainDataTrigger');
18
18
 
19
- const executeDataTriggersFactory = require('../../../../../../../lib/document/stateTransition/DocumentsBatchTransition/validation/state/executeDataTriggersFactory');
19
+ const executeDataTriggersFactory = require('@dashevo/dpp/lib/document/stateTransition/DocumentsBatchTransition/validation/state/executeDataTriggersFactory');
20
20
 
21
- const Identifier = require('../../../../../../../lib/identifier/Identifier');
21
+ const Identifier = require('@dashevo/dpp/lib/identifier/Identifier');
22
22
 
23
23
  describe('executeDataTriggersFactory', () => {
24
24
  let childDocument;
@@ -1,26 +1,26 @@
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 JsonSchemaValidator = require('../../../../lib/validation/JsonSchemaValidator');
6
- const ValidationResult = require('../../../../lib/validation/ValidationResult');
5
+ const JsonSchemaValidator = require('@dashevo/dpp/lib/validation/JsonSchemaValidator');
6
+ const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
7
7
 
8
- const DataContract = require('../../../../lib/dataContract/DataContract');
8
+ const DataContract = require('@dashevo/dpp/lib/dataContract/DataContract');
9
9
 
10
- const validateDocumentFactory = require('../../../../lib/document/validation/validateDocumentFactory');
11
- const enrichDataContractWithBaseSchema = require('../../../../lib/dataContract/enrichDataContractWithBaseSchema');
10
+ const validateDocumentFactory = require('@dashevo/dpp/lib/document/validation/validateDocumentFactory');
11
+ const enrichDataContractWithBaseSchema = require('@dashevo/dpp/lib/dataContract/enrichDataContractWithBaseSchema');
12
12
 
13
- const getDataContractFixture = require('../../../../lib/test/fixtures/getDataContractFixture');
14
- const getDocumentsFixture = require('../../../../lib/test/fixtures/getDocumentsFixture');
13
+ const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
14
+ const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture');
15
15
 
16
- const MissingDocumentTypeError = require('../../../../lib/errors/consensus/basic/document/MissingDocumentTypeError');
17
- const InvalidDocumentTypeError = require('../../../../lib/errors/consensus/basic/document/InvalidDocumentTypeError');
16
+ const MissingDocumentTypeError = require('@dashevo/dpp/lib/errors/consensus/basic/document/MissingDocumentTypeError');
17
+ const InvalidDocumentTypeError = require('@dashevo/dpp/lib/errors/consensus/basic/document/InvalidDocumentTypeError');
18
18
 
19
19
  const {
20
20
  expectValidationError,
21
21
  expectJsonSchemaError,
22
- } = require('../../../../lib/test/expect/expectError');
23
- const SomeConsensusError = require('../../../../lib/test/mocks/SomeConsensusError');
22
+ } = require('@dashevo/dpp/lib/test/expect/expectError');
23
+ const SomeConsensusError = require('@dashevo/dpp/lib/test/mocks/SomeConsensusError');
24
24
 
25
25
  describe('validateDocumentFactory', () => {
26
26
  let dataContract;
@@ -1,6 +1,6 @@
1
- const InvalidDataContractIdError = require('../../../../lib/errors/consensus/basic/dataContract/InvalidDataContractIdError');
2
- const generateRandomIdentifier = require('../../../../lib/test/utils/generateRandomIdentifier');
3
- const createConsensusError = require('../../../../lib/errors/consensus/createConsensusError');
1
+ const InvalidDataContractIdError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/InvalidDataContractIdError');
2
+ const generateRandomIdentifier = require('@dashevo/dpp/lib/test/utils/generateRandomIdentifier');
3
+ const createConsensusError = require('@dashevo/dpp/lib/errors/consensus/createConsensusError');
4
4
 
5
5
  describe('createConsensusError', () => {
6
6
  it('should create an error instance from code and arguments', () => {
@@ -1,21 +1,21 @@
1
1
  const { PublicKey } = require('@dashevo/dashcore-lib');
2
- const DashPlatformProtocol = require('../../../lib/DashPlatformProtocol');
2
+ const DashPlatformProtocol = require('@dashevo/dpp/lib/DashPlatformProtocol');
3
3
 
4
- const Identity = require('../../../lib/identity/Identity');
5
- const IdentityCreateTransition = require('../../../lib/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition');
6
- const IdentityTopUpTransition = require('../../../lib/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition');
4
+ const Identity = require('@dashevo/dpp/lib/identity/Identity');
5
+ const IdentityCreateTransition = require('@dashevo/dpp/lib/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition');
6
+ const IdentityTopUpTransition = require('@dashevo/dpp/lib/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition');
7
7
 
8
- const ValidationResult = require('../../../lib/validation/ValidationResult');
8
+ const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
9
9
 
10
- const getIdentityFixture = require('../../../lib/test/fixtures/getIdentityFixture');
10
+ const getIdentityFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityFixture');
11
11
 
12
- const createStateRepositoryMock = require('../../../lib/test/mocks/createStateRepositoryMock');
13
- const InstantAssetLockProof = require('../../../lib/identity/stateTransition/assetLockProof/instant/InstantAssetLockProof');
14
- const getInstantAssetLockProofFixture = require('../../../lib/test/fixtures/getInstantAssetLockProofFixture');
15
- const getChainAssetLockProofFixture = require('../../../lib/test/fixtures/getChainAssetLockProofFixture');
16
- const ChainAssetLockProof = require('../../../lib/identity/stateTransition/assetLockProof/chain/ChainAssetLockProof');
17
- const IdentityUpdateTransition = require('../../../lib/identity/stateTransition/IdentityUpdateTransition/IdentityUpdateTransition');
18
- const IdentityPublicKey = require('../../../lib/identity/IdentityPublicKey');
12
+ const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
13
+ const InstantAssetLockProof = require('@dashevo/dpp/lib/identity/stateTransition/assetLockProof/instant/InstantAssetLockProof');
14
+ const getInstantAssetLockProofFixture = require('@dashevo/dpp/lib/test/fixtures/getInstantAssetLockProofFixture');
15
+ const getChainAssetLockProofFixture = require('@dashevo/dpp/lib/test/fixtures/getChainAssetLockProofFixture');
16
+ const ChainAssetLockProof = require('@dashevo/dpp/lib/identity/stateTransition/assetLockProof/chain/ChainAssetLockProof');
17
+ const IdentityUpdateTransition = require('@dashevo/dpp/lib/identity/stateTransition/IdentityUpdateTransition/IdentityUpdateTransition');
18
+ const IdentityPublicKey = require('@dashevo/dpp/lib/identity/IdentityPublicKey');
19
19
 
20
20
  describe('IdentityFacade', () => {
21
21
  let dpp;
@@ -1,26 +1,26 @@
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 JsonSchemaValidator = require('../../../../../../../lib/validation/JsonSchemaValidator');
5
+ const JsonSchemaValidator = require('@dashevo/dpp/lib/validation/JsonSchemaValidator');
6
6
 
7
- const getIdentityCreateTransitionFixture = require('../../../../../../../lib/test/fixtures/getIdentityCreateTransitionFixture');
7
+ const getIdentityCreateTransitionFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityCreateTransitionFixture');
8
8
 
9
9
  const validateIdentityCreateTransitionBasicFactory = require(
10
- '../../../../../../../lib/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory',
10
+ '@dashevo/dpp/lib/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory',
11
11
  );
12
12
 
13
13
  const {
14
14
  expectJsonSchemaError,
15
15
  expectValidationError,
16
- } = require('../../../../../../../lib/test/expect/expectError');
17
-
18
- const ValidationResult = require('../../../../../../../lib/validation/ValidationResult');
19
- const InstantAssetLockProof = require('../../../../../../../lib/identity/stateTransition/assetLockProof/instant/InstantAssetLockProof');
20
- const ChainAssetLockProof = require('../../../../../../../lib/identity/stateTransition/assetLockProof/chain/ChainAssetLockProof');
21
- const SomeConsensusError = require('../../../../../../../lib/test/mocks/SomeConsensusError');
22
- const IdentityPublicKey = require('../../../../../../../lib/identity/IdentityPublicKey');
23
- const StateTransitionExecutionContext = require('../../../../../../../lib/stateTransition/StateTransitionExecutionContext');
16
+ } = require('@dashevo/dpp/lib/test/expect/expectError');
17
+
18
+ const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
19
+ const InstantAssetLockProof = require('@dashevo/dpp/lib/identity/stateTransition/assetLockProof/instant/InstantAssetLockProof');
20
+ const ChainAssetLockProof = require('@dashevo/dpp/lib/identity/stateTransition/assetLockProof/chain/ChainAssetLockProof');
21
+ const SomeConsensusError = require('@dashevo/dpp/lib/test/mocks/SomeConsensusError');
22
+ const IdentityPublicKey = require('@dashevo/dpp/lib/identity/IdentityPublicKey');
23
+ const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
24
24
 
25
25
  describe('validateIdentityCreateTransitionBasicFactory', () => {
26
26
  let validateIdentityCreateTransitionBasic;
@@ -1,27 +1,27 @@
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 JsonSchemaValidator = require('../../../../../../../lib/validation/JsonSchemaValidator');
5
+ const JsonSchemaValidator = require('@dashevo/dpp/lib/validation/JsonSchemaValidator');
6
6
 
7
- const getIdentityTopUpTransitionFixture = require('../../../../../../../lib/test/fixtures/getIdentityTopUpTransitionFixture');
7
+ const getIdentityTopUpTransitionFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityTopUpTransitionFixture');
8
8
 
9
9
  const validateIdentityTopUpTransitionBasicFactory = require(
10
- '../../../../../../../lib/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory',
10
+ '@dashevo/dpp/lib/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory',
11
11
  );
12
12
 
13
13
  const {
14
14
  expectJsonSchemaError,
15
15
  expectValidationError,
16
- } = require('../../../../../../../lib/test/expect/expectError');
16
+ } = require('@dashevo/dpp/lib/test/expect/expectError');
17
17
 
18
- const ValidationResult = require('../../../../../../../lib/validation/ValidationResult');
18
+ const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
19
19
 
20
- const ChainAssetLockProof = require('../../../../../../../lib/identity/stateTransition/assetLockProof/chain/ChainAssetLockProof');
21
- const InstantAssetLockProof = require('../../../../../../../lib/identity/stateTransition/assetLockProof/instant/InstantAssetLockProof');
22
- const SomeConsensusError = require('../../../../../../../lib/test/mocks/SomeConsensusError');
23
- const IdentityPublicKey = require('../../../../../../../lib/identity/IdentityPublicKey');
24
- const StateTransitionExecutionContext = require('../../../../../../../lib/stateTransition/StateTransitionExecutionContext');
20
+ const ChainAssetLockProof = require('@dashevo/dpp/lib/identity/stateTransition/assetLockProof/chain/ChainAssetLockProof');
21
+ const InstantAssetLockProof = require('@dashevo/dpp/lib/identity/stateTransition/assetLockProof/instant/InstantAssetLockProof');
22
+ const SomeConsensusError = require('@dashevo/dpp/lib/test/mocks/SomeConsensusError');
23
+ const IdentityPublicKey = require('@dashevo/dpp/lib/identity/IdentityPublicKey');
24
+ const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
25
25
 
26
26
  describe('validateIdentityTopUpTransitionBasicFactory', () => {
27
27
  let rawStateTransition;
@@ -1,15 +1,15 @@
1
1
  const { getRE2Class } = require('@dashevo/wasm-re2');
2
2
  const { PrivateKey } = require('@dashevo/dashcore-lib');
3
3
  const validateIdentityUpdateTransitionBasicFactory = require(
4
- '../../../../../../../lib/identity/stateTransition/IdentityUpdateTransition/validation/basic/validateIdentityUpdateTransitionBasicFactory',
4
+ '@dashevo/dpp/lib/identity/stateTransition/IdentityUpdateTransition/validation/basic/validateIdentityUpdateTransitionBasicFactory',
5
5
  );
6
- const JsonSchemaValidator = require('../../../../../../../lib/validation/JsonSchemaValidator');
7
- const createAjv = require('../../../../../../../lib/ajv/createAjv');
8
- const ValidationResult = require('../../../../../../../lib/validation/ValidationResult');
9
- const IdentityPublicKey = require('../../../../../../../lib/identity/IdentityPublicKey');
10
- const getIdentityUpdateTransitionFixture = require('../../../../../../../lib/test/fixtures/getIdentityUpdateTransitionFixture');
11
- const { expectJsonSchemaError, expectValidationError } = require('../../../../../../../lib/test/expect/expectError');
12
- const SomeConsensusError = require('../../../../../../../lib/test/mocks/SomeConsensusError');
6
+ const JsonSchemaValidator = require('@dashevo/dpp/lib/validation/JsonSchemaValidator');
7
+ const createAjv = require('@dashevo/dpp/lib/ajv/createAjv');
8
+ const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
9
+ const IdentityPublicKey = require('@dashevo/dpp/lib/identity/IdentityPublicKey');
10
+ const getIdentityUpdateTransitionFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityUpdateTransitionFixture');
11
+ const { expectJsonSchemaError, expectValidationError } = require('@dashevo/dpp/lib/test/expect/expectError');
12
+ const SomeConsensusError = require('@dashevo/dpp/lib/test/mocks/SomeConsensusError');
13
13
 
14
14
  describe('validateIdentityUpdateTransitionBasicFactory', () => {
15
15
  let validateIdentityUpdateTransitionBasic;
@@ -1,17 +1,17 @@
1
- const createStateRepositoryMock = require('../../../../../../../lib/test/mocks/createStateRepositoryMock');
2
- const validateIdentityUpdateTransitionStateFactory = require('../../../../../../../lib/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory');
3
- const getIdentityUpdateTransitionFixture = require('../../../../../../../lib/test/fixtures/getIdentityUpdateTransitionFixture');
4
- const IdentityPublicKey = require('../../../../../../../lib/identity/IdentityPublicKey');
5
- const getIdentityFixture = require('../../../../../../../lib/test/fixtures/getIdentityFixture');
6
- const ValidationResult = require('../../../../../../../lib/validation/ValidationResult');
7
- const { expectValidationError } = require('../../../../../../../lib/test/expect/expectError');
8
- const InvalidIdentityRevisionError = require('../../../../../../../lib/errors/consensus/state/identity/InvalidIdentityRevisionError');
9
- const IdentityPublicKeyIsReadOnlyError = require('../../../../../../../lib/errors/consensus/state/identity/IdentityPublicKeyIsReadOnlyError');
10
- const IdentityPublicKeyDisabledAtWindowViolationError = require('../../../../../../../lib/errors/consensus/state/identity/IdentityPublicKeyDisabledAtWindowViolationError');
11
- const InvalidIdentityPublicKeyIdError = require('../../../../../../../lib/errors/consensus/state/identity/InvalidIdentityPublicKeyIdError');
12
- const SomeConsensusError = require('../../../../../../../lib/test/mocks/SomeConsensusError');
13
- const StateTransitionExecutionContext = require('../../../../../../../lib/stateTransition/StateTransitionExecutionContext');
14
- const IdentityPublicKeyIsDisabledError = require('../../../../../../../lib/errors/consensus/state/identity/IdentityPublicKeyIsDisabledError');
1
+ const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
2
+ const validateIdentityUpdateTransitionStateFactory = require('@dashevo/dpp/lib/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory');
3
+ const getIdentityUpdateTransitionFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityUpdateTransitionFixture');
4
+ const IdentityPublicKey = require('@dashevo/dpp/lib/identity/IdentityPublicKey');
5
+ const getIdentityFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityFixture');
6
+ const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
7
+ const { expectValidationError } = require('@dashevo/dpp/lib/test/expect/expectError');
8
+ const InvalidIdentityRevisionError = require('@dashevo/dpp/lib/errors/consensus/state/identity/InvalidIdentityRevisionError');
9
+ const IdentityPublicKeyIsReadOnlyError = require('@dashevo/dpp/lib/errors/consensus/state/identity/IdentityPublicKeyIsReadOnlyError');
10
+ const IdentityPublicKeyDisabledAtWindowViolationError = require('@dashevo/dpp/lib/errors/consensus/state/identity/IdentityPublicKeyDisabledAtWindowViolationError');
11
+ const InvalidIdentityPublicKeyIdError = require('@dashevo/dpp/lib/errors/consensus/state/identity/InvalidIdentityPublicKeyIdError');
12
+ const SomeConsensusError = require('@dashevo/dpp/lib/test/mocks/SomeConsensusError');
13
+ const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
14
+ const IdentityPublicKeyIsDisabledError = require('@dashevo/dpp/lib/errors/consensus/state/identity/IdentityPublicKeyIsDisabledError');
15
15
 
16
16
  describe('validateIdentityUpdateTransitionStateFactory', () => {
17
17
  let validateIdentityUpdateTransitionState;
@@ -34,15 +34,9 @@ describe('validateIdentityUpdateTransitionStateFactory', () => {
34
34
  stateRepositoryMock = createStateRepositoryMock(this.sinonSandbox);
35
35
  stateRepositoryMock.fetchIdentity.resolves(identity);
36
36
 
37
- blockTime = new Date().getTime() / 1000;
37
+ blockTime = Date.now();
38
38
 
39
- const abciHeader = {
40
- time: {
41
- seconds: blockTime,
42
- },
43
- };
44
-
45
- stateRepositoryMock.fetchLatestPlatformBlockHeader.resolves(abciHeader);
39
+ stateRepositoryMock.fetchLatestPlatformBlockTime.returns(blockTime);
46
40
 
47
41
  validateIdentityUpdateTransitionState = validateIdentityUpdateTransitionStateFactory(
48
42
  stateRepositoryMock,
@@ -108,22 +102,19 @@ describe('validateIdentityUpdateTransitionStateFactory', () => {
108
102
 
109
103
  it('should return invalid result if disabledAt has violated time window', async () => {
110
104
  stateTransition.setPublicKeyIdsToDisable([1]);
111
- stateTransition.setPublicKeysDisabledAt(new Date());
105
+ // blockTime - 10 minutes
106
+ stateTransition.setPublicKeysDisabledAt(new Date(blockTime - 1000 * 60 * 60 * 10));
112
107
 
113
- const timeWindowStart = new Date(blockTime * 1000);
108
+ const timeWindowStart = new Date(blockTime);
114
109
  timeWindowStart.setMinutes(
115
110
  timeWindowStart.getMinutes() - 5,
116
111
  );
117
112
 
118
- const timeWindowEnd = new Date(blockTime * 1000);
113
+ const timeWindowEnd = new Date(blockTime);
119
114
  timeWindowEnd.setMinutes(
120
115
  timeWindowEnd.getMinutes() + 5,
121
116
  );
122
117
 
123
- stateTransition.publicKeysDisabledAt.setMinutes(
124
- stateTransition.publicKeysDisabledAt.getMinutes() - 6,
125
- );
126
-
127
118
  const result = await validateIdentityUpdateTransitionState(stateTransition);
128
119
 
129
120
  expectValidationError(result, IdentityPublicKeyDisabledAtWindowViolationError);
@@ -161,7 +152,7 @@ describe('validateIdentityUpdateTransitionStateFactory', () => {
161
152
  executionContext,
162
153
  );
163
154
 
164
- expect(stateRepositoryMock.fetchLatestPlatformBlockHeader)
155
+ expect(stateRepositoryMock.fetchLatestPlatformBlockTime)
165
156
  .to.be.calledOnce();
166
157
  });
167
158
 
@@ -179,7 +170,7 @@ describe('validateIdentityUpdateTransitionStateFactory', () => {
179
170
  executionContext,
180
171
  );
181
172
 
182
- expect(stateRepositoryMock.fetchLatestPlatformBlockHeader)
173
+ expect(stateRepositoryMock.fetchLatestPlatformBlockTime)
183
174
  .to.not.be.called();
184
175
 
185
176
  expect(validatePublicKeysMock).to.be.calledOnceWithExactly(
@@ -203,10 +194,7 @@ describe('validateIdentityUpdateTransitionStateFactory', () => {
203
194
  executionContext,
204
195
  );
205
196
 
206
- expect(stateRepositoryMock.fetchLatestPlatformBlockHeader)
207
- .to.be.calledOnce();
208
-
209
- expect(stateRepositoryMock.fetchLatestPlatformBlockHeader)
197
+ expect(stateRepositoryMock.fetchLatestPlatformBlockTime)
210
198
  .to.be.calledOnce();
211
199
  });
212
200
 
@@ -290,10 +278,7 @@ describe('validateIdentityUpdateTransitionStateFactory', () => {
290
278
  executionContext,
291
279
  );
292
280
 
293
- expect(stateRepositoryMock.fetchLatestPlatformBlockHeader)
294
- .to.not.be.called();
295
-
296
- expect(stateRepositoryMock.fetchLatestPlatformBlockHeader)
281
+ expect(stateRepositoryMock.fetchLatestPlatformBlockTime)
297
282
  .to.not.be.called();
298
283
  });
299
284
  });