@dashevo/wasm-dpp 0.25.0-dev.16 → 0.25.0-dev.18

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 (265) hide show
  1. package/Cargo.toml +22 -2
  2. package/dist/errors/patchConsensusErrors.js +94 -115
  3. package/dist/wasm/wasm_dpp.d.ts +2120 -4338
  4. package/dist/wasm/wasm_dpp.js +17747 -2768
  5. package/dist/wasm/wasm_dpp_bg.js +1 -1
  6. package/lib/dpp.ts +1 -1
  7. package/lib/errors/patchConsensusErrors.ts +94 -93
  8. package/lib/test/bootstrap.js +5 -0
  9. package/lib/test/fixtures/getDataContractFixture.js +2 -4
  10. package/lib/test/fixtures/getDocumentsFixture.js +4 -4
  11. package/lib/test/fixtures/getIdentityCreateTransitionFixture.js +13 -19
  12. package/lib/test/fixtures/getIdentityCreditTransferTransitionFixture.js +7 -12
  13. package/lib/test/fixtures/getIdentityFixture.js +21 -32
  14. package/lib/test/fixtures/getIdentityTopUpTransitionFixture.js +7 -10
  15. package/lib/test/fixtures/getIdentityUpdateTransitionFixture.js +13 -28
  16. package/lib/test/fixtures/getPrivateAndPublicKeyForSigningFixture.js +7 -9
  17. package/lib/wasm/wasm_dpp.d.ts +2120 -4338
  18. package/package.json +4 -4
  19. package/src/dash_platform_protocol.rs +172 -195
  20. package/src/data_contract/data_contract.rs +255 -203
  21. package/src/data_contract/data_contract_facade.rs +24 -46
  22. package/src/data_contract/errors/mod.rs +1 -0
  23. package/src/data_contract/mod.rs +2 -2
  24. package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +82 -87
  25. package/src/data_contract/state_transition/data_contract_update_transition/mod.rs +74 -80
  26. package/src/data_contract_factory/data_contract_factory.rs +29 -82
  27. package/src/document/document_facade.rs +74 -81
  28. package/src/document/errors/document_already_exists_error.rs +6 -6
  29. package/src/document/errors/document_no_revision_error.rs +1 -0
  30. package/src/document/errors/document_not_provided_error.rs +6 -6
  31. package/src/document/errors/invalid_document_action_error.rs +11 -7
  32. package/src/document/errors/invalid_initial_revision_error.rs +4 -4
  33. package/src/document/errors/mismatch_owners_ids_error.rs +5 -8
  34. package/src/document/errors/mod.rs +5 -0
  35. package/src/document/errors/revision_absent_error.rs +6 -6
  36. package/src/document/errors/trying_to_delete_immutable_document_error.rs +19 -0
  37. package/src/document/errors/trying_to_replace_immutable_document_error.rs +4 -4
  38. package/src/document/extended_document.rs +76 -76
  39. package/src/document/factory.rs +127 -123
  40. package/src/document/generate_document_id.rs +2 -2
  41. package/src/document/mod.rs +162 -148
  42. package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +50 -48
  43. package/src/document/state_transition/document_batch_transition/document_transition/document_delete_transition.rs +14 -14
  44. package/src/document/state_transition/document_batch_transition/document_transition/document_replace_transition.rs +50 -38
  45. package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +165 -153
  46. package/src/document/state_transition/document_batch_transition/mod.rs +230 -217
  47. package/src/errors/consensus/basic/data_contract/data_contract_have_new_unique_index_error.rs +2 -10
  48. package/src/errors/consensus/basic/data_contract/data_contract_immutable_properties_update_error.rs +1 -10
  49. package/src/errors/consensus/basic/data_contract/data_contract_invalid_index_definition_update_error.rs +2 -11
  50. package/src/errors/consensus/basic/data_contract/data_contract_max_depth_exceed_error.rs +1 -10
  51. package/src/errors/consensus/basic/data_contract/data_contract_unique_indices_changed_error.rs +1 -10
  52. package/src/errors/consensus/basic/data_contract/duplicate_index_name_error.rs +1 -10
  53. package/src/errors/consensus/basic/data_contract/incompatible_data_contract_schema_error.rs +1 -10
  54. package/src/errors/consensus/basic/data_contract/incompatible_re2_pattern_error.rs +1 -10
  55. package/src/errors/consensus/basic/data_contract/index_error/duplicate_index_error.rs +1 -10
  56. package/src/errors/consensus/basic/data_contract/index_error/invalid_compound_index_error.rs +1 -10
  57. package/src/errors/consensus/basic/data_contract/index_error/invalid_index_property_type_error.rs +1 -10
  58. package/src/errors/consensus/basic/data_contract/index_error/invalid_indexed_property_constraint_error.rs +1 -10
  59. package/src/errors/consensus/basic/data_contract/index_error/system_property_index_already_present_error.rs +1 -10
  60. package/src/errors/consensus/basic/data_contract/index_error/undefined_index_property_error.rs +1 -10
  61. package/src/errors/consensus/basic/data_contract/index_error/unique_indices_limit_reached_error.rs +1 -10
  62. package/src/errors/consensus/basic/data_contract/invalid_data_contract_id_error.rs +1 -10
  63. package/src/errors/consensus/basic/data_contract/invalid_data_contract_version_error.rs +1 -10
  64. package/src/errors/consensus/basic/data_contract/invalid_json_schema_ref_error.rs +1 -10
  65. package/src/errors/consensus/basic/decode/protocol_version_parsing_error.rs +10 -8
  66. package/src/errors/consensus/basic/decode/serialized_object_parsing_error.rs +1 -10
  67. package/src/errors/consensus/basic/document/data_contract_not_present_error.rs +1 -10
  68. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_ids_error.rs +1 -10
  69. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_indices_error.rs +1 -10
  70. package/src/errors/consensus/basic/document/inconsistent_compound_index_data_error.rs +1 -10
  71. package/src/errors/consensus/basic/document/invalid_document_transition_action_error.rs +1 -10
  72. package/src/errors/consensus/basic/document/invalid_document_transition_id_error.rs +1 -10
  73. package/src/errors/consensus/basic/document/invalid_document_type_error.rs +1 -10
  74. package/src/errors/consensus/basic/document/missing_data_contract_id_error.rs +1 -10
  75. package/src/errors/consensus/basic/document/missing_document_transition_action_error.rs +1 -10
  76. package/src/errors/consensus/basic/document/missing_document_transition_type_error.rs +1 -10
  77. package/src/errors/consensus/basic/document/missing_document_type_error.rs +1 -10
  78. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_error.rs +1 -10
  79. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_error.rs +1 -10
  80. package/src/errors/consensus/basic/identity/identity_asset_lock_proof_locked_transaction_mismatch_error.rs +1 -10
  81. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_is_not_found_error.rs +1 -10
  82. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs +1 -10
  83. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs +1 -10
  84. package/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +1 -10
  85. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_core_chain_height_error.rs +1 -10
  86. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_transaction_height_error.rs +1 -10
  87. package/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size_error.rs +1 -10
  88. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs +1 -10
  89. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs +1 -10
  90. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_core_fee_error.rs +1 -10
  91. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_output_script_error.rs +1 -10
  92. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_pooling_error.rs +1 -10
  93. package/src/errors/consensus/basic/identity/invalid_identity_key_signature_error.rs +1 -10
  94. package/src/errors/consensus/basic/identity/invalid_identity_public_key_data_error.rs +1 -10
  95. package/src/errors/consensus/basic/identity/invalid_identity_public_key_security_level_error.rs +1 -10
  96. package/src/errors/consensus/basic/identity/invalid_identity_public_key_type_error.rs +1 -10
  97. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs +1 -10
  98. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_signature_error.rs +1 -10
  99. package/src/errors/consensus/basic/identity/missing_master_public_key_error.rs +1 -10
  100. package/src/errors/consensus/basic/identity/missing_public_key_error.rs +1 -10
  101. package/src/errors/consensus/basic/incompatible_protocol_version_error.rs +1 -10
  102. package/src/errors/consensus/basic/invalid_identifier_error.rs +1 -10
  103. package/src/errors/consensus/basic/invalid_signature_public_key_security_level_error.rs +1 -10
  104. package/src/errors/consensus/basic/invalid_state_transition_signature_error.rs +1 -10
  105. package/src/errors/consensus/basic/json_schema_compilation_error.rs +1 -10
  106. package/src/errors/consensus/basic/json_schema_error.rs +1 -9
  107. package/src/errors/consensus/basic/mod.rs +2 -0
  108. package/src/errors/consensus/basic/public_key_is_disabled_error.rs +1 -10
  109. package/src/errors/consensus/basic/public_key_security_level_not_met_error.rs +2 -11
  110. package/src/errors/consensus/basic/state_transition/invalid_state_transition_type_error.rs +1 -10
  111. package/src/errors/consensus/basic/state_transition/missing_state_transition_type_error.rs +1 -10
  112. package/src/errors/consensus/basic/state_transition/state_transition_max_size_exceeded_error.rs +1 -10
  113. package/src/errors/consensus/basic/unsupported_protocol_version_error.rs +1 -10
  114. package/src/errors/consensus/basic/unsupported_version_error.rs +44 -0
  115. package/src/errors/consensus/basic/wrong_public_key_purpose_error.rs +1 -10
  116. package/src/errors/consensus/consensus_error.rs +30 -21
  117. package/src/errors/consensus/deserialize.rs +2 -2
  118. package/src/errors/consensus/fee/balance_is_not_enough_error.rs +5 -3
  119. package/src/errors/consensus/signature/basic_bls_error.rs +1 -10
  120. package/src/errors/consensus/signature/basic_ecdsa_error.rs +1 -10
  121. package/src/errors/consensus/signature/identity_not_found_error.rs +4 -3
  122. package/src/errors/consensus/signature/signature_should_not_be_present_error.rs +1 -10
  123. package/src/errors/consensus/state/data_contract/data_contract_already_present_error.rs +3 -3
  124. package/src/errors/consensus/state/data_contract/data_contract_config_update_error.rs +1 -12
  125. package/src/errors/consensus/state/data_contract/data_contract_is_readonly_error.rs +1 -10
  126. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_condition_error.rs +2 -2
  127. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_execution_error.rs +2 -2
  128. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_invalid_result_error.rs +2 -2
  129. package/src/errors/consensus/state/data_contract/mod.rs +3 -1
  130. package/src/errors/consensus/state/document/document_already_present_error.rs +1 -10
  131. package/src/errors/consensus/state/document/document_not_found_error.rs +1 -10
  132. package/src/errors/consensus/state/document/document_owner_id_mismatch_error.rs +1 -10
  133. package/src/errors/consensus/state/document/document_timestamp_window_violation_error.rs +1 -10
  134. package/src/errors/consensus/state/document/document_timestamps_are_equal_error.rs +1 -10
  135. package/src/errors/consensus/state/document/document_timestamps_mismatch_error.rs +1 -10
  136. package/src/errors/consensus/state/document/duplicate_unique_index_error.rs +1 -10
  137. package/src/errors/consensus/state/document/invalid_document_revision_error.rs +9 -13
  138. package/src/errors/consensus/state/identity/duplicated_identity_public_key_id_state_error.rs +1 -10
  139. package/src/errors/consensus/state/identity/duplicated_identity_public_key_state_error.rs +1 -10
  140. package/src/errors/consensus/state/identity/identity_already_exists_error.rs +1 -10
  141. package/src/errors/consensus/state/identity/identity_public_key_disabled_at_window_violation_error.rs +1 -10
  142. package/src/errors/consensus/state/identity/identity_public_key_is_disabled_error.rs +1 -10
  143. package/src/errors/consensus/state/identity/identity_public_key_is_read_only_error.rs +1 -10
  144. package/src/errors/consensus/state/identity/invalid_identity_public_key_id_error.rs +2 -10
  145. package/src/errors/consensus/state/identity/invalid_identity_revision_error.rs +1 -10
  146. package/src/errors/consensus/state/identity/max_identity_public_key_limit_reached_error.rs +1 -10
  147. package/src/errors/consensus/value_error.rs +1 -10
  148. package/src/errors/from.rs +12 -8
  149. package/src/errors/mod.rs +7 -7
  150. package/src/identity/factory_utils.rs +10 -10
  151. package/src/identity/identity.rs +275 -0
  152. package/src/identity/identity_facade.rs +69 -70
  153. package/src/identity/identity_factory.rs +57 -55
  154. package/src/identity/identity_public_key/mod.rs +86 -62
  155. package/src/identity/mod.rs +25 -256
  156. package/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof_structure_validator.rs +0 -1
  157. package/src/identity/state_transition/asset_lock_proof/chain/mod.rs +3 -1
  158. package/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof_structure_validator.rs +0 -1
  159. package/src/identity/state_transition/asset_lock_proof/instant/mod.rs +3 -1
  160. package/src/identity/state_transition/asset_lock_proof/mod.rs +112 -116
  161. package/src/identity/state_transition/identity_create_transition/identity_create_transition.rs +66 -52
  162. package/src/identity/state_transition/identity_create_transition/identity_create_transition_basic_validator.rs +0 -1
  163. package/src/identity/state_transition/identity_create_transition/mod.rs +3 -3
  164. package/src/identity/state_transition/identity_create_transition/to_object.rs +9 -11
  165. package/src/identity/state_transition/identity_credit_transfer_transition/mod.rs +3 -3
  166. package/src/identity/state_transition/identity_credit_transfer_transition/to_object.rs +10 -13
  167. package/src/identity/state_transition/identity_credit_transfer_transition/transition.rs +72 -39
  168. package/src/identity/state_transition/identity_public_key_transitions.rs +81 -66
  169. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition.rs +64 -51
  170. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition_basic_validator.rs +0 -2
  171. package/src/identity/state_transition/identity_topup_transition/mod.rs +3 -3
  172. package/src/identity/state_transition/identity_topup_transition/to_object.rs +8 -12
  173. package/src/identity/state_transition/identity_update_transition/identity_update_transition.rs +95 -92
  174. package/src/identity/state_transition/identity_update_transition/mod.rs +4 -4
  175. package/src/identity/state_transition/identity_update_transition/to_object.rs +14 -18
  176. package/src/identity/state_transition/mod.rs +2 -2
  177. package/src/lib.rs +9 -9
  178. package/src/metadata.rs +3 -3
  179. package/src/protocol_version.rs +2 -2
  180. package/src/state_transition/errors/invalid_state_transition_error.rs +9 -9
  181. package/src/state_transition/fee/operations/pre_calculated_operation.rs +2 -1
  182. package/src/state_transition/mod.rs +137 -139
  183. package/src/state_transition/state_transition_facade.rs +1 -2
  184. package/src/state_transition/state_transition_factory.rs +139 -159
  185. package/src/state_transition/validation/state_transition_fee_validator.rs +1 -1
  186. package/src/state_transition/validation/validate_state_transition_identity_signature.rs +3 -4
  187. package/src/state_transition/validation/validate_state_transition_key_signature.rs +1 -1
  188. package/src/utils.rs +4 -2
  189. package/src/validation/validation_result.rs +1 -1
  190. package/test/integration/dataContract/DataContractFacade.spec.js +11 -15
  191. package/test/integration/dataContract/stateTransition/DataContractCreateTransition/validation/basic/validateDataContractCreateTransitionBasicFactory.spec.js +1 -1
  192. package/test/integration/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateDataContractUpdateTransitionBasicFactory.spec.js +1 -1
  193. package/test/integration/dataContract/validation/validateDataContractFactory.spec.js +1 -1
  194. package/test/integration/document/Document.spec.js +3 -3
  195. package/test/integration/document/DocumentFacade.spec.js +34 -33
  196. package/test/integration/document/stateTransition/DocumentsBatchTransition/DocumentBatchTransition.spec.js +1 -1
  197. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/basic/validateDocumentsBatchTransitionBasicFactory.spec.js +1 -1
  198. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/state/executeDataTriggersFactory.spec.js +1 -1
  199. package/test/integration/document/validation/validateDocumentFactory.spec.js +1 -1
  200. package/test/integration/identity/IdentityFacade.spec.js +29 -58
  201. package/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js +2 -2
  202. package/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js +1 -1
  203. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/basic/validateIdentityUpdateTransitionBasicFactory.spec.js +1 -1
  204. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory.spec.js +2 -2
  205. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validatePublicKeysState.spec.js +2 -2
  206. package/test/integration/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory.spec.js +1 -1
  207. package/test/integration/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory.spec.js +2 -2
  208. package/test/integration/identity/stateTransition/assetLockProof/instant/validateInstantAssetLockProofStructureFactory.spec.js +1 -1
  209. package/test/integration/identity/stateTransition/assetLockProof/validateAssetLockTransactionFactory.spec.js +4 -3
  210. package/test/integration/identity/stateTransition/validatePublicKeySignaturesFactory.spec.js +1 -1
  211. package/test/integration/identity/validation/validateIdentityFactory.spec.js +2 -2
  212. package/test/integration/identity/validation/validatePublicKeysFactory.spec.js +1 -1
  213. package/test/integration/stateTransition/StateTransitionFacade.spec.js +39 -48
  214. package/test/integration/util/generateTemporaryEcdsaPrivateKey.spec.js +1 -1
  215. package/test/unit/DashPlatformProtocol.spec.js +4 -18
  216. package/test/unit/dataContract/DataContract.spec.js +88 -123
  217. package/test/unit/dataContract/DataContractFactory.spec.js +1 -1
  218. package/test/unit/dataContract/createDataContract.spec.js +1 -1
  219. package/test/unit/dataContract/generateDataContractId.spec.js +1 -1
  220. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition.spec.js +14 -14
  221. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory.spec.js +1 -1
  222. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory.spec.js +1 -1
  223. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +7 -8
  224. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory.spec.js +1 -1
  225. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateIndicesAreBackwardCompatible.spec.js +1 -1
  226. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory.spec.js +1 -1
  227. package/test/unit/dataContract/validation/validateDataContractPatterns.spec.js +1 -1
  228. package/test/unit/document/Document.spec.js +18 -10
  229. package/test/unit/document/DocumentFactory.spec.js +10 -23
  230. package/test/unit/document/fetchAndValidateDataContractFactory.spec.js +1 -1
  231. package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +4 -4
  232. package/test/unit/document/stateTransition/DocumetsBatchTransition/applyDocumentsBatchTransitionFactory.spec.js +1 -1
  233. package/test/unit/document/stateTransition/DocumetsBatchTransition/documentTransition/DocumentCreateTransition.spec.js +1 -1
  234. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesById.spec.js +1 -1
  235. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js +1 -1
  236. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/validatePartialCompoundIndices.spec.js +1 -1
  237. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/fetchDocumentsFactory.spec.js +1 -1
  238. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsBatchTransitionStateFactory.spec.js +1 -1
  239. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsUniquenessByIndicesFactory.spec.js +1 -1
  240. package/test/unit/identity/Identity.spec.js +36 -74
  241. package/test/unit/identity/IdentityFactory.spec.js +55 -68
  242. package/test/unit/identity/IdentityPublicKey.spec.js +33 -47
  243. package/test/unit/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition.spec.js +23 -55
  244. package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +2 -2
  245. package/test/unit/identity/stateTransition/IdentityCreateTransition/validation/state/validateIdentityCreateTransitionStateFactory.spec.js +2 -2
  246. package/test/unit/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition.spec.js +7 -28
  247. package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +4 -4
  248. package/test/unit/identity/stateTransition/IdentityTopUpTransition/validation/state/validateIdentityTopUpTransitionStateFactory.spec.js +2 -2
  249. package/test/unit/identity/stateTransition/IdentityUpdateTransition/IdentityUpdateTransition.spec.js +19 -36
  250. package/test/unit/identity/stateTransition/IdentityUpdateTransition/applyIdentityUpdateTransitionFactory.spec.js +3 -3
  251. package/test/unit/identity/stateTransition/assetLockProof/fetchAssetLockPublicKeyHashFactory.spec.js +1 -1
  252. package/test/unit/identity/stateTransition/identityCreditTransferTransition/identityCreditTransferTransition.spec.js +14 -23
  253. package/test/unit/stateTransition/StateTransitionExecutionContext.spec.js +1 -1
  254. package/test/unit/stateTransition/StateTransitionFactory.spec.js +13 -18
  255. package/test/unit/stateTransition/createStateTransitionFactory.spec.js +1 -1
  256. package/test/unit/stateTransition/validation/validateStateTransitionBasicFactory.spec.js +1 -1
  257. package/test/unit/stateTransition/validation/validateStateTransitionFeeFactory.spec.js +1 -1
  258. package/test/unit/stateTransition/validation/validateStateTransitionIdentitySignatureFactory.spec.js +1 -1
  259. package/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js +2 -2
  260. package/test/unit/stateTransition/validation/validateStateTransitionStateFactory.spec.js +1 -1
  261. package/test/unit/version/validateProtocolVersionFactory.spec.js +1 -1
  262. package/test-d/index.test-d.ts +2 -2
  263. package/src/data_contract/state_transition/data_contract_create_transition/apply.rs +0 -45
  264. package/src/data_contract/state_transition/data_contract_update_transition/apply.rs +0 -49
  265. package/src/document/state_transition/document_batch_transition/apply_document_batch_transition.rs +0 -25
@@ -1,15 +1,12 @@
1
1
  const { PrivateKey } = require('@dashevo/dashcore-lib');
2
2
  const crypto = require('crypto');
3
3
 
4
- const createStateRepositoryMock = require('../../../lib/test/mocks/createStateRepositoryMock');
5
-
6
4
  const getIdentityFixture = require('../../../lib/test/fixtures/getIdentityFixture');
7
5
  const getIdentityCreateTransitionFixture = require('../../../lib/test/fixtures/getIdentityCreateTransitionFixture');
8
6
  const getDocumentsFixture = require('../../../lib/test/fixtures/getDocumentsFixture');
9
7
  const getDataContractFixture = require('../../../lib/test/fixtures/getDataContractFixture');
10
8
 
11
9
  const { default: loadWasmDpp } = require('../../../dist');
12
- const getBlsAdapterMock = require('../../../lib/test/mocks/getBlsAdapterMock');
13
10
  const generateRandomIdentifierAsync = require('../../../lib/test/utils/generateRandomIdentifierAsync');
14
11
 
15
12
  describe('StateTransitionFacade', () => {
@@ -24,37 +21,35 @@ describe('StateTransitionFacade', () => {
24
21
 
25
22
  let DashPlatformProtocol;
26
23
  let DataContractFactory;
27
- let DataContractValidator;
24
+ // let DataContractValidator;
28
25
  let DataContractCreateTransition;
29
- let Identity;
26
+ // let Identity;
30
27
  let ValidationResult;
31
28
  let IdentityPublicKey;
32
29
  let DocumentFactory;
33
- let DocumentValidator;
34
- let ProtocolVersionValidator;
30
+ // let DocumentValidator;
31
+ // let ProtocolVersionValidator;
35
32
  let UnsupportedProtocolVersionError;
36
33
  let InvalidStateTransitionSignatureError;
37
34
  let DataContractAlreadyPresentError;
38
35
  let BalanceIsNotEnoughError;
39
- let StateTransitionExecutionContext;
36
+ // let StateTransitionExecutionContext;
40
37
 
41
38
  before(async () => {
42
39
  ({
43
40
  DashPlatformProtocol,
44
41
  ValidationResult,
45
42
  DataContractCreateTransition,
46
- Identity,
47
- DataContractValidator,
43
+ // Identity,
48
44
  DataContractFactory,
49
45
  IdentityPublicKey,
50
46
  DocumentFactory,
51
- DocumentValidator,
52
- ProtocolVersionValidator,
47
+ // DocumentValidator,
48
+ // ProtocolVersionValidator,
53
49
  UnsupportedProtocolVersionError,
54
50
  InvalidStateTransitionSignatureError,
55
51
  DataContractAlreadyPresentError,
56
52
  BalanceIsNotEnoughError,
57
- StateTransitionExecutionContext,
58
53
  } = await loadWasmDpp());
59
54
  });
60
55
 
@@ -65,23 +60,21 @@ describe('StateTransitionFacade', () => {
65
60
  const publicKey = privateKeyModel.toPublicKey().toBuffer();
66
61
  const publicKeyId = 1;
67
62
 
68
- executionContext = new StateTransitionExecutionContext();
63
+ // executionContext = new StateTransitionExecutionContext();
69
64
 
70
- stateRepositoryMock = createStateRepositoryMock(this.sinonSandbox);
65
+ identityPublicKey = new IdentityPublicKey(1);
71
66
 
72
- identityPublicKey = new IdentityPublicKey({
73
- id: publicKeyId,
74
- type: IdentityPublicKey.TYPES.ECDSA_SECP256K1,
75
- data: publicKey,
76
- purpose: IdentityPublicKey.PURPOSES.AUTHENTICATION,
77
- securityLevel: IdentityPublicKey.SECURITY_LEVELS.HIGH,
78
- readOnly: false,
79
- });
67
+ identityPublicKey.setId(publicKeyId);
68
+ identityPublicKey.setType(IdentityPublicKey.TYPES.ECDSA_SECP256K1);
69
+ identityPublicKey.setData(publicKey);
70
+ identityPublicKey.setSecurityLevel(IdentityPublicKey.SECURITY_LEVELS.CRITICAL);
71
+ identityPublicKey.setPurpose(IdentityPublicKey.PURPOSES.AUTHENTICATION);
72
+ identityPublicKey.setReadOnly(false);
80
73
 
81
74
  dataContract = await getDataContractFixture();
82
75
 
83
- const dataContractValidator = new DataContractValidator();
84
- const dataContractFactory = new DataContractFactory(1, dataContractValidator);
76
+ // const dataContractValidator = new DataContractValidator();
77
+ const dataContractFactory = new DataContractFactory(1);
85
78
 
86
79
  dataContractCreateTransition = await dataContractFactory.createDataContractCreateTransition(
87
80
  dataContract,
@@ -91,38 +84,36 @@ describe('StateTransitionFacade', () => {
91
84
  privateKey,
92
85
  );
93
86
 
94
- const documentValidator = new DocumentValidator(new ProtocolVersionValidator());
95
- const documentFactory = new DocumentFactory(1, documentValidator, stateRepositoryMock);
87
+ // const documentValidator = new DocumentValidator(new ProtocolVersionValidator());
88
+ // documentValidator, stateRepositoryMock
89
+ const documentFactory = new DocumentFactory(1);
90
+
91
+ identityPublicKey = new IdentityPublicKey(1);
92
+
93
+ identityPublicKey.setId(publicKeyId);
94
+ identityPublicKey.setType(IdentityPublicKey.TYPES.ECDSA_SECP256K1);
95
+ identityPublicKey.setData(publicKey);
96
+ identityPublicKey.setSecurityLevel(IdentityPublicKey.SECURITY_LEVELS.HIGH);
97
+ identityPublicKey.setPurpose(IdentityPublicKey.PURPOSES.AUTHENTICATION);
98
+ identityPublicKey.setReadOnly(false);
96
99
 
97
100
  documentsBatchTransition = documentFactory.createStateTransition({
98
101
  create: await getDocumentsFixture(dataContract),
99
102
  });
100
103
  await documentsBatchTransition.sign(identityPublicKey, privateKey);
101
104
 
102
- const identityObject = (await getIdentityFixture()).toObject();
103
- identityObject.id = await generateRandomIdentifierAsync();
104
- identityObject.balance = 10000000;
105
- identity = new Identity(identityObject);
105
+ identity = await getIdentityFixture();
106
+ identity.setId(await generateRandomIdentifierAsync());
107
+ identity.setBalance(10000000);
106
108
  identity.setPublicKeys([identityPublicKey]);
107
109
 
108
- const blockTime = Date.now();
109
-
110
- stateRepositoryMock.fetchIdentity.resolves(identity);
111
- stateRepositoryMock.fetchIdentityBalance.resolves(identity.getBalance());
112
- stateRepositoryMock.fetchLatestPlatformBlockTime.resolves(blockTime);
113
- stateRepositoryMock.fetchDataContract.resolves(null);
114
-
115
- const blsAdapter = await getBlsAdapterMock();
116
-
117
110
  dpp = new DashPlatformProtocol(
118
- blsAdapter,
119
- stateRepositoryMock,
120
111
  { generate: () => crypto.randomBytes(32) },
121
112
  1,
122
113
  );
123
114
  });
124
115
 
125
- describe('createFromObject', () => {
116
+ describe.skip('createFromObject', () => {
126
117
  it('should create State Transition from plain object', async () => {
127
118
  const object = dataContractCreateTransition.toObject();
128
119
  const result = await dpp.stateTransition.createFromObject(
@@ -147,7 +138,7 @@ describe('StateTransitionFacade', () => {
147
138
  });
148
139
  });
149
140
 
150
- describe('validate', () => {
141
+ describe.skip('validate', () => {
151
142
  it('should return invalid result if State Transition structure is invalid', async () => {
152
143
  const rawStateTransition = dataContractCreateTransition.toObject();
153
144
  rawStateTransition.protocolVersion = 100;
@@ -227,7 +218,7 @@ describe('StateTransitionFacade', () => {
227
218
  });
228
219
  });
229
220
 
230
- describe('validateBasic', () => {
221
+ describe.skip('validateBasic', () => {
231
222
  it('should validate State Transition', async () => {
232
223
  const result = await dpp.stateTransition.validateBasic(
233
224
  dataContractCreateTransition.toObject(), executionContext,
@@ -238,7 +229,7 @@ describe('StateTransitionFacade', () => {
238
229
  });
239
230
  });
240
231
 
241
- describe('validateSignature', () => {
232
+ describe.skip('validateSignature', () => {
242
233
  it('should validate identity signed State Transition', async () => {
243
234
  const result = await dpp.stateTransition.validateSignature(
244
235
  dataContractCreateTransition, executionContext,
@@ -269,7 +260,7 @@ describe('StateTransitionFacade', () => {
269
260
  });
270
261
  });
271
262
 
272
- describe('validateFee', () => {
263
+ describe.skip('validateFee', () => {
273
264
  it('should validate State Transition', async () => {
274
265
  const result = await dpp.stateTransition.validateFee(
275
266
  dataContractCreateTransition,
@@ -281,7 +272,7 @@ describe('StateTransitionFacade', () => {
281
272
  });
282
273
  });
283
274
 
284
- describe('validateState', () => {
275
+ describe.skip('validateState', () => {
285
276
  it('should validate State Transition', async () => {
286
277
  const result = await dpp.stateTransition.validateState(
287
278
  dataContractCreateTransition,
@@ -3,7 +3,7 @@ const { default: loadWasmDpp } = require('../../..');
3
3
 
4
4
  let { generateTemporaryEcdsaPrivateKey } = require('../../..');
5
5
 
6
- describe('generateTemporaryEcdsaPrivateKey', () => {
6
+ describe.skip('generateTemporaryEcdsaPrivateKey', () => {
7
7
  beforeEach(async () => {
8
8
  ({ generateTemporaryEcdsaPrivateKey } = await loadWasmDpp());
9
9
  });
@@ -1,27 +1,21 @@
1
1
  const crypto = require('crypto');
2
2
 
3
- const createStateRepositoryMock = require('../../lib/test/mocks/createStateRepositoryMock');
4
- const getBlsAdapterMock = require('../../lib/test/mocks/getBlsAdapterMock');
5
3
  const { DashPlatformProtocol, getLatestProtocolVersion } = require('../..');
6
4
  const { default: loadWasmDpp } = require('../..');
7
5
 
8
6
  describe('DashPlatformProtocol', () => {
9
7
  let dpp;
10
- let stateRepositoryMock;
11
8
 
12
- beforeEach(async function beforeEach() {
9
+ beforeEach(async () => {
13
10
  await loadWasmDpp();
14
- stateRepositoryMock = createStateRepositoryMock(this.sinonSandbox);
15
11
 
16
12
  dpp = new DashPlatformProtocol(
17
- getBlsAdapterMock(),
18
- stateRepositoryMock,
19
13
  { generate: () => crypto.randomBytes(32) },
20
14
  getLatestProtocolVersion(),
21
15
  );
22
16
  });
23
17
 
24
- describe('constructor', () => {
18
+ describe.skip('constructor', () => {
25
19
  it('should set default protocol version', () => {
26
20
  dpp = new DashPlatformProtocol();
27
21
 
@@ -29,15 +23,7 @@ describe('DashPlatformProtocol', () => {
29
23
  });
30
24
  });
31
25
 
32
- describe('getStateRepository', () => {
33
- it('should return StateRepository', () => {
34
- const result = dpp.getStateRepository();
35
-
36
- expect(result).to.equal(stateRepositoryMock);
37
- });
38
- });
39
-
40
- describe('setProtocolVersion', () => {
26
+ describe.skip('setProtocolVersion', () => {
41
27
  it('should set protocol version', () => {
42
28
  expect(dpp.protocolVersion).to.equal(getLatestProtocolVersion());
43
29
 
@@ -47,7 +33,7 @@ describe('DashPlatformProtocol', () => {
47
33
  });
48
34
  });
49
35
 
50
- describe('getProtocolVersion', () => {
36
+ describe.skip('getProtocolVersion', () => {
51
37
  it('should get protocol version', () => {
52
38
  expect(dpp.protocolVersion).to.equal(getLatestProtocolVersion());
53
39
 
@@ -7,21 +7,20 @@ const { default: loadWasmDpp } = require('../../../dist');
7
7
  describe('DataContract', () => {
8
8
  let documentType;
9
9
  let documentSchema;
10
- let documents;
10
+ let documentSchemas;
11
11
  let ownerId;
12
12
  let entropy;
13
13
  let contractId;
14
14
  let dataContract;
15
- let defs;
15
+ let schemaDefs;
16
16
 
17
17
  let DataContract;
18
- let DataContractDefaults;
19
18
  let Identifier;
20
19
  let Metadata;
21
20
 
22
21
  before(async () => {
23
22
  ({
24
- DataContract, DataContractDefaults, Identifier, Metadata,
23
+ DataContract, Identifier, Metadata,
25
24
  } = await loadWasmDpp());
26
25
  });
27
26
 
@@ -29,18 +28,20 @@ describe('DataContract', () => {
29
28
  documentType = 'niceDocument';
30
29
 
31
30
  documentSchema = {
31
+ type: 'object',
32
32
  properties: {
33
33
  nice: {
34
34
  type: 'boolean',
35
35
  },
36
36
  aBinaryProperty: {
37
- type: 'object',
37
+ type: 'array',
38
38
  byteArray: true,
39
39
  },
40
40
  },
41
+ additionalProperties: false,
41
42
  };
42
43
 
43
- documents = {
44
+ documentSchemas = {
44
45
  [documentType]: documentSchema,
45
46
  };
46
47
 
@@ -48,38 +49,32 @@ describe('DataContract', () => {
48
49
  entropy = Buffer.alloc(32, 420);
49
50
  contractId = (await generateRandomIdentifier()).toBuffer();
50
51
 
51
- defs = { something: { type: 'string' } };
52
+ schemaDefs = { something: { type: 'string' } };
52
53
 
53
54
  dataContract = new DataContract({
54
- $schema: DataContractDefaults.SCHEMA,
55
- $id: contractId,
55
+ $format_version: '0',
56
+ id: contractId,
56
57
  version: 1,
57
- protocolVersion: 1,
58
58
  ownerId,
59
- documents,
60
- $defs: defs,
59
+ documentSchemas,
61
60
  });
62
61
  });
63
62
 
64
63
  describe('constructor', () => {
65
64
  it('should create new DataContract', async () => {
66
- const id = (await generateRandomIdentifier()).toBuffer();
67
-
68
65
  dataContract = new DataContract({
69
- $schema: DataContractDefaults.SCHEMA,
70
- $id: id,
71
- ownerId,
72
- protocolVersion: 1,
66
+ $format_version: '0',
67
+ id: contractId,
73
68
  version: 1,
74
- documents,
75
- $defs: defs,
69
+ ownerId,
70
+ documentSchemas,
71
+ schemaDefs,
76
72
  });
77
73
 
78
- expect(dataContract.getId().toBuffer()).to.deep.equal(id);
74
+ expect(dataContract.getId().toBuffer()).to.deep.equal(contractId);
79
75
  expect(dataContract.getOwnerId().toBuffer()).to.deep.equal(ownerId);
80
- expect(dataContract.getJsonMetaSchema()).to.deep.equal(DataContractDefaults.SCHEMA);
81
- expect(dataContract.getDocuments()).to.deep.equal(documents);
82
- expect(dataContract.getDefinitions()).to.deep.equal(defs);
76
+ expect(dataContract.getDocumentSchemas()).to.deep.equal(documentSchemas);
77
+ expect(dataContract.getSchemaDefs()).to.deep.equal(schemaDefs);
83
78
  });
84
79
  });
85
80
 
@@ -92,71 +87,49 @@ describe('DataContract', () => {
92
87
  });
93
88
  });
94
89
 
95
- describe('#getJsonSchemaId', () => {
96
- it('should return JSON Schema ID', () => {
97
- const result = dataContract.getJsonSchemaId();
98
-
99
- expect(result).to.equal(dataContract.getId().toString());
100
- });
101
- });
102
-
103
- describe('#setJsonMetaSchema', () => {
104
- it('should set meta schema', () => {
105
- const metaSchema = 'http://test.com/schema';
106
-
107
- dataContract.setJsonMetaSchema(metaSchema);
108
-
109
- expect(dataContract.getJsonMetaSchema()).to.deep.equal(metaSchema);
110
- });
111
- });
112
-
113
- describe('#getJsonMetaSchema', () => {
114
- it('should return meta schema', () => {
115
- const result = dataContract.getJsonMetaSchema();
116
-
117
- expect(result).to.deep.equal(DataContractDefaults.SCHEMA);
118
- });
119
- });
120
-
121
- describe('#getDocuments', () => {
90
+ describe('#getDocumentSchemas', () => {
122
91
  it('should get Documents definition', () => {
123
92
  const anotherDocuments = {
124
93
  anotherDocument: {
94
+ type: 'object',
125
95
  properties: {
126
96
  name: { type: 'string' },
127
97
  },
98
+ additionalProperties: false,
128
99
  },
129
100
  };
130
101
 
131
- dataContract.setDocuments(anotherDocuments);
132
- expect(dataContract.getDocuments()).to.deep.equal(anotherDocuments);
102
+ dataContract.setDocumentSchemas(anotherDocuments);
103
+ expect(dataContract.getDocumentSchemas()).to.deep.equal(anotherDocuments);
133
104
  });
134
105
  });
135
106
 
136
- describe('#setDocuments', () => {
107
+ describe('#setDocumentSchemas', () => {
137
108
  it('should set Documents definition', () => {
138
109
  const anotherDocuments = {
139
110
  anotherDocument: {
111
+ type: 'object',
140
112
  properties: {
141
113
  name: { type: 'string' },
142
114
  },
115
+ additionalProperties: false,
143
116
  },
144
117
  };
145
118
 
146
- dataContract.setDocuments(anotherDocuments);
147
- expect(dataContract.getDocuments()).to.deep.equal(anotherDocuments);
119
+ dataContract.setDocumentSchemas(anotherDocuments);
120
+ expect(dataContract.getDocumentSchemas()).to.deep.equal(anotherDocuments);
148
121
  });
149
122
  });
150
123
 
151
- describe('#isDocumentDefined', () => {
124
+ describe('#hasDocumentType', () => {
152
125
  it('should return true if Document schema is defined', () => {
153
- const result = dataContract.isDocumentDefined('niceDocument');
126
+ const result = dataContract.hasDocumentType('niceDocument');
154
127
 
155
128
  expect(result).to.equal(true);
156
129
  });
157
130
 
158
131
  it('should return false if Document schema is not defined', () => {
159
- const result = dataContract.isDocumentDefined('undefinedDocument');
132
+ const result = dataContract.hasDocumentType('undefinedDocument');
160
133
 
161
134
  expect(result).to.equal(false);
162
135
  });
@@ -166,18 +139,22 @@ describe('DataContract', () => {
166
139
  it('should set Document schema', () => {
167
140
  const anotherType = 'prettyDocument';
168
141
  const anotherDefinition = {
142
+ type: 'object',
169
143
  properties: {
170
- name: { type: 'string' },
144
+ test: {
145
+ type: 'string',
146
+ },
171
147
  },
148
+ additionalProperties: false,
172
149
  };
173
150
 
174
151
  dataContract.setDocumentSchema(anotherType, anotherDefinition);
175
152
 
176
- const anotherDocuments = dataContract.getDocuments();
153
+ const anotherDocuments = dataContract.getDocumentSchemas();
177
154
 
178
155
  expect(anotherDocuments).to.have.property(anotherType);
179
156
  expect(anotherDocuments[anotherType]).to.deep.equal(anotherDefinition);
180
- expect(dataContract.isDocumentDefined(anotherType)).to.be.true();
157
+ expect(dataContract.hasDocumentType(anotherType)).to.be.true();
181
158
  });
182
159
  });
183
160
 
@@ -187,7 +164,7 @@ describe('DataContract', () => {
187
164
  dataContract.getDocumentSchema('undefinedObject');
188
165
  expect.fail('Error was not thrown');
189
166
  } catch (e) {
190
- expect(e.getType()).to.equal('undefinedObject');
167
+ expect(e.getMessage()).to.equal('data contract error: document type not found: can not get document type from contract');
191
168
  }
192
169
  });
193
170
 
@@ -198,40 +175,31 @@ describe('DataContract', () => {
198
175
  });
199
176
  });
200
177
 
201
- describe('#getDocumentSchemaRef', () => {
202
- it('should throw error if Document is not defined', () => {
203
- try {
204
- dataContract.getDocumentSchemaRef('undefinedObject');
205
- expect.fail('Error was not thrown');
206
- } catch (e) {
207
- expect(e.getType()).to.equal('undefinedObject');
208
- }
209
- });
210
-
211
- it('should return schema ref', () => {
212
- const result = dataContract.getDocumentSchemaRef(documentType);
213
-
214
- expect(result).to.equal(`${dataContract.getJsonSchemaId()}#/documents/niceDocument`);
215
- });
216
- });
217
-
218
- describe('#setDefinitions', () => {
178
+ describe('#setSchemaDefs', () => {
219
179
  it('should set $defs', () => {
220
180
  const $defs = {
221
- subSchema: { type: 'object' },
181
+ subSchema: {
182
+ type: 'object',
183
+ properties: {
184
+ test: {
185
+ type: 'string',
186
+ },
187
+ },
188
+ additionalProperties: false,
189
+ },
222
190
  };
223
191
 
224
- dataContract.setDefinitions($defs);
192
+ dataContract.setSchemaDefs($defs);
225
193
 
226
- expect(dataContract.getDefinitions()).to.deep.equal($defs);
194
+ expect(dataContract.getSchemaDefs()).to.deep.equal($defs);
227
195
  });
228
196
  });
229
197
 
230
- describe('#getDefinitions', () => {
198
+ describe('#getSchemaDefs', () => {
231
199
  it('should return $defs', () => {
232
- const result = dataContract.getDefinitions();
200
+ const result = dataContract.getSchemaDefs();
233
201
 
234
- expect(result).to.deep.equal(defs);
202
+ expect(result).to.be.null();
235
203
  });
236
204
  });
237
205
 
@@ -240,33 +208,51 @@ describe('DataContract', () => {
240
208
  const result = dataContract.toJSON();
241
209
 
242
210
  expect(result).to.deep.equal({
243
- protocolVersion: dataContract.getProtocolVersion(),
244
- $id: bs58.encode(contractId),
245
- $schema: DataContractDefaults.SCHEMA,
211
+ $format_version: '0',
212
+ config: {
213
+ $format_version: '0',
214
+ canBeDeleted: false,
215
+ documentsKeepHistoryContractDefault: false,
216
+ documentsMutableContractDefault: true,
217
+ keepsHistory: false,
218
+ readonly: false,
219
+ requiresIdentityDecryptionBoundedKey: null,
220
+ requiresIdentityEncryptionBoundedKey: null,
221
+ },
222
+ id: bs58.encode(contractId),
246
223
  version: 1,
247
224
  ownerId: bs58.encode(ownerId),
248
- documents,
249
- $defs: defs,
225
+ schemaDefs: null,
226
+ documentSchemas,
250
227
  });
251
228
  });
252
229
 
253
230
  it('should return plain object with "$defs" if present', () => {
254
231
  const $defs = {
255
- subSchema: { type: 'object' },
232
+ subSchema: { type: 'string' },
256
233
  };
257
234
 
258
- dataContract.setDefinitions($defs);
235
+ dataContract.setSchemaDefs($defs);
259
236
 
260
237
  const result = dataContract.toJSON();
261
238
 
262
239
  expect(result).to.deep.equal({
263
- protocolVersion: dataContract.getProtocolVersion(),
264
- $schema: DataContractDefaults.SCHEMA,
265
- $id: bs58.encode(contractId),
240
+ $format_version: '0',
241
+ config: {
242
+ $format_version: '0',
243
+ canBeDeleted: false,
244
+ documentsKeepHistoryContractDefault: false,
245
+ documentsMutableContractDefault: true,
246
+ keepsHistory: false,
247
+ readonly: false,
248
+ requiresIdentityDecryptionBoundedKey: null,
249
+ requiresIdentityEncryptionBoundedKey: null,
250
+ },
251
+ id: bs58.encode(contractId),
266
252
  version: 1,
267
253
  ownerId: bs58.encode(ownerId),
268
- documents,
269
- $defs,
254
+ documentSchemas,
255
+ schemaDefs: $defs,
270
256
  });
271
257
  });
272
258
  });
@@ -275,7 +261,7 @@ describe('DataContract', () => {
275
261
  it('should return DataContract as a Buffer', () => {
276
262
  const result = dataContract.toBuffer();
277
263
  expect(result).to.be.instanceOf(Buffer);
278
- expect(result).to.have.lengthOf(251);
264
+ expect(result).to.have.lengthOf(211);
279
265
  });
280
266
  });
281
267
 
@@ -299,27 +285,6 @@ describe('DataContract', () => {
299
285
  });
300
286
  });
301
287
 
302
- describe('#getBinaryProperties', () => {
303
- it('should return flat map of properties with `contentEncoding` keywords', () => {
304
- const result = dataContract.getBinaryProperties(documentType);
305
- expect(result).to.deep.equal({
306
- aBinaryProperty: {
307
- type: 'object',
308
- byteArray: true,
309
- },
310
- });
311
- });
312
-
313
- it('should throw an error if document type is not found', () => {
314
- try {
315
- dataContract.getBinaryProperties('unknown');
316
- expect.fail('Error was not thrown');
317
- } catch (e) {
318
- expect(e.getType()).to.equal('unknown');
319
- }
320
- });
321
- });
322
-
323
288
  describe('#setMetadata', () => {
324
289
  it('should set metadata', () => {
325
290
  const otherMetadata = new Metadata({
@@ -336,10 +301,10 @@ describe('DataContract', () => {
336
301
  });
337
302
  });
338
303
 
339
- describe('#setConfig', () => {
304
+ describe.skip('#setConfig', () => {
340
305
  it('should set config', () => {
341
306
  const config = {
342
- canBeDeleted: true,
307
+ allow: true,
343
308
  readonly: true,
344
309
  keepsHistory: true,
345
310
  documentsKeepHistoryContractDefault: true,
@@ -3,7 +3,7 @@ const getDataContractFixture = require('../../../lib/test/fixtures/getDataContra
3
3
  const { default: loadWasmDpp, UnsupportedProtocolVersionError } = require('../../..');
4
4
  const { getLatestProtocolVersion } = require('../../..');
5
5
 
6
- describe('DataContractFactory', () => {
6
+ describe.skip('DataContractFactory', () => {
7
7
  let DataContractFactory;
8
8
  let DataContractValidator;
9
9
  let DataContract;
@@ -2,7 +2,7 @@ const generateRandomIdentifier = require('../../../lib/test/utils/generateRandom
2
2
 
3
3
  const { default: loadWasmDpp } = require('../../..');
4
4
 
5
- describe('createDataContract', () => {
5
+ describe.skip('createDataContract', () => {
6
6
  let rawDataContract;
7
7
  let DataContract;
8
8
 
@@ -2,7 +2,7 @@ const bs58 = require('bs58');
2
2
 
3
3
  const { default: loadWasmDpp } = require('../../../dist');
4
4
 
5
- describe('generateDataContractId', () => {
5
+ describe.skip('generateDataContractId', () => {
6
6
  let ownerId;
7
7
  let entropy;
8
8
  let DataContractFactory;