@dashevo/wasm-dpp 0.25.0-dev.8 → 0.25.0
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
|
@@ -1,51 +1,35 @@
|
|
|
1
1
|
const bs58 = require('bs58');
|
|
2
|
-
|
|
2
|
+
const crypto = require('crypto');
|
|
3
3
|
const DocumentCreateTransition = require('@dashevo/dpp/lib/document/stateTransition/DocumentsBatchTransition/documentTransition/DocumentCreateTransition');
|
|
4
|
-
const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
|
|
5
|
-
const createDPPMock = require('@dashevo/dpp/lib/test/mocks/createDPPMock');
|
|
6
|
-
const DocumentFactoryJS = require('@dashevo/dpp/lib/document/DocumentFactory');
|
|
7
4
|
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const createStateRepositoryMock = require('../../../lib/test/mocks/createStateRepositoryMock');
|
|
5
|
+
const getDataContractFixture = require('../../../lib/test/fixtures/getDataContractFixture');
|
|
6
|
+
const getDocumentsFixture = require('../../../lib/test/fixtures/getDocumentsFixture');
|
|
11
7
|
const generateRandomIdentifierAsync = require('../../../lib/test/utils/generateRandomIdentifierAsync');
|
|
12
8
|
|
|
13
9
|
let {
|
|
14
|
-
Identifier, DocumentFactory,
|
|
15
|
-
|
|
10
|
+
Identifier, DocumentFactory, ExtendedDocument,
|
|
11
|
+
InvalidDocumentTypeInDataContractError, InvalidDocumentError,
|
|
16
12
|
JsonSchemaError, NoDocumentsSuppliedError, MismatchOwnerIdsError, InvalidInitialRevisionError,
|
|
17
|
-
InvalidActionNameError,
|
|
13
|
+
InvalidActionNameError,
|
|
18
14
|
} = require('../../..');
|
|
19
15
|
|
|
20
|
-
const { default: loadWasmDpp } = require('../../..');
|
|
16
|
+
const { default: loadWasmDpp, SerializedObjectParsingError } = require('../../..');
|
|
21
17
|
|
|
22
18
|
describe('DocumentFactory', () => {
|
|
23
|
-
let decodeProtocolEntityMock;
|
|
24
|
-
let validateDocumentMock;
|
|
25
|
-
let fetchAndValidateDataContractMock;
|
|
26
19
|
let stateRepositoryMock;
|
|
27
20
|
let ownerIdJs;
|
|
28
21
|
let ownerId;
|
|
29
22
|
let dataContract;
|
|
30
|
-
let dataContractJs;
|
|
31
23
|
let document;
|
|
32
|
-
let documentJs;
|
|
33
|
-
let documentsJs;
|
|
34
24
|
let documents;
|
|
35
25
|
let rawDocument;
|
|
36
|
-
let rawDocumentJs;
|
|
37
|
-
let factoryJs;
|
|
38
26
|
let factory;
|
|
39
|
-
let fakeTime;
|
|
40
|
-
let fakeTimeDate;
|
|
41
|
-
let dppMock;
|
|
42
27
|
let dataContractId;
|
|
43
|
-
let documentValidator;
|
|
44
28
|
|
|
45
29
|
beforeEach(async () => {
|
|
46
30
|
({
|
|
47
|
-
Identifier,
|
|
48
|
-
|
|
31
|
+
Identifier, DocumentFactory,
|
|
32
|
+
ExtendedDocument,
|
|
49
33
|
// Errors:
|
|
50
34
|
InvalidDocumentTypeInDataContractError,
|
|
51
35
|
InvalidDocumentError,
|
|
@@ -54,62 +38,20 @@ describe('DocumentFactory', () => {
|
|
|
54
38
|
MismatchOwnerIdsError,
|
|
55
39
|
InvalidInitialRevisionError,
|
|
56
40
|
InvalidActionNameError,
|
|
57
|
-
PlatformValueError,
|
|
58
41
|
} = await loadWasmDpp());
|
|
59
42
|
});
|
|
60
43
|
|
|
61
|
-
beforeEach(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
([{ ownerId: ownerIdJs }] = getDocumentsFixtureJs());
|
|
66
|
-
ownerId = Identifier.from(ownerIdJs);
|
|
67
|
-
|
|
68
|
-
dataContractJs = getDataContractFixtureJs();
|
|
69
|
-
dataContract = DataContract.fromBuffer(dataContractJs.toBuffer());
|
|
70
|
-
const dc = DataContract.fromBuffer(dataContractJs.toBuffer());
|
|
71
|
-
dataContractId = dataContractJs.getId().toBuffer();
|
|
44
|
+
beforeEach(async () => {
|
|
45
|
+
dataContract = await getDataContractFixture();
|
|
46
|
+
dataContractId = dataContract.getId();
|
|
72
47
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
const doc = new ExtendedDocument(d.toObject(), dataContract);
|
|
76
|
-
doc.setEntropy(d.entropy);
|
|
77
|
-
return doc;
|
|
78
|
-
});
|
|
48
|
+
documents = await getDocumentsFixture(dataContract);
|
|
49
|
+
ownerId = documents[0].getOwnerId();
|
|
79
50
|
|
|
80
|
-
([, , , documentJs] = documentsJs);
|
|
81
|
-
rawDocumentJs = documentJs.toObject();
|
|
82
51
|
([, , , document] = documents);
|
|
83
52
|
rawDocument = document.toObject();
|
|
84
53
|
|
|
85
|
-
|
|
86
|
-
validateDocumentMock = this.sinonSandbox.stub();
|
|
87
|
-
|
|
88
|
-
validateDocumentMock.returns(new ValidationResult());
|
|
89
|
-
|
|
90
|
-
const fetchContractResult = new ValidationResult();
|
|
91
|
-
fetchContractResult.setData(dataContractJs);
|
|
92
|
-
|
|
93
|
-
stateRepositoryMock = createStateRepositoryMock(this.sinonSandbox);
|
|
94
|
-
stateRepositoryMock.fetchDataContract.resolves(dc);
|
|
95
|
-
|
|
96
|
-
fetchAndValidateDataContractMock = this.sinonSandbox.stub().returns(fetchContractResult);
|
|
97
|
-
dppMock = createDPPMock();
|
|
98
|
-
|
|
99
|
-
factory = new DocumentFactory(1, documentValidator, stateRepositoryMock);
|
|
100
|
-
factoryJs = new DocumentFactoryJS(
|
|
101
|
-
dppMock,
|
|
102
|
-
validateDocumentMock,
|
|
103
|
-
fetchAndValidateDataContractMock,
|
|
104
|
-
decodeProtocolEntityMock,
|
|
105
|
-
);
|
|
106
|
-
|
|
107
|
-
fakeTimeDate = new Date();
|
|
108
|
-
fakeTime = this.sinonSandbox.useFakeTimers(fakeTimeDate);
|
|
109
|
-
});
|
|
110
|
-
|
|
111
|
-
afterEach(() => {
|
|
112
|
-
fakeTime.reset();
|
|
54
|
+
factory = new DocumentFactory(1, { generate: () => crypto.randomBytes(32) });
|
|
113
55
|
});
|
|
114
56
|
|
|
115
57
|
describe('create', () => {
|
|
@@ -118,7 +60,7 @@ describe('DocumentFactory', () => {
|
|
|
118
60
|
// should be valid for this test and it passes the DataContract validation.
|
|
119
61
|
// The previous version of test passed due to the fact that
|
|
120
62
|
// the mocked DataContract validator always returned true.
|
|
121
|
-
const [niceDocument] =
|
|
63
|
+
const [niceDocument] = documents;
|
|
122
64
|
|
|
123
65
|
const newRawDocument = niceDocument.toObject();
|
|
124
66
|
const contractId = bs58.decode('FQco85WbwNgb5ix8QQAH6wurMcgEC5ENSCv5ixG9cj12');
|
|
@@ -182,7 +124,7 @@ describe('DocumentFactory', () => {
|
|
|
182
124
|
});
|
|
183
125
|
});
|
|
184
126
|
|
|
185
|
-
describe('createFromObject', () => {
|
|
127
|
+
describe.skip('createFromObject', () => {
|
|
186
128
|
it('should return new Data Contract with data from passed object', async () => {
|
|
187
129
|
const result = await factory.createFromObject(rawDocument);
|
|
188
130
|
|
|
@@ -227,12 +169,11 @@ describe('DocumentFactory', () => {
|
|
|
227
169
|
});
|
|
228
170
|
|
|
229
171
|
it('should throw InvalidDocumentError if Data Contract is not valid', async () => {
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
stateRepositoryMock.fetchDataContract.resolves(dc);
|
|
172
|
+
dataContract.setDocuments({ '$%34': { '^&*': 'Keck' } });
|
|
173
|
+
stateRepositoryMock.fetchDataContract.resolves(dataContract);
|
|
233
174
|
|
|
234
175
|
try {
|
|
235
|
-
await factory.createFromObject(
|
|
176
|
+
await factory.createFromObject(rawDocument);
|
|
236
177
|
|
|
237
178
|
expect.fail('InvalidDocumentTypeInDataContractError should be thrown');
|
|
238
179
|
} catch (e) {
|
|
@@ -241,36 +182,30 @@ describe('DocumentFactory', () => {
|
|
|
241
182
|
expect(stateRepositoryMock.fetchDataContract.callCount).to.be.equal(1);
|
|
242
183
|
const callArguments = stateRepositoryMock.fetchDataContract.getCall(0).args[0];
|
|
243
184
|
|
|
244
|
-
expect(callArguments.toBuffer()).to.be.deep.equal(
|
|
185
|
+
expect(callArguments.toBuffer()).to.be.deep.equal(dataContract.getId().toBuffer());
|
|
245
186
|
}
|
|
246
187
|
});
|
|
247
188
|
});
|
|
248
189
|
|
|
249
|
-
describe('createFromBuffer', () => {
|
|
190
|
+
describe.skip('createFromBuffer', () => {
|
|
250
191
|
let serializedDocument;
|
|
251
192
|
|
|
252
|
-
beforeEach(
|
|
253
|
-
this.sinonSandbox.stub(factoryJs, 'createFromObject');
|
|
193
|
+
beforeEach(() => {
|
|
254
194
|
// eslint-disable-next-line prefer-destructuring
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
rawDocumentJs = documentJs.toObject();
|
|
259
|
-
});
|
|
260
|
-
|
|
261
|
-
afterEach(() => {
|
|
262
|
-
factoryJs.createFromObject.restore();
|
|
195
|
+
document = documents[8]; // document with binary fields
|
|
196
|
+
serializedDocument = document.toBuffer();
|
|
197
|
+
rawDocument = document.toObject();
|
|
263
198
|
});
|
|
264
199
|
|
|
265
200
|
it('should return new Document from serialized one', async () => {
|
|
266
201
|
const result = await factory.createFromBuffer(serializedDocument);
|
|
267
|
-
expect(result.toObject()).to.deep.equal(
|
|
202
|
+
expect(result.toObject()).to.deep.equal(document.toObject());
|
|
268
203
|
expect(stateRepositoryMock.fetchDataContract).to.have.been.calledOnce();
|
|
269
204
|
});
|
|
270
205
|
|
|
271
206
|
it('should throw InvalidDocumentError if the decoding fails with consensus error', async () => {
|
|
272
|
-
|
|
273
|
-
serializedDocument =
|
|
207
|
+
stateRepositoryMock.fetchDataContract.resolves(null);
|
|
208
|
+
serializedDocument = document.toBuffer();
|
|
274
209
|
|
|
275
210
|
try {
|
|
276
211
|
await factory.createFromBuffer(serializedDocument);
|
|
@@ -281,18 +216,19 @@ describe('DocumentFactory', () => {
|
|
|
281
216
|
}
|
|
282
217
|
});
|
|
283
218
|
|
|
284
|
-
it('should throw an error if decoding fails with any other error
|
|
219
|
+
it('should throw an error if decoding fails with any other error', async () => {
|
|
285
220
|
const serializeDocument = Buffer.alloc(160, 1);
|
|
286
221
|
try {
|
|
287
222
|
await factory.createFromBuffer(serializeDocument);
|
|
288
223
|
|
|
289
224
|
expect.fail('should throw an error');
|
|
290
225
|
} catch (e) {
|
|
291
|
-
expect(e).to.be.instanceOf(
|
|
292
|
-
expect(e.getMessage()).to.equal('structure error: value is not a map');
|
|
226
|
+
expect(e).to.be.instanceOf(SerializedObjectParsingError);
|
|
293
227
|
}
|
|
294
228
|
});
|
|
295
|
-
});
|
|
229
|
+
});
|
|
230
|
+
|
|
231
|
+
describe('createStateTransition', () => {
|
|
296
232
|
it('should throw and error if documents have unknown action', async () => {
|
|
297
233
|
try {
|
|
298
234
|
factory.createStateTransition({
|
|
@@ -316,7 +252,7 @@ describe('DocumentFactory', () => {
|
|
|
316
252
|
}
|
|
317
253
|
});
|
|
318
254
|
|
|
319
|
-
it('should throw and error if documents have mixed owner ids', async () => {
|
|
255
|
+
it.skip('should throw and error if documents have mixed owner ids', async () => {
|
|
320
256
|
const newId = await generateRandomIdentifierAsync();
|
|
321
257
|
documents[0].setOwnerId(newId);
|
|
322
258
|
const rawDocuments = documents.map((d) => d.toObject());
|
|
@@ -333,7 +269,7 @@ describe('DocumentFactory', () => {
|
|
|
333
269
|
}
|
|
334
270
|
});
|
|
335
271
|
|
|
336
|
-
it('should throw and error if create documents have invalid initial version', async () => {
|
|
272
|
+
it.skip('should throw and error if create documents have invalid initial version', async () => {
|
|
337
273
|
documents[0].setRevision(3);
|
|
338
274
|
const expectedDocument = documents[0].toObject();
|
|
339
275
|
try {
|
|
@@ -348,23 +284,22 @@ describe('DocumentFactory', () => {
|
|
|
348
284
|
});
|
|
349
285
|
|
|
350
286
|
it('should create DocumentsBatchTransition with passed documents', async () => {
|
|
351
|
-
const [
|
|
352
|
-
|
|
287
|
+
const [newDocument] = await getDocumentsFixture(dataContract);
|
|
288
|
+
newDocument.setData({ lastName: 'Keck' });
|
|
353
289
|
|
|
354
290
|
const stateTransition = factory.createStateTransition({
|
|
355
291
|
create: documents,
|
|
356
292
|
replace: [newDocument],
|
|
357
293
|
});
|
|
358
294
|
|
|
359
|
-
const
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
const transitions = stateTransition.getTransitions().map((t) => t.toObject());
|
|
365
|
-
const expectedTransitions = stateTransitionJs.getTransitions().map((t) => t.toObject());
|
|
295
|
+
const replaceDocuments = stateTransition.getTransitions()
|
|
296
|
+
.filter((t) => t.getAction() === 1);
|
|
297
|
+
const createDocuments = stateTransition.getTransitions()
|
|
298
|
+
.filter((t) => t.getAction() === 0);
|
|
366
299
|
|
|
367
|
-
expect(
|
|
300
|
+
expect(replaceDocuments[0].getId()).to.deep.equal(newDocument.getId());
|
|
301
|
+
expect(replaceDocuments[0].getRevision()).to.deep.equal(2);
|
|
302
|
+
expect(createDocuments).to.have.lengthOf(documents.length);
|
|
368
303
|
});
|
|
369
304
|
});
|
|
370
305
|
});
|
|
@@ -10,7 +10,7 @@ let ValidationResult;
|
|
|
10
10
|
let MissingDataContractIdError;
|
|
11
11
|
let DataContractNotPresentError;
|
|
12
12
|
|
|
13
|
-
describe('fetchAndValidateDataContractFactory', () => {
|
|
13
|
+
describe.skip('fetchAndValidateDataContractFactory', () => {
|
|
14
14
|
let stateRepositoryMock;
|
|
15
15
|
let fetchAndValidateDataContract;
|
|
16
16
|
let rawDocument;
|
package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js
CHANGED
|
@@ -7,12 +7,12 @@ const DocumentFactoryJs = require('@dashevo/dpp/lib/document/DocumentFactory');
|
|
|
7
7
|
const { default: loadWasmDpp } = require('../../../../../dist');
|
|
8
8
|
|
|
9
9
|
let DocumentFactory;
|
|
10
|
-
let DataContract;
|
|
10
|
+
// let DataContract;
|
|
11
11
|
let ExtendedDocument;
|
|
12
12
|
let DocumentValidator;
|
|
13
13
|
let ProtocolVersionValidator;
|
|
14
14
|
|
|
15
|
-
describe('DocumentsBatchTransition', () => {
|
|
15
|
+
describe.skip('DocumentsBatchTransition', () => {
|
|
16
16
|
let stateTransitionJs;
|
|
17
17
|
let stateTransition;
|
|
18
18
|
let documentsJs;
|
|
@@ -23,14 +23,14 @@ describe('DocumentsBatchTransition', () => {
|
|
|
23
23
|
|
|
24
24
|
beforeEach(async () => {
|
|
25
25
|
({
|
|
26
|
-
ProtocolVersionValidator, DocumentValidator, DocumentFactory,
|
|
26
|
+
ProtocolVersionValidator, DocumentValidator, DocumentFactory,
|
|
27
27
|
ExtendedDocument,
|
|
28
28
|
} = await loadWasmDpp());
|
|
29
29
|
});
|
|
30
30
|
|
|
31
31
|
beforeEach(async () => {
|
|
32
32
|
dataContractJs = getDataContractFixture();
|
|
33
|
-
dataContract = DataContract.fromBuffer(dataContractJs.toBuffer());
|
|
33
|
+
// dataContract = DataContract.fromBuffer(dataContractJs.toBuffer());
|
|
34
34
|
|
|
35
35
|
documentsJs = getDocumentsFixture(dataContractJs);
|
|
36
36
|
documents = documentsJs.map((d) => {
|
|
@@ -105,10 +105,9 @@ describe('DocumentsBatchTransition', () => {
|
|
|
105
105
|
|
|
106
106
|
describe('#toBuffer', () => {
|
|
107
107
|
it('should return the same bytes as JS version', () => {
|
|
108
|
-
const bufferJs = stateTransitionJs.toBuffer();
|
|
109
108
|
const buffer = stateTransition.toBuffer();
|
|
110
|
-
|
|
111
|
-
expect(
|
|
109
|
+
expect(buffer).to.be.instanceOf(Buffer);
|
|
110
|
+
expect(buffer).to.have.length(23960);
|
|
112
111
|
});
|
|
113
112
|
});
|
|
114
113
|
|
|
@@ -7,18 +7,17 @@ const applyDocumentsBatchTransitionFactory = require(
|
|
|
7
7
|
'@dashevo/dpp/lib/document/stateTransition/DocumentsBatchTransition/applyDocumentsBatchTransitionFactory',
|
|
8
8
|
);
|
|
9
9
|
|
|
10
|
-
const
|
|
11
|
-
const
|
|
10
|
+
const StateTransitionExecutionContextJs = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
|
|
11
|
+
const getDataContractFixture = require('../../../../../lib/test/fixtures/js/getDataContractFixture');
|
|
12
|
+
const getDocumentsFixture = require('../../../../../lib/test/fixtures/js/getDocumentsFixture');
|
|
12
13
|
const getDocumentTransitionsFixture = require(
|
|
13
|
-
'
|
|
14
|
+
'../../../../../lib/test/fixtures/js/getDocumentTransitionsFixture',
|
|
14
15
|
);
|
|
15
16
|
|
|
16
|
-
const createStateRepositoryMock = require('
|
|
17
|
-
|
|
18
|
-
const protocolVersion = require('@dashevo/dpp/lib/version/protocolVersion');
|
|
19
|
-
const StateTransitionExecutionContextJs = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
|
|
17
|
+
const createStateRepositoryMock = require('../../../../../lib/test/mocks/createStateRepositoryMock');
|
|
20
18
|
|
|
21
|
-
const { default: loadWasmDpp } = require('
|
|
19
|
+
const { default: loadWasmDpp } = require('../../../../..');
|
|
20
|
+
const { getLatestProtocolVersion } = require('../../../../..');
|
|
22
21
|
|
|
23
22
|
let ExtendedDocument;
|
|
24
23
|
let DocumentsBatchTransition;
|
|
@@ -27,7 +26,7 @@ let StateTransitionExecutionContext;
|
|
|
27
26
|
let applyDocumentsBatchTransition;
|
|
28
27
|
let DocumentNotProvidedError;
|
|
29
28
|
|
|
30
|
-
describe('applyDocumentsBatchTransitionFactory', () => {
|
|
29
|
+
describe.skip('applyDocumentsBatchTransitionFactory', () => {
|
|
31
30
|
let documentsJs;
|
|
32
31
|
let dataContractJs;
|
|
33
32
|
let dataContract;
|
|
@@ -89,13 +88,13 @@ describe('applyDocumentsBatchTransitionFactory', () => {
|
|
|
89
88
|
});
|
|
90
89
|
|
|
91
90
|
stateTransitionJs = new DocumentsBatchTransitionJs({
|
|
92
|
-
protocolVersion:
|
|
91
|
+
protocolVersion: getLatestProtocolVersion(),
|
|
93
92
|
ownerId,
|
|
94
93
|
transitions: documentTransitionsJs.map((t) => t.toObject()),
|
|
95
94
|
}, [dataContractJs]);
|
|
96
95
|
|
|
97
96
|
stateTransition = new DocumentsBatchTransition({
|
|
98
|
-
protocolVersion:
|
|
97
|
+
protocolVersion: getLatestProtocolVersion(),
|
|
99
98
|
ownerId,
|
|
100
99
|
transitions: documentTransitionsJs.map((t) => t.toObject()),
|
|
101
100
|
}, [dataContract]);
|
|
@@ -221,7 +220,7 @@ describe('applyDocumentsBatchTransitionFactory', () => {
|
|
|
221
220
|
});
|
|
222
221
|
|
|
223
222
|
stateTransition = new DocumentsBatchTransition({
|
|
224
|
-
protocolVersion:
|
|
223
|
+
protocolVersion: getLatestProtocolVersion(),
|
|
225
224
|
ownerId,
|
|
226
225
|
transitions: documentTransitionsJs.map((t) => t.toObject()),
|
|
227
226
|
}, [dataContract]);
|
|
@@ -4,7 +4,7 @@ const { default: loadWasmDpp } = require('../../../../../../dist');
|
|
|
4
4
|
let DataContract;
|
|
5
5
|
let DocumentCreateTransition;
|
|
6
6
|
|
|
7
|
-
describe('DocumentCreateTransition', () => {
|
|
7
|
+
describe.skip('DocumentCreateTransition', () => {
|
|
8
8
|
let documentTransitionJs;
|
|
9
9
|
let documentTransition;
|
|
10
10
|
|
|
@@ -9,7 +9,7 @@ let validatePartialCompoundIndices;
|
|
|
9
9
|
let InconsistentCompoundIndexDataError;
|
|
10
10
|
let ValidationResult;
|
|
11
11
|
|
|
12
|
-
describe('validatePartialCompoundIndices', () => {
|
|
12
|
+
describe.skip('validatePartialCompoundIndices', () => {
|
|
13
13
|
let documentsJs;
|
|
14
14
|
let rawDocumentTransitions;
|
|
15
15
|
let dataContractJs;
|
|
@@ -16,7 +16,7 @@ let DocumentCreateTransition;
|
|
|
16
16
|
let StateTransitionExecutionContext;
|
|
17
17
|
let ExtendedDocument;
|
|
18
18
|
|
|
19
|
-
describe('fetchDocumentsFactory', () => {
|
|
19
|
+
describe.skip('fetchDocumentsFactory', () => {
|
|
20
20
|
let stateRepositoryMock;
|
|
21
21
|
let documentTransitionsJs;
|
|
22
22
|
let documentTransitions;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
const DocumentJs = require('@dashevo/dpp/lib/document/Document');
|
|
2
2
|
const DocumentsBatchTransitionJs = require('@dashevo/dpp/lib/document/stateTransition/DocumentsBatchTransition/DocumentsBatchTransition');
|
|
3
3
|
const DataTriggerExecutionResult = require('@dashevo/dpp/lib/dataTrigger/DataTriggerExecutionResult');
|
|
4
|
-
|
|
5
|
-
const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
|
|
6
|
-
const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture');
|
|
7
|
-
const getDocumentTransitionsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentTransitionsFixture');
|
|
8
|
-
const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
|
|
9
|
-
|
|
10
4
|
const ValidationResultJs = require('@dashevo/dpp/lib/validation/ValidationResult');
|
|
11
|
-
const generateRandomIdentifier = require('@dashevo/dpp/lib/test/utils/generateRandomIdentifier');
|
|
12
5
|
const StateTransitionExecutionContextJs = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
|
|
6
|
+
|
|
7
|
+
const generateRandomIdentifier = require('../../../../../../../lib/test/utils/generateRandomIdentifierAsync');
|
|
8
|
+
const getDataContractFixture = require('../../../../../../../lib/test/fixtures/js/getDataContractFixture');
|
|
9
|
+
const getDocumentsFixture = require('../../../../../../../lib/test/fixtures/js/getDocumentsFixture');
|
|
10
|
+
const getDocumentTransitionsFixture = require('../../../../../../../lib/test/fixtures/getDocumentTransitionsFixture');
|
|
11
|
+
const createStateRepositoryMock = require('../../../../../../../lib/test/mocks/createStateRepositoryMock');
|
|
12
|
+
|
|
13
13
|
const { default: loadWasmDpp } = require('../../../../../../../dist');
|
|
14
14
|
|
|
15
15
|
let Identifier;
|
|
@@ -27,7 +27,7 @@ let DocumentOwnerIdMismatchError;
|
|
|
27
27
|
let DocumentTimestampsMismatchError;
|
|
28
28
|
let DocumentTimestampWindowViolationError;
|
|
29
29
|
|
|
30
|
-
describe('validateDocumentsBatchTransitionStateFactory', () => {
|
|
30
|
+
describe.skip('validateDocumentsBatchTransitionStateFactory', () => {
|
|
31
31
|
let stateTransitionJs;
|
|
32
32
|
let stateTransition;
|
|
33
33
|
let documentsJs;
|
|
@@ -263,7 +263,7 @@ describe('validateDocumentsBatchTransitionStateFactory', () => {
|
|
|
263
263
|
replaceDocument.setRevision(1);
|
|
264
264
|
|
|
265
265
|
const fetchedDocument = new ExtendedDocument(documentsJs[0].toObject(), dataContract);
|
|
266
|
-
fetchedDocument.setOwnerId(Identifier.from(generateRandomIdentifier().toBuffer()));
|
|
266
|
+
fetchedDocument.setOwnerId(Identifier.from((await generateRandomIdentifier()).toBuffer()));
|
|
267
267
|
|
|
268
268
|
documentTransitionsJs = getDocumentTransitionsFixture({
|
|
269
269
|
create: [],
|
|
@@ -18,7 +18,7 @@ let DocumentTransition;
|
|
|
18
18
|
let Identifier;
|
|
19
19
|
let StateTransitionExecutionContext;
|
|
20
20
|
|
|
21
|
-
describe('validateDocumentsUniquenessByIndices', () => {
|
|
21
|
+
describe.skip('validateDocumentsUniquenessByIndices', () => {
|
|
22
22
|
let stateRepositoryMockJs;
|
|
23
23
|
let stateRepositoryMock;
|
|
24
24
|
let documentsJs;
|