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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/.eslintignore +1 -0
  2. package/Cargo.toml +23 -0
  3. package/README.md +21 -6
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.js +2 -0
  6. package/dist/index.js.LICENSE.txt +8 -0
  7. package/dist/lib/patchIdentifier.d.ts +2 -0
  8. package/dist/wasm/wasm_dpp.d.ts +2756 -0
  9. package/index.ts +30 -0
  10. package/karma.conf.js +6 -3
  11. package/lib/patchIdentifier.ts +37 -0
  12. package/lib/test/.eslintrc +9 -0
  13. package/lib/test/bootstrap.js +27 -0
  14. package/lib/test/expect/expectError.js +34 -0
  15. package/lib/test/karma/loader.js +6 -0
  16. package/lib/test/utils/generateRandomIdentifierAsync.js +14 -0
  17. package/package.json +31 -55
  18. package/scripts/build.sh +69 -0
  19. package/scripts/clean.sh +4 -0
  20. package/src/bls_adapter.rs +71 -0
  21. package/src/buffer.rs +15 -0
  22. package/src/dash_platform_protocol.rs +26 -0
  23. package/src/data_contract/data_contract.rs +290 -0
  24. package/src/data_contract/errors/data_contract_already_exists.rs +1 -0
  25. package/src/data_contract/errors/invalid_data_contract.rs +29 -0
  26. package/src/data_contract/errors/invalid_document_type.rs +33 -0
  27. package/src/data_contract/errors/mod.rs +37 -0
  28. package/src/data_contract/index.rs +61 -0
  29. package/src/data_contract/mod.rs +10 -0
  30. package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +37 -0
  31. package/src/data_contract/state_transition/mod.rs +3 -0
  32. package/src/data_contract_factory/data_contract_factory.rs +155 -0
  33. package/src/data_contract_factory/mod.rs +1 -0
  34. package/src/document/errors/document_already_exists_error.rs +28 -0
  35. package/src/document/errors/document_not_provided_error.rs +28 -0
  36. package/src/document/errors/invalid_action_name_error.rs +24 -0
  37. package/src/document/errors/invalid_document_action_error.rs +28 -0
  38. package/src/document/errors/invalid_document_error.rs +32 -0
  39. package/src/document/errors/invalid_initial_revision_error.rs +25 -0
  40. package/src/document/errors/mismatch_owners_ids_error.rs +27 -0
  41. package/src/document/errors/mod.rs +55 -0
  42. package/src/document/errors/no_documents_supplied_error.rs +22 -0
  43. package/src/document/mod.rs +158 -0
  44. package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +22 -0
  45. package/src/document/state_transition/document_batch_transition/document_transition/document_delete_transition.rs +22 -0
  46. package/src/document/state_transition/document_batch_transition/document_transition/document_update_transition.rs +22 -0
  47. package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +24 -0
  48. package/src/document/state_transition/document_batch_transition/mod.rs +1 -0
  49. package/src/document/state_transition/mod.rs +1 -0
  50. package/src/errors/consensus/basic/data_contract/data_contract_have_new_unique_index_error.rs +36 -0
  51. package/src/errors/consensus/basic/data_contract/data_contract_immutable_properties_update_error.rs +36 -0
  52. package/src/errors/consensus/basic/data_contract/data_contract_invalid_index_definition_update_error.rs +36 -0
  53. package/src/errors/consensus/basic/data_contract/data_contract_max_depth_exceed_error.rs +26 -0
  54. package/src/errors/consensus/basic/data_contract/data_contract_unique_indices_changed_error.rs +36 -0
  55. package/src/errors/consensus/basic/data_contract/duplicate_index_name_error.rs +36 -0
  56. package/src/errors/consensus/basic/data_contract/incompatible_data_contract_schema_error.rs +66 -0
  57. package/src/errors/consensus/basic/data_contract/incompatible_re2_pattern_error.rs +43 -0
  58. package/src/errors/consensus/basic/data_contract/index_error/duplicate_index_error.rs +39 -0
  59. package/src/errors/consensus/basic/data_contract/index_error/invalid_compound_index_error.rs +39 -0
  60. package/src/errors/consensus/basic/data_contract/index_error/invalid_index_property_type_error.rs +59 -0
  61. package/src/errors/consensus/basic/data_contract/index_error/invalid_indexed_property_constraint_error.rs +67 -0
  62. package/src/errors/consensus/basic/data_contract/index_error/mod.rs +15 -0
  63. package/src/errors/consensus/basic/data_contract/index_error/system_property_index_already_present_error.rs +51 -0
  64. package/src/errors/consensus/basic/data_contract/index_error/undefined_index_property_error.rs +51 -0
  65. package/src/errors/consensus/basic/data_contract/index_error/unique_indices_limit_reached_error.rs +36 -0
  66. package/src/errors/consensus/basic/data_contract/invalid_data_contract_id_error.rs +37 -0
  67. package/src/errors/consensus/basic/data_contract/invalid_data_contract_version_error.rs +36 -0
  68. package/src/errors/consensus/basic/data_contract/invalid_json_schema_ref_error.rs +26 -0
  69. package/src/errors/consensus/basic/data_contract/mod.rs +25 -0
  70. package/src/errors/consensus/basic/decode/mod.rs +5 -0
  71. package/src/errors/consensus/basic/decode/protocol_version_parsing_error.rs +29 -0
  72. package/src/errors/consensus/basic/decode/serialized_object_parsing_error.rs +29 -0
  73. package/src/errors/consensus/basic/document/data_contract_not_present_error.rs +32 -0
  74. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_ids_error.rs +36 -0
  75. package/src/errors/consensus/basic/document/inconsistent_compound_index_data_error.rs +40 -0
  76. package/src/errors/consensus/basic/document/invalid_document_transition_action_error.rs +26 -0
  77. package/src/errors/consensus/basic/document/invalid_document_transition_id_error.rs +38 -0
  78. package/src/errors/consensus/basic/document/invalid_document_type_error.rs +39 -0
  79. package/src/errors/consensus/basic/document/missing_data_contract_id_error.rs +20 -0
  80. package/src/errors/consensus/basic/document/missing_document_transition_action_error.rs +20 -0
  81. package/src/errors/consensus/basic/document/missing_document_type_error.rs +20 -0
  82. package/src/errors/consensus/basic/document/mod.rs +19 -0
  83. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_error.rs +32 -0
  84. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_error.rs +32 -0
  85. package/src/errors/consensus/basic/identity/identity_asset_lock_proof_locked_transaction_mismatch_error.rs +38 -0
  86. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_is_not_found_error.rs +31 -0
  87. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs +37 -0
  88. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs +29 -0
  89. package/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +33 -0
  90. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_core_chain_height_error.rs +34 -0
  91. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_transaction_height_error.rs +34 -0
  92. package/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size_error.rs +29 -0
  93. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs +60 -0
  94. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs +29 -0
  95. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_core_fee_error.rs +29 -0
  96. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_output_script_error.rs +32 -0
  97. package/src/errors/consensus/basic/identity/invalid_identity_key_signature_error.rs +29 -0
  98. package/src/errors/consensus/basic/identity/invalid_identity_public_key_data_error.rs +39 -0
  99. package/src/errors/consensus/basic/identity/invalid_identity_public_key_security_level_error.rs +42 -0
  100. package/src/errors/consensus/basic/identity/invalid_identity_public_key_type_error.rs +30 -0
  101. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs +22 -0
  102. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_signature_error.rs +24 -0
  103. package/src/errors/consensus/basic/identity/missing_master_public_key_error.rs +22 -0
  104. package/src/errors/consensus/basic/identity/missing_public_key_error.rs +29 -0
  105. package/src/errors/consensus/basic/identity/mod.rs +45 -0
  106. package/src/errors/consensus/basic/incompatible_protocol_version_error.rs +32 -0
  107. package/src/errors/consensus/basic/invalid_identifier_error.rs +36 -0
  108. package/src/errors/consensus/basic/invalid_signature_public_key_security_level_error.rs +41 -0
  109. package/src/errors/consensus/basic/invalid_state_transition_signature_error.rs +20 -0
  110. package/src/errors/consensus/basic/json_schema_compilation_error.rs +26 -0
  111. package/src/errors/consensus/basic/json_schema_error.rs +274 -0
  112. package/src/errors/consensus/basic/mod.rs +30 -0
  113. package/src/errors/consensus/basic/public_key_is_disabled_error.rs +30 -0
  114. package/src/errors/consensus/basic/public_key_security_level_not_met_error.rs +41 -0
  115. package/src/errors/consensus/basic/state_transition/invalid_state_transition_type_error.rs +29 -0
  116. package/src/errors/consensus/basic/state_transition/missing_state_transition_type_error.rs +20 -0
  117. package/src/errors/consensus/basic/state_transition/mod.rs +7 -0
  118. package/src/errors/consensus/basic/state_transition/state_transition_max_size_exceeded_error.rs +36 -0
  119. package/src/errors/consensus/basic/test_consensus_error.rs +21 -0
  120. package/src/errors/consensus/basic/unsupported_protocol_version_error.rs +32 -0
  121. package/src/errors/consensus/basic/wrong_public_key_purpose_error.rs +37 -0
  122. package/src/errors/consensus/fee/balance_is_not_enough_error.rs +32 -0
  123. package/src/errors/consensus/fee/mod.rs +3 -0
  124. package/src/errors/consensus/mod.rs +4 -0
  125. package/src/errors/consensus/signature/identity_not_found_error.rs +29 -0
  126. package/src/errors/consensus/signature/mod.rs +3 -0
  127. package/src/errors/consensus/state/data_contract/data_contract_already_present_error.rs +31 -0
  128. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_condition_error.rs +74 -0
  129. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_execution_error.rs +82 -0
  130. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_invalid_result_error.rs +66 -0
  131. package/src/errors/consensus/state/data_contract/data_trigger/mod.rs +7 -0
  132. package/src/errors/consensus/state/data_contract/mod.rs +4 -0
  133. package/src/errors/consensus/state/document/document_already_present_error.rs +28 -0
  134. package/src/errors/consensus/state/document/document_not_found_error.rs +28 -0
  135. package/src/errors/consensus/state/document/document_owner_id_mismatch_error.rs +50 -0
  136. package/src/errors/consensus/state/document/document_timestamp_window_violation_error.rs +72 -0
  137. package/src/errors/consensus/state/document/document_timestamps_mismatch_error.rs +28 -0
  138. package/src/errors/consensus/state/document/duplicate_unique_index_error.rs +42 -0
  139. package/src/errors/consensus/state/document/invalid_document_revision_error.rs +38 -0
  140. package/src/errors/consensus/state/document/mod.rs +15 -0
  141. package/src/errors/consensus/state/identity/identity_already_exists_error.rs +28 -0
  142. package/src/errors/consensus/state/identity/identity_public_key_disabled_at_window_violation_error.rs +49 -0
  143. package/src/errors/consensus/state/identity/identity_public_key_is_disabled_error.rs +31 -0
  144. package/src/errors/consensus/state/identity/identity_public_key_is_read_only_error.rs +28 -0
  145. package/src/errors/consensus/state/identity/invalid_identity_public_key_id_error.rs +28 -0
  146. package/src/errors/consensus/state/identity/invalid_identity_revision_error.rs +38 -0
  147. package/src/errors/consensus/state/identity/max_identity_public_key_limit_reached_error.rs +26 -0
  148. package/src/errors/consensus/state/identity/mod.rs +15 -0
  149. package/src/errors/consensus/state/mod.rs +3 -0
  150. package/src/errors/consensus_error.rs +612 -0
  151. package/src/errors/from.rs +24 -0
  152. package/src/errors/js_conversion.rs +63 -0
  153. package/src/errors/mod.rs +10 -0
  154. package/src/errors/public_key_validation_error.rs +23 -0
  155. package/src/identifier.rs +103 -0
  156. package/src/identity.rs +253 -0
  157. package/src/identity_facade.rs +55 -0
  158. package/src/identity_public_key/key_type.rs +22 -0
  159. package/src/identity_public_key/mod.rs +192 -0
  160. package/src/identity_public_key/public_keys_validator.rs +44 -0
  161. package/src/identity_public_key/purpose.rs +24 -0
  162. package/src/identity_public_key/security_level.rs +21 -0
  163. package/src/lib.rs +28 -0
  164. package/src/metadata.rs +54 -0
  165. package/src/utils.rs +59 -0
  166. package/src/validation_result.rs +41 -0
  167. package/test/integration/DashPlatformProtocol.spec.js +4 -4
  168. package/test/integration/ajv/keywords/byteArray/addByteArrayKeyword.spec.js +2 -2
  169. package/test/integration/dataContract/DataContractFacade.spec.js +6 -6
  170. package/test/integration/dataContract/stateTransition/DataContractCreateTransition/validation/basic/validateDataContractCreateTransitionBasicFactory.spec.js +10 -10
  171. package/test/integration/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateDataContractUpdateTransitionBasicFactory.spec.js +14 -14
  172. package/test/integration/dataContract/validation/validateDataContractFactory.spec.js +22 -22
  173. package/test/integration/document/Document.spec.js +10 -5
  174. package/test/integration/document/DocumentFacade.spec.js +11 -11
  175. package/test/integration/document/stateTransition/DocumentsBatchTransition/DocumentBatchTransition.spec.js +5 -5
  176. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/basic/validateDocumentsBatchTransitionBasicFactory.spec.js +25 -25
  177. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/state/executeDataTriggersFactory.spec.js +15 -15
  178. package/test/integration/document/validation/validateDocumentFactory.spec.js +12 -12
  179. package/test/integration/error/consensus/createConsensusError.spec.js +3 -3
  180. package/test/integration/identity/IdentityFacade.spec.js +13 -13
  181. package/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js +12 -12
  182. package/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js +11 -11
  183. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/basic/validateIdentityUpdateTransitionBasicFactory.spec.js +8 -8
  184. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory.spec.js +24 -39
  185. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validatePublicKeysState.spec.js +7 -7
  186. package/test/integration/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory.spec.js +29 -35
  187. package/test/integration/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory.spec.js +8 -8
  188. package/test/integration/identity/stateTransition/assetLockProof/instant/validateInstantAssetLockProofStructureFactory.spec.js +11 -11
  189. package/test/integration/identity/stateTransition/assetLockProof/validateAssetLockTransactionFactory.spec.js +10 -10
  190. package/test/integration/identity/stateTransition/validatePublicKeySignaturesFactory.spec.js +7 -7
  191. package/test/integration/identity/validation/validateIdentityFactory.spec.js +8 -8
  192. package/test/integration/identity/validation/validatePublicKeysFactory.spec.js +50 -24
  193. package/test/integration/stateTransition/AbstractStateTransitionIdentitySigned.spec.js +14 -14
  194. package/test/integration/stateTransition/StateTransitionFacade.spec.js +15 -19
  195. package/test/integration/stateTransition/calculateStateTransitionFee.spec.js +8 -11
  196. package/test/integration/util/generateEntropy.spec.js +1 -1
  197. package/test/integration/util/serializer.spec.js +2 -2
  198. package/test/unit/DashPlatformProtocol.spec.js +4 -4
  199. package/test/unit/Identifier.spec.js +2 -2
  200. package/test/unit/Metadata.spec.js +1 -1
  201. package/test/unit/dataContract/DataContract.spec.js +100 -159
  202. package/test/unit/dataContract/DataContractFactory.spec.js +55 -111
  203. package/test/unit/dataContract/createDataContract.spec.js +20 -10
  204. package/test/unit/dataContract/errors/InvalidDataContractError.spec.js +2 -2
  205. package/test/unit/dataContract/generateDataContractId.spec.js +23 -6
  206. package/test/unit/dataContract/getBinaryPropertiesFromSchema.spec.js +1 -1
  207. package/test/unit/dataContract/getPropertyDefinitionByPath.spec.js +1 -1
  208. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition.spec.js +8 -8
  209. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory.spec.js +6 -6
  210. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory.spec.js +8 -8
  211. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +8 -8
  212. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory.spec.js +6 -6
  213. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateIndicesAreBackwardCompatible.spec.js +6 -6
  214. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory.spec.js +9 -9
  215. package/test/unit/dataContract/validation/validateDataContractMaxDepthFactory.spec.js +6 -6
  216. package/test/unit/dataContract/validation/validateDataContractPatternsFactory.spec.js +3 -3
  217. package/test/unit/dataTrigger/DataTrigger.spec.js +8 -8
  218. package/test/unit/dataTrigger/DataTriggerExecutionContext.spec.js +4 -4
  219. package/test/unit/dataTrigger/dashpayDataTriggers/createContactRequestDataTrigger.spec.js +13 -15
  220. package/test/unit/dataTrigger/dpnsTriggers/createDomainDataTrigger.spec.js +12 -12
  221. package/test/unit/dataTrigger/featureFlagDataTriggers/createFeatureFlagDataTrigger.spec.js +11 -13
  222. package/test/unit/dataTrigger/getDataTriggersFactory.spec.js +7 -7
  223. package/test/unit/dataTrigger/rejectDataTrigger.spec.js +8 -8
  224. package/test/unit/dataTrigger/rewardShareDataTriggers/createMasternodeRewardSharesDataTrigger.spec.js +9 -9
  225. package/test/unit/decodeProtocolEntityFactory.spec.js +4 -4
  226. package/test/unit/document/Document.spec.js +9 -9
  227. package/test/unit/document/DocumentFactory.spec.js +19 -19
  228. package/test/unit/document/errors/InvalidDocumentError.spec.js +2 -2
  229. package/test/unit/document/fetchAndValidateDataContractFactory.spec.js +8 -8
  230. package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +8 -8
  231. package/test/unit/document/stateTransition/DocumetsBatchTransition/applyDocumentsBatchTransitionFactory.spec.js +16 -17
  232. package/test/unit/document/stateTransition/DocumetsBatchTransition/documentTransition/DocumentCreateTransition.spec.js +1 -1
  233. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesById.spec.js +2 -2
  234. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js +6 -6
  235. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/validatePartialCompoundIndices.spec.js +7 -7
  236. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/fetchDocumentsFactory.spec.js +6 -6
  237. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsBatchTransitionStateFactory.spec.js +27 -34
  238. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsUniquenessByIndicesFactory.spec.js +9 -9
  239. package/test/unit/errors/consensus/codes.spec.js +7 -7
  240. package/test/unit/identity/Identity.spec.js +98 -69
  241. package/test/unit/identity/IdentityFactory.spec.js +15 -15
  242. package/test/unit/identity/IdentityPublicKey.spec.js +53 -66
  243. package/test/unit/identity/creditsConverter.spec.js +1 -1
  244. package/test/unit/identity/errors/InvalidIdentityError.spec.js +2 -2
  245. package/test/unit/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition.spec.js +7 -7
  246. package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +8 -8
  247. package/test/unit/identity/stateTransition/IdentityCreateTransition/validation/state/validateIdentityCreateTransitionStateFactory.spec.js +6 -6
  248. package/test/unit/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition.spec.js +4 -4
  249. package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +7 -7
  250. package/test/unit/identity/stateTransition/IdentityTopUpTransition/validation/state/validateIdentityTopUpTransitionStateFactory.spec.js +2 -2
  251. package/test/unit/identity/stateTransition/IdentityUpdateTransition/IdentityUpdateTransition.spec.js +6 -6
  252. package/test/unit/identity/stateTransition/IdentityUpdateTransition/applyIdentityUpdateTransitionFactory.spec.js +6 -6
  253. package/test/unit/identity/stateTransition/assetLockProof/createAssetLockProofInstance.spec.js +5 -5
  254. package/test/unit/identity/stateTransition/assetLockProof/fetchAssetLockPublicKeyHashFactory.spec.js +3 -3
  255. package/test/unit/identity/validation/validateRequiredPurposeAndSecurityLevelFactory.spec.js +5 -5
  256. package/test/unit/stateTransition/StateTransitionFactory.spec.js +8 -8
  257. package/test/unit/stateTransition/createStateTransitionFactory.spec.js +8 -8
  258. package/test/unit/stateTransition/errors/InvalidStateTransitionError.spec.js +3 -3
  259. package/test/unit/stateTransition/validation/validateStateTransitionBasicFactory.spec.js +12 -12
  260. package/test/unit/stateTransition/validation/validateStateTransitionFeeFactory.spec.js +15 -15
  261. package/test/unit/stateTransition/validation/validateStateTransitionIdentitySignatureFactory.spec.js +22 -22
  262. package/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js +6 -6
  263. package/test/unit/stateTransition/validation/validateStateTransitionStateFactory.spec.js +9 -9
  264. package/test/unit/version/validateProtocolVersionFactory.spec.js +7 -7
  265. package/tsconfig.json +18 -0
  266. package/wasm/wasm_dpp.d.ts +2756 -0
  267. package/wasm/wasm_dpp.js +7750 -0
  268. package/wasm/wasm_dpp_bg.js +1 -0
  269. package/wasm/wasm_dpp_bg.wasm +0 -0
  270. package/wasm/wasm_dpp_bg.wasm.d.ts +518 -0
  271. package/webpack.config.js +22 -19
  272. package/CHANGELOG.md +0 -397
@@ -1,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
  });
@@ -1,12 +1,12 @@
1
1
  const validatePublicKeys = require(
2
- '../../../../../../../lib/identity/stateTransition/IdentityUpdateTransition/validation/state/validatePublicKeysState',
2
+ '@dashevo/dpp/lib/identity/stateTransition/IdentityUpdateTransition/validation/state/validatePublicKeysState',
3
3
  );
4
- const { expectValidationError } = require('../../../../../../../lib/test/expect/expectError');
5
- const DuplicatedIdentityPublicKeyIdError = require('../../../../../../../lib/errors/consensus/state/identity/DuplicatedIdentityPublicKeyIdError');
6
- const DuplicatedIdentityPublicKeyError = require('../../../../../../../lib/errors/consensus/state/identity/DuplicatedIdentityPublicKeyError');
7
- const identitySchema = require('../../../../../../../schema/identity/identity.json');
8
- const MaxIdentityPublicKeyLimitReachedError = require('../../../../../../../lib/errors/consensus/state/identity/MaxIdentityPublicKeyLimitReachedError');
9
- const getIdentityFixture = require('../../../../../../../lib/test/fixtures/getIdentityFixture');
4
+ const { expectValidationError } = require('@dashevo/dpp/lib/test/expect/expectError');
5
+ const DuplicatedIdentityPublicKeyIdError = require('@dashevo/dpp/lib/errors/consensus/state/identity/DuplicatedIdentityPublicKeyIdError');
6
+ const DuplicatedIdentityPublicKeyError = require('@dashevo/dpp/lib/errors/consensus/state/identity/DuplicatedIdentityPublicKeyError');
7
+ const identitySchema = require('@dashevo/dpp/schema/identity/identity.json');
8
+ const MaxIdentityPublicKeyLimitReachedError = require('@dashevo/dpp/lib/errors/consensus/state/identity/MaxIdentityPublicKeyLimitReachedError');
9
+ const getIdentityFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityFixture');
10
10
 
11
11
  describe('validatePublicKeysState', () => {
12
12
  let rawPublicKeys;
@@ -1,22 +1,22 @@
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 getChainAssetLockFixture = require('../../../../../../lib/test/fixtures/getChainAssetLockProofFixture');
6
- const JsonSchemaValidator = require('../../../../../../lib/validation/JsonSchemaValidator');
7
- const createStateRepositoryMock = require('../../../../../../lib/test/mocks/createStateRepositoryMock');
5
+ const getChainAssetLockFixture = require('@dashevo/dpp/lib/test/fixtures/getChainAssetLockProofFixture');
6
+ const JsonSchemaValidator = require('@dashevo/dpp/lib/validation/JsonSchemaValidator');
7
+ const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
8
8
 
9
9
  const { expectValidationError, expectJsonSchemaError } = require(
10
- '../../../../../../lib/test/expect/expectError',
10
+ '@dashevo/dpp/lib/test/expect/expectError',
11
11
  );
12
12
 
13
- const validateChainAssetLockProofStructureFactory = require('../../../../../../lib/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory');
14
- const ValidationResult = require('../../../../../../lib/validation/ValidationResult');
15
- const IdentityAssetLockTransactionIsNotFoundError = require('../../../../../../lib/errors/consensus/basic/identity/IdentityAssetLockTransactionIsNotFoundError');
16
- const InvalidAssetLockProofCoreChainHeightError = require('../../../../../../lib/errors/consensus/basic/identity/InvalidAssetLockProofCoreChainHeightError');
17
- const InvalidAssetLockProofTransactionHeightError = require('../../../../../../lib/errors/consensus/basic/identity/InvalidAssetLockProofTransactionHeightError');
18
- const SomeConsensusError = require('../../../../../../lib/test/mocks/SomeConsensusError');
19
- const StateTransitionExecutionContext = require('../../../../../../lib/stateTransition/StateTransitionExecutionContext');
13
+ const validateChainAssetLockProofStructureFactory = require('@dashevo/dpp/lib/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory');
14
+ const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
15
+ const IdentityAssetLockTransactionIsNotFoundError = require('@dashevo/dpp/lib/errors/consensus/basic/identity/IdentityAssetLockTransactionIsNotFoundError');
16
+ const InvalidAssetLockProofCoreChainHeightError = require('@dashevo/dpp/lib/errors/consensus/basic/identity/InvalidAssetLockProofCoreChainHeightError');
17
+ const InvalidAssetLockProofTransactionHeightError = require('@dashevo/dpp/lib/errors/consensus/basic/identity/InvalidAssetLockProofTransactionHeightError');
18
+ const SomeConsensusError = require('@dashevo/dpp/lib/test/mocks/SomeConsensusError');
19
+ const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
20
20
 
21
21
  describe('validateChainAssetLockProofStructureFactory', () => {
22
22
  let rawProof;
@@ -45,9 +45,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
45
45
 
46
46
  stateRepositoryMock = createStateRepositoryMock(this.sinonSandbox);
47
47
 
48
- stateRepositoryMock.fetchLatestPlatformBlockHeader.resolves({
49
- coreChainLockedHeight: 42,
50
- });
48
+ stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight.resolves(42);
51
49
 
52
50
  stateRepositoryMock.fetchTransaction.resolves({
53
51
  data: Buffer.from(rawTransaction, 'hex'),
@@ -92,7 +90,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
92
90
 
93
91
  expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
94
92
  expect(validateAssetLockTransactionMock).to.not.be.called();
95
- expect(stateRepositoryMock.fetchLatestPlatformBlockHeader).to.not.be.called();
93
+ expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
96
94
  });
97
95
 
98
96
  it('should be equal to 1', async () => {
@@ -111,7 +109,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
111
109
  expect(error.getKeyword()).to.equal('const');
112
110
 
113
111
  expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
114
- expect(stateRepositoryMock.fetchLatestPlatformBlockHeader).to.not.be.called();
112
+ expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
115
113
  });
116
114
  });
117
115
 
@@ -134,7 +132,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
134
132
 
135
133
  expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
136
134
  expect(validateAssetLockTransactionMock).to.not.be.called();
137
- expect(stateRepositoryMock.fetchLatestPlatformBlockHeader).to.not.be.called();
135
+ expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
138
136
  });
139
137
 
140
138
  it('should be an integer', async () => {
@@ -154,7 +152,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
154
152
 
155
153
  expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
156
154
  expect(validateAssetLockTransactionMock).to.not.be.called();
157
- expect(stateRepositoryMock.fetchLatestPlatformBlockHeader).to.not.be.called();
155
+ expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
158
156
  });
159
157
 
160
158
  it('should be a number', async () => {
@@ -174,7 +172,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
174
172
 
175
173
  expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
176
174
  expect(validateAssetLockTransactionMock).to.not.be.called();
177
- expect(stateRepositoryMock.fetchLatestPlatformBlockHeader).to.not.be.called();
175
+ expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
178
176
  });
179
177
 
180
178
  it('should be greater than 0', async () => {
@@ -194,7 +192,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
194
192
 
195
193
  expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
196
194
  expect(validateAssetLockTransactionMock).to.not.be.called();
197
- expect(stateRepositoryMock.fetchLatestPlatformBlockHeader).to.not.be.called();
195
+ expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
198
196
  });
199
197
 
200
198
  it('should be less than 4294967296', async () => {
@@ -214,13 +212,11 @@ describe('validateChainAssetLockProofStructureFactory', () => {
214
212
 
215
213
  expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
216
214
  expect(validateAssetLockTransactionMock).to.not.be.called();
217
- expect(stateRepositoryMock.fetchLatestPlatformBlockHeader).to.not.be.called();
215
+ expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
218
216
  });
219
217
 
220
218
  it('should be less or equal to consensus core height', async () => {
221
- stateRepositoryMock.fetchLatestPlatformBlockHeader.resolves({
222
- coreChainLockedHeight: 41,
223
- });
219
+ stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight.resolves(41);
224
220
 
225
221
  const result = await validateChainAssetLockProofStructure(
226
222
  rawProof,
@@ -256,7 +252,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
256
252
 
257
253
  expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
258
254
  expect(validateAssetLockTransactionMock).to.not.be.called();
259
- expect(stateRepositoryMock.fetchLatestPlatformBlockHeader).to.not.be.called();
255
+ expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
260
256
  });
261
257
 
262
258
  it('should be a byte array', async () => {
@@ -278,7 +274,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
278
274
 
279
275
  expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
280
276
  expect(validateAssetLockTransactionMock).to.not.be.called();
281
- expect(stateRepositoryMock.fetchLatestPlatformBlockHeader).to.not.be.called();
277
+ expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
282
278
  });
283
279
 
284
280
  it('should not be shorter than 36 bytes', async () => {
@@ -298,7 +294,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
298
294
 
299
295
  expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
300
296
  expect(validateAssetLockTransactionMock).to.not.be.called();
301
- expect(stateRepositoryMock.fetchLatestPlatformBlockHeader).to.not.be.called();
297
+ expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
302
298
  });
303
299
 
304
300
  it('should not be longer than 36 bytes', async () => {
@@ -318,7 +314,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
318
314
 
319
315
  expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
320
316
  expect(validateAssetLockTransactionMock).to.not.be.called();
321
- expect(stateRepositoryMock.fetchLatestPlatformBlockHeader).to.not.be.called();
317
+ expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
322
318
  });
323
319
 
324
320
  it('should point to existing transaction', async () => {
@@ -343,7 +339,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
343
339
  executionContext,
344
340
  );
345
341
  expect(validateAssetLockTransactionMock).to.not.be.called();
346
- expect(stateRepositoryMock.fetchLatestPlatformBlockHeader).to.be.calledOnce();
342
+ expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.be.calledOnce();
347
343
  });
348
344
 
349
345
  it('should point to valid transaction', async () => {
@@ -365,9 +361,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
365
361
 
366
362
  it('should point to transaction from block lower than core chain locked height', async () => {
367
363
  rawProof.coreChainLockedHeight = 41;
368
- stateRepositoryMock.fetchLatestPlatformBlockHeader.resolves({
369
- coreChainLockedHeight: 41,
370
- });
364
+ stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight.resolves(41);
371
365
 
372
366
  const result = await validateChainAssetLockProofStructure(
373
367
  rawProof,
@@ -387,7 +381,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
387
381
  executionContext,
388
382
  );
389
383
  expect(validateAssetLockTransactionMock).to.not.be.called();
390
- expect(stateRepositoryMock.fetchLatestPlatformBlockHeader).to.be.calledOnce();
384
+ expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.be.calledOnce();
391
385
  });
392
386
  });
393
387
 
@@ -410,6 +404,6 @@ describe('validateChainAssetLockProofStructureFactory', () => {
410
404
  0,
411
405
  executionContext,
412
406
  );
413
- expect(stateRepositoryMock.fetchLatestPlatformBlockHeader).to.be.calledOnce();
407
+ expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.be.calledOnce();
414
408
  });
415
409
  });
@@ -1,14 +1,14 @@
1
1
  const { Transaction, Script } = require('@dashevo/dashcore-lib');
2
2
  const Output = require('@dashevo/dashcore-lib/lib/transaction/output');
3
3
 
4
- const fetchAssetLockTransactionOutputFactory = require('../../../../../lib/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory');
5
- const getChainAssetLockFixture = require('../../../../../lib/test/fixtures/getChainAssetLockProofFixture');
6
- const getInstantAssetLockProofFixture = require('../../../../../lib/test/fixtures/getInstantAssetLockProofFixture');
7
- const createStateRepositoryMock = require('../../../../../lib/test/mocks/createStateRepositoryMock');
8
-
9
- const UnknownAssetLockProofError = require('../../../../../lib/identity/errors/UnknownAssetLockProofTypeError');
10
- const AssetLockTransactionIsNotFoundError = require('../../../../../lib/identity/errors/AssetLockTransactionIsNotFoundError');
11
- const StateTransitionExecutionContext = require('../../../../../lib/stateTransition/StateTransitionExecutionContext');
4
+ const fetchAssetLockTransactionOutputFactory = require('@dashevo/dpp/lib/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory');
5
+ const getChainAssetLockFixture = require('@dashevo/dpp/lib/test/fixtures/getChainAssetLockProofFixture');
6
+ const getInstantAssetLockProofFixture = require('@dashevo/dpp/lib/test/fixtures/getInstantAssetLockProofFixture');
7
+ const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
8
+
9
+ const UnknownAssetLockProofError = require('@dashevo/dpp/lib/identity/errors/UnknownAssetLockProofTypeError');
10
+ const AssetLockTransactionIsNotFoundError = require('@dashevo/dpp/lib/identity/errors/AssetLockTransactionIsNotFoundError');
11
+ const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
12
12
 
13
13
  describe('fetchAssetLockTransactionOutputFactory', () => {
14
14
  let fetchAssetLockTransactionOutput;