@dashevo/wasm-dpp 0.23.0-dev.14 → 0.24.0-dev.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +1 -0
- package/Cargo.toml +23 -0
- package/README.md +21 -6
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.LICENSE.txt +8 -0
- package/dist/lib/patchIdentifier.d.ts +2 -0
- package/dist/wasm/wasm_dpp.d.ts +2756 -0
- package/index.ts +30 -0
- package/karma.conf.js +6 -3
- package/lib/patchIdentifier.ts +37 -0
- package/lib/test/.eslintrc +9 -0
- package/lib/test/bootstrap.js +27 -0
- package/lib/test/expect/expectError.js +34 -0
- package/lib/test/karma/loader.js +6 -0
- package/lib/test/utils/generateRandomIdentifierAsync.js +14 -0
- package/package.json +31 -55
- package/scripts/build.sh +69 -0
- package/scripts/clean.sh +4 -0
- package/src/bls_adapter.rs +71 -0
- package/src/buffer.rs +15 -0
- package/src/dash_platform_protocol.rs +26 -0
- package/src/data_contract/data_contract.rs +290 -0
- package/src/data_contract/errors/data_contract_already_exists.rs +1 -0
- package/src/data_contract/errors/invalid_data_contract.rs +29 -0
- package/src/data_contract/errors/invalid_document_type.rs +33 -0
- package/src/data_contract/errors/mod.rs +37 -0
- package/src/data_contract/index.rs +61 -0
- package/src/data_contract/mod.rs +10 -0
- package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +37 -0
- package/src/data_contract/state_transition/mod.rs +3 -0
- package/src/data_contract_factory/data_contract_factory.rs +155 -0
- package/src/data_contract_factory/mod.rs +1 -0
- package/src/document/errors/document_already_exists_error.rs +28 -0
- package/src/document/errors/document_not_provided_error.rs +28 -0
- package/src/document/errors/invalid_action_name_error.rs +24 -0
- package/src/document/errors/invalid_document_action_error.rs +28 -0
- package/src/document/errors/invalid_document_error.rs +32 -0
- package/src/document/errors/invalid_initial_revision_error.rs +25 -0
- package/src/document/errors/mismatch_owners_ids_error.rs +27 -0
- package/src/document/errors/mod.rs +55 -0
- package/src/document/errors/no_documents_supplied_error.rs +22 -0
- package/src/document/mod.rs +158 -0
- package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +22 -0
- package/src/document/state_transition/document_batch_transition/document_transition/document_delete_transition.rs +22 -0
- package/src/document/state_transition/document_batch_transition/document_transition/document_update_transition.rs +22 -0
- package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +24 -0
- package/src/document/state_transition/document_batch_transition/mod.rs +1 -0
- package/src/document/state_transition/mod.rs +1 -0
- package/src/errors/consensus/basic/data_contract/data_contract_have_new_unique_index_error.rs +36 -0
- package/src/errors/consensus/basic/data_contract/data_contract_immutable_properties_update_error.rs +36 -0
- package/src/errors/consensus/basic/data_contract/data_contract_invalid_index_definition_update_error.rs +36 -0
- package/src/errors/consensus/basic/data_contract/data_contract_max_depth_exceed_error.rs +26 -0
- package/src/errors/consensus/basic/data_contract/data_contract_unique_indices_changed_error.rs +36 -0
- package/src/errors/consensus/basic/data_contract/duplicate_index_name_error.rs +36 -0
- package/src/errors/consensus/basic/data_contract/incompatible_data_contract_schema_error.rs +66 -0
- package/src/errors/consensus/basic/data_contract/incompatible_re2_pattern_error.rs +43 -0
- package/src/errors/consensus/basic/data_contract/index_error/duplicate_index_error.rs +39 -0
- package/src/errors/consensus/basic/data_contract/index_error/invalid_compound_index_error.rs +39 -0
- package/src/errors/consensus/basic/data_contract/index_error/invalid_index_property_type_error.rs +59 -0
- package/src/errors/consensus/basic/data_contract/index_error/invalid_indexed_property_constraint_error.rs +67 -0
- package/src/errors/consensus/basic/data_contract/index_error/mod.rs +15 -0
- package/src/errors/consensus/basic/data_contract/index_error/system_property_index_already_present_error.rs +51 -0
- package/src/errors/consensus/basic/data_contract/index_error/undefined_index_property_error.rs +51 -0
- package/src/errors/consensus/basic/data_contract/index_error/unique_indices_limit_reached_error.rs +36 -0
- package/src/errors/consensus/basic/data_contract/invalid_data_contract_id_error.rs +37 -0
- package/src/errors/consensus/basic/data_contract/invalid_data_contract_version_error.rs +36 -0
- package/src/errors/consensus/basic/data_contract/invalid_json_schema_ref_error.rs +26 -0
- package/src/errors/consensus/basic/data_contract/mod.rs +25 -0
- package/src/errors/consensus/basic/decode/mod.rs +5 -0
- package/src/errors/consensus/basic/decode/protocol_version_parsing_error.rs +29 -0
- package/src/errors/consensus/basic/decode/serialized_object_parsing_error.rs +29 -0
- package/src/errors/consensus/basic/document/data_contract_not_present_error.rs +32 -0
- package/src/errors/consensus/basic/document/duplicate_document_transitions_with_ids_error.rs +36 -0
- package/src/errors/consensus/basic/document/inconsistent_compound_index_data_error.rs +40 -0
- package/src/errors/consensus/basic/document/invalid_document_transition_action_error.rs +26 -0
- package/src/errors/consensus/basic/document/invalid_document_transition_id_error.rs +38 -0
- package/src/errors/consensus/basic/document/invalid_document_type_error.rs +39 -0
- package/src/errors/consensus/basic/document/missing_data_contract_id_error.rs +20 -0
- package/src/errors/consensus/basic/document/missing_document_transition_action_error.rs +20 -0
- package/src/errors/consensus/basic/document/missing_document_type_error.rs +20 -0
- package/src/errors/consensus/basic/document/mod.rs +19 -0
- package/src/errors/consensus/basic/identity/duplicated_identity_public_key_error.rs +32 -0
- package/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_error.rs +32 -0
- package/src/errors/consensus/basic/identity/identity_asset_lock_proof_locked_transaction_mismatch_error.rs +38 -0
- package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_is_not_found_error.rs +31 -0
- package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs +37 -0
- package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs +29 -0
- package/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +33 -0
- package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_core_chain_height_error.rs +34 -0
- package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_transaction_height_error.rs +34 -0
- package/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size_error.rs +29 -0
- package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs +60 -0
- package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs +29 -0
- package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_core_fee_error.rs +29 -0
- package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_output_script_error.rs +32 -0
- package/src/errors/consensus/basic/identity/invalid_identity_key_signature_error.rs +29 -0
- package/src/errors/consensus/basic/identity/invalid_identity_public_key_data_error.rs +39 -0
- package/src/errors/consensus/basic/identity/invalid_identity_public_key_security_level_error.rs +42 -0
- package/src/errors/consensus/basic/identity/invalid_identity_public_key_type_error.rs +30 -0
- package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs +22 -0
- package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_signature_error.rs +24 -0
- package/src/errors/consensus/basic/identity/missing_master_public_key_error.rs +22 -0
- package/src/errors/consensus/basic/identity/missing_public_key_error.rs +29 -0
- package/src/errors/consensus/basic/identity/mod.rs +45 -0
- package/src/errors/consensus/basic/incompatible_protocol_version_error.rs +32 -0
- package/src/errors/consensus/basic/invalid_identifier_error.rs +36 -0
- package/src/errors/consensus/basic/invalid_signature_public_key_security_level_error.rs +41 -0
- package/src/errors/consensus/basic/invalid_state_transition_signature_error.rs +20 -0
- package/src/errors/consensus/basic/json_schema_compilation_error.rs +26 -0
- package/src/errors/consensus/basic/json_schema_error.rs +274 -0
- package/src/errors/consensus/basic/mod.rs +30 -0
- package/src/errors/consensus/basic/public_key_is_disabled_error.rs +30 -0
- package/src/errors/consensus/basic/public_key_security_level_not_met_error.rs +41 -0
- package/src/errors/consensus/basic/state_transition/invalid_state_transition_type_error.rs +29 -0
- package/src/errors/consensus/basic/state_transition/missing_state_transition_type_error.rs +20 -0
- package/src/errors/consensus/basic/state_transition/mod.rs +7 -0
- package/src/errors/consensus/basic/state_transition/state_transition_max_size_exceeded_error.rs +36 -0
- package/src/errors/consensus/basic/test_consensus_error.rs +21 -0
- package/src/errors/consensus/basic/unsupported_protocol_version_error.rs +32 -0
- package/src/errors/consensus/basic/wrong_public_key_purpose_error.rs +37 -0
- package/src/errors/consensus/fee/balance_is_not_enough_error.rs +32 -0
- package/src/errors/consensus/fee/mod.rs +3 -0
- package/src/errors/consensus/mod.rs +4 -0
- package/src/errors/consensus/signature/identity_not_found_error.rs +29 -0
- package/src/errors/consensus/signature/mod.rs +3 -0
- package/src/errors/consensus/state/data_contract/data_contract_already_present_error.rs +31 -0
- package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_condition_error.rs +74 -0
- package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_execution_error.rs +82 -0
- package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_invalid_result_error.rs +66 -0
- package/src/errors/consensus/state/data_contract/data_trigger/mod.rs +7 -0
- package/src/errors/consensus/state/data_contract/mod.rs +4 -0
- package/src/errors/consensus/state/document/document_already_present_error.rs +28 -0
- package/src/errors/consensus/state/document/document_not_found_error.rs +28 -0
- package/src/errors/consensus/state/document/document_owner_id_mismatch_error.rs +50 -0
- package/src/errors/consensus/state/document/document_timestamp_window_violation_error.rs +72 -0
- package/src/errors/consensus/state/document/document_timestamps_mismatch_error.rs +28 -0
- package/src/errors/consensus/state/document/duplicate_unique_index_error.rs +42 -0
- package/src/errors/consensus/state/document/invalid_document_revision_error.rs +38 -0
- package/src/errors/consensus/state/document/mod.rs +15 -0
- package/src/errors/consensus/state/identity/identity_already_exists_error.rs +28 -0
- package/src/errors/consensus/state/identity/identity_public_key_disabled_at_window_violation_error.rs +49 -0
- package/src/errors/consensus/state/identity/identity_public_key_is_disabled_error.rs +31 -0
- package/src/errors/consensus/state/identity/identity_public_key_is_read_only_error.rs +28 -0
- package/src/errors/consensus/state/identity/invalid_identity_public_key_id_error.rs +28 -0
- package/src/errors/consensus/state/identity/invalid_identity_revision_error.rs +38 -0
- package/src/errors/consensus/state/identity/max_identity_public_key_limit_reached_error.rs +26 -0
- package/src/errors/consensus/state/identity/mod.rs +15 -0
- package/src/errors/consensus/state/mod.rs +3 -0
- package/src/errors/consensus_error.rs +612 -0
- package/src/errors/from.rs +24 -0
- package/src/errors/js_conversion.rs +63 -0
- package/src/errors/mod.rs +10 -0
- package/src/errors/public_key_validation_error.rs +23 -0
- package/src/identifier.rs +103 -0
- package/src/identity.rs +253 -0
- package/src/identity_facade.rs +55 -0
- package/src/identity_public_key/key_type.rs +22 -0
- package/src/identity_public_key/mod.rs +192 -0
- package/src/identity_public_key/public_keys_validator.rs +44 -0
- package/src/identity_public_key/purpose.rs +24 -0
- package/src/identity_public_key/security_level.rs +21 -0
- package/src/lib.rs +28 -0
- package/src/metadata.rs +54 -0
- package/src/utils.rs +59 -0
- package/src/validation_result.rs +41 -0
- package/test/integration/DashPlatformProtocol.spec.js +4 -4
- package/test/integration/ajv/keywords/byteArray/addByteArrayKeyword.spec.js +2 -2
- package/test/integration/dataContract/DataContractFacade.spec.js +6 -6
- package/test/integration/dataContract/stateTransition/DataContractCreateTransition/validation/basic/validateDataContractCreateTransitionBasicFactory.spec.js +10 -10
- package/test/integration/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateDataContractUpdateTransitionBasicFactory.spec.js +14 -14
- package/test/integration/dataContract/validation/validateDataContractFactory.spec.js +22 -22
- package/test/integration/document/Document.spec.js +10 -5
- package/test/integration/document/DocumentFacade.spec.js +11 -11
- package/test/integration/document/stateTransition/DocumentsBatchTransition/DocumentBatchTransition.spec.js +5 -5
- package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/basic/validateDocumentsBatchTransitionBasicFactory.spec.js +25 -25
- package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/state/executeDataTriggersFactory.spec.js +15 -15
- package/test/integration/document/validation/validateDocumentFactory.spec.js +12 -12
- package/test/integration/error/consensus/createConsensusError.spec.js +3 -3
- package/test/integration/identity/IdentityFacade.spec.js +13 -13
- package/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js +12 -12
- package/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js +11 -11
- package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/basic/validateIdentityUpdateTransitionBasicFactory.spec.js +8 -8
- package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory.spec.js +24 -39
- package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validatePublicKeysState.spec.js +7 -7
- package/test/integration/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory.spec.js +29 -35
- package/test/integration/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory.spec.js +8 -8
- package/test/integration/identity/stateTransition/assetLockProof/instant/validateInstantAssetLockProofStructureFactory.spec.js +11 -11
- package/test/integration/identity/stateTransition/assetLockProof/validateAssetLockTransactionFactory.spec.js +10 -10
- package/test/integration/identity/stateTransition/validatePublicKeySignaturesFactory.spec.js +7 -7
- package/test/integration/identity/validation/validateIdentityFactory.spec.js +8 -8
- package/test/integration/identity/validation/validatePublicKeysFactory.spec.js +50 -24
- package/test/integration/stateTransition/AbstractStateTransitionIdentitySigned.spec.js +14 -14
- package/test/integration/stateTransition/StateTransitionFacade.spec.js +15 -19
- package/test/integration/stateTransition/calculateStateTransitionFee.spec.js +8 -11
- package/test/integration/util/generateEntropy.spec.js +1 -1
- package/test/integration/util/serializer.spec.js +2 -2
- package/test/unit/DashPlatformProtocol.spec.js +4 -4
- package/test/unit/Identifier.spec.js +2 -2
- package/test/unit/Metadata.spec.js +1 -1
- package/test/unit/dataContract/DataContract.spec.js +100 -159
- package/test/unit/dataContract/DataContractFactory.spec.js +55 -111
- package/test/unit/dataContract/createDataContract.spec.js +20 -10
- package/test/unit/dataContract/errors/InvalidDataContractError.spec.js +2 -2
- package/test/unit/dataContract/generateDataContractId.spec.js +23 -6
- package/test/unit/dataContract/getBinaryPropertiesFromSchema.spec.js +1 -1
- package/test/unit/dataContract/getPropertyDefinitionByPath.spec.js +1 -1
- package/test/unit/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition.spec.js +8 -8
- package/test/unit/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory.spec.js +6 -6
- package/test/unit/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory.spec.js +8 -8
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +8 -8
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory.spec.js +6 -6
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateIndicesAreBackwardCompatible.spec.js +6 -6
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory.spec.js +9 -9
- package/test/unit/dataContract/validation/validateDataContractMaxDepthFactory.spec.js +6 -6
- package/test/unit/dataContract/validation/validateDataContractPatternsFactory.spec.js +3 -3
- package/test/unit/dataTrigger/DataTrigger.spec.js +8 -8
- package/test/unit/dataTrigger/DataTriggerExecutionContext.spec.js +4 -4
- package/test/unit/dataTrigger/dashpayDataTriggers/createContactRequestDataTrigger.spec.js +13 -15
- package/test/unit/dataTrigger/dpnsTriggers/createDomainDataTrigger.spec.js +12 -12
- package/test/unit/dataTrigger/featureFlagDataTriggers/createFeatureFlagDataTrigger.spec.js +11 -13
- package/test/unit/dataTrigger/getDataTriggersFactory.spec.js +7 -7
- package/test/unit/dataTrigger/rejectDataTrigger.spec.js +8 -8
- package/test/unit/dataTrigger/rewardShareDataTriggers/createMasternodeRewardSharesDataTrigger.spec.js +9 -9
- package/test/unit/decodeProtocolEntityFactory.spec.js +4 -4
- package/test/unit/document/Document.spec.js +9 -9
- package/test/unit/document/DocumentFactory.spec.js +19 -19
- package/test/unit/document/errors/InvalidDocumentError.spec.js +2 -2
- package/test/unit/document/fetchAndValidateDataContractFactory.spec.js +8 -8
- package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +8 -8
- package/test/unit/document/stateTransition/DocumetsBatchTransition/applyDocumentsBatchTransitionFactory.spec.js +16 -17
- package/test/unit/document/stateTransition/DocumetsBatchTransition/documentTransition/DocumentCreateTransition.spec.js +1 -1
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesById.spec.js +2 -2
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js +6 -6
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/validatePartialCompoundIndices.spec.js +7 -7
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/fetchDocumentsFactory.spec.js +6 -6
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsBatchTransitionStateFactory.spec.js +27 -34
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsUniquenessByIndicesFactory.spec.js +9 -9
- package/test/unit/errors/consensus/codes.spec.js +7 -7
- package/test/unit/identity/Identity.spec.js +98 -69
- package/test/unit/identity/IdentityFactory.spec.js +15 -15
- package/test/unit/identity/IdentityPublicKey.spec.js +53 -66
- package/test/unit/identity/creditsConverter.spec.js +1 -1
- package/test/unit/identity/errors/InvalidIdentityError.spec.js +2 -2
- package/test/unit/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition.spec.js +7 -7
- package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +8 -8
- package/test/unit/identity/stateTransition/IdentityCreateTransition/validation/state/validateIdentityCreateTransitionStateFactory.spec.js +6 -6
- package/test/unit/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition.spec.js +4 -4
- package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +7 -7
- package/test/unit/identity/stateTransition/IdentityTopUpTransition/validation/state/validateIdentityTopUpTransitionStateFactory.spec.js +2 -2
- package/test/unit/identity/stateTransition/IdentityUpdateTransition/IdentityUpdateTransition.spec.js +6 -6
- package/test/unit/identity/stateTransition/IdentityUpdateTransition/applyIdentityUpdateTransitionFactory.spec.js +6 -6
- package/test/unit/identity/stateTransition/assetLockProof/createAssetLockProofInstance.spec.js +5 -5
- package/test/unit/identity/stateTransition/assetLockProof/fetchAssetLockPublicKeyHashFactory.spec.js +3 -3
- package/test/unit/identity/validation/validateRequiredPurposeAndSecurityLevelFactory.spec.js +5 -5
- package/test/unit/stateTransition/StateTransitionFactory.spec.js +8 -8
- package/test/unit/stateTransition/createStateTransitionFactory.spec.js +8 -8
- package/test/unit/stateTransition/errors/InvalidStateTransitionError.spec.js +3 -3
- package/test/unit/stateTransition/validation/validateStateTransitionBasicFactory.spec.js +12 -12
- package/test/unit/stateTransition/validation/validateStateTransitionFeeFactory.spec.js +15 -15
- package/test/unit/stateTransition/validation/validateStateTransitionIdentitySignatureFactory.spec.js +22 -22
- package/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js +6 -6
- package/test/unit/stateTransition/validation/validateStateTransitionStateFactory.spec.js +9 -9
- package/test/unit/version/validateProtocolVersionFactory.spec.js +7 -7
- package/tsconfig.json +18 -0
- package/wasm/wasm_dpp.d.ts +2756 -0
- package/wasm/wasm_dpp.js +7750 -0
- package/wasm/wasm_dpp_bg.js +1 -0
- package/wasm/wasm_dpp_bg.wasm +0 -0
- package/wasm/wasm_dpp_bg.wasm.d.ts +518 -0
- package/webpack.config.js +22 -19
- package/CHANGELOG.md +0 -397
|
@@ -1,178 +1,122 @@
|
|
|
1
|
-
const getDataContractFixture = require('
|
|
1
|
+
const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
|
|
2
2
|
|
|
3
|
-
const protocolVersion = require('
|
|
3
|
+
const protocolVersion = require('@dashevo/dpp/lib/version/protocolVersion');
|
|
4
4
|
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
const ValidationResult = require('../../../lib/validation/ValidationResult');
|
|
8
|
-
|
|
9
|
-
const InvalidDataContractError = require('../../../lib/dataContract/errors/InvalidDataContractError');
|
|
10
|
-
const SerializedObjectParsingError = require('../../../lib/errors/consensus/basic/decode/SerializedObjectParsingError');
|
|
11
|
-
const createDPPMock = require('../../../lib/test/mocks/createDPPMock');
|
|
12
|
-
const SomeConsensusError = require('../../../lib/test/mocks/SomeConsensusError');
|
|
13
|
-
|
|
14
|
-
const DataContractFactory = require('../../../lib/dataContract/DataContractFactory');
|
|
15
|
-
const entropyGenerator = require('../../../lib/util/entropyGenerator');
|
|
5
|
+
const { default: loadWasmDpp } = require('../../../dist');
|
|
16
6
|
|
|
17
7
|
describe('DataContractFactory', () => {
|
|
18
|
-
let
|
|
19
|
-
let
|
|
8
|
+
let DataContractFactory;
|
|
9
|
+
let DataContractValidator;
|
|
10
|
+
let DataContract;
|
|
11
|
+
let InvalidDataContractError;
|
|
12
|
+
|
|
20
13
|
let factory;
|
|
21
|
-
let
|
|
14
|
+
let jsDataContract;
|
|
22
15
|
let rawDataContract;
|
|
23
|
-
let
|
|
24
|
-
|
|
16
|
+
let dataContractValidator;
|
|
17
|
+
|
|
18
|
+
before(async () => {
|
|
19
|
+
({
|
|
20
|
+
DataContractFactory, DataContractValidator, DataContract, InvalidDataContractError,
|
|
21
|
+
} = await loadWasmDpp());
|
|
22
|
+
});
|
|
25
23
|
|
|
26
|
-
beforeEach(
|
|
27
|
-
|
|
28
|
-
dppMock = createDPPMock();
|
|
24
|
+
beforeEach(() => {
|
|
25
|
+
jsDataContract = getDataContractFixture();
|
|
29
26
|
|
|
30
|
-
|
|
27
|
+
// For some reason fixture has empty $defs which violates meta schema
|
|
28
|
+
delete jsDataContract.$defs;
|
|
31
29
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
rawDataContract = jsDataContract.toObject();
|
|
31
|
+
|
|
32
|
+
dataContractValidator = new DataContractValidator();
|
|
35
33
|
|
|
36
34
|
factory = new DataContractFactory(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
decodeProtocolEntityMock,
|
|
35
|
+
1,
|
|
36
|
+
dataContractValidator,
|
|
40
37
|
);
|
|
41
38
|
});
|
|
42
39
|
|
|
43
|
-
afterEach(() => {
|
|
44
|
-
generateEntropyMock.restore();
|
|
45
|
-
});
|
|
46
|
-
|
|
47
40
|
describe('create', () => {
|
|
48
41
|
it('should return new Data Contract with specified name and documents definition', () => {
|
|
49
|
-
generateEntropyMock.returns(dataContract.getEntropy());
|
|
50
42
|
const result = factory.create(
|
|
51
|
-
|
|
43
|
+
jsDataContract.ownerId.toBuffer(),
|
|
52
44
|
rawDataContract.documents,
|
|
53
|
-
);
|
|
45
|
+
).toObject();
|
|
54
46
|
|
|
55
|
-
expect(result).excluding('$
|
|
47
|
+
expect(result).excluding('$id').to.deep.equal(rawDataContract);
|
|
56
48
|
});
|
|
57
49
|
});
|
|
58
50
|
|
|
59
51
|
describe('createFromObject', () => {
|
|
60
52
|
it('should return new Data Contract with data from passed object', async () => {
|
|
61
|
-
validateDataContractMock.returns(new ValidationResult());
|
|
62
|
-
|
|
63
53
|
const result = await factory.createFromObject(rawDataContract);
|
|
64
|
-
|
|
65
54
|
expect(result.toObject()).excluding('entropy').to.deep.equal(rawDataContract);
|
|
66
|
-
|
|
67
|
-
expect(validateDataContractMock).to.have.been.calledOnceWith(rawDataContract);
|
|
68
55
|
});
|
|
69
56
|
|
|
70
57
|
it('should return new Data Contract without validation if "skipValidation" option is passed', async () => {
|
|
71
|
-
const
|
|
58
|
+
const alteredContract = jsDataContract.toObject();
|
|
59
|
+
alteredContract.$defs = {}; // Empty defs are bad!
|
|
72
60
|
|
|
73
|
-
|
|
61
|
+
const resultSkipValidation = await factory.createFromObject(alteredContract, true);
|
|
74
62
|
|
|
75
|
-
expect(
|
|
63
|
+
expect(resultSkipValidation.toObject()).excluding('entropy').to.deep.equal(alteredContract);
|
|
76
64
|
});
|
|
77
65
|
|
|
78
66
|
it('should throw an error if passed object is not valid', async () => {
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
validateDataContractMock.returns(new ValidationResult([validationError]));
|
|
67
|
+
const alteredContract = jsDataContract.toObject();
|
|
68
|
+
alteredContract.$defs = {}; // Empty defs are bad!
|
|
82
69
|
|
|
83
|
-
let error;
|
|
84
70
|
try {
|
|
85
|
-
await factory.createFromObject(
|
|
71
|
+
await factory.createFromObject(alteredContract);
|
|
86
72
|
} catch (e) {
|
|
87
|
-
|
|
73
|
+
expect(e).to.be.an.instanceOf(InvalidDataContractError);
|
|
74
|
+
expect(e.getRawDataContract()).to.deep.equal(alteredContract);
|
|
75
|
+
expect(e.getErrors()).to.have.length(1);
|
|
76
|
+
// TODO JsonSchemaError binding type required
|
|
77
|
+
// const [consensusError] = error.getErrors();
|
|
88
78
|
}
|
|
89
|
-
|
|
90
|
-
expect(error).to.be.an.instanceOf(InvalidDataContractError);
|
|
91
|
-
expect(error.getRawDataContract()).to.equal(rawDataContract);
|
|
92
|
-
|
|
93
|
-
expect(error.getErrors()).to.have.length(1);
|
|
94
|
-
|
|
95
|
-
const [consensusError] = error.getErrors();
|
|
96
|
-
|
|
97
|
-
expect(consensusError).to.equal(validationError);
|
|
98
|
-
|
|
99
|
-
expect(validateDataContractMock).to.have.been.calledOnceWith(rawDataContract);
|
|
100
79
|
});
|
|
101
80
|
});
|
|
102
81
|
|
|
103
82
|
describe('createFromBuffer', () => {
|
|
104
83
|
let serializedDataContract;
|
|
105
84
|
|
|
106
|
-
beforeEach(
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
serializedDataContract = dataContract.toBuffer();
|
|
110
|
-
});
|
|
111
|
-
|
|
112
|
-
afterEach(() => {
|
|
113
|
-
factory.createFromObject.restore();
|
|
85
|
+
beforeEach(() => {
|
|
86
|
+
serializedDataContract = jsDataContract.toBuffer();
|
|
114
87
|
});
|
|
115
88
|
|
|
116
89
|
it('should return new Data Contract from serialized contract', async () => {
|
|
117
|
-
decodeProtocolEntityMock.returns([rawDataContract.protocolVersion, rawDataContract]);
|
|
118
|
-
|
|
119
|
-
factory.createFromObject.returns(dataContract);
|
|
120
|
-
|
|
121
90
|
const result = await factory.createFromBuffer(serializedDataContract);
|
|
122
91
|
|
|
123
|
-
expect(result).to.equal(
|
|
124
|
-
|
|
125
|
-
expect(factory.createFromObject).to.have.been.calledOnceWith(rawDataContract);
|
|
126
|
-
|
|
127
|
-
expect(decodeProtocolEntityMock).to.have.been.calledOnceWithExactly(
|
|
128
|
-
serializedDataContract,
|
|
129
|
-
);
|
|
92
|
+
expect(result.toObject()).to.deep.equal(jsDataContract.toObject());
|
|
130
93
|
});
|
|
131
94
|
|
|
132
95
|
it('should throw InvalidDataContractError if the decoding fails with consensus error', async () => {
|
|
133
|
-
const parsingError = new SerializedObjectParsingError(
|
|
134
|
-
serializedDataContract,
|
|
135
|
-
new Error(),
|
|
136
|
-
);
|
|
137
|
-
|
|
138
|
-
decodeProtocolEntityMock.throws(parsingError);
|
|
139
|
-
|
|
140
96
|
try {
|
|
97
|
+
// Casually break serialized data contract:
|
|
98
|
+
serializedDataContract[5] += 1337;
|
|
141
99
|
await factory.createFromBuffer(serializedDataContract);
|
|
142
|
-
|
|
143
100
|
expect.fail('should throw InvalidDataContractError');
|
|
144
101
|
} catch (e) {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
expect(innerError).to.equal(parsingError);
|
|
149
|
-
}
|
|
150
|
-
});
|
|
151
|
-
|
|
152
|
-
it('should throw an error if decoding fails with any other error', async () => {
|
|
153
|
-
const parsingError = new Error('Something failed during parsing');
|
|
154
|
-
|
|
155
|
-
decodeProtocolEntityMock.throws(parsingError);
|
|
156
|
-
|
|
157
|
-
try {
|
|
158
|
-
await factory.createFromBuffer(serializedDataContract);
|
|
159
|
-
|
|
160
|
-
expect.fail('should throw an error');
|
|
161
|
-
} catch (e) {
|
|
162
|
-
expect(e).to.equal(parsingError);
|
|
102
|
+
// TODO SerializedObjectParsingError binding type required
|
|
103
|
+
// expect(e).to.be.an.instanceOf(SerializedObjectPasingError);
|
|
104
|
+
expect(e).to.match(/Parsing of serialized object failed/);
|
|
163
105
|
}
|
|
164
106
|
});
|
|
165
107
|
});
|
|
166
108
|
|
|
167
109
|
describe('createDataContractCreateTransition', () => {
|
|
168
|
-
it('should return new DataContractCreateTransition with passed DataContract', () => {
|
|
169
|
-
|
|
110
|
+
it('should return new DataContractCreateTransition with passed DataContract', async () => {
|
|
111
|
+
// Create wasm version of DataContract
|
|
112
|
+
const dataContract = new DataContract(rawDataContract);
|
|
113
|
+
dataContract.setEntropy(jsDataContract.getEntropy());
|
|
170
114
|
|
|
171
|
-
|
|
115
|
+
const result = await factory.createDataContractCreateTransition(dataContract);
|
|
172
116
|
|
|
173
117
|
expect(result.getProtocolVersion()).to.equal(protocolVersion.latestVersion);
|
|
174
|
-
expect(result.getEntropy()).to.deep.equal(
|
|
175
|
-
expect(result.getDataContract().toObject()).to.deep.equal(
|
|
118
|
+
expect(result.getEntropy()).to.deep.equal(jsDataContract.getEntropy());
|
|
119
|
+
expect(result.getDataContract().toObject()).to.deep.equal(jsDataContract.toObject());
|
|
176
120
|
});
|
|
177
121
|
});
|
|
178
122
|
});
|
|
@@ -1,15 +1,25 @@
|
|
|
1
|
-
const
|
|
1
|
+
const generateRandomIdentifier = require('@dashevo/dpp/lib/test/utils/generateRandomIdentifier');
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const { default: loadWasmDpp } = require('../../../dist');
|
|
4
4
|
|
|
5
5
|
describe('createDataContract', () => {
|
|
6
6
|
let rawDataContract;
|
|
7
|
+
let DataContract;
|
|
8
|
+
|
|
9
|
+
before(async () => {
|
|
10
|
+
({
|
|
11
|
+
DataContract,
|
|
12
|
+
} = await loadWasmDpp());
|
|
13
|
+
});
|
|
7
14
|
|
|
8
15
|
beforeEach(() => {
|
|
9
16
|
rawDataContract = {
|
|
10
17
|
$id: generateRandomIdentifier().toBuffer(),
|
|
11
18
|
ownerId: generateRandomIdentifier().toBuffer(),
|
|
12
19
|
contractId: generateRandomIdentifier().toBuffer(),
|
|
20
|
+
protocolVersion: 4,
|
|
21
|
+
version: 20,
|
|
22
|
+
$schema: 'http://test.com/schema',
|
|
13
23
|
documents: {
|
|
14
24
|
niceDocument: {
|
|
15
25
|
name: { type: 'string' },
|
|
@@ -23,12 +33,12 @@ describe('createDataContract', () => {
|
|
|
23
33
|
|
|
24
34
|
expect(dataContract).to.be.an.instanceOf(DataContract);
|
|
25
35
|
|
|
26
|
-
expect(dataContract.getOwnerId()).to.deep.equal(rawDataContract.ownerId);
|
|
27
|
-
expect(dataContract.getDocuments()).to.equal(rawDataContract.documents);
|
|
36
|
+
expect(dataContract.getOwnerId().toBuffer()).to.deep.equal(rawDataContract.ownerId);
|
|
37
|
+
expect(dataContract.getDocuments()).to.deep.equal(rawDataContract.documents);
|
|
28
38
|
});
|
|
29
39
|
|
|
30
40
|
it('should return new DataContract with "$schema" if present', () => {
|
|
31
|
-
rawDataContract.$schema = 'http://test.com/
|
|
41
|
+
rawDataContract.$schema = 'http://test.com/otherschema';
|
|
32
42
|
|
|
33
43
|
const dataContract = new DataContract(rawDataContract);
|
|
34
44
|
|
|
@@ -36,8 +46,8 @@ describe('createDataContract', () => {
|
|
|
36
46
|
|
|
37
47
|
expect(dataContract.getJsonMetaSchema()).to.equal(rawDataContract.$schema);
|
|
38
48
|
|
|
39
|
-
expect(dataContract.getOwnerId()).to.deep.equal(rawDataContract.ownerId);
|
|
40
|
-
expect(dataContract.getDocuments()).to.equal(rawDataContract.documents);
|
|
49
|
+
expect(dataContract.getOwnerId().toBuffer()).to.deep.equal(rawDataContract.ownerId);
|
|
50
|
+
expect(dataContract.getDocuments()).to.deep.equal(rawDataContract.documents);
|
|
41
51
|
});
|
|
42
52
|
|
|
43
53
|
it('should return new DataContract with "$defs" if present', () => {
|
|
@@ -49,9 +59,9 @@ describe('createDataContract', () => {
|
|
|
49
59
|
|
|
50
60
|
expect(dataContract).to.be.an.instanceOf(DataContract);
|
|
51
61
|
|
|
52
|
-
expect(dataContract.getDefinitions()).to.equal(rawDataContract.$defs);
|
|
62
|
+
expect(dataContract.getDefinitions()).to.deep.equal(rawDataContract.$defs);
|
|
53
63
|
|
|
54
|
-
expect(dataContract.getOwnerId()).to.deep.equal(rawDataContract.ownerId);
|
|
55
|
-
expect(dataContract.getDocuments()).to.equal(rawDataContract.documents);
|
|
64
|
+
expect(dataContract.getOwnerId().toBuffer()).to.deep.equal(rawDataContract.ownerId);
|
|
65
|
+
expect(dataContract.getDocuments()).to.deep.equal(rawDataContract.documents);
|
|
56
66
|
});
|
|
57
67
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const InvalidDataContractError = require('
|
|
2
|
-
const getDataContractFixture = require('
|
|
1
|
+
const InvalidDataContractError = require('@dashevo/dpp/lib/dataContract/errors/InvalidDataContractError');
|
|
2
|
+
const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
|
|
3
3
|
|
|
4
4
|
describe('InvalidDataContractError', () => {
|
|
5
5
|
let rawDataContract;
|
|
@@ -1,19 +1,36 @@
|
|
|
1
1
|
const bs58 = require('bs58');
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
const { default: loadWasmDpp } = require('../../../dist');
|
|
3
4
|
|
|
4
5
|
describe('generateDataContractId', () => {
|
|
5
6
|
let ownerId;
|
|
6
7
|
let entropy;
|
|
8
|
+
let DataContractFactory;
|
|
9
|
+
let DataContractValidator;
|
|
10
|
+
|
|
11
|
+
before(async () => {
|
|
12
|
+
({
|
|
13
|
+
DataContractFactory, DataContractValidator,
|
|
14
|
+
} = await loadWasmDpp());
|
|
15
|
+
});
|
|
7
16
|
|
|
8
17
|
beforeEach(() => {
|
|
9
|
-
ownerId = bs58.decode('
|
|
10
|
-
entropy = bs58.decode('
|
|
18
|
+
ownerId = bs58.decode('4Sr8EZ9BjQpMpBX5PLPxfvv5crTERSWBnRJXxUmCcrCQ');
|
|
19
|
+
entropy = bs58.decode('85NSrhBXYJAwzj8rDXuYhPQZPyg67diKSNcfhfnVhKnT');
|
|
11
20
|
});
|
|
12
21
|
|
|
13
22
|
it('should generate bs58 id based on ', () => {
|
|
14
|
-
const id = bs58.decode('
|
|
15
|
-
|
|
23
|
+
const id = bs58.decode('8W4qubpTaFKEWHqr9vAFSNGFULnz2TbgbG4eUik7yWx2');
|
|
24
|
+
|
|
25
|
+
const entropyGenerator = {
|
|
26
|
+
generate() {
|
|
27
|
+
return entropy;
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
const factory = new DataContractFactory(1337, new DataContractValidator(), entropyGenerator);
|
|
32
|
+
const dataContract = factory.create(ownerId, {});
|
|
16
33
|
|
|
17
|
-
expect(Buffer.compare(id,
|
|
34
|
+
expect(Buffer.compare(id, dataContract.getId().toBuffer())).to.equal(0);
|
|
18
35
|
});
|
|
19
36
|
});
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
const getDataContractFixture = require('
|
|
2
|
-
const stateTransitionTypes = require('
|
|
3
|
-
|
|
4
|
-
const Identifier = require('
|
|
5
|
-
const protocolVersion = require('
|
|
6
|
-
const DataContractCreateTransition = require('
|
|
7
|
-
const hash = require('
|
|
8
|
-
const serializer = require('
|
|
1
|
+
const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
|
|
2
|
+
const stateTransitionTypes = require('@dashevo/dpp/lib/stateTransition/stateTransitionTypes');
|
|
3
|
+
|
|
4
|
+
const Identifier = require('@dashevo/dpp/lib/identifier/Identifier');
|
|
5
|
+
const protocolVersion = require('@dashevo/dpp/lib/version/protocolVersion');
|
|
6
|
+
const DataContractCreateTransition = require('@dashevo/dpp/lib/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition');
|
|
7
|
+
const hash = require('@dashevo/dpp/lib/util/hash');
|
|
8
|
+
const serializer = require('@dashevo/dpp/lib/util/serializer');
|
|
9
9
|
|
|
10
10
|
describe('DataContractCreateTransition', () => {
|
|
11
11
|
let stateTransition;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
const DataContractCreateTransition = require(
|
|
2
|
-
'
|
|
2
|
+
'@dashevo/dpp/lib/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition',
|
|
3
3
|
);
|
|
4
4
|
|
|
5
|
-
const getDataContractFixture = require('
|
|
5
|
+
const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
|
|
6
6
|
|
|
7
7
|
const applyDataContractCreateTransitionFactory = require(
|
|
8
|
-
'
|
|
8
|
+
'@dashevo/dpp/lib/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory',
|
|
9
9
|
);
|
|
10
10
|
|
|
11
|
-
const createStateRepositoryMock = require('
|
|
12
|
-
const StateTransitionExecutionContext = require('
|
|
11
|
+
const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
|
|
12
|
+
const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
|
|
13
13
|
|
|
14
14
|
describe('applyDataContractCreateTransitionFactory', () => {
|
|
15
15
|
let stateTransition;
|
|
@@ -40,7 +40,7 @@ describe('applyDataContractCreateTransitionFactory', () => {
|
|
|
40
40
|
it('should store a data contract from state transition in the repository', async () => {
|
|
41
41
|
await applyDataContractCreateTransition(stateTransition);
|
|
42
42
|
|
|
43
|
-
expect(stateRepositoryMock.
|
|
43
|
+
expect(stateRepositoryMock.createDataContract).to.have.been.calledOnceWithExactly(
|
|
44
44
|
stateTransition.getDataContract(),
|
|
45
45
|
executionContext,
|
|
46
46
|
);
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
const validateDataContractCreateTransitionStateFactory = require('
|
|
2
|
-
const DataContractCreateTransition = require('
|
|
1
|
+
const validateDataContractCreateTransitionStateFactory = require('@dashevo/dpp/lib/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory');
|
|
2
|
+
const DataContractCreateTransition = require('@dashevo/dpp/lib/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition');
|
|
3
3
|
|
|
4
|
-
const createStateRepositoryMock = require('
|
|
5
|
-
const getDataContractFixture = require('
|
|
4
|
+
const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
|
|
5
|
+
const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
|
|
6
6
|
|
|
7
|
-
const { expectValidationError } = require('
|
|
7
|
+
const { expectValidationError } = require('@dashevo/dpp/lib/test/expect/expectError');
|
|
8
8
|
|
|
9
|
-
const ValidationResult = require('
|
|
9
|
+
const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
|
|
10
10
|
|
|
11
|
-
const DataContractAlreadyPresentError = require('
|
|
12
|
-
const StateTransitionExecutionContext = require('
|
|
11
|
+
const DataContractAlreadyPresentError = require('@dashevo/dpp/lib/errors/consensus/state/dataContract/DataContractAlreadyPresentError');
|
|
12
|
+
const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
|
|
13
13
|
|
|
14
14
|
describe('validateDataContractCreateTransitionStateFactory', () => {
|
|
15
15
|
let validateDataContractCreateTransitionState;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
const getDataContractFixture = require('
|
|
2
|
-
const stateTransitionTypes = require('
|
|
3
|
-
|
|
4
|
-
const Identifier = require('
|
|
5
|
-
const protocolVersion = require('
|
|
6
|
-
const DataContractUpdateTransition = require('
|
|
7
|
-
const hash = require('
|
|
8
|
-
const serializer = require('
|
|
1
|
+
const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
|
|
2
|
+
const stateTransitionTypes = require('@dashevo/dpp/lib/stateTransition/stateTransitionTypes');
|
|
3
|
+
|
|
4
|
+
const Identifier = require('@dashevo/dpp/lib/identifier/Identifier');
|
|
5
|
+
const protocolVersion = require('@dashevo/dpp/lib/version/protocolVersion');
|
|
6
|
+
const DataContractUpdateTransition = require('@dashevo/dpp/lib/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition');
|
|
7
|
+
const hash = require('@dashevo/dpp/lib/util/hash');
|
|
8
|
+
const serializer = require('@dashevo/dpp/lib/util/serializer');
|
|
9
9
|
|
|
10
10
|
describe('DataContractUpdateTransition', () => {
|
|
11
11
|
let stateTransition;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
const DataContractUpdateTransition = require(
|
|
2
|
-
'
|
|
2
|
+
'@dashevo/dpp/lib/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition',
|
|
3
3
|
);
|
|
4
4
|
|
|
5
|
-
const getDataContractFixture = require('
|
|
5
|
+
const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
|
|
6
6
|
|
|
7
7
|
const applyDataContractUpdateTransitionFactory = require(
|
|
8
|
-
'
|
|
8
|
+
'@dashevo/dpp/lib/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory',
|
|
9
9
|
);
|
|
10
10
|
|
|
11
|
-
const createStateRepositoryMock = require('
|
|
12
|
-
const StateTransitionExecutionContext = require('
|
|
11
|
+
const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
|
|
12
|
+
const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
|
|
13
13
|
|
|
14
14
|
describe('applyDataContractUpdateTransitionFactory', () => {
|
|
15
15
|
let stateTransition;
|
|
@@ -39,7 +39,7 @@ describe('applyDataContractUpdateTransitionFactory', () => {
|
|
|
39
39
|
it('should store a data contract from state transition in the repository', async () => {
|
|
40
40
|
await applyDataContractUpdateTransition(stateTransition);
|
|
41
41
|
|
|
42
|
-
expect(stateRepositoryMock.
|
|
42
|
+
expect(stateRepositoryMock.updateDataContract).to.have.been.calledOnceWithExactly(
|
|
43
43
|
stateTransition.getDataContract(),
|
|
44
44
|
executionContext,
|
|
45
45
|
);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
const validateIndicesAreBackwardCompatible = require('
|
|
2
|
-
const DataContractHaveNewIndexWithOldPropertiesError = require('
|
|
3
|
-
const DataContractHaveNewUniqueIndexError = require('
|
|
4
|
-
const DataContractIndicesChangedError = require('
|
|
5
|
-
const getDataContractFixture = require('
|
|
6
|
-
const DataContractInvalidIndexDefinitionUpdateError = require('
|
|
1
|
+
const validateIndicesAreBackwardCompatible = require('@dashevo/dpp/lib/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateIndicesAreBackwardCompatible');
|
|
2
|
+
const DataContractHaveNewIndexWithOldPropertiesError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/DataContractInvalidIndexDefinitionUpdateError');
|
|
3
|
+
const DataContractHaveNewUniqueIndexError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/DataContractHaveNewUniqueIndexError');
|
|
4
|
+
const DataContractIndicesChangedError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/DataContractUniqueIndicesChangedError');
|
|
5
|
+
const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
|
|
6
|
+
const DataContractInvalidIndexDefinitionUpdateError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/DataContractInvalidIndexDefinitionUpdateError');
|
|
7
7
|
|
|
8
8
|
describe('validateIndicesAreBackwardCompatible', () => {
|
|
9
9
|
let oldDocumentsSchema;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
const validateDataContractUpdateTransitionStateFactory = require('
|
|
2
|
-
const DataContractUpdateTransition = require('
|
|
1
|
+
const validateDataContractUpdateTransitionStateFactory = require('@dashevo/dpp/lib/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory');
|
|
2
|
+
const DataContractUpdateTransition = require('@dashevo/dpp/lib/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition');
|
|
3
3
|
|
|
4
|
-
const createStateRepositoryMock = require('
|
|
5
|
-
const getDataContractFixture = require('
|
|
4
|
+
const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
|
|
5
|
+
const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
|
|
6
6
|
|
|
7
|
-
const { expectValidationError } = require('
|
|
7
|
+
const { expectValidationError } = require('@dashevo/dpp/lib/test/expect/expectError');
|
|
8
8
|
|
|
9
|
-
const ValidationResult = require('
|
|
9
|
+
const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
|
|
10
10
|
|
|
11
|
-
const DataContractNotPresentError = require('
|
|
12
|
-
const InvalidDataContractVersionError = require('
|
|
13
|
-
const StateTransitionExecutionContext = require('
|
|
11
|
+
const DataContractNotPresentError = require('@dashevo/dpp/lib/errors/consensus/basic/document/DataContractNotPresentError');
|
|
12
|
+
const InvalidDataContractVersionError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/InvalidDataContractVersionError');
|
|
13
|
+
const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
|
|
14
14
|
|
|
15
15
|
describe('validateDataContractUpdateTransitionStateFactory', () => {
|
|
16
16
|
let validateDataContractUpdateTransitionState;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
const validateDataContractMaxDepthFactory = require('
|
|
2
|
-
const ValidationResult = require('
|
|
3
|
-
const { expectValidationError } = require('
|
|
4
|
-
const DataContractMaxDepthExceedError = require('
|
|
5
|
-
const generateDeepJson = require('
|
|
6
|
-
const InvalidJsonSchemaRefError = require('
|
|
1
|
+
const validateDataContractMaxDepthFactory = require('@dashevo/dpp/lib/dataContract/validation/validateDataContractMaxDepthFactory');
|
|
2
|
+
const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
|
|
3
|
+
const { expectValidationError } = require('@dashevo/dpp/lib/test/expect/expectError');
|
|
4
|
+
const DataContractMaxDepthExceedError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/DataContractMaxDepthExceedError');
|
|
5
|
+
const generateDeepJson = require('@dashevo/dpp/lib/test/utils/generateDeepJson');
|
|
6
|
+
const InvalidJsonSchemaRefError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/InvalidJsonSchemaRefError');
|
|
7
7
|
|
|
8
8
|
describe('validateDataContractMaxDepthFactory', () => {
|
|
9
9
|
let refParserMock;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
const { getRE2Class } = require('@dashevo/wasm-re2');
|
|
2
2
|
|
|
3
|
-
const validateDataContractPatternsFactory = require('
|
|
3
|
+
const validateDataContractPatternsFactory = require('@dashevo/dpp/lib/dataContract/validation/validateDataContractPatternsFactory');
|
|
4
4
|
const { expectValidationError } = require(
|
|
5
|
-
'
|
|
5
|
+
'@dashevo/dpp/lib/test/expect/expectError',
|
|
6
6
|
);
|
|
7
|
-
const IncompatibleRe2PatternError = require('
|
|
7
|
+
const IncompatibleRe2PatternError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/IncompatibleRe2PatternError');
|
|
8
8
|
|
|
9
9
|
describe('validateDataContractPatternsFactory', () => {
|
|
10
10
|
let validateDataContractPatterns;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
const bs58 = require('bs58');
|
|
2
|
-
const AbstractDocumentTransition = require('
|
|
3
|
-
const DataTrigger = require('
|
|
4
|
-
const DataTriggerExecutionContext = require('
|
|
5
|
-
const getDpnsContractFixture = require('
|
|
6
|
-
const DataTriggerExecutionResult = require('
|
|
7
|
-
const getDocumentsFixture = require('
|
|
8
|
-
const DataTriggerExecutionError = require('
|
|
9
|
-
const DataTriggerInvalidResultError = require('
|
|
2
|
+
const AbstractDocumentTransition = require('@dashevo/dpp/lib/document/stateTransition/DocumentsBatchTransition/documentTransition/AbstractDocumentTransition');
|
|
3
|
+
const DataTrigger = require('@dashevo/dpp/lib/dataTrigger/DataTrigger');
|
|
4
|
+
const DataTriggerExecutionContext = require('@dashevo/dpp/lib/dataTrigger/DataTriggerExecutionContext');
|
|
5
|
+
const getDpnsContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDpnsContractFixture');
|
|
6
|
+
const DataTriggerExecutionResult = require('@dashevo/dpp/lib/dataTrigger/DataTriggerExecutionResult');
|
|
7
|
+
const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture');
|
|
8
|
+
const DataTriggerExecutionError = require('@dashevo/dpp/lib/errors/consensus/state/dataContract/dataTrigger/DataTriggerExecutionError');
|
|
9
|
+
const DataTriggerInvalidResultError = require('@dashevo/dpp/lib/errors/consensus/state/dataContract/dataTrigger/DataTriggerInvalidResultError');
|
|
10
10
|
|
|
11
11
|
describe('DataTrigger', () => {
|
|
12
12
|
let dataContractMock;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
const bs58 = require('bs58');
|
|
2
|
-
const DataTriggerExecutionContext = require('
|
|
3
|
-
const createStateRepositoryMock = require('
|
|
4
|
-
const getDpnsContractFixture = require('
|
|
5
|
-
const StateTransitionExecutionContext = require('
|
|
2
|
+
const DataTriggerExecutionContext = require('@dashevo/dpp/lib/dataTrigger/DataTriggerExecutionContext');
|
|
3
|
+
const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
|
|
4
|
+
const getDpnsContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDpnsContractFixture');
|
|
5
|
+
const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
|
|
6
6
|
|
|
7
7
|
describe('DataTriggerExecutionContext', () => {
|
|
8
8
|
let dataContractMock;
|