@dashevo/wasm-dpp 0.24.0-dev.11 → 0.24.0-dev.13
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 +3 -0
- package/README.md +5 -1
- package/dist/index.js +1 -1
- package/dist/index.js.LICENSE.txt +9 -0
- package/dist/lib/dpp.d.ts +9 -0
- package/dist/lib/errors/AbstractConsensusError.d.ts +10 -0
- package/dist/lib/errors/DPPError.d.ts +5 -0
- package/dist/lib/errors/patchConsensusErrors.d.ts +1 -0
- package/dist/lib/{patchIdentifier.d.ts → identifier/patchIdentifier.d.ts} +1 -1
- package/dist/{index.d.ts → lib/index.d.ts} +1 -1
- package/dist/lib/utils/extend.d.ts +1 -0
- package/dist/wasm/wasm_dpp.d.ts +1595 -518
- package/karma.conf.js +5 -0
- package/lib/dpp.ts +24 -0
- package/lib/errors/AbstractConsensusError.ts +13 -0
- package/lib/errors/DPPError.ts +15 -0
- package/lib/errors/patchConsensusErrors.ts +175 -0
- package/lib/{patchIdentifier.ts → identifier/patchIdentifier.ts} +6 -5
- package/{index.ts → lib/index.ts} +5 -4
- package/lib/test/bootstrap.js +5 -0
- package/lib/test/expect/expectError.js +4 -2
- package/lib/test/mocks/getBlsAdapterMock.js +36 -0
- package/lib/test/utils/newDocumentsContainer.js +36 -0
- package/lib/utils/extend.ts +6 -0
- package/package.json +9 -6
- package/src/bls_adapter.rs +16 -1
- package/src/data_contract/data_contract.rs +35 -7
- package/src/data_contract/errors/invalid_data_contract.rs +21 -0
- package/src/data_contract/errors/invalid_document_type.rs +1 -1
- package/src/data_contract/index.rs +56 -1
- package/src/data_contract/mod.rs +1 -0
- package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +6 -8
- package/src/data_contract/state_transition/data_contract_create_transition/validation.rs +4 -4
- package/src/data_contract/state_transition/data_contract_update_transition/apply.rs +44 -0
- package/src/data_contract/state_transition/data_contract_update_transition/mod.rs +145 -0
- package/src/data_contract/state_transition/data_contract_update_transition/validation.rs +49 -0
- package/src/data_contract/state_transition/mod.rs +2 -0
- package/src/data_contract_factory/data_contract_factory.rs +25 -12
- 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 +192 -0
- package/src/document/mod.rs +222 -30
- package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +47 -1
- package/src/document/state_transition/document_batch_transition/document_transition/document_delete_transition.rs +25 -1
- package/src/document/state_transition/document_batch_transition/document_transition/document_replace_transition.rs +65 -0
- package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +123 -3
- package/src/document/state_transition/document_batch_transition/mod.rs +378 -0
- package/src/document/validator.rs +30 -0
- package/src/errors/consensus/basic/data_contract/data_contract_max_depth_exceed_error.rs +5 -5
- package/src/errors/consensus/basic/document/duplicate_document_transitions_with_ids_error.rs +4 -4
- package/src/errors/consensus/basic/document/duplicate_document_transitions_with_indices_error.rs +36 -0
- package/src/errors/consensus/basic/document/missing_document_transition_type_error.rs +20 -0
- package/src/errors/consensus/basic/document/mod.rs +4 -0
- package/src/errors/consensus/basic/identity/duplicated_identity_public_key_error.rs +2 -2
- package/src/errors/consensus/basic/identity/duplicated_identity_public_key_id_error.rs +2 -2
- 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_public_key_security_level_error.rs +2 -2
- package/src/errors/consensus/basic/json_schema_error.rs +1 -1
- package/src/errors/consensus_error.rs +15 -8
- package/src/errors/dpp_error.rs +17 -0
- package/src/errors/from.rs +6 -1
- package/src/errors/js_conversion.rs +19 -4
- package/src/errors/mod.rs +3 -0
- package/src/errors/protocol_error.rs +15 -0
- package/src/{identifier.rs → identifier/mod.rs} +48 -3
- 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/mod.rs +7 -0
- package/src/identity/errors/unknown_asset_lock_proof_type_error.rs +26 -0
- package/src/{identity_facade.rs → identity/identity_facade.rs} +3 -5
- package/src/{identity_public_key → identity/identity_public_key}/key_type.rs +0 -0
- package/src/{identity_public_key → identity/identity_public_key}/mod.rs +41 -10
- package/src/{identity_public_key → identity/identity_public_key}/purpose.rs +0 -0
- package/src/{identity_public_key → identity/identity_public_key}/security_level.rs +0 -0
- package/src/{identity.rs → identity/mod.rs} +20 -12
- 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 +335 -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 +46 -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 +280 -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/mod.rs +9 -0
- package/src/identity/state_transition/validate_public_key_signatures.rs +59 -0
- package/src/identity/validation/mod.rs +3 -0
- package/src/identity/validation/public_keys_validator.rs +76 -0
- package/src/identity_public_key/public_keys_validator.rs +1 -1
- package/src/lib.rs +3 -6
- package/src/lodash.rs +7 -0
- package/src/state_repository.rs +188 -36
- package/src/state_transition/mod.rs +12 -0
- package/src/utils.rs +102 -7
- package/src/validation/json_schema_validator.rs +41 -0
- package/src/validation/mod.rs +5 -0
- package/src/{validation_result.rs → validation/validation_result.rs} +23 -5
- package/src/version/mod.rs +2 -0
- package/src/version/protocol_version.rs +26 -0
- package/test/integration/dataContract/validation/validateDataContractFactory.spec.js +579 -502
- package/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js +175 -165
- package/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js +83 -114
- package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory.spec.js +1 -1
- package/test/integration/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory.spec.js +82 -91
- package/test/integration/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory.spec.js +75 -31
- package/test/integration/identity/stateTransition/assetLockProof/instant/validateInstantAssetLockProofStructureFactory.spec.js +93 -148
- package/test/integration/identity/stateTransition/assetLockProof/validateAssetLockTransactionFactory.spec.js +63 -75
- package/test/integration/identity/stateTransition/validatePublicKeySignaturesFactory.spec.js +48 -19
- package/test/integration/identity/validation/validatePublicKeysFactory.spec.js +79 -114
- package/test/integration/stateTransition/AbstractStateTransitionIdentitySigned.spec.js +0 -11
- package/test/integration/stateTransition/StateTransitionFacade.spec.js +1 -1
- package/test/integration/stateTransition/calculateStateTransitionFeeFactory.spec.js +135 -0
- package/test/unit/dataContract/DataContract.spec.js +5 -9
- package/test/unit/dataContract/DataContractFactory.spec.js +13 -6
- package/test/unit/dataContract/createDataContract.spec.js +0 -1
- package/test/unit/dataContract/errors/InvalidDataContractError.spec.js +11 -3
- package/test/unit/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition.spec.js +3 -3
- package/test/unit/dataContract/stateTransition/DataContractCreateTransition/validation/state/validateDataContractCreateTransitionStateFactory.spec.js +20 -16
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +24 -60
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory.spec.js +27 -23
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/basic/validateIndicesAreBackwardCompatible.spec.js +29 -12
- package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/validation/state/validateDataContractUpdateTransitionStateFactory.spec.js +66 -49
- package/test/unit/dataContract/validation/validateDataContractPatterns.spec.js +73 -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 +325 -91
- package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +142 -64
- package/test/unit/document/stateTransition/DocumetsBatchTransition/applyDocumentsBatchTransitionFactory.spec.js +1 -1
- package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsBatchTransitionStateFactory.spec.js +1 -1
- package/test/unit/identity/Identity.spec.js +2 -2
- package/test/unit/identity/IdentityPublicKey.spec.js +25 -31
- package/test/unit/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition.spec.js +69 -30
- package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +32 -32
- package/test/unit/identity/stateTransition/IdentityCreateTransition/validation/state/validateIdentityCreateTransitionStateFactory.spec.js +56 -25
- package/test/unit/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition.spec.js +36 -16
- package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +48 -46
- package/test/unit/identity/stateTransition/IdentityTopUpTransition/validation/state/validateIdentityTopUpTransitionStateFactory.spec.js +24 -6
- 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/tsconfig.json +1 -1
- package/wasm/package.json +5 -0
- package/wasm/wasm_dpp.d.ts +1595 -518
- package/wasm/wasm_dpp.js +5007 -2172
- package/wasm/wasm_dpp_bg.js +1 -1
- package/wasm/wasm_dpp_bg.wasm +0 -0
- package/wasm/wasm_dpp_bg.wasm.d.ts +566 -365
- package/webpack.config.js +10 -1
- package/test/integration/stateTransition/calculateStateTransitionFee.spec.js +0 -32
- package/test/unit/dataContract/validation/validateDataContractMaxDepthFactory.spec.js +0 -93
- package/test/unit/dataContract/validation/validateDataContractPatternsFactory.spec.js +0 -64
package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js
CHANGED
|
@@ -3,36 +3,68 @@ const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocuments
|
|
|
3
3
|
const stateTransitionTypes = require('@dashevo/dpp/lib/stateTransition/stateTransitionTypes');
|
|
4
4
|
const createDPPMock = require('@dashevo/dpp/lib/test/mocks/createDPPMock');
|
|
5
5
|
const protocolVersion = require('@dashevo/dpp/lib/version/protocolVersion');
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
6
|
+
const DocumentFactoryJs = require('@dashevo/dpp/lib/document/DocumentFactory');
|
|
7
|
+
const lodash = require('lodash');
|
|
8
|
+
const { default: loadWasmDpp } = require('../../../../../dist');
|
|
9
|
+
const newDocumentsContainer = require('../../../../../lib/test/utils/newDocumentsContainer');
|
|
10
|
+
|
|
11
|
+
let Identifier;
|
|
12
|
+
let DocumentFactory;
|
|
13
|
+
let DataContract;
|
|
14
|
+
let Document;
|
|
15
|
+
let DocumentValidator;
|
|
16
|
+
let ProtocolVersionValidator;
|
|
9
17
|
|
|
10
18
|
describe('DocumentsBatchTransition', () => {
|
|
19
|
+
let stateTransitionJs;
|
|
11
20
|
let stateTransition;
|
|
21
|
+
let documentsJs;
|
|
12
22
|
let documents;
|
|
13
|
-
let
|
|
14
|
-
let encodeMock;
|
|
23
|
+
let dataContractJs;
|
|
15
24
|
let dataContract;
|
|
25
|
+
let factoryJs;
|
|
16
26
|
|
|
17
|
-
beforeEach(
|
|
18
|
-
|
|
19
|
-
|
|
27
|
+
beforeEach(async () => {
|
|
28
|
+
({
|
|
29
|
+
Identifier, ProtocolVersionValidator, DocumentValidator, DocumentFactory, DataContract,
|
|
30
|
+
Document,
|
|
31
|
+
} = await loadWasmDpp());
|
|
32
|
+
});
|
|
20
33
|
|
|
21
|
-
|
|
22
|
-
|
|
34
|
+
beforeEach(async () => {
|
|
35
|
+
dataContractJs = getDataContractFixture();
|
|
36
|
+
dataContract = DataContract.fromBuffer(dataContractJs.toBuffer());
|
|
23
37
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
38
|
+
documentsJs = getDocumentsFixture(dataContractJs);
|
|
39
|
+
documents = documentsJs.map((d) => {
|
|
40
|
+
const doc = new Document(d.toObject(), dataContract);
|
|
41
|
+
doc.setEntropy(d.entropy);
|
|
42
|
+
return doc;
|
|
27
43
|
});
|
|
28
|
-
});
|
|
29
44
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
45
|
+
const protocolVersionValidatorRs = new ProtocolVersionValidator();
|
|
46
|
+
const documentValidatorRs = new DocumentValidator(protocolVersionValidatorRs);
|
|
47
|
+
const factory = new DocumentFactory(1, documentValidatorRs, {});
|
|
48
|
+
factoryJs = new DocumentFactoryJs(createDPPMock(), undefined, undefined);
|
|
49
|
+
|
|
50
|
+
stateTransitionJs = factoryJs.createStateTransition({
|
|
51
|
+
create: documentsJs,
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
stateTransition = factory.createStateTransition(await newDocumentsContainer({
|
|
55
|
+
create: documents,
|
|
56
|
+
}));
|
|
33
57
|
});
|
|
34
58
|
|
|
35
59
|
describe('#getProtocolVersion', () => {
|
|
60
|
+
it('should return the current protocol version', () => {
|
|
61
|
+
const result = stateTransitionJs.getProtocolVersion();
|
|
62
|
+
|
|
63
|
+
expect(result).to.equal(protocolVersion.latestVersion);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
describe('#getProtocolVersion - Rust', () => {
|
|
36
68
|
it('should return the current protocol version', () => {
|
|
37
69
|
const result = stateTransition.getProtocolVersion();
|
|
38
70
|
|
|
@@ -41,6 +73,14 @@ describe('DocumentsBatchTransition', () => {
|
|
|
41
73
|
});
|
|
42
74
|
|
|
43
75
|
describe('#getType', () => {
|
|
76
|
+
it('should return State Transition type', () => {
|
|
77
|
+
const result = stateTransitionJs.getType();
|
|
78
|
+
|
|
79
|
+
expect(result).to.equal(stateTransitionTypes.DOCUMENTS_BATCH);
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
describe('#getType - Rust', () => {
|
|
44
84
|
it('should return State Transition type', () => {
|
|
45
85
|
const result = stateTransition.getType();
|
|
46
86
|
|
|
@@ -50,19 +90,38 @@ describe('DocumentsBatchTransition', () => {
|
|
|
50
90
|
|
|
51
91
|
describe('#getTransitions', () => {
|
|
52
92
|
it('should return document transitions', () => {
|
|
53
|
-
const result =
|
|
93
|
+
const result = stateTransitionJs.getTransitions();
|
|
54
94
|
|
|
55
|
-
expect(result).to.equal(
|
|
95
|
+
expect(result).to.equal(stateTransitionJs.transitions);
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
describe('#getTransitions - Rust', () => {
|
|
100
|
+
it('should return document transitions', () => {
|
|
101
|
+
const transitionsJs = stateTransitionJs.getTransitions().map((t) => t.toJSON());
|
|
102
|
+
const transitions = stateTransition.getTransitions().map((t) => t.toJSON());
|
|
103
|
+
expect(transitionsJs).to.deep.equal(transitions);
|
|
56
104
|
});
|
|
57
105
|
});
|
|
58
106
|
|
|
59
107
|
describe('#toJSON', () => {
|
|
60
108
|
it('should return State Transition as JSON', () => {
|
|
109
|
+
expect(stateTransitionJs.toJSON()).to.deep.equal({
|
|
110
|
+
protocolVersion: protocolVersion.latestVersion,
|
|
111
|
+
type: stateTransitionTypes.DOCUMENTS_BATCH,
|
|
112
|
+
ownerId: documentsJs[0].getOwnerId().toString(),
|
|
113
|
+
transitions: stateTransitionJs.getTransitions().map((d) => d.toJSON()),
|
|
114
|
+
signaturePublicKeyId: undefined,
|
|
115
|
+
signature: undefined,
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
it('should return State Transition as JSON - Rust', () => {
|
|
61
120
|
expect(stateTransition.toJSON()).to.deep.equal({
|
|
62
121
|
protocolVersion: protocolVersion.latestVersion,
|
|
63
122
|
type: stateTransitionTypes.DOCUMENTS_BATCH,
|
|
64
|
-
ownerId:
|
|
65
|
-
transitions:
|
|
123
|
+
ownerId: documentsJs[0].getOwnerId().toString(),
|
|
124
|
+
transitions: stateTransitionJs.getTransitions().map((d) => d.toJSON()),
|
|
66
125
|
signaturePublicKeyId: undefined,
|
|
67
126
|
signature: undefined,
|
|
68
127
|
});
|
|
@@ -71,77 +130,78 @@ describe('DocumentsBatchTransition', () => {
|
|
|
71
130
|
|
|
72
131
|
describe('#toObject', () => {
|
|
73
132
|
it('should return State Transition as plain object', () => {
|
|
74
|
-
expect(
|
|
133
|
+
expect(stateTransitionJs.toObject()).to.deep.equal({
|
|
75
134
|
protocolVersion: protocolVersion.latestVersion,
|
|
76
135
|
type: stateTransitionTypes.DOCUMENTS_BATCH,
|
|
77
|
-
ownerId:
|
|
78
|
-
transitions:
|
|
136
|
+
ownerId: documentsJs[0].getOwnerId(),
|
|
137
|
+
transitions: stateTransitionJs.getTransitions().map((d) => d.toObject()),
|
|
79
138
|
signaturePublicKeyId: undefined,
|
|
80
139
|
signature: undefined,
|
|
81
140
|
});
|
|
82
141
|
});
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
describe('#toBuffer', () => {
|
|
86
|
-
it('should return serialized Documents State Transition', () => {
|
|
87
|
-
const serializedStateTransition = Buffer.from('123');
|
|
88
|
-
|
|
89
|
-
encodeMock.returns(serializedStateTransition);
|
|
90
|
-
|
|
91
|
-
const result = stateTransition.toBuffer();
|
|
92
142
|
|
|
93
|
-
|
|
94
|
-
|
|
143
|
+
it('should return State Transition as plain object - Rust', () => {
|
|
144
|
+
const rawObject = stateTransition.toObject();
|
|
145
|
+
const rawObjectJs = stateTransitionJs.toObject();
|
|
146
|
+
/* eslint-disable */
|
|
147
|
+
const rawObjectWithBuffers = lodash.cloneDeepWith(rawObject, (value) => {
|
|
148
|
+
if (value instanceof Identifier) {
|
|
149
|
+
return value.toBuffer();
|
|
150
|
+
}
|
|
151
|
+
});
|
|
95
152
|
|
|
96
|
-
expect(
|
|
97
|
-
|
|
98
|
-
|
|
153
|
+
expect(rawObjectWithBuffers).to.deep.equal(rawObjectJs);
|
|
154
|
+
});
|
|
155
|
+
});
|
|
99
156
|
|
|
100
|
-
|
|
101
|
-
|
|
157
|
+
describe('#toBuffer', () => {
|
|
158
|
+
it('should return the same bytes as JS version', () => {
|
|
159
|
+
const bufferJs = stateTransitionJs.toBuffer();
|
|
160
|
+
const buffer = stateTransition.toBuffer();
|
|
102
161
|
|
|
103
|
-
expect(
|
|
162
|
+
expect(bufferJs).to.deep.equal(buffer);
|
|
104
163
|
});
|
|
105
164
|
});
|
|
106
165
|
|
|
107
166
|
describe('#hash', () => {
|
|
108
|
-
it('should return
|
|
109
|
-
const
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
encodeMock.returns(serializedDocument);
|
|
113
|
-
hashMock.returns(hashedDocument);
|
|
167
|
+
it('should return the same hash as the JS version', () => {
|
|
168
|
+
const hashJs = stateTransitionJs.hash();
|
|
169
|
+
const hash = stateTransitionJs.hash();
|
|
114
170
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
const dataToEncode = stateTransition.toObject();
|
|
120
|
-
delete dataToEncode.protocolVersion;
|
|
121
|
-
|
|
122
|
-
expect(encodeMock).to.have.been.calledOnceWith(dataToEncode);
|
|
171
|
+
expect(hash).to.deep.equal(hashJs);
|
|
172
|
+
});
|
|
173
|
+
});
|
|
123
174
|
|
|
124
|
-
|
|
125
|
-
|
|
175
|
+
describe('#getOwnerId', () => {
|
|
176
|
+
it('should return owner id', async () => {
|
|
177
|
+
const result = stateTransitionJs.getOwnerId();
|
|
126
178
|
|
|
127
|
-
expect(
|
|
128
|
-
Buffer.concat([protocolVersionUInt32, serializedDocument]),
|
|
129
|
-
);
|
|
179
|
+
expect(result).to.deep.equal(getDocumentsFixture.ownerId);
|
|
130
180
|
});
|
|
131
181
|
});
|
|
132
182
|
|
|
133
|
-
describe('#getOwnerId', () => {
|
|
183
|
+
describe('#getOwnerId - Rust', () => {
|
|
134
184
|
it('should return owner id', async () => {
|
|
135
185
|
const result = stateTransition.getOwnerId();
|
|
136
186
|
|
|
137
|
-
expect(result).to.deep.equal(getDocumentsFixture.ownerId);
|
|
187
|
+
expect(result.toBuffer()).to.deep.equal(getDocumentsFixture.ownerId.toBuffer());
|
|
138
188
|
});
|
|
139
189
|
});
|
|
140
190
|
|
|
141
191
|
describe('#getModifiedDataIds', () => {
|
|
142
192
|
it('should return ids of affected documents', () => {
|
|
143
|
-
const expectedIds =
|
|
144
|
-
const result =
|
|
193
|
+
const expectedIds = documentsJs.map((doc) => doc.getId());
|
|
194
|
+
const result = stateTransitionJs.getModifiedDataIds();
|
|
195
|
+
|
|
196
|
+
expect(result.length).to.be.equal(10);
|
|
197
|
+
expect(result).to.be.deep.equal(expectedIds);
|
|
198
|
+
});
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
describe('#getModifiedDataIds - Rust', () => {
|
|
202
|
+
it('should return ids of affected documents', () => {
|
|
203
|
+
const expectedIds = documentsJs.map((doc) => doc.getId().toBuffer());
|
|
204
|
+
const result = stateTransition.getModifiedDataIds().map((id) => id.toBuffer());
|
|
145
205
|
|
|
146
206
|
expect(result.length).to.be.equal(10);
|
|
147
207
|
expect(result).to.be.deep.equal(expectedIds);
|
|
@@ -149,18 +209,36 @@ describe('DocumentsBatchTransition', () => {
|
|
|
149
209
|
});
|
|
150
210
|
|
|
151
211
|
describe('#isDataContractStateTransition', () => {
|
|
212
|
+
it('should return false', () => {
|
|
213
|
+
expect(stateTransitionJs.isDataContractStateTransition()).to.be.false();
|
|
214
|
+
});
|
|
215
|
+
});
|
|
216
|
+
|
|
217
|
+
describe('#isDataContractStateTransition - Rust', () => {
|
|
152
218
|
it('should return false', () => {
|
|
153
219
|
expect(stateTransition.isDataContractStateTransition()).to.be.false();
|
|
154
220
|
});
|
|
155
221
|
});
|
|
156
222
|
|
|
157
223
|
describe('#isDocumentStateTransition', () => {
|
|
224
|
+
it('should return true', () => {
|
|
225
|
+
expect(stateTransitionJs.isDocumentStateTransition()).to.be.true();
|
|
226
|
+
});
|
|
227
|
+
});
|
|
228
|
+
|
|
229
|
+
describe('#isDocumentStateTransition - Rust', () => {
|
|
158
230
|
it('should return true', () => {
|
|
159
231
|
expect(stateTransition.isDocumentStateTransition()).to.be.true();
|
|
160
232
|
});
|
|
161
233
|
});
|
|
162
234
|
|
|
163
235
|
describe('#isIdentityStateTransition', () => {
|
|
236
|
+
it('should return false', () => {
|
|
237
|
+
expect(stateTransitionJs.isIdentityStateTransition()).to.be.false();
|
|
238
|
+
});
|
|
239
|
+
});
|
|
240
|
+
|
|
241
|
+
describe('#isIdentityStateTransition - Rust', () => {
|
|
164
242
|
it('should return false', () => {
|
|
165
243
|
expect(stateTransition.isIdentityStateTransition()).to.be.false();
|
|
166
244
|
});
|
|
@@ -66,7 +66,7 @@ describe('applyDocumentsBatchTransitionFactory', () => {
|
|
|
66
66
|
|
|
67
67
|
stateRepositoryMock = createStateRepositoryMock(this.sinonSandbox);
|
|
68
68
|
stateRepositoryMock.fetchDataContract.resolves(dataContract);
|
|
69
|
-
stateRepositoryMock.fetchLatestPlatformBlockTime.
|
|
69
|
+
stateRepositoryMock.fetchLatestPlatformBlockTime.resolves(blockTimeMs);
|
|
70
70
|
|
|
71
71
|
fetchDocumentsMock = this.sinonSandbox.stub();
|
|
72
72
|
fetchDocumentsMock.resolves([
|
|
@@ -68,7 +68,7 @@ describe('validateDocumentsBatchTransitionStateFactory', () => {
|
|
|
68
68
|
|
|
69
69
|
blockTime = Date.now();
|
|
70
70
|
|
|
71
|
-
stateRepositoryMock.fetchLatestPlatformBlockTime.
|
|
71
|
+
stateRepositoryMock.fetchLatestPlatformBlockTime.resolves(blockTime);
|
|
72
72
|
|
|
73
73
|
fetchDocumentsMock = this.sinonSandbox.stub().resolves([]);
|
|
74
74
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const varint = require('varint');
|
|
1
2
|
const JSIdentityPublicKey = require('@dashevo/dpp/lib/identity/IdentityPublicKey');
|
|
2
3
|
const protocolVersion = require('@dashevo/dpp/lib/version/protocolVersion');
|
|
3
4
|
const JSIdentity = require('@dashevo/dpp/lib/identity/Identity');
|
|
@@ -145,8 +146,7 @@ describe('Identity', () => {
|
|
|
145
146
|
const identityDataToEncode = identity.toObject();
|
|
146
147
|
delete identityDataToEncode.protocolVersion;
|
|
147
148
|
|
|
148
|
-
|
|
149
|
-
protocolVersionUInt32.writeUInt32LE(identity.getProtocolVersion(), 0);
|
|
149
|
+
varint.encode(identity.getProtocolVersion());
|
|
150
150
|
|
|
151
151
|
expect(result).to.deep.equal(expectedHash);
|
|
152
152
|
});
|
|
@@ -4,24 +4,18 @@ describe('IdentityPublicKey', () => {
|
|
|
4
4
|
let rawPublicKey;
|
|
5
5
|
let publicKey;
|
|
6
6
|
let IdentityPublicKey;
|
|
7
|
-
let KeyPurpose;
|
|
8
|
-
let KeyType;
|
|
9
|
-
let KeySecurityLevel;
|
|
10
7
|
|
|
11
8
|
beforeEach(async () => {
|
|
12
|
-
({
|
|
13
|
-
IdentityPublicKey, KeyPurpose, KeyType, KeySecurityLevel,
|
|
14
|
-
} = await loadWasmDpp());
|
|
9
|
+
({ IdentityPublicKey } = await loadWasmDpp());
|
|
15
10
|
|
|
16
11
|
rawPublicKey = {
|
|
17
12
|
id: 0,
|
|
18
|
-
type:
|
|
13
|
+
type: IdentityPublicKey.TYPES.ECDSA_SECP256K1,
|
|
19
14
|
data: Buffer.from('AkVuTKyF3YgKLAQlLEtaUL2HTditwGILfWUVqjzYnIgH', 'base64'),
|
|
20
|
-
purpose:
|
|
21
|
-
securityLevel:
|
|
15
|
+
purpose: IdentityPublicKey.PURPOSES.AUTHENTICATION,
|
|
16
|
+
securityLevel: IdentityPublicKey.SECURITY_LEVELS.MASTER,
|
|
22
17
|
readOnly: false,
|
|
23
18
|
};
|
|
24
|
-
|
|
25
19
|
publicKey = new IdentityPublicKey(rawPublicKey);
|
|
26
20
|
});
|
|
27
21
|
|
|
@@ -89,9 +83,9 @@ describe('IdentityPublicKey', () => {
|
|
|
89
83
|
|
|
90
84
|
describe('#setPurpose', () => {
|
|
91
85
|
it('should set data', () => {
|
|
92
|
-
publicKey.setPurpose(
|
|
86
|
+
publicKey.setPurpose(IdentityPublicKey.PURPOSES.DECRYPTION);
|
|
93
87
|
|
|
94
|
-
expect(publicKey.getPurpose()).to.equal(
|
|
88
|
+
expect(publicKey.getPurpose()).to.equal(IdentityPublicKey.PURPOSES.DECRYPTION);
|
|
95
89
|
});
|
|
96
90
|
});
|
|
97
91
|
|
|
@@ -103,9 +97,9 @@ describe('IdentityPublicKey', () => {
|
|
|
103
97
|
|
|
104
98
|
describe('#setSecurityLevel', () => {
|
|
105
99
|
it('should set data', () => {
|
|
106
|
-
publicKey.setSecurityLevel(
|
|
100
|
+
publicKey.setSecurityLevel(IdentityPublicKey.SECURITY_LEVELS.MEDIUM);
|
|
107
101
|
|
|
108
|
-
expect(publicKey.getSecurityLevel()).to.equal(
|
|
102
|
+
expect(publicKey.getSecurityLevel()).to.equal(IdentityPublicKey.SECURITY_LEVELS.MEDIUM);
|
|
109
103
|
});
|
|
110
104
|
});
|
|
111
105
|
|
|
@@ -151,10 +145,10 @@ describe('IdentityPublicKey', () => {
|
|
|
151
145
|
it('should return data in case ECDSA_HASH160', () => {
|
|
152
146
|
rawPublicKey = {
|
|
153
147
|
id: 0,
|
|
154
|
-
type:
|
|
148
|
+
type: IdentityPublicKey.TYPES.ECDSA_HASH160,
|
|
155
149
|
data: Buffer.from('AkVuTKyF3YgKLAQlLEtaUL2HTditwGILfWUVqjzYnIgH', 'base64'),
|
|
156
|
-
purpose:
|
|
157
|
-
securityLevel:
|
|
150
|
+
purpose: IdentityPublicKey.PURPOSES.AUTHENTICATION,
|
|
151
|
+
securityLevel: IdentityPublicKey.SECURITY_LEVELS.MASTER,
|
|
158
152
|
readOnly: false,
|
|
159
153
|
disabledAt: 123,
|
|
160
154
|
};
|
|
@@ -171,10 +165,10 @@ describe('IdentityPublicKey', () => {
|
|
|
171
165
|
it('should return original public key hash in case BLS12_381', () => {
|
|
172
166
|
rawPublicKey = {
|
|
173
167
|
id: 0,
|
|
174
|
-
type:
|
|
168
|
+
type: IdentityPublicKey.TYPES.BLS12_381,
|
|
175
169
|
data: Buffer.from('01fac99ca2c8f39c286717c213e190aba4b7af76db320ec43f479b7d9a2012313a0ae59ca576edf801444bc694686694', 'hex'),
|
|
176
|
-
purpose:
|
|
177
|
-
securityLevel:
|
|
170
|
+
purpose: IdentityPublicKey.PURPOSES.AUTHENTICATION,
|
|
171
|
+
securityLevel: IdentityPublicKey.SECURITY_LEVELS.MASTER,
|
|
178
172
|
readOnly: false,
|
|
179
173
|
disabledAt: 123,
|
|
180
174
|
};
|
|
@@ -191,10 +185,10 @@ describe('IdentityPublicKey', () => {
|
|
|
191
185
|
it('should return data in case BIP13_SCRIPT_HASH', () => {
|
|
192
186
|
rawPublicKey = {
|
|
193
187
|
id: 0,
|
|
194
|
-
type:
|
|
188
|
+
type: IdentityPublicKey.TYPES.BIP13_SCRIPT_HASH,
|
|
195
189
|
data: Buffer.from('54c557e07dde5bb6cb791c7a540e0a4796f5e97e', 'hex'),
|
|
196
|
-
purpose:
|
|
197
|
-
securityLevel:
|
|
190
|
+
purpose: IdentityPublicKey.PURPOSES.AUTHENTICATION,
|
|
191
|
+
securityLevel: IdentityPublicKey.SECURITY_LEVELS.MASTER,
|
|
198
192
|
readOnly: false,
|
|
199
193
|
disabledAt: 123,
|
|
200
194
|
};
|
|
@@ -215,10 +209,10 @@ describe('IdentityPublicKey', () => {
|
|
|
215
209
|
|
|
216
210
|
expect(jsonPublicKey).to.deep.equal({
|
|
217
211
|
id: 0,
|
|
218
|
-
type:
|
|
212
|
+
type: IdentityPublicKey.TYPES.ECDSA_SECP256K1,
|
|
219
213
|
data: 'AkVuTKyF3YgKLAQlLEtaUL2HTditwGILfWUVqjzYnIgH',
|
|
220
|
-
purpose:
|
|
221
|
-
securityLevel:
|
|
214
|
+
purpose: IdentityPublicKey.PURPOSES.AUTHENTICATION,
|
|
215
|
+
securityLevel: IdentityPublicKey.SECURITY_LEVELS.MASTER,
|
|
222
216
|
readOnly: false,
|
|
223
217
|
});
|
|
224
218
|
});
|
|
@@ -230,10 +224,10 @@ describe('IdentityPublicKey', () => {
|
|
|
230
224
|
|
|
231
225
|
expect(jsonPublicKey).to.deep.equal({
|
|
232
226
|
id: 0,
|
|
233
|
-
type:
|
|
227
|
+
type: IdentityPublicKey.TYPES.ECDSA_SECP256K1,
|
|
234
228
|
data: 'AkVuTKyF3YgKLAQlLEtaUL2HTditwGILfWUVqjzYnIgH',
|
|
235
|
-
purpose:
|
|
236
|
-
securityLevel:
|
|
229
|
+
purpose: IdentityPublicKey.PURPOSES.AUTHENTICATION,
|
|
230
|
+
securityLevel: IdentityPublicKey.SECURITY_LEVELS.MASTER,
|
|
237
231
|
readOnly: false,
|
|
238
232
|
disabledAt: 42,
|
|
239
233
|
});
|
|
@@ -242,7 +236,7 @@ describe('IdentityPublicKey', () => {
|
|
|
242
236
|
|
|
243
237
|
describe('#isMaster', () => {
|
|
244
238
|
it('should return true when public key has MASTER security level', () => {
|
|
245
|
-
publicKey.setSecurityLevel(
|
|
239
|
+
publicKey.setSecurityLevel(IdentityPublicKey.SECURITY_LEVELS.MASTER);
|
|
246
240
|
|
|
247
241
|
const result = publicKey.isMaster();
|
|
248
242
|
|
|
@@ -250,7 +244,7 @@ describe('IdentityPublicKey', () => {
|
|
|
250
244
|
});
|
|
251
245
|
|
|
252
246
|
it('should return false when public key doesn\'t have MASTER security level', () => {
|
|
253
|
-
publicKey.setSecurityLevel(
|
|
247
|
+
publicKey.setSecurityLevel(IdentityPublicKey.SECURITY_LEVELS.HIGH);
|
|
254
248
|
|
|
255
249
|
const result = publicKey.isMaster();
|
|
256
250
|
|
package/test/unit/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition.spec.js
CHANGED
|
@@ -1,35 +1,65 @@
|
|
|
1
|
-
const
|
|
2
|
-
|
|
3
|
-
const stateTransitionTypes = require(
|
|
4
|
-
'@dashevo/dpp/lib/stateTransition/stateTransitionTypes',
|
|
5
|
-
);
|
|
1
|
+
const getIdentityCreateTransitionFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityCreateTransitionFixture');
|
|
2
|
+
const getChainAssetLockProofFixture = require('@dashevo/dpp/lib/test/fixtures/getChainAssetLockProofFixture');
|
|
6
3
|
|
|
4
|
+
const stateTransitionTypes = require('@dashevo/dpp/lib/stateTransition/stateTransitionTypes');
|
|
7
5
|
const protocolVersion = require('@dashevo/dpp/lib/version/protocolVersion');
|
|
8
|
-
const
|
|
9
|
-
const Identifier = require('@dashevo/dpp/lib/identifier/Identifier');
|
|
10
|
-
|
|
11
|
-
const getIdentityCreateTransitionFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityCreateTransitionFixture');
|
|
12
|
-
const InstantAssetLockProof = require('@dashevo/dpp/lib/identity/stateTransition/assetLockProof/instant/InstantAssetLockProof');
|
|
6
|
+
const { default: loadWasmDpp } = require('../../../../../dist');
|
|
13
7
|
|
|
14
8
|
describe('IdentityCreateTransition', () => {
|
|
15
9
|
let rawStateTransition;
|
|
16
10
|
let stateTransition;
|
|
17
11
|
|
|
12
|
+
let IdentityCreateTransition;
|
|
13
|
+
let InstantAssetLockProof;
|
|
14
|
+
let KeyType;
|
|
15
|
+
let KeyPurpose;
|
|
16
|
+
let KeySecurityLevel;
|
|
17
|
+
let IdentityPublicKey;
|
|
18
|
+
let Identifier;
|
|
19
|
+
|
|
20
|
+
const mockRawPublicKey = (params = {}) => ({
|
|
21
|
+
id: 0,
|
|
22
|
+
type: KeyType.ECDSA_SECP256K1,
|
|
23
|
+
data: Buffer.from('AkVuTKyF3YgKLAQlLEtaUL2HTditwGILfWUVqjzYnIgH', 'base64'),
|
|
24
|
+
purpose: KeyPurpose.AUTHENTICATION,
|
|
25
|
+
securityLevel: KeySecurityLevel.MASTER,
|
|
26
|
+
signature: Buffer.alloc(32).fill(1),
|
|
27
|
+
readOnly: false,
|
|
28
|
+
...params,
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
before(async () => {
|
|
32
|
+
({
|
|
33
|
+
IdentityCreateTransition, IdentityPublicKey, KeyType, KeyPurpose, KeySecurityLevel,
|
|
34
|
+
InstantAssetLockProof, Identifier,
|
|
35
|
+
} = await loadWasmDpp());
|
|
36
|
+
});
|
|
37
|
+
|
|
18
38
|
beforeEach(() => {
|
|
19
|
-
|
|
20
|
-
|
|
39
|
+
rawStateTransition = getIdentityCreateTransitionFixture().toObject();
|
|
40
|
+
stateTransition = new IdentityCreateTransition(
|
|
41
|
+
rawStateTransition,
|
|
42
|
+
);
|
|
21
43
|
});
|
|
22
44
|
|
|
23
45
|
describe('#constructor', () => {
|
|
24
|
-
it('should create
|
|
46
|
+
it('should create instance with specified data', () => {
|
|
25
47
|
expect(stateTransition.getAssetLockProof().toObject()).to.deep.equal(
|
|
26
48
|
rawStateTransition.assetLockProof,
|
|
27
49
|
);
|
|
28
50
|
|
|
29
|
-
expect(stateTransition.publicKeys).to.deep.equal([
|
|
30
|
-
new IdentityPublicKey(rawStateTransition.publicKeys[0]),
|
|
51
|
+
expect(stateTransition.publicKeys.map((key) => key.toObject())).to.deep.equal([
|
|
52
|
+
new IdentityPublicKey(rawStateTransition.publicKeys[0]).toObject(),
|
|
31
53
|
]);
|
|
32
54
|
});
|
|
55
|
+
|
|
56
|
+
it('should create instance with chain asset lock proof', () => {
|
|
57
|
+
const stObject = stateTransition.toObject();
|
|
58
|
+
stObject.assetLockProof = getChainAssetLockProofFixture().toObject();
|
|
59
|
+
stateTransition = new IdentityCreateTransition(stObject);
|
|
60
|
+
expect(stateTransition.getAssetLockProof().toObject())
|
|
61
|
+
.to.deep.equal(stObject.assetLockProof);
|
|
62
|
+
});
|
|
33
63
|
});
|
|
34
64
|
|
|
35
65
|
describe('#getType', () => {
|
|
@@ -53,8 +83,8 @@ describe('IdentityCreateTransition', () => {
|
|
|
53
83
|
new InstantAssetLockProof(rawStateTransition.assetLockProof),
|
|
54
84
|
);
|
|
55
85
|
|
|
56
|
-
expect(stateTransition.identityId).to.deep.equal(
|
|
57
|
-
stateTransition.getAssetLockProof().createIdentifier(),
|
|
86
|
+
expect(stateTransition.identityId.toBuffer()).to.deep.equal(
|
|
87
|
+
stateTransition.getAssetLockProof().createIdentifier().toBuffer(),
|
|
58
88
|
);
|
|
59
89
|
});
|
|
60
90
|
});
|
|
@@ -69,44 +99,53 @@ describe('IdentityCreateTransition', () => {
|
|
|
69
99
|
|
|
70
100
|
describe('#setPublicKeys', () => {
|
|
71
101
|
it('should set public keys', () => {
|
|
72
|
-
const publicKeys = [
|
|
102
|
+
const publicKeys = [
|
|
103
|
+
new IdentityPublicKey(mockRawPublicKey({ id: 0 })),
|
|
104
|
+
new IdentityPublicKey(mockRawPublicKey({ id: 1 })),
|
|
105
|
+
];
|
|
73
106
|
|
|
74
107
|
stateTransition.setPublicKeys(publicKeys);
|
|
75
108
|
|
|
76
|
-
expect(stateTransition.publicKeys).
|
|
109
|
+
expect(stateTransition.publicKeys.map((key) => key.toObject()))
|
|
110
|
+
.to.have.deep.members(publicKeys.map((key) => key.toObject()));
|
|
77
111
|
});
|
|
78
112
|
});
|
|
79
113
|
|
|
80
114
|
describe('#getPublicKeys', () => {
|
|
81
115
|
it('should return set public keys', () => {
|
|
82
|
-
expect(stateTransition.getPublicKeys()).to.deep.equal(
|
|
83
|
-
rawStateTransition.publicKeys
|
|
116
|
+
expect(stateTransition.getPublicKeys().map((key) => key.toObject())).to.deep.equal(
|
|
117
|
+
rawStateTransition.publicKeys
|
|
118
|
+
.map((rawPublicKey) => new IdentityPublicKey(rawPublicKey).toObject()),
|
|
84
119
|
);
|
|
85
120
|
});
|
|
86
121
|
});
|
|
87
122
|
|
|
88
123
|
describe('#addPublicKeys', () => {
|
|
89
124
|
it('should add more public keys', () => {
|
|
90
|
-
const publicKeys = [
|
|
125
|
+
const publicKeys = [
|
|
126
|
+
new IdentityPublicKey(mockRawPublicKey({ id: 0 })),
|
|
127
|
+
new IdentityPublicKey(mockRawPublicKey({ id: 1 })),
|
|
128
|
+
];
|
|
91
129
|
|
|
92
|
-
stateTransition.
|
|
130
|
+
stateTransition.setPublicKeys([]);
|
|
93
131
|
stateTransition.addPublicKeys(publicKeys);
|
|
94
|
-
expect(stateTransition.getPublicKeys()).
|
|
132
|
+
expect(stateTransition.getPublicKeys().map((key) => key.toObject()))
|
|
133
|
+
.to.have.deep.members(publicKeys.map((key) => key.toObject()));
|
|
95
134
|
});
|
|
96
135
|
});
|
|
97
136
|
|
|
98
137
|
describe('#getIdentityId', () => {
|
|
99
138
|
it('should return identity id', () => {
|
|
100
|
-
expect(stateTransition.getIdentityId()).to.deep.equal(
|
|
101
|
-
stateTransition.getAssetLockProof().createIdentifier(),
|
|
139
|
+
expect(stateTransition.getIdentityId().toBuffer()).to.deep.equal(
|
|
140
|
+
stateTransition.getAssetLockProof().createIdentifier().toBuffer(),
|
|
102
141
|
);
|
|
103
142
|
});
|
|
104
143
|
});
|
|
105
144
|
|
|
106
145
|
describe('#getOwnerId', () => {
|
|
107
146
|
it('should return owner id', () => {
|
|
108
|
-
expect(stateTransition.getOwnerId()).to.equal(
|
|
109
|
-
stateTransition.getIdentityId(),
|
|
147
|
+
expect(stateTransition.getOwnerId().toBuffer()).to.deep.equal(
|
|
148
|
+
stateTransition.getIdentityId().toBuffer(),
|
|
110
149
|
);
|
|
111
150
|
});
|
|
112
151
|
});
|
|
@@ -158,8 +197,8 @@ describe('IdentityCreateTransition', () => {
|
|
|
158
197
|
const identityId = result[0];
|
|
159
198
|
|
|
160
199
|
expect(identityId).to.be.an.instanceOf(Identifier);
|
|
161
|
-
expect(identityId).to.be.deep.equal(
|
|
162
|
-
new IdentityCreateTransition(rawStateTransition).getIdentityId(),
|
|
200
|
+
expect(identityId.toBuffer()).to.be.deep.equal(
|
|
201
|
+
new IdentityCreateTransition(rawStateTransition).getIdentityId().toBuffer(),
|
|
163
202
|
);
|
|
164
203
|
});
|
|
165
204
|
});
|