pshenmic-dpp 1.0.4 → 1.0.6

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 (152) hide show
  1. package/.github/workflows/build.yml +9 -1
  2. package/.github/workflows/publish.yml +9 -1
  3. package/Cargo.lock +222 -76
  4. package/Cargo.toml +28 -19
  5. package/README.md +75 -23
  6. package/babel.config.json +19 -0
  7. package/dist/wasm/index.d.ts +52 -0
  8. package/dist/wasm/pshenmic_dpp.d.ts +962 -0
  9. package/dist/wasm/pshenmic_dpp.js +5565 -966
  10. package/dist/wasm/pshenmic_dpp_bg.js +1 -1
  11. package/dist/wasm/pshenmic_dpp_bg.wasm.d.ts +440 -0
  12. package/docs/AssetLockProof.md +107 -0
  13. package/docs/Building.md +50 -0
  14. package/docs/ChainLockProof.md +63 -0
  15. package/docs/CoreScript.md +17 -0
  16. package/docs/DataContract.md +192 -0
  17. package/docs/DataContractCreateTransition.md +84 -0
  18. package/docs/DataContractUpdateTransition.md +84 -0
  19. package/docs/Document.md +396 -0
  20. package/docs/DocumentBaseTransition.md +111 -0
  21. package/docs/DocumentCreateTransition.md +132 -0
  22. package/docs/DocumentDeleteTransition.md +82 -0
  23. package/docs/DocumentPurchaseTransition.md +109 -0
  24. package/docs/DocumentReplaceTransition.md +112 -0
  25. package/docs/DocumentTransferTransition.md +96 -0
  26. package/docs/DocumentTransition.md +125 -0
  27. package/docs/DocumentUpdatePriceTransition.md +109 -0
  28. package/docs/DocumentsBatch.md +133 -0
  29. package/docs/Enums.md +103 -0
  30. package/docs/Home.md +28 -0
  31. package/docs/Identifier.md +37 -0
  32. package/docs/Identity.md +140 -0
  33. package/docs/IdentityCreateTransition.md +155 -0
  34. package/docs/IdentityCreditTransfer.md +187 -0
  35. package/docs/IdentityCreditWithdrawalTransition.md +244 -0
  36. package/docs/IdentityPublicKey.md +348 -0
  37. package/docs/IdentityPublicKeyInCreation.md +141 -0
  38. package/docs/IdentityTopUpTransition.md +166 -0
  39. package/docs/IdentityUpdateTransition.md +234 -0
  40. package/docs/InstantAssetLockProof.md +117 -0
  41. package/docs/InstantLock.md +100 -0
  42. package/docs/OutPoint.md +80 -0
  43. package/docs/PrefundedVotingBalance.md +48 -0
  44. package/docs/PrivateKey.md +112 -0
  45. package/docs/TxOut.md +93 -0
  46. package/package.json +15 -8
  47. package/packages/asset_lock_proof/Cargo.toml +19 -0
  48. package/packages/asset_lock_proof/src/chain/mod.rs +79 -0
  49. package/packages/asset_lock_proof/src/instant/instant_lock.rs +111 -0
  50. package/packages/asset_lock_proof/src/instant/mod.rs +115 -0
  51. package/packages/asset_lock_proof/src/lib.rs +133 -0
  52. package/packages/asset_lock_proof/src/outpoint/mod.rs +79 -0
  53. package/packages/asset_lock_proof/src/tx_out/mod.rs +80 -0
  54. package/packages/cbor_conversation/Cargo.toml +2 -2
  55. package/packages/core_script/Cargo.toml +13 -0
  56. package/packages/core_script/src/lib.rs +69 -0
  57. package/packages/data_contract/Cargo.toml +4 -3
  58. package/packages/data_contract/src/lib.rs +209 -33
  59. package/packages/data_contract_transitions/Cargo.toml +2 -2
  60. package/packages/data_contract_transitions/src/create/mod.rs +23 -16
  61. package/packages/data_contract_transitions/src/update/mod.rs +21 -12
  62. package/packages/document/Cargo.toml +3 -2
  63. package/packages/document/src/lib.rs +14 -13
  64. package/packages/document/src/methods/mod.rs +373 -2
  65. package/packages/{document_batch → documents_batch}/Cargo.toml +7 -4
  66. package/packages/documents_batch/src/document_base_transition/mod.rs +88 -0
  67. package/packages/documents_batch/src/document_transition/mod.rs +166 -0
  68. package/packages/documents_batch/src/generators.rs +122 -0
  69. package/packages/documents_batch/src/lib.rs +195 -0
  70. package/packages/documents_batch/src/prefunded_voting_balance/mod.rs +45 -0
  71. package/packages/documents_batch/src/transitions/create/mod.rs +126 -0
  72. package/packages/documents_batch/src/transitions/delete/mod.rs +67 -0
  73. package/packages/documents_batch/src/transitions/mod.rs +6 -0
  74. package/packages/documents_batch/src/transitions/purchase/mod.rs +91 -0
  75. package/packages/documents_batch/src/transitions/replace/mod.rs +93 -0
  76. package/packages/documents_batch/src/transitions/transfer/mod.rs +84 -0
  77. package/packages/documents_batch/src/transitions/update_price/mod.rs +75 -0
  78. package/packages/enums/Cargo.toml +4 -4
  79. package/packages/enums/src/batch/batch_enum.rs +75 -10
  80. package/packages/enums/src/keys/key_type.rs +46 -0
  81. package/packages/enums/src/keys/purpose.rs +55 -0
  82. package/packages/enums/src/keys/security_level.rs +46 -0
  83. package/packages/enums/src/lib.rs +3 -0
  84. package/packages/enums/src/lock_types/mod.rs +65 -0
  85. package/packages/enums/src/network/mod.rs +67 -0
  86. package/packages/enums/src/platform/mod.rs +68 -8
  87. package/packages/enums/src/withdrawal/mod.rs +72 -0
  88. package/packages/identifier/Cargo.toml +9 -0
  89. package/packages/identifier/src/lib.rs +105 -0
  90. package/packages/identity/Cargo.toml +5 -5
  91. package/packages/identity/src/lib.rs +31 -25
  92. package/packages/{public_key → identity_public_key}/Cargo.toml +2 -2
  93. package/packages/{public_key → identity_public_key}/src/lib.rs +74 -27
  94. package/packages/identity_transitions/Cargo.toml +8 -4
  95. package/packages/identity_transitions/src/create_transition/mod.rs +102 -37
  96. package/packages/identity_transitions/src/credit_withdrawal_transition/mod.rs +212 -0
  97. package/packages/identity_transitions/src/identity_credit_transfer_transition/mod.rs +169 -0
  98. package/packages/identity_transitions/src/lib.rs +6 -1
  99. package/packages/identity_transitions/src/public_key_in_creation/mod.rs +197 -0
  100. package/packages/identity_transitions/src/top_up_transition/mod.rs +141 -0
  101. package/packages/identity_transitions/src/update_transition/mod.rs +213 -0
  102. package/packages/mock_bls/Cargo.toml +1 -1
  103. package/packages/private_key/Cargo.toml +4 -3
  104. package/packages/private_key/src/lib.rs +44 -6
  105. package/packages/state_transition/Cargo.toml +6 -4
  106. package/packages/state_transition/src/lib.rs +102 -36
  107. package/packages/utils/Cargo.toml +3 -4
  108. package/packages/utils/src/lib.rs +17 -18
  109. package/scripts/build-js.sh +22 -5
  110. package/scripts/build.sh +27 -2
  111. package/src/lib.rs +8 -1
  112. package/tests/AssetLockProof.spec.js +80 -0
  113. package/tests/ChainLockProof.spec.js +69 -0
  114. package/tests/CoreScript.spec.js +37 -0
  115. package/tests/DataContract.spec.js +178 -0
  116. package/tests/DataContractCreateStateTransition.spec.js +109 -0
  117. package/tests/DataContractUpdateStateTransition.spec.js +109 -0
  118. package/tests/Document.spec.js +238 -0
  119. package/tests/DocumentBatchTransition.spec.js +109 -0
  120. package/tests/DocumentTransition.spec.js +97 -0
  121. package/tests/DocumentsTransitions.spec.js +705 -0
  122. package/tests/Identifier.spec.js +84 -0
  123. package/tests/Identity.spec.js +113 -0
  124. package/tests/IdentityCreateTransition.spec.js +93 -0
  125. package/tests/IdentityCreditTransferTransition.spec.js +146 -0
  126. package/tests/IdentityCreditWithdrawalTransition.spec.js +192 -0
  127. package/tests/IdentityPublicKey.spec.js +132 -0
  128. package/tests/IdentityTopUpTransition.spec.js +131 -0
  129. package/tests/IdentityUpdateTransition.spec.js +147 -0
  130. package/tests/InstantLockProof.spec.js +97 -0
  131. package/tests/OutPoint.spec.js +55 -0
  132. package/tests/PrivateKey.spec.js +73 -0
  133. package/tests/PublicKeyInCreation.spec.js +258 -0
  134. package/tests/TxOut.spec.js +76 -0
  135. package/tests/mocks/DataContract/DataContract.json +153 -0
  136. package/tests/mocks/DataContract/index.js +6 -0
  137. package/tests/mocks/Document/DataContract.json +23 -0
  138. package/tests/mocks/Document/document.json +3 -0
  139. package/tests/mocks/Document/document2.json +3 -0
  140. package/tests/mocks/Document/index.js +11 -0
  141. package/tests/mocks/Identity/index.js +7 -0
  142. package/tests/mocks/Locks/index.js +5 -0
  143. package/tests/mocks/PrivateKey/index.js +5 -0
  144. package/tests/mocks/PublicKey/index.js +14 -0
  145. package/tests/utils/hex.js +15 -0
  146. package/tests/utils/wasm.js +14 -0
  147. package/typings/index.d.ts +52 -0
  148. package/packages/document/src/methods/js.rs +0 -260
  149. package/packages/document/src/methods/rust.rs +0 -92
  150. package/packages/document_batch/src/generators.rs +0 -63
  151. package/packages/document_batch/src/lib.rs +0 -228
  152. package/packages/identity_transitions/src/create_transition/public_key_in_creation/mod.rs +0 -146
@@ -0,0 +1,109 @@
1
+ const assert = require('assert')
2
+ const { describe, it, before } = require('mocha')
3
+ const initWasm = require('./utils/wasm')
4
+ const { document, documentTypeName, revision, dataContractId, ownerId, id } = require('./mocks/Document')
5
+
6
+ let wasm
7
+
8
+ describe('DocumentsBatch', function () {
9
+ before(async function () {
10
+ wasm = initWasm()
11
+ })
12
+
13
+ describe('serialization / deserialization', function () {
14
+ it('should allow to create from transitions', function () {
15
+ const documentInstance = new wasm.DocumentWASM(document, documentTypeName, revision, dataContractId, ownerId, id)
16
+ const createTransition = new wasm.DocumentCreateTransitionWASM(documentInstance, BigInt(1), 'preorder')
17
+
18
+ const documentTransition = createTransition.toDocumentTransition()
19
+
20
+ const batchTransition = new wasm.DocumentsBatchWASM([documentTransition, documentTransition], documentInstance.getOwnerId(), 1)
21
+
22
+ assert.notEqual(documentInstance.__wbg_ptr, 0)
23
+ assert.notEqual(createTransition.__wbg_ptr, 0)
24
+ assert.notEqual(documentTransition.__wbg_ptr, 0)
25
+ assert.notEqual(batchTransition.__wbg_ptr, 0)
26
+ })
27
+ })
28
+
29
+ describe('getters', function () {
30
+ it('should allow to get transitions', function () {
31
+ const documentInstance = new wasm.DocumentWASM(document, documentTypeName, revision, dataContractId, ownerId, id)
32
+ const createTransition = new wasm.DocumentCreateTransitionWASM(documentInstance, BigInt(1), 'preorder')
33
+
34
+ const documentTransition = createTransition.toDocumentTransition()
35
+
36
+ const batchTransition = new wasm.DocumentsBatchWASM([documentTransition, documentTransition], documentInstance.getOwnerId(), 1, 1)
37
+
38
+ assert.equal(batchTransition.transitions.length, 2)
39
+ })
40
+
41
+ it('should allow to get signature', function () {
42
+ const documentInstance = new wasm.DocumentWASM(document, documentTypeName, revision, dataContractId, ownerId, id)
43
+ const createTransition = new wasm.DocumentCreateTransitionWASM(documentInstance, BigInt(1), 'preorder')
44
+
45
+ const documentTransition = createTransition.toDocumentTransition()
46
+
47
+ const batchTransition = new wasm.DocumentsBatchWASM([documentTransition, documentTransition], documentInstance.getOwnerId(), 1, 1)
48
+
49
+ assert.deepEqual(batchTransition.signature, new Uint8Array(0))
50
+ })
51
+
52
+ it('should allow to get signature public key id', function () {
53
+ const documentInstance = new wasm.DocumentWASM(document, documentTypeName, revision, dataContractId, ownerId, id)
54
+ const createTransition = new wasm.DocumentCreateTransitionWASM(documentInstance, BigInt(1), 'preorder')
55
+
56
+ const documentTransition = createTransition.toDocumentTransition()
57
+
58
+ const batchTransition = new wasm.DocumentsBatchWASM([documentTransition, documentTransition], documentInstance.getOwnerId(), 1, 1)
59
+
60
+ assert.equal(batchTransition.signaturePublicKeyId, 1)
61
+ })
62
+
63
+ it('should allow to get all purchases amount', function () {
64
+ const documentInstance = new wasm.DocumentWASM(document, documentTypeName, revision, dataContractId, ownerId, id)
65
+ const createTransition = new wasm.DocumentCreateTransitionWASM(documentInstance, BigInt(1), 'preorder')
66
+ const purchaseTransition = new wasm.DocumentPurchaseTransitionWASM(documentInstance, BigInt(1), 'preorder', BigInt(100))
67
+
68
+ const documentTransition = createTransition.toDocumentTransition()
69
+ const documentTransition2 = purchaseTransition.toDocumentTransition()
70
+
71
+ const batchTransition = new wasm.DocumentsBatchWASM([documentTransition, documentTransition2], documentInstance.getOwnerId(), 1, 1)
72
+
73
+ assert.deepEqual(batchTransition.allPurchasesAmount, BigInt(100))
74
+ })
75
+
76
+ it('should allow to get owner id', function () {
77
+ const documentInstance = new wasm.DocumentWASM(document, documentTypeName, revision, dataContractId, ownerId, id)
78
+ const createTransition = new wasm.DocumentCreateTransitionWASM(documentInstance, BigInt(1), 'preorder')
79
+
80
+ const documentTransition = createTransition.toDocumentTransition()
81
+
82
+ const batchTransition = new wasm.DocumentsBatchWASM([documentTransition, documentTransition], documentInstance.getOwnerId(), 1, 1)
83
+
84
+ assert.deepEqual(batchTransition.ownerId.base58(), documentInstance.getOwnerId().base58())
85
+ })
86
+
87
+ it('should allow to get modified data ids', function () {
88
+ const documentInstance = new wasm.DocumentWASM(document, documentTypeName, revision, dataContractId, ownerId, id)
89
+ const createTransition = new wasm.DocumentCreateTransitionWASM(documentInstance, BigInt(1), 'preorder')
90
+
91
+ const documentTransition = createTransition.toDocumentTransition()
92
+
93
+ const batchTransition = new wasm.DocumentsBatchWASM([documentTransition, documentTransition], documentInstance.getOwnerId(), 1, 1)
94
+
95
+ assert.deepEqual(batchTransition.modifiedDataIds.map(id => id.base58()), [documentTransition.id.base58(), documentTransition.id.base58()])
96
+ })
97
+
98
+ it('should allow to get allConflictingIndexCollateralVotingFunds', function () {
99
+ const documentInstance = new wasm.DocumentWASM(document, documentTypeName, revision, dataContractId, ownerId, id)
100
+ const createTransition = new wasm.DocumentCreateTransitionWASM(documentInstance, BigInt(1), 'preorder')
101
+
102
+ const documentTransition = createTransition.toDocumentTransition()
103
+
104
+ const batchTransition = new wasm.DocumentsBatchWASM([documentTransition, documentTransition], documentInstance.getOwnerId(), 1, 1)
105
+
106
+ assert.deepEqual(batchTransition.allConflictingIndexCollateralVotingFunds, undefined)
107
+ })
108
+ })
109
+ })
@@ -0,0 +1,97 @@
1
+ const assert = require('assert')
2
+ const { describe, it, before } = require('mocha')
3
+ const initWasm = require('./utils/wasm')
4
+ const { document, documentTypeName, revision, dataContractId, ownerId, id } = require('./mocks/Document')
5
+
6
+ let wasm
7
+ let documentInstance
8
+ let createTransition
9
+ let replaceTransition
10
+
11
+ describe('DocumentTransition', function () {
12
+ before(async function () {
13
+ wasm = initWasm()
14
+
15
+ documentInstance = new wasm.DocumentWASM(document, documentTypeName, revision, dataContractId, ownerId, id)
16
+ createTransition = new wasm.DocumentCreateTransitionWASM(documentInstance, BigInt(1), 'note')
17
+ replaceTransition = new wasm.DocumentReplaceTransitionWASM(documentInstance, BigInt(1), 'preorder')
18
+ })
19
+
20
+ describe('serialization / deserialization', function () {
21
+ it('should allow to create from documents transitions', function () {
22
+ const documentTransition = createTransition.toDocumentTransition()
23
+
24
+ assert.notEqual(documentTransition.__wbg_ptr, 0)
25
+ })
26
+ })
27
+
28
+ describe('getters', function () {
29
+ it('should allow to get action type', function () {
30
+ const documentTransition = createTransition.toDocumentTransition()
31
+
32
+ assert.equal(documentTransition.actionType, 'create')
33
+ })
34
+
35
+ it('should allow to get dataContractId', function () {
36
+ const documentTransition = createTransition.toDocumentTransition()
37
+
38
+ assert.deepEqual(documentTransition.dataContractId.base58(), documentInstance.getDataContractId().base58())
39
+ })
40
+
41
+ it('should allow to get id', function () {
42
+ const documentTransition = createTransition.toDocumentTransition()
43
+
44
+ assert.deepEqual(documentTransition.id.base58(), documentInstance.getId().base58())
45
+ })
46
+
47
+ it('should allow to get documentTypeName', function () {
48
+ const documentTransition = createTransition.toDocumentTransition()
49
+
50
+ assert.equal(documentTransition.documentTypeName, documentTypeName)
51
+ })
52
+
53
+ it('should allow to get identityContractNonce', function () {
54
+ const documentTransition = createTransition.toDocumentTransition()
55
+
56
+ assert.equal(documentTransition.identityContractNonce, BigInt(1))
57
+ })
58
+
59
+ it('should allow to get revision', function () {
60
+ const documentTransition = createTransition.toDocumentTransition()
61
+
62
+ assert.equal(documentTransition.revision, BigInt(1))
63
+ })
64
+
65
+ it('should allow to get entropy', function () {
66
+ const documentTransition = createTransition.toDocumentTransition()
67
+
68
+ assert.deepEqual(documentTransition.entropy, documentInstance.getEntropy())
69
+ })
70
+ })
71
+
72
+ describe('setters', function () {
73
+ it('should allow to set dataContractId', function () {
74
+ const documentTransition = createTransition.toDocumentTransition()
75
+
76
+ documentTransition.dataContractId = new Uint8Array(32)
77
+
78
+ assert.deepEqual(documentTransition.dataContractId.bytes(), new Uint8Array(32))
79
+ })
80
+
81
+ it('should allow to set identityContractNonce', function () {
82
+ const documentTransition = createTransition.toDocumentTransition()
83
+
84
+ documentTransition.identityContractNonce = BigInt(3333)
85
+
86
+ assert.equal(documentTransition.identityContractNonce, BigInt(3333))
87
+ })
88
+
89
+ it('should allow to set revision', function () {
90
+ const documentTransition = replaceTransition.toDocumentTransition()
91
+
92
+ documentTransition.revision = BigInt(123)
93
+
94
+ assert.equal(documentTransition.revision, BigInt(123))
95
+ })
96
+ })
97
+ })