@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
package/CHANGELOG.md DELETED
@@ -1,397 +0,0 @@
1
- # [0.21.0](https://github.com/dashevo/js-dpp/compare/v0.20.1...v0.21.0) (2021-10-12)
2
-
3
-
4
- ### Features
5
-
6
- * introduce consensus error codes ([#341](https://github.com/dashevo/js-dpp/issues/341), [#342](https://github.com/dashevo/js-dpp/issues/342))
7
- * split validation logic into basic, signature, fee and state ([#331](https://github.com/dashevo/js-dpp/issues/331))
8
- * protocol versioning updates ([#325](https://github.com/dashevo/js-dpp/issues/325), [#326](https://github.com/dashevo/js-dpp/issues/326), [#329](https://github.com/dashevo/js-dpp/issues/329), [#330](https://github.com/dashevo/js-dpp/issues/330), [#336](https://github.com/dashevo/js-dpp/issues/336), [#337](https://github.com/dashevo/js-dpp/issues/337), [#344](https://github.com/dashevo/js-dpp/issues/344), [#346](https://github.com/dashevo/js-dpp/issues/346), [#349](https://github.com/dashevo/js-dpp/issues/349), [#351](https://github.com/dashevo/js-dpp/issues/351))
9
- * removed verify SML flag triggers ([#324](https://github.com/dashevo/js-dpp/issues/324))
10
-
11
-
12
- ### Bug Fixes
13
-
14
- * building indices on arrays using `prefixItems` ([#343](https://github.com/dashevo/js-dpp/issues/343))
15
-
16
-
17
- ### BREAKING CHANGES
18
-
19
- * `stateTransition.validateStructure` renamed to `stateTransition.validateBasic` and doesn't perform signature validation
20
- * `stateTransition.validateData` renamed to `stateTransition.validateState`
21
- * validation errors are changed
22
- * removed old data triggers
23
- * old serialized data is not compatible
24
-
25
-
26
-
27
- ## [0.20.1](https://github.com/dashevo/js-dpp/compare/v0.20.0...v0.20.1) (2021-07-14)
28
-
29
-
30
- ### Features
31
-
32
- * remove verify SML flag triggers ([#324](https://github.com/dashevo/js-dpp/issues/324))
33
-
34
-
35
-
36
- # [0.20.0](https://github.com/dashevo/js-dpp/compare/v0.19.2...v0.20.0) (2021-07-08)
37
-
38
-
39
- ### Features
40
-
41
- * add metadata to document, data contract and identity ([#318](https://github.com/dashevo/js-dpp/issues/318))
42
- * prevent possible ReDoS attacks for Data Contracts ([#311](https://github.com/dashevo/js-dpp/issues/311), [#317](https://github.com/dashevo/js-dpp/issues/317), [#315](https://github.com/dashevo/js-dpp/issues/315))
43
- * strcit data contract JSON schema validation ([#310](https://github.com/dashevo/js-dpp/issues/310), [#312](https://github.com/dashevo/js-dpp/issues/312))
44
-
45
-
46
- ### BREAKING CHANGES
47
-
48
- * `dependencies` is not supported. Use `dependentRequired` and `dependentSchema` instead
49
- * `additionalitems` is not supported. Use `items: false` and `prefixItems` instead
50
- * `patternProperties` is prohibited for Data Contract
51
- * error messages and properties are changed according to the new JSON Schema spec
52
- * `pattern` keyword accept only RE2 compatible regular expressions
53
- * Document type and properties minimum length is 3 chars
54
- * `definitions` is now defined using `$defs` keyword
55
- * JSON Schema strict validation is enabled. Previous contract schemas invalid in case they are not respecting strict mode constraints (reference [this link](https://ajv.js.org/strict-mode.html) for more information)
56
- * usage of `if`, `then`, `else`, `allOf`, `anyOf`, `oneOf`, `patternProperties` in document properties is prohibited
57
- * `.initialize()` must be called before using DashPlatformProtocol
58
-
59
-
60
-
61
- ## [0.19.2](https://github.com/dashevo/js-dpp/compare/v0.19.1...v0.19.2) (2021-05-20)
62
-
63
-
64
- ### Bug Fixes
65
-
66
- * Cbor not decoding buffers properly in browsers ([#306](https://github.com/dashevo/js-dpp/issues/308))
67
-
68
-
69
-
70
- ## [0.19.1](https://github.com/dashevo/js-dpp/compare/v0.19.0...v0.19.1) (2021-05-04)
71
-
72
-
73
- ### Bug Fixes
74
-
75
- * `topLevelIdentity.getId` is not a function ([#306](https://github.com/dashevo/js-dpp/issues/306))
76
-
77
-
78
-
79
- # [0.19.0](https://github.com/dashevo/js-dpp/compare/v0.18.0...v0.19.0) (2021-04-30)
80
-
81
-
82
- ### Features
83
-
84
- * add data triggers for feature flags documents ([#297](https://github.com/dashevo/js-dpp/issues/297), [#302](https://github.com/dashevo/js-dpp/issues/302))
85
- * ChainLock Asset Lock proof ([#296](https://github.com/dashevo/js-dpp/issues/296))
86
- * use `verifyInstantLock` instead of `fetchSMLStore` ([#294](https://github.com/dashevo/js-dpp/issues/294))
87
-
88
-
89
- ### BREAKING CHANGES
90
-
91
- * `AssetLock` class was removed.
92
- * `InstantAssetLockProof` requires `transaction` and `outputIndex` property.
93
- * `IdentityCreateTransition` schema changed. `assetLock` property renamed to `assetLockProof` and expect `InstantAssetLockProof` or `ChainAssetLockProof`. `transaction` and `outputIndex` properties are removed.
94
- * `IdentityTopUpTransition` schema changed. `assetLock` property renamed to `assetLockProof` and expect `InstantAssetLockProof` or `ChainAssetLockProof`. `transaction` and `outputIndex` properties are removed.
95
-
96
-
97
-
98
- # [0.18.0](https://github.com/dashevo/js-dpp/compare/v0.17.0...v0.18.0) (2021-03-03)
99
-
100
-
101
- ### Features
102
-
103
- * get modified data ids from state transitions ([#290](https://github.com/dashevo/js-dpp/issues/290))
104
-
105
-
106
- ### Bug Fixes
107
-
108
- * BLS was throwing an error inside `uncaughtException` handler ([#293](https://github.com/dashevo/js-dpp/issues/293))
109
-
110
-
111
-
112
- # [0.17.0](https://github.com/dashevo/js-dpp/compare/v0.16.0...v0.17.0) (2020-12-29)
113
-
114
-
115
- ### Features
116
-
117
- * dashpay data triggers ([#285](https://github.com/dashevo/js-dpp/issues/285))
118
- * update dashcore-lib ([#271](https://github.com/dashevo/js-dpp/issues/271), [#283](https://github.com/dashevo/js-dpp/issues/283), [#287](https://github.com/dashevo/js-dpp/issues/287))
119
- * fund identity with Asset Lock Proofs ([#276](https://github.com/dashevo/js-dpp/issues/276), [#277](https://github.com/dashevo/js-dpp/issues/277), [#280](https://github.com/dashevo/js-dpp/issues/280))
120
- * limit publicKeys items to 32 ([#278](https://github.com/dashevo/js-dpp/issues/278))
121
-
122
-
123
- ### Bug Fixes
124
-
125
- * fs not found error on deploy ([#273](https://github.com/dashevo/js-dpp/issues/273))
126
-
127
-
128
- ### BREAKING CHANGES
129
-
130
- * Identity Create and Topup Transitions expect Asset Lock object instead of asset lock outpoint
131
- * `identity.create` and `identity.createIdentityTopUpTransition` expect asset lock transaction, output, and proof instead of outpoint
132
- * renamed `skipAssetLockConfirmationValidation` DPP option to `skipAssetLockProofSignatureVerification`
133
- * identity allows only 32 public keys
134
-
135
-
136
-
137
- # [0.16.0](https://github.com/dashevo/js-dpp/compare/v0.15.0...v0.16.0) (2020-10-26)
138
-
139
-
140
- ### Features
141
-
142
- * use Buffers for binary data ([#238](https://github.com/dashevo/js-dpp/issues/238), [#240](https://github.com/dashevo/js-dpp/issues/240), [#241](https://github.com/dashevo/js-dpp/issues/241), [#246](https://github.com/dashevo/js-dpp/issues/246), [#247](https://github.com/dashevo/js-dpp/issues/247), [#261](https://github.com/dashevo/js-dpp/issues/261), [#262](https://github.com/dashevo/js-dpp/issues/262), [#263](https://github.com/dashevo/js-dpp/issues/263), [#266](https://github.com/dashevo/js-dpp/issues/266))
143
- * Identifier property type ([#252](https://github.com/dashevo/js-dpp/issues/252), [#265](https://github.com/dashevo/js-dpp/issues/265), [#267](https://github.com/dashevo/js-dpp/issues/267), [#268](https://github.com/dashevo/js-dpp/issues/268))
144
- * `byteArray` JSON Schema keyword instead of `contentEncoding` ([#245](https://github.com/dashevo/js-dpp/issues/245), [#248](https://github.com/dashevo/js-dpp/issues/248), [#251](https://github.com/dashevo/js-dpp/issues/251), [#254](https://github.com/dashevo/js-dpp/issues/254), [#260]((https://github.com/dashevo/js-dpp/issues/260)))
145
- * use 32 random bytes instead of blockchain address for entropy ([#250](https://github.com/dashevo/js-dpp/issues/250), [#259](https://github.com/dashevo/js-dpp/issues/259))
146
- * validate and store all identity keys instead of the first one ([#234](https://github.com/dashevo/js-dpp/issues/234), [#237], [#242](https://github.com/dashevo/js-dpp/issues/242))
147
- * validate document upon creation ([#255](https://github.com/dashevo/js-dpp/issues/255))
148
- * hash methods responds with Buffer ([#249](https://github.com/dashevo/js-dpp/issues/249))
149
- * introduce a BLS identity key type ([#239](https://github.com/dashevo/js-dpp/issues/239))
150
- * add revision property to identity ([#235](https://github.com/dashevo/js-dpp/issues/235))
151
- * `isEnabled` property removed from Identity Public Key [#236](https://github.com/dashevo/js-dpp/issues/236)
152
-
153
-
154
- ### BREAKING CHANGES
155
-
156
- * Node.JS 10 and lower are not supported
157
- * data models use Buffers instead of strings for binary fields
158
- * `serialize` methods renamed to `toBuffer`
159
- * `createFromSerialized` methods renamed to `createFromBuffer`
160
- * `StateRepository` accept `Identifier` and `Buffer` instead of strings
161
- * identifiers like document, data contract and identity IDs are instances `Identifier` (compatible with `Buffer`)
162
- * `contentEncoding` keyword isn't supported anymore. Use `byteArray: true` with `type: array` to store binary data
163
- * Data Contract and Document entropy is now a random 32 bytes instead of blockchain address
164
- * identity and identity create transition can't contain duplicate public keys anymore
165
- * `DocumentFactory#create` throws an error if specified data is not valid
166
- * `hash` methods respond with `Buffer` instead of hex encoded string
167
- * ECDSA Public key (type `0`) must be a 33 long byte array.
168
- * Identity's `revision` is required
169
- * Identity Public Key's `isEnabled` is not accepted
170
- * Data created or serialized by previous is incompatible
171
-
172
-
173
-
174
- # [0.15.0](https://github.com/dashevo/js-dpp/compare/v0.14.0...v0.15.0) (2020-09-04)
175
-
176
-
177
- ### Features
178
-
179
- * protocol versioning ([#217](https://github.com/dashevo/js-dpp/issues/217))
180
- * document binary properties ([#199](https://github.com/dashevo/js-dpp/issues/199), [#211](https://github.com/dashevo/js-dpp/issues/211), [#215](https://github.com/dashevo/js-dpp/issues/215), [#218](https://github.com/dashevo/js-dpp/issues/218), [#213](https://github.com/dashevo/js-dpp/issues/213))
181
- * handle unique and alias identities in DPNS data triggers ([#201](https://github.com/dashevo/js-dpp/issues/213))
182
- * add data trigger condition to check allowing subdomain rules ([#224](https://github.com/dashevo/js-dpp/issues/224), [#228](https://github.com/dashevo/js-dpp/pull/228))
183
- * reject `replace` and `delete` actions for DPNS preorder document ([#210](https://github.com/dashevo/js-dpp/issues/224))
184
-
185
-
186
- ### Bug Fixes
187
-
188
- * empty where conditions were sent during unique indices validation ([#222](https://github.com/dashevo/js-dpp/issues/222))
189
- * duplicate key error in case of unique index on optional fields ([#230](https://github.com/dashevo/js-dpp/pull/230))
190
- * invalid arguments were submitted to search for parent domain ([#226](https://github.com/dashevo/js-dpp/issues/226))
191
- * invalid where clause was sent, invalid query error was not handled by unique index validation method ([#220](https://github.com/dashevo/js-dpp/issues/220))
192
- * undefined in data contract schema id ([#209](https://github.com/dashevo/js-dpp/issues/209))
193
- * data contract fixture was not isolated properly ([#207](https://github.com/dashevo/js-dpp/issues/207))
194
- * schema with key or id already exists ([#203](https://github.com/dashevo/js-dpp/issues/203))
195
-
196
-
197
- ### BREAKING CHANGES
198
-
199
- * `protocolVersion` property equals to `0` is required for all data structures
200
- * `Document` now awaits `DataContract` as a second argument in constructor
201
- * `DocumentsBatchTransition` now awaits `DataContract` as a second argument in constructor
202
- * a document compound unique index shouldn't contain both required and optional properties
203
- * a document with a compound unique index must contain all indexed properties or non of them
204
- * only second-level DPNS domain owner is allowed to create its subdomains
205
- * DPNS preorder document is immutable now. Modification and deletion of preorder are restricted.
206
- * `getDocumentsFixture.dataContract` is not available anymore
207
- * DPNS data trigger expect `dashUniqueIdentityId` and `dashAliasIdentityId` records, instead of oboslete `dashIdentity`
208
-
209
-
210
-
211
- # [0.14.0](https://github.com/dashevo/js-dpp/compare/v0.13.1...v0.14.0) (2020-07-22)
212
-
213
-
214
- ### Bug Fixes
215
-
216
- * missing indexed string property constraint validation ([#196](https://github.com/dashevo/js-dpp/issues/196))
217
- * error when the indexed field has an undefined value ([#194](https://github.com/dashevo/js-dpp/issues/194))
218
- * conflicting schema ids in AJV cache ([#187](https://github.com/dashevo/js-dpp/issues/187))
219
-
220
-
221
- ### Features
222
-
223
- * add `createdAt` and `updatedAt` timestamps to Document ([#192](https://github.com/dashevo/js-dpp/issues/192))
224
- * disable unsupported JSON Schema conditions ([#193](https://github.com/dashevo/js-dpp/issues/193))
225
-
226
-
227
- ### Documentation
228
-
229
- * readme standard updates ([#189](https://github.com/dashevo/js-dpp/issues/189))
230
-
231
-
232
- ### BREAKING CHANGES
233
-
234
- * Indexed strings should have `maxLength` constraint not greater than 1024 chars
235
- * JSON Schema conditions (`allOf`, `if`, ...) are not allowed in Document JSON Schema
236
-
237
-
238
-
239
- ## [0.13.1](https://github.com/dashevo/js-dpp/compare/v0.13.0...v0.13.1) (2020-06-15)
240
-
241
-
242
- ### Bug Fixes
243
-
244
- * conflicting schema ids in AJV cache ([#187](https://github.com/dashevo/js-dpp/issues/187))
245
-
246
-
247
-
248
- # [0.13.0](https://github.com/dashevo/js-dpp/compare/v0.12.1...v0.13.0) (2020-06-08)
249
-
250
-
251
- ### Bug Fixes
252
-
253
- * document validation after validation the contract with the same id ([#166](https://github.com/dashevo/js-dpp/pull/166))
254
-
255
-
256
- ### Features
257
-
258
- * support documents from multiple contracts in Documents Batch Transition ([#159](https://github.com/dashevo/js-dpp/pull/159))
259
- * add `hash` method to `IdentityPublicKey` ([#170](https://github.com/dashevo/js-dpp/pull/170), [#173](https://github.com/dashevo/js-dpp/pull/173))
260
- * `StateRepository#fetchTransaction` responses with verbose data ([#169](https://github.com/dashevo/js-dpp/pull/169))
261
- * check asset lock transaction is confirmed ([#168](https://github.com/dashevo/js-dpp/pull/168), [#184](https://github.com/dashevo/js-dpp/pull/184))
262
- * introduce Identity Topup Transition ([#167](https://github.com/dashevo/js-dpp/pull/167), [#178](https://github.com/dashevo/js-dpp/pull/178), [#180](https://github.com/dashevo/js-dpp/pull/180))
263
- * validate first identity public key uniqueness ([#175](https://github.com/dashevo/js-dpp/pull/175))
264
-
265
-
266
- ### Code Refactoring
267
-
268
- * rename `LockTransaction` to `AssetLockTransaction` ([#177](https://github.com/dashevo/js-dpp/pull/177))
269
-
270
-
271
- ### BREAKING CHANGES
272
-
273
- * the first public key in Identity should be unique
274
- * expect `StateRepository#fetchTransaction` to respond with verbose transaction
275
-
276
-
277
- ## [0.12.1](https://github.com/dashevo/js-dpp/compare/v0.12.0...v0.12.1) (2020-04-22)
278
-
279
-
280
- ### Bug Fixes
281
-
282
- * data trigger should accept document transition ([#164](https://github.com/dashevo/js-dpp/issues/164))
283
-
284
-
285
- # [0.12.0](https://github.com/dashevo/js-dpp/compare/v0.11.0...v0.12.0) (2020-04-17)
286
-
287
-
288
- ### Bug Fixes
289
-
290
- * do not allow to change `ownerId` and `entropy` ([bff5807](https://github.com/dashevo/js-dpp/commit/bff580701322e2100e484989c476d583d26af38a))
291
- * json schema for `signaturePublicKeyId` ([#161](https://github.com/dashevo/js-dpp/issues/161))
292
- * wrong entropy size ([#157](https://github.com/dashevo/js-dpp/issues/157))
293
- * data contract definitions might be `null` or `undefined` ([#153](https://github.com/dashevo/js-dpp/issues/153))
294
- * identity existence validation in data contract structure validation ([#149](https://github.com/dashevo/js-dpp/issues/149))
295
- * state transition signature validation in data contract structure validation ([#150](https://github.com/dashevo/js-dpp/pull/150))
296
-
297
-
298
- ### Code Refactoring
299
-
300
- * rename `$rev` to `$revision` ([#140](https://github.com/dashevo/js-dpp/issues/140))
301
- * rename `userId` to `ownerId` ([b9a5e83](https://github.com/dashevo/js-dpp/commit/b9a5e839608f94c964ff791bcbae4cb03a46028d))
302
- * remove `type` from Identity ([227dc4d](https://github.com/dashevo/js-dpp/commit/227dc4d96e72172fd17cc44b46dd3ca0ef3da301))
303
- * remove `version` from Data Contract ([f856ecc](https://github.com/dashevo/js-dpp/commit/f856ecc1b00e8f0962f96a9f84d84bd2322ad374))
304
- * rename `$ownerId` to `ownerId` in Data Contract ([#160](https://github.com/dashevo/js-dpp/pull/160))
305
- * rename `$contractId` to `$dataContractId` in Document ([158](https://github.com/dashevo/js-dpp/pull/158))
306
- * split document model and it's state transitions ([#126](https://github.com/dashevo/js-dpp/issues/126), [#156](https://github.com/dashevo/js-dpp/pull/156))
307
- * store document ID as a part of the document ([3d10a01](https://github.com/dashevo/js-dpp/commit/3d10a01577ca871cbf3fb1c4ea5f39904a27ca33))
308
- * Data Contract Create Transition now accepts raw data ([#136](https://github.com/dashevo/js-dpp/issues/136))
309
- * start types and indices from `0` instead of `1` ([#155](https://github.com/dashevo/js-dpp/pull/155))
310
- * put JSON Schemas into order ([#135](https://github.com/dashevo/js-dpp/pull/135))
311
-
312
-
313
- ### Features
314
-
315
- * implement apply state transition function ([#138](https://github.com/dashevo/js-dpp/issues/138), [#139](https://github.com/dashevo/js-dpp/issues/139), [#142](https://github.com/dashevo/js-dpp/issues/142), [#141](https://github.com/dashevo/js-dpp/issues/141), [#147](https://github.com/dashevo/js-dpp/issues/147), [#143](https://github.com/dashevo/js-dpp/issues/143))
316
- * generate Data Contract ID from `ownerId` and entropy ([4c0dae1](https://github.com/dashevo/js-dpp/commit/4c0dae1a248d5a8af92f1023cdeed58377e51aae))
317
- * introduce balance to Identities ([#137](https://github.com/dashevo/js-dpp/issues/137), [b13a9bb](https://github.com/dashevo/js-dpp/commit/b13a9bb2dfb22ea355620e064675a600a3908018), [#146](https://github.com/dashevo/js-dpp/issues/146))
318
- * validate ST size is less than 16 Kb ([ff7aa51](https://github.com/dashevo/js-dpp/commit/ff7aa51dd88d4047637fb69e048a896dd92f3fd0), [70c3c54](https://github.com/dashevo/js-dpp/commit/70c3c541920a5bdc73845ac1ef835d7b21dfa92b))
319
- * validate state transition fee ([48c9fda](https://github.com/dashevo/js-dpp/commit/48c9fda5cf958eb2046c8a5a98e09e78c1e8085f), [#145](https://github.com/dashevo/js-dpp/issues/145), [0cb1d6f](https://github.com/dashevo/js-dpp/commit/0cb1d6f69650e91ed944a11f77aeb6541e5755f4))
320
- * create Identity factory now accepts locked out point and public keys ([#151](https://github.com/dashevo/js-dpp/issues/151))
321
- * `getDataContractFixture` accepts `ownerId` ([#148](https://github.com/dashevo/js-dpp/issues/148))
322
- * implement create identity create transition factory ([#152](https://github.com/dashevo/js-dpp/issues/152))
323
- * introduce `signByPrivateKey` and `verifySignatureByPublicKey` methods to ST ([4eb5cdc](https://github.com/dashevo/js-dpp/commit/4eb5cdc408df8fe95294f668743c75da17ac0083))
324
- * verbose invalid data errors ([#134](https://github.com/dashevo/js-dpp/pull/134))
325
-
326
-
327
- ### BREAKING CHANGES
328
-
329
- * Data Contract ID is ownerId + entropy. You don't need to create an additional identity anymore.
330
- * Data Contract Create Transition now accepts raw data
331
- * size of serialized state transition must be less than 16 Kb
332
- * `type` removed from Identity due to Data Contract doesn't require it anymore
333
- * `version` removed from Data Contract
334
- * `userId` renamed to `ownerId`
335
- * Documents State Transition renamed to and it's structure is changed
336
- * `applyStateTransition` methods no longer a part of identity, data contract and document facades
337
- * renamed `$rev` field to `$revision` in raw document model
338
- * applyIdentityStateTransition is now asynchronous
339
- * Documents State Transition is now happening through separate state transition classes and renamed to Documents Batch Transition. Hence document class no longer have `$action` field. `$action` is now starting from 0. `$entropy` field is now a part of document create state transition. `createStateTransition` method of a document factory now accepts a map with actions as keys (`create`, `replace`, `delete`) and document arrays as values respectively.
340
- * create Identity factory accepts locked out point and public keys instead of ID and `IndentityPublicKey`
341
- * types and indices now starts from `0` instead of `1`
342
- * Data Provider renamed to State Repository and store/remove functions introduced
343
-
344
-
345
- ## [0.11.1](https://github.com/dashevo/js-dpp/compare/v0.11.0...v0.11.1) (2020-03-17)
346
-
347
-
348
- ### Bug Fixes
349
-
350
- * documents validate against wrong Data Contract ([0db6e44](https://github.com/dashevo/js-dpp/commit/0db6e44cfa8309d46bb42b5a0174574604861b2b))
351
-
352
-
353
- # [0.11.0](https://github.com/dashevo/js-dpp/compare/v0.10.0...v0.11.0) (2020-03-09)
354
-
355
-
356
- ### Bug Fixes
357
-
358
- * missing public key during ST signature validation ([667402d](https://github.com/dashevo/js-dpp/commit/667402dd659d50d7c2d9da5c61c32f2964a4c8b8))
359
- * add npmignore ([c2e5f5d](https://github.com/dashevo/js-dpp/commit/c2e5f5d5b6c891b3280d02da659fb8eda613a43c))
360
- * prevent to update dependencies with major version `0` to minor versions ([ea7de93](https://github.com/dashevo/js-dpp/commit/ea7de9379a38b856f4a7b779786986afacd75b0d))
361
-
362
-
363
- ### Features
364
-
365
- * catch `decode` errors and rethrow consensus error ([892be82](https://github.com/dashevo/js-dpp/commit/892be823d44ff6edab82d89fa8e54b88f6b63534))
366
- * limit data contract schema max depth ([f78df33](https://github.com/dashevo/js-dpp/commit/f78df334cf2f3e54744bcafdbbadeae54a5c980b))
367
- * limit serialized Data Contract size to 15Kb ([7c95197](https://github.com/dashevo/js-dpp/commit/7c9519733cd05ef2c0b8d388a5135f54371f1054))
368
- * remove Data Contract restriction option ([0edd6ff](https://github.com/dashevo/js-dpp/commit/0edd6ff85e2fe077f3c1c05c5fb8299417e1123e))
369
- * validate documents JSON Schemas during data contract validation ([d88817d](https://github.com/dashevo/js-dpp/commit/d88817d5b7438168d225b6cec36377dac3e30284))
370
- * ensure `maxItems` with `uniqueItems` for large non-scalar arrays ([3364325](https://github.com/dashevo/js-dpp/commit/3364325d23aaf72f37f2fdc663b29e8332d98f0e))
371
- * ensure `maxLength` in case of `pattern` or `format` ([297c754](https://github.com/dashevo/js-dpp/commit/297c7543bfbe6723f92d83c50facb75ac4bfa00c))
372
- * ensure all arrays items are defined ([43d7b8f](https://github.com/dashevo/js-dpp/commit/43d7b8f20886ec2c9f1bd6d16d6760d84a18c7c9))
373
- * ensure all object properties are defined ([d9f71df](https://github.com/dashevo/js-dpp/commit/d9f71df99618719201ebfb0a3267bda1ed5b77c4))
374
- * limit number of allowed indices ([5adff5d](https://github.com/dashevo/js-dpp/commit/5adff5d917c6e5bc11ee337ddb9f1775e8afc7d9))
375
- * `validateData` method accept raw data too ([e72a627](https://github.com/dashevo/js-dpp/commit/e72a6274a26002ddd88c08c15dc89b8c8f94564d))
376
- * prevent of defining `propertyNames` ([c40663f](https://github.com/dashevo/js-dpp/commit/c40663fc9c5db35a00c33ff43b24e2719ee84ee9))
377
- * prevent of defining remote `$ref` ([34bdb3f](https://github.com/dashevo/js-dpp/commit/34bdb3f9c78cd1f2d01264752a9fb712ca313de8))
378
- * prevent of using `default` keyword in Data Contract ([7629878](https://github.com/dashevo/js-dpp/commit/762987887112a89d4a153167e89a7ec97429994f))
379
- * throw error if 16Kb reached for payload in `encode` function ([c6aba8b](https://github.com/dashevo/js-dpp/commit/c6aba8bf38c4a0f8c6dd955624eab6bf07a20a9c))
380
- * accept `JsonSchemaValidator` as an option ([ee1bb0f](https://github.com/dashevo/js-dpp/commit/ee1bb0f180c8a3550da1f63c7a0200dac19f3966))
381
-
382
-
383
- ### BREAKING CHANGES
384
-
385
- * Data Contract schema max depth is now limited by 500
386
- * Serialized Data Contract size is now limited to 15Kb
387
- * `validate`, `createFromSerialized`, `createFromObject` methods of Data Contract Factory are now async
388
- * `items` and `additionalItems` are required for arrays
389
- * `properties` and `additionalProperties` are required for objects
390
- * number of indices limited to 10
391
- * number of unique indices limited to 3
392
- * number of properties in an index limited to 10
393
- * required `maxItems` with `uniqueItems` for large non-scalar arrays
394
- * required `maxLength` in case of `pattern` or `format`
395
- * `propertyNames` keyword is restricted in document schema
396
- * `default` keyword is restricted in Data Contract
397
- * `encode` function throws error if payload is bigger than 16Kb