@dashevo/wasm-dpp 1.8.0 → 2.0.0-rc.1

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/.eslintrc +3 -0
  2. package/Cargo.toml +10 -6
  3. package/README.md +1 -1
  4. package/dist/wasm/wasm_dpp.d.ts +2045 -1114
  5. package/dist/wasm/wasm_dpp.js +740 -222
  6. package/dist/wasm/wasm_dpp_bg.js +1 -1
  7. package/lib/test/fixtures/getIdentityCreditTransferTransitionFixture.js +1 -1
  8. package/lib/test/fixtures/getIdentityFixture.js +1 -1
  9. package/lib/wasm/wasm_dpp.d.ts +2045 -1114
  10. package/package.json +6 -6
  11. package/scripts/build-wasm.sh +1 -1
  12. package/src/data_contract/data_contract.rs +17 -24
  13. package/src/data_contract/mod.rs +1 -0
  14. package/src/data_contract/state_transition/data_contract_create_transition/mod.rs +21 -0
  15. package/src/data_contract/state_transition/data_contract_update_transition/mod.rs +25 -0
  16. package/src/data_contract/tokens.rs +60 -0
  17. package/src/data_contract_factory/mod.rs +1 -1
  18. package/src/document/document_facade.rs +3 -3
  19. package/src/document/errors/document_already_exists_error.rs +1 -1
  20. package/src/document/errors/document_not_provided_error.rs +1 -1
  21. package/src/document/errors/invalid_document_action_error.rs +2 -2
  22. package/src/document/extended_document.rs +3 -5
  23. package/src/document/factory.rs +25 -10
  24. package/src/document/mod.rs +6 -8
  25. package/src/document/state_transition/batch_transition/batched_transition/mod.rs +18 -0
  26. package/src/document/state_transition/{document_batch_transition → batch_transition}/document_transition/document_create_transition.rs +45 -3
  27. package/src/document/state_transition/{document_batch_transition → batch_transition}/document_transition/document_delete_transition.rs +23 -4
  28. package/src/document/state_transition/{document_batch_transition → batch_transition}/document_transition/document_replace_transition.rs +24 -5
  29. package/src/document/state_transition/{document_batch_transition → batch_transition}/document_transition/mod.rs +97 -14
  30. package/src/document/state_transition/{document_batch_transition → batch_transition}/mod.rs +44 -29
  31. package/src/document/state_transition/batch_transition/token_transition/burn.rs +12 -0
  32. package/src/document/state_transition/batch_transition/token_transition/claim.rs +12 -0
  33. package/src/document/state_transition/batch_transition/token_transition/config.rs +12 -0
  34. package/src/document/state_transition/batch_transition/token_transition/destroy.rs +22 -0
  35. package/src/document/state_transition/batch_transition/token_transition/direct_purchase.rs +12 -0
  36. package/src/document/state_transition/batch_transition/token_transition/emergency_action.rs +12 -0
  37. package/src/document/state_transition/batch_transition/token_transition/freeze.rs +22 -0
  38. package/src/document/state_transition/batch_transition/token_transition/mint.rs +31 -0
  39. package/src/document/state_transition/batch_transition/token_transition/mod.rs +154 -0
  40. package/src/document/state_transition/batch_transition/token_transition/set_price_for_direct_purchase.rs +14 -0
  41. package/src/document/state_transition/batch_transition/token_transition/transfer.rs +22 -0
  42. package/src/document/state_transition/batch_transition/token_transition/unfreeze.rs +22 -0
  43. package/src/document/state_transition/mod.rs +1 -1
  44. package/src/errors/consensus/basic/identity/identity_insufficient_balance_error.rs +2 -2
  45. package/src/errors/consensus/basic/state_transition/missing_state_transition_type_error.rs +6 -0
  46. package/src/errors/consensus/consensus_error.rs +212 -1
  47. package/src/errors/consensus/fee/balance_is_not_enough_error.rs +4 -4
  48. package/src/errors/consensus/state/identity/invalid_identity_contract_nonce_error.rs +1 -1
  49. package/src/errors/value_error.rs +1 -0
  50. package/src/identity/identity.rs +14 -14
  51. package/src/identity/mod.rs +1 -0
  52. package/src/identity/state_transition/identity_create_transition/mod.rs +2 -2
  53. package/src/identity/state_transition/identity_create_transition/{identity_create_transition.rs → transition.rs} +10 -0
  54. package/src/identity/state_transition/identity_credit_transfer_transition/transition.rs +31 -6
  55. package/src/identity/state_transition/identity_credit_withdrawal_transition/transition.rs +15 -0
  56. package/src/identity/state_transition/identity_public_key_transitions.rs +2 -2
  57. package/src/identity/state_transition/identity_topup_transition/mod.rs +2 -2
  58. package/src/identity/state_transition/identity_topup_transition/{identity_topup_transition.rs → transition.rs} +10 -0
  59. package/src/identity/state_transition/identity_update_transition/mod.rs +2 -2
  60. package/src/identity/state_transition/identity_update_transition/to_object.rs +2 -2
  61. package/src/identity/state_transition/identity_update_transition/{identity_update_transition.rs → transition.rs} +29 -4
  62. package/src/identity/state_transition/transition_types.rs +1 -1
  63. package/src/metadata.rs +16 -27
  64. package/src/state_transition/state_transition_factory.rs +2 -4
  65. package/src/utils.rs +4 -2
  66. package/src/voting/state_transition/masternode_vote_transition/mod.rs +75 -50
  67. package/src/voting/state_transition/masternode_vote_transition/to_object.rs +1 -0
  68. package/test/integration/document/Document.spec.js +2 -7
  69. package/test/integration/document/DocumentFacade.spec.js +4 -4
  70. package/test/integration/identity/IdentityFacade.spec.js +5 -10
  71. package/test/integration/identity/stateTransition/IdentityUpdateTransition/validation/state/validateIdentityUpdateTransitionStateFactory.spec.js +4 -4
  72. package/test/integration/identity/stateTransition/assetLockProof/chain/validateChainAssetLockProofStructureFactory.spec.js +3 -3
  73. package/test/integration/identity/stateTransition/assetLockProof/fetchAssetLockTransactionOutputFactory.spec.js +1 -1
  74. package/test/integration/stateTransition/StateTransitionFacade.spec.js +3 -3
  75. package/test/unit/Metadata.spec.js +8 -23
  76. package/test/unit/dataContract/DataContract.spec.js +1 -18
  77. package/test/unit/dataContract/stateTransition/DataContractCreateTransition/DataContractCreateTransition.spec.js +1 -1
  78. package/test/unit/dataContract/stateTransition/DataContractUpdateTransition/DataContractUpdateTransition.spec.js +1 -1
  79. package/test/unit/document/Document.spec.js +4 -7
  80. package/test/unit/document/DocumentFactory.spec.js +2 -2
  81. package/test/unit/identity/Identity.spec.js +15 -35
  82. package/test/unit/identity/IdentityFactory.spec.js +3 -3
  83. package/test/unit/identity/stateTransition/IdentityUpdateTransition/IdentityUpdateTransition.spec.js +2 -2
  84. package/test/unit/identity/stateTransition/identityCreditTransferTransition/identityCreditTransferTransition.spec.js +1 -1
  85. /package/src/data_contract_factory/{data_contract_factory.rs → factory.rs} +0 -0
  86. /package/src/document/state_transition/{document_batch_transition → batch_transition}/validation/basic/find_duplicates_by_id.rs +0 -0
  87. /package/src/document/state_transition/{document_batch_transition → batch_transition}/validation/basic/find_duplicates_by_indices.rs +0 -0
  88. /package/src/document/state_transition/{document_batch_transition → batch_transition}/validation/basic/mod.rs +0 -0
  89. /package/src/document/state_transition/{document_batch_transition → batch_transition}/validation/basic/validate_documents_batch_transition_basic.rs +0 -0
  90. /package/src/document/state_transition/{document_batch_transition → batch_transition}/validation/basic/validate_partial_compound_indices.rs +0 -0
  91. /package/src/document/state_transition/{document_batch_transition → batch_transition}/validation/mod.rs +0 -0
  92. /package/src/document/state_transition/{document_batch_transition → batch_transition}/validation/state/fetch_extended_documents.rs +0 -0
  93. /package/src/document/state_transition/{document_batch_transition → batch_transition}/validation/state/mod.rs +0 -0
  94. /package/src/document/state_transition/{document_batch_transition → batch_transition}/validation/state/validate_documents_batch_transitions_state.rs +0 -0
  95. /package/src/document/state_transition/{document_batch_transition → batch_transition}/validation/state/validate_documents_uniqueness_by_indices.rs +0 -0
@@ -22,21 +22,11 @@ describe('Identity', () => {
22
22
 
23
23
  rawIdentity = identity.toObject();
24
24
 
25
- metadataFixture = new Metadata({
26
- blockHeight: 42,
27
- coreChainLockedHeight: 0,
28
- timeMs: 100,
29
- protocolVersion: 2,
30
- });
25
+ metadataFixture = new Metadata(BigInt(42), 1, BigInt(100), 2);
31
26
 
32
27
  identity.setMetadata(metadataFixture);
33
28
 
34
- metadataFixture = new Metadata({
35
- blockHeight: 42,
36
- coreChainLockedHeight: 0,
37
- timeMs: 100,
38
- protocolVersion: 2,
39
- });
29
+ metadataFixture = new Metadata(BigInt(42), 1, BigInt(100), 2);
40
30
  });
41
31
 
42
32
  describe('#constructor', () => {
@@ -173,52 +163,42 @@ describe('Identity', () => {
173
163
 
174
164
  describe('#getBalance', () => {
175
165
  it('should return set identity balance', () => {
176
- identity.setBalance(42);
177
- expect(identity.getBalance()).to.equal(42);
166
+ identity.setBalance(BigInt(42));
167
+ expect(identity.getBalance()).to.equal(BigInt(42));
178
168
  });
179
169
  });
180
170
 
181
171
  describe('#setBalance', () => {
182
172
  it('should set identity balance', () => {
183
- identity.setBalance(42);
184
- expect(identity.getBalance()).to.equal(42);
173
+ identity.setBalance(BigInt(42));
174
+ expect(identity.getBalance()).to.equal(BigInt(42));
185
175
  });
186
176
  });
187
177
 
188
178
  describe('#increaseBalance', () => {
189
179
  it('should increase identity balance', () => {
190
- const result = identity.increaseBalance(42);
180
+ const result = identity.increaseBalance(BigInt(42));
191
181
 
192
- expect(result).to.equal(42);
193
- expect(identity.getBalance()).to.equal(42);
182
+ expect(result).to.equal(BigInt(42));
183
+ expect(identity.getBalance()).to.equal(BigInt(42));
194
184
  });
195
185
  });
196
186
 
197
187
  describe('#reduceBalance', () => {
198
188
  it('should reduce identity balance', () => {
199
- identity.setBalance(42);
189
+ identity.setBalance(BigInt(42));
200
190
 
201
- const result = identity.reduceBalance(2);
191
+ const result = identity.reduceBalance(BigInt(2));
202
192
 
203
- expect(result).to.equal(40);
204
- expect(identity.getBalance()).to.equal(40);
193
+ expect(result).to.equal(BigInt(40));
194
+ expect(identity.getBalance()).to.equal(BigInt(40));
205
195
  });
206
196
  });
207
197
 
208
198
  describe('#setMetadata', () => {
209
199
  it('should set metadata', () => {
210
- const otherMetadata = new Metadata({
211
- blockHeight: 43,
212
- coreChainLockedHeight: 1,
213
- timeMs: 100,
214
- protocolVersion: 2,
215
- });
216
- const expectedMetadata = new Metadata({
217
- blockHeight: 43,
218
- coreChainLockedHeight: 1,
219
- timeMs: 100,
220
- protocolVersion: 2,
221
- });
200
+ const otherMetadata = new Metadata(BigInt(43), 1, BigInt(100), 2);
201
+ const expectedMetadata = new Metadata(BigInt(43), 1, BigInt(100), 2);
222
202
 
223
203
  identity.setMetadata(otherMetadata);
224
204
 
@@ -29,7 +29,7 @@ describe('IdentityFactory', () => {
29
29
  factory = new IdentityFactory(3);
30
30
 
31
31
  identity = await getIdentityFixture(instantAssetLockProof.createIdentifier());
32
- identity.setBalance(0);
32
+ identity.setBalance(BigInt(0));
33
33
 
34
34
  fakeTime = this.sinon.useFakeTimers(new Date());
35
35
  });
@@ -179,7 +179,7 @@ describe('IdentityFactory', () => {
179
179
  describe('createChainAssetLockProof', () => {
180
180
  it('should create IdentityCreateTransition from Identity model', async () => {
181
181
  identity = await getIdentityFixture(chainAssetLockProof.createIdentifier());
182
- identity.setBalance(0);
182
+ identity.setBalance(BigInt(0));
183
183
 
184
184
  const stateTransition = factory.createIdentityCreateTransition(
185
185
  identity,
@@ -226,7 +226,7 @@ describe('IdentityFactory', () => {
226
226
 
227
227
  describe('createIdentityUpdateTransition', () => {
228
228
  it('should create IdentityUpdateTransition', () => {
229
- const revision = 1;
229
+ const revision = BigInt(1);
230
230
  const disablePublicKeys = [identity.getPublicKeyById(0)];
231
231
  const key = new IdentityPublicKeyWithWitness(1);
232
232
  key.setData(Buffer.from('AuryIuMtRrl/VviQuyLD1l4nmxi9ogPzC9LT7tdpo0di', 'base64'));
@@ -45,9 +45,9 @@ describe('IdentityUpdateTransition', () => {
45
45
 
46
46
  describe('#setRevision', () => {
47
47
  it('should set revision', () => {
48
- stateTransition.setRevision(42);
48
+ stateTransition.setRevision(BigInt(42));
49
49
 
50
- expect(stateTransition.getRevision()).to.equal(42);
50
+ expect(stateTransition.getRevision()).to.equal(BigInt(42));
51
51
  });
52
52
  });
53
53
 
@@ -24,7 +24,7 @@ describe('IdentityCreditTransferTransition', () => {
24
24
  );
25
25
 
26
26
  expect(stateTransition.getAmount()).to.be.equal(
27
- rawStateTransition.amount,
27
+ BigInt(rawStateTransition.amount),
28
28
  );
29
29
  });
30
30
  });