@dashevo/wasm-dpp 0.24.0-dev.12 → 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.
Files changed (118) hide show
  1. package/Cargo.toml +3 -0
  2. package/README.md +5 -1
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.LICENSE.txt +9 -0
  5. package/dist/wasm/wasm_dpp.d.ts +1495 -565
  6. package/karma.conf.js +5 -0
  7. package/lib/identifier/patchIdentifier.ts +5 -4
  8. package/lib/index.ts +1 -1
  9. package/lib/test/bootstrap.js +5 -0
  10. package/lib/test/mocks/getBlsAdapterMock.js +36 -0
  11. package/lib/test/utils/newDocumentsContainer.js +36 -0
  12. package/package.json +7 -4
  13. package/src/bls_adapter.rs +16 -1
  14. package/src/data_contract/data_contract.rs +35 -7
  15. package/src/data_contract/errors/invalid_document_type.rs +1 -1
  16. package/src/data_contract/index.rs +56 -1
  17. package/src/data_contract/mod.rs +1 -0
  18. package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +2 -4
  19. package/src/data_contract/state_transition/data_contract_create_transition/validation.rs +3 -3
  20. package/src/data_contract/state_transition/data_contract_update_transition/mod.rs +2 -4
  21. package/src/data_contract/state_transition/data_contract_update_transition/validation.rs +9 -6
  22. package/src/data_contract_factory/data_contract_factory.rs +4 -6
  23. package/src/document/errors/invalid_document_error.rs +10 -9
  24. package/src/document/errors/invalid_initial_revision_error.rs +1 -1
  25. package/src/document/errors/mismatch_owners_ids_error.rs +14 -4
  26. package/src/document/errors/mod.rs +17 -13
  27. package/src/document/errors/no_documents_supplied_error.rs +4 -4
  28. package/src/document/factory.rs +192 -0
  29. package/src/document/mod.rs +222 -30
  30. package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +47 -1
  31. package/src/document/state_transition/document_batch_transition/document_transition/document_delete_transition.rs +25 -1
  32. package/src/document/state_transition/document_batch_transition/document_transition/document_replace_transition.rs +65 -0
  33. package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +123 -3
  34. package/src/document/state_transition/document_batch_transition/mod.rs +378 -0
  35. package/src/document/validator.rs +30 -0
  36. package/src/errors/consensus/basic/identity/identity_asset_lock_proof_locked_transaction_mismatch_error.rs +6 -2
  37. package/src/errors/consensus/basic/identity/identity_asset_lock_transaction_out_point_already_exists_error.rs +5 -2
  38. package/src/errors/consensus/basic/identity/invalid_asset_lock_proof_transaction_height_error.rs +3 -3
  39. package/src/errors/dpp_error.rs +17 -0
  40. package/src/errors/from.rs +5 -0
  41. package/src/errors/js_conversion.rs +19 -4
  42. package/src/errors/mod.rs +2 -0
  43. package/src/errors/protocol_error.rs +7 -4
  44. package/src/identifier/mod.rs +48 -3
  45. package/src/identity/errors/asset_lock_output_not_found_error.rs +11 -0
  46. package/src/identity/errors/asset_lock_transaction_is_not_found_error.rs +20 -0
  47. package/src/identity/errors/mod.rs +7 -0
  48. package/src/identity/errors/unknown_asset_lock_proof_type_error.rs +26 -0
  49. package/src/identity/identity_facade.rs +2 -4
  50. package/src/identity/identity_public_key/mod.rs +41 -7
  51. package/src/identity/mod.rs +14 -5
  52. package/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof.rs +132 -0
  53. package/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof_structure_validator.rs +72 -0
  54. package/src/identity/state_transition/asset_lock_proof/chain/mod.rs +4 -0
  55. package/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs +177 -0
  56. package/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof_structure_validator.rs +72 -0
  57. package/src/identity/state_transition/asset_lock_proof/instant/mod.rs +4 -0
  58. package/src/identity/state_transition/asset_lock_proof/mod.rs +269 -0
  59. package/src/identity/state_transition/identity_create_transition/apply_identity_create_transition.rs +26 -0
  60. package/src/identity/state_transition/identity_create_transition/identity_create_transition.rs +335 -0
  61. package/src/identity/state_transition/identity_create_transition/identity_create_transition_basic_validator.rs +153 -0
  62. package/src/identity/state_transition/identity_create_transition/identity_create_transition_state_validator.rs +37 -0
  63. package/src/identity/state_transition/identity_create_transition/mod.rs +8 -0
  64. package/src/identity/state_transition/identity_create_transition/to_object.rs +46 -0
  65. package/src/identity/state_transition/identity_topup_transition/apply_identity_topup_transition.rs +31 -0
  66. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition.rs +280 -0
  67. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition_basic_validator.rs +113 -0
  68. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition_state_validator.rs +37 -0
  69. package/src/identity/state_transition/identity_topup_transition/mod.rs +8 -0
  70. package/src/identity/state_transition/identity_topup_transition/to_object.rs +42 -0
  71. package/src/identity/state_transition/mod.rs +9 -0
  72. package/src/identity/state_transition/validate_public_key_signatures.rs +59 -0
  73. package/src/identity/validation/public_keys_validator.rs +16 -10
  74. package/src/identity_public_key/public_keys_validator.rs +44 -0
  75. package/src/lib.rs +2 -0
  76. package/src/lodash.rs +7 -0
  77. package/src/state_repository.rs +188 -36
  78. package/src/state_transition/mod.rs +12 -0
  79. package/src/utils.rs +102 -7
  80. package/src/validation/json_schema_validator.rs +41 -0
  81. package/src/validation/mod.rs +2 -0
  82. package/src/validation/validation_result.rs +23 -5
  83. package/src/version/mod.rs +2 -0
  84. package/src/version/protocol_version.rs +26 -0
  85. package/test/integration/dataContract/validation/validateDataContractFactory.spec.js +579 -502
  86. package/test/integration/identity/stateTransition/IdentityCreateTransition/validation/basic/validateIdentityCreateTransitionBasicFactory.spec.js +175 -165
  87. package/test/integration/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory.spec.js +83 -114
  88. package/test/integration/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory.spec.js +82 -91
  89. package/test/integration/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory.spec.js +75 -31
  90. package/test/integration/identity/stateTransition/assetLockProof/instant/validateInstantAssetLockProofStructureFactory.spec.js +93 -148
  91. package/test/integration/identity/stateTransition/assetLockProof/validateAssetLockTransactionFactory.spec.js +63 -75
  92. package/test/integration/identity/stateTransition/validatePublicKeySignaturesFactory.spec.js +48 -19
  93. package/test/unit/dataContract/DataContract.spec.js +3 -3
  94. package/test/unit/dataContract/createDataContract.spec.js +0 -1
  95. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition.spec.js +3 -3
  96. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +3 -3
  97. package/test/unit/decodeProtocolEntityFactory.spec.js +2 -2
  98. package/test/unit/document/Document.spec.js +147 -155
  99. package/test/unit/document/DocumentFactory.spec.js +325 -91
  100. package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +142 -64
  101. package/test/unit/identity/Identity.spec.js +2 -2
  102. package/test/unit/identity/stateTransition/IdentityCreateTransition/IdentityCreateTransition.spec.js +69 -30
  103. package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +32 -32
  104. package/test/unit/identity/stateTransition/IdentityCreateTransition/validation/state/validateIdentityCreateTransitionStateFactory.spec.js +56 -25
  105. package/test/unit/identity/stateTransition/IdentityTopUpTransition/IdentityTopUpTransition.spec.js +36 -16
  106. package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +48 -46
  107. package/test/unit/identity/stateTransition/IdentityTopUpTransition/validation/state/validateIdentityTopUpTransitionStateFactory.spec.js +24 -6
  108. package/test/unit/identity/stateTransition/assetLockProof/ChainAssetLockProof.spec.js +63 -0
  109. package/test/unit/identity/stateTransition/assetLockProof/InstantAssetLockProof.spec.js +90 -0
  110. package/test/unit/identity/stateTransition/assetLockProof/createAssetLockProofInstance.spec.js +18 -3
  111. package/test/unit/identity/stateTransition/assetLockProof/fetchAssetLockPublicKeyHashFactory.spec.js +38 -11
  112. package/wasm/package.json +5 -0
  113. package/wasm/wasm_dpp.d.ts +1495 -565
  114. package/wasm/wasm_dpp.js +3654 -1206
  115. package/wasm/wasm_dpp_bg.js +1 -1
  116. package/wasm/wasm_dpp_bg.wasm +0 -0
  117. package/wasm/wasm_dpp_bg.wasm.d.ts +557 -386
  118. package/webpack.config.js +9 -0
@@ -1,68 +1,60 @@
1
- const { getRE2Class } = require('@dashevo/wasm-re2');
2
-
3
- const createAjv = require('@dashevo/dpp/lib/ajv/createAjv');
4
-
5
- const JsonSchemaValidator = require('@dashevo/dpp/lib/validation/JsonSchemaValidator');
6
-
7
1
  const getIdentityTopUpTransitionFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityTopUpTransitionFixture');
8
2
 
9
- const validateIdentityTopUpTransitionBasicFactory = require(
10
- '@dashevo/dpp/lib/identity/stateTransition/IdentityTopUpTransition/validation/basic/validateIdentityTopUpTransitionBasicFactory',
11
- );
12
-
3
+ const createStateRepositoryMock = require('@dashevo/dpp/lib/test/mocks/createStateRepositoryMock');
13
4
  const {
14
5
  expectJsonSchemaError,
15
6
  expectValidationError,
16
- } = require('@dashevo/dpp/lib/test/expect/expectError');
17
-
18
- const ValidationResult = require('@dashevo/dpp/lib/validation/ValidationResult');
19
-
20
- const ChainAssetLockProof = require('@dashevo/dpp/lib/identity/stateTransition/assetLockProof/chain/ChainAssetLockProof');
21
- const InstantAssetLockProof = require('@dashevo/dpp/lib/identity/stateTransition/assetLockProof/instant/InstantAssetLockProof');
22
- const SomeConsensusError = require('@dashevo/dpp/lib/test/mocks/SomeConsensusError');
23
- const IdentityPublicKey = require('@dashevo/dpp/lib/identity/IdentityPublicKey');
24
- const StateTransitionExecutionContext = require('@dashevo/dpp/lib/stateTransition/StateTransitionExecutionContext');
7
+ } = require('../../../../../../../lib/test/expect/expectError');
8
+ const { default: loadWasmDpp } = require('../../../../../../../dist');
25
9
 
26
10
  describe('validateIdentityTopUpTransitionBasicFactory', () => {
27
11
  let rawStateTransition;
28
12
  let stateTransition;
29
- let assetLockPublicKeyHash;
30
- let validateIdentityTopUpTransitionBasic;
31
- let proofValidationFunctionsByTypeMock;
32
- let validateProtocolVersionMock;
33
- let executionContext;
34
-
35
- beforeEach(async function beforeEach() {
36
- assetLockPublicKeyHash = Buffer.alloc(20, 1);
37
13
 
38
- const assetLockValidationResult = new ValidationResult();
39
- assetLockValidationResult.setData(assetLockPublicKeyHash);
14
+ let stateRepositoryMock;
15
+ let executionContext;
40
16
 
41
- proofValidationFunctionsByTypeMock = {
42
- [InstantAssetLockProof.type]: this.sinonSandbox.stub().resolves(assetLockValidationResult),
43
- [ChainAssetLockProof.type]: this.sinonSandbox.stub().resolves(assetLockValidationResult),
44
- };
17
+ let validateIdentityTopUpTransitionBasic;
45
18
 
46
- const RE2 = await getRE2Class();
47
- const ajv = createAjv(RE2);
19
+ let StateTransitionExecutionContext;
20
+ let IdentityTopUpTransition;
21
+ let IdentityPublicKey;
22
+ let UnsupportedProtocolVersionError;
23
+ let InvalidInstantAssetLockProofSignatureError;
24
+ let IdentityTopUpTransitionBasicValidator;
25
+
26
+ before(async () => {
27
+ ({
28
+ IdentityTopUpTransitionBasicValidator,
29
+ IdentityTopUpTransition,
30
+ StateTransitionExecutionContext,
31
+ IdentityPublicKey,
32
+ UnsupportedProtocolVersionError,
33
+ InvalidInstantAssetLockProofSignatureError,
34
+ } = await loadWasmDpp());
35
+ });
48
36
 
49
- const jsonSchemaValidator = new JsonSchemaValidator(ajv);
37
+ beforeEach(async function beforeEach() {
38
+ stateRepositoryMock = createStateRepositoryMock(this.sinonSandbox);
39
+ stateRepositoryMock.verifyInstantLock.returns(true);
50
40
 
51
- validateProtocolVersionMock = this.sinonSandbox.stub().returns(new ValidationResult());
41
+ executionContext = new StateTransitionExecutionContext();
52
42
 
53
- validateIdentityTopUpTransitionBasic = validateIdentityTopUpTransitionBasicFactory(
54
- jsonSchemaValidator,
55
- proofValidationFunctionsByTypeMock,
56
- validateProtocolVersionMock,
43
+ const validator = new IdentityTopUpTransitionBasicValidator(stateRepositoryMock);
44
+ validateIdentityTopUpTransitionBasic = (st, context) => validator.validate(
45
+ st,
46
+ context,
57
47
  );
58
48
 
59
- executionContext = new StateTransitionExecutionContext();
60
-
61
- stateTransition = getIdentityTopUpTransitionFixture();
49
+ const stateTransitionJS = getIdentityTopUpTransitionFixture();
50
+ stateTransition = new IdentityTopUpTransition(stateTransitionJS.toObject());
62
51
 
63
52
  const privateKey = '9b67f852093bc61cea0eeca38599dbfba0de28574d2ed9b99d10d33dc1bde7b2';
64
53
 
65
- await stateTransition.signByPrivateKey(privateKey, IdentityPublicKey.TYPES.ECDSA_SECP256K1);
54
+ await stateTransition.signByPrivateKey(
55
+ Buffer.from(privateKey, 'hex'),
56
+ IdentityPublicKey.TYPES.ECDSA_SECP256K1,
57
+ );
66
58
 
67
59
  rawStateTransition = stateTransition.toObject();
68
60
  });
@@ -71,9 +63,11 @@ describe('validateIdentityTopUpTransitionBasicFactory', () => {
71
63
  it('should be present', async () => {
72
64
  delete rawStateTransition.protocolVersion;
73
65
 
74
- const result = await validateIdentityTopUpTransitionBasic(rawStateTransition);
66
+ const result = await validateIdentityTopUpTransitionBasic(
67
+ rawStateTransition, executionContext,
68
+ );
75
69
 
76
- expectJsonSchemaError(result);
70
+ await expectJsonSchemaError(result);
77
71
 
78
72
  const [error] = result.getErrors();
79
73
 
@@ -85,9 +79,11 @@ describe('validateIdentityTopUpTransitionBasicFactory', () => {
85
79
  it('should be an integer', async () => {
86
80
  rawStateTransition.protocolVersion = '1';
87
81
 
88
- const result = await validateIdentityTopUpTransitionBasic(rawStateTransition);
82
+ const result = await validateIdentityTopUpTransitionBasic(
83
+ rawStateTransition, executionContext,
84
+ );
89
85
 
90
- expectJsonSchemaError(result);
86
+ await expectJsonSchemaError(result);
91
87
 
92
88
  const [error] = result.getErrors();
93
89
 
@@ -96,26 +92,13 @@ describe('validateIdentityTopUpTransitionBasicFactory', () => {
96
92
  });
97
93
 
98
94
  it('should be valid', async () => {
99
- rawStateTransition.protocolVersion = -1;
100
-
101
- const protocolVersionError = new SomeConsensusError('test');
102
- const protocolVersionResult = new ValidationResult([
103
- protocolVersionError,
104
- ]);
105
-
106
- validateProtocolVersionMock.returns(protocolVersionResult);
95
+ rawStateTransition.protocolVersion = 1000;
107
96
 
108
- const result = await validateIdentityTopUpTransitionBasic(rawStateTransition);
109
-
110
- expectValidationError(result, SomeConsensusError);
111
-
112
- const [error] = result.getErrors();
113
-
114
- expect(error).to.equal(protocolVersionError);
115
-
116
- expect(validateProtocolVersionMock).to.be.calledOnceWith(
117
- rawStateTransition.protocolVersion,
97
+ const result = await validateIdentityTopUpTransitionBasic(
98
+ rawStateTransition, executionContext,
118
99
  );
100
+
101
+ await expectValidationError(result, UnsupportedProtocolVersionError);
119
102
  });
120
103
  });
121
104
 
@@ -123,9 +106,11 @@ describe('validateIdentityTopUpTransitionBasicFactory', () => {
123
106
  it('should be present', async () => {
124
107
  delete rawStateTransition.type;
125
108
 
126
- const result = await validateIdentityTopUpTransitionBasic(rawStateTransition);
109
+ const result = await validateIdentityTopUpTransitionBasic(
110
+ rawStateTransition, executionContext,
111
+ );
127
112
 
128
- expectJsonSchemaError(result);
113
+ await expectJsonSchemaError(result);
129
114
 
130
115
  const [error] = result.getErrors();
131
116
 
@@ -137,9 +122,11 @@ describe('validateIdentityTopUpTransitionBasicFactory', () => {
137
122
  it('should be equal to 3', async () => {
138
123
  rawStateTransition.type = 666;
139
124
 
140
- const result = await validateIdentityTopUpTransitionBasic(rawStateTransition);
125
+ const result = await validateIdentityTopUpTransitionBasic(
126
+ rawStateTransition, executionContext,
127
+ );
141
128
 
142
- expectJsonSchemaError(result);
129
+ await expectJsonSchemaError(result);
143
130
 
144
131
  const [error] = result.getErrors();
145
132
 
@@ -155,9 +142,10 @@ describe('validateIdentityTopUpTransitionBasicFactory', () => {
155
142
 
156
143
  const result = await validateIdentityTopUpTransitionBasic(
157
144
  rawStateTransition,
145
+ executionContext,
158
146
  );
159
147
 
160
- expectJsonSchemaError(result);
148
+ await expectJsonSchemaError(result);
161
149
 
162
150
  const [error] = result.getErrors();
163
151
 
@@ -169,9 +157,11 @@ describe('validateIdentityTopUpTransitionBasicFactory', () => {
169
157
  it('should be an object', async () => {
170
158
  rawStateTransition.assetLockProof = 1;
171
159
 
172
- const result = await validateIdentityTopUpTransitionBasic(rawStateTransition);
160
+ const result = await validateIdentityTopUpTransitionBasic(
161
+ rawStateTransition, executionContext,
162
+ );
173
163
 
174
- expectJsonSchemaError(result, 1);
164
+ await expectJsonSchemaError(result, 1);
175
165
 
176
166
  const [error] = result.getErrors();
177
167
 
@@ -180,29 +170,18 @@ describe('validateIdentityTopUpTransitionBasicFactory', () => {
180
170
  });
181
171
 
182
172
  it('should be valid', async () => {
183
- const assetLockError = new SomeConsensusError('test');
184
- const assetLockResult = new ValidationResult([
185
- assetLockError,
186
- ]);
187
-
188
- proofValidationFunctionsByTypeMock[InstantAssetLockProof.type].resolves(assetLockResult);
173
+ stateRepositoryMock.verifyInstantLock.returns(false);
189
174
 
190
175
  const result = await validateIdentityTopUpTransitionBasic(
191
176
  rawStateTransition,
192
177
  executionContext,
193
178
  );
194
179
 
195
- expectValidationError(result);
180
+ await expectValidationError(result);
196
181
 
197
182
  const [error] = result.getErrors();
198
183
 
199
- expect(error).to.equal(assetLockError);
200
-
201
- expect(proofValidationFunctionsByTypeMock[InstantAssetLockProof.type])
202
- .to.be.calledOnceWithExactly(
203
- rawStateTransition.assetLockProof,
204
- executionContext,
205
- );
184
+ expect(error).to.be.instanceOf(InvalidInstantAssetLockProofSignatureError);
206
185
  });
207
186
  });
208
187
 
@@ -215,7 +194,7 @@ describe('validateIdentityTopUpTransitionBasicFactory', () => {
215
194
  executionContext,
216
195
  );
217
196
 
218
- expectJsonSchemaError(result);
197
+ await expectJsonSchemaError(result);
219
198
 
220
199
  const [error] = result.getErrors();
221
200
 
@@ -232,14 +211,12 @@ describe('validateIdentityTopUpTransitionBasicFactory', () => {
232
211
  executionContext,
233
212
  );
234
213
 
235
- expectJsonSchemaError(result, 2);
214
+ await expectJsonSchemaError(result, 32);
236
215
 
237
- const [error, byteArrayError] = result.getErrors();
216
+ const [error] = result.getErrors();
238
217
 
239
218
  expect(error.getInstancePath()).to.equal('/identityId/0');
240
219
  expect(error.getKeyword()).to.equal('type');
241
-
242
- expect(byteArrayError.getKeyword()).to.equal('byteArray');
243
220
  });
244
221
 
245
222
  it('should be no less than 32 bytes', async () => {
@@ -250,11 +227,11 @@ describe('validateIdentityTopUpTransitionBasicFactory', () => {
250
227
  executionContext,
251
228
  );
252
229
 
253
- expectJsonSchemaError(result);
230
+ await expectJsonSchemaError(result);
254
231
 
255
232
  const [error] = result.getErrors();
256
233
 
257
- expect(error.instancePath).to.equal('/identityId');
234
+ expect(error.getInstancePath()).to.equal('/identityId');
258
235
  expect(error.getKeyword()).to.equal('minItems');
259
236
  });
260
237
 
@@ -266,11 +243,11 @@ describe('validateIdentityTopUpTransitionBasicFactory', () => {
266
243
  executionContext,
267
244
  );
268
245
 
269
- expectJsonSchemaError(result);
246
+ await expectJsonSchemaError(result);
270
247
 
271
248
  const [error] = result.getErrors();
272
249
 
273
- expect(error.instancePath).to.equal('/identityId');
250
+ expect(error.getInstancePath()).to.equal('/identityId');
274
251
  expect(error.getKeyword()).to.equal('maxItems');
275
252
  });
276
253
  });
@@ -284,11 +261,11 @@ describe('validateIdentityTopUpTransitionBasicFactory', () => {
284
261
  executionContext,
285
262
  );
286
263
 
287
- expectJsonSchemaError(result);
264
+ await expectJsonSchemaError(result);
288
265
 
289
266
  const [error] = result.getErrors();
290
267
 
291
- expect(error.instancePath).to.equal('');
268
+ expect(error.getInstancePath()).to.equal('');
292
269
  expect(error.getKeyword()).to.equal('required');
293
270
  expect(error.getParams().missingProperty).to.equal('signature');
294
271
  });
@@ -301,14 +278,12 @@ describe('validateIdentityTopUpTransitionBasicFactory', () => {
301
278
  executionContext,
302
279
  );
303
280
 
304
- expectJsonSchemaError(result, 2);
281
+ await expectJsonSchemaError(result, 65);
305
282
 
306
- const [error, byteArrayError] = result.getErrors();
283
+ const [error] = result.getErrors();
307
284
 
308
- expect(error.instancePath).to.equal('/signature/0');
285
+ expect(error.getInstancePath()).to.equal('/signature/0');
309
286
  expect(error.getKeyword()).to.equal('type');
310
-
311
- expect(byteArrayError.getKeyword()).to.equal('byteArray');
312
287
  });
313
288
 
314
289
  it('should be not shorter than 65 bytes', async () => {
@@ -319,11 +294,11 @@ describe('validateIdentityTopUpTransitionBasicFactory', () => {
319
294
  executionContext,
320
295
  );
321
296
 
322
- expectJsonSchemaError(result);
297
+ await expectJsonSchemaError(result);
323
298
 
324
299
  const [error] = result.getErrors();
325
300
 
326
- expect(error.instancePath).to.equal('/signature');
301
+ expect(error.getInstancePath()).to.equal('/signature');
327
302
  expect(error.getKeyword()).to.equal('minItems');
328
303
  });
329
304
 
@@ -335,11 +310,11 @@ describe('validateIdentityTopUpTransitionBasicFactory', () => {
335
310
  executionContext,
336
311
  );
337
312
 
338
- expectJsonSchemaError(result);
313
+ await expectJsonSchemaError(result);
339
314
 
340
315
  const [error] = result.getErrors();
341
316
 
342
- expect(error.instancePath).to.equal('/signature');
317
+ expect(error.getInstancePath()).to.equal('/signature');
343
318
  expect(error.getKeyword()).to.equal('maxItems');
344
319
  });
345
320
  });
@@ -351,11 +326,5 @@ describe('validateIdentityTopUpTransitionBasicFactory', () => {
351
326
  );
352
327
 
353
328
  expect(result.isValid()).to.be.true();
354
-
355
- expect(proofValidationFunctionsByTypeMock[InstantAssetLockProof.type])
356
- .to.be.calledOnceWithExactly(
357
- rawStateTransition.assetLockProof,
358
- executionContext,
359
- );
360
329
  });
361
330
  });