@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,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
|
});
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
const validatePublicKeys = require(
|
|
2
|
-
'
|
|
2
|
+
'@dashevo/dpp/lib/identity/stateTransition/IdentityUpdateTransition/validation/state/validatePublicKeysState',
|
|
3
3
|
);
|
|
4
|
-
const { expectValidationError } = require('
|
|
5
|
-
const DuplicatedIdentityPublicKeyIdError = require('
|
|
6
|
-
const DuplicatedIdentityPublicKeyError = require('
|
|
7
|
-
const identitySchema = require('
|
|
8
|
-
const MaxIdentityPublicKeyLimitReachedError = require('
|
|
9
|
-
const getIdentityFixture = require('
|
|
4
|
+
const { expectValidationError } = require('@dashevo/dpp/lib/test/expect/expectError');
|
|
5
|
+
const DuplicatedIdentityPublicKeyIdError = require('@dashevo/dpp/lib/errors/consensus/state/identity/DuplicatedIdentityPublicKeyIdError');
|
|
6
|
+
const DuplicatedIdentityPublicKeyError = require('@dashevo/dpp/lib/errors/consensus/state/identity/DuplicatedIdentityPublicKeyError');
|
|
7
|
+
const identitySchema = require('@dashevo/dpp/schema/identity/identity.json');
|
|
8
|
+
const MaxIdentityPublicKeyLimitReachedError = require('@dashevo/dpp/lib/errors/consensus/state/identity/MaxIdentityPublicKeyLimitReachedError');
|
|
9
|
+
const getIdentityFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityFixture');
|
|
10
10
|
|
|
11
11
|
describe('validatePublicKeysState', () => {
|
|
12
12
|
let rawPublicKeys;
|
|
@@ -1,22 +1,22 @@
|
|
|
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 getChainAssetLockFixture = require('
|
|
6
|
-
const JsonSchemaValidator = require('
|
|
7
|
-
const createStateRepositoryMock = require('
|
|
5
|
+
const getChainAssetLockFixture = require('@dashevo/dpp/lib/test/fixtures/getChainAssetLockProofFixture');
|
|
6
|
+
const JsonSchemaValidator = require('@dashevo/dpp/lib/validation/JsonSchemaValidator');
|
|
7
|
+
const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
|
|
8
8
|
|
|
9
9
|
const { expectValidationError, expectJsonSchemaError } = require(
|
|
10
|
-
'
|
|
10
|
+
'@dashevo/dpp/lib/test/expect/expectError',
|
|
11
11
|
);
|
|
12
12
|
|
|
13
|
-
const validateChainAssetLockProofStructureFactory = require('
|
|
14
|
-
const ValidationResult = require('
|
|
15
|
-
const IdentityAssetLockTransactionIsNotFoundError = require('
|
|
16
|
-
const InvalidAssetLockProofCoreChainHeightError = require('
|
|
17
|
-
const InvalidAssetLockProofTransactionHeightError = require('
|
|
18
|
-
const SomeConsensusError = require('
|
|
19
|
-
const StateTransitionExecutionContext = require('
|
|
13
|
+
const validateChainAssetLockProofStructureFactory = require('@dashevo/dpp/lib/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory');
|
|
14
|
+
const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
|
|
15
|
+
const IdentityAssetLockTransactionIsNotFoundError = require('@dashevo/dpp/lib/errors/consensus/basic/identity/IdentityAssetLockTransactionIsNotFoundError');
|
|
16
|
+
const InvalidAssetLockProofCoreChainHeightError = require('@dashevo/dpp/lib/errors/consensus/basic/identity/InvalidAssetLockProofCoreChainHeightError');
|
|
17
|
+
const InvalidAssetLockProofTransactionHeightError = require('@dashevo/dpp/lib/errors/consensus/basic/identity/InvalidAssetLockProofTransactionHeightError');
|
|
18
|
+
const SomeConsensusError = require('@dashevo/dpp/lib/test/mocks/SomeConsensusError');
|
|
19
|
+
const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
|
|
20
20
|
|
|
21
21
|
describe('validateChainAssetLockProofStructureFactory', () => {
|
|
22
22
|
let rawProof;
|
|
@@ -45,9 +45,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
|
|
|
45
45
|
|
|
46
46
|
stateRepositoryMock = createStateRepositoryMock(this.sinonSandbox);
|
|
47
47
|
|
|
48
|
-
stateRepositoryMock.
|
|
49
|
-
coreChainLockedHeight: 42,
|
|
50
|
-
});
|
|
48
|
+
stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight.resolves(42);
|
|
51
49
|
|
|
52
50
|
stateRepositoryMock.fetchTransaction.resolves({
|
|
53
51
|
data: Buffer.from(rawTransaction, 'hex'),
|
|
@@ -92,7 +90,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
|
|
|
92
90
|
|
|
93
91
|
expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
|
|
94
92
|
expect(validateAssetLockTransactionMock).to.not.be.called();
|
|
95
|
-
expect(stateRepositoryMock.
|
|
93
|
+
expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
|
|
96
94
|
});
|
|
97
95
|
|
|
98
96
|
it('should be equal to 1', async () => {
|
|
@@ -111,7 +109,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
|
|
|
111
109
|
expect(error.getKeyword()).to.equal('const');
|
|
112
110
|
|
|
113
111
|
expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
|
|
114
|
-
expect(stateRepositoryMock.
|
|
112
|
+
expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
|
|
115
113
|
});
|
|
116
114
|
});
|
|
117
115
|
|
|
@@ -134,7 +132,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
|
|
|
134
132
|
|
|
135
133
|
expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
|
|
136
134
|
expect(validateAssetLockTransactionMock).to.not.be.called();
|
|
137
|
-
expect(stateRepositoryMock.
|
|
135
|
+
expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
|
|
138
136
|
});
|
|
139
137
|
|
|
140
138
|
it('should be an integer', async () => {
|
|
@@ -154,7 +152,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
|
|
|
154
152
|
|
|
155
153
|
expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
|
|
156
154
|
expect(validateAssetLockTransactionMock).to.not.be.called();
|
|
157
|
-
expect(stateRepositoryMock.
|
|
155
|
+
expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
|
|
158
156
|
});
|
|
159
157
|
|
|
160
158
|
it('should be a number', async () => {
|
|
@@ -174,7 +172,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
|
|
|
174
172
|
|
|
175
173
|
expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
|
|
176
174
|
expect(validateAssetLockTransactionMock).to.not.be.called();
|
|
177
|
-
expect(stateRepositoryMock.
|
|
175
|
+
expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
|
|
178
176
|
});
|
|
179
177
|
|
|
180
178
|
it('should be greater than 0', async () => {
|
|
@@ -194,7 +192,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
|
|
|
194
192
|
|
|
195
193
|
expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
|
|
196
194
|
expect(validateAssetLockTransactionMock).to.not.be.called();
|
|
197
|
-
expect(stateRepositoryMock.
|
|
195
|
+
expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
|
|
198
196
|
});
|
|
199
197
|
|
|
200
198
|
it('should be less than 4294967296', async () => {
|
|
@@ -214,13 +212,11 @@ describe('validateChainAssetLockProofStructureFactory', () => {
|
|
|
214
212
|
|
|
215
213
|
expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
|
|
216
214
|
expect(validateAssetLockTransactionMock).to.not.be.called();
|
|
217
|
-
expect(stateRepositoryMock.
|
|
215
|
+
expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
|
|
218
216
|
});
|
|
219
217
|
|
|
220
218
|
it('should be less or equal to consensus core height', async () => {
|
|
221
|
-
stateRepositoryMock.
|
|
222
|
-
coreChainLockedHeight: 41,
|
|
223
|
-
});
|
|
219
|
+
stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight.resolves(41);
|
|
224
220
|
|
|
225
221
|
const result = await validateChainAssetLockProofStructure(
|
|
226
222
|
rawProof,
|
|
@@ -256,7 +252,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
|
|
|
256
252
|
|
|
257
253
|
expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
|
|
258
254
|
expect(validateAssetLockTransactionMock).to.not.be.called();
|
|
259
|
-
expect(stateRepositoryMock.
|
|
255
|
+
expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
|
|
260
256
|
});
|
|
261
257
|
|
|
262
258
|
it('should be a byte array', async () => {
|
|
@@ -278,7 +274,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
|
|
|
278
274
|
|
|
279
275
|
expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
|
|
280
276
|
expect(validateAssetLockTransactionMock).to.not.be.called();
|
|
281
|
-
expect(stateRepositoryMock.
|
|
277
|
+
expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
|
|
282
278
|
});
|
|
283
279
|
|
|
284
280
|
it('should not be shorter than 36 bytes', async () => {
|
|
@@ -298,7 +294,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
|
|
|
298
294
|
|
|
299
295
|
expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
|
|
300
296
|
expect(validateAssetLockTransactionMock).to.not.be.called();
|
|
301
|
-
expect(stateRepositoryMock.
|
|
297
|
+
expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
|
|
302
298
|
});
|
|
303
299
|
|
|
304
300
|
it('should not be longer than 36 bytes', async () => {
|
|
@@ -318,7 +314,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
|
|
|
318
314
|
|
|
319
315
|
expect(stateRepositoryMock.fetchTransaction).to.not.be.called();
|
|
320
316
|
expect(validateAssetLockTransactionMock).to.not.be.called();
|
|
321
|
-
expect(stateRepositoryMock.
|
|
317
|
+
expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.not.be.called();
|
|
322
318
|
});
|
|
323
319
|
|
|
324
320
|
it('should point to existing transaction', async () => {
|
|
@@ -343,7 +339,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
|
|
|
343
339
|
executionContext,
|
|
344
340
|
);
|
|
345
341
|
expect(validateAssetLockTransactionMock).to.not.be.called();
|
|
346
|
-
expect(stateRepositoryMock.
|
|
342
|
+
expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.be.calledOnce();
|
|
347
343
|
});
|
|
348
344
|
|
|
349
345
|
it('should point to valid transaction', async () => {
|
|
@@ -365,9 +361,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
|
|
|
365
361
|
|
|
366
362
|
it('should point to transaction from block lower than core chain locked height', async () => {
|
|
367
363
|
rawProof.coreChainLockedHeight = 41;
|
|
368
|
-
stateRepositoryMock.
|
|
369
|
-
coreChainLockedHeight: 41,
|
|
370
|
-
});
|
|
364
|
+
stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight.resolves(41);
|
|
371
365
|
|
|
372
366
|
const result = await validateChainAssetLockProofStructure(
|
|
373
367
|
rawProof,
|
|
@@ -387,7 +381,7 @@ describe('validateChainAssetLockProofStructureFactory', () => {
|
|
|
387
381
|
executionContext,
|
|
388
382
|
);
|
|
389
383
|
expect(validateAssetLockTransactionMock).to.not.be.called();
|
|
390
|
-
expect(stateRepositoryMock.
|
|
384
|
+
expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.be.calledOnce();
|
|
391
385
|
});
|
|
392
386
|
});
|
|
393
387
|
|
|
@@ -410,6 +404,6 @@ describe('validateChainAssetLockProofStructureFactory', () => {
|
|
|
410
404
|
0,
|
|
411
405
|
executionContext,
|
|
412
406
|
);
|
|
413
|
-
expect(stateRepositoryMock.
|
|
407
|
+
expect(stateRepositoryMock.fetchLatestPlatformCoreChainLockedHeight).to.be.calledOnce();
|
|
414
408
|
});
|
|
415
409
|
});
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
const { Transaction, Script } = require('@dashevo/dashcore-lib');
|
|
2
2
|
const Output = require('@dashevo/dashcore-lib/lib/transaction/output');
|
|
3
3
|
|
|
4
|
-
const fetchAssetLockTransactionOutputFactory = require('
|
|
5
|
-
const getChainAssetLockFixture = require('
|
|
6
|
-
const getInstantAssetLockProofFixture = require('
|
|
7
|
-
const createStateRepositoryMock = require('
|
|
8
|
-
|
|
9
|
-
const UnknownAssetLockProofError = require('
|
|
10
|
-
const AssetLockTransactionIsNotFoundError = require('
|
|
11
|
-
const StateTransitionExecutionContext = require('
|
|
4
|
+
const fetchAssetLockTransactionOutputFactory = require('@dashevo/dpp/lib/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory');
|
|
5
|
+
const getChainAssetLockFixture = require('@dashevo/dpp/lib/test/fixtures/getChainAssetLockProofFixture');
|
|
6
|
+
const getInstantAssetLockProofFixture = require('@dashevo/dpp/lib/test/fixtures/getInstantAssetLockProofFixture');
|
|
7
|
+
const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
|
|
8
|
+
|
|
9
|
+
const UnknownAssetLockProofError = require('@dashevo/dpp/lib/identity/errors/UnknownAssetLockProofTypeError');
|
|
10
|
+
const AssetLockTransactionIsNotFoundError = require('@dashevo/dpp/lib/identity/errors/AssetLockTransactionIsNotFoundError');
|
|
11
|
+
const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
|
|
12
12
|
|
|
13
13
|
describe('fetchAssetLockTransactionOutputFactory', () => {
|
|
14
14
|
let fetchAssetLockTransactionOutput;
|