@dashevo/wasm-dpp 0.25.0-dev.9 → 0.25.1
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.
- package/Cargo.toml +33 -7
- package/README.md +11 -6
- package/dist/errors/patchConsensusErrors.js +94 -115
- package/dist/wasm/wasm_dpp.d.ts +2213 -4113
- package/dist/wasm/wasm_dpp.js +17748 -2639
- package/dist/wasm/wasm_dpp_bg.js +1 -1
- package/lib/dpp.ts +1 -1
- package/lib/errors/patchConsensusErrors.ts +94 -93
- package/lib/test/bootstrap.js +5 -0
- package/lib/test/fixtures/getDataContractFixture.js +11 -5
- package/lib/test/fixtures/getDocumentsFixture.js +9 -5
- package/lib/test/fixtures/getIdentityCreateTransitionFixture.js +14 -20
- package/lib/test/fixtures/getIdentityCreditTransferTransitionFixture.js +14 -0
- package/lib/test/fixtures/getIdentityFixture.js +21 -32
- package/lib/test/fixtures/getIdentityTopUpTransitionFixture.js +7 -10
- package/lib/test/fixtures/getIdentityUpdateTransitionFixture.js +13 -28
- package/lib/test/fixtures/getPrivateAndPublicKeyForSigningFixture.js +7 -9
- package/lib/test/fixtures/js/generateRandomIdentifier.js +1 -0
- package/lib/test/fixtures/js/getChainAssetLockProofFixture.js +1 -0
- package/lib/test/fixtures/js/getDataContractFixture.js +1 -0
- package/lib/test/fixtures/js/getDocumentTransitionsFixture.js +1 -0
- package/lib/test/fixtures/js/getDocumentsFixture.js +1 -0
- package/lib/test/fixtures/js/getInstantAssetLockProofFixture.js +1 -0
- package/lib/test/mocks/createStateRepositoryMock.js +1 -0
- package/lib/wasm/wasm_dpp.d.ts +2213 -4113
- package/package.json +6 -6
- package/scripts/build-wasm.sh +30 -29
- package/src/bls_adapter.rs +1 -1
- package/src/dash_platform_protocol.rs +173 -196
- package/src/data_contract/data_contract.rs +309 -199
- package/src/data_contract/data_contract_facade.rs +28 -47
- package/src/data_contract/errors/mod.rs +1 -0
- package/src/data_contract/mod.rs +2 -2
- package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +92 -79
- package/src/data_contract/state_transition/data_contract_update_transition/mod.rs +84 -77
- package/src/data_contract_factory/data_contract_factory.rs +43 -83
- package/src/document/document_facade.rs +81 -76
- package/src/document/errors/document_already_exists_error.rs +6 -6
- package/src/document/errors/document_no_revision_error.rs +1 -0
- package/src/document/errors/document_not_provided_error.rs +6 -6
- package/src/document/errors/invalid_document_action_error.rs +11 -7
- package/src/document/errors/invalid_initial_revision_error.rs +4 -4
- package/src/document/errors/mismatch_owners_ids_error.rs +5 -8
- package/src/document/errors/mod.rs +5 -0
- package/src/document/errors/revision_absent_error.rs +6 -6
- package/src/document/errors/trying_to_delete_immutable_document_error.rs +19 -0
- package/src/document/errors/trying_to_replace_immutable_document_error.rs +4 -4
- package/src/document/extended_document.rs +76 -76
- package/src/document/factory.rs +140 -119
- package/src/document/generate_document_id.rs +2 -2
- package/src/document/mod.rs +164 -150
- package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +50 -48
- package/src/document/state_transition/document_batch_transition/document_transition/document_delete_transition.rs +14 -14
- package/src/document/state_transition/document_batch_transition/document_transition/document_replace_transition.rs +50 -38
- package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +165 -153
- package/src/document/state_transition/document_batch_transition/mod.rs +232 -222
- package/src/errors/consensus/basic/data_contract/data_contract_have_new_unique_index_error.rs +2 -9
- package/src/errors/consensus/basic/data_contract/data_contract_immutable_properties_update_error.rs +1 -9
- package/src/errors/consensus/basic/data_contract/data_contract_invalid_index_definition_update_error.rs +2 -10
- package/src/errors/consensus/basic/data_contract/data_contract_max_depth_exceed_error.rs +1 -9
- package/src/errors/consensus/basic/data_contract/data_contract_unique_indices_changed_error.rs +1 -9
- package/src/errors/consensus/basic/data_contract/duplicate_index_name_error.rs +1 -9
- package/src/errors/consensus/basic/data_contract/incompatible_data_contract_schema_error.rs +1 -9
- package/src/errors/consensus/basic/data_contract/incompatible_re2_pattern_error.rs +1 -9
- package/src/errors/consensus/basic/data_contract/index_error/duplicate_index_error.rs +1 -9
- package/src/errors/consensus/basic/data_contract/index_error/invalid_compound_index_error.rs +1 -9
- package/src/errors/consensus/basic/data_contract/index_error/invalid_index_property_type_error.rs +1 -9
- package/src/errors/consensus/basic/data_contract/index_error/invalid_indexed_property_constraint_error.rs +1 -9
- package/src/errors/consensus/basic/data_contract/index_error/system_property_index_already_present_error.rs +1 -9
- package/src/errors/consensus/basic/data_contract/index_error/undefined_index_property_error.rs +1 -9
- package/src/errors/consensus/basic/data_contract/index_error/unique_indices_limit_reached_error.rs +1 -9
- package/src/errors/consensus/basic/data_contract/invalid_data_contract_id_error.rs +1 -9
- package/src/errors/consensus/basic/data_contract/invalid_data_contract_version_error.rs +1 -9
- package/src/errors/consensus/basic/data_contract/invalid_json_schema_ref_error.rs +1 -9
- package/src/errors/consensus/basic/decode/protocol_version_parsing_error.rs +10 -7
- package/src/errors/consensus/basic/decode/serialized_object_parsing_error.rs +1 -9
- package/src/errors/consensus/basic/document/data_contract_not_present_error.rs +1 -9
- package/src/errors/consensus/basic/document/duplicate_document_transitions_with_ids_error.rs +1 -9
- package/src/errors/consensus/basic/document/duplicate_document_transitions_with_indices_error.rs +1 -9
- package/src/errors/consensus/basic/document/inconsistent_compound_index_data_error.rs +1 -9
- package/src/errors/consensus/basic/document/invalid_document_transition_action_error.rs +1 -9
- package/src/errors/consensus/basic/document/invalid_document_transition_id_error.rs +1 -9
- package/src/errors/consensus/basic/document/invalid_document_type_error.rs +1 -9
- package/src/errors/consensus/basic/document/missing_data_contract_id_error.rs +1 -9
- package/src/errors/consensus/basic/document/missing_document_transition_action_error.rs +1 -9
- package/src/errors/consensus/basic/document/missing_document_transition_type_error.rs +1 -9
- package/src/errors/consensus/basic/document/missing_document_type_error.rs +1 -9
- package/src/errors/consensus/basic/identity/duplicated_identity_public_key_error.rs +1 -9
- package/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_error.rs +1 -9
- package/src/errors/consensus/basic/identity/identity_asset_lock_proof_locked_transaction_mismatch_error.rs +3 -11
- package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_is_not_found_error.rs +1 -9
- package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs +2 -10
- package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs +1 -9
- package/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +1 -9
- package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_core_chain_height_error.rs +1 -9
- package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_transaction_height_error.rs +1 -9
- package/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size_error.rs +1 -9
- package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_proof_chain_lock_validation_error.rs +1 -1
- package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs +1 -9
- package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs +1 -9
- package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_core_fee_error.rs +1 -9
- package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_output_script_error.rs +1 -9
- package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_pooling_error.rs +1 -9
- package/src/errors/consensus/basic/identity/invalid_identity_key_signature_error.rs +1 -9
- package/src/errors/consensus/basic/identity/invalid_identity_public_key_data_error.rs +1 -9
- package/src/errors/consensus/basic/identity/invalid_identity_public_key_security_level_error.rs +1 -9
- package/src/errors/consensus/basic/identity/invalid_identity_public_key_type_error.rs +1 -9
- package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs +1 -9
- package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_signature_error.rs +1 -9
- package/src/errors/consensus/basic/identity/missing_master_public_key_error.rs +1 -9
- package/src/errors/consensus/basic/identity/missing_public_key_error.rs +1 -9
- package/src/errors/consensus/basic/incompatible_protocol_version_error.rs +1 -9
- package/src/errors/consensus/basic/invalid_identifier_error.rs +1 -9
- package/src/errors/consensus/basic/invalid_signature_public_key_security_level_error.rs +7 -15
- package/src/errors/consensus/basic/invalid_state_transition_signature_error.rs +1 -9
- package/src/errors/consensus/basic/json_schema_compilation_error.rs +1 -9
- package/src/errors/consensus/basic/json_schema_error.rs +1 -9
- package/src/errors/consensus/basic/mod.rs +2 -0
- package/src/errors/consensus/basic/public_key_is_disabled_error.rs +1 -9
- package/src/errors/consensus/basic/public_key_security_level_not_met_error.rs +2 -11
- package/src/errors/consensus/basic/state_transition/invalid_state_transition_type_error.rs +1 -9
- package/src/errors/consensus/basic/state_transition/missing_state_transition_type_error.rs +1 -9
- package/src/errors/consensus/basic/state_transition/state_transition_max_size_exceeded_error.rs +1 -9
- package/src/errors/consensus/basic/unsupported_protocol_version_error.rs +1 -9
- package/src/errors/consensus/basic/unsupported_version_error.rs +44 -0
- package/src/errors/consensus/basic/wrong_public_key_purpose_error.rs +1 -9
- package/src/errors/consensus/consensus_error.rs +44 -21
- package/src/errors/consensus/deserialize.rs +2 -1
- package/src/errors/consensus/fee/balance_is_not_enough_error.rs +5 -2
- package/src/errors/consensus/signature/basic_bls_error.rs +1 -9
- package/src/errors/consensus/signature/basic_ecdsa_error.rs +1 -9
- package/src/errors/consensus/signature/identity_not_found_error.rs +4 -2
- package/src/errors/consensus/signature/signature_should_not_be_present_error.rs +1 -9
- package/src/errors/consensus/state/data_contract/data_contract_already_present_error.rs +3 -2
- package/src/errors/consensus/state/data_contract/data_contract_config_update_error.rs +42 -0
- package/src/errors/consensus/state/data_contract/data_contract_is_readonly_error.rs +44 -0
- package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_condition_error.rs +2 -1
- package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_execution_error.rs +2 -1
- package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_invalid_result_error.rs +2 -1
- package/src/errors/consensus/state/data_contract/mod.rs +7 -1
- package/src/errors/consensus/state/document/document_already_present_error.rs +1 -9
- package/src/errors/consensus/state/document/document_not_found_error.rs +1 -9
- package/src/errors/consensus/state/document/document_owner_id_mismatch_error.rs +1 -9
- package/src/errors/consensus/state/document/document_timestamp_window_violation_error.rs +1 -9
- package/src/errors/consensus/state/document/document_timestamps_are_equal_error.rs +34 -0
- package/src/errors/consensus/state/document/document_timestamps_mismatch_error.rs +1 -9
- package/src/errors/consensus/state/document/duplicate_unique_index_error.rs +1 -9
- package/src/errors/consensus/state/document/invalid_document_revision_error.rs +9 -12
- package/src/errors/consensus/state/document/mod.rs +2 -0
- package/src/errors/consensus/state/identity/duplicated_identity_public_key_id_state_error.rs +1 -9
- package/src/errors/consensus/state/identity/duplicated_identity_public_key_state_error.rs +1 -9
- package/src/errors/consensus/state/identity/identity_already_exists_error.rs +1 -9
- package/src/errors/consensus/state/identity/identity_public_key_disabled_at_window_violation_error.rs +1 -9
- package/src/errors/consensus/state/identity/identity_public_key_is_disabled_error.rs +1 -9
- package/src/errors/consensus/state/identity/identity_public_key_is_read_only_error.rs +1 -9
- package/src/errors/consensus/state/identity/invalid_identity_public_key_id_error.rs +2 -9
- package/src/errors/consensus/state/identity/invalid_identity_revision_error.rs +1 -9
- package/src/errors/consensus/state/identity/max_identity_public_key_limit_reached_error.rs +1 -9
- package/src/errors/consensus/value_error.rs +1 -9
- package/src/errors/from.rs +12 -8
- package/src/errors/mod.rs +7 -7
- package/src/errors/value_error.rs +5 -0
- package/src/identity/errors/asset_lock_transaction_is_not_found_error.rs +1 -2
- package/src/identity/factory_utils.rs +13 -13
- package/src/identity/identity.rs +275 -0
- package/src/identity/identity_facade.rs +87 -70
- package/src/identity/identity_factory.rs +74 -54
- package/src/identity/identity_public_key/mod.rs +87 -64
- package/src/identity/mod.rs +25 -247
- package/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof_structure_validator.rs +0 -1
- package/src/identity/state_transition/asset_lock_proof/chain/mod.rs +3 -1
- package/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs +2 -2
- package/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof_structure_validator.rs +0 -1
- package/src/identity/state_transition/asset_lock_proof/instant/mod.rs +3 -1
- package/src/identity/state_transition/asset_lock_proof/mod.rs +112 -116
- package/src/identity/state_transition/identity_create_transition/identity_create_transition.rs +71 -65
- package/src/identity/state_transition/identity_create_transition/identity_create_transition_basic_validator.rs +0 -1
- package/src/identity/state_transition/identity_create_transition/mod.rs +3 -3
- package/src/identity/state_transition/identity_create_transition/to_object.rs +10 -12
- package/src/identity/state_transition/identity_credit_transfer_transition/apply_identity_credit_transfer_transition.rs +31 -0
- package/src/identity/state_transition/identity_credit_transfer_transition/identity_credit_transfer_transition_basic_validator.rs +66 -0
- package/src/identity/state_transition/identity_credit_transfer_transition/identity_credit_transfer_transition_state_validator.rs +44 -0
- package/src/identity/state_transition/identity_credit_transfer_transition/mod.rs +8 -0
- package/src/identity/state_transition/identity_credit_transfer_transition/to_object.rs +49 -0
- package/src/identity/state_transition/identity_credit_transfer_transition/transition.rs +344 -0
- package/src/identity/state_transition/identity_public_key_transitions.rs +89 -75
- package/src/identity/state_transition/identity_topup_transition/identity_topup_transition.rs +67 -62
- package/src/identity/state_transition/identity_topup_transition/identity_topup_transition_basic_validator.rs +0 -2
- package/src/identity/state_transition/identity_topup_transition/mod.rs +3 -3
- package/src/identity/state_transition/identity_topup_transition/to_object.rs +8 -12
- package/src/identity/state_transition/identity_update_transition/identity_update_public_keys_validator.rs +2 -2
- package/src/identity/state_transition/identity_update_transition/identity_update_transition.rs +99 -104
- package/src/identity/state_transition/identity_update_transition/mod.rs +4 -4
- package/src/identity/state_transition/identity_update_transition/to_object.rs +15 -19
- package/src/identity/state_transition/mod.rs +5 -2
- package/src/identity/state_transition/transition_types.rs +34 -0
- package/src/identity/state_transition/validate_public_key_signatures.rs +2 -2
- package/src/lib.rs +10 -11
- package/src/metadata.rs +3 -3
- package/src/protocol_version.rs +7 -0
- package/src/state_transition/conversion.rs +11 -1
- package/src/state_transition/errors/invalid_state_transition_error.rs +12 -1
- package/src/state_transition/fee/operations/pre_calculated_operation.rs +2 -1
- package/src/state_transition/mod.rs +137 -139
- package/src/state_transition/state_transition_facade.rs +11 -11
- package/src/state_transition/state_transition_factory.rs +142 -153
- package/src/state_transition/validation/state_transition_fee_validator.rs +1 -1
- package/src/state_transition/validation/validate_state_transition_identity_signature.rs +28 -10
- package/src/state_transition/validation/validate_state_transition_key_signature.rs +1 -1
- package/src/utils.rs +7 -8
- package/src/validation/validation_result.rs +1 -0
- package/test/integration/dataContract/DataContractFacade.spec.js +25 -32
- package/test/integration/dataContract/stateTransition/DataContractCreateTransition/validation/basic/validateDataContractCreateTransitionBasicFactory.spec.js +6 -6
- package/test/integration/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateDataContractUpdateTransitionBasicFactory.spec.js +11 -10
- package/test/integration/dataContract/validation/validateDataContractFactory.spec.js +3 -3
- package/test/integration/document/Document.spec.js +3 -3
- package/test/integration/document/DocumentFacade.spec.js +39 -38
- package/test/integration/document/stateTransition/DocumentsBatchTransition/DocumentBatchTransition.spec.js +6 -7
- package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/basic/validateDocumentsBatchTransitionBasicFactory.spec.js +15 -15
- package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/state/executeDataTriggersFactory.spec.js +2 -2
- package/test/integration/document/validation/validateDocumentFactory.spec.js +3 -3
- package/test/integration/identity/IdentityFacade.spec.js +33 -62
- package/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js +6 -8
- package/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js +4 -7
- package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/basic/validateIdentityUpdateTransitionBasicFactory.spec.js +1 -1
- package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory.spec.js +21 -24
- package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validatePublicKeysState.spec.js +2 -2
- package/test/integration/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory.spec.js +4 -4
- package/test/integration/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory.spec.js +7 -10
- package/test/integration/identity/stateTransition/assetLockProof/instant/validateInstantAssetLockProofStructureFactory.spec.js +4 -5
- package/test/integration/identity/stateTransition/assetLockProof/validateAssetLockTransactionFactory.spec.js +6 -6
- package/test/integration/identity/stateTransition/validatePublicKeySignaturesFactory.spec.js +3 -7
- package/test/integration/identity/validation/validateIdentityFactory.spec.js +7 -6
- package/test/integration/identity/validation/validatePublicKeysFactory.spec.js +5 -25
- package/test/integration/stateTransition/StateTransitionFacade.spec.js +45 -58
- package/test/integration/util/generateTemporaryEcdsaPrivateKey.spec.js +1 -1
- package/test/unit/DashPlatformProtocol.spec.js +10 -25
- package/test/unit/dataContract/DataContract.spec.js +119 -148
- package/test/unit/dataContract/DataContractFactory.spec.js +42 -31
- package/test/unit/dataContract/createDataContract.spec.js +6 -6
- package/test/unit/dataContract/generateDataContractId.spec.js +1 -1
- package/test/unit/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition.spec.js +34 -26
- package/test/unit/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory.spec.js +7 -9
- package/test/unit/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory.spec.js +10 -9
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +28 -19
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory.spec.js +7 -7
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateIndicesAreBackwardCompatible.spec.js +5 -5
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory.spec.js +11 -10
- package/test/unit/dataContract/validation/validateDataContractPatterns.spec.js +7 -7
- package/test/unit/dataTrigger/dpnsTriggers/createDomainDataTrigger.spec.js +1 -1
- package/test/unit/document/Document.spec.js +31 -20
- package/test/unit/document/DocumentFactory.spec.js +45 -110
- package/test/unit/document/fetchAndValidateDataContractFactory.spec.js +1 -1
- package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +6 -7
- package/test/unit/document/stateTransition/DocumetsBatchTransition/applyDocumentsBatchTransitionFactory.spec.js +11 -12
- package/test/unit/document/stateTransition/DocumetsBatchTransition/documentTransition/DocumentCreateTransition.spec.js +1 -1
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesById.spec.js +1 -1
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js +1 -1
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/validatePartialCompoundIndices.spec.js +1 -1
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/fetchDocumentsFactory.spec.js +1 -1
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsBatchTransitionStateFactory.spec.js +9 -9
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsUniquenessByIndicesFactory.spec.js +1 -1
- package/test/unit/identity/Identity.spec.js +46 -81
- package/test/unit/identity/IdentityFactory.spec.js +61 -75
- package/test/unit/identity/IdentityPublicKey.spec.js +34 -48
- package/test/unit/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition.spec.js +30 -63
- package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +9 -15
- package/test/unit/identity/stateTransition/IdentityCreateTransition/validation/state/validateIdentityCreateTransitionStateFactory.spec.js +5 -9
- package/test/unit/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition.spec.js +13 -35
- package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +9 -13
- package/test/unit/identity/stateTransition/IdentityTopUpTransition/validation/state/validateIdentityTopUpTransitionStateFactory.spec.js +5 -9
- package/test/unit/identity/stateTransition/IdentityUpdateTransition/IdentityUpdateTransition.spec.js +24 -46
- package/test/unit/identity/stateTransition/IdentityUpdateTransition/applyIdentityUpdateTransitionFactory.spec.js +4 -4
- package/test/unit/identity/stateTransition/assetLockProof/fetchAssetLockPublicKeyHashFactory.spec.js +1 -1
- package/test/unit/identity/stateTransition/identityCreditTransferTransition/identityCreditTransferTransition.spec.js +130 -0
- package/test/unit/stateTransition/StateTransitionExecutionContext.spec.js +1 -1
- package/test/unit/stateTransition/StateTransitionFactory.spec.js +16 -22
- package/test/unit/stateTransition/createStateTransitionFactory.spec.js +43 -21
- package/test/unit/stateTransition/validation/validateStateTransitionBasicFactory.spec.js +3 -3
- package/test/unit/stateTransition/validation/validateStateTransitionFeeFactory.spec.js +5 -17
- package/test/unit/stateTransition/validation/validateStateTransitionIdentitySignatureFactory.spec.js +9 -5
- package/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js +8 -14
- package/test/unit/stateTransition/validation/validateStateTransitionStateFactory.spec.js +1 -1
- package/test/unit/version/validateProtocolVersionFactory.spec.js +1 -1
- package/test-d/index.test-d.ts +2 -2
- package/src/data_contract/state_transition/data_contract_create_transition/apply.rs +0 -45
- package/src/data_contract/state_transition/data_contract_update_transition/apply.rs +0 -49
- package/src/decode_protocol_entity.rs +0 -25
- package/src/document/state_transition/document_batch_transition/apply_document_batch_transition.rs +0 -25
- package/test/integration/ajv/keywords/byteArray/addByteArrayKeyword.spec.js +0 -148
- package/test/integration/util/generateEntropy.spec.js +0 -17
- package/test/integration/util/serializer.spec.js +0 -24
- package/test/unit/decodeProtocolEntityFactory.spec.js +0 -69
- package/test/unit/identity/errors/InvalidIdentityError.spec.js +0 -46
- package/test/unit/stateTransition/errors/InvalidStateTransitionError.spec.js +0 -51
|
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
|
|
|
2
2
|
use dpp::consensus::codes::ErrorWithCode;
|
|
3
3
|
use dpp::consensus::state::document::document_not_found_error::DocumentNotFoundError;
|
|
4
4
|
use dpp::consensus::ConsensusError;
|
|
5
|
+
use dpp::serialization::PlatformSerializable;
|
|
5
6
|
use wasm_bindgen::prelude::*;
|
|
6
7
|
|
|
7
8
|
#[wasm_bindgen(js_name=DocumentNotFoundError)]
|
|
@@ -31,13 +32,4 @@ impl DocumentNotFoundErrorWasm {
|
|
|
31
32
|
pub fn message(&self) -> String {
|
|
32
33
|
self.inner.to_string()
|
|
33
34
|
}
|
|
34
|
-
|
|
35
|
-
#[wasm_bindgen(js_name=serialize)]
|
|
36
|
-
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
37
|
-
let bytes = ConsensusError::from(self.inner.clone())
|
|
38
|
-
.serialize()
|
|
39
|
-
.map_err(JsError::from)?;
|
|
40
|
-
|
|
41
|
-
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
42
|
-
}
|
|
43
35
|
}
|
|
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
|
|
|
2
2
|
use dpp::consensus::codes::ErrorWithCode;
|
|
3
3
|
use dpp::consensus::state::document::document_owner_id_mismatch_error::DocumentOwnerIdMismatchError;
|
|
4
4
|
use dpp::consensus::ConsensusError;
|
|
5
|
+
use dpp::serialization::PlatformSerializable;
|
|
5
6
|
use wasm_bindgen::prelude::*;
|
|
6
7
|
|
|
7
8
|
#[wasm_bindgen(js_name=DocumentOwnerIdMismatchError)]
|
|
@@ -41,13 +42,4 @@ impl DocumentOwnerIdMismatchErrorWasm {
|
|
|
41
42
|
pub fn message(&self) -> String {
|
|
42
43
|
self.inner.to_string()
|
|
43
44
|
}
|
|
44
|
-
|
|
45
|
-
#[wasm_bindgen(js_name=serialize)]
|
|
46
|
-
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
47
|
-
let bytes = ConsensusError::from(self.inner.clone())
|
|
48
|
-
.serialize()
|
|
49
|
-
.map_err(JsError::from)?;
|
|
50
|
-
|
|
51
|
-
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
52
|
-
}
|
|
53
45
|
}
|
|
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
|
|
|
2
2
|
use dpp::consensus::codes::ErrorWithCode;
|
|
3
3
|
use dpp::consensus::state::document::document_timestamp_window_violation_error::DocumentTimestampWindowViolationError;
|
|
4
4
|
use dpp::consensus::ConsensusError;
|
|
5
|
+
use dpp::serialization::PlatformSerializable;
|
|
5
6
|
use wasm_bindgen::prelude::*;
|
|
6
7
|
|
|
7
8
|
#[wasm_bindgen(js_name=DocumentTimestampWindowViolationError)]
|
|
@@ -57,13 +58,4 @@ impl DocumentTimestampWindowViolationErrorWasm {
|
|
|
57
58
|
pub fn message(&self) -> String {
|
|
58
59
|
self.inner.to_string()
|
|
59
60
|
}
|
|
60
|
-
|
|
61
|
-
#[wasm_bindgen(js_name=serialize)]
|
|
62
|
-
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
63
|
-
let bytes = ConsensusError::from(self.inner.clone())
|
|
64
|
-
.serialize()
|
|
65
|
-
.map_err(JsError::from)?;
|
|
66
|
-
|
|
67
|
-
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
68
|
-
}
|
|
69
61
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
use crate::buffer::Buffer;
|
|
2
|
+
use dpp::consensus::codes::ErrorWithCode;
|
|
3
|
+
use dpp::consensus::state::document::document_timestamps_are_equal_error::DocumentTimestampsAreEqualError;
|
|
4
|
+
use dpp::consensus::ConsensusError;
|
|
5
|
+
use dpp::serialization::PlatformSerializable;
|
|
6
|
+
use wasm_bindgen::prelude::*;
|
|
7
|
+
|
|
8
|
+
#[wasm_bindgen(js_name=DocumentTimestampsAreEqualError)]
|
|
9
|
+
pub struct DocumentTimestampsAreEqualErrorWasm {
|
|
10
|
+
inner: DocumentTimestampsAreEqualError,
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
impl From<&DocumentTimestampsAreEqualError> for DocumentTimestampsAreEqualErrorWasm {
|
|
14
|
+
fn from(e: &DocumentTimestampsAreEqualError) -> Self {
|
|
15
|
+
Self { inner: e.clone() }
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
#[wasm_bindgen(js_class=DocumentTimestampsAreEqualError)]
|
|
19
|
+
impl DocumentTimestampsAreEqualErrorWasm {
|
|
20
|
+
#[wasm_bindgen(js_name=getDocumentId)]
|
|
21
|
+
pub fn document_id(&self) -> Buffer {
|
|
22
|
+
Buffer::from_bytes(self.inner.document_id().as_bytes())
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
#[wasm_bindgen(js_name=getCode)]
|
|
26
|
+
pub fn get_code(&self) -> u32 {
|
|
27
|
+
ConsensusError::from(self.inner.clone()).code()
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
#[wasm_bindgen(getter)]
|
|
31
|
+
pub fn message(&self) -> String {
|
|
32
|
+
self.inner.to_string()
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
|
|
|
2
2
|
use dpp::consensus::codes::ErrorWithCode;
|
|
3
3
|
use dpp::consensus::state::document::document_timestamps_mismatch_error::DocumentTimestampsMismatchError;
|
|
4
4
|
use dpp::consensus::ConsensusError;
|
|
5
|
+
use dpp::serialization::PlatformSerializable;
|
|
5
6
|
use wasm_bindgen::prelude::*;
|
|
6
7
|
|
|
7
8
|
#[wasm_bindgen(js_name=DocumentTimestampsMismatchError)]
|
|
@@ -30,13 +31,4 @@ impl DocumentTimestampsMismatchErrorWasm {
|
|
|
30
31
|
pub fn message(&self) -> String {
|
|
31
32
|
self.inner.to_string()
|
|
32
33
|
}
|
|
33
|
-
|
|
34
|
-
#[wasm_bindgen(js_name=serialize)]
|
|
35
|
-
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
36
|
-
let bytes = ConsensusError::from(self.inner.clone())
|
|
37
|
-
.serialize()
|
|
38
|
-
.map_err(JsError::from)?;
|
|
39
|
-
|
|
40
|
-
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
41
|
-
}
|
|
42
34
|
}
|
|
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
|
|
|
2
2
|
use dpp::consensus::codes::ErrorWithCode;
|
|
3
3
|
use dpp::consensus::state::document::duplicate_unique_index_error::DuplicateUniqueIndexError;
|
|
4
4
|
use dpp::consensus::ConsensusError;
|
|
5
|
+
use dpp::serialization::PlatformSerializable;
|
|
5
6
|
use js_sys::JsString;
|
|
6
7
|
use wasm_bindgen::prelude::*;
|
|
7
8
|
|
|
@@ -41,13 +42,4 @@ impl DuplicateUniqueIndexErrorWasm {
|
|
|
41
42
|
pub fn message(&self) -> String {
|
|
42
43
|
self.inner.to_string()
|
|
43
44
|
}
|
|
44
|
-
|
|
45
|
-
#[wasm_bindgen(js_name=serialize)]
|
|
46
|
-
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
47
|
-
let bytes = ConsensusError::from(self.inner.clone())
|
|
48
|
-
.serialize()
|
|
49
|
-
.map_err(JsError::from)?;
|
|
50
|
-
|
|
51
|
-
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
52
|
-
}
|
|
53
45
|
}
|
|
@@ -3,6 +3,7 @@ use dpp::consensus::codes::ErrorWithCode;
|
|
|
3
3
|
use dpp::consensus::state::document::invalid_document_revision_error::InvalidDocumentRevisionError;
|
|
4
4
|
use dpp::consensus::ConsensusError;
|
|
5
5
|
use dpp::prelude::Revision;
|
|
6
|
+
use dpp::serialization::PlatformSerializable;
|
|
6
7
|
use wasm_bindgen::prelude::*;
|
|
7
8
|
|
|
8
9
|
#[wasm_bindgen(js_name=InvalidDocumentRevisionError)]
|
|
@@ -23,9 +24,14 @@ impl InvalidDocumentRevisionErrorWasm {
|
|
|
23
24
|
Buffer::from_bytes(self.inner.document_id().as_bytes())
|
|
24
25
|
}
|
|
25
26
|
|
|
26
|
-
#[wasm_bindgen(js_name=
|
|
27
|
-
pub fn
|
|
28
|
-
*self.inner.
|
|
27
|
+
#[wasm_bindgen(js_name=getPreviousRevision)]
|
|
28
|
+
pub fn previous_revision(&self) -> Option<Revision> {
|
|
29
|
+
*self.inner.previous_revision()
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
#[wasm_bindgen(js_name=getDesiredRevision)]
|
|
33
|
+
pub fn desired_revision(&self) -> Revision {
|
|
34
|
+
*self.inner.desired_revision()
|
|
29
35
|
}
|
|
30
36
|
|
|
31
37
|
#[wasm_bindgen(js_name=getCode)]
|
|
@@ -37,13 +43,4 @@ impl InvalidDocumentRevisionErrorWasm {
|
|
|
37
43
|
pub fn message(&self) -> String {
|
|
38
44
|
self.inner.to_string()
|
|
39
45
|
}
|
|
40
|
-
|
|
41
|
-
#[wasm_bindgen(js_name=serialize)]
|
|
42
|
-
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
43
|
-
let bytes = ConsensusError::from(self.inner.clone())
|
|
44
|
-
.serialize()
|
|
45
|
-
.map_err(JsError::from)?;
|
|
46
|
-
|
|
47
|
-
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
48
|
-
}
|
|
49
46
|
}
|
|
@@ -2,6 +2,7 @@ mod document_already_present_error;
|
|
|
2
2
|
mod document_not_found_error;
|
|
3
3
|
mod document_owner_id_mismatch_error;
|
|
4
4
|
mod document_timestamp_window_violation_error;
|
|
5
|
+
mod document_timestamps_are_equal_error;
|
|
5
6
|
mod document_timestamps_mismatch_error;
|
|
6
7
|
mod duplicate_unique_index_error;
|
|
7
8
|
mod invalid_document_revision_error;
|
|
@@ -10,6 +11,7 @@ pub use document_already_present_error::*;
|
|
|
10
11
|
pub use document_not_found_error::*;
|
|
11
12
|
pub use document_owner_id_mismatch_error::*;
|
|
12
13
|
pub use document_timestamp_window_violation_error::*;
|
|
14
|
+
pub use document_timestamps_are_equal_error::*;
|
|
13
15
|
pub use document_timestamps_mismatch_error::*;
|
|
14
16
|
pub use duplicate_unique_index_error::*;
|
|
15
17
|
pub use invalid_document_revision_error::*;
|
package/src/errors/consensus/state/identity/duplicated_identity_public_key_id_state_error.rs
CHANGED
|
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
|
|
|
2
2
|
use dpp::consensus::codes::ErrorWithCode;
|
|
3
3
|
use dpp::consensus::state::identity::duplicated_identity_public_key_id_state_error::DuplicatedIdentityPublicKeyIdStateError;
|
|
4
4
|
use dpp::consensus::ConsensusError;
|
|
5
|
+
use dpp::serialization::PlatformSerializable;
|
|
5
6
|
use wasm_bindgen::prelude::*;
|
|
6
7
|
|
|
7
8
|
#[wasm_bindgen(js_name=DuplicatedIdentityPublicKeyIdStateError)]
|
|
@@ -38,13 +39,4 @@ impl DuplicatedIdentityPublicKeyIdStateErrorWasm {
|
|
|
38
39
|
pub fn message(&self) -> String {
|
|
39
40
|
self.inner.to_string()
|
|
40
41
|
}
|
|
41
|
-
|
|
42
|
-
#[wasm_bindgen(js_name=serialize)]
|
|
43
|
-
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
44
|
-
let bytes = ConsensusError::from(self.inner.clone())
|
|
45
|
-
.serialize()
|
|
46
|
-
.map_err(JsError::from)?;
|
|
47
|
-
|
|
48
|
-
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
49
|
-
}
|
|
50
42
|
}
|
|
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
|
|
|
2
2
|
use dpp::consensus::codes::ErrorWithCode;
|
|
3
3
|
use dpp::consensus::state::identity::duplicated_identity_public_key_state_error::DuplicatedIdentityPublicKeyStateError;
|
|
4
4
|
use dpp::consensus::ConsensusError;
|
|
5
|
+
use dpp::serialization::PlatformSerializable;
|
|
5
6
|
use wasm_bindgen::prelude::*;
|
|
6
7
|
|
|
7
8
|
#[wasm_bindgen(js_name=DuplicatedIdentityPublicKeyStateError)]
|
|
@@ -35,13 +36,4 @@ impl DuplicatedIdentityPublicKeyStateErrorWasm {
|
|
|
35
36
|
pub fn message(&self) -> String {
|
|
36
37
|
self.inner.to_string()
|
|
37
38
|
}
|
|
38
|
-
|
|
39
|
-
#[wasm_bindgen(js_name=serialize)]
|
|
40
|
-
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
41
|
-
let bytes = ConsensusError::from(self.inner.clone())
|
|
42
|
-
.serialize()
|
|
43
|
-
.map_err(JsError::from)?;
|
|
44
|
-
|
|
45
|
-
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
46
|
-
}
|
|
47
39
|
}
|
|
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
|
|
|
2
2
|
use dpp::consensus::codes::ErrorWithCode;
|
|
3
3
|
use dpp::consensus::state::identity::IdentityAlreadyExistsError;
|
|
4
4
|
use dpp::consensus::ConsensusError;
|
|
5
|
+
use dpp::serialization::PlatformSerializable;
|
|
5
6
|
use wasm_bindgen::prelude::*;
|
|
6
7
|
|
|
7
8
|
#[wasm_bindgen(js_name=IdentityAlreadyExistsError)]
|
|
@@ -31,13 +32,4 @@ impl IdentityAlreadyExistsErrorWasm {
|
|
|
31
32
|
pub fn message(&self) -> String {
|
|
32
33
|
self.inner.to_string()
|
|
33
34
|
}
|
|
34
|
-
|
|
35
|
-
#[wasm_bindgen(js_name=serialize)]
|
|
36
|
-
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
37
|
-
let bytes = ConsensusError::from(self.inner.clone())
|
|
38
|
-
.serialize()
|
|
39
|
-
.map_err(JsError::from)?;
|
|
40
|
-
|
|
41
|
-
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
42
|
-
}
|
|
43
35
|
}
|
|
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
|
|
|
2
2
|
use dpp::consensus::codes::ErrorWithCode;
|
|
3
3
|
use dpp::consensus::state::identity::identity_public_key_disabled_at_window_violation_error::IdentityPublicKeyDisabledAtWindowViolationError;
|
|
4
4
|
use dpp::consensus::ConsensusError;
|
|
5
|
+
use dpp::serialization::PlatformSerializable;
|
|
5
6
|
use wasm_bindgen::prelude::*;
|
|
6
7
|
|
|
7
8
|
#[wasm_bindgen(js_name=IdentityPublicKeyDisabledAtWindowViolationError)]
|
|
@@ -46,13 +47,4 @@ impl IdentityPublicKeyDisabledAtWindowViolationErrorWasm {
|
|
|
46
47
|
pub fn message(&self) -> String {
|
|
47
48
|
self.inner.to_string()
|
|
48
49
|
}
|
|
49
|
-
|
|
50
|
-
#[wasm_bindgen(js_name=serialize)]
|
|
51
|
-
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
52
|
-
let bytes = ConsensusError::from(self.inner.clone())
|
|
53
|
-
.serialize()
|
|
54
|
-
.map_err(JsError::from)?;
|
|
55
|
-
|
|
56
|
-
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
57
|
-
}
|
|
58
50
|
}
|
|
@@ -3,6 +3,7 @@ use dpp::consensus::codes::ErrorWithCode;
|
|
|
3
3
|
use dpp::consensus::state::identity::identity_public_key_is_disabled_error::IdentityPublicKeyIsDisabledError;
|
|
4
4
|
use dpp::consensus::ConsensusError;
|
|
5
5
|
use dpp::identity::KeyID;
|
|
6
|
+
use dpp::serialization::PlatformSerializable;
|
|
6
7
|
use wasm_bindgen::prelude::*;
|
|
7
8
|
|
|
8
9
|
#[wasm_bindgen(js_name=IdentityPublicKeyIsDisabledError)]
|
|
@@ -32,13 +33,4 @@ impl IdentityPublicKeyIsDisabledErrorWasm {
|
|
|
32
33
|
pub fn message(&self) -> String {
|
|
33
34
|
self.inner.to_string()
|
|
34
35
|
}
|
|
35
|
-
|
|
36
|
-
#[wasm_bindgen(js_name=serialize)]
|
|
37
|
-
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
38
|
-
let bytes = ConsensusError::from(self.inner.clone())
|
|
39
|
-
.serialize()
|
|
40
|
-
.map_err(JsError::from)?;
|
|
41
|
-
|
|
42
|
-
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
43
|
-
}
|
|
44
36
|
}
|
|
@@ -3,6 +3,7 @@ use dpp::consensus::codes::ErrorWithCode;
|
|
|
3
3
|
use dpp::consensus::state::identity::identity_public_key_is_read_only_error::IdentityPublicKeyIsReadOnlyError;
|
|
4
4
|
use dpp::consensus::ConsensusError;
|
|
5
5
|
use dpp::identity::KeyID;
|
|
6
|
+
use dpp::serialization::PlatformSerializable;
|
|
6
7
|
use wasm_bindgen::prelude::*;
|
|
7
8
|
|
|
8
9
|
#[wasm_bindgen(js_name=IdentityPublicKeyIsReadOnlyError)]
|
|
@@ -37,13 +38,4 @@ impl IdentityPublicKeyIsReadOnlyErrorWasm {
|
|
|
37
38
|
pub fn message(&self) -> String {
|
|
38
39
|
self.inner.to_string()
|
|
39
40
|
}
|
|
40
|
-
|
|
41
|
-
#[wasm_bindgen(js_name=serialize)]
|
|
42
|
-
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
43
|
-
let bytes = ConsensusError::from(self.inner.clone())
|
|
44
|
-
.serialize()
|
|
45
|
-
.map_err(JsError::from)?;
|
|
46
|
-
|
|
47
|
-
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
48
|
-
}
|
|
49
41
|
}
|
|
@@ -3,6 +3,8 @@ use dpp::consensus::codes::ErrorWithCode;
|
|
|
3
3
|
use dpp::consensus::state::identity::invalid_identity_public_key_id_error::InvalidIdentityPublicKeyIdError;
|
|
4
4
|
use dpp::consensus::ConsensusError;
|
|
5
5
|
use dpp::identity::KeyID;
|
|
6
|
+
use dpp::serialization::{PlatformSerializable, PlatformSerializableWithPlatformVersion};
|
|
7
|
+
use dpp::version::PlatformVersion;
|
|
6
8
|
use wasm_bindgen::prelude::*;
|
|
7
9
|
|
|
8
10
|
#[wasm_bindgen(js_name=InvalidIdentityPublicKeyIdError)]
|
|
@@ -32,13 +34,4 @@ impl InvalidIdentityPublicKeyIdErrorWasm {
|
|
|
32
34
|
pub fn message(&self) -> String {
|
|
33
35
|
self.inner.to_string()
|
|
34
36
|
}
|
|
35
|
-
|
|
36
|
-
#[wasm_bindgen(js_name=serialize)]
|
|
37
|
-
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
38
|
-
let bytes = ConsensusError::from(self.inner.clone())
|
|
39
|
-
.serialize()
|
|
40
|
-
.map_err(JsError::from)?;
|
|
41
|
-
|
|
42
|
-
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
43
|
-
}
|
|
44
37
|
}
|
|
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
|
|
|
2
2
|
use dpp::consensus::codes::ErrorWithCode;
|
|
3
3
|
use dpp::consensus::state::identity::invalid_identity_revision_error::InvalidIdentityRevisionError;
|
|
4
4
|
use dpp::consensus::ConsensusError;
|
|
5
|
+
use dpp::serialization::PlatformSerializable;
|
|
5
6
|
use js_sys::Number;
|
|
6
7
|
use wasm_bindgen::prelude::*;
|
|
7
8
|
|
|
@@ -38,13 +39,4 @@ impl InvalidIdentityRevisionErrorWasm {
|
|
|
38
39
|
pub fn message(&self) -> String {
|
|
39
40
|
self.inner.to_string()
|
|
40
41
|
}
|
|
41
|
-
|
|
42
|
-
#[wasm_bindgen(js_name=serialize)]
|
|
43
|
-
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
44
|
-
let bytes = ConsensusError::from(self.inner.clone())
|
|
45
|
-
.serialize()
|
|
46
|
-
.map_err(JsError::from)?;
|
|
47
|
-
|
|
48
|
-
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
49
|
-
}
|
|
50
42
|
}
|
|
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
|
|
|
2
2
|
use dpp::consensus::codes::ErrorWithCode;
|
|
3
3
|
use dpp::consensus::state::identity::max_identity_public_key_limit_reached_error::MaxIdentityPublicKeyLimitReachedError;
|
|
4
4
|
use dpp::consensus::ConsensusError;
|
|
5
|
+
use dpp::serialization::PlatformSerializable;
|
|
5
6
|
use wasm_bindgen::prelude::*;
|
|
6
7
|
|
|
7
8
|
#[wasm_bindgen(js_name=MaxIdentityPublicKeyLimitReachedError)]
|
|
@@ -32,13 +33,4 @@ impl MaxIdentityPublicKeyLimitReachedErrorWasm {
|
|
|
32
33
|
pub fn message(&self) -> String {
|
|
33
34
|
self.inner.to_string()
|
|
34
35
|
}
|
|
35
|
-
|
|
36
|
-
#[wasm_bindgen(js_name=serialize)]
|
|
37
|
-
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
38
|
-
let bytes = ConsensusError::from(self.inner.clone())
|
|
39
|
-
.serialize()
|
|
40
|
-
.map_err(JsError::from)?;
|
|
41
|
-
|
|
42
|
-
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
43
|
-
}
|
|
44
36
|
}
|
|
@@ -2,6 +2,7 @@ use crate::buffer::Buffer;
|
|
|
2
2
|
use dpp::consensus::basic::value_error::ValueError;
|
|
3
3
|
use dpp::consensus::codes::ErrorWithCode;
|
|
4
4
|
use dpp::consensus::ConsensusError;
|
|
5
|
+
use dpp::serialization::PlatformSerializable;
|
|
5
6
|
use wasm_bindgen::prelude::*;
|
|
6
7
|
|
|
7
8
|
#[wasm_bindgen(js_name=ValueError, inspectable)]
|
|
@@ -32,13 +33,4 @@ impl ValueErrorWasm {
|
|
|
32
33
|
pub fn message(&self) -> String {
|
|
33
34
|
self.inner.to_string()
|
|
34
35
|
}
|
|
35
|
-
|
|
36
|
-
#[wasm_bindgen(js_name=serialize)]
|
|
37
|
-
pub fn serialize(&self) -> Result<Buffer, JsError> {
|
|
38
|
-
let bytes = ConsensusError::from(self.inner.clone())
|
|
39
|
-
.serialize()
|
|
40
|
-
.map_err(JsError::from)?;
|
|
41
|
-
|
|
42
|
-
Ok(Buffer::from_bytes(bytes.as_slice()))
|
|
43
|
-
}
|
|
44
36
|
}
|
package/src/errors/from.rs
CHANGED
|
@@ -5,6 +5,7 @@ use dpp::errors::ProtocolError;
|
|
|
5
5
|
|
|
6
6
|
use crate::data_contract::errors::from_data_contract_to_js_error;
|
|
7
7
|
use crate::document::errors::from_document_to_js_error;
|
|
8
|
+
// use crate::document::errors::from_document_to_js_error;
|
|
8
9
|
use crate::errors::value_error::PlatformValueErrorWasm;
|
|
9
10
|
|
|
10
11
|
use super::data_contract_not_present_error::DataContractNotPresentNotConsensusErrorWasm;
|
|
@@ -12,19 +13,20 @@ use crate::errors::consensus::consensus_error::from_consensus_error;
|
|
|
12
13
|
|
|
13
14
|
pub fn from_dpp_err(pe: ProtocolError) -> JsValue {
|
|
14
15
|
match pe {
|
|
16
|
+
// TODO(versioning): restore this
|
|
15
17
|
ProtocolError::ConsensusError(consensus_error) => from_consensus_error(*consensus_error),
|
|
16
18
|
ProtocolError::DataContractError(e) => from_data_contract_to_js_error(e),
|
|
17
19
|
|
|
18
20
|
ProtocolError::Document(e) => from_document_to_js_error(*e),
|
|
19
21
|
|
|
20
|
-
ProtocolError::ParsingJsonError(err) => format!(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
)
|
|
26
|
-
.into(),
|
|
27
|
-
|
|
22
|
+
// ProtocolError::ParsingJsonError(err) => format!(
|
|
23
|
+
// "Parsing error at line {}, column {}: {}",
|
|
24
|
+
// err.line(),
|
|
25
|
+
// err.column(),
|
|
26
|
+
// err
|
|
27
|
+
// )
|
|
28
|
+
// .into(),
|
|
29
|
+
//
|
|
28
30
|
ProtocolError::DataContractNotPresentError(err) => {
|
|
29
31
|
DataContractNotPresentNotConsensusErrorWasm::new(err.data_contract_id()).into()
|
|
30
32
|
}
|
|
@@ -38,5 +40,7 @@ pub fn from_dpp_init_error(e: DashPlatformProtocolInitError) -> JsValue {
|
|
|
38
40
|
DashPlatformProtocolInitError::SchemaDeserializationError(e) => e.to_string().into(),
|
|
39
41
|
DashPlatformProtocolInitError::ValidationError(e) => e.to_string().into(),
|
|
40
42
|
DashPlatformProtocolInitError::InvalidSchemaError(e) => e.to_string().into(),
|
|
43
|
+
// TODO(versioning): add rest erros
|
|
44
|
+
_ => JsValue::from_str(&format!("Error conversion not implemented: {e:#}",)),
|
|
41
45
|
}
|
|
42
46
|
}
|
package/src/errors/mod.rs
CHANGED
|
@@ -6,12 +6,12 @@ pub mod consensus;
|
|
|
6
6
|
mod from;
|
|
7
7
|
mod js_conversion;
|
|
8
8
|
pub mod protocol_error;
|
|
9
|
-
mod public_key_validation_error;
|
|
10
|
-
|
|
11
|
-
pub use public_key_validation_error::*;
|
|
12
|
-
|
|
13
|
-
mod compatible_protocol_version_is_not_defined_error;
|
|
9
|
+
// mod public_key_validation_error;
|
|
10
|
+
//
|
|
11
|
+
// pub use public_key_validation_error::*;
|
|
12
|
+
//
|
|
13
|
+
// mod compatible_protocol_version_is_not_defined_error;
|
|
14
14
|
pub mod data_contract_not_present_error;
|
|
15
|
-
pub mod dpp_error;
|
|
15
|
+
// pub mod dpp_error;
|
|
16
16
|
pub mod value_error;
|
|
17
|
-
pub use compatible_protocol_version_is_not_defined_error::*;
|
|
17
|
+
// pub use compatible_protocol_version_is_not_defined_error::*;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
use dpp::dashcore::hashes::hex::ToHex;
|
|
2
1
|
use dpp::identity::errors::AssetLockTransactionIsNotFoundError;
|
|
3
2
|
use wasm_bindgen::prelude::*;
|
|
4
3
|
|
|
@@ -15,6 +14,6 @@ impl From<&AssetLockTransactionIsNotFoundError> for AssetLockTransactionIsNotFou
|
|
|
15
14
|
impl AssetLockTransactionIsNotFoundErrorWasm {
|
|
16
15
|
#[wasm_bindgen(js_name=getTransactionId)]
|
|
17
16
|
pub fn transaction_id(&self) -> JsValue {
|
|
18
|
-
self.0.transaction_id()
|
|
17
|
+
hex::encode(self.0.transaction_id()).into()
|
|
19
18
|
}
|
|
20
19
|
}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
use crate::errors::RustConversionError;
|
|
2
|
-
use crate::identity::
|
|
2
|
+
use crate::identity::state_transition::create_asset_lock_proof_from_wasm_instance;
|
|
3
|
+
use crate::identity::state_transition::identity_public_key_transitions::IdentityPublicKeyWithWitnessWasm;
|
|
4
|
+
use crate::identity::IdentityPublicKeyWasm;
|
|
3
5
|
use crate::utils::{generic_of_js_val, to_vec_of_platform_values};
|
|
4
|
-
use
|
|
6
|
+
use dpp::identity::identity_public_key::accessors::v0::IdentityPublicKeyGettersV0;
|
|
5
7
|
use dpp::identity::state_transition::asset_lock_proof::AssetLockProof;
|
|
6
|
-
use dpp::identity::state_transition::identity_public_key_transitions::IdentityPublicKeyInCreationWithWitness;
|
|
7
8
|
use dpp::identity::{IdentityPublicKey, KeyID};
|
|
9
|
+
use dpp::serialization::ValueConvertible;
|
|
10
|
+
use dpp::state_transition::public_key_in_creation::IdentityPublicKeyInCreation;
|
|
8
11
|
use std::collections::BTreeMap;
|
|
9
12
|
use wasm_bindgen::__rt::Ref;
|
|
10
13
|
use wasm_bindgen::{JsCast, JsValue};
|
|
11
14
|
|
|
12
|
-
pub fn
|
|
13
|
-
asset_lock_proof: JsValue,
|
|
15
|
+
pub fn parse_public_keys(
|
|
14
16
|
public_keys: js_sys::Array,
|
|
15
|
-
) -> Result<
|
|
16
|
-
let asset_lock_proof = create_asset_lock_proof_from_wasm_instance(&asset_lock_proof)?;
|
|
17
|
-
|
|
17
|
+
) -> Result<BTreeMap<KeyID, IdentityPublicKey>, JsValue> {
|
|
18
18
|
let raw_public_keys = to_vec_of_platform_values(public_keys.iter())?;
|
|
19
19
|
|
|
20
20
|
let public_keys = raw_public_keys
|
|
21
21
|
.into_iter()
|
|
22
|
-
.map(|v| IdentityPublicKey::
|
|
22
|
+
.map(|v| IdentityPublicKey::from_object(v).map(|key| (key.id(), key)))
|
|
23
23
|
.collect::<Result<_, _>>()
|
|
24
24
|
.map_err(|e| format!("converting to collection of IdentityPublicKeys failed: {e:#}"))?;
|
|
25
25
|
|
|
26
|
-
Ok(
|
|
26
|
+
Ok(public_keys)
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
type AddPublicKeys = Option<Vec<
|
|
29
|
+
type AddPublicKeys = Option<Vec<IdentityPublicKeyInCreation>>;
|
|
30
30
|
type DisablePublicKeys = Option<Vec<KeyID>>;
|
|
31
31
|
|
|
32
32
|
pub fn parse_create_identity_update_transition_keys(
|
|
@@ -44,7 +44,7 @@ pub fn parse_create_identity_update_transition_keys(
|
|
|
44
44
|
.to_js_value()
|
|
45
45
|
})?;
|
|
46
46
|
|
|
47
|
-
let keys: Vec<
|
|
47
|
+
let keys: Vec<IdentityPublicKeyInCreation> = add_public_keys_array
|
|
48
48
|
.iter()
|
|
49
49
|
.map(|key| {
|
|
50
50
|
let public_key: Ref<IdentityPublicKeyWithWitnessWasm> =
|
|
@@ -55,7 +55,7 @@ pub fn parse_create_identity_update_transition_keys(
|
|
|
55
55
|
|
|
56
56
|
Ok(public_key.clone().into())
|
|
57
57
|
})
|
|
58
|
-
.collect::<Result<Vec<
|
|
58
|
+
.collect::<Result<Vec<IdentityPublicKeyInCreation>, JsValue>>()?;
|
|
59
59
|
|
|
60
60
|
add_public_keys = Some(keys)
|
|
61
61
|
}
|