@dashevo/wasm-dpp 0.23.0-dev.15 → 0.24.0-dev.11
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 +25 -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 +2850 -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/apply.rs +44 -0
- package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +138 -0
- package/src/data_contract/state_transition/data_contract_create_transition/validation.rs +24 -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 +29 -0
- package/src/metadata.rs +54 -0
- package/src/state_repository.rs +229 -0
- package/src/state_transition/mod.rs +41 -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 +20 -67
- package/test/unit/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory.spec.js +29 -23
- package/test/unit/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory.spec.js +48 -45
- 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 +2850 -0
- package/wasm/wasm_dpp.js +7978 -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 +536 -0
- package/webpack.config.js +22 -19
- package/CHANGELOG.md +0 -397
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
const { getRE2Class } = require('@dashevo/wasm-re2');
|
|
2
|
-
const lodashCloneDeep = require('lodash
|
|
2
|
+
const lodashCloneDeep = require('lodash/cloneDeep');
|
|
3
3
|
|
|
4
4
|
const $RefParser = require('@apidevtools/json-schema-ref-parser');
|
|
5
5
|
|
|
6
|
-
const createAjv = require('
|
|
6
|
+
const createAjv = require('@dashevo/dpp/lib/ajv/createAjv');
|
|
7
7
|
|
|
8
|
-
const JsonSchemaValidator = require('
|
|
8
|
+
const JsonSchemaValidator = require('@dashevo/dpp/lib/validation/JsonSchemaValidator');
|
|
9
9
|
|
|
10
|
-
const ValidationResult = require('
|
|
10
|
+
const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
|
|
11
11
|
|
|
12
|
-
const validateDataContractFactory = require('
|
|
13
|
-
const validateDataContractMaxDepthFactory = require('
|
|
14
|
-
const enrichDataContractWithBaseSchema = require('
|
|
15
|
-
const validateDataContractPatternsFactory = require('
|
|
12
|
+
const validateDataContractFactory = require('@dashevo/dpp/lib/dataContract/validation/validateDataContractFactory');
|
|
13
|
+
const validateDataContractMaxDepthFactory = require('@dashevo/dpp/lib/dataContract/validation/validateDataContractMaxDepthFactory');
|
|
14
|
+
const enrichDataContractWithBaseSchema = require('@dashevo/dpp/lib/dataContract/enrichDataContractWithBaseSchema');
|
|
15
|
+
const validateDataContractPatternsFactory = require('@dashevo/dpp/lib/dataContract/validation/validateDataContractPatternsFactory');
|
|
16
16
|
|
|
17
|
-
const getDataContractFixture = require('
|
|
17
|
+
const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
|
|
18
18
|
|
|
19
|
-
const { expectJsonSchemaError, expectValidationError } = require('
|
|
19
|
+
const { expectJsonSchemaError, expectValidationError } = require('@dashevo/dpp/lib/test/expect/expectError');
|
|
20
20
|
|
|
21
|
-
const DuplicateIndexError = require('
|
|
22
|
-
const UndefinedIndexPropertyError = require('
|
|
23
|
-
const InvalidIndexPropertyTypeError = require('
|
|
24
|
-
const SystemPropertyIndexAlreadyPresentError = require('
|
|
25
|
-
const UniqueIndicesLimitReachedError = require('
|
|
26
|
-
const InvalidIndexedPropertyConstraintError = require('
|
|
27
|
-
const InvalidCompoundIndexError = require('
|
|
28
|
-
const IncompatibleRe2PatternError = require('
|
|
29
|
-
const InvalidJsonSchemaRefError = require('
|
|
30
|
-
const JsonSchemaCompilationError = require('
|
|
31
|
-
const SomeConsensusError = require('
|
|
32
|
-
const getPropertyDefinitionByPath = require('
|
|
21
|
+
const DuplicateIndexError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/DuplicateIndexError');
|
|
22
|
+
const UndefinedIndexPropertyError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/UndefinedIndexPropertyError');
|
|
23
|
+
const InvalidIndexPropertyTypeError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/InvalidIndexPropertyTypeError');
|
|
24
|
+
const SystemPropertyIndexAlreadyPresentError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/SystemPropertyIndexAlreadyPresentError');
|
|
25
|
+
const UniqueIndicesLimitReachedError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/UniqueIndicesLimitReachedError');
|
|
26
|
+
const InvalidIndexedPropertyConstraintError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/InvalidIndexedPropertyConstraintError');
|
|
27
|
+
const InvalidCompoundIndexError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/InvalidCompoundIndexError');
|
|
28
|
+
const IncompatibleRe2PatternError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/IncompatibleRe2PatternError');
|
|
29
|
+
const InvalidJsonSchemaRefError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/InvalidJsonSchemaRefError');
|
|
30
|
+
const JsonSchemaCompilationError = require('@dashevo/dpp/lib/errors/consensus/basic/JsonSchemaCompilationError');
|
|
31
|
+
const SomeConsensusError = require('@dashevo/dpp/lib/test/mocks/SomeConsensusError');
|
|
32
|
+
const getPropertyDefinitionByPath = require('@dashevo/dpp/lib/dataContract/getPropertyDefinitionByPath');
|
|
33
33
|
|
|
34
34
|
describe('validateDataContractFactory', function main() {
|
|
35
35
|
this.timeout(15000);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const Identifier = require('
|
|
2
|
-
const Metadata = require('
|
|
1
|
+
const Identifier = require('@dashevo/dpp/lib/identifier/Identifier');
|
|
2
|
+
const Metadata = require('@dashevo/dpp/lib/Metadata');
|
|
3
3
|
|
|
4
|
-
const getDataContractFixture = require('
|
|
5
|
-
const getDocumentsFixture = require('
|
|
4
|
+
const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
|
|
5
|
+
const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture');
|
|
6
6
|
|
|
7
7
|
describe('Document', () => {
|
|
8
8
|
let document;
|
|
@@ -13,7 +13,12 @@ describe('Document', () => {
|
|
|
13
13
|
dataContract = getDataContractFixture();
|
|
14
14
|
[document] = getDocumentsFixture(dataContract).slice(8);
|
|
15
15
|
|
|
16
|
-
metadataFixture = new Metadata(
|
|
16
|
+
metadataFixture = new Metadata({
|
|
17
|
+
blockHeight: 42,
|
|
18
|
+
coreChainLockedHeight: 0,
|
|
19
|
+
timeMs: new Date().getTime(),
|
|
20
|
+
protocolVersion: 1,
|
|
21
|
+
});
|
|
17
22
|
|
|
18
23
|
document.setMetadata(metadataFixture);
|
|
19
24
|
});
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
const generateRandomIdentifier = require('
|
|
2
|
-
const DashPlatformProtocol = require('
|
|
1
|
+
const generateRandomIdentifier = require('@dashevo/dpp/lib/test/utils/generateRandomIdentifier');
|
|
2
|
+
const DashPlatformProtocol = require('@dashevo/dpp/lib/DashPlatformProtocol');
|
|
3
3
|
|
|
4
|
-
const Document = require('
|
|
5
|
-
const DocumentsBatchTransition = require('
|
|
4
|
+
const Document = require('@dashevo/dpp/lib/document/Document');
|
|
5
|
+
const DocumentsBatchTransition = require('@dashevo/dpp/lib/document/stateTransition/DocumentsBatchTransition/DocumentsBatchTransition');
|
|
6
6
|
|
|
7
|
-
const ValidationResult = require('
|
|
7
|
+
const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
|
|
8
8
|
|
|
9
|
-
const createStateRepositoryMock = require('
|
|
9
|
+
const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
|
|
10
10
|
|
|
11
|
-
const getDataContractFixture = require('
|
|
12
|
-
const getDocumentsFixture = require('
|
|
13
|
-
const getDocumentTransitionsFixture = require('
|
|
11
|
+
const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
|
|
12
|
+
const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture');
|
|
13
|
+
const getDocumentTransitionsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentTransitionsFixture');
|
|
14
14
|
|
|
15
|
-
const DataContractNotPresentError = require('
|
|
16
|
-
const MissingOptionError = require('
|
|
15
|
+
const DataContractNotPresentError = require('@dashevo/dpp/lib/errors/consensus/basic/document/DataContractNotPresentError');
|
|
16
|
+
const MissingOptionError = require('@dashevo/dpp/lib/errors/MissingOptionError');
|
|
17
17
|
|
|
18
18
|
describe('DocumentFacade', () => {
|
|
19
19
|
let dpp;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
const IdentityPublicKey = require('
|
|
1
|
+
const IdentityPublicKey = require('@dashevo/dpp/lib/identity/IdentityPublicKey');
|
|
2
2
|
|
|
3
|
-
const getDataContractFixture = require('
|
|
4
|
-
const getDocumentsFixture = require('
|
|
5
|
-
const DocumentFactory = require('
|
|
6
|
-
const createDPPMock = require('
|
|
3
|
+
const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
|
|
4
|
+
const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture');
|
|
5
|
+
const DocumentFactory = require('@dashevo/dpp/lib/document/DocumentFactory');
|
|
6
|
+
const createDPPMock = require('@dashevo/dpp/lib/test/mocks/createDPPMock');
|
|
7
7
|
|
|
8
8
|
describe('DocumentBatchTransition', () => {
|
|
9
9
|
let stateTransitionFixture;
|
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
const { getRE2Class } = require('@dashevo/wasm-re2');
|
|
2
2
|
|
|
3
|
-
const createAjv = require('
|
|
3
|
+
const createAjv = require('@dashevo/dpp/lib/ajv/createAjv');
|
|
4
4
|
|
|
5
|
-
const protocolVersion = require('
|
|
5
|
+
const protocolVersion = require('@dashevo/dpp/lib/version/protocolVersion');
|
|
6
6
|
|
|
7
|
-
const JsonSchemaValidator = require('
|
|
7
|
+
const JsonSchemaValidator = require('@dashevo/dpp/lib/validation/JsonSchemaValidator');
|
|
8
8
|
|
|
9
|
-
const generateRandomIdentifier = require('
|
|
9
|
+
const generateRandomIdentifier = require('@dashevo/dpp/lib/test/utils/generateRandomIdentifier');
|
|
10
10
|
|
|
11
|
-
const enrichDataContractWithBaseSchema = require('
|
|
11
|
+
const enrichDataContractWithBaseSchema = require('@dashevo/dpp/lib/dataContract/enrichDataContractWithBaseSchema');
|
|
12
12
|
|
|
13
|
-
const DocumentsBatchTransition = require('
|
|
13
|
+
const DocumentsBatchTransition = require('@dashevo/dpp/lib/document/stateTransition/DocumentsBatchTransition/DocumentsBatchTransition');
|
|
14
14
|
|
|
15
|
-
const getDocumentTransitionsFixture = require('
|
|
16
|
-
const getDocumentsFixture = require('
|
|
17
|
-
const getDataContractFixture = require('
|
|
15
|
+
const getDocumentTransitionsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentTransitionsFixture');
|
|
16
|
+
const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture');
|
|
17
|
+
const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
|
|
18
18
|
|
|
19
|
-
const ValidationResult = require('
|
|
19
|
+
const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
|
|
20
20
|
|
|
21
|
-
const validateDocumentsBatchTransitionBasicFactory = require('
|
|
21
|
+
const validateDocumentsBatchTransitionBasicFactory = require('@dashevo/dpp/lib/document/stateTransition/DocumentsBatchTransition/validation/basic/validateDocumentsBatchTransitionBasicFactory');
|
|
22
22
|
|
|
23
|
-
const { expectValidationError, expectJsonSchemaError } = require('
|
|
23
|
+
const { expectValidationError, expectJsonSchemaError } = require('@dashevo/dpp/lib/test/expect/expectError');
|
|
24
24
|
|
|
25
|
-
const createStateRepositoryMock = require('
|
|
25
|
+
const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
|
|
26
26
|
|
|
27
|
-
const InvalidDocumentTransitionIdError = require('
|
|
28
|
-
const DataContractNotPresentError = require('
|
|
29
|
-
const MissingDataContractIdError = require('
|
|
30
|
-
const MissingDocumentTransitionTypeError = require('
|
|
31
|
-
const InvalidDocumentTypeError = require('
|
|
32
|
-
const MissingDocumentTransitionActionError = require('
|
|
33
|
-
const InvalidDocumentTransitionActionError = require('
|
|
34
|
-
const InvalidIdentifierError = require('
|
|
35
|
-
const DuplicateDocumentTransitionsWithIndicesError = require('
|
|
36
|
-
const DuplicateDocumentTransitionsWithIdsError = require('
|
|
37
|
-
const SomeConsensusError = require('
|
|
38
|
-
const StateTransitionExecutionContext = require('
|
|
27
|
+
const InvalidDocumentTransitionIdError = require('@dashevo/dpp/lib/errors/consensus/basic/document/InvalidDocumentTransitionIdError');
|
|
28
|
+
const DataContractNotPresentError = require('@dashevo/dpp/lib/errors/consensus/basic/document/DataContractNotPresentError');
|
|
29
|
+
const MissingDataContractIdError = require('@dashevo/dpp/lib/errors/consensus/basic/document/MissingDataContractIdError');
|
|
30
|
+
const MissingDocumentTransitionTypeError = require('@dashevo/dpp/lib/errors/consensus/basic/document/MissingDocumentTransitionTypeError');
|
|
31
|
+
const InvalidDocumentTypeError = require('@dashevo/dpp/lib/errors/consensus/basic/document/InvalidDocumentTypeError');
|
|
32
|
+
const MissingDocumentTransitionActionError = require('@dashevo/dpp/lib/errors/consensus/basic/document/MissingDocumentTransitionActionError');
|
|
33
|
+
const InvalidDocumentTransitionActionError = require('@dashevo/dpp/lib/errors/consensus/basic/document/InvalidDocumentTransitionActionError');
|
|
34
|
+
const InvalidIdentifierError = require('@dashevo/dpp/lib/errors/consensus/basic/InvalidIdentifierError');
|
|
35
|
+
const DuplicateDocumentTransitionsWithIndicesError = require('@dashevo/dpp/lib/errors/consensus/basic/document/DuplicateDocumentTransitionsWithIndicesError');
|
|
36
|
+
const DuplicateDocumentTransitionsWithIdsError = require('@dashevo/dpp/lib/errors/consensus/basic/document/DuplicateDocumentTransitionsWithIdsError');
|
|
37
|
+
const SomeConsensusError = require('@dashevo/dpp/lib/test/mocks/SomeConsensusError');
|
|
38
|
+
const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
|
|
39
39
|
|
|
40
40
|
describe('validateDocumentsBatchTransitionBasicFactory', () => {
|
|
41
41
|
let dataContract;
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
const bs58 = require('bs58');
|
|
2
|
-
const AbstractDocumentTransition = require('
|
|
2
|
+
const AbstractDocumentTransition = require('@dashevo/dpp/lib/document/stateTransition/DocumentsBatchTransition/documentTransition/AbstractDocumentTransition');
|
|
3
3
|
|
|
4
|
-
const generateRandomIdentifier = require('
|
|
4
|
+
const generateRandomIdentifier = require('@dashevo/dpp/lib/test/utils/generateRandomIdentifier');
|
|
5
5
|
|
|
6
|
-
const DataTrigger = require('
|
|
7
|
-
const DataTriggerExecutionResult = require('
|
|
8
|
-
const DataTriggerExecutionContext = require('
|
|
9
|
-
const getDpnsContractFixture = require('
|
|
10
|
-
const dpnsDocumentFixture = require('
|
|
11
|
-
const getDocumentsFixture = require('
|
|
12
|
-
const getDocumentTransitionsFixture = require('
|
|
13
|
-
const getDataContractFixture = require('
|
|
6
|
+
const DataTrigger = require('@dashevo/dpp/lib/dataTrigger/DataTrigger');
|
|
7
|
+
const DataTriggerExecutionResult = require('@dashevo/dpp/lib/dataTrigger/DataTriggerExecutionResult');
|
|
8
|
+
const DataTriggerExecutionContext = require('@dashevo/dpp/lib/dataTrigger/DataTriggerExecutionContext');
|
|
9
|
+
const getDpnsContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDpnsContractFixture');
|
|
10
|
+
const dpnsDocumentFixture = require('@dashevo/dpp/lib/test/fixtures/getDpnsDocumentFixture');
|
|
11
|
+
const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture');
|
|
12
|
+
const getDocumentTransitionsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentTransitionsFixture');
|
|
13
|
+
const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
|
|
14
14
|
|
|
15
|
-
const dpnsCreateDomainDataTrigger = require('
|
|
16
|
-
const dpnsDeleteDomainDataTrigger = require('
|
|
17
|
-
const dpnsUpdateDomainDataTrigger = require('
|
|
15
|
+
const dpnsCreateDomainDataTrigger = require('@dashevo/dpp/lib/dataTrigger/dpnsTriggers/createDomainDataTrigger');
|
|
16
|
+
const dpnsDeleteDomainDataTrigger = require('@dashevo/dpp/lib/dataTrigger/dpnsTriggers/createDomainDataTrigger');
|
|
17
|
+
const dpnsUpdateDomainDataTrigger = require('@dashevo/dpp/lib/dataTrigger/dpnsTriggers/createDomainDataTrigger');
|
|
18
18
|
|
|
19
|
-
const executeDataTriggersFactory = require('
|
|
19
|
+
const executeDataTriggersFactory = require('@dashevo/dpp/lib/document/stateTransition/DocumentsBatchTransition/validation/state/executeDataTriggersFactory');
|
|
20
20
|
|
|
21
|
-
const Identifier = require('
|
|
21
|
+
const Identifier = require('@dashevo/dpp/lib/identifier/Identifier');
|
|
22
22
|
|
|
23
23
|
describe('executeDataTriggersFactory', () => {
|
|
24
24
|
let childDocument;
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
const { getRE2Class } = require('@dashevo/wasm-re2');
|
|
2
2
|
|
|
3
|
-
const createAjv = require('
|
|
3
|
+
const createAjv = require('@dashevo/dpp/lib/ajv/createAjv');
|
|
4
4
|
|
|
5
|
-
const JsonSchemaValidator = require('
|
|
6
|
-
const ValidationResult = require('
|
|
5
|
+
const JsonSchemaValidator = require('@dashevo/dpp/lib/validation/JsonSchemaValidator');
|
|
6
|
+
const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
|
|
7
7
|
|
|
8
|
-
const DataContract = require('
|
|
8
|
+
const DataContract = require('@dashevo/dpp/lib/dataContract/DataContract');
|
|
9
9
|
|
|
10
|
-
const validateDocumentFactory = require('
|
|
11
|
-
const enrichDataContractWithBaseSchema = require('
|
|
10
|
+
const validateDocumentFactory = require('@dashevo/dpp/lib/document/validation/validateDocumentFactory');
|
|
11
|
+
const enrichDataContractWithBaseSchema = require('@dashevo/dpp/lib/dataContract/enrichDataContractWithBaseSchema');
|
|
12
12
|
|
|
13
|
-
const getDataContractFixture = require('
|
|
14
|
-
const getDocumentsFixture = require('
|
|
13
|
+
const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
|
|
14
|
+
const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture');
|
|
15
15
|
|
|
16
|
-
const MissingDocumentTypeError = require('
|
|
17
|
-
const InvalidDocumentTypeError = require('
|
|
16
|
+
const MissingDocumentTypeError = require('@dashevo/dpp/lib/errors/consensus/basic/document/MissingDocumentTypeError');
|
|
17
|
+
const InvalidDocumentTypeError = require('@dashevo/dpp/lib/errors/consensus/basic/document/InvalidDocumentTypeError');
|
|
18
18
|
|
|
19
19
|
const {
|
|
20
20
|
expectValidationError,
|
|
21
21
|
expectJsonSchemaError,
|
|
22
|
-
} = require('
|
|
23
|
-
const SomeConsensusError = require('
|
|
22
|
+
} = require('@dashevo/dpp/lib/test/expect/expectError');
|
|
23
|
+
const SomeConsensusError = require('@dashevo/dpp/lib/test/mocks/SomeConsensusError');
|
|
24
24
|
|
|
25
25
|
describe('validateDocumentFactory', () => {
|
|
26
26
|
let dataContract;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const InvalidDataContractIdError = require('
|
|
2
|
-
const generateRandomIdentifier = require('
|
|
3
|
-
const createConsensusError = require('
|
|
1
|
+
const InvalidDataContractIdError = require('@dashevo/dpp/lib/errors/consensus/basic/dataContract/InvalidDataContractIdError');
|
|
2
|
+
const generateRandomIdentifier = require('@dashevo/dpp/lib/test/utils/generateRandomIdentifier');
|
|
3
|
+
const createConsensusError = require('@dashevo/dpp/lib/errors/consensus/createConsensusError');
|
|
4
4
|
|
|
5
5
|
describe('createConsensusError', () => {
|
|
6
6
|
it('should create an error instance from code and arguments', () => {
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
const { PublicKey } = require('@dashevo/dashcore-lib');
|
|
2
|
-
const DashPlatformProtocol = require('
|
|
2
|
+
const DashPlatformProtocol = require('@dashevo/dpp/lib/DashPlatformProtocol');
|
|
3
3
|
|
|
4
|
-
const Identity = require('
|
|
5
|
-
const IdentityCreateTransition = require('
|
|
6
|
-
const IdentityTopUpTransition = require('
|
|
4
|
+
const Identity = require('@dashevo/dpp/lib/identity/Identity');
|
|
5
|
+
const IdentityCreateTransition = require('@dashevo/dpp/lib/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition');
|
|
6
|
+
const IdentityTopUpTransition = require('@dashevo/dpp/lib/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition');
|
|
7
7
|
|
|
8
|
-
const ValidationResult = require('
|
|
8
|
+
const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
|
|
9
9
|
|
|
10
|
-
const getIdentityFixture = require('
|
|
10
|
+
const getIdentityFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityFixture');
|
|
11
11
|
|
|
12
|
-
const createStateRepositoryMock = require('
|
|
13
|
-
const InstantAssetLockProof = require('
|
|
14
|
-
const getInstantAssetLockProofFixture = require('
|
|
15
|
-
const getChainAssetLockProofFixture = require('
|
|
16
|
-
const ChainAssetLockProof = require('
|
|
17
|
-
const IdentityUpdateTransition = require('
|
|
18
|
-
const IdentityPublicKey = require('
|
|
12
|
+
const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
|
|
13
|
+
const InstantAssetLockProof = require('@dashevo/dpp/lib/identity/stateTransition/assetLockProof/instant/InstantAssetLockProof');
|
|
14
|
+
const getInstantAssetLockProofFixture = require('@dashevo/dpp/lib/test/fixtures/getInstantAssetLockProofFixture');
|
|
15
|
+
const getChainAssetLockProofFixture = require('@dashevo/dpp/lib/test/fixtures/getChainAssetLockProofFixture');
|
|
16
|
+
const ChainAssetLockProof = require('@dashevo/dpp/lib/identity/stateTransition/assetLockProof/chain/ChainAssetLockProof');
|
|
17
|
+
const IdentityUpdateTransition = require('@dashevo/dpp/lib/identity/stateTransition/IdentityUpdateTransition/IdentityUpdateTransition');
|
|
18
|
+
const IdentityPublicKey = require('@dashevo/dpp/lib/identity/IdentityPublicKey');
|
|
19
19
|
|
|
20
20
|
describe('IdentityFacade', () => {
|
|
21
21
|
let dpp;
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
const { getRE2Class } = require('@dashevo/wasm-re2');
|
|
2
2
|
|
|
3
|
-
const createAjv = require('
|
|
3
|
+
const createAjv = require('@dashevo/dpp/lib/ajv/createAjv');
|
|
4
4
|
|
|
5
|
-
const JsonSchemaValidator = require('
|
|
5
|
+
const JsonSchemaValidator = require('@dashevo/dpp/lib/validation/JsonSchemaValidator');
|
|
6
6
|
|
|
7
|
-
const getIdentityCreateTransitionFixture = require('
|
|
7
|
+
const getIdentityCreateTransitionFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityCreateTransitionFixture');
|
|
8
8
|
|
|
9
9
|
const validateIdentityCreateTransitionBasicFactory = require(
|
|
10
|
-
'
|
|
10
|
+
'@dashevo/dpp/lib/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory',
|
|
11
11
|
);
|
|
12
12
|
|
|
13
13
|
const {
|
|
14
14
|
expectJsonSchemaError,
|
|
15
15
|
expectValidationError,
|
|
16
|
-
} = require('
|
|
17
|
-
|
|
18
|
-
const ValidationResult = require('
|
|
19
|
-
const InstantAssetLockProof = require('
|
|
20
|
-
const ChainAssetLockProof = require('
|
|
21
|
-
const SomeConsensusError = require('
|
|
22
|
-
const IdentityPublicKey = require('
|
|
23
|
-
const StateTransitionExecutionContext = require('
|
|
16
|
+
} = require('@dashevo/dpp/lib/test/expect/expectError');
|
|
17
|
+
|
|
18
|
+
const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
|
|
19
|
+
const InstantAssetLockProof = require('@dashevo/dpp/lib/identity/stateTransition/assetLockProof/instant/InstantAssetLockProof');
|
|
20
|
+
const ChainAssetLockProof = require('@dashevo/dpp/lib/identity/stateTransition/assetLockProof/chain/ChainAssetLockProof');
|
|
21
|
+
const SomeConsensusError = require('@dashevo/dpp/lib/test/mocks/SomeConsensusError');
|
|
22
|
+
const IdentityPublicKey = require('@dashevo/dpp/lib/identity/IdentityPublicKey');
|
|
23
|
+
const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
|
|
24
24
|
|
|
25
25
|
describe('validateIdentityCreateTransitionBasicFactory', () => {
|
|
26
26
|
let validateIdentityCreateTransitionBasic;
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
const { getRE2Class } = require('@dashevo/wasm-re2');
|
|
2
2
|
|
|
3
|
-
const createAjv = require('
|
|
3
|
+
const createAjv = require('@dashevo/dpp/lib/ajv/createAjv');
|
|
4
4
|
|
|
5
|
-
const JsonSchemaValidator = require('
|
|
5
|
+
const JsonSchemaValidator = require('@dashevo/dpp/lib/validation/JsonSchemaValidator');
|
|
6
6
|
|
|
7
|
-
const getIdentityTopUpTransitionFixture = require('
|
|
7
|
+
const getIdentityTopUpTransitionFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityTopUpTransitionFixture');
|
|
8
8
|
|
|
9
9
|
const validateIdentityTopUpTransitionBasicFactory = require(
|
|
10
|
-
'
|
|
10
|
+
'@dashevo/dpp/lib/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory',
|
|
11
11
|
);
|
|
12
12
|
|
|
13
13
|
const {
|
|
14
14
|
expectJsonSchemaError,
|
|
15
15
|
expectValidationError,
|
|
16
|
-
} = require('
|
|
16
|
+
} = require('@dashevo/dpp/lib/test/expect/expectError');
|
|
17
17
|
|
|
18
|
-
const ValidationResult = require('
|
|
18
|
+
const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
|
|
19
19
|
|
|
20
|
-
const ChainAssetLockProof = require('
|
|
21
|
-
const InstantAssetLockProof = require('
|
|
22
|
-
const SomeConsensusError = require('
|
|
23
|
-
const IdentityPublicKey = require('
|
|
24
|
-
const StateTransitionExecutionContext = require('
|
|
20
|
+
const ChainAssetLockProof = require('@dashevo/dpp/lib/identity/stateTransition/assetLockProof/chain/ChainAssetLockProof');
|
|
21
|
+
const InstantAssetLockProof = require('@dashevo/dpp/lib/identity/stateTransition/assetLockProof/instant/InstantAssetLockProof');
|
|
22
|
+
const SomeConsensusError = require('@dashevo/dpp/lib/test/mocks/SomeConsensusError');
|
|
23
|
+
const IdentityPublicKey = require('@dashevo/dpp/lib/identity/IdentityPublicKey');
|
|
24
|
+
const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
|
|
25
25
|
|
|
26
26
|
describe('validateIdentityTopUpTransitionBasicFactory', () => {
|
|
27
27
|
let rawStateTransition;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
const { getRE2Class } = require('@dashevo/wasm-re2');
|
|
2
2
|
const { PrivateKey } = require('@dashevo/dashcore-lib');
|
|
3
3
|
const validateIdentityUpdateTransitionBasicFactory = require(
|
|
4
|
-
'
|
|
4
|
+
'@dashevo/dpp/lib/identity/stateTransition/IdentityUpdateTransition/validation/basic/validateIdentityUpdateTransitionBasicFactory',
|
|
5
5
|
);
|
|
6
|
-
const JsonSchemaValidator = require('
|
|
7
|
-
const createAjv = require('
|
|
8
|
-
const ValidationResult = require('
|
|
9
|
-
const IdentityPublicKey = require('
|
|
10
|
-
const getIdentityUpdateTransitionFixture = require('
|
|
11
|
-
const { expectJsonSchemaError, expectValidationError } = require('
|
|
12
|
-
const SomeConsensusError = require('
|
|
6
|
+
const JsonSchemaValidator = require('@dashevo/dpp/lib/validation/JsonSchemaValidator');
|
|
7
|
+
const createAjv = require('@dashevo/dpp/lib/ajv/createAjv');
|
|
8
|
+
const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
|
|
9
|
+
const IdentityPublicKey = require('@dashevo/dpp/lib/identity/IdentityPublicKey');
|
|
10
|
+
const getIdentityUpdateTransitionFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityUpdateTransitionFixture');
|
|
11
|
+
const { expectJsonSchemaError, expectValidationError } = require('@dashevo/dpp/lib/test/expect/expectError');
|
|
12
|
+
const SomeConsensusError = require('@dashevo/dpp/lib/test/mocks/SomeConsensusError');
|
|
13
13
|
|
|
14
14
|
describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
15
15
|
let validateIdentityUpdateTransitionBasic;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
const createStateRepositoryMock = require('
|
|
2
|
-
const validateIdentityUpdateTransitionStateFactory = require('
|
|
3
|
-
const getIdentityUpdateTransitionFixture = require('
|
|
4
|
-
const IdentityPublicKey = require('
|
|
5
|
-
const getIdentityFixture = require('
|
|
6
|
-
const ValidationResult = require('
|
|
7
|
-
const { expectValidationError } = require('
|
|
8
|
-
const InvalidIdentityRevisionError = require('
|
|
9
|
-
const IdentityPublicKeyIsReadOnlyError = require('
|
|
10
|
-
const IdentityPublicKeyDisabledAtWindowViolationError = require('
|
|
11
|
-
const InvalidIdentityPublicKeyIdError = require('
|
|
12
|
-
const SomeConsensusError = require('
|
|
13
|
-
const StateTransitionExecutionContext = require('
|
|
14
|
-
const IdentityPublicKeyIsDisabledError = require('
|
|
1
|
+
const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
|
|
2
|
+
const validateIdentityUpdateTransitionStateFactory = require('@dashevo/dpp/lib/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory');
|
|
3
|
+
const getIdentityUpdateTransitionFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityUpdateTransitionFixture');
|
|
4
|
+
const IdentityPublicKey = require('@dashevo/dpp/lib/identity/IdentityPublicKey');
|
|
5
|
+
const getIdentityFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityFixture');
|
|
6
|
+
const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
|
|
7
|
+
const { expectValidationError } = require('@dashevo/dpp/lib/test/expect/expectError');
|
|
8
|
+
const InvalidIdentityRevisionError = require('@dashevo/dpp/lib/errors/consensus/state/identity/InvalidIdentityRevisionError');
|
|
9
|
+
const IdentityPublicKeyIsReadOnlyError = require('@dashevo/dpp/lib/errors/consensus/state/identity/IdentityPublicKeyIsReadOnlyError');
|
|
10
|
+
const IdentityPublicKeyDisabledAtWindowViolationError = require('@dashevo/dpp/lib/errors/consensus/state/identity/IdentityPublicKeyDisabledAtWindowViolationError');
|
|
11
|
+
const InvalidIdentityPublicKeyIdError = require('@dashevo/dpp/lib/errors/consensus/state/identity/InvalidIdentityPublicKeyIdError');
|
|
12
|
+
const SomeConsensusError = require('@dashevo/dpp/lib/test/mocks/SomeConsensusError');
|
|
13
|
+
const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
|
|
14
|
+
const IdentityPublicKeyIsDisabledError = require('@dashevo/dpp/lib/errors/consensus/state/identity/IdentityPublicKeyIsDisabledError');
|
|
15
15
|
|
|
16
16
|
describe('validateIdentityUpdateTransitionStateFactory', () => {
|
|
17
17
|
let validateIdentityUpdateTransitionState;
|
|
@@ -34,15 +34,9 @@ describe('validateIdentityUpdateTransitionStateFactory', () => {
|
|
|
34
34
|
stateRepositoryMock = createStateRepositoryMock(this.sinonSandbox);
|
|
35
35
|
stateRepositoryMock.fetchIdentity.resolves(identity);
|
|
36
36
|
|
|
37
|
-
blockTime =
|
|
37
|
+
blockTime = Date.now();
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
time: {
|
|
41
|
-
seconds: blockTime,
|
|
42
|
-
},
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
stateRepositoryMock.fetchLatestPlatformBlockHeader.resolves(abciHeader);
|
|
39
|
+
stateRepositoryMock.fetchLatestPlatformBlockTime.returns(blockTime);
|
|
46
40
|
|
|
47
41
|
validateIdentityUpdateTransitionState = validateIdentityUpdateTransitionStateFactory(
|
|
48
42
|
stateRepositoryMock,
|
|
@@ -108,22 +102,19 @@ describe('validateIdentityUpdateTransitionStateFactory', () => {
|
|
|
108
102
|
|
|
109
103
|
it('should return invalid result if disabledAt has violated time window', async () => {
|
|
110
104
|
stateTransition.setPublicKeyIdsToDisable([1]);
|
|
111
|
-
|
|
105
|
+
// blockTime - 10 minutes
|
|
106
|
+
stateTransition.setPublicKeysDisabledAt(new Date(blockTime - 1000 * 60 * 60 * 10));
|
|
112
107
|
|
|
113
|
-
const timeWindowStart = new Date(blockTime
|
|
108
|
+
const timeWindowStart = new Date(blockTime);
|
|
114
109
|
timeWindowStart.setMinutes(
|
|
115
110
|
timeWindowStart.getMinutes() - 5,
|
|
116
111
|
);
|
|
117
112
|
|
|
118
|
-
const timeWindowEnd = new Date(blockTime
|
|
113
|
+
const timeWindowEnd = new Date(blockTime);
|
|
119
114
|
timeWindowEnd.setMinutes(
|
|
120
115
|
timeWindowEnd.getMinutes() + 5,
|
|
121
116
|
);
|
|
122
117
|
|
|
123
|
-
stateTransition.publicKeysDisabledAt.setMinutes(
|
|
124
|
-
stateTransition.publicKeysDisabledAt.getMinutes() - 6,
|
|
125
|
-
);
|
|
126
|
-
|
|
127
118
|
const result = await validateIdentityUpdateTransitionState(stateTransition);
|
|
128
119
|
|
|
129
120
|
expectValidationError(result, IdentityPublicKeyDisabledAtWindowViolationError);
|
|
@@ -161,7 +152,7 @@ describe('validateIdentityUpdateTransitionStateFactory', () => {
|
|
|
161
152
|
executionContext,
|
|
162
153
|
);
|
|
163
154
|
|
|
164
|
-
expect(stateRepositoryMock.
|
|
155
|
+
expect(stateRepositoryMock.fetchLatestPlatformBlockTime)
|
|
165
156
|
.to.be.calledOnce();
|
|
166
157
|
});
|
|
167
158
|
|
|
@@ -179,7 +170,7 @@ describe('validateIdentityUpdateTransitionStateFactory', () => {
|
|
|
179
170
|
executionContext,
|
|
180
171
|
);
|
|
181
172
|
|
|
182
|
-
expect(stateRepositoryMock.
|
|
173
|
+
expect(stateRepositoryMock.fetchLatestPlatformBlockTime)
|
|
183
174
|
.to.not.be.called();
|
|
184
175
|
|
|
185
176
|
expect(validatePublicKeysMock).to.be.calledOnceWithExactly(
|
|
@@ -203,10 +194,7 @@ describe('validateIdentityUpdateTransitionStateFactory', () => {
|
|
|
203
194
|
executionContext,
|
|
204
195
|
);
|
|
205
196
|
|
|
206
|
-
expect(stateRepositoryMock.
|
|
207
|
-
.to.be.calledOnce();
|
|
208
|
-
|
|
209
|
-
expect(stateRepositoryMock.fetchLatestPlatformBlockHeader)
|
|
197
|
+
expect(stateRepositoryMock.fetchLatestPlatformBlockTime)
|
|
210
198
|
.to.be.calledOnce();
|
|
211
199
|
});
|
|
212
200
|
|
|
@@ -290,10 +278,7 @@ describe('validateIdentityUpdateTransitionStateFactory', () => {
|
|
|
290
278
|
executionContext,
|
|
291
279
|
);
|
|
292
280
|
|
|
293
|
-
expect(stateRepositoryMock.
|
|
294
|
-
.to.not.be.called();
|
|
295
|
-
|
|
296
|
-
expect(stateRepositoryMock.fetchLatestPlatformBlockHeader)
|
|
281
|
+
expect(stateRepositoryMock.fetchLatestPlatformBlockTime)
|
|
297
282
|
.to.not.be.called();
|
|
298
283
|
});
|
|
299
284
|
});
|