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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/.eslintignore +1 -0
  2. package/Cargo.toml +23 -0
  3. package/README.md +21 -6
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.js +2 -0
  6. package/dist/index.js.LICENSE.txt +8 -0
  7. package/dist/lib/patchIdentifier.d.ts +2 -0
  8. package/dist/wasm/wasm_dpp.d.ts +2756 -0
  9. package/index.ts +30 -0
  10. package/karma.conf.js +6 -3
  11. package/lib/patchIdentifier.ts +37 -0
  12. package/lib/test/.eslintrc +9 -0
  13. package/lib/test/bootstrap.js +27 -0
  14. package/lib/test/expect/expectError.js +34 -0
  15. package/lib/test/karma/loader.js +6 -0
  16. package/lib/test/utils/generateRandomIdentifierAsync.js +14 -0
  17. package/package.json +31 -55
  18. package/scripts/build.sh +69 -0
  19. package/scripts/clean.sh +4 -0
  20. package/src/bls_adapter.rs +71 -0
  21. package/src/buffer.rs +15 -0
  22. package/src/dash_platform_protocol.rs +26 -0
  23. package/src/data_contract/data_contract.rs +290 -0
  24. package/src/data_contract/errors/data_contract_already_exists.rs +1 -0
  25. package/src/data_contract/errors/invalid_data_contract.rs +29 -0
  26. package/src/data_contract/errors/invalid_document_type.rs +33 -0
  27. package/src/data_contract/errors/mod.rs +37 -0
  28. package/src/data_contract/index.rs +61 -0
  29. package/src/data_contract/mod.rs +10 -0
  30. package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +37 -0
  31. package/src/data_contract/state_transition/mod.rs +3 -0
  32. package/src/data_contract_factory/data_contract_factory.rs +155 -0
  33. package/src/data_contract_factory/mod.rs +1 -0
  34. package/src/document/errors/document_already_exists_error.rs +28 -0
  35. package/src/document/errors/document_not_provided_error.rs +28 -0
  36. package/src/document/errors/invalid_action_name_error.rs +24 -0
  37. package/src/document/errors/invalid_document_action_error.rs +28 -0
  38. package/src/document/errors/invalid_document_error.rs +32 -0
  39. package/src/document/errors/invalid_initial_revision_error.rs +25 -0
  40. package/src/document/errors/mismatch_owners_ids_error.rs +27 -0
  41. package/src/document/errors/mod.rs +55 -0
  42. package/src/document/errors/no_documents_supplied_error.rs +22 -0
  43. package/src/document/mod.rs +158 -0
  44. package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +22 -0
  45. package/src/document/state_transition/document_batch_transition/document_transition/document_delete_transition.rs +22 -0
  46. package/src/document/state_transition/document_batch_transition/document_transition/document_update_transition.rs +22 -0
  47. package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +24 -0
  48. package/src/document/state_transition/document_batch_transition/mod.rs +1 -0
  49. package/src/document/state_transition/mod.rs +1 -0
  50. package/src/errors/consensus/basic/data_contract/data_contract_have_new_unique_index_error.rs +36 -0
  51. package/src/errors/consensus/basic/data_contract/data_contract_immutable_properties_update_error.rs +36 -0
  52. package/src/errors/consensus/basic/data_contract/data_contract_invalid_index_definition_update_error.rs +36 -0
  53. package/src/errors/consensus/basic/data_contract/data_contract_max_depth_exceed_error.rs +26 -0
  54. package/src/errors/consensus/basic/data_contract/data_contract_unique_indices_changed_error.rs +36 -0
  55. package/src/errors/consensus/basic/data_contract/duplicate_index_name_error.rs +36 -0
  56. package/src/errors/consensus/basic/data_contract/incompatible_data_contract_schema_error.rs +66 -0
  57. package/src/errors/consensus/basic/data_contract/incompatible_re2_pattern_error.rs +43 -0
  58. package/src/errors/consensus/basic/data_contract/index_error/duplicate_index_error.rs +39 -0
  59. package/src/errors/consensus/basic/data_contract/index_error/invalid_compound_index_error.rs +39 -0
  60. package/src/errors/consensus/basic/data_contract/index_error/invalid_index_property_type_error.rs +59 -0
  61. package/src/errors/consensus/basic/data_contract/index_error/invalid_indexed_property_constraint_error.rs +67 -0
  62. package/src/errors/consensus/basic/data_contract/index_error/mod.rs +15 -0
  63. package/src/errors/consensus/basic/data_contract/index_error/system_property_index_already_present_error.rs +51 -0
  64. package/src/errors/consensus/basic/data_contract/index_error/undefined_index_property_error.rs +51 -0
  65. package/src/errors/consensus/basic/data_contract/index_error/unique_indices_limit_reached_error.rs +36 -0
  66. package/src/errors/consensus/basic/data_contract/invalid_data_contract_id_error.rs +37 -0
  67. package/src/errors/consensus/basic/data_contract/invalid_data_contract_version_error.rs +36 -0
  68. package/src/errors/consensus/basic/data_contract/invalid_json_schema_ref_error.rs +26 -0
  69. package/src/errors/consensus/basic/data_contract/mod.rs +25 -0
  70. package/src/errors/consensus/basic/decode/mod.rs +5 -0
  71. package/src/errors/consensus/basic/decode/protocol_version_parsing_error.rs +29 -0
  72. package/src/errors/consensus/basic/decode/serialized_object_parsing_error.rs +29 -0
  73. package/src/errors/consensus/basic/document/data_contract_not_present_error.rs +32 -0
  74. package/src/errors/consensus/basic/document/duplicate_document_transitions_with_ids_error.rs +36 -0
  75. package/src/errors/consensus/basic/document/inconsistent_compound_index_data_error.rs +40 -0
  76. package/src/errors/consensus/basic/document/invalid_document_transition_action_error.rs +26 -0
  77. package/src/errors/consensus/basic/document/invalid_document_transition_id_error.rs +38 -0
  78. package/src/errors/consensus/basic/document/invalid_document_type_error.rs +39 -0
  79. package/src/errors/consensus/basic/document/missing_data_contract_id_error.rs +20 -0
  80. package/src/errors/consensus/basic/document/missing_document_transition_action_error.rs +20 -0
  81. package/src/errors/consensus/basic/document/missing_document_type_error.rs +20 -0
  82. package/src/errors/consensus/basic/document/mod.rs +19 -0
  83. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_error.rs +32 -0
  84. package/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_error.rs +32 -0
  85. package/src/errors/consensus/basic/identity/identity_asset_lock_proof_locked_transaction_mismatch_error.rs +38 -0
  86. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_is_not_found_error.rs +31 -0
  87. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs +37 -0
  88. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs +29 -0
  89. package/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +33 -0
  90. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_core_chain_height_error.rs +34 -0
  91. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_transaction_height_error.rs +34 -0
  92. package/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size_error.rs +29 -0
  93. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs +60 -0
  94. package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs +29 -0
  95. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_core_fee_error.rs +29 -0
  96. package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_output_script_error.rs +32 -0
  97. package/src/errors/consensus/basic/identity/invalid_identity_key_signature_error.rs +29 -0
  98. package/src/errors/consensus/basic/identity/invalid_identity_public_key_data_error.rs +39 -0
  99. package/src/errors/consensus/basic/identity/invalid_identity_public_key_security_level_error.rs +42 -0
  100. package/src/errors/consensus/basic/identity/invalid_identity_public_key_type_error.rs +30 -0
  101. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs +22 -0
  102. package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_signature_error.rs +24 -0
  103. package/src/errors/consensus/basic/identity/missing_master_public_key_error.rs +22 -0
  104. package/src/errors/consensus/basic/identity/missing_public_key_error.rs +29 -0
  105. package/src/errors/consensus/basic/identity/mod.rs +45 -0
  106. package/src/errors/consensus/basic/incompatible_protocol_version_error.rs +32 -0
  107. package/src/errors/consensus/basic/invalid_identifier_error.rs +36 -0
  108. package/src/errors/consensus/basic/invalid_signature_public_key_security_level_error.rs +41 -0
  109. package/src/errors/consensus/basic/invalid_state_transition_signature_error.rs +20 -0
  110. package/src/errors/consensus/basic/json_schema_compilation_error.rs +26 -0
  111. package/src/errors/consensus/basic/json_schema_error.rs +274 -0
  112. package/src/errors/consensus/basic/mod.rs +30 -0
  113. package/src/errors/consensus/basic/public_key_is_disabled_error.rs +30 -0
  114. package/src/errors/consensus/basic/public_key_security_level_not_met_error.rs +41 -0
  115. package/src/errors/consensus/basic/state_transition/invalid_state_transition_type_error.rs +29 -0
  116. package/src/errors/consensus/basic/state_transition/missing_state_transition_type_error.rs +20 -0
  117. package/src/errors/consensus/basic/state_transition/mod.rs +7 -0
  118. package/src/errors/consensus/basic/state_transition/state_transition_max_size_exceeded_error.rs +36 -0
  119. package/src/errors/consensus/basic/test_consensus_error.rs +21 -0
  120. package/src/errors/consensus/basic/unsupported_protocol_version_error.rs +32 -0
  121. package/src/errors/consensus/basic/wrong_public_key_purpose_error.rs +37 -0
  122. package/src/errors/consensus/fee/balance_is_not_enough_error.rs +32 -0
  123. package/src/errors/consensus/fee/mod.rs +3 -0
  124. package/src/errors/consensus/mod.rs +4 -0
  125. package/src/errors/consensus/signature/identity_not_found_error.rs +29 -0
  126. package/src/errors/consensus/signature/mod.rs +3 -0
  127. package/src/errors/consensus/state/data_contract/data_contract_already_present_error.rs +31 -0
  128. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_condition_error.rs +74 -0
  129. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_execution_error.rs +82 -0
  130. package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_invalid_result_error.rs +66 -0
  131. package/src/errors/consensus/state/data_contract/data_trigger/mod.rs +7 -0
  132. package/src/errors/consensus/state/data_contract/mod.rs +4 -0
  133. package/src/errors/consensus/state/document/document_already_present_error.rs +28 -0
  134. package/src/errors/consensus/state/document/document_not_found_error.rs +28 -0
  135. package/src/errors/consensus/state/document/document_owner_id_mismatch_error.rs +50 -0
  136. package/src/errors/consensus/state/document/document_timestamp_window_violation_error.rs +72 -0
  137. package/src/errors/consensus/state/document/document_timestamps_mismatch_error.rs +28 -0
  138. package/src/errors/consensus/state/document/duplicate_unique_index_error.rs +42 -0
  139. package/src/errors/consensus/state/document/invalid_document_revision_error.rs +38 -0
  140. package/src/errors/consensus/state/document/mod.rs +15 -0
  141. package/src/errors/consensus/state/identity/identity_already_exists_error.rs +28 -0
  142. package/src/errors/consensus/state/identity/identity_public_key_disabled_at_window_violation_error.rs +49 -0
  143. package/src/errors/consensus/state/identity/identity_public_key_is_disabled_error.rs +31 -0
  144. package/src/errors/consensus/state/identity/identity_public_key_is_read_only_error.rs +28 -0
  145. package/src/errors/consensus/state/identity/invalid_identity_public_key_id_error.rs +28 -0
  146. package/src/errors/consensus/state/identity/invalid_identity_revision_error.rs +38 -0
  147. package/src/errors/consensus/state/identity/max_identity_public_key_limit_reached_error.rs +26 -0
  148. package/src/errors/consensus/state/identity/mod.rs +15 -0
  149. package/src/errors/consensus/state/mod.rs +3 -0
  150. package/src/errors/consensus_error.rs +612 -0
  151. package/src/errors/from.rs +24 -0
  152. package/src/errors/js_conversion.rs +63 -0
  153. package/src/errors/mod.rs +10 -0
  154. package/src/errors/public_key_validation_error.rs +23 -0
  155. package/src/identifier.rs +103 -0
  156. package/src/identity.rs +253 -0
  157. package/src/identity_facade.rs +55 -0
  158. package/src/identity_public_key/key_type.rs +22 -0
  159. package/src/identity_public_key/mod.rs +192 -0
  160. package/src/identity_public_key/public_keys_validator.rs +44 -0
  161. package/src/identity_public_key/purpose.rs +24 -0
  162. package/src/identity_public_key/security_level.rs +21 -0
  163. package/src/lib.rs +28 -0
  164. package/src/metadata.rs +54 -0
  165. package/src/utils.rs +59 -0
  166. package/src/validation_result.rs +41 -0
  167. package/test/integration/DashPlatformProtocol.spec.js +4 -4
  168. package/test/integration/ajv/keywords/byteArray/addByteArrayKeyword.spec.js +2 -2
  169. package/test/integration/dataContract/DataContractFacade.spec.js +6 -6
  170. package/test/integration/dataContract/stateTransition/DataContractCreateTransition/validation/basic/validateDataContractCreateTransitionBasicFactory.spec.js +10 -10
  171. package/test/integration/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateDataContractUpdateTransitionBasicFactory.spec.js +14 -14
  172. package/test/integration/dataContract/validation/validateDataContractFactory.spec.js +22 -22
  173. package/test/integration/document/Document.spec.js +10 -5
  174. package/test/integration/document/DocumentFacade.spec.js +11 -11
  175. package/test/integration/document/stateTransition/DocumentsBatchTransition/DocumentBatchTransition.spec.js +5 -5
  176. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/basic/validateDocumentsBatchTransitionBasicFactory.spec.js +25 -25
  177. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/state/executeDataTriggersFactory.spec.js +15 -15
  178. package/test/integration/document/validation/validateDocumentFactory.spec.js +12 -12
  179. package/test/integration/error/consensus/createConsensusError.spec.js +3 -3
  180. package/test/integration/identity/IdentityFacade.spec.js +13 -13
  181. package/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js +12 -12
  182. package/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js +11 -11
  183. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/basic/validateIdentityUpdateTransitionBasicFactory.spec.js +8 -8
  184. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory.spec.js +24 -39
  185. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validatePublicKeysState.spec.js +7 -7
  186. package/test/integration/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory.spec.js +29 -35
  187. package/test/integration/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory.spec.js +8 -8
  188. package/test/integration/identity/stateTransition/assetLockProof/instant/validateInstantAssetLockProofStructureFactory.spec.js +11 -11
  189. package/test/integration/identity/stateTransition/assetLockProof/validateAssetLockTransactionFactory.spec.js +10 -10
  190. package/test/integration/identity/stateTransition/validatePublicKeySignaturesFactory.spec.js +7 -7
  191. package/test/integration/identity/validation/validateIdentityFactory.spec.js +8 -8
  192. package/test/integration/identity/validation/validatePublicKeysFactory.spec.js +50 -24
  193. package/test/integration/stateTransition/AbstractStateTransitionIdentitySigned.spec.js +14 -14
  194. package/test/integration/stateTransition/StateTransitionFacade.spec.js +15 -19
  195. package/test/integration/stateTransition/calculateStateTransitionFee.spec.js +8 -11
  196. package/test/integration/util/generateEntropy.spec.js +1 -1
  197. package/test/integration/util/serializer.spec.js +2 -2
  198. package/test/unit/DashPlatformProtocol.spec.js +4 -4
  199. package/test/unit/Identifier.spec.js +2 -2
  200. package/test/unit/Metadata.spec.js +1 -1
  201. package/test/unit/dataContract/DataContract.spec.js +100 -159
  202. package/test/unit/dataContract/DataContractFactory.spec.js +55 -111
  203. package/test/unit/dataContract/createDataContract.spec.js +20 -10
  204. package/test/unit/dataContract/errors/InvalidDataContractError.spec.js +2 -2
  205. package/test/unit/dataContract/generateDataContractId.spec.js +23 -6
  206. package/test/unit/dataContract/getBinaryPropertiesFromSchema.spec.js +1 -1
  207. package/test/unit/dataContract/getPropertyDefinitionByPath.spec.js +1 -1
  208. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition.spec.js +8 -8
  209. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory.spec.js +6 -6
  210. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory.spec.js +8 -8
  211. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +8 -8
  212. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory.spec.js +6 -6
  213. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateIndicesAreBackwardCompatible.spec.js +6 -6
  214. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory.spec.js +9 -9
  215. package/test/unit/dataContract/validation/validateDataContractMaxDepthFactory.spec.js +6 -6
  216. package/test/unit/dataContract/validation/validateDataContractPatternsFactory.spec.js +3 -3
  217. package/test/unit/dataTrigger/DataTrigger.spec.js +8 -8
  218. package/test/unit/dataTrigger/DataTriggerExecutionContext.spec.js +4 -4
  219. package/test/unit/dataTrigger/dashpayDataTriggers/createContactRequestDataTrigger.spec.js +13 -15
  220. package/test/unit/dataTrigger/dpnsTriggers/createDomainDataTrigger.spec.js +12 -12
  221. package/test/unit/dataTrigger/featureFlagDataTriggers/createFeatureFlagDataTrigger.spec.js +11 -13
  222. package/test/unit/dataTrigger/getDataTriggersFactory.spec.js +7 -7
  223. package/test/unit/dataTrigger/rejectDataTrigger.spec.js +8 -8
  224. package/test/unit/dataTrigger/rewardShareDataTriggers/createMasternodeRewardSharesDataTrigger.spec.js +9 -9
  225. package/test/unit/decodeProtocolEntityFactory.spec.js +4 -4
  226. package/test/unit/document/Document.spec.js +9 -9
  227. package/test/unit/document/DocumentFactory.spec.js +19 -19
  228. package/test/unit/document/errors/InvalidDocumentError.spec.js +2 -2
  229. package/test/unit/document/fetchAndValidateDataContractFactory.spec.js +8 -8
  230. package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +8 -8
  231. package/test/unit/document/stateTransition/DocumetsBatchTransition/applyDocumentsBatchTransitionFactory.spec.js +16 -17
  232. package/test/unit/document/stateTransition/DocumetsBatchTransition/documentTransition/DocumentCreateTransition.spec.js +1 -1
  233. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesById.spec.js +2 -2
  234. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js +6 -6
  235. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/validatePartialCompoundIndices.spec.js +7 -7
  236. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/fetchDocumentsFactory.spec.js +6 -6
  237. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsBatchTransitionStateFactory.spec.js +27 -34
  238. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsUniquenessByIndicesFactory.spec.js +9 -9
  239. package/test/unit/errors/consensus/codes.spec.js +7 -7
  240. package/test/unit/identity/Identity.spec.js +98 -69
  241. package/test/unit/identity/IdentityFactory.spec.js +15 -15
  242. package/test/unit/identity/IdentityPublicKey.spec.js +53 -66
  243. package/test/unit/identity/creditsConverter.spec.js +1 -1
  244. package/test/unit/identity/errors/InvalidIdentityError.spec.js +2 -2
  245. package/test/unit/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition.spec.js +7 -7
  246. package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +8 -8
  247. package/test/unit/identity/stateTransition/IdentityCreateTransition/validation/state/validateIdentityCreateTransitionStateFactory.spec.js +6 -6
  248. package/test/unit/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition.spec.js +4 -4
  249. package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +7 -7
  250. package/test/unit/identity/stateTransition/IdentityTopUpTransition/validation/state/validateIdentityTopUpTransitionStateFactory.spec.js +2 -2
  251. package/test/unit/identity/stateTransition/IdentityUpdateTransition/IdentityUpdateTransition.spec.js +6 -6
  252. package/test/unit/identity/stateTransition/IdentityUpdateTransition/applyIdentityUpdateTransitionFactory.spec.js +6 -6
  253. package/test/unit/identity/stateTransition/assetLockProof/createAssetLockProofInstance.spec.js +5 -5
  254. package/test/unit/identity/stateTransition/assetLockProof/fetchAssetLockPublicKeyHashFactory.spec.js +3 -3
  255. package/test/unit/identity/validation/validateRequiredPurposeAndSecurityLevelFactory.spec.js +5 -5
  256. package/test/unit/stateTransition/StateTransitionFactory.spec.js +8 -8
  257. package/test/unit/stateTransition/createStateTransitionFactory.spec.js +8 -8
  258. package/test/unit/stateTransition/errors/InvalidStateTransitionError.spec.js +3 -3
  259. package/test/unit/stateTransition/validation/validateStateTransitionBasicFactory.spec.js +12 -12
  260. package/test/unit/stateTransition/validation/validateStateTransitionFeeFactory.spec.js +15 -15
  261. package/test/unit/stateTransition/validation/validateStateTransitionIdentitySignatureFactory.spec.js +22 -22
  262. package/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js +6 -6
  263. package/test/unit/stateTransition/validation/validateStateTransitionStateFactory.spec.js +9 -9
  264. package/test/unit/version/validateProtocolVersionFactory.spec.js +7 -7
  265. package/tsconfig.json +18 -0
  266. package/wasm/wasm_dpp.d.ts +2756 -0
  267. package/wasm/wasm_dpp.js +7750 -0
  268. package/wasm/wasm_dpp_bg.js +1 -0
  269. package/wasm/wasm_dpp_bg.wasm +0 -0
  270. package/wasm/wasm_dpp_bg.wasm.d.ts +518 -0
  271. package/webpack.config.js +22 -19
  272. package/CHANGELOG.md +0 -397
@@ -0,0 +1,36 @@
1
+ use wasm_bindgen::prelude::*;
2
+
3
+ #[wasm_bindgen(js_name=DuplicateIndexNameError)]
4
+ pub struct DuplicateIndexNameErrorWasm {
5
+ document_type: String,
6
+ duplicate_index_name: String,
7
+ code: u32,
8
+ }
9
+
10
+ impl DuplicateIndexNameErrorWasm {
11
+ pub fn new(document_type: String, duplicate_index_name: String, code: u32) -> Self {
12
+ DuplicateIndexNameErrorWasm {
13
+ document_type,
14
+ duplicate_index_name,
15
+ code,
16
+ }
17
+ }
18
+ }
19
+
20
+ #[wasm_bindgen(js_class=DuplicateIndexNameError)]
21
+ impl DuplicateIndexNameErrorWasm {
22
+ #[wasm_bindgen(js_name=getDocumentType)]
23
+ pub fn get_document_type(&self) -> String {
24
+ self.document_type.clone()
25
+ }
26
+
27
+ #[wasm_bindgen(js_name=getDuplicateIndexName)]
28
+ pub fn get_duplicate_index_name(&self) -> String {
29
+ self.duplicate_index_name.clone()
30
+ }
31
+
32
+ #[wasm_bindgen(js_name=getCode)]
33
+ pub fn get_code(&self) -> u32 {
34
+ self.code
35
+ }
36
+ }
@@ -0,0 +1,66 @@
1
+ use crate::buffer::Buffer;
2
+ use dpp::prelude::Identifier;
3
+ use wasm_bindgen::prelude::*;
4
+
5
+ #[wasm_bindgen(js_name=IncompatibleDataContractSchemaError)]
6
+ pub struct IncompatibleDataContractSchemaErrorWasm {
7
+ data_contract_id: Identifier,
8
+ operation: String,
9
+ field_path: String,
10
+ old_schema: serde_json::Value,
11
+ new_schema: serde_json::Value,
12
+ code: u32,
13
+ }
14
+
15
+ impl IncompatibleDataContractSchemaErrorWasm {
16
+ pub fn new(
17
+ data_contract_id: Identifier,
18
+ operation: String,
19
+ field_path: String,
20
+ old_schema: serde_json::Value,
21
+ new_schema: serde_json::Value,
22
+ code: u32,
23
+ ) -> Self {
24
+ IncompatibleDataContractSchemaErrorWasm {
25
+ data_contract_id,
26
+ operation,
27
+ field_path,
28
+ old_schema,
29
+ new_schema,
30
+ code,
31
+ }
32
+ }
33
+ }
34
+
35
+ #[wasm_bindgen(js_class=IncompatibleDataContractSchemaError)]
36
+ impl IncompatibleDataContractSchemaErrorWasm {
37
+ #[wasm_bindgen(js_name=getDataContractId)]
38
+ pub fn get_data_contract_id(&self) -> Buffer {
39
+ Buffer::from_bytes(self.data_contract_id.as_bytes())
40
+ }
41
+
42
+ #[wasm_bindgen(js_name=getOperation)]
43
+ pub fn get_operation(&self) -> String {
44
+ self.operation.clone()
45
+ }
46
+
47
+ #[wasm_bindgen(js_name=getFieldPath)]
48
+ pub fn get_field_path(&self) -> String {
49
+ self.field_path.clone()
50
+ }
51
+
52
+ #[wasm_bindgen(js_name=getOldSchema)]
53
+ pub fn get_old_schema(&self) -> Result<JsValue, JsError> {
54
+ serde_wasm_bindgen::to_value(&self.old_schema).map_err(JsError::from)
55
+ }
56
+
57
+ #[wasm_bindgen(js_name=getNewSchema)]
58
+ pub fn get_new_schema(&self) -> Result<JsValue, JsError> {
59
+ serde_wasm_bindgen::to_value(&self.new_schema).map_err(JsError::from)
60
+ }
61
+
62
+ #[wasm_bindgen(js_name=getCode)]
63
+ pub fn get_code(&self) -> u32 {
64
+ self.code
65
+ }
66
+ }
@@ -0,0 +1,43 @@
1
+ use wasm_bindgen::prelude::*;
2
+
3
+ #[wasm_bindgen(js_name=IncompatibleRe2PatternError)]
4
+ pub struct IncompatibleRe2PatternErrorWasm {
5
+ pattern: String,
6
+ path: String,
7
+ message: String,
8
+ code: u32,
9
+ }
10
+
11
+ impl IncompatibleRe2PatternErrorWasm {
12
+ pub fn new(pattern: String, path: String, message: String, code: u32) -> Self {
13
+ IncompatibleRe2PatternErrorWasm {
14
+ pattern,
15
+ path,
16
+ message,
17
+ code,
18
+ }
19
+ }
20
+ }
21
+
22
+ #[wasm_bindgen(js_class=IncompatibleRe2PatternError)]
23
+ impl IncompatibleRe2PatternErrorWasm {
24
+ #[wasm_bindgen(js_name=getPattern)]
25
+ pub fn get_pattern(&self) -> String {
26
+ self.pattern.clone()
27
+ }
28
+
29
+ #[wasm_bindgen(js_name=getPath)]
30
+ pub fn get_path(&self) -> String {
31
+ self.path.clone()
32
+ }
33
+
34
+ #[wasm_bindgen(js_name=getMessage)]
35
+ pub fn get_message(&self) -> String {
36
+ self.message.clone()
37
+ }
38
+
39
+ #[wasm_bindgen(js_name=getCode)]
40
+ pub fn get_code(&self) -> u32 {
41
+ self.code
42
+ }
43
+ }
@@ -0,0 +1,39 @@
1
+ use dpp::util::json_schema::Index;
2
+ use wasm_bindgen::prelude::*;
3
+
4
+ use crate::IndexDefinitionWasm;
5
+
6
+ #[wasm_bindgen(js_name=DuplicateIndexError)]
7
+ pub struct DuplicateIndexErrorWasm {
8
+ document_type: String,
9
+ index_definition: Index,
10
+ code: u32,
11
+ }
12
+
13
+ impl DuplicateIndexErrorWasm {
14
+ pub fn new(document_type: String, index_definition: Index, code: u32) -> Self {
15
+ DuplicateIndexErrorWasm {
16
+ document_type,
17
+ index_definition,
18
+ code,
19
+ }
20
+ }
21
+ }
22
+
23
+ #[wasm_bindgen(js_class=DuplicateIndexError)]
24
+ impl DuplicateIndexErrorWasm {
25
+ #[wasm_bindgen(js_name=getDocumentType)]
26
+ pub fn get_document_type(&self) -> String {
27
+ self.document_type.clone()
28
+ }
29
+
30
+ #[wasm_bindgen(js_name=getIndexDefinition)]
31
+ pub fn get_index_definition(&self) -> JsValue {
32
+ IndexDefinitionWasm::from(self.index_definition.clone()).into()
33
+ }
34
+
35
+ #[wasm_bindgen(js_name=getCode)]
36
+ pub fn get_code(&self) -> u32 {
37
+ self.code
38
+ }
39
+ }
@@ -0,0 +1,39 @@
1
+ use dpp::util::json_schema::Index;
2
+ use wasm_bindgen::prelude::*;
3
+
4
+ use crate::IndexDefinitionWasm;
5
+
6
+ #[wasm_bindgen(js_name=InvalidCompoundIndexError)]
7
+ pub struct InvalidCompoundIndexErrorWasm {
8
+ document_type: String,
9
+ index_definition: Index,
10
+ code: u32,
11
+ }
12
+
13
+ impl InvalidCompoundIndexErrorWasm {
14
+ pub fn new(document_type: String, index_definition: Index, code: u32) -> Self {
15
+ InvalidCompoundIndexErrorWasm {
16
+ document_type,
17
+ index_definition,
18
+ code,
19
+ }
20
+ }
21
+ }
22
+
23
+ #[wasm_bindgen(js_class=InvalidCompoundIndexError)]
24
+ impl InvalidCompoundIndexErrorWasm {
25
+ #[wasm_bindgen(js_name=getDocumentType)]
26
+ pub fn get_document_type(&self) -> String {
27
+ self.document_type.clone()
28
+ }
29
+
30
+ #[wasm_bindgen(js_name=getIndexDefinition)]
31
+ pub fn get_index_definition(&self) -> JsValue {
32
+ IndexDefinitionWasm::from(self.index_definition.clone()).into()
33
+ }
34
+
35
+ #[wasm_bindgen(js_name=getCode)]
36
+ pub fn get_code(&self) -> u32 {
37
+ self.code
38
+ }
39
+ }
@@ -0,0 +1,59 @@
1
+ use dpp::util::json_schema::Index;
2
+ use wasm_bindgen::prelude::*;
3
+
4
+ use crate::IndexDefinitionWasm;
5
+
6
+ #[wasm_bindgen(js_name=InvalidIndexPropertyTypeError)]
7
+ pub struct InvalidIndexPropertyTypeErrorWasm {
8
+ document_type: String,
9
+ index_definition: Index,
10
+ property_name: String,
11
+ property_type: String,
12
+ code: u32,
13
+ }
14
+
15
+ impl InvalidIndexPropertyTypeErrorWasm {
16
+ pub fn new(
17
+ document_type: String,
18
+ index_definition: Index,
19
+ property_name: String,
20
+ property_type: String,
21
+ code: u32,
22
+ ) -> Self {
23
+ InvalidIndexPropertyTypeErrorWasm {
24
+ document_type,
25
+ index_definition,
26
+ property_name,
27
+ property_type,
28
+ code,
29
+ }
30
+ }
31
+ }
32
+
33
+ #[wasm_bindgen(js_class=InvalidIndexPropertyTypeError)]
34
+ impl InvalidIndexPropertyTypeErrorWasm {
35
+ #[wasm_bindgen(js_name=getDocumentType)]
36
+ pub fn get_document_type(&self) -> String {
37
+ self.document_type.clone()
38
+ }
39
+
40
+ #[wasm_bindgen(js_name=getIndexDefinition)]
41
+ pub fn get_index_definition(&self) -> JsValue {
42
+ IndexDefinitionWasm::from(self.index_definition.clone()).into()
43
+ }
44
+
45
+ #[wasm_bindgen(js_name=getPropertyName)]
46
+ pub fn get_property_name(&self) -> String {
47
+ self.property_name.clone()
48
+ }
49
+
50
+ #[wasm_bindgen(js_name=getPropertyType)]
51
+ pub fn get_property_type(&self) -> String {
52
+ self.property_type.clone()
53
+ }
54
+
55
+ #[wasm_bindgen(js_name=getCode)]
56
+ pub fn get_code(&self) -> u32 {
57
+ self.code
58
+ }
59
+ }
@@ -0,0 +1,67 @@
1
+ use dpp::util::json_schema::Index;
2
+ use wasm_bindgen::prelude::*;
3
+
4
+ use crate::IndexDefinitionWasm;
5
+
6
+ #[wasm_bindgen(js_name=InvalidIndexedPropertyConstraintError)]
7
+ pub struct InvalidIndexedPropertyConstraintErrorWasm {
8
+ document_type: String,
9
+ index_definition: Index,
10
+ property_name: String,
11
+ constraint_name: String,
12
+ reason: String,
13
+ code: u32,
14
+ }
15
+
16
+ impl InvalidIndexedPropertyConstraintErrorWasm {
17
+ pub fn new(
18
+ document_type: String,
19
+ index_definition: Index,
20
+ property_name: String,
21
+ constraint_name: String,
22
+ reason: String,
23
+ code: u32,
24
+ ) -> Self {
25
+ InvalidIndexedPropertyConstraintErrorWasm {
26
+ document_type,
27
+ index_definition,
28
+ property_name,
29
+ constraint_name,
30
+ reason,
31
+ code,
32
+ }
33
+ }
34
+ }
35
+
36
+ #[wasm_bindgen(js_class=InvalidIndexedPropertyConstraintError)]
37
+ impl InvalidIndexedPropertyConstraintErrorWasm {
38
+ #[wasm_bindgen(js_name=getDocumentType)]
39
+ pub fn get_document_type(&self) -> String {
40
+ self.document_type.clone()
41
+ }
42
+
43
+ #[wasm_bindgen(js_name=getIndexDefinition)]
44
+ pub fn get_index_definition(&self) -> JsValue {
45
+ IndexDefinitionWasm::from(self.index_definition.clone()).into()
46
+ }
47
+
48
+ #[wasm_bindgen(js_name=getPropertyName)]
49
+ pub fn get_property_name(&self) -> String {
50
+ self.property_name.clone()
51
+ }
52
+
53
+ #[wasm_bindgen(js_name=getConstraintName)]
54
+ pub fn get_constraint_name(&self) -> String {
55
+ self.constraint_name.clone()
56
+ }
57
+
58
+ #[wasm_bindgen(js_name=getReason)]
59
+ pub fn get_reason(&self) -> String {
60
+ self.reason.clone()
61
+ }
62
+
63
+ #[wasm_bindgen(js_name=getCode)]
64
+ pub fn get_code(&self) -> u32 {
65
+ self.code
66
+ }
67
+ }
@@ -0,0 +1,15 @@
1
+ mod duplicate_index_error;
2
+ mod invalid_compound_index_error;
3
+ mod invalid_index_property_type_error;
4
+ mod invalid_indexed_property_constraint_error;
5
+ mod system_property_index_already_present_error;
6
+ mod undefined_index_property_error;
7
+ mod unique_indices_limit_reached_error;
8
+
9
+ pub use duplicate_index_error::*;
10
+ pub use invalid_compound_index_error::*;
11
+ pub use invalid_index_property_type_error::*;
12
+ pub use invalid_indexed_property_constraint_error::*;
13
+ pub use system_property_index_already_present_error::*;
14
+ pub use undefined_index_property_error::*;
15
+ pub use unique_indices_limit_reached_error::*;
@@ -0,0 +1,51 @@
1
+ use dpp::util::json_schema::Index;
2
+ use wasm_bindgen::prelude::*;
3
+
4
+ use crate::IndexDefinitionWasm;
5
+
6
+ #[wasm_bindgen(js_name=SystemPropertyIndexAlreadyPresentError)]
7
+ pub struct SystemPropertyIndexAlreadyPresentErrorWasm {
8
+ document_type: String,
9
+ index_definition: Index,
10
+ property_name: String,
11
+ code: u32,
12
+ }
13
+
14
+ impl SystemPropertyIndexAlreadyPresentErrorWasm {
15
+ pub fn new(
16
+ document_type: String,
17
+ index_definition: Index,
18
+ property_name: String,
19
+ code: u32,
20
+ ) -> Self {
21
+ SystemPropertyIndexAlreadyPresentErrorWasm {
22
+ document_type,
23
+ index_definition,
24
+ property_name,
25
+ code,
26
+ }
27
+ }
28
+ }
29
+
30
+ #[wasm_bindgen(js_class=SystemPropertyIndexAlreadyPresentError)]
31
+ impl SystemPropertyIndexAlreadyPresentErrorWasm {
32
+ #[wasm_bindgen(js_name=getDocumentType)]
33
+ pub fn get_document_type(&self) -> String {
34
+ self.document_type.clone()
35
+ }
36
+
37
+ #[wasm_bindgen(js_name=getIndexDefinition)]
38
+ pub fn get_index_definition(&self) -> JsValue {
39
+ IndexDefinitionWasm::from(self.index_definition.clone()).into()
40
+ }
41
+
42
+ #[wasm_bindgen(js_name=getPropertyName)]
43
+ pub fn get_property_name(&self) -> String {
44
+ self.property_name.clone()
45
+ }
46
+
47
+ #[wasm_bindgen(js_name=getCode)]
48
+ pub fn get_code(&self) -> u32 {
49
+ self.code
50
+ }
51
+ }
@@ -0,0 +1,51 @@
1
+ use dpp::util::json_schema::Index;
2
+ use wasm_bindgen::prelude::*;
3
+
4
+ use crate::IndexDefinitionWasm;
5
+
6
+ #[wasm_bindgen(js_name=UndefinedIndexPropertyError)]
7
+ pub struct UndefinedIndexPropertyErrorWasm {
8
+ document_type: String,
9
+ index_definition: Index,
10
+ property_name: String,
11
+ code: u32,
12
+ }
13
+
14
+ impl UndefinedIndexPropertyErrorWasm {
15
+ pub fn new(
16
+ document_type: String,
17
+ index_definition: Index,
18
+ property_name: String,
19
+ code: u32,
20
+ ) -> Self {
21
+ UndefinedIndexPropertyErrorWasm {
22
+ document_type,
23
+ index_definition,
24
+ property_name,
25
+ code,
26
+ }
27
+ }
28
+ }
29
+
30
+ #[wasm_bindgen(js_class=UndefinedIndexPropertyError)]
31
+ impl UndefinedIndexPropertyErrorWasm {
32
+ #[wasm_bindgen(js_name=getDocumentType)]
33
+ pub fn get_document_type(&self) -> String {
34
+ self.document_type.clone()
35
+ }
36
+
37
+ #[wasm_bindgen(js_name=getIndexDefinition)]
38
+ pub fn get_index_definition(&self) -> JsValue {
39
+ IndexDefinitionWasm::from(self.index_definition.clone()).into()
40
+ }
41
+
42
+ #[wasm_bindgen(js_name=getPropertyName)]
43
+ pub fn get_property_name(&self) -> String {
44
+ self.property_name.clone()
45
+ }
46
+
47
+ #[wasm_bindgen(js_name=getCode)]
48
+ pub fn get_code(&self) -> u32 {
49
+ self.code
50
+ }
51
+ }
@@ -0,0 +1,36 @@
1
+ use wasm_bindgen::prelude::*;
2
+
3
+ #[wasm_bindgen(js_name=UniqueIndicesLimitReachedError)]
4
+ pub struct UniqueIndicesLimitReachedErrorWasm {
5
+ document_type: String,
6
+ index_limit: usize,
7
+ code: u32,
8
+ }
9
+
10
+ impl UniqueIndicesLimitReachedErrorWasm {
11
+ pub fn new(document_type: String, index_limit: usize, code: u32) -> Self {
12
+ UniqueIndicesLimitReachedErrorWasm {
13
+ document_type,
14
+ index_limit,
15
+ code,
16
+ }
17
+ }
18
+ }
19
+
20
+ #[wasm_bindgen(js_class=UniqueIndicesLimitReachedError)]
21
+ impl UniqueIndicesLimitReachedErrorWasm {
22
+ #[wasm_bindgen(js_name=getDocumentType)]
23
+ pub fn get_document_type(&self) -> String {
24
+ self.document_type.clone()
25
+ }
26
+
27
+ #[wasm_bindgen(js_name=getIndexLimit)]
28
+ pub fn get_index_limit(&self) -> usize {
29
+ self.index_limit
30
+ }
31
+
32
+ #[wasm_bindgen(js_name=getCode)]
33
+ pub fn get_code(&self) -> u32 {
34
+ self.code
35
+ }
36
+ }
@@ -0,0 +1,37 @@
1
+ use crate::buffer::Buffer;
2
+ use wasm_bindgen::prelude::*;
3
+
4
+ #[wasm_bindgen(js_name=InvalidDataContractIdError)]
5
+ pub struct InvalidDataContractIdErrorWasm {
6
+ expected_id: Vec<u8>,
7
+ invalid_id: Vec<u8>,
8
+ code: u32,
9
+ }
10
+
11
+ impl InvalidDataContractIdErrorWasm {
12
+ pub fn new(expected_id: Vec<u8>, invalid_id: Vec<u8>, code: u32) -> Self {
13
+ InvalidDataContractIdErrorWasm {
14
+ expected_id,
15
+ invalid_id,
16
+ code,
17
+ }
18
+ }
19
+ }
20
+
21
+ #[wasm_bindgen(js_class=InvalidDataContractIdError)]
22
+ impl InvalidDataContractIdErrorWasm {
23
+ #[wasm_bindgen(js_name=getExpectedId)]
24
+ pub fn get_expected_id(&self) -> Buffer {
25
+ Buffer::from_bytes(&self.expected_id)
26
+ }
27
+
28
+ #[wasm_bindgen(js_name=getInvalidId)]
29
+ pub fn get_invalid_id(&self) -> Buffer {
30
+ Buffer::from_bytes(&self.invalid_id)
31
+ }
32
+
33
+ #[wasm_bindgen(js_name=getCode)]
34
+ pub fn get_code(&self) -> u32 {
35
+ self.code
36
+ }
37
+ }
@@ -0,0 +1,36 @@
1
+ use wasm_bindgen::prelude::*;
2
+
3
+ #[wasm_bindgen(js_name=InvalidDataContractVersionError)]
4
+ pub struct InvalidDataContractVersionErrorWasm {
5
+ expected_version: u32,
6
+ version: u32,
7
+ code: u32,
8
+ }
9
+
10
+ impl InvalidDataContractVersionErrorWasm {
11
+ pub fn new(expected_version: u32, version: u32, code: u32) -> Self {
12
+ InvalidDataContractVersionErrorWasm {
13
+ expected_version,
14
+ version,
15
+ code,
16
+ }
17
+ }
18
+ }
19
+
20
+ #[wasm_bindgen(js_class=InvalidDataContractVersionError)]
21
+ impl InvalidDataContractVersionErrorWasm {
22
+ #[wasm_bindgen(js_name=getExpectedVersion)]
23
+ pub fn get_expected_version(&self) -> u32 {
24
+ self.expected_version
25
+ }
26
+
27
+ #[wasm_bindgen(js_name=getVersion)]
28
+ pub fn get_version(&self) -> u32 {
29
+ self.version
30
+ }
31
+
32
+ #[wasm_bindgen(js_name=getCode)]
33
+ pub fn get_code(&self) -> u32 {
34
+ self.code
35
+ }
36
+ }
@@ -0,0 +1,26 @@
1
+ use wasm_bindgen::prelude::*;
2
+
3
+ #[wasm_bindgen(js_name=InvalidJsonSchemaRefError)]
4
+ pub struct InvalidJsonSchemaRefErrorWasm {
5
+ ref_error: String,
6
+ code: u32,
7
+ }
8
+
9
+ impl InvalidJsonSchemaRefErrorWasm {
10
+ pub fn new(ref_error: String, code: u32) -> Self {
11
+ InvalidJsonSchemaRefErrorWasm { ref_error, code }
12
+ }
13
+ }
14
+
15
+ #[wasm_bindgen(js_class=InvalidJsonSchemaRefError)]
16
+ impl InvalidJsonSchemaRefErrorWasm {
17
+ #[wasm_bindgen(js_name=getRefError)]
18
+ pub fn get_ref_error(&self) -> String {
19
+ self.ref_error.clone()
20
+ }
21
+
22
+ #[wasm_bindgen(js_name=getCode)]
23
+ pub fn get_code(&self) -> u32 {
24
+ self.code
25
+ }
26
+ }
@@ -0,0 +1,25 @@
1
+ mod data_contract_have_new_unique_index_error;
2
+ mod data_contract_immutable_properties_update_error;
3
+ mod data_contract_invalid_index_definition_update_error;
4
+ mod data_contract_max_depth_exceed_error;
5
+ mod data_contract_unique_indices_changed_error;
6
+ mod duplicate_index_name_error;
7
+ mod incompatible_data_contract_schema_error;
8
+ mod incompatible_re2_pattern_error;
9
+ mod index_error;
10
+ mod invalid_data_contract_id_error;
11
+ mod invalid_data_contract_version_error;
12
+ mod invalid_json_schema_ref_error;
13
+
14
+ pub use data_contract_have_new_unique_index_error::*;
15
+ pub use data_contract_immutable_properties_update_error::*;
16
+ pub use data_contract_invalid_index_definition_update_error::*;
17
+ pub use data_contract_max_depth_exceed_error::*;
18
+ pub use data_contract_unique_indices_changed_error::*;
19
+ pub use duplicate_index_name_error::*;
20
+ pub use incompatible_data_contract_schema_error::*;
21
+ pub use incompatible_re2_pattern_error::*;
22
+ pub use index_error::*;
23
+ pub use invalid_data_contract_id_error::*;
24
+ pub use invalid_data_contract_version_error::*;
25
+ pub use invalid_json_schema_ref_error::*;
@@ -0,0 +1,5 @@
1
+ mod protocol_version_parsing_error;
2
+ mod serialized_object_parsing_error;
3
+
4
+ pub use protocol_version_parsing_error::*;
5
+ pub use serialized_object_parsing_error::*;
@@ -0,0 +1,29 @@
1
+ use wasm_bindgen::prelude::*;
2
+
3
+ #[wasm_bindgen(js_name=ProtocolVersionParsingError)]
4
+ pub struct ProtocolVersionParsingErrorWasm {
5
+ parsing_error: JsError,
6
+ code: u32,
7
+ }
8
+
9
+ impl ProtocolVersionParsingErrorWasm {
10
+ pub fn new(parsing_error: JsError, code: u32) -> Self {
11
+ ProtocolVersionParsingErrorWasm {
12
+ parsing_error,
13
+ code,
14
+ }
15
+ }
16
+ }
17
+
18
+ #[wasm_bindgen(js_class=ProtocolVersionParsingError)]
19
+ impl ProtocolVersionParsingErrorWasm {
20
+ #[wasm_bindgen(js_name=getParsingError)]
21
+ pub fn get_parsing_error(&self) -> JsError {
22
+ self.parsing_error.clone()
23
+ }
24
+
25
+ #[wasm_bindgen(js_name=getCode)]
26
+ pub fn get_code(&self) -> u32 {
27
+ self.code
28
+ }
29
+ }