@dashevo/wasm-dpp 0.23.0-dev.15 → 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,274 @@
1
+ use dpp::errors::consensus::basic::JsonSchemaError;
2
+ use serde::Serialize;
3
+ use serde_json::Value;
4
+ use std::ops::Deref;
5
+
6
+ use dpp::jsonschema::error::{TypeKind, ValidationErrorKind};
7
+ use wasm_bindgen::prelude::*;
8
+
9
+ #[wasm_bindgen(js_name=JsonSchemaError)]
10
+ pub struct JsonSchemaErrorWasm {
11
+ keyword: String,
12
+ instance_path: String,
13
+ schema_path: String,
14
+ params: Value,
15
+ property_name: String,
16
+ code: u32,
17
+ }
18
+
19
+ #[derive(Default)]
20
+ struct Params {
21
+ pub keyword: String,
22
+ pub params: serde_json::Map<String, Value>,
23
+ pub property_name: String,
24
+ }
25
+
26
+ pub struct ParamsBuilder {
27
+ kek: Params,
28
+ }
29
+
30
+ impl ParamsBuilder {
31
+ fn new() -> Self {
32
+ Self {
33
+ kek: Params::default(),
34
+ }
35
+ }
36
+
37
+ fn set_keyword(mut self, keyword: impl Into<String>) -> Self {
38
+ self.kek.keyword = keyword.into();
39
+ self
40
+ }
41
+
42
+ fn set_property_name(mut self, property_name: impl Into<String>) -> Self {
43
+ self.kek.property_name = property_name.into();
44
+ self
45
+ }
46
+
47
+ fn add_param(mut self, key: impl Into<String>, value: Value) -> Self {
48
+ self.kek.params.insert(key.into(), value);
49
+ self
50
+ }
51
+
52
+ fn build(self) -> Params {
53
+ self.kek
54
+ }
55
+ }
56
+
57
+ impl From<&ValidationErrorKind> for Params {
58
+ fn from(validation_error_kind: &ValidationErrorKind) -> Self {
59
+ match validation_error_kind {
60
+ ValidationErrorKind::Required { property } => ParamsBuilder::new()
61
+ .set_keyword("required")
62
+ .set_property_name(property.to_string())
63
+ .add_param("missingProperty", property.clone())
64
+ .build(),
65
+ ValidationErrorKind::AdditionalItems { limit } => ParamsBuilder::new()
66
+ .set_keyword("additionalItems")
67
+ .add_param("maxItems", Value::from(*limit))
68
+ .build(),
69
+ ValidationErrorKind::AdditionalProperties { unexpected } => ParamsBuilder::new()
70
+ .set_keyword("additionalProperties")
71
+ .add_param("additionalProperties", unexpected.clone().into())
72
+ .build(),
73
+ ValidationErrorKind::AnyOf => ParamsBuilder::new().set_keyword("anyOf").build(),
74
+ ValidationErrorKind::BacktrackLimitExceeded { .. } => ParamsBuilder::new()
75
+ .set_keyword("backtrackLimitExceeded")
76
+ .build(),
77
+ ValidationErrorKind::Constant { expected_value } => ParamsBuilder::new()
78
+ .set_keyword("const")
79
+ .add_param("allowedValue", expected_value.clone())
80
+ .build(),
81
+ ValidationErrorKind::Contains => ParamsBuilder::new().set_keyword("contains").build(),
82
+ ValidationErrorKind::ContentEncoding { content_encoding } => ParamsBuilder::new()
83
+ .set_keyword("contentEncoding")
84
+ .add_param("contentEncoding", content_encoding.clone().into())
85
+ .build(),
86
+ ValidationErrorKind::ContentMediaType { content_media_type } => ParamsBuilder::new()
87
+ .set_keyword("contentMediaType")
88
+ .add_param("contentMediaType", content_media_type.clone().into())
89
+ .build(),
90
+ ValidationErrorKind::Enum { options } => ParamsBuilder::new()
91
+ .set_keyword("enum")
92
+ .add_param("enum", options.clone())
93
+ .build(),
94
+ ValidationErrorKind::ExclusiveMaximum { limit } => ParamsBuilder::new()
95
+ .set_keyword("exclusiveMaximum")
96
+ .add_param("exclusiveMaximum", limit.clone())
97
+ .build(),
98
+ ValidationErrorKind::ExclusiveMinimum { limit } => ParamsBuilder::new()
99
+ .set_keyword("exclusiveMinimum")
100
+ .add_param("exclusiveMinimum", limit.clone())
101
+ .build(),
102
+ ValidationErrorKind::FalseSchema => {
103
+ ParamsBuilder::new().set_keyword("falseSchema").build()
104
+ }
105
+ ValidationErrorKind::FileNotFound { .. } => {
106
+ ParamsBuilder::new().set_keyword("fileNotFound").build()
107
+ }
108
+ ValidationErrorKind::Format { format } => ParamsBuilder::new()
109
+ .set_keyword("format")
110
+ .add_param("format", format.to_string().into())
111
+ .build(),
112
+ ValidationErrorKind::FromUtf8 { .. } => {
113
+ ParamsBuilder::new().set_keyword("fromUtf8").build()
114
+ }
115
+ ValidationErrorKind::Utf8 { .. } => ParamsBuilder::new().set_keyword("utf8").build(),
116
+ ValidationErrorKind::JSONParse { .. } => {
117
+ ParamsBuilder::new().set_keyword("JSONParse").build()
118
+ }
119
+ ValidationErrorKind::InvalidReference { reference } => ParamsBuilder::new()
120
+ .set_keyword("invalidReference")
121
+ .add_param("invalidReference", reference.clone().into())
122
+ .build(),
123
+ ValidationErrorKind::InvalidURL { .. } => {
124
+ ParamsBuilder::new().set_keyword("invalidURL").build()
125
+ }
126
+ ValidationErrorKind::MaxItems { limit } => ParamsBuilder::new()
127
+ .set_keyword("maxItems")
128
+ .add_param("maxItems", Value::from(*limit))
129
+ .build(),
130
+ ValidationErrorKind::Maximum { limit } => ParamsBuilder::new()
131
+ .set_keyword("maximum")
132
+ .add_param("maximum", limit.clone())
133
+ .build(),
134
+ ValidationErrorKind::MaxLength { limit } => ParamsBuilder::new()
135
+ .set_keyword("maxLength")
136
+ .add_param("maxLength", Value::from(*limit))
137
+ .build(),
138
+ ValidationErrorKind::MaxProperties { limit } => ParamsBuilder::new()
139
+ .set_keyword("maxProperties")
140
+ .add_param("maxProperties", Value::from(*limit))
141
+ .build(),
142
+ ValidationErrorKind::MinItems { limit } => ParamsBuilder::new()
143
+ .set_keyword("minItems")
144
+ .add_param("maximum", Value::from(*limit))
145
+ .build(),
146
+ ValidationErrorKind::Minimum { limit } => ParamsBuilder::new()
147
+ .set_keyword("minimum")
148
+ .add_param("minimum", limit.clone())
149
+ .build(),
150
+ ValidationErrorKind::MinLength { limit } => ParamsBuilder::new()
151
+ .set_keyword("minLength")
152
+ .add_param("minLength", Value::from(*limit))
153
+ .build(),
154
+ ValidationErrorKind::MinProperties { limit } => ParamsBuilder::new()
155
+ .set_keyword("minProperties")
156
+ .add_param("minProperties", Value::from(*limit))
157
+ .build(),
158
+ ValidationErrorKind::MultipleOf { multiple_of } => ParamsBuilder::new()
159
+ .set_keyword("multipleOf")
160
+ .add_param("multipleOf", Value::from(*multiple_of))
161
+ .build(),
162
+ ValidationErrorKind::Not { schema } => ParamsBuilder::new()
163
+ .set_keyword("not")
164
+ .add_param("not", schema.clone())
165
+ .build(),
166
+ ValidationErrorKind::OneOfMultipleValid => ParamsBuilder::new()
167
+ .set_keyword("oneOfMultipleValid")
168
+ .build(),
169
+ ValidationErrorKind::OneOfNotValid => {
170
+ ParamsBuilder::new().set_keyword("oneOfNotValid").build()
171
+ }
172
+ ValidationErrorKind::Pattern { pattern } => ParamsBuilder::new()
173
+ .set_keyword("pattern")
174
+ .add_param("pattern", pattern.clone().into())
175
+ .build(),
176
+ ValidationErrorKind::PropertyNames { error } => {
177
+ let Params {
178
+ keyword,
179
+ params,
180
+ property_name,
181
+ } = Params::from(&error.kind);
182
+
183
+ ParamsBuilder::new()
184
+ .set_keyword("propertyNames")
185
+ .add_param("instancePath", error.instance_path.to_string().into())
186
+ .add_param("schemaPath", error.schema_path.to_string().into())
187
+ .add_param("instance", error.instance.deref().clone())
188
+ .add_param("params", params.into())
189
+ .add_param("keyword", keyword.into())
190
+ .add_param("propertyName", property_name.into())
191
+ .build()
192
+ }
193
+ ValidationErrorKind::Schema => ParamsBuilder::new().set_keyword("schema").build(),
194
+ ValidationErrorKind::Type { kind } => {
195
+ let val: Value = match kind {
196
+ TypeKind::Single(single) => single.to_string().into(),
197
+ TypeKind::Multiple(multiple) => multiple
198
+ .into_iter()
199
+ .map(|single| Value::from(single.to_string()))
200
+ .collect::<Vec<Value>>()
201
+ .into(),
202
+ };
203
+ ParamsBuilder::new()
204
+ .set_keyword("type")
205
+ .add_param("type", val)
206
+ .build()
207
+ }
208
+ ValidationErrorKind::UniqueItems => {
209
+ ParamsBuilder::new().set_keyword("uniqueItems").build()
210
+ }
211
+ ValidationErrorKind::UnknownReferenceScheme { scheme } => ParamsBuilder::new()
212
+ .set_keyword("unknownReferenceScheme")
213
+ .add_param("unknownReferenceScheme", scheme.clone().into())
214
+ .build(),
215
+ ValidationErrorKind::Resolver { url, error: _ } => ParamsBuilder::new()
216
+ .set_keyword("resolver")
217
+ .add_param("url", url.to_string().into())
218
+ .build(),
219
+ }
220
+ }
221
+ }
222
+
223
+ impl JsonSchemaErrorWasm {
224
+ pub fn new(e: &JsonSchemaError, code: u32) -> Self {
225
+ let Params {
226
+ keyword,
227
+ params,
228
+ property_name,
229
+ } = Params::from(e.kind());
230
+
231
+ Self {
232
+ keyword,
233
+ instance_path: e.instance_path().to_string(),
234
+ schema_path: e.schema_path().to_string(),
235
+ params: Value::Object(params),
236
+ property_name,
237
+ code,
238
+ }
239
+ }
240
+ }
241
+
242
+ #[wasm_bindgen(js_class=JsonSchemaError)]
243
+ impl JsonSchemaErrorWasm {
244
+ #[wasm_bindgen(js_name=getKeyword)]
245
+ pub fn keyword(&self) -> String {
246
+ self.keyword.clone()
247
+ }
248
+
249
+ #[wasm_bindgen(js_name=getInstancePath)]
250
+ pub fn instance_path(&self) -> String {
251
+ self.instance_path.clone()
252
+ }
253
+
254
+ #[wasm_bindgen(js_name=getSchemaPath)]
255
+ pub fn schema_path(&self) -> String {
256
+ self.schema_path.clone()
257
+ }
258
+
259
+ #[wasm_bindgen(js_name=getPropertyName)]
260
+ pub fn property_name(&self) -> String {
261
+ self.property_name.clone()
262
+ }
263
+
264
+ #[wasm_bindgen(js_name=getParams)]
265
+ pub fn params(&self) -> Result<JsValue, JsError> {
266
+ let ser = serde_wasm_bindgen::Serializer::json_compatible();
267
+ self.params.serialize(&ser).map_err(|e| e.into())
268
+ }
269
+
270
+ #[wasm_bindgen(js_name=getCode)]
271
+ pub fn get_code(&self) -> u32 {
272
+ self.code
273
+ }
274
+ }
@@ -0,0 +1,30 @@
1
+ pub mod data_contract;
2
+ pub mod decode;
3
+ pub mod document;
4
+ pub mod identity;
5
+ mod incompatible_protocol_version_error;
6
+ mod invalid_identifier_error;
7
+ mod invalid_signature_public_key_security_level_error;
8
+ mod invalid_state_transition_signature_error;
9
+ mod json_schema_compilation_error;
10
+ mod json_schema_error;
11
+ mod public_key_is_disabled_error;
12
+ mod public_key_security_level_not_met_error;
13
+ pub mod state_transition;
14
+ #[cfg(test)]
15
+ mod test_consensus_error;
16
+ mod unsupported_protocol_version_error;
17
+ mod wrong_public_key_purpose_error;
18
+
19
+ pub use incompatible_protocol_version_error::*;
20
+ pub use invalid_identifier_error::*;
21
+ pub use invalid_signature_public_key_security_level_error::*;
22
+ pub use invalid_state_transition_signature_error::*;
23
+ pub use json_schema_compilation_error::*;
24
+ pub use json_schema_error::*;
25
+ pub use public_key_is_disabled_error::*;
26
+ pub use public_key_security_level_not_met_error::*;
27
+ #[cfg(test)]
28
+ pub use test_consensus_error::*;
29
+ pub use unsupported_protocol_version_error::*;
30
+ pub use wrong_public_key_purpose_error::*;
@@ -0,0 +1,30 @@
1
+ use dpp::identity::KeyID;
2
+ use wasm_bindgen::prelude::*;
3
+
4
+ #[wasm_bindgen(js_name=PublicKeyIsDisabledError)]
5
+ pub struct PublicKeyIsDisabledErrorWasm {
6
+ public_key_id: KeyID,
7
+ code: u32,
8
+ }
9
+
10
+ impl PublicKeyIsDisabledErrorWasm {
11
+ pub fn new(public_key_id: KeyID, code: u32) -> Self {
12
+ PublicKeyIsDisabledErrorWasm {
13
+ public_key_id,
14
+ code,
15
+ }
16
+ }
17
+ }
18
+
19
+ #[wasm_bindgen(js_class=PublicKeyIsDisabledError)]
20
+ impl PublicKeyIsDisabledErrorWasm {
21
+ #[wasm_bindgen(js_name=getPublicKeyId)]
22
+ pub fn get_public_key_id(&self) -> u64 {
23
+ self.public_key_id
24
+ }
25
+
26
+ #[wasm_bindgen(js_name=getCode)]
27
+ pub fn get_code(&self) -> u32 {
28
+ self.code
29
+ }
30
+ }
@@ -0,0 +1,41 @@
1
+ use dpp::identity::SecurityLevel;
2
+ use wasm_bindgen::prelude::*;
3
+
4
+ #[wasm_bindgen(js_name=PublicKeySecurityLevelNotMetError)]
5
+ pub struct PublicKeySecurityLevelNotMetErrorWasm {
6
+ public_key_security_level: SecurityLevel,
7
+ required_security_level: SecurityLevel,
8
+ code: u32,
9
+ }
10
+
11
+ impl PublicKeySecurityLevelNotMetErrorWasm {
12
+ pub fn new(
13
+ public_key_security_level: SecurityLevel,
14
+ required_security_level: SecurityLevel,
15
+ code: u32,
16
+ ) -> Self {
17
+ PublicKeySecurityLevelNotMetErrorWasm {
18
+ public_key_security_level,
19
+ required_security_level,
20
+ code,
21
+ }
22
+ }
23
+ }
24
+
25
+ #[wasm_bindgen(js_class=PublicKeySecurityLevelNotMetError)]
26
+ impl PublicKeySecurityLevelNotMetErrorWasm {
27
+ #[wasm_bindgen(js_name=getPublicKeySecurityLevel)]
28
+ pub fn get_public_key_security_level(&self) -> u8 {
29
+ self.public_key_security_level as u8
30
+ }
31
+
32
+ #[wasm_bindgen(js_name=getRequiredSecurityLevel)]
33
+ pub fn get_required_security_level(&self) -> u8 {
34
+ self.required_security_level as u8
35
+ }
36
+
37
+ #[wasm_bindgen(js_name=getCode)]
38
+ pub fn get_code(&self) -> u32 {
39
+ self.code
40
+ }
41
+ }
@@ -0,0 +1,29 @@
1
+ use wasm_bindgen::prelude::*;
2
+
3
+ #[wasm_bindgen(js_name=InvalidStateTransitionTypeError)]
4
+ pub struct InvalidStateTransitionTypeErrorWasm {
5
+ transition_type: u8,
6
+ code: u32,
7
+ }
8
+
9
+ impl InvalidStateTransitionTypeErrorWasm {
10
+ pub fn new(transition_type: u8, code: u32) -> Self {
11
+ InvalidStateTransitionTypeErrorWasm {
12
+ transition_type,
13
+ code,
14
+ }
15
+ }
16
+ }
17
+
18
+ #[wasm_bindgen(js_class=InvalidStateTransitionTypeError)]
19
+ impl InvalidStateTransitionTypeErrorWasm {
20
+ #[wasm_bindgen(js_name=getTransitionType)]
21
+ pub fn get_transition_type(&self) -> u8 {
22
+ self.transition_type
23
+ }
24
+
25
+ #[wasm_bindgen(js_name=getCode)]
26
+ pub fn get_code(&self) -> u32 {
27
+ self.code
28
+ }
29
+ }
@@ -0,0 +1,20 @@
1
+ use wasm_bindgen::prelude::*;
2
+
3
+ #[wasm_bindgen(js_name=MissingStateTransitionTypeError)]
4
+ pub struct MissingStateTransitionTypeErrorWasm {
5
+ code: u32,
6
+ }
7
+
8
+ impl MissingStateTransitionTypeErrorWasm {
9
+ pub fn new(code: u32) -> Self {
10
+ MissingStateTransitionTypeErrorWasm { code }
11
+ }
12
+ }
13
+
14
+ #[wasm_bindgen(js_class=MissingStateTransitionTypeError)]
15
+ impl MissingStateTransitionTypeErrorWasm {
16
+ #[wasm_bindgen(js_name=getCode)]
17
+ pub fn get_code(&self) -> u32 {
18
+ self.code
19
+ }
20
+ }
@@ -0,0 +1,7 @@
1
+ mod invalid_state_transition_type_error;
2
+ mod missing_state_transition_type_error;
3
+ mod state_transition_max_size_exceeded_error;
4
+
5
+ pub use invalid_state_transition_type_error::*;
6
+ pub use missing_state_transition_type_error::*;
7
+ pub use state_transition_max_size_exceeded_error::*;
@@ -0,0 +1,36 @@
1
+ use wasm_bindgen::prelude::*;
2
+
3
+ #[wasm_bindgen(js_name=StateTransitionMaxSizeExceededError)]
4
+ pub struct StateTransitionMaxSizeExceededErrorWasm {
5
+ actual_size_kbytes: usize,
6
+ max_size_kbytes: usize,
7
+ code: u32,
8
+ }
9
+
10
+ impl StateTransitionMaxSizeExceededErrorWasm {
11
+ pub fn new(actual_size_kbytes: usize, max_size_kbytes: usize, code: u32) -> Self {
12
+ StateTransitionMaxSizeExceededErrorWasm {
13
+ actual_size_kbytes,
14
+ max_size_kbytes,
15
+ code,
16
+ }
17
+ }
18
+ }
19
+
20
+ #[wasm_bindgen(js_class=StateTransitionMaxSizeExceededError)]
21
+ impl StateTransitionMaxSizeExceededErrorWasm {
22
+ #[wasm_bindgen(js_name=getActualSizeKBytes)]
23
+ pub fn get_actual_size_kbytes(&self) -> usize {
24
+ self.actual_size_kbytes
25
+ }
26
+
27
+ #[wasm_bindgen(js_name=getMaxSizeKBytes)]
28
+ pub fn get_max_size_kbytes(&self) -> usize {
29
+ self.max_size_kbytes
30
+ }
31
+
32
+ #[wasm_bindgen(js_name=getCode)]
33
+ pub fn get_code(&self) -> u32 {
34
+ self.code
35
+ }
36
+ }
@@ -0,0 +1,21 @@
1
+ // use dpp::consensus::{basic::TestConsensusError, ConsensusError};
2
+ // use wasm_bindgen::prelude::*;
3
+
4
+ // #[wasm_bindgen(js_name=TestConsensusError)]
5
+ // pub struct TestConsensusErrorWasm {
6
+ // inner: TestConsensusError,
7
+ // }
8
+
9
+ // impl From<&TestConsensusError> for TestConsensusErrorWasm {
10
+ // fn from(e: &TestConsensusError) -> Self {
11
+ // Self { inner: e.clone() }
12
+ // }
13
+ // }
14
+
15
+ // #[wasm_bindgen(js_class=TestConsensusError)]
16
+ // impl TestConsensusErrorWasm {
17
+ // #[wasm_bindgen(js_name=getMessage)]
18
+ // pub fn get_message(&self) -> String {
19
+ // self.inner.message.clone()
20
+ // }
21
+ // }
@@ -0,0 +1,32 @@
1
+ use dpp::consensus::basic::UnsupportedProtocolVersionError;
2
+ use dpp::consensus::ConsensusError;
3
+ use wasm_bindgen::prelude::*;
4
+
5
+ #[wasm_bindgen(js_name=UnsupportedProtocolVersionError)]
6
+ pub struct UnsupportedProtocolVersionErrorWasm {
7
+ inner: UnsupportedProtocolVersionError,
8
+ }
9
+
10
+ impl From<&UnsupportedProtocolVersionError> for UnsupportedProtocolVersionErrorWasm {
11
+ fn from(e: &UnsupportedProtocolVersionError) -> Self {
12
+ Self { inner: e.clone() }
13
+ }
14
+ }
15
+
16
+ #[wasm_bindgen(js_class=UnsupportedProtocolVersionError)]
17
+ impl UnsupportedProtocolVersionErrorWasm {
18
+ #[wasm_bindgen(js_name=getParsedProtocolVersion)]
19
+ pub fn parsed_protocol_version(&self) -> u32 {
20
+ self.inner.parsed_protocol_version()
21
+ }
22
+
23
+ #[wasm_bindgen(js_name=getLatestVersion)]
24
+ pub fn latest_version(&self) -> u32 {
25
+ self.inner.latest_version()
26
+ }
27
+
28
+ #[wasm_bindgen(js_name=getCode)]
29
+ pub fn get_code(&self) -> u32 {
30
+ ConsensusError::from(self.inner.clone()).code()
31
+ }
32
+ }
@@ -0,0 +1,37 @@
1
+ use dpp::identity::Purpose;
2
+ use wasm_bindgen::prelude::*;
3
+
4
+ #[wasm_bindgen(js_name=WrongPublicKeyPurposeError)]
5
+ pub struct WrongPublicKeyPurposeErrorWasm {
6
+ public_key_purpose: Purpose,
7
+ key_purpose_requirement: Purpose,
8
+ code: u32,
9
+ }
10
+
11
+ impl WrongPublicKeyPurposeErrorWasm {
12
+ pub fn new(public_key_purpose: Purpose, key_purpose_requirement: Purpose, code: u32) -> Self {
13
+ WrongPublicKeyPurposeErrorWasm {
14
+ public_key_purpose,
15
+ key_purpose_requirement,
16
+ code,
17
+ }
18
+ }
19
+ }
20
+
21
+ #[wasm_bindgen(js_class=WrongPublicKeyPurposeError)]
22
+ impl WrongPublicKeyPurposeErrorWasm {
23
+ #[wasm_bindgen(js_name=getPublicKeyPurpose)]
24
+ pub fn get_public_key_purpose(&self) -> u8 {
25
+ self.public_key_purpose as u8
26
+ }
27
+
28
+ #[wasm_bindgen(js_name=getKeyPurposeRequirement)]
29
+ pub fn get_key_purpose_requirement(&self) -> u8 {
30
+ self.key_purpose_requirement as u8
31
+ }
32
+
33
+ #[wasm_bindgen(js_name=getCode)]
34
+ pub fn get_code(&self) -> u32 {
35
+ self.code
36
+ }
37
+ }
@@ -0,0 +1,32 @@
1
+ use wasm_bindgen::prelude::*;
2
+
3
+ #[wasm_bindgen(js_name=BalanceIsNotEnoughError)]
4
+ pub struct BalanceIsNotEnoughErrorWasm {
5
+ balance: u64,
6
+ fee: i64,
7
+ code: u32,
8
+ }
9
+
10
+ impl BalanceIsNotEnoughErrorWasm {
11
+ pub fn new(balance: u64, fee: i64, code: u32) -> Self {
12
+ BalanceIsNotEnoughErrorWasm { balance, fee, code }
13
+ }
14
+ }
15
+
16
+ #[wasm_bindgen(js_class=BalanceIsNotEnoughError)]
17
+ impl BalanceIsNotEnoughErrorWasm {
18
+ #[wasm_bindgen(js_name=getBalance)]
19
+ pub fn get_balance(&self) -> u64 {
20
+ self.balance
21
+ }
22
+
23
+ #[wasm_bindgen(js_name=getFee)]
24
+ pub fn get_fee(&self) -> i64 {
25
+ self.fee
26
+ }
27
+
28
+ #[wasm_bindgen(js_name=getCode)]
29
+ pub fn get_code(&self) -> u32 {
30
+ self.code
31
+ }
32
+ }
@@ -0,0 +1,3 @@
1
+ mod balance_is_not_enough_error;
2
+
3
+ pub use balance_is_not_enough_error::*;
@@ -0,0 +1,4 @@
1
+ pub mod basic;
2
+ pub mod fee;
3
+ pub mod signature;
4
+ pub mod state;
@@ -0,0 +1,29 @@
1
+ use dpp::prelude::Identifier;
2
+ use wasm_bindgen::prelude::*;
3
+
4
+ use crate::buffer::Buffer;
5
+
6
+ #[wasm_bindgen(js_name=IdentityNotFoundError)]
7
+ pub struct IdentityNotFoundErrorWasm {
8
+ identity_id: Identifier,
9
+ code: u32,
10
+ }
11
+
12
+ impl IdentityNotFoundErrorWasm {
13
+ pub fn new(identity_id: Identifier, code: u32) -> Self {
14
+ IdentityNotFoundErrorWasm { identity_id, code }
15
+ }
16
+ }
17
+
18
+ #[wasm_bindgen(js_class=IdentityNotFoundError)]
19
+ impl IdentityNotFoundErrorWasm {
20
+ #[wasm_bindgen(js_name=getIdentityId)]
21
+ pub fn get_identity_id(&self) -> Buffer {
22
+ Buffer::from_bytes(self.identity_id.as_bytes())
23
+ }
24
+
25
+ #[wasm_bindgen(js_name=getCode)]
26
+ pub fn get_code(&self) -> u32 {
27
+ self.code
28
+ }
29
+ }
@@ -0,0 +1,3 @@
1
+ mod identity_not_found_error;
2
+
3
+ pub use identity_not_found_error::*;
@@ -0,0 +1,31 @@
1
+ use crate::buffer::Buffer;
2
+ use dpp::identifier::Identifier;
3
+ use wasm_bindgen::prelude::*;
4
+
5
+ #[wasm_bindgen(js_name=DataContractAlreadyPresentError)]
6
+ pub struct DataContractAlreadyPresentErrorWasm {
7
+ data_contract_id: Identifier,
8
+ code: u32,
9
+ }
10
+
11
+ #[wasm_bindgen(js_class=DataContractAlreadyPresentError)]
12
+ impl DataContractAlreadyPresentErrorWasm {
13
+ #[wasm_bindgen(js_name=getDataContractId)]
14
+ pub fn data_contract_id(&self) -> Buffer {
15
+ Buffer::from_bytes(self.data_contract_id.as_bytes())
16
+ }
17
+
18
+ #[wasm_bindgen(js_name=getCode)]
19
+ pub fn get_code(&self) -> u32 {
20
+ self.code
21
+ }
22
+ }
23
+
24
+ impl DataContractAlreadyPresentErrorWasm {
25
+ pub fn new(data_contract_id: Identifier, code: u32) -> Self {
26
+ Self {
27
+ data_contract_id,
28
+ code,
29
+ }
30
+ }
31
+ }