@dashevo/wasm-dpp 0.25.0-dev.15 → 0.25.0-dev.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Cargo.toml +27 -3
- package/dist/errors/patchConsensusErrors.js +94 -115
- package/dist/wasm/wasm_dpp.d.ts +2124 -4081
- package/dist/wasm/wasm_dpp.js +17746 -2656
- package/dist/wasm/wasm_dpp_bg.js +1 -1
- package/lib/dpp.ts +1 -1
- package/lib/errors/patchConsensusErrors.ts +94 -93
- package/lib/test/bootstrap.js +5 -0
- package/lib/test/fixtures/getDataContractFixture.js +11 -5
- package/lib/test/fixtures/getDocumentsFixture.js +4 -4
- package/lib/test/fixtures/getIdentityCreateTransitionFixture.js +13 -19
- package/lib/test/fixtures/getIdentityCreditTransferTransitionFixture.js +14 -0
- package/lib/test/fixtures/getIdentityFixture.js +21 -32
- package/lib/test/fixtures/getIdentityTopUpTransitionFixture.js +7 -10
- package/lib/test/fixtures/getIdentityUpdateTransitionFixture.js +13 -28
- package/lib/test/fixtures/getPrivateAndPublicKeyForSigningFixture.js +7 -9
- package/lib/wasm/wasm_dpp.d.ts +2124 -4081
- package/package.json +5 -5
- package/scripts/build-wasm.sh +6 -9
- package/src/dash_platform_protocol.rs +172 -195
- package/src/data_contract/data_contract.rs +264 -200
- package/src/data_contract/data_contract_facade.rs +24 -46
- package/src/data_contract/errors/mod.rs +1 -0
- package/src/data_contract/mod.rs +2 -2
- package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +91 -79
- package/src/data_contract/state_transition/data_contract_update_transition/mod.rs +84 -73
- package/src/data_contract_factory/data_contract_factory.rs +39 -83
- package/src/document/document_facade.rs +74 -81
- package/src/document/errors/document_already_exists_error.rs +6 -6
- package/src/document/errors/document_no_revision_error.rs +1 -0
- package/src/document/errors/document_not_provided_error.rs +6 -6
- package/src/document/errors/invalid_document_action_error.rs +11 -7
- package/src/document/errors/invalid_initial_revision_error.rs +4 -4
- package/src/document/errors/mismatch_owners_ids_error.rs +5 -8
- package/src/document/errors/mod.rs +5 -0
- package/src/document/errors/revision_absent_error.rs +6 -6
- package/src/document/errors/trying_to_delete_immutable_document_error.rs +19 -0
- package/src/document/errors/trying_to_replace_immutable_document_error.rs +4 -4
- package/src/document/extended_document.rs +76 -76
- package/src/document/factory.rs +127 -123
- package/src/document/generate_document_id.rs +2 -2
- package/src/document/mod.rs +162 -148
- package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +50 -48
- package/src/document/state_transition/document_batch_transition/document_transition/document_delete_transition.rs +14 -14
- package/src/document/state_transition/document_batch_transition/document_transition/document_replace_transition.rs +50 -38
- package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +165 -153
- package/src/document/state_transition/document_batch_transition/mod.rs +230 -217
- package/src/errors/consensus/basic/data_contract/data_contract_have_new_unique_index_error.rs +2 -10
- package/src/errors/consensus/basic/data_contract/data_contract_immutable_properties_update_error.rs +1 -10
- package/src/errors/consensus/basic/data_contract/data_contract_invalid_index_definition_update_error.rs +2 -11
- package/src/errors/consensus/basic/data_contract/data_contract_max_depth_exceed_error.rs +1 -10
- package/src/errors/consensus/basic/data_contract/data_contract_unique_indices_changed_error.rs +1 -10
- package/src/errors/consensus/basic/data_contract/duplicate_index_name_error.rs +1 -10
- package/src/errors/consensus/basic/data_contract/incompatible_data_contract_schema_error.rs +1 -10
- package/src/errors/consensus/basic/data_contract/incompatible_re2_pattern_error.rs +1 -10
- package/src/errors/consensus/basic/data_contract/index_error/duplicate_index_error.rs +1 -10
- package/src/errors/consensus/basic/data_contract/index_error/invalid_compound_index_error.rs +1 -10
- package/src/errors/consensus/basic/data_contract/index_error/invalid_index_property_type_error.rs +1 -10
- package/src/errors/consensus/basic/data_contract/index_error/invalid_indexed_property_constraint_error.rs +1 -10
- package/src/errors/consensus/basic/data_contract/index_error/system_property_index_already_present_error.rs +1 -10
- package/src/errors/consensus/basic/data_contract/index_error/undefined_index_property_error.rs +1 -10
- package/src/errors/consensus/basic/data_contract/index_error/unique_indices_limit_reached_error.rs +1 -10
- package/src/errors/consensus/basic/data_contract/invalid_data_contract_id_error.rs +1 -10
- package/src/errors/consensus/basic/data_contract/invalid_data_contract_version_error.rs +1 -10
- package/src/errors/consensus/basic/data_contract/invalid_json_schema_ref_error.rs +1 -10
- package/src/errors/consensus/basic/decode/protocol_version_parsing_error.rs +10 -8
- package/src/errors/consensus/basic/decode/serialized_object_parsing_error.rs +1 -10
- package/src/errors/consensus/basic/document/data_contract_not_present_error.rs +1 -10
- package/src/errors/consensus/basic/document/duplicate_document_transitions_with_ids_error.rs +1 -10
- package/src/errors/consensus/basic/document/duplicate_document_transitions_with_indices_error.rs +1 -10
- package/src/errors/consensus/basic/document/inconsistent_compound_index_data_error.rs +1 -10
- package/src/errors/consensus/basic/document/invalid_document_transition_action_error.rs +1 -10
- package/src/errors/consensus/basic/document/invalid_document_transition_id_error.rs +1 -10
- package/src/errors/consensus/basic/document/invalid_document_type_error.rs +1 -10
- package/src/errors/consensus/basic/document/missing_data_contract_id_error.rs +1 -10
- package/src/errors/consensus/basic/document/missing_document_transition_action_error.rs +1 -10
- package/src/errors/consensus/basic/document/missing_document_transition_type_error.rs +1 -10
- package/src/errors/consensus/basic/document/missing_document_type_error.rs +1 -10
- package/src/errors/consensus/basic/identity/duplicated_identity_public_key_error.rs +1 -10
- package/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_error.rs +1 -10
- package/src/errors/consensus/basic/identity/identity_asset_lock_proof_locked_transaction_mismatch_error.rs +1 -10
- package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_is_not_found_error.rs +1 -10
- package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs +1 -10
- package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_output_not_found_error.rs +1 -10
- package/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +1 -10
- package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_core_chain_height_error.rs +1 -10
- package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_transaction_height_error.rs +1 -10
- package/src/errors/consensus/basic/identity/invalid_asset_lock_transaction_output_return_size_error.rs +1 -10
- package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_error.rs +1 -10
- package/src/errors/consensus/basic/identity/invalid_identity_asset_lock_transaction_output_error.rs +1 -10
- package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_core_fee_error.rs +1 -10
- package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_output_script_error.rs +1 -10
- package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_pooling_error.rs +1 -10
- package/src/errors/consensus/basic/identity/invalid_identity_key_signature_error.rs +1 -10
- package/src/errors/consensus/basic/identity/invalid_identity_public_key_data_error.rs +1 -10
- package/src/errors/consensus/basic/identity/invalid_identity_public_key_security_level_error.rs +1 -10
- package/src/errors/consensus/basic/identity/invalid_identity_public_key_type_error.rs +1 -10
- package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_error.rs +1 -10
- package/src/errors/consensus/basic/identity/invalid_instant_asset_lock_proof_signature_error.rs +1 -10
- package/src/errors/consensus/basic/identity/missing_master_public_key_error.rs +1 -10
- package/src/errors/consensus/basic/identity/missing_public_key_error.rs +1 -10
- package/src/errors/consensus/basic/incompatible_protocol_version_error.rs +1 -10
- package/src/errors/consensus/basic/invalid_identifier_error.rs +1 -10
- package/src/errors/consensus/basic/invalid_signature_public_key_security_level_error.rs +1 -10
- package/src/errors/consensus/basic/invalid_state_transition_signature_error.rs +1 -10
- package/src/errors/consensus/basic/json_schema_compilation_error.rs +1 -10
- package/src/errors/consensus/basic/json_schema_error.rs +1 -9
- package/src/errors/consensus/basic/mod.rs +2 -0
- package/src/errors/consensus/basic/public_key_is_disabled_error.rs +1 -10
- package/src/errors/consensus/basic/public_key_security_level_not_met_error.rs +2 -11
- package/src/errors/consensus/basic/state_transition/invalid_state_transition_type_error.rs +1 -10
- package/src/errors/consensus/basic/state_transition/missing_state_transition_type_error.rs +1 -10
- package/src/errors/consensus/basic/state_transition/state_transition_max_size_exceeded_error.rs +1 -10
- package/src/errors/consensus/basic/unsupported_protocol_version_error.rs +1 -10
- package/src/errors/consensus/basic/unsupported_version_error.rs +44 -0
- package/src/errors/consensus/basic/wrong_public_key_purpose_error.rs +1 -10
- package/src/errors/consensus/consensus_error.rs +39 -21
- package/src/errors/consensus/deserialize.rs +2 -2
- package/src/errors/consensus/fee/balance_is_not_enough_error.rs +5 -3
- package/src/errors/consensus/signature/basic_bls_error.rs +1 -10
- package/src/errors/consensus/signature/basic_ecdsa_error.rs +1 -10
- package/src/errors/consensus/signature/identity_not_found_error.rs +4 -3
- package/src/errors/consensus/signature/signature_should_not_be_present_error.rs +1 -10
- package/src/errors/consensus/state/data_contract/data_contract_already_present_error.rs +3 -3
- package/src/errors/consensus/state/data_contract/data_contract_config_update_error.rs +42 -0
- package/src/errors/consensus/state/data_contract/data_contract_is_readonly_error.rs +44 -0
- package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_condition_error.rs +2 -2
- package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_execution_error.rs +2 -2
- package/src/errors/consensus/state/data_contract/data_trigger/data_trigger_invalid_result_error.rs +2 -2
- package/src/errors/consensus/state/data_contract/mod.rs +7 -1
- package/src/errors/consensus/state/document/document_already_present_error.rs +1 -10
- package/src/errors/consensus/state/document/document_not_found_error.rs +1 -10
- package/src/errors/consensus/state/document/document_owner_id_mismatch_error.rs +1 -10
- package/src/errors/consensus/state/document/document_timestamp_window_violation_error.rs +1 -10
- package/src/errors/consensus/state/document/document_timestamps_are_equal_error.rs +1 -10
- package/src/errors/consensus/state/document/document_timestamps_mismatch_error.rs +1 -10
- package/src/errors/consensus/state/document/duplicate_unique_index_error.rs +1 -10
- package/src/errors/consensus/state/document/invalid_document_revision_error.rs +9 -13
- package/src/errors/consensus/state/identity/duplicated_identity_public_key_id_state_error.rs +1 -10
- package/src/errors/consensus/state/identity/duplicated_identity_public_key_state_error.rs +1 -10
- package/src/errors/consensus/state/identity/identity_already_exists_error.rs +1 -10
- package/src/errors/consensus/state/identity/identity_public_key_disabled_at_window_violation_error.rs +1 -10
- package/src/errors/consensus/state/identity/identity_public_key_is_disabled_error.rs +1 -10
- package/src/errors/consensus/state/identity/identity_public_key_is_read_only_error.rs +1 -10
- package/src/errors/consensus/state/identity/invalid_identity_public_key_id_error.rs +2 -10
- package/src/errors/consensus/state/identity/invalid_identity_revision_error.rs +1 -10
- package/src/errors/consensus/state/identity/max_identity_public_key_limit_reached_error.rs +1 -10
- package/src/errors/consensus/value_error.rs +1 -10
- package/src/errors/from.rs +12 -8
- package/src/errors/mod.rs +7 -7
- package/src/identity/factory_utils.rs +10 -10
- package/src/identity/identity.rs +275 -0
- package/src/identity/identity_facade.rs +87 -70
- package/src/identity/identity_factory.rs +74 -54
- package/src/identity/identity_public_key/mod.rs +86 -62
- package/src/identity/mod.rs +25 -256
- package/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof_structure_validator.rs +0 -1
- package/src/identity/state_transition/asset_lock_proof/chain/mod.rs +3 -1
- package/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof_structure_validator.rs +0 -1
- package/src/identity/state_transition/asset_lock_proof/instant/mod.rs +3 -1
- package/src/identity/state_transition/asset_lock_proof/mod.rs +112 -116
- package/src/identity/state_transition/identity_create_transition/identity_create_transition.rs +66 -52
- package/src/identity/state_transition/identity_create_transition/identity_create_transition_basic_validator.rs +0 -1
- package/src/identity/state_transition/identity_create_transition/mod.rs +3 -3
- package/src/identity/state_transition/identity_create_transition/to_object.rs +9 -11
- package/src/identity/state_transition/identity_credit_transfer_transition/apply_identity_credit_transfer_transition.rs +31 -0
- package/src/identity/state_transition/identity_credit_transfer_transition/identity_credit_transfer_transition_basic_validator.rs +66 -0
- package/src/identity/state_transition/identity_credit_transfer_transition/identity_credit_transfer_transition_state_validator.rs +44 -0
- package/src/identity/state_transition/identity_credit_transfer_transition/mod.rs +8 -0
- package/src/identity/state_transition/identity_credit_transfer_transition/to_object.rs +49 -0
- package/src/identity/state_transition/identity_credit_transfer_transition/transition.rs +344 -0
- package/src/identity/state_transition/identity_public_key_transitions.rs +81 -66
- package/src/identity/state_transition/identity_topup_transition/identity_topup_transition.rs +64 -51
- package/src/identity/state_transition/identity_topup_transition/identity_topup_transition_basic_validator.rs +0 -2
- package/src/identity/state_transition/identity_topup_transition/mod.rs +3 -3
- package/src/identity/state_transition/identity_topup_transition/to_object.rs +8 -12
- package/src/identity/state_transition/identity_update_transition/identity_update_transition.rs +95 -92
- package/src/identity/state_transition/identity_update_transition/mod.rs +4 -4
- package/src/identity/state_transition/identity_update_transition/to_object.rs +14 -18
- package/src/identity/state_transition/mod.rs +4 -2
- package/src/identity/state_transition/transition_types.rs +4 -0
- package/src/lib.rs +9 -9
- package/src/metadata.rs +3 -3
- package/src/protocol_version.rs +2 -2
- package/src/state_transition/conversion.rs +11 -1
- package/src/state_transition/errors/invalid_state_transition_error.rs +9 -9
- package/src/state_transition/fee/operations/pre_calculated_operation.rs +2 -1
- package/src/state_transition/mod.rs +137 -139
- package/src/state_transition/state_transition_facade.rs +2 -3
- package/src/state_transition/state_transition_factory.rs +142 -153
- package/src/state_transition/validation/state_transition_fee_validator.rs +1 -1
- package/src/state_transition/validation/validate_state_transition_identity_signature.rs +8 -4
- package/src/state_transition/validation/validate_state_transition_key_signature.rs +1 -1
- package/src/utils.rs +4 -2
- package/src/validation/validation_result.rs +1 -1
- package/test/integration/dataContract/DataContractFacade.spec.js +11 -15
- package/test/integration/dataContract/stateTransition/DataContractCreateTransition/validation/basic/validateDataContractCreateTransitionBasicFactory.spec.js +1 -1
- package/test/integration/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateDataContractUpdateTransitionBasicFactory.spec.js +1 -1
- package/test/integration/dataContract/validation/validateDataContractFactory.spec.js +1 -1
- package/test/integration/document/Document.spec.js +3 -3
- package/test/integration/document/DocumentFacade.spec.js +34 -33
- package/test/integration/document/stateTransition/DocumentsBatchTransition/DocumentBatchTransition.spec.js +1 -1
- package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/basic/validateDocumentsBatchTransitionBasicFactory.spec.js +1 -1
- package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/state/executeDataTriggersFactory.spec.js +1 -1
- package/test/integration/document/validation/validateDocumentFactory.spec.js +1 -1
- package/test/integration/identity/IdentityFacade.spec.js +29 -58
- package/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js +2 -2
- package/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js +1 -1
- package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/basic/validateIdentityUpdateTransitionBasicFactory.spec.js +1 -1
- package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory.spec.js +2 -2
- package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validatePublicKeysState.spec.js +2 -2
- package/test/integration/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory.spec.js +1 -1
- package/test/integration/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory.spec.js +2 -2
- package/test/integration/identity/stateTransition/assetLockProof/instant/validateInstantAssetLockProofStructureFactory.spec.js +1 -1
- package/test/integration/identity/stateTransition/assetLockProof/validateAssetLockTransactionFactory.spec.js +4 -3
- package/test/integration/identity/stateTransition/validatePublicKeySignaturesFactory.spec.js +1 -1
- package/test/integration/identity/validation/validateIdentityFactory.spec.js +2 -2
- package/test/integration/identity/validation/validatePublicKeysFactory.spec.js +1 -1
- package/test/integration/stateTransition/StateTransitionFacade.spec.js +39 -48
- package/test/integration/util/generateTemporaryEcdsaPrivateKey.spec.js +1 -1
- package/test/unit/DashPlatformProtocol.spec.js +4 -18
- package/test/unit/dataContract/DataContract.spec.js +100 -121
- package/test/unit/dataContract/DataContractFactory.spec.js +21 -1
- package/test/unit/dataContract/createDataContract.spec.js +1 -1
- package/test/unit/dataContract/generateDataContractId.spec.js +1 -1
- package/test/unit/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition.spec.js +23 -13
- package/test/unit/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory.spec.js +1 -1
- package/test/unit/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory.spec.js +1 -1
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +16 -7
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory.spec.js +1 -1
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateIndicesAreBackwardCompatible.spec.js +1 -1
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory.spec.js +1 -1
- package/test/unit/dataContract/validation/validateDataContractPatterns.spec.js +1 -1
- package/test/unit/document/Document.spec.js +18 -10
- package/test/unit/document/DocumentFactory.spec.js +10 -23
- package/test/unit/document/fetchAndValidateDataContractFactory.spec.js +1 -1
- package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +4 -4
- package/test/unit/document/stateTransition/DocumetsBatchTransition/applyDocumentsBatchTransitionFactory.spec.js +1 -1
- package/test/unit/document/stateTransition/DocumetsBatchTransition/documentTransition/DocumentCreateTransition.spec.js +1 -1
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesById.spec.js +1 -1
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js +1 -1
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/validatePartialCompoundIndices.spec.js +1 -1
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/fetchDocumentsFactory.spec.js +1 -1
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsBatchTransitionStateFactory.spec.js +1 -1
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsUniquenessByIndicesFactory.spec.js +1 -1
- package/test/unit/identity/Identity.spec.js +34 -74
- package/test/unit/identity/IdentityFactory.spec.js +55 -68
- package/test/unit/identity/IdentityPublicKey.spec.js +30 -47
- package/test/unit/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition.spec.js +23 -55
- package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +2 -2
- package/test/unit/identity/stateTransition/IdentityCreateTransition/validation/state/validateIdentityCreateTransitionStateFactory.spec.js +2 -2
- package/test/unit/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition.spec.js +7 -28
- package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +4 -4
- package/test/unit/identity/stateTransition/IdentityTopUpTransition/validation/state/validateIdentityTopUpTransitionStateFactory.spec.js +2 -2
- package/test/unit/identity/stateTransition/IdentityUpdateTransition/IdentityUpdateTransition.spec.js +19 -36
- package/test/unit/identity/stateTransition/IdentityUpdateTransition/applyIdentityUpdateTransitionFactory.spec.js +3 -3
- package/test/unit/identity/stateTransition/assetLockProof/fetchAssetLockPublicKeyHashFactory.spec.js +1 -1
- package/test/unit/identity/stateTransition/identityCreditTransferTransition/identityCreditTransferTransition.spec.js +130 -0
- package/test/unit/stateTransition/StateTransitionExecutionContext.spec.js +1 -1
- package/test/unit/stateTransition/StateTransitionFactory.spec.js +13 -18
- package/test/unit/stateTransition/createStateTransitionFactory.spec.js +1 -1
- package/test/unit/stateTransition/validation/validateStateTransitionBasicFactory.spec.js +1 -1
- package/test/unit/stateTransition/validation/validateStateTransitionFeeFactory.spec.js +1 -1
- package/test/unit/stateTransition/validation/validateStateTransitionIdentitySignatureFactory.spec.js +1 -1
- package/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js +2 -2
- package/test/unit/stateTransition/validation/validateStateTransitionStateFactory.spec.js +1 -1
- package/test/unit/version/validateProtocolVersionFactory.spec.js +1 -1
- package/test-d/index.test-d.ts +2 -2
- package/src/data_contract/state_transition/data_contract_create_transition/apply.rs +0 -45
- package/src/data_contract/state_transition/data_contract_update_transition/apply.rs +0 -49
- package/src/document/state_transition/document_batch_transition/apply_document_batch_transition.rs +0 -25
package/test/unit/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition.spec.js
CHANGED
|
@@ -1,48 +1,25 @@
|
|
|
1
1
|
const getIdentityCreateTransitionFixture = require('../../../../../lib/test/fixtures/getIdentityCreateTransitionFixture');
|
|
2
|
-
const getChainAssetLockProofFixture = require('../../../../../lib/test/fixtures/getChainAssetLockProofFixture');
|
|
3
2
|
|
|
4
|
-
const {
|
|
5
|
-
|
|
3
|
+
const {
|
|
4
|
+
IdentityPublicKeyWithWitness,
|
|
5
|
+
InstantAssetLockProof, Identifier,
|
|
6
|
+
StateTransitionTypes,
|
|
7
|
+
} = require('../../../../..');
|
|
6
8
|
|
|
7
9
|
describe('IdentityCreateTransition', () => {
|
|
8
10
|
let rawStateTransition;
|
|
9
11
|
let stateTransition;
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
let IdentityPublicKeyWithWitness;
|
|
18
|
-
|
|
19
|
-
const mockRawPublicKey = (params = {}) => ({
|
|
20
|
-
id: 0,
|
|
21
|
-
type: KeyType.ECDSA_SECP256K1,
|
|
22
|
-
data: Buffer.from('AkVuTKyF3YgKLAQlLEtaUL2HTditwGILfWUVqjzYnIgH', 'base64'),
|
|
23
|
-
purpose: KeyPurpose.AUTHENTICATION,
|
|
24
|
-
securityLevel: KeySecurityLevel.MASTER,
|
|
25
|
-
signature: Buffer.alloc(32).fill(1),
|
|
26
|
-
readOnly: false,
|
|
27
|
-
...params,
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
before(async () => {
|
|
31
|
-
({
|
|
32
|
-
IdentityCreateTransition,
|
|
33
|
-
IdentityPublicKeyWithWitness,
|
|
34
|
-
KeyType,
|
|
35
|
-
KeyPurpose,
|
|
36
|
-
KeySecurityLevel,
|
|
37
|
-
InstantAssetLockProof, Identifier,
|
|
38
|
-
} = await loadWasmDpp());
|
|
39
|
-
});
|
|
13
|
+
const mockPublicKey = (id) => {
|
|
14
|
+
const key = new IdentityPublicKeyWithWitness(1);
|
|
15
|
+
key.setData(Buffer.from('AkVuTKyF3YgKLAQlLEtaUL2HTditwGILfWUVqjzYnIgH', 'base64'));
|
|
16
|
+
key.setId(id);
|
|
17
|
+
return key;
|
|
18
|
+
};
|
|
40
19
|
|
|
41
20
|
beforeEach(async () => {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
rawStateTransition,
|
|
45
|
-
);
|
|
21
|
+
stateTransition = await getIdentityCreateTransitionFixture();
|
|
22
|
+
rawStateTransition = stateTransition.toObject();
|
|
46
23
|
});
|
|
47
24
|
|
|
48
25
|
describe('#constructor', () => {
|
|
@@ -52,17 +29,9 @@ describe('IdentityCreateTransition', () => {
|
|
|
52
29
|
);
|
|
53
30
|
|
|
54
31
|
expect(stateTransition.publicKeys.map((key) => key.toObject())).to.deep.equal([
|
|
55
|
-
|
|
32
|
+
rawStateTransition.publicKeys[0],
|
|
56
33
|
]);
|
|
57
34
|
});
|
|
58
|
-
|
|
59
|
-
it('should create instance with chain asset lock proof', () => {
|
|
60
|
-
const stObject = stateTransition.toObject();
|
|
61
|
-
stObject.assetLockProof = getChainAssetLockProofFixture().toObject();
|
|
62
|
-
stateTransition = new IdentityCreateTransition(stObject);
|
|
63
|
-
expect(stateTransition.getAssetLockProof().toObject())
|
|
64
|
-
.to.deep.equal(stObject.assetLockProof);
|
|
65
|
-
});
|
|
66
35
|
});
|
|
67
36
|
|
|
68
37
|
describe('#getType', () => {
|
|
@@ -103,8 +72,8 @@ describe('IdentityCreateTransition', () => {
|
|
|
103
72
|
describe('#setPublicKeys', () => {
|
|
104
73
|
it('should set public keys', () => {
|
|
105
74
|
const publicKeys = [
|
|
106
|
-
|
|
107
|
-
|
|
75
|
+
mockPublicKey({ id: 0 }),
|
|
76
|
+
mockPublicKey({ id: 1 }),
|
|
108
77
|
];
|
|
109
78
|
|
|
110
79
|
stateTransition.setPublicKeys(publicKeys);
|
|
@@ -117,8 +86,7 @@ describe('IdentityCreateTransition', () => {
|
|
|
117
86
|
describe('#getPublicKeys', () => {
|
|
118
87
|
it('should return set public keys', () => {
|
|
119
88
|
expect(stateTransition.getPublicKeys().map((key) => key.toObject())).to.deep.equal(
|
|
120
|
-
rawStateTransition.publicKeys
|
|
121
|
-
.map((rawPublicKey) => new IdentityPublicKeyWithWitness(rawPublicKey).toObject()),
|
|
89
|
+
rawStateTransition.publicKeys,
|
|
122
90
|
);
|
|
123
91
|
});
|
|
124
92
|
});
|
|
@@ -126,8 +94,8 @@ describe('IdentityCreateTransition', () => {
|
|
|
126
94
|
describe('#addPublicKeys', () => {
|
|
127
95
|
it('should add more public keys', () => {
|
|
128
96
|
const publicKeys = [
|
|
129
|
-
|
|
130
|
-
|
|
97
|
+
mockPublicKey({ id: 0 }),
|
|
98
|
+
mockPublicKey({ id: 1 }),
|
|
131
99
|
];
|
|
132
100
|
|
|
133
101
|
stateTransition.setPublicKeys([]);
|
|
@@ -158,7 +126,7 @@ describe('IdentityCreateTransition', () => {
|
|
|
158
126
|
rawStateTransition = stateTransition.toObject();
|
|
159
127
|
|
|
160
128
|
expect(rawStateTransition).to.deep.equal({
|
|
161
|
-
|
|
129
|
+
$version: '0',
|
|
162
130
|
type: StateTransitionTypes.IdentityCreate,
|
|
163
131
|
assetLockProof: rawStateTransition.assetLockProof,
|
|
164
132
|
publicKeys: rawStateTransition.publicKeys,
|
|
@@ -170,7 +138,7 @@ describe('IdentityCreateTransition', () => {
|
|
|
170
138
|
rawStateTransition = stateTransition.toObject({ skipSignature: true });
|
|
171
139
|
|
|
172
140
|
expect(rawStateTransition).to.deep.equal({
|
|
173
|
-
|
|
141
|
+
$version: '0',
|
|
174
142
|
type: StateTransitionTypes.IdentityCreate,
|
|
175
143
|
assetLockProof: rawStateTransition.assetLockProof,
|
|
176
144
|
publicKeys: rawStateTransition.publicKeys,
|
|
@@ -183,7 +151,7 @@ describe('IdentityCreateTransition', () => {
|
|
|
183
151
|
const jsonStateTransition = stateTransition.toJSON();
|
|
184
152
|
|
|
185
153
|
expect(jsonStateTransition).to.deep.equal({
|
|
186
|
-
|
|
154
|
+
$version: '0',
|
|
187
155
|
type: StateTransitionTypes.IdentityCreate,
|
|
188
156
|
assetLockProof: stateTransition.getAssetLockProof().toJSON(),
|
|
189
157
|
publicKeys: stateTransition.getPublicKeys().map((k) => k.toJSON()),
|
|
@@ -201,7 +169,7 @@ describe('IdentityCreateTransition', () => {
|
|
|
201
169
|
|
|
202
170
|
expect(identityId).to.be.an.instanceOf(Identifier);
|
|
203
171
|
expect(identityId.toBuffer()).to.be.deep.equal(
|
|
204
|
-
|
|
172
|
+
stateTransition.getAssetLockProof().createIdentifier(),
|
|
205
173
|
);
|
|
206
174
|
});
|
|
207
175
|
});
|
|
@@ -6,7 +6,7 @@ const createStateRepositoryMock = require('../../../../../lib/test/mocks/createS
|
|
|
6
6
|
const { default: loadWasmDpp } = require('../../../../..');
|
|
7
7
|
const { getLatestProtocolVersion } = require('../../../../..');
|
|
8
8
|
|
|
9
|
-
describe('applyIdentityCreateTransitionFactory', () => {
|
|
9
|
+
describe.skip('applyIdentityCreateTransitionFactory', () => {
|
|
10
10
|
let stateTransition;
|
|
11
11
|
let applyIdentityCreateTransition;
|
|
12
12
|
let stateRepositoryMock;
|
|
@@ -45,7 +45,7 @@ describe('applyIdentityCreateTransitionFactory', () => {
|
|
|
45
45
|
);
|
|
46
46
|
});
|
|
47
47
|
|
|
48
|
-
it('should store identity created from state transition', async function () {
|
|
48
|
+
it('should store identity created from state transition', async function beforeEach() {
|
|
49
49
|
await applyIdentityCreateTransition(stateTransition);
|
|
50
50
|
|
|
51
51
|
const balance = convertSatoshiToCredits(
|
|
@@ -5,7 +5,7 @@ const createStateRepositoryMock = require('../../../../../../../lib/test/mocks/c
|
|
|
5
5
|
const { default: loadWasmDpp } = require('../../../../../../../dist');
|
|
6
6
|
const { expectValidationError } = require('../../../../../../../lib/test/expect/expectError');
|
|
7
7
|
|
|
8
|
-
describe('validateIdentityCreateTransitionStateFactory', () => {
|
|
8
|
+
describe.skip('validateIdentityCreateTransitionStateFactory', () => {
|
|
9
9
|
let validateIdentityCreateTransitionState;
|
|
10
10
|
let stateTransition;
|
|
11
11
|
let stateRepositoryMock;
|
|
@@ -25,7 +25,7 @@ describe('validateIdentityCreateTransitionStateFactory', () => {
|
|
|
25
25
|
} = await loadWasmDpp());
|
|
26
26
|
});
|
|
27
27
|
|
|
28
|
-
beforeEach(async function () {
|
|
28
|
+
beforeEach(async function beforeEach() {
|
|
29
29
|
executionContext = new StateTransitionExecutionContext();
|
|
30
30
|
const privateKey = Buffer.from('af432c476f65211f45f48f1d42c9c0b497e56696aa1736b40544ef1a496af837', 'hex');
|
|
31
31
|
stateRepositoryMock = createStateRepositoryMock(this.sinonSandbox);
|
package/test/unit/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition.spec.js
CHANGED
|
@@ -1,29 +1,15 @@
|
|
|
1
1
|
const getIdentityTopUpTransitionFixture = require('../../../../../lib/test/fixtures/getIdentityTopUpTransitionFixture');
|
|
2
|
-
const getChainAssetLockProofFixture = require('../../../../../lib/test/fixtures/getChainAssetLockProofFixture');
|
|
3
2
|
|
|
4
|
-
const {
|
|
5
|
-
const {
|
|
3
|
+
const { InstantAssetLockProof, Identifier } = require('../../../../..');
|
|
4
|
+
const { StateTransitionTypes } = require('../../../../..');
|
|
6
5
|
|
|
7
6
|
describe('IdentityTopUpTransition', () => {
|
|
8
7
|
let rawStateTransition;
|
|
9
8
|
let stateTransition;
|
|
10
9
|
|
|
11
|
-
let IdentityTopUpTransition;
|
|
12
|
-
let InstantAssetLockProof;
|
|
13
|
-
let Identifier;
|
|
14
|
-
|
|
15
|
-
before(async () => {
|
|
16
|
-
({
|
|
17
|
-
IdentityTopUpTransition, InstantAssetLockProof, Identifier,
|
|
18
|
-
} = await loadWasmDpp());
|
|
19
|
-
});
|
|
20
|
-
|
|
21
10
|
beforeEach(async () => {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
stateTransition = new IdentityTopUpTransition(
|
|
25
|
-
rawStateTransition,
|
|
26
|
-
);
|
|
11
|
+
stateTransition = await getIdentityTopUpTransitionFixture();
|
|
12
|
+
rawStateTransition = stateTransition.toObject();
|
|
27
13
|
});
|
|
28
14
|
|
|
29
15
|
describe('#constructor', () => {
|
|
@@ -35,13 +21,6 @@ describe('IdentityTopUpTransition', () => {
|
|
|
35
21
|
rawStateTransition.identityId,
|
|
36
22
|
);
|
|
37
23
|
});
|
|
38
|
-
|
|
39
|
-
it('should create instance with chain asset lock proof', () => {
|
|
40
|
-
rawStateTransition.assetLockProof = getChainAssetLockProofFixture().toObject();
|
|
41
|
-
stateTransition = new IdentityTopUpTransition(rawStateTransition);
|
|
42
|
-
expect(stateTransition.getAssetLockProof().toObject())
|
|
43
|
-
.to.deep.equal(rawStateTransition.assetLockProof);
|
|
44
|
-
});
|
|
45
24
|
});
|
|
46
25
|
|
|
47
26
|
describe('#getType', () => {
|
|
@@ -90,7 +69,7 @@ describe('IdentityTopUpTransition', () => {
|
|
|
90
69
|
rawStateTransition = stateTransition.toObject();
|
|
91
70
|
|
|
92
71
|
expect(rawStateTransition).to.deep.equal({
|
|
93
|
-
|
|
72
|
+
$version: '0',
|
|
94
73
|
type: StateTransitionTypes.IdentityTopUp,
|
|
95
74
|
assetLockProof: rawStateTransition.assetLockProof,
|
|
96
75
|
identityId: rawStateTransition.identityId,
|
|
@@ -102,7 +81,7 @@ describe('IdentityTopUpTransition', () => {
|
|
|
102
81
|
rawStateTransition = stateTransition.toObject({ skipSignature: true });
|
|
103
82
|
|
|
104
83
|
expect(rawStateTransition).to.deep.equal({
|
|
105
|
-
|
|
84
|
+
$version: '0',
|
|
106
85
|
type: StateTransitionTypes.IdentityTopUp,
|
|
107
86
|
assetLockProof: rawStateTransition.assetLockProof,
|
|
108
87
|
identityId: rawStateTransition.identityId,
|
|
@@ -115,7 +94,7 @@ describe('IdentityTopUpTransition', () => {
|
|
|
115
94
|
const jsonStateTransition = stateTransition.toJSON();
|
|
116
95
|
|
|
117
96
|
expect(jsonStateTransition).to.deep.equal({
|
|
118
|
-
|
|
97
|
+
$version: '0',
|
|
119
98
|
type: StateTransitionTypes.IdentityTopUp,
|
|
120
99
|
assetLockProof: stateTransition.getAssetLockProof().toJSON(),
|
|
121
100
|
identityId: new Identifier(rawStateTransition.identityId).toString(),
|
|
@@ -6,7 +6,7 @@ const createStateRepositoryMock = require('../../../../../lib/test/mocks/createS
|
|
|
6
6
|
|
|
7
7
|
const { default: loadWasmDpp } = require('../../../../..');
|
|
8
8
|
|
|
9
|
-
describe('applyIdentityTopUpTransitionFactory', () => {
|
|
9
|
+
describe.skip('applyIdentityTopUpTransitionFactory', () => {
|
|
10
10
|
let stateTransition;
|
|
11
11
|
let applyIdentityTopUpTransition;
|
|
12
12
|
let stateRepositoryMock;
|
|
@@ -48,7 +48,7 @@ describe('applyIdentityTopUpTransitionFactory', () => {
|
|
|
48
48
|
);
|
|
49
49
|
});
|
|
50
50
|
|
|
51
|
-
it('should add topup amount to identity balance', async function () {
|
|
51
|
+
it('should add topup amount to identity balance', async function shouldAdd() {
|
|
52
52
|
const balanceToTopUp = convertSatoshiToCredits(
|
|
53
53
|
stateTransition.getAssetLockProof().getOutput().satoshis,
|
|
54
54
|
);
|
|
@@ -77,7 +77,7 @@ describe('applyIdentityTopUpTransitionFactory', () => {
|
|
|
77
77
|
);
|
|
78
78
|
});
|
|
79
79
|
|
|
80
|
-
it('should ignore balance debt for system credits', async function () {
|
|
80
|
+
it('should ignore balance debt for system credits', async function shouldIgnore() {
|
|
81
81
|
stateRepositoryMock.fetchIdentityBalanceWithDebt.resolves(-5);
|
|
82
82
|
|
|
83
83
|
const balanceToTopUp = convertSatoshiToCredits(
|
|
@@ -108,7 +108,7 @@ describe('applyIdentityTopUpTransitionFactory', () => {
|
|
|
108
108
|
);
|
|
109
109
|
});
|
|
110
110
|
|
|
111
|
-
it('should add topup amount to identity balance on dry run', async function () {
|
|
111
|
+
it('should add topup amount to identity balance on dry run', async function shouldAddTopup() {
|
|
112
112
|
const { match } = this.sinonSandbox;
|
|
113
113
|
|
|
114
114
|
const balanceToTopUp = convertSatoshiToCredits(
|
|
@@ -3,7 +3,7 @@ const getIdentityTopUpTransitionFixture = require('../../../../../../../lib/test
|
|
|
3
3
|
const createStateRepositoryMock = require('../../../../../../../lib/test/mocks/createStateRepositoryMock');
|
|
4
4
|
const { default: loadWasmDpp } = require('../../../../../../../dist');
|
|
5
5
|
|
|
6
|
-
describe('validateIdentityTopUpTransitionStateFactory', () => {
|
|
6
|
+
describe.skip('validateIdentityTopUpTransitionStateFactory', () => {
|
|
7
7
|
let validateIdentityTopUpTransitionState;
|
|
8
8
|
let stateTransition;
|
|
9
9
|
let stateRepositoryMock;
|
|
@@ -19,7 +19,7 @@ describe('validateIdentityTopUpTransitionStateFactory', () => {
|
|
|
19
19
|
} = await loadWasmDpp());
|
|
20
20
|
});
|
|
21
21
|
|
|
22
|
-
beforeEach(async function () {
|
|
22
|
+
beforeEach(async function beforeEach() {
|
|
23
23
|
stateRepositoryMock = createStateRepositoryMock(this.sinonSandbox);
|
|
24
24
|
|
|
25
25
|
stateTransition = await getIdentityTopUpTransitionFixture();
|
package/test/unit/identity/stateTransition/IdentityUpdateTransition/IdentityUpdateTransition.spec.js
CHANGED
|
@@ -1,25 +1,13 @@
|
|
|
1
1
|
const getIdentityUpdateTransitionFixture = require('../../../../../lib/test/fixtures/getIdentityUpdateTransitionFixture');
|
|
2
2
|
|
|
3
|
-
const {
|
|
4
|
-
const {
|
|
3
|
+
const { IdentityPublicKey, Identifier, IdentityPublicKeyWithWitness } = require('../../../../..');
|
|
4
|
+
const { StateTransitionTypes } = require('../../../../..');
|
|
5
5
|
const generateRandomIdentifierAsync = require('../../../../../lib/test/utils/generateRandomIdentifierAsync');
|
|
6
6
|
|
|
7
7
|
describe('IdentityUpdateTransition', () => {
|
|
8
8
|
let rawStateTransition;
|
|
9
9
|
let stateTransition;
|
|
10
10
|
|
|
11
|
-
let IdentityPublicKey;
|
|
12
|
-
let Identifier;
|
|
13
|
-
let IdentityPublicKeyWithWitness;
|
|
14
|
-
|
|
15
|
-
before(async () => {
|
|
16
|
-
({
|
|
17
|
-
IdentityPublicKey,
|
|
18
|
-
Identifier,
|
|
19
|
-
IdentityPublicKeyWithWitness,
|
|
20
|
-
} = await loadWasmDpp());
|
|
21
|
-
});
|
|
22
|
-
|
|
23
11
|
beforeEach(async () => {
|
|
24
12
|
stateTransition = await getIdentityUpdateTransitionFixture();
|
|
25
13
|
rawStateTransition = stateTransition.toObject();
|
|
@@ -75,28 +63,23 @@ describe('IdentityUpdateTransition', () => {
|
|
|
75
63
|
it('should return public keys to add', () => {
|
|
76
64
|
expect(stateTransition.getPublicKeysToAdd().map((key) => key.toObject()))
|
|
77
65
|
.to.deep.equal(
|
|
78
|
-
rawStateTransition.addPublicKeys
|
|
79
|
-
.map((rawPublicKey) => new IdentityPublicKeyWithWitness(rawPublicKey).toObject()),
|
|
66
|
+
rawStateTransition.addPublicKeys,
|
|
80
67
|
);
|
|
81
68
|
});
|
|
82
69
|
});
|
|
83
70
|
|
|
84
71
|
describe('#setPublicKeysToAdd', () => {
|
|
85
72
|
it('should set public keys to add', () => {
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
readOnly: true,
|
|
92
|
-
signature: Buffer.alloc(0),
|
|
93
|
-
data: Buffer.from('01fac99ca2c8f39c286717c213e190aba4b7af76db320ec43f479b7d9a2012313a0ae59ca576edf801444bc694686694', 'hex'),
|
|
94
|
-
})];
|
|
73
|
+
const key = new IdentityPublicKeyWithWitness(1);
|
|
74
|
+
key.setType(IdentityPublicKey.TYPES.BLS12_381);
|
|
75
|
+
key.setData(Buffer.from('01fac99ca2c8f39c286717c213e190aba4b7af76db320ec43f479b7d9a2012313a0ae59ca576edf801444bc694686694', 'hex'));
|
|
76
|
+
|
|
77
|
+
const publicKeys = [key];
|
|
95
78
|
|
|
96
79
|
stateTransition.setPublicKeysToAdd(publicKeys);
|
|
97
80
|
|
|
98
|
-
expect(stateTransition.addPublicKeys.map((
|
|
99
|
-
.to.have.deep.members(publicKeys.map((
|
|
81
|
+
expect(stateTransition.addPublicKeys.map((k) => k.toObject()))
|
|
82
|
+
.to.have.deep.members(publicKeys.map((k) => k.toObject()));
|
|
100
83
|
});
|
|
101
84
|
});
|
|
102
85
|
|
|
@@ -119,7 +102,7 @@ describe('IdentityUpdateTransition', () => {
|
|
|
119
102
|
describe('#getPublicKeysDisabledAt', () => {
|
|
120
103
|
it('should return time to disable public keys', () => {
|
|
121
104
|
expect(stateTransition.getPublicKeysDisabledAt())
|
|
122
|
-
.to.deep.equal(
|
|
105
|
+
.to.deep.equal(rawStateTransition.publicKeysDisabledAt);
|
|
123
106
|
});
|
|
124
107
|
});
|
|
125
108
|
|
|
@@ -138,7 +121,7 @@ describe('IdentityUpdateTransition', () => {
|
|
|
138
121
|
rawStateTransition = stateTransition.toObject();
|
|
139
122
|
|
|
140
123
|
expect(rawStateTransition).to.deep.equal({
|
|
141
|
-
|
|
124
|
+
$version: '0',
|
|
142
125
|
type: StateTransitionTypes.IdentityUpdate,
|
|
143
126
|
signature: undefined,
|
|
144
127
|
identityId: rawStateTransition.identityId,
|
|
@@ -146,7 +129,7 @@ describe('IdentityUpdateTransition', () => {
|
|
|
146
129
|
publicKeysDisabledAt: rawStateTransition.publicKeysDisabledAt,
|
|
147
130
|
addPublicKeys: rawStateTransition.addPublicKeys,
|
|
148
131
|
disablePublicKeys: rawStateTransition.disablePublicKeys,
|
|
149
|
-
signaturePublicKeyId:
|
|
132
|
+
signaturePublicKeyId: 0,
|
|
150
133
|
});
|
|
151
134
|
});
|
|
152
135
|
|
|
@@ -154,7 +137,7 @@ describe('IdentityUpdateTransition', () => {
|
|
|
154
137
|
rawStateTransition = stateTransition.toObject({ skipSignature: true });
|
|
155
138
|
|
|
156
139
|
expect(rawStateTransition).to.deep.equal({
|
|
157
|
-
|
|
140
|
+
$version: '0',
|
|
158
141
|
type: StateTransitionTypes.IdentityUpdate,
|
|
159
142
|
identityId: rawStateTransition.identityId,
|
|
160
143
|
revision: rawStateTransition.revision,
|
|
@@ -172,12 +155,12 @@ describe('IdentityUpdateTransition', () => {
|
|
|
172
155
|
rawStateTransition = stateTransition.toObject();
|
|
173
156
|
|
|
174
157
|
expect(rawStateTransition).to.deep.equal({
|
|
175
|
-
|
|
158
|
+
$version: '0',
|
|
176
159
|
type: StateTransitionTypes.IdentityUpdate,
|
|
177
160
|
signature: undefined,
|
|
178
161
|
identityId: rawStateTransition.identityId,
|
|
179
162
|
revision: rawStateTransition.revision,
|
|
180
|
-
signaturePublicKeyId:
|
|
163
|
+
signaturePublicKeyId: 0,
|
|
181
164
|
});
|
|
182
165
|
});
|
|
183
166
|
});
|
|
@@ -187,15 +170,15 @@ describe('IdentityUpdateTransition', () => {
|
|
|
187
170
|
const jsonStateTransition = stateTransition.toJSON();
|
|
188
171
|
|
|
189
172
|
expect(jsonStateTransition).to.deep.equal({
|
|
190
|
-
|
|
173
|
+
$version: '0',
|
|
191
174
|
type: StateTransitionTypes.IdentityUpdate,
|
|
192
175
|
signature: undefined,
|
|
193
176
|
identityId: stateTransition.getIdentityId().toString(),
|
|
194
177
|
revision: rawStateTransition.revision,
|
|
195
|
-
publicKeysDisabledAt: rawStateTransition.publicKeysDisabledAt,
|
|
178
|
+
publicKeysDisabledAt: rawStateTransition.publicKeysDisabledAt.getTime(),
|
|
196
179
|
addPublicKeys: stateTransition.getPublicKeysToAdd().map((k) => k.toJSON()),
|
|
197
180
|
disablePublicKeys: rawStateTransition.disablePublicKeys,
|
|
198
|
-
signaturePublicKeyId:
|
|
181
|
+
signaturePublicKeyId: 0,
|
|
199
182
|
});
|
|
200
183
|
});
|
|
201
184
|
});
|
|
@@ -3,7 +3,7 @@ const getIdentityUpdateTransitionFixture = require('../../../../../lib/test/fixt
|
|
|
3
3
|
|
|
4
4
|
const { default: loadWasmDpp } = require('../../../../../dist');
|
|
5
5
|
|
|
6
|
-
describe('applyIdentityUpdateTransition', () => {
|
|
6
|
+
describe.skip('applyIdentityUpdateTransition', () => {
|
|
7
7
|
let applyIdentityUpdateTransition;
|
|
8
8
|
let stateRepositoryMock;
|
|
9
9
|
let stateTransition;
|
|
@@ -38,7 +38,7 @@ describe('applyIdentityUpdateTransition', () => {
|
|
|
38
38
|
);
|
|
39
39
|
});
|
|
40
40
|
|
|
41
|
-
it('should add and disable public keys', async function () {
|
|
41
|
+
it('should add and disable public keys', async function shouldAdd() {
|
|
42
42
|
await applyIdentityUpdateTransition(stateTransition);
|
|
43
43
|
|
|
44
44
|
const { match } = this.sinonSandbox;
|
|
@@ -66,7 +66,7 @@ describe('applyIdentityUpdateTransition', () => {
|
|
|
66
66
|
);
|
|
67
67
|
});
|
|
68
68
|
|
|
69
|
-
it('should add and disable public keys on dry run', async function () {
|
|
69
|
+
it('should add and disable public keys on dry run', async function shouldDisable() {
|
|
70
70
|
const { match } = this.sinonSandbox;
|
|
71
71
|
|
|
72
72
|
executionContext.enableDryRun();
|
package/test/unit/identity/stateTransition/assetLockProof/fetchAssetLockPublicKeyHashFactory.spec.js
CHANGED
|
@@ -5,7 +5,7 @@ const getInstantAssetLockProofFixture = require('@dashevo/dpp/lib/test/fixtures/
|
|
|
5
5
|
const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
|
|
6
6
|
const { default: loadWasmpDpp } = require('../../../../../dist');
|
|
7
7
|
|
|
8
|
-
describe('fetchAssetLockPublicKeyHashFactory', () => {
|
|
8
|
+
describe.skip('fetchAssetLockPublicKeyHashFactory', () => {
|
|
9
9
|
let fetchAssetLockPublicKeyHash;
|
|
10
10
|
let stateRepositoryMock;
|
|
11
11
|
let executionContext;
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
const getIdentityCreditTransferTransitionFixture = require('../../../../../lib/test/fixtures/getIdentityCreditTransferTransitionFixture');
|
|
2
|
+
|
|
3
|
+
const {
|
|
4
|
+
Identifier, StateTransitionTypes,
|
|
5
|
+
} = require('../../../../..');
|
|
6
|
+
|
|
7
|
+
describe('IdentityCreditTransferTransition', () => {
|
|
8
|
+
let rawStateTransition;
|
|
9
|
+
let stateTransition;
|
|
10
|
+
|
|
11
|
+
beforeEach(async () => {
|
|
12
|
+
stateTransition = await getIdentityCreditTransferTransitionFixture();
|
|
13
|
+
rawStateTransition = stateTransition.toObject();
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
describe('#constructor', () => {
|
|
17
|
+
it('should create an instance with specified data from specified raw transition', () => {
|
|
18
|
+
expect(stateTransition.getIdentityId().toBuffer()).to.be.deep.equal(
|
|
19
|
+
rawStateTransition.identityId,
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
expect(stateTransition.getRecipientId().toBuffer()).to.be.deep.equal(
|
|
23
|
+
rawStateTransition.recipientId,
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
expect(stateTransition.getAmount()).to.be.equal(
|
|
27
|
+
rawStateTransition.amount,
|
|
28
|
+
);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
describe('#getType', () => {
|
|
33
|
+
it('should return IDENTITY_CREDIT_TRANSFER type', () => {
|
|
34
|
+
expect(stateTransition.getType()).to.equal(StateTransitionTypes.IdentityCreditTransfer);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
describe('#getIdentityId', () => {
|
|
39
|
+
it('should return identity id', () => {
|
|
40
|
+
expect(stateTransition.getIdentityId().toBuffer()).to.deep.equal(
|
|
41
|
+
rawStateTransition.identityId,
|
|
42
|
+
);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
describe('#getRecipientId', () => {
|
|
47
|
+
it('should return recipient id', () => {
|
|
48
|
+
expect(stateTransition.getRecipientId().toBuffer()).to.deep.equal(
|
|
49
|
+
rawStateTransition.recipientId,
|
|
50
|
+
);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
describe('#toObject', () => {
|
|
55
|
+
it('should return raw state transition', () => {
|
|
56
|
+
rawStateTransition = stateTransition.toObject();
|
|
57
|
+
|
|
58
|
+
expect(rawStateTransition).to.deep.equal({
|
|
59
|
+
$version: '0',
|
|
60
|
+
type: StateTransitionTypes.IdentityCreditTransfer,
|
|
61
|
+
identityId: rawStateTransition.identityId,
|
|
62
|
+
recipientId: rawStateTransition.recipientId,
|
|
63
|
+
amount: rawStateTransition.amount,
|
|
64
|
+
signature: undefined,
|
|
65
|
+
signaturePublicKeyId: undefined,
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
it('should return raw state transition', () => {
|
|
70
|
+
rawStateTransition = stateTransition.toObject({ skipSignature: true });
|
|
71
|
+
|
|
72
|
+
expect(rawStateTransition).to.deep.equal({
|
|
73
|
+
$version: '0',
|
|
74
|
+
type: StateTransitionTypes.IdentityCreditTransfer,
|
|
75
|
+
identityId: rawStateTransition.identityId,
|
|
76
|
+
recipientId: rawStateTransition.recipientId,
|
|
77
|
+
amount: rawStateTransition.amount,
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
describe('#toJSON', () => {
|
|
83
|
+
it('should return JSON representation of state transition', () => {
|
|
84
|
+
const jsonStateTransition = stateTransition.toJSON();
|
|
85
|
+
|
|
86
|
+
expect(jsonStateTransition).to.deep.equal({
|
|
87
|
+
$version: '0',
|
|
88
|
+
type: StateTransitionTypes.IdentityCreditTransfer,
|
|
89
|
+
identityId: new Identifier(rawStateTransition.identityId).toString(),
|
|
90
|
+
recipientId: new Identifier(rawStateTransition.recipientId).toString(),
|
|
91
|
+
amount: rawStateTransition.amount,
|
|
92
|
+
signature: undefined,
|
|
93
|
+
signaturePublicKeyId: undefined,
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
describe('#getModifiedDataIds', () => {
|
|
99
|
+
it('should return ids of topped up identity', () => {
|
|
100
|
+
const result = stateTransition.getModifiedDataIds();
|
|
101
|
+
|
|
102
|
+
expect(result.length).to.be.equal(2);
|
|
103
|
+
const [identityId, recipientId] = result;
|
|
104
|
+
|
|
105
|
+
expect(identityId).to.be.an.instanceOf(Identifier);
|
|
106
|
+
expect(identityId.toBuffer()).to.be.deep.equal(rawStateTransition.identityId);
|
|
107
|
+
|
|
108
|
+
expect(recipientId).to.be.an.instanceOf(Identifier);
|
|
109
|
+
expect(recipientId.toBuffer()).to.be.deep.equal(rawStateTransition.recipientId);
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
describe('#isDataContractStateTransition', () => {
|
|
114
|
+
it('should return false', () => {
|
|
115
|
+
expect(stateTransition.isDataContractStateTransition()).to.be.false();
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
describe('#isDocumentStateTransition', () => {
|
|
120
|
+
it('should return false', () => {
|
|
121
|
+
expect(stateTransition.isDocumentStateTransition()).to.be.false();
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
describe('#isIdentityStateTransition', () => {
|
|
126
|
+
it('should return true', () => {
|
|
127
|
+
expect(stateTransition.isIdentityStateTransition()).to.be.true();
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const { expect } = require('chai');
|
|
2
2
|
const { default: loadWasmDpp } = require('../../../dist');
|
|
3
3
|
|
|
4
|
-
describe('StateTransitionExecutionContext', () => {
|
|
4
|
+
describe.skip('StateTransitionExecutionContext', () => {
|
|
5
5
|
let ReadOperation;
|
|
6
6
|
let PreCalculatedOperation;
|
|
7
7
|
let SignatureVerificationOperation;
|