@dashevo/wasm-dpp 0.25.6 → 0.25.9

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 (95) hide show
  1. package/Cargo.toml +3 -2
  2. package/README.md +1 -1
  3. package/dist/wasm/wasm_dpp.d.ts +808 -712
  4. package/dist/wasm/wasm_dpp.js +853 -452
  5. package/dist/wasm/wasm_dpp_bg.js +1 -1
  6. package/lib/bls/bls.js +48 -0
  7. package/lib/test/fixtures/getChainAssetLockProofFixture.js +20 -1
  8. package/lib/test/fixtures/getDataContractFixture.js +4 -6
  9. package/lib/test/fixtures/getDocumentTransitionsFixture.js +31 -1
  10. package/lib/test/fixtures/getInstantAssetLockProofFixture.js +32 -12
  11. package/lib/test/mocks/getBlsAdapterMock.js +1 -1
  12. package/lib/utils/creditsConverter.js +14 -0
  13. package/lib/utils/hash.js +18 -0
  14. package/lib/wasm/wasm_dpp.d.ts +808 -712
  15. package/package.json +3 -5
  16. package/src/dash_platform_protocol.rs +5 -5
  17. package/src/document/errors/invalid_document_error.rs +5 -0
  18. package/src/document/extended_document.rs +15 -0
  19. package/src/document/state_transition/document_batch_transition/document_transition/document_create_transition.rs +219 -214
  20. package/src/document/state_transition/document_batch_transition/document_transition/mod.rs +1 -1
  21. package/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +4 -2
  22. package/src/errors/consensus/basic/json_schema_error.rs +35 -5
  23. package/src/identity/identity_facade.rs +7 -5
  24. package/src/identity/state_transition/asset_lock_proof/chain/chain_asset_lock_proof.rs +32 -17
  25. package/src/identity/state_transition/asset_lock_proof/instant/instant_asset_lock_proof.rs +22 -13
  26. package/src/identity/state_transition/asset_lock_proof/mod.rs +12 -11
  27. package/src/identity/state_transition/identity_create_transition/identity_create_transition.rs +1 -0
  28. package/src/identity/state_transition/identity_create_transition/to_object.rs +1 -0
  29. package/src/identity/state_transition/identity_topup_transition/identity_topup_transition.rs +1 -0
  30. package/src/identity/state_transition/identity_topup_transition/to_object.rs +1 -0
  31. package/src/lib.rs +1 -1
  32. package/src/validation/mod.rs +2 -2
  33. package/src/validation/validation_result.rs +16 -15
  34. package/test/integration/document/DocumentFacade.spec.js +11 -27
  35. package/test/integration/document/stateTransition/DocumentsBatchTransition/DocumentBatchTransition.spec.js +9 -19
  36. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/basic/validateDocumentsBatchTransitionBasicFactory.spec.js +2 -2
  37. package/test/integration/document/validation/validateDocumentFactory.spec.js +2 -2
  38. package/test/integration/identity/IdentityFacade.spec.js +1 -2
  39. package/test/integration/identity/stateTransition/assetLockProof/instant/validateInstantAssetLockProofStructureFactory.spec.js +2 -2
  40. package/test/integration/identity/stateTransition/validatePublicKeySignaturesFactory.spec.js +2 -2
  41. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +6 -8
  42. package/test/unit/document/Document.spec.js +30 -52
  43. package/test/unit/document/DocumentFactory.spec.js +2 -2
  44. package/test/unit/document/errors/InvalidDocumentError.spec.js +9 -9
  45. package/test/unit/document/stateTransition/DocumetsBatchTransition/DocumentsBatchTransition.spec.js +158 -155
  46. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/findDuplicatesByIndices.spec.js +132 -134
  47. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/basic/validatePartialCompoundIndices.spec.js +3 -3
  48. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsBatchTransitionStateFactory.spec.js +568 -591
  49. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/validateDocumentsUniquenessByIndicesFactory.spec.js +5 -13
  50. package/test/unit/identity/Identity.spec.js +2 -2
  51. package/test/unit/identity/stateTransition/assetLockProof/ChainAssetLockProof.spec.js +9 -28
  52. package/test/unit/identity/stateTransition/assetLockProof/InstantAssetLockProof.spec.js +19 -27
  53. package/lib/test/fixtures/getDashPayContractFixture.js +0 -1
  54. package/lib/test/fixtures/getDashPayDocumentFixture.js +0 -1
  55. package/lib/test/fixtures/getDpnsContractFixture.js +0 -1
  56. package/lib/test/fixtures/getDpnsDocumentFixture.js +0 -1
  57. package/lib/test/fixtures/getFeatureFlagsContractFixture.js +0 -1
  58. package/lib/test/fixtures/getFeatureFlagsDocumentsFixture.js +0 -1
  59. package/lib/test/fixtures/getIdentityTopUpTransitionFixtureJs.js +0 -1
  60. package/lib/test/fixtures/getMasternodeRewardShareDocumentsFixture.js +0 -1
  61. package/lib/test/fixtures/getMasternodeRewardSharesContractFixture.js +0 -1
  62. package/lib/test/fixtures/getPreorderDocumentFixture.js +0 -1
  63. package/lib/test/fixtures/getRawTransactionFixture.js +0 -1
  64. package/lib/test/fixtures/js/generateRandomIdentifier.js +0 -1
  65. package/lib/test/fixtures/js/getChainAssetLockProofFixture.js +0 -1
  66. package/lib/test/fixtures/js/getDataContractFixture.js +0 -1
  67. package/lib/test/fixtures/js/getDocumentTransitionsFixture.js +0 -1
  68. package/lib/test/fixtures/js/getDocumentsFixture.js +0 -1
  69. package/lib/test/fixtures/js/getInstantAssetLockProofFixture.js +0 -1
  70. package/test/integration/DashPlatformProtocol.spec.js +0 -53
  71. package/test/integration/document/stateTransition/DocumentsBatchTransition/validation/state/executeDataTriggersFactory.spec.js +0 -195
  72. package/test/integration/stateTransition/AbstractStateTransitionIdentitySigned.spec.js +0 -500
  73. package/test/integration/stateTransition/calculateStateTransitionFeeFromOperationsFactory.spec.js +0 -53
  74. package/test/unit/dataContract/getBinaryPropertiesFromSchema.spec.js +0 -103
  75. package/test/unit/dataContract/getPropertyDefinitionByPath.spec.js +0 -84
  76. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/applyDataContractCreateTransitionFactory.spec.js +0 -45
  77. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/applyDataContractUpdateTransitionFactory.spec.js +0 -49
  78. package/test/unit/dataTrigger/DataTrigger.spec.js +0 -132
  79. package/test/unit/dataTrigger/DataTriggerExecutionContext.spec.js +0 -29
  80. package/test/unit/dataTrigger/dashpayDataTriggers/createContactRequestDataTrigger.spec.js +0 -107
  81. package/test/unit/dataTrigger/dpnsTriggers/createDomainDataTrigger.spec.js +0 -382
  82. package/test/unit/dataTrigger/featureFlagDataTriggers/createFeatureFlagDataTrigger.spec.js +0 -99
  83. package/test/unit/dataTrigger/getDataTriggersFactory.spec.js +0 -113
  84. package/test/unit/dataTrigger/rejectDataTrigger.spec.js +0 -51
  85. package/test/unit/dataTrigger/rewardShareDataTriggers/createMasternodeRewardSharesDataTrigger.spec.js +0 -202
  86. package/test/unit/document/stateTransition/DocumetsBatchTransition/applyDocumentsBatchTransitionFactory.spec.js +0 -256
  87. package/test/unit/document/stateTransition/DocumetsBatchTransition/validation/state/fetchDocumentsFactory.spec.js +0 -94
  88. package/test/unit/errors/consensus/codes.spec.js +0 -102
  89. package/test/unit/identity/creditsConverter.spec.js +0 -34
  90. package/test/unit/identity/stateTransition/IdentityCreateTransition/applyIdentityCreateTransitionFactory.spec.js +0 -83
  91. package/test/unit/identity/stateTransition/IdentityTopUpTransition/applyIdentityTopUpTransitionFactory.spec.js +0 -138
  92. package/test/unit/identity/stateTransition/IdentityUpdateTransition/applyIdentityUpdateTransitionFactory.spec.js +0 -100
  93. package/test/unit/identity/stateTransition/assetLockProof/createAssetLockProofInstance.spec.js +0 -36
  94. package/test/unit/identity/stateTransition/assetLockProof/fetchAssetLockPublicKeyHashFactory.spec.js +0 -63
  95. package/test/unit/identity/validation/validateRequiredPurposeAndSecurityLevelFactory.spec.js +0 -47
@@ -1,137 +1,135 @@
1
- const DocumentJs = require('@dashevo/dpp/lib/document/Document');
2
-
3
- const { generate: generateEntropy } = require('@dashevo/dpp/lib/util/entropyGenerator');
4
- const getDataContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
5
- const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture');
6
- const getDocumentTransitionsFixture = require('../../../../../../../lib/test/fixtures/getDocumentTransitionsFixture');
7
-
8
- const { default: loadWasmDpp } = require('../../../../../../../dist');
9
-
10
- let DataContract;
11
- let Identifier;
12
- let findDuplicatesByIndices;
1
+ /* eslint-disable */
2
+ // const getDataContractFixture = require('../../../../../../../lib/test/fixtures/getDataContractFixture');
3
+ // const getDocumentsFixture = require('../../../../../../../lib/test/fixtures/getDocumentsFixture');
4
+ // const getDocumentTransitionsFixture = require('../../../../../../../lib/test/fixtures/getDocumentTransitionsFixture');
5
+ //
6
+ // const { default: loadWasmDpp } = require('../../../../../../../dist');
7
+ //
8
+ // let DataContract;
9
+ // let Identifier;
10
+ // let findDuplicatesByIndices;
13
11
 
14
12
  describe.skip('findDuplicatesByIndices', () => {
15
- let documents;
16
- let contractJs;
17
- let contract;
18
- let documentTransitions;
19
-
20
- beforeEach(async () => {
21
- ({
22
- DataContract,
23
- findDuplicatesByIndices,
24
- Identifier,
25
- } = await loadWasmDpp());
26
- contractJs = getDataContractFixture();
27
- contractJs.setDocumentSchema('nonUniqueIndexDocument', {
28
- indices: [
29
- {
30
- name: 'lastName',
31
- properties: [
32
- { lastName: 'asc' },
33
- ],
34
- unique: false,
35
- },
36
- ],
37
- properties: {
38
- firstName: {
39
- type: 'string',
40
- },
41
- lastName: {
42
- type: 'string',
43
- },
44
- },
45
- required: ['lastName'],
46
- additionalProperties: false,
47
- });
48
-
49
- contractJs.setDocumentSchema('singleDocument', {
50
- indices: [
51
- {
52
- name: 'ownerIdLastName',
53
- properties: [
54
- { $ownerId: 'asc' },
55
- { lastName: 'asc' },
56
- ],
57
- unique: true,
58
- },
59
- ],
60
- properties: {
61
- firstName: {
62
- type: 'string',
63
- },
64
- lastName: {
65
- type: 'string',
66
- },
67
- },
68
- required: ['lastName'],
69
- additionalProperties: false,
70
- });
71
-
72
- contract = DataContract.fromBuffer(contractJs.toBuffer());
73
-
74
- documents = getDocumentsFixture(contractJs);
75
- documents.forEach((doc) => {
76
- // eslint-disable-next-line no-param-reassign
77
- doc.dataContract = contractJs;
78
- // eslint-disable-next-line no-param-reassign
79
- doc.dataContractId = contractJs.getId();
80
- });
81
-
82
- const [, , , william] = documents;
83
-
84
- let document = new DocumentJs({
85
- ...william.toObject(),
86
- $type: 'nonUniqueIndexDocument',
87
- $entropy: generateEntropy(),
88
- }, contractJs);
89
-
90
- document.setEntropy(generateEntropy());
91
-
92
- documents.push(document);
93
-
94
- document = new DocumentJs({
95
- ...william.toObject(),
96
- $type: 'singleDocument',
97
- $entropy: generateEntropy(),
98
- }, contractJs);
99
-
100
- document.setEntropy(generateEntropy());
101
-
102
- documents.push(document);
103
-
104
- documentTransitions = getDocumentTransitionsFixture({
105
- create: documents,
106
- }).map((t) => t.toObject());
107
- });
108
-
109
- it('should return duplicate documents if they are present - Rust', () => {
110
- const [, , , , leon] = documents;
111
-
112
- leon.set('lastName', 'Birkin');
113
- const ownerId = Identifier.from(leon.ownerId);
114
-
115
- documentTransitions = getDocumentTransitionsFixture({
116
- create: documents,
117
- }).map((t) => t.toObject());
118
-
119
- const duplicates = findDuplicatesByIndices(documentTransitions, contract, ownerId);
120
-
121
- expect(duplicates.length).to.equal(2);
122
- expect(duplicates).to.have.deep.members(
123
- [
124
- documentTransitions[3],
125
- documentTransitions[4],
126
- ],
127
- );
128
- });
129
-
130
- it('should return an empty array of there are no duplicates - Rust', () => {
131
- const [, , , , leon] = documents;
132
- const ownerId = Identifier.from(leon.ownerId);
133
- const duplicates = findDuplicatesByIndices(documentTransitions, contract, ownerId);
134
-
135
- expect(duplicates.length).to.equal(0);
136
- });
13
+ // let documents;
14
+ // let contractJs;
15
+ // let contract;
16
+ // let documentTransitions;
17
+ //
18
+ // beforeEach(async () => {
19
+ // ({
20
+ // DataContract,
21
+ // findDuplicatesByIndices,
22
+ // Identifier,
23
+ // } = await loadWasmDpp());
24
+ // contractJs = getDataContractFixture();
25
+ // contractJs.setDocumentSchema('nonUniqueIndexDocument', {
26
+ // indices: [
27
+ // {
28
+ // name: 'lastName',
29
+ // properties: [
30
+ // { lastName: 'asc' },
31
+ // ],
32
+ // unique: false,
33
+ // },
34
+ // ],
35
+ // properties: {
36
+ // firstName: {
37
+ // type: 'string',
38
+ // },
39
+ // lastName: {
40
+ // type: 'string',
41
+ // },
42
+ // },
43
+ // required: ['lastName'],
44
+ // additionalProperties: false,
45
+ // });
46
+ //
47
+ // contractJs.setDocumentSchema('singleDocument', {
48
+ // indices: [
49
+ // {
50
+ // name: 'ownerIdLastName',
51
+ // properties: [
52
+ // { $ownerId: 'asc' },
53
+ // { lastName: 'asc' },
54
+ // ],
55
+ // unique: true,
56
+ // },
57
+ // ],
58
+ // properties: {
59
+ // firstName: {
60
+ // type: 'string',
61
+ // },
62
+ // lastName: {
63
+ // type: 'string',
64
+ // },
65
+ // },
66
+ // required: ['lastName'],
67
+ // additionalProperties: false,
68
+ // });
69
+ //
70
+ // contract = DataContract.fromBuffer(contractJs.toBuffer());
71
+ //
72
+ // documents = getDocumentsFixture(contractJs);
73
+ // documents.forEach((doc) => {
74
+ // // eslint-disable-next-line no-param-reassign
75
+ // doc.dataContract = contractJs;
76
+ // // eslint-disable-next-line no-param-reassign
77
+ // doc.dataContractId = contractJs.getId();
78
+ // });
79
+ //
80
+ // const [, , , william] = documents;
81
+ //
82
+ // let document = new DocumentJs({
83
+ // ...william.toObject(),
84
+ // $type: 'nonUniqueIndexDocument',
85
+ // $entropy: generateEntropy(),
86
+ // }, contractJs);
87
+ //
88
+ // document.setEntropy(generateEntropy());
89
+ //
90
+ // documents.push(document);
91
+ //
92
+ // document = new DocumentJs({
93
+ // ...william.toObject(),
94
+ // $type: 'singleDocument',
95
+ // $entropy: generateEntropy(),
96
+ // }, contractJs);
97
+ //
98
+ // document.setEntropy(generateEntropy());
99
+ //
100
+ // documents.push(document);
101
+ //
102
+ // documentTransitions = getDocumentTransitionsFixture({
103
+ // create: documents,
104
+ // }).map((t) => t.toObject());
105
+ // });
106
+ //
107
+ // it('should return duplicate documents if they are present - Rust', () => {
108
+ // const [, , , , leon] = documents;
109
+ //
110
+ // leon.set('lastName', 'Birkin');
111
+ // const ownerId = Identifier.from(leon.ownerId);
112
+ //
113
+ // documentTransitions = getDocumentTransitionsFixture({
114
+ // create: documents,
115
+ // }).map((t) => t.toObject());
116
+ //
117
+ // const duplicates = findDuplicatesByIndices(documentTransitions, contract, ownerId);
118
+ //
119
+ // expect(duplicates.length).to.equal(2);
120
+ // expect(duplicates).to.have.deep.members(
121
+ // [
122
+ // documentTransitions[3],
123
+ // documentTransitions[4],
124
+ // ],
125
+ // );
126
+ // });
127
+ //
128
+ // it('should return an empty array of there are no duplicates - Rust', () => {
129
+ // const [, , , , leon] = documents;
130
+ // const ownerId = Identifier.from(leon.ownerId);
131
+ // const duplicates = findDuplicatesByIndices(documentTransitions, contract, ownerId);
132
+ //
133
+ // expect(duplicates.length).to.equal(0);
134
+ // });
137
135
  });
@@ -1,6 +1,6 @@
1
- const getDocumentsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentsFixture');
2
- const getContractFixture = require('@dashevo/dpp/lib/test/fixtures/getDataContractFixture');
3
- const getDocumentTransitionsFixture = require('@dashevo/dpp/lib/test/fixtures/getDocumentTransitionsFixture');
1
+ const getContractFixture = require('../../../../../../../lib/test/fixtures/getDataContractFixture');
2
+ const getDocumentTransitionsFixture = require('../../../../../../../lib/test/fixtures/getDocumentTransitionsFixture');
3
+ const getDocumentsFixture = require('../../../../../../../lib/test/fixtures/getDocumentsFixture');
4
4
 
5
5
  const { default: loadWasmDpp } = require('../../../../../../../dist');
6
6