@dashevo/wasm-dpp 0.24.0-dev.12 → 0.24.0-dev.14
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/.mocharc.yml +1 -1
- package/Cargo.toml +5 -2
- package/README.md +5 -1
- package/dist/index.js +1 -1
- package/dist/index.js.LICENSE.txt +9 -0
- package/dist/wasm/wasm_dpp.d.ts +3397 -1237
- package/karma.conf.js +5 -0
- package/lib/identifier/patchIdentifier.ts +5 -4
- package/lib/index.ts +1 -1
- package/lib/test/bootstrap.js +5 -0
- package/lib/test/fixtures/getDataContractFixture.js +267 -0
- package/lib/test/fixtures/getDocumentsFixture.js +43 -0
- package/lib/test/mocks/createStateRepositoryMock.js +64 -0
- package/lib/test/mocks/getBlsAdapterMock.js +51 -0
- package/package.json +11 -8
- package/src/bls_adapter.rs +17 -1
- package/src/buffer.rs +3 -0
- package/src/dash_platform_protocol.rs +107 -10
- package/src/data_contract/data_contract.rs +59 -10
- package/src/data_contract/data_contract_facade.rs +128 -0
- package/src/data_contract/errors/invalid_data_contract.rs +16 -16
- package/src/data_contract/errors/invalid_document_type.rs +8 -8
- package/src/data_contract/errors/mod.rs +10 -16
- package/src/data_contract/index.rs +56 -1
- package/src/data_contract/mod.rs +4 -0
- package/src/data_contract/state_transition/data_contract_create_transition/apply.rs +1 -1
- package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +41 -10
- package/src/data_contract/state_transition/data_contract_create_transition/validation.rs +35 -4
- package/src/data_contract/state_transition/data_contract_update_transition/apply.rs +1 -1
- package/src/data_contract/state_transition/data_contract_update_transition/mod.rs +20 -7
- package/src/data_contract/state_transition/data_contract_update_transition/validation.rs +47 -11
- package/src/data_contract_factory/data_contract_factory.rs +19 -17
- package/src/data_trigger/data_trigger_execution_context.rs +95 -0
- package/src/data_trigger/data_trigger_execution_result.rs +48 -0
- package/src/data_trigger/execute_data_triggers_factory.rs +60 -0
- package/src/data_trigger/get_data_triggers_factory.rs +65 -0
- package/src/data_trigger/mod.rs +121 -0
- package/src/document/document_facade.rs +125 -0
- package/src/document/errors/invalid_document_error.rs +10 -9
- package/src/document/errors/invalid_initial_revision_error.rs +1 -1
- package/src/document/errors/mismatch_owners_ids_error.rs +14 -4
- package/src/document/errors/mod.rs +17 -13
- package/src/document/errors/no_documents_supplied_error.rs +4 -4
- package/src/document/factory.rs +257 -0
- package/src/document/fetch_and_validate_data_contract.rs +77 -0
- package/src/document/generate_document_id.rs +17 -0
- package/src/document/mod.rs +311 -37
- package/src/document/state_transition/document_batch_transition/apply_document_batch_transition.rs +22 -0
- package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +253 -1
- package/src/document/state_transition/document_batch_transition/document_transition/document_delete_transition.rs +60 -1
- package/src/document/state_transition/document_batch_transition/document_transition/document_replace_transition.rs +263 -0
- package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +302 -3
- package/src/document/state_transition/document_batch_transition/mod.rs +378 -0
- package/src/document/state_transition/document_batch_transition/validation/basic/find_duplicates_by_id.rs +40 -0
- package/src/document/state_transition/document_batch_transition/validation/basic/find_duplicates_by_indices.rs +50 -0
- package/src/document/state_transition/document_batch_transition/validation/basic/mod.rs +8 -0
- package/src/document/state_transition/document_batch_transition/validation/basic/validate_documents_batch_transition_basic.rs +34 -0
- package/src/document/state_transition/document_batch_transition/validation/basic/validate_partial_compound_indices.rs +39 -0
- package/src/document/state_transition/document_batch_transition/validation/mod.rs +2 -0
- package/src/document/state_transition/document_batch_transition/validation/state/fetch_documents.rs +43 -0
- package/src/document/state_transition/document_batch_transition/validation/state/mod.rs +3 -0
- package/src/document/state_transition/document_batch_transition/validation/state/validate_documents_batch_transitions_state.rs +27 -0
- package/src/document/state_transition/document_batch_transition/validation/state/validate_documents_uniqueness_by_indices.rs +47 -0
- package/src/document/validator.rs +52 -0
- package/src/errors/compatible_protocol_version_is_not_defined_error.rs +24 -0
- package/src/errors/consensus/basic/document/duplicate_document_transitions_with_ids_error.rs +1 -1
- package/src/errors/consensus/basic/document/duplicate_document_transitions_with_indices_error.rs +1 -1
- package/src/errors/consensus/basic/document/inconsistent_compound_index_data_error.rs +2 -2
- package/src/errors/consensus/basic/document/invalid_document_type_error.rs +15 -1
- package/src/errors/consensus/basic/document/missing_data_contract_id_error.rs +16 -2
- package/src/errors/consensus/basic/identity/duplicated_identity_public_key_error.rs +1 -1
- package/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_error.rs +1 -1
- package/src/errors/consensus/basic/identity/identity_asset_lock_proof_locked_transaction_mismatch_error.rs +6 -2
- package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs +5 -2
- package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_transaction_height_error.rs +3 -3
- package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_core_fee_error.rs +2 -2
- package/src/errors/consensus/basic/identity/invalid_identity_credit_withdrawal_transition_pooling_error.rs +29 -0
- package/src/errors/consensus/basic/identity/invalid_identity_key_signature_error.rs +4 -3
- package/src/errors/consensus/basic/identity/invalid_identity_public_key_data_error.rs +1 -1
- package/src/errors/consensus/basic/identity/invalid_identity_public_key_security_level_error.rs +1 -1
- package/src/errors/consensus/basic/identity/missing_public_key_error.rs +4 -3
- package/src/errors/consensus/basic/identity/mod.rs +2 -0
- package/src/errors/consensus/basic/invalid_identifier_error.rs +1 -1
- package/src/errors/consensus/basic/json_schema_error.rs +8 -2
- package/src/errors/consensus/basic/public_key_is_disabled_error.rs +1 -1
- package/src/errors/consensus/state/document/document_timestamp_window_violation_error.rs +9 -9
- package/src/errors/consensus/state/document/invalid_document_revision_error.rs +4 -4
- package/src/errors/consensus/state/identity/duplicated_identity_public_key_id_state_error.rs +35 -0
- package/src/errors/consensus/state/identity/duplicated_identity_public_key_state_error.rs +34 -0
- package/src/errors/consensus/state/identity/identity_public_key_disabled_at_window_violation_error.rs +10 -7
- package/src/errors/consensus/state/identity/identity_public_key_is_disabled_error.rs +2 -3
- package/src/errors/consensus/state/identity/identity_public_key_is_read_only_error.rs +7 -3
- package/src/errors/consensus/state/identity/invalid_identity_public_key_id_error.rs +2 -3
- package/src/errors/consensus/state/identity/invalid_identity_revision_error.rs +7 -4
- package/src/errors/consensus/state/identity/max_identity_public_key_limit_reached_error.rs +2 -1
- package/src/errors/consensus/state/identity/mod.rs +4 -0
- package/src/errors/consensus_error.rs +218 -268
- package/src/errors/data_contract_not_present_error.rs +23 -0
- package/src/errors/dpp_error.rs +17 -0
- package/src/errors/from.rs +22 -0
- package/src/errors/js_conversion.rs +52 -5
- package/src/errors/mod.rs +6 -0
- package/src/errors/protocol_error.rs +14 -3
- package/src/identifier/errors.rs +30 -0
- package/src/identifier/mod.rs +95 -11
- package/src/identity/errors/asset_lock_output_not_found_error.rs +11 -0
- package/src/identity/errors/asset_lock_transaction_is_not_found_error.rs +20 -0
- package/src/identity/errors/invalid_identity_error.rs +32 -0
- package/src/identity/errors/mod.rs +9 -0
- package/src/identity/errors/unknown_asset_lock_proof_type_error.rs +26 -0
- package/src/identity/factory_utils.rs +87 -0
- package/src/identity/identity_facade.rs +194 -20
- package/src/identity/identity_factory.rs +209 -0
- package/src/identity/identity_public_key/mod.rs +51 -40
- package/src/identity/mod.rs +31 -17
- package/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof.rs +132 -0
- package/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof_structure_validator.rs +72 -0
- package/src/identity/state_transition/asset_lock_proof/chain/mod.rs +4 -0
- package/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs +177 -0
- package/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof_structure_validator.rs +72 -0
- package/src/identity/state_transition/asset_lock_proof/instant/mod.rs +4 -0
- package/src/identity/state_transition/asset_lock_proof/mod.rs +269 -0
- package/src/identity/state_transition/identity_create_transition/apply_identity_create_transition.rs +26 -0
- package/src/identity/state_transition/identity_create_transition/identity_create_transition.rs +337 -0
- package/src/identity/state_transition/identity_create_transition/identity_create_transition_basic_validator.rs +153 -0
- package/src/identity/state_transition/identity_create_transition/identity_create_transition_state_validator.rs +37 -0
- package/src/identity/state_transition/identity_create_transition/mod.rs +8 -0
- package/src/identity/state_transition/identity_create_transition/to_object.rs +45 -0
- package/src/identity/state_transition/identity_public_key_transitions.rs +207 -0
- package/src/identity/state_transition/identity_topup_transition/apply_identity_topup_transition.rs +31 -0
- package/src/identity/state_transition/identity_topup_transition/identity_topup_transition.rs +278 -0
- package/src/identity/state_transition/identity_topup_transition/identity_topup_transition_basic_validator.rs +113 -0
- package/src/identity/state_transition/identity_topup_transition/identity_topup_transition_state_validator.rs +37 -0
- package/src/identity/state_transition/identity_topup_transition/mod.rs +8 -0
- package/src/identity/state_transition/identity_topup_transition/to_object.rs +42 -0
- package/src/identity/state_transition/identity_update_transition/apply_identity_update_transition.rs +24 -0
- package/src/identity/state_transition/identity_update_transition/identity_update_public_keys_validator.rs +55 -0
- package/src/identity/state_transition/identity_update_transition/identity_update_transition.rs +448 -0
- package/src/identity/state_transition/identity_update_transition/identity_update_transition_basic_validator.rs +94 -0
- package/src/identity/state_transition/identity_update_transition/identity_update_transition_state_validator.rs +53 -0
- package/src/identity/state_transition/identity_update_transition/mod.rs +9 -0
- package/src/identity/state_transition/identity_update_transition/to_object.rs +66 -0
- package/src/identity/state_transition/mod.rs +12 -0
- package/src/identity/state_transition/validate_public_key_signatures.rs +61 -0
- package/src/identity/validation/identity_validator.rs +50 -0
- package/src/identity/validation/mod.rs +2 -0
- package/src/identity/validation/public_keys_validator.rs +14 -13
- package/src/identity_public_key/public_keys_validator.rs +44 -0
- package/src/lib.rs +6 -0
- package/src/lodash.rs +7 -0
- package/src/metadata.rs +54 -10
- package/src/state_repository.rs +598 -101
- package/src/state_transition/conversion.rs +104 -0
- package/src/state_transition/errors/invalid_state_transition_error.rs +32 -0
- package/src/state_transition/errors/mod.rs +1 -0
- package/src/state_transition/mod.rs +46 -0
- package/src/state_transition/state_transition_facade.rs +263 -0
- package/src/state_transition/state_transition_factory.rs +216 -0
- package/src/state_transition/validation/mod.rs +1 -0
- package/src/state_transition/validation/validate_state_transition_key_signature.rs +62 -0
- package/src/utils.rs +210 -8
- package/src/validation/json_schema_validator.rs +41 -0
- package/src/validation/mod.rs +2 -0
- package/src/validation/validation_result.rs +29 -5
- package/src/version/mod.rs +2 -0
- package/src/version/protocol_version.rs +103 -0
- package/test/integration/dataContract/DataContractFacade.spec.js +46 -30
- package/test/integration/dataContract/stateTransition/DataContractCreateTransition/validation/basic/validateDataContractCreateTransitionBasicFactory.spec.js +45 -127
- package/test/integration/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateDataContractUpdateTransitionBasicFactory.spec.js +91 -139
- package/test/integration/dataContract/validation/validateDataContractFactory.spec.js +577 -503
- package/test/integration/document/Document.spec.js +55 -29
- package/test/integration/document/DocumentFacade.spec.js +51 -64
- package/test/integration/document/stateTransition/DocumentsBatchTransition/DocumentBatchTransition.spec.js +38 -16
- package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/basic/validateDocumentsBatchTransitionBasicFactory.spec.js +341 -396
- package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/state/executeDataTriggersFactory.spec.js +116 -218
- package/test/integration/document/validation/validateDocumentFactory.spec.js +123 -171
- package/test/integration/identity/IdentityFacade.spec.js +52 -27
- package/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js +185 -164
- package/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js +84 -114
- package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/basic/validateIdentityUpdateTransitionBasicFactory.spec.js +120 -137
- package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory.spec.js +106 -91
- package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validatePublicKeysState.spec.js +50 -16
- package/test/integration/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory.spec.js +78 -86
- package/test/integration/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory.spec.js +74 -30
- package/test/integration/identity/stateTransition/assetLockProof/instant/validateInstantAssetLockProofStructureFactory.spec.js +93 -147
- package/test/integration/identity/stateTransition/assetLockProof/validateAssetLockTransactionFactory.spec.js +65 -77
- package/test/integration/identity/stateTransition/validatePublicKeySignaturesFactory.spec.js +60 -23
- package/test/integration/identity/validation/validateIdentityFactory.spec.js +46 -114
- package/test/integration/identity/validation/validatePublicKeysFactory.spec.js +9 -3
- package/test/integration/stateTransition/AbstractStateTransitionIdentitySigned.spec.js +12 -8
- package/test/integration/stateTransition/StateTransitionFacade.spec.js +95 -233
- package/test/integration/stateTransition/calculateStateTransitionFeeFromOperationsFactory.spec.js +53 -0
- package/test/unit/Identifier.spec.js +36 -36
- package/test/unit/Metadata.spec.js +17 -3
- package/test/unit/dataContract/DataContract.spec.js +9 -4
- package/test/unit/dataContract/createDataContract.spec.js +0 -1
- package/test/unit/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition.spec.js +3 -3
- package/test/unit/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory.spec.js +1 -1
- package/test/unit/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory.spec.js +2 -2
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +3 -3
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory.spec.js +1 -1
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateIndicesAreBackwardCompatible.spec.js +25 -31
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory.spec.js +3 -3
- package/test/unit/dataTrigger/rewardShareDataTriggers/createMasternodeRewardSharesDataTrigger.spec.js +2 -0
- package/test/unit/decodeProtocolEntityFactory.spec.js +2 -2
- package/test/unit/document/Document.spec.js +147 -155
- package/test/unit/document/DocumentFactory.spec.js +153 -153
- package/test/unit/document/fetchAndValidateDataContractFactory.spec.js +59 -14
- package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +131 -62
- package/test/unit/document/stateTransition/DocumetsBatchTransition/applyDocumentsBatchTransitionFactory.spec.js +144 -56
- package/test/unit/document/stateTransition/DocumetsBatchTransition/documentTransition/DocumentCreateTransition.spec.js +38 -8
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesById.spec.js +11 -7
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js +29 -18
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/validatePartialCompoundIndices.spec.js +38 -29
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/fetchDocumentsFactory.spec.js +53 -91
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsBatchTransitionStateFactory.spec.js +357 -493
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsUniquenessByIndicesFactory.spec.js +133 -72
- package/test/unit/identity/Identity.spec.js +26 -9
- package/test/unit/identity/IdentityFactory.spec.js +81 -89
- package/test/unit/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition.spec.js +73 -30
- package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +38 -38
- package/test/unit/identity/stateTransition/IdentityCreateTransition/validation/state/validateIdentityCreateTransitionStateFactory.spec.js +34 -25
- package/test/unit/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition.spec.js +36 -16
- package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +85 -50
- package/test/unit/identity/stateTransition/IdentityTopUpTransition/validation/state/validateIdentityTopUpTransitionStateFactory.spec.js +24 -6
- package/test/unit/identity/stateTransition/IdentityUpdateTransition/IdentityUpdateTransition.spec.js +44 -22
- package/test/unit/identity/stateTransition/IdentityUpdateTransition/applyIdentityUpdateTransitionFactory.spec.js +58 -103
- package/test/unit/identity/stateTransition/assetLockProof/ChainAssetLockProof.spec.js +63 -0
- package/test/unit/identity/stateTransition/assetLockProof/InstantAssetLockProof.spec.js +90 -0
- package/test/unit/identity/stateTransition/assetLockProof/createAssetLockProofInstance.spec.js +18 -3
- package/test/unit/identity/stateTransition/assetLockProof/fetchAssetLockPublicKeyHashFactory.spec.js +38 -11
- package/test/unit/stateTransition/StateTransitionFactory.spec.js +49 -101
- package/test/unit/stateTransition/validation/validateStateTransitionFeeFactory.spec.js +23 -25
- package/test/unit/stateTransition/validation/validateStateTransitionKeySignatureFactory.spec.js +73 -46
- package/test/unit/version/validateProtocolVersionFactory.spec.js +45 -27
- package/wasm/package.json +5 -0
- package/wasm/wasm_dpp.d.ts +3397 -1237
- package/wasm/wasm_dpp.js +7158 -1384
- package/wasm/wasm_dpp_bg.js +1 -1
- package/wasm/wasm_dpp_bg.wasm +0 -0
- package/wasm/wasm_dpp_bg.wasm.d.ts +777 -389
- package/webpack.config.js +9 -0
- package/src/document/state_transition/document_batch_transition/document_transition/document_update_transition.rs +0 -22
- package/test/integration/stateTransition/calculateStateTransitionFeeFactory.spec.js +0 -135
- package/test/unit/dataContract/errors/InvalidDataContractError.spec.js +0 -54
|
@@ -1,59 +1,69 @@
|
|
|
1
|
-
const { getRE2Class } = require('@dashevo/wasm-re2');
|
|
2
1
|
const { PrivateKey } = require('@dashevo/dashcore-lib');
|
|
3
|
-
const validateIdentityUpdateTransitionBasicFactory = require(
|
|
4
|
-
'@dashevo/dpp/lib/identity/stateTransition/IdentityUpdateTransition/validation/basic/validateIdentityUpdateTransitionBasicFactory',
|
|
5
|
-
);
|
|
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
2
|
const getIdentityUpdateTransitionFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityUpdateTransitionFixture');
|
|
11
|
-
|
|
12
|
-
const
|
|
3
|
+
|
|
4
|
+
const { expectJsonSchemaError, expectValidationError } = require('../../../../../../../lib/test/expect/expectError');
|
|
5
|
+
const { default: loadWasmDpp } = require('../../../../../../../dist');
|
|
6
|
+
const getBlsAdapterMock = require('../../../../../../../lib/test/mocks/getBlsAdapterMock');
|
|
13
7
|
|
|
14
8
|
describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
15
9
|
let validateIdentityUpdateTransitionBasic;
|
|
16
|
-
let validateProtocolVersionMock;
|
|
17
|
-
let validatePublicKeysMock;
|
|
18
10
|
let rawStateTransition;
|
|
19
11
|
let stateTransition;
|
|
20
12
|
let publicKeyToAdd;
|
|
21
|
-
let validatePublicKeySignaturesMock;
|
|
22
13
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
14
|
+
let IdentityUpdateTransition;
|
|
15
|
+
let IdentityPublicKey;
|
|
16
|
+
let IdentityPublicKeyCreateTransition;
|
|
17
|
+
let UnsupportedProtocolVersionError;
|
|
18
|
+
let InvalidIdentityKeySignatureError;
|
|
19
|
+
let DuplicatedIdentityPublicKeyIdStateError;
|
|
20
|
+
let IdentityUpdateTransitionBasicValidator;
|
|
21
|
+
|
|
22
|
+
before(async () => {
|
|
23
|
+
({
|
|
24
|
+
IdentityUpdateTransition,
|
|
25
|
+
UnsupportedProtocolVersionError,
|
|
26
|
+
InvalidIdentityKeySignatureError,
|
|
27
|
+
DuplicatedIdentityPublicKeyIdStateError,
|
|
28
|
+
IdentityPublicKey,
|
|
29
|
+
IdentityPublicKeyCreateTransition,
|
|
30
|
+
IdentityUpdateTransitionBasicValidator,
|
|
31
|
+
} = await loadWasmDpp());
|
|
32
|
+
});
|
|
27
33
|
|
|
28
|
-
|
|
34
|
+
beforeEach(async () => {
|
|
35
|
+
const blsAdapter = await getBlsAdapterMock();
|
|
29
36
|
|
|
30
|
-
|
|
31
|
-
|
|
37
|
+
const validator = new IdentityUpdateTransitionBasicValidator(blsAdapter);
|
|
38
|
+
validateIdentityUpdateTransitionBasic = (st) => validator.validate(st);
|
|
32
39
|
|
|
33
|
-
|
|
34
|
-
|
|
40
|
+
const stateTransitionJS = getIdentityUpdateTransitionFixture();
|
|
41
|
+
stateTransition = new IdentityUpdateTransition(stateTransitionJS.toObject());
|
|
35
42
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
validateProtocolVersionMock,
|
|
39
|
-
validatePublicKeysMock,
|
|
40
|
-
validatePublicKeySignaturesMock,
|
|
41
|
-
);
|
|
43
|
+
const privateKey = new PrivateKey('9b67f852093bc61cea0eeca38599dbfba0de28574d2ed9b99d10d33dc1bde7b2');
|
|
44
|
+
const publicKey = privateKey.toPublicKey().toBuffer();
|
|
42
45
|
|
|
43
|
-
|
|
46
|
+
const identityPublicKey = new IdentityPublicKey({
|
|
47
|
+
id: 1,
|
|
48
|
+
type: IdentityPublicKey.TYPES.ECDSA_SECP256K1,
|
|
49
|
+
data: publicKey,
|
|
50
|
+
purpose: IdentityPublicKey.PURPOSES.AUTHENTICATION,
|
|
51
|
+
securityLevel: IdentityPublicKey.SECURITY_LEVELS.MASTER,
|
|
52
|
+
readOnly: false,
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
let identityPublicKeyCreateTransition = new IdentityPublicKeyCreateTransition({
|
|
56
|
+
...identityPublicKey.toObject(),
|
|
57
|
+
signature: Buffer.alloc(0),
|
|
58
|
+
});
|
|
44
59
|
|
|
45
|
-
|
|
46
|
-
const privateKeyHex = privateKeyModel.toBuffer().toString('hex');
|
|
47
|
-
const publicKey = privateKeyModel.toPublicKey().toBuffer();
|
|
60
|
+
stateTransition.setPublicKeysToAdd([identityPublicKeyCreateTransition]);
|
|
48
61
|
|
|
49
|
-
|
|
50
|
-
.setId(1)
|
|
51
|
-
.setType(IdentityPublicKey.TYPES.ECDSA_SECP256K1)
|
|
52
|
-
.setData(publicKey)
|
|
53
|
-
.setSecurityLevel(IdentityPublicKey.SECURITY_LEVELS.MASTER)
|
|
54
|
-
.setPurpose(IdentityPublicKey.PURPOSES.AUTHENTICATION);
|
|
62
|
+
await stateTransition.sign(identityPublicKey, privateKey.toBuffer());
|
|
55
63
|
|
|
56
|
-
|
|
64
|
+
[identityPublicKeyCreateTransition] = stateTransition.getPublicKeysToAdd();
|
|
65
|
+
identityPublicKeyCreateTransition.setSignature(stateTransition.getSignature());
|
|
66
|
+
stateTransition.setPublicKeysToAdd([identityPublicKeyCreateTransition]);
|
|
57
67
|
|
|
58
68
|
rawStateTransition = stateTransition.toObject();
|
|
59
69
|
|
|
@@ -64,6 +74,7 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
64
74
|
purpose: IdentityPublicKey.PURPOSES.AUTHENTICATION,
|
|
65
75
|
securityLevel: IdentityPublicKey.SECURITY_LEVELS.MASTER,
|
|
66
76
|
readOnly: false,
|
|
77
|
+
signature: Buffer.alloc(0),
|
|
67
78
|
};
|
|
68
79
|
});
|
|
69
80
|
|
|
@@ -73,7 +84,7 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
73
84
|
|
|
74
85
|
const result = await validateIdentityUpdateTransitionBasic(rawStateTransition);
|
|
75
86
|
|
|
76
|
-
expectJsonSchemaError(result);
|
|
87
|
+
await expectJsonSchemaError(result);
|
|
77
88
|
|
|
78
89
|
const [error] = result.getErrors();
|
|
79
90
|
|
|
@@ -87,7 +98,7 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
87
98
|
|
|
88
99
|
const result = await validateIdentityUpdateTransitionBasic(rawStateTransition);
|
|
89
100
|
|
|
90
|
-
expectJsonSchemaError(result);
|
|
101
|
+
await expectJsonSchemaError(result);
|
|
91
102
|
|
|
92
103
|
const [error] = result.getErrors();
|
|
93
104
|
|
|
@@ -96,25 +107,11 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
96
107
|
});
|
|
97
108
|
|
|
98
109
|
it('should be valid', async () => {
|
|
99
|
-
rawStateTransition.protocolVersion =
|
|
100
|
-
const protocolVersionError = new SomeConsensusError('test');
|
|
101
|
-
const protocolVersionResult = new ValidationResult([
|
|
102
|
-
protocolVersionError,
|
|
103
|
-
]);
|
|
104
|
-
|
|
105
|
-
validateProtocolVersionMock.returns(protocolVersionResult);
|
|
110
|
+
rawStateTransition.protocolVersion = 100;
|
|
106
111
|
|
|
107
112
|
const result = await validateIdentityUpdateTransitionBasic(rawStateTransition);
|
|
108
113
|
|
|
109
|
-
expectValidationError(result,
|
|
110
|
-
|
|
111
|
-
const [error] = result.getErrors();
|
|
112
|
-
|
|
113
|
-
expect(error).to.equal(protocolVersionError);
|
|
114
|
-
|
|
115
|
-
expect(validateProtocolVersionMock).to.be.calledOnceWith(
|
|
116
|
-
rawStateTransition.protocolVersion,
|
|
117
|
-
);
|
|
114
|
+
await expectValidationError(result, UnsupportedProtocolVersionError);
|
|
118
115
|
});
|
|
119
116
|
});
|
|
120
117
|
|
|
@@ -124,7 +121,7 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
124
121
|
|
|
125
122
|
const result = await validateIdentityUpdateTransitionBasic(rawStateTransition);
|
|
126
123
|
|
|
127
|
-
expectJsonSchemaError(result);
|
|
124
|
+
await expectJsonSchemaError(result);
|
|
128
125
|
|
|
129
126
|
const [error] = result.getErrors();
|
|
130
127
|
|
|
@@ -138,7 +135,7 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
138
135
|
|
|
139
136
|
const result = await validateIdentityUpdateTransitionBasic(rawStateTransition);
|
|
140
137
|
|
|
141
|
-
expectJsonSchemaError(result);
|
|
138
|
+
await expectJsonSchemaError(result);
|
|
142
139
|
|
|
143
140
|
const [error] = result.getErrors();
|
|
144
141
|
|
|
@@ -156,7 +153,7 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
156
153
|
rawStateTransition,
|
|
157
154
|
);
|
|
158
155
|
|
|
159
|
-
expectJsonSchemaError(result);
|
|
156
|
+
await expectJsonSchemaError(result);
|
|
160
157
|
|
|
161
158
|
const [error] = result.getErrors();
|
|
162
159
|
|
|
@@ -172,14 +169,12 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
172
169
|
rawStateTransition,
|
|
173
170
|
);
|
|
174
171
|
|
|
175
|
-
expectJsonSchemaError(result,
|
|
172
|
+
await expectJsonSchemaError(result, 32);
|
|
176
173
|
|
|
177
|
-
const [error
|
|
174
|
+
const [error] = result.getErrors();
|
|
178
175
|
|
|
179
176
|
expect(error.getInstancePath()).to.equal('/identityId/0');
|
|
180
177
|
expect(error.getKeyword()).to.equal('type');
|
|
181
|
-
|
|
182
|
-
expect(byteArrayError.getKeyword()).to.equal('byteArray');
|
|
183
178
|
});
|
|
184
179
|
|
|
185
180
|
it('should be no less than 32 bytes', async () => {
|
|
@@ -189,11 +184,11 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
189
184
|
rawStateTransition,
|
|
190
185
|
);
|
|
191
186
|
|
|
192
|
-
expectJsonSchemaError(result);
|
|
187
|
+
await expectJsonSchemaError(result);
|
|
193
188
|
|
|
194
189
|
const [error] = result.getErrors();
|
|
195
190
|
|
|
196
|
-
expect(error.
|
|
191
|
+
expect(error.getInstancePath()).to.equal('/identityId');
|
|
197
192
|
expect(error.getKeyword()).to.equal('minItems');
|
|
198
193
|
});
|
|
199
194
|
|
|
@@ -204,11 +199,11 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
204
199
|
rawStateTransition,
|
|
205
200
|
);
|
|
206
201
|
|
|
207
|
-
expectJsonSchemaError(result);
|
|
202
|
+
await expectJsonSchemaError(result);
|
|
208
203
|
|
|
209
204
|
const [error] = result.getErrors();
|
|
210
205
|
|
|
211
|
-
expect(error.
|
|
206
|
+
expect(error.getInstancePath()).to.equal('/identityId');
|
|
212
207
|
expect(error.getKeyword()).to.equal('maxItems');
|
|
213
208
|
});
|
|
214
209
|
});
|
|
@@ -219,11 +214,11 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
219
214
|
|
|
220
215
|
const result = await validateIdentityUpdateTransitionBasic(rawStateTransition);
|
|
221
216
|
|
|
222
|
-
expectJsonSchemaError(result);
|
|
217
|
+
await expectJsonSchemaError(result);
|
|
223
218
|
|
|
224
219
|
const [error] = result.getErrors();
|
|
225
220
|
|
|
226
|
-
expect(error.
|
|
221
|
+
expect(error.getInstancePath()).to.equal('');
|
|
227
222
|
expect(error.getKeyword()).to.equal('required');
|
|
228
223
|
expect(error.getParams().missingProperty).to.equal('signature');
|
|
229
224
|
});
|
|
@@ -233,14 +228,12 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
233
228
|
|
|
234
229
|
const result = await validateIdentityUpdateTransitionBasic(rawStateTransition);
|
|
235
230
|
|
|
236
|
-
expectJsonSchemaError(result,
|
|
231
|
+
await expectJsonSchemaError(result, 65);
|
|
237
232
|
|
|
238
|
-
const [error
|
|
233
|
+
const [error] = result.getErrors();
|
|
239
234
|
|
|
240
|
-
expect(error.
|
|
235
|
+
expect(error.getInstancePath()).to.equal('/signature/0');
|
|
241
236
|
expect(error.getKeyword()).to.equal('type');
|
|
242
|
-
|
|
243
|
-
expect(byteArrayError.getKeyword()).to.equal('byteArray');
|
|
244
237
|
});
|
|
245
238
|
|
|
246
239
|
it('should be not shorter than 65 bytes', async () => {
|
|
@@ -248,11 +241,11 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
248
241
|
|
|
249
242
|
const result = await validateIdentityUpdateTransitionBasic(rawStateTransition);
|
|
250
243
|
|
|
251
|
-
expectJsonSchemaError(result);
|
|
244
|
+
await expectJsonSchemaError(result);
|
|
252
245
|
|
|
253
246
|
const [error] = result.getErrors();
|
|
254
247
|
|
|
255
|
-
expect(error.
|
|
248
|
+
expect(error.getInstancePath()).to.equal('/signature');
|
|
256
249
|
expect(error.getKeyword()).to.equal('minItems');
|
|
257
250
|
});
|
|
258
251
|
|
|
@@ -261,11 +254,11 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
261
254
|
|
|
262
255
|
const result = await validateIdentityUpdateTransitionBasic(rawStateTransition);
|
|
263
256
|
|
|
264
|
-
expectJsonSchemaError(result);
|
|
257
|
+
await expectJsonSchemaError(result);
|
|
265
258
|
|
|
266
259
|
const [error] = result.getErrors();
|
|
267
260
|
|
|
268
|
-
expect(error.
|
|
261
|
+
expect(error.getInstancePath()).to.equal('/signature');
|
|
269
262
|
expect(error.getKeyword()).to.equal('maxItems');
|
|
270
263
|
});
|
|
271
264
|
});
|
|
@@ -276,7 +269,7 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
276
269
|
|
|
277
270
|
const result = await validateIdentityUpdateTransitionBasic(rawStateTransition);
|
|
278
271
|
|
|
279
|
-
expectJsonSchemaError(result);
|
|
272
|
+
await expectJsonSchemaError(result);
|
|
280
273
|
|
|
281
274
|
const [error] = result.getErrors();
|
|
282
275
|
|
|
@@ -290,7 +283,7 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
290
283
|
|
|
291
284
|
const result = await validateIdentityUpdateTransitionBasic(rawStateTransition);
|
|
292
285
|
|
|
293
|
-
expectJsonSchemaError(result);
|
|
286
|
+
await expectJsonSchemaError(result);
|
|
294
287
|
|
|
295
288
|
const [error] = result.getErrors();
|
|
296
289
|
|
|
@@ -303,7 +296,7 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
303
296
|
|
|
304
297
|
const result = await validateIdentityUpdateTransitionBasic(rawStateTransition);
|
|
305
298
|
|
|
306
|
-
expectJsonSchemaError(result);
|
|
299
|
+
await expectJsonSchemaError(result);
|
|
307
300
|
|
|
308
301
|
const [error] = result.getErrors();
|
|
309
302
|
|
|
@@ -319,7 +312,23 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
319
312
|
});
|
|
320
313
|
|
|
321
314
|
it('should return valid result', async () => {
|
|
322
|
-
|
|
315
|
+
const privateKey = new PrivateKey();
|
|
316
|
+
const publicKey = privateKey.toPublicKey();
|
|
317
|
+
|
|
318
|
+
const identityPublicKeyCreateTransition = new IdentityPublicKeyCreateTransition(
|
|
319
|
+
publicKeyToAdd,
|
|
320
|
+
);
|
|
321
|
+
identityPublicKeyCreateTransition.setData(publicKey.toBuffer());
|
|
322
|
+
|
|
323
|
+
stateTransition.setPublicKeysToAdd([identityPublicKeyCreateTransition]);
|
|
324
|
+
await stateTransition.signByPrivateKey(
|
|
325
|
+
privateKey.toBuffer(),
|
|
326
|
+
identityPublicKeyCreateTransition.type,
|
|
327
|
+
);
|
|
328
|
+
identityPublicKeyCreateTransition.setSignature(stateTransition.getSignature());
|
|
329
|
+
stateTransition.setPublicKeysToAdd([identityPublicKeyCreateTransition]);
|
|
330
|
+
|
|
331
|
+
rawStateTransition = stateTransition.toObject();
|
|
323
332
|
|
|
324
333
|
const result = await validateIdentityUpdateTransitionBasic(
|
|
325
334
|
rawStateTransition,
|
|
@@ -333,7 +342,7 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
333
342
|
|
|
334
343
|
const result = await validateIdentityUpdateTransitionBasic(rawStateTransition);
|
|
335
344
|
|
|
336
|
-
expectJsonSchemaError(result);
|
|
345
|
+
await expectJsonSchemaError(result);
|
|
337
346
|
|
|
338
347
|
const [error] = result.getErrors();
|
|
339
348
|
expect(error.getKeyword()).to.equal('minItems');
|
|
@@ -344,14 +353,14 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
344
353
|
rawStateTransition.addPublicKeys = [];
|
|
345
354
|
|
|
346
355
|
for (let i = 0; i <= 10; i++) {
|
|
347
|
-
rawStateTransition.addPublicKeys.push(publicKeyToAdd);
|
|
356
|
+
rawStateTransition.addPublicKeys.push({ ...publicKeyToAdd, id: i + 1 });
|
|
348
357
|
}
|
|
349
358
|
|
|
350
359
|
const result = await validateIdentityUpdateTransitionBasic(
|
|
351
360
|
rawStateTransition,
|
|
352
361
|
);
|
|
353
362
|
|
|
354
|
-
expectJsonSchemaError(result);
|
|
363
|
+
await expectJsonSchemaError(result);
|
|
355
364
|
|
|
356
365
|
const [error] = result.getErrors();
|
|
357
366
|
|
|
@@ -366,7 +375,7 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
366
375
|
rawStateTransition,
|
|
367
376
|
);
|
|
368
377
|
|
|
369
|
-
expectJsonSchemaError(result);
|
|
378
|
+
await expectJsonSchemaError(result);
|
|
370
379
|
|
|
371
380
|
const [error] = result.getErrors();
|
|
372
381
|
|
|
@@ -375,47 +384,32 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
375
384
|
});
|
|
376
385
|
|
|
377
386
|
it('should be valid', async () => {
|
|
378
|
-
|
|
387
|
+
const keyWithDupeId = { ...publicKeyToAdd, data: Buffer.alloc(33) };
|
|
379
388
|
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
389
|
+
stateTransition.setPublicKeysToAdd([
|
|
390
|
+
new IdentityPublicKeyCreateTransition(publicKeyToAdd),
|
|
391
|
+
new IdentityPublicKeyCreateTransition(keyWithDupeId),
|
|
383
392
|
]);
|
|
384
393
|
|
|
385
|
-
|
|
394
|
+
rawStateTransition = stateTransition.toObject();
|
|
386
395
|
|
|
387
396
|
const result = await validateIdentityUpdateTransitionBasic(
|
|
388
397
|
rawStateTransition,
|
|
389
398
|
);
|
|
390
399
|
|
|
391
|
-
expectValidationError(result);
|
|
392
|
-
|
|
393
|
-
const [error] = result.getErrors();
|
|
394
|
-
|
|
395
|
-
expect(error).to.equal(publicKeysError);
|
|
396
|
-
|
|
397
|
-
expect(validatePublicKeysMock).to.be.calledOnceWithExactly(
|
|
398
|
-
rawStateTransition.addPublicKeys,
|
|
399
|
-
);
|
|
400
|
+
await expectValidationError(result, DuplicatedIdentityPublicKeyIdStateError);
|
|
400
401
|
});
|
|
401
402
|
|
|
402
403
|
it('should have valid signatures', async () => {
|
|
403
|
-
const
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
]);
|
|
407
|
-
|
|
408
|
-
validatePublicKeySignaturesMock.resolves(publicKeysResult);
|
|
404
|
+
const invalidSignature = Buffer.alloc(65);
|
|
405
|
+
rawStateTransition.signature = invalidSignature;
|
|
406
|
+
rawStateTransition.addPublicKeys[0].signature = invalidSignature;
|
|
409
407
|
|
|
410
408
|
const result = await validateIdentityUpdateTransitionBasic(
|
|
411
409
|
rawStateTransition,
|
|
412
410
|
);
|
|
413
411
|
|
|
414
|
-
expectValidationError(result);
|
|
415
|
-
|
|
416
|
-
const [error] = result.getErrors();
|
|
417
|
-
|
|
418
|
-
expect(error).to.equal(publicKeysError);
|
|
412
|
+
await expectValidationError(result, InvalidIdentityKeySignatureError);
|
|
419
413
|
});
|
|
420
414
|
});
|
|
421
415
|
|
|
@@ -431,11 +425,11 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
431
425
|
rawStateTransition,
|
|
432
426
|
);
|
|
433
427
|
|
|
434
|
-
expectJsonSchemaError(result);
|
|
428
|
+
await expectJsonSchemaError(result);
|
|
435
429
|
|
|
436
430
|
const [error] = result.getErrors();
|
|
437
|
-
expect(error.getKeyword()).to.equal('
|
|
438
|
-
expect(error.
|
|
431
|
+
expect(error.getKeyword()).to.equal('required');
|
|
432
|
+
expect(error.getParams().missingProperty).to.equal('publicKeysDisabledAt');
|
|
439
433
|
});
|
|
440
434
|
|
|
441
435
|
it('should be valid', async () => {
|
|
@@ -457,7 +451,7 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
457
451
|
rawStateTransition,
|
|
458
452
|
);
|
|
459
453
|
|
|
460
|
-
expectJsonSchemaError(result);
|
|
454
|
+
await expectJsonSchemaError(result);
|
|
461
455
|
|
|
462
456
|
const [error] = result.getErrors();
|
|
463
457
|
|
|
@@ -473,7 +467,7 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
473
467
|
rawStateTransition,
|
|
474
468
|
);
|
|
475
469
|
|
|
476
|
-
expectJsonSchemaError(result);
|
|
470
|
+
await expectJsonSchemaError(result);
|
|
477
471
|
|
|
478
472
|
const [error] = result.getErrors();
|
|
479
473
|
|
|
@@ -489,7 +483,7 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
489
483
|
rawStateTransition,
|
|
490
484
|
);
|
|
491
485
|
|
|
492
|
-
expectJsonSchemaError(result);
|
|
486
|
+
await expectJsonSchemaError(result);
|
|
493
487
|
|
|
494
488
|
const [error] = result.getErrors();
|
|
495
489
|
|
|
@@ -505,7 +499,7 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
505
499
|
rawStateTransition,
|
|
506
500
|
);
|
|
507
501
|
|
|
508
|
-
expectJsonSchemaError(result);
|
|
502
|
+
await expectJsonSchemaError(result);
|
|
509
503
|
|
|
510
504
|
const [error] = result.getErrors();
|
|
511
505
|
|
|
@@ -522,11 +516,11 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
522
516
|
rawStateTransition,
|
|
523
517
|
);
|
|
524
518
|
|
|
525
|
-
expectJsonSchemaError(result);
|
|
519
|
+
await expectJsonSchemaError(result);
|
|
526
520
|
|
|
527
521
|
const [error] = result.getErrors();
|
|
528
|
-
expect(error.getKeyword()).to.equal('
|
|
529
|
-
expect(error.
|
|
522
|
+
expect(error.getKeyword()).to.equal('required');
|
|
523
|
+
expect(error.getParams().missingProperty).to.equal('disablePublicKeys');
|
|
530
524
|
});
|
|
531
525
|
|
|
532
526
|
it('should be integer', async () => {
|
|
@@ -537,7 +531,7 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
537
531
|
rawStateTransition,
|
|
538
532
|
);
|
|
539
533
|
|
|
540
|
-
expectJsonSchemaError(result);
|
|
534
|
+
await expectJsonSchemaError(result);
|
|
541
535
|
|
|
542
536
|
const [error] = result.getErrors();
|
|
543
537
|
|
|
@@ -553,7 +547,7 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
553
547
|
rawStateTransition,
|
|
554
548
|
);
|
|
555
549
|
|
|
556
|
-
expectJsonSchemaError(result);
|
|
550
|
+
await expectJsonSchemaError(result);
|
|
557
551
|
|
|
558
552
|
const [error] = result.getErrors();
|
|
559
553
|
|
|
@@ -566,11 +560,6 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
566
560
|
const result = await validateIdentityUpdateTransitionBasic(rawStateTransition);
|
|
567
561
|
|
|
568
562
|
expect(result.isValid()).to.be.true();
|
|
569
|
-
|
|
570
|
-
expect(validatePublicKeysMock)
|
|
571
|
-
.to.be.calledOnceWithExactly(
|
|
572
|
-
rawStateTransition.addPublicKeys,
|
|
573
|
-
);
|
|
574
563
|
});
|
|
575
564
|
|
|
576
565
|
it('should have either addPublicKeys or disablePublicKeys', async () => {
|
|
@@ -580,16 +569,10 @@ describe('validateIdentityUpdateTransitionBasicFactory', () => {
|
|
|
580
569
|
|
|
581
570
|
const result = await validateIdentityUpdateTransitionBasic(rawStateTransition);
|
|
582
571
|
|
|
583
|
-
expectJsonSchemaError(result,
|
|
572
|
+
await expectJsonSchemaError(result, 1);
|
|
584
573
|
|
|
585
|
-
const [
|
|
574
|
+
const [error] = result.getErrors();
|
|
586
575
|
|
|
587
576
|
expect(error.getKeyword()).to.equal('anyOf');
|
|
588
|
-
|
|
589
|
-
expect(disablePublicKeysError.schemaPath).to.equal('#/anyOf/1/required');
|
|
590
|
-
expect(disablePublicKeysError.getKeyword()).to.equal('required');
|
|
591
|
-
|
|
592
|
-
expect(addPublicKeysError.schemaPath).to.equal('#/anyOf/0/required');
|
|
593
|
-
expect(addPublicKeysError.getKeyword()).to.equal('required');
|
|
594
577
|
});
|
|
595
578
|
});
|