pshenmic-dpp 1.0.3 → 1.0.5

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 (83) hide show
  1. package/.github/workflows/build.yml +8 -0
  2. package/.github/workflows/publish.yml +8 -0
  3. package/Cargo.lock +89 -28
  4. package/Cargo.toml +22 -18
  5. package/README.md +66 -23
  6. package/babel.config.json +19 -0
  7. package/dist/wasm/pshenmic_dpp.js +2992 -402
  8. package/dist/wasm/pshenmic_dpp_bg.js +1 -1
  9. package/package.json +13 -6
  10. package/packages/{cbor-conversation → cbor_conversation}/Cargo.toml +1 -5
  11. package/packages/data_contract/Cargo.toml +3 -7
  12. package/packages/data_contract/src/lib.rs +234 -47
  13. package/packages/{document_batch → data_contract_transitions}/Cargo.toml +6 -14
  14. package/packages/data_contract_transitions/src/create/mod.rs +161 -0
  15. package/packages/data_contract_transitions/src/lib.rs +2 -0
  16. package/packages/data_contract_transitions/src/update/mod.rs +144 -0
  17. package/packages/document/Cargo.toml +2 -7
  18. package/packages/document/src/lib.rs +1 -1
  19. package/packages/document/src/methods/mod.rs +370 -2
  20. package/packages/documents_batch/Cargo.toml +19 -0
  21. package/packages/documents_batch/src/document_base_transition/mod.rs +92 -0
  22. package/packages/documents_batch/src/document_transition/mod.rs +166 -0
  23. package/packages/documents_batch/src/generators.rs +122 -0
  24. package/packages/documents_batch/src/lib.rs +188 -0
  25. package/packages/documents_batch/src/prefunded_voting_balance/mod.rs +45 -0
  26. package/packages/documents_batch/src/transitions/create/mod.rs +123 -0
  27. package/packages/documents_batch/src/transitions/delete/mod.rs +67 -0
  28. package/packages/documents_batch/src/transitions/mod.rs +6 -0
  29. package/packages/documents_batch/src/transitions/purchase/mod.rs +91 -0
  30. package/packages/documents_batch/src/transitions/replace/mod.rs +93 -0
  31. package/packages/documents_batch/src/transitions/transfer/mod.rs +86 -0
  32. package/packages/documents_batch/src/transitions/update_price/mod.rs +75 -0
  33. package/packages/enums/Cargo.toml +2 -5
  34. package/packages/enums/src/batch/batch_enum.rs +75 -10
  35. package/packages/enums/src/keys/key_type.rs +46 -0
  36. package/packages/enums/src/keys/purpose.rs +55 -0
  37. package/packages/enums/src/keys/security_level.rs +46 -0
  38. package/packages/enums/src/lib.rs +1 -0
  39. package/packages/enums/src/network/mod.rs +67 -0
  40. package/packages/enums/src/platform/mod.rs +66 -8
  41. package/packages/identity/Cargo.toml +2 -7
  42. package/packages/identity/src/lib.rs +25 -14
  43. package/packages/{public_key → identity_public_key}/Cargo.toml +2 -6
  44. package/packages/{public_key → identity_public_key}/src/lib.rs +74 -27
  45. package/packages/identity_transitions/Cargo.toml +3 -7
  46. package/packages/identity_transitions/src/create_transition/mod.rs +5 -3
  47. package/packages/identity_transitions/src/create_transition/public_key_in_creation/mod.rs +25 -21
  48. package/packages/mock_bls/Cargo.toml +2 -6
  49. package/packages/private_key/Cargo.toml +2 -5
  50. package/packages/private_key/src/lib.rs +44 -6
  51. package/packages/state_transition/Cargo.toml +4 -7
  52. package/packages/state_transition/src/lib.rs +106 -40
  53. package/packages/utils/Cargo.toml +1 -6
  54. package/packages/utils/src/lib.rs +17 -15
  55. package/scripts/build-js.sh +8 -6
  56. package/scripts/build.sh +22 -1
  57. package/src/lib.rs +8 -1
  58. package/tests/DataContract.spec.js +175 -0
  59. package/tests/DataContractCreateStateTransition.spec.js +109 -0
  60. package/tests/DataContractUpdateStateTransition.spec.js +109 -0
  61. package/tests/Document.spec.js +232 -0
  62. package/tests/DocumentBatchTransition.spec.js +109 -0
  63. package/tests/DocumentTransition.spec.js +97 -0
  64. package/tests/DocumentsTransitions.spec.js +705 -0
  65. package/tests/Identity.spec.js +113 -0
  66. package/tests/IdentityPublicKey.spec.js +132 -0
  67. package/tests/PrivateKey.spec.js +73 -0
  68. package/tests/mocks/DataContract/DataContract.json +153 -0
  69. package/tests/mocks/DataContract/index.js +6 -0
  70. package/tests/mocks/Document/DataContract.json +23 -0
  71. package/tests/mocks/Document/document.json +3 -0
  72. package/tests/mocks/Document/document2.json +3 -0
  73. package/tests/mocks/Document/index.js +11 -0
  74. package/tests/mocks/Identity/index.js +7 -0
  75. package/tests/mocks/PrivateKey/index.js +5 -0
  76. package/tests/mocks/PublicKey/index.js +14 -0
  77. package/tests/utils/hex.js +15 -0
  78. package/tests/utils/wasm.js +14 -0
  79. package/packages/document/src/methods/js.rs +0 -260
  80. package/packages/document/src/methods/rust.rs +0 -92
  81. package/packages/document_batch/src/generators.rs +0 -63
  82. package/packages/document_batch/src/lib.rs +0 -228
  83. /package/packages/{cbor-conversation → cbor_conversation}/src/lib.rs +0 -0
@@ -44,3 +44,11 @@ jobs:
44
44
  - name: Build JS bundle
45
45
  run: |
46
46
  yarn build:full
47
+
48
+ - name: Babel
49
+ run: |
50
+ yarn babel
51
+
52
+ - name: Run tests
53
+ run: |
54
+ yarn tests
@@ -36,6 +36,14 @@ jobs:
36
36
  run: |
37
37
  yarn build:full
38
38
 
39
+ - name: Babel
40
+ run: |
41
+ yarn babel
42
+
43
+ - name: Run tests
44
+ run: |
45
+ yarn tests
46
+
39
47
  - name: Publish package to NPM
40
48
  run: yarn publish
41
49
  env:
package/Cargo.lock CHANGED
@@ -19,7 +19,7 @@ version = "0.8.11"
19
19
  source = "registry+https://github.com/rust-lang/crates.io-index"
20
20
  checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
21
21
  dependencies = [
22
- "cfg-if",
22
+ "cfg-if 1.0.0",
23
23
  "once_cell",
24
24
  "version_check",
25
25
  "zerocopy 0.7.35",
@@ -363,6 +363,12 @@ dependencies = [
363
363
  "shlex",
364
364
  ]
365
365
 
366
+ [[package]]
367
+ name = "cfg-if"
368
+ version = "0.1.10"
369
+ source = "registry+https://github.com/rust-lang/crates.io-index"
370
+ checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
371
+
366
372
  [[package]]
367
373
  name = "cfg-if"
368
374
  version = "1.0.0"
@@ -741,7 +747,7 @@ version = "0.2.15"
741
747
  source = "registry+https://github.com/rust-lang/crates.io-index"
742
748
  checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
743
749
  dependencies = [
744
- "cfg-if",
750
+ "cfg-if 1.0.0",
745
751
  "js-sys",
746
752
  "libc",
747
753
  "wasi",
@@ -789,7 +795,7 @@ version = "2.5.0"
789
795
  source = "registry+https://github.com/rust-lang/crates.io-index"
790
796
  checksum = "7db2ff139bba50379da6aa0766b52fdcb62cb5b263009b09ed58ba604e14bbd1"
791
797
  dependencies = [
792
- "cfg-if",
798
+ "cfg-if 1.0.0",
793
799
  "crunchy",
794
800
  ]
795
801
 
@@ -1048,6 +1054,12 @@ version = "2.7.4"
1048
1054
  source = "registry+https://github.com/rust-lang/crates.io-index"
1049
1055
  checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
1050
1056
 
1057
+ [[package]]
1058
+ name = "memory_units"
1059
+ version = "0.4.0"
1060
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1061
+ checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3"
1062
+
1051
1063
  [[package]]
1052
1064
  name = "merlin"
1053
1065
  version = "3.0.0"
@@ -1320,24 +1332,25 @@ dependencies = [
1320
1332
 
1321
1333
  [[package]]
1322
1334
  name = "pshenmic-dpp"
1323
- version = "1.0.3"
1335
+ version = "1.0.5"
1324
1336
  dependencies = [
1325
- "bincode",
1326
- "bincode_derive",
1327
1337
  "pshenmic_dpp_data_contract",
1328
- "pshenmic_dpp_document_batch",
1338
+ "pshenmic_dpp_data_contract_transitions",
1329
1339
  "pshenmic_dpp_document_search",
1340
+ "pshenmic_dpp_documents_batch",
1330
1341
  "pshenmic_dpp_enums",
1331
1342
  "pshenmic_dpp_identity",
1332
1343
  "pshenmic_dpp_identity_transitions",
1333
1344
  "pshenmic_dpp_state_transition",
1345
+ "wee_alloc",
1334
1346
  ]
1335
1347
 
1336
1348
  [[package]]
1337
1349
  name = "pshenmic_dpp_data_contract"
1338
- version = "0.1.0"
1350
+ version = "1.0.5"
1339
1351
  dependencies = [
1340
1352
  "dpp",
1353
+ "js-sys",
1341
1354
  "pshenmic_dpp_enums",
1342
1355
  "pshenmic_dpp_utils",
1343
1356
  "serde-wasm-bindgen",
@@ -1345,32 +1358,32 @@ dependencies = [
1345
1358
  ]
1346
1359
 
1347
1360
  [[package]]
1348
- name = "pshenmic_dpp_document"
1349
- version = "0.1.0"
1361
+ name = "pshenmic_dpp_data_contract_transitions"
1362
+ version = "1.0.5"
1350
1363
  dependencies = [
1351
1364
  "dpp",
1352
1365
  "pshenmic_dpp_data_contract",
1353
1366
  "pshenmic_dpp_enums",
1367
+ "pshenmic_dpp_state_transition",
1354
1368
  "pshenmic_dpp_utils",
1355
- "serde-wasm-bindgen",
1356
1369
  "wasm-bindgen",
1357
1370
  ]
1358
1371
 
1359
1372
  [[package]]
1360
- name = "pshenmic_dpp_document_batch"
1361
- version = "0.1.0"
1373
+ name = "pshenmic_dpp_document"
1374
+ version = "1.0.5"
1362
1375
  dependencies = [
1363
1376
  "dpp",
1364
- "pshenmic_dpp_document",
1377
+ "pshenmic_dpp_data_contract",
1365
1378
  "pshenmic_dpp_enums",
1366
- "pshenmic_dpp_state_transition",
1367
1379
  "pshenmic_dpp_utils",
1380
+ "serde-wasm-bindgen",
1368
1381
  "wasm-bindgen",
1369
1382
  ]
1370
1383
 
1371
1384
  [[package]]
1372
1385
  name = "pshenmic_dpp_document_search"
1373
- version = "0.1.0"
1386
+ version = "1.0.5"
1374
1387
  dependencies = [
1375
1388
  "base64",
1376
1389
  "ciborium 0.2.2",
@@ -1380,9 +1393,23 @@ dependencies = [
1380
1393
  "wasm-bindgen",
1381
1394
  ]
1382
1395
 
1396
+ [[package]]
1397
+ name = "pshenmic_dpp_documents_batch"
1398
+ version = "1.0.5"
1399
+ dependencies = [
1400
+ "dpp",
1401
+ "js-sys",
1402
+ "pshenmic_dpp_document",
1403
+ "pshenmic_dpp_enums",
1404
+ "pshenmic_dpp_state_transition",
1405
+ "pshenmic_dpp_utils",
1406
+ "serde-wasm-bindgen",
1407
+ "wasm-bindgen",
1408
+ ]
1409
+
1383
1410
  [[package]]
1384
1411
  name = "pshenmic_dpp_enums"
1385
- version = "0.1.0"
1412
+ version = "1.0.5"
1386
1413
  dependencies = [
1387
1414
  "dpp",
1388
1415
  "wasm-bindgen",
@@ -1390,18 +1417,17 @@ dependencies = [
1390
1417
 
1391
1418
  [[package]]
1392
1419
  name = "pshenmic_dpp_identity"
1393
- version = "0.1.0"
1420
+ version = "1.0.5"
1394
1421
  dependencies = [
1395
1422
  "dpp",
1396
1423
  "pshenmic_dpp_public_key",
1397
1424
  "pshenmic_dpp_utils",
1398
- "serde-wasm-bindgen",
1399
1425
  "wasm-bindgen",
1400
1426
  ]
1401
1427
 
1402
1428
  [[package]]
1403
1429
  name = "pshenmic_dpp_identity_transitions"
1404
- version = "0.1.0"
1430
+ version = "1.0.5"
1405
1431
  dependencies = [
1406
1432
  "dpp",
1407
1433
  "pshenmic_dpp_enums",
@@ -1413,22 +1439,23 @@ dependencies = [
1413
1439
 
1414
1440
  [[package]]
1415
1441
  name = "pshenmic_dpp_mock_bls"
1416
- version = "0.1.0"
1442
+ version = "1.0.5"
1417
1443
  dependencies = [
1418
1444
  "dpp",
1419
1445
  ]
1420
1446
 
1421
1447
  [[package]]
1422
1448
  name = "pshenmic_dpp_private_key"
1423
- version = "0.1.0"
1449
+ version = "1.0.5"
1424
1450
  dependencies = [
1425
1451
  "dpp",
1452
+ "pshenmic_dpp_enums",
1426
1453
  "wasm-bindgen",
1427
1454
  ]
1428
1455
 
1429
1456
  [[package]]
1430
1457
  name = "pshenmic_dpp_public_key"
1431
- version = "0.1.0"
1458
+ version = "1.0.5"
1432
1459
  dependencies = [
1433
1460
  "dpp",
1434
1461
  "pshenmic_dpp_enums",
@@ -1438,7 +1465,7 @@ dependencies = [
1438
1465
 
1439
1466
  [[package]]
1440
1467
  name = "pshenmic_dpp_state_transition"
1441
- version = "0.1.0"
1468
+ version = "1.0.5"
1442
1469
  dependencies = [
1443
1470
  "dpp",
1444
1471
  "pshenmic_dpp_enums",
@@ -1446,16 +1473,16 @@ dependencies = [
1446
1473
  "pshenmic_dpp_private_key",
1447
1474
  "pshenmic_dpp_public_key",
1448
1475
  "pshenmic_dpp_utils",
1476
+ "sha2",
1449
1477
  "wasm-bindgen",
1450
1478
  ]
1451
1479
 
1452
1480
  [[package]]
1453
1481
  name = "pshenmic_dpp_utils"
1454
- version = "0.1.0"
1482
+ version = "1.0.5"
1455
1483
  dependencies = [
1456
1484
  "anyhow",
1457
1485
  "dpp",
1458
- "itertools",
1459
1486
  "js-sys",
1460
1487
  "serde",
1461
1488
  "serde-wasm-bindgen",
@@ -1768,7 +1795,7 @@ version = "0.10.8"
1768
1795
  source = "registry+https://github.com/rust-lang/crates.io-index"
1769
1796
  checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
1770
1797
  dependencies = [
1771
- "cfg-if",
1798
+ "cfg-if 1.0.0",
1772
1799
  "cpufeatures",
1773
1800
  "digest",
1774
1801
  ]
@@ -2072,7 +2099,7 @@ version = "0.2.100"
2072
2099
  source = "registry+https://github.com/rust-lang/crates.io-index"
2073
2100
  checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
2074
2101
  dependencies = [
2075
- "cfg-if",
2102
+ "cfg-if 1.0.0",
2076
2103
  "once_cell",
2077
2104
  "rustversion",
2078
2105
  "serde",
@@ -2126,6 +2153,40 @@ dependencies = [
2126
2153
  "unicode-ident",
2127
2154
  ]
2128
2155
 
2156
+ [[package]]
2157
+ name = "wee_alloc"
2158
+ version = "0.4.5"
2159
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2160
+ checksum = "dbb3b5a6b2bb17cb6ad44a2e68a43e8d2722c997da10e928665c72ec6c0a0b8e"
2161
+ dependencies = [
2162
+ "cfg-if 0.1.10",
2163
+ "libc",
2164
+ "memory_units",
2165
+ "winapi",
2166
+ ]
2167
+
2168
+ [[package]]
2169
+ name = "winapi"
2170
+ version = "0.3.9"
2171
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2172
+ checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
2173
+ dependencies = [
2174
+ "winapi-i686-pc-windows-gnu",
2175
+ "winapi-x86_64-pc-windows-gnu",
2176
+ ]
2177
+
2178
+ [[package]]
2179
+ name = "winapi-i686-pc-windows-gnu"
2180
+ version = "0.4.0"
2181
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2182
+ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
2183
+
2184
+ [[package]]
2185
+ name = "winapi-x86_64-pc-windows-gnu"
2186
+ version = "0.4.0"
2187
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2188
+ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
2189
+
2129
2190
  [[package]]
2130
2191
  name = "windows-core"
2131
2192
  version = "0.52.0"
package/Cargo.toml CHANGED
@@ -1,42 +1,46 @@
1
+ [package]
2
+ name = "pshenmic-dpp"
3
+ version = "1.0.5"
4
+ edition = "2024"
5
+ rust-version = "1.85"
6
+
1
7
  [workspace]
2
8
  resolver = "2"
3
9
  members = [
4
10
  "packages/document",
5
- "packages/document_batch",
6
- "packages/cbor-conversation",
11
+ "packages/documents_batch",
12
+ "packages/cbor_conversation",
7
13
  "packages/enums",
8
14
  "packages/mock_bls",
9
15
  "packages/private_key",
10
- "packages/public_key",
16
+ "packages/identity_public_key",
11
17
  "packages/utils",
12
18
  "packages/identity",
13
19
  "packages/identity_transitions",
14
20
  "packages/state_transition",
15
21
  "packages/data_contract"
16
- ]
22
+ , "packages/data_contract_transitions"]
23
+
24
+ [workspace.package]
25
+ version = "1.0.5"
17
26
 
18
27
  [lib]
19
28
  crate-type = ["cdylib", "lib"]
20
29
 
21
- [package]
22
- name = "pshenmic-dpp"
23
- version = "1.0.3"
24
- edition = "2024"
25
- rust-version = "1.85"
26
-
27
30
  [dependencies]
28
- bincode = { version = "=2.0.0-rc.3" }
29
- bincode_derive = { version = "=2.0.0-rc.3" }
30
- pshenmic_dpp_document_batch = { path = "packages/document_batch" }
31
- pshenmic_dpp_document_search = { path = "packages/cbor-conversation" }
31
+ wee_alloc = { version = "0.4.5", default-features = false }
32
+ pshenmic_dpp_documents_batch = { path = "packages/documents_batch" }
33
+ pshenmic_dpp_document_search = { path = "packages/cbor_conversation" }
32
34
  pshenmic_dpp_identity = { path = "packages/identity" }
33
35
  pshenmic_dpp_state_transition = { path = "packages/state_transition" }
34
36
  pshenmic_dpp_identity_transitions = { path = "packages/identity_transitions" }
35
- pshenmic_dpp_data_contract = {path = "packages/data_contract"}
36
- pshenmic_dpp_enums = {path = "packages/enums"}
37
+ pshenmic_dpp_data_contract = { path = "packages/data_contract" }
38
+ pshenmic_dpp_data_contract_transitions = { path = "packages/data_contract_transitions" }
39
+ pshenmic_dpp_enums = { path = "packages/enums" }
37
40
 
38
41
  [profile.release]
39
- lto = true
42
+ lto = "fat"
40
43
  opt-level = 'z'
41
- strip = true
44
+ strip = "symbols"
42
45
  codegen-units = 1
46
+ panic = "abort"
package/README.md CHANGED
@@ -1,26 +1,72 @@
1
1
  # PSHENMIC-DPP
2
+ ### **AT THIS MOMENT MODULE UNDER DEVELOPMENT**
2
3
 
3
-
4
+ ## General
5
+ Pshenmic-dpp is package with rust bindings for JS
4
6
 
5
7
  That module uses [rs-dpp](https://github.com/dashpay/platform) and creates bindings for JavaScript.
6
- Each structure from rs-dpp is represented by a separate package, so you can build not the whole module, but only a part of it
8
+ Each structure from rs-dpp is represented by a separate package, so you can build not the whole module, but only a part of it.
9
+
10
+ One of the advantages of this module is that you can build `.wasm` file not with all modules, but only with the ones you are interested in + minimal dependencies for them
11
+ ___
12
+ ## How To Install
13
+ `yarn add pshenmic-dpp`
14
+ ___
15
+ ## Manual Building
16
+ ### Install dependencies
17
+ `yarn`
18
+
19
+ ### Build JS
20
+ `yarn build:full`
21
+
22
+ **NOTE. If you want to use ES6 module without CJS, you need to run `yarn babel`**
23
+
24
+ ### Build with binary instead base64
25
+ `yarn build:raw`
26
+ Now you can import `.js` with base64 buffer for WebAssembly module, or binary which smaller
27
+ ___
28
+ ## Why you need to use `pshenmic-dpp` instead `wasm-dpp`
29
+
30
+ - `pshenmic-dpp` weighs much less, currently taking up only 2.8 mb in base64 format
31
+ - You can build only necessary modules by removing imports from `lib.rs` before building
32
+ - More accurately replicates `rs-dpp`
33
+ - Some sugar, like enums, which you can pass in string with any case or just use numbers
34
+ ___
35
+
36
+ ## Current features
7
37
 
8
38
  **At this moment available structs:**
9
39
  - `Document`
10
40
  - `DocumentsBatch`
41
+ - `DocumentsBaseTransition`
42
+ - `DocumentsTransition`
43
+ - `PrefundedVotingBalance`
44
+ - DocumentsTransitions:
45
+ - `DocuemntCreateTransition`
46
+ - `DocuemntDeleteTransition`
47
+ - `DocuemntPurchaseTransition`
48
+ - `DocuemntReplaceTransition`
49
+ - `DocumentTransferTransition`
50
+ - `DocumentUpdatePriceTransition`
11
51
  - `IdentityPublicKey`
52
+ - `IdentityCreateTransition`
53
+ - `IdentityPublicKeyInCreationWASM`
12
54
  - `PrivateKey`
13
55
  - `Identity`
14
56
  - `StateTransition`
15
- - `IdentityTransitions`
16
57
  - `DataContract`
17
58
  - `Enums`
18
59
 
19
- ## How to build
20
- Default scripts allows to build full module
60
+ **At this moment available static methods**
61
+ - `objectToCbor`
62
+ - `cborToObject`
63
+ - `generateId` for data contract class
64
+ - `generateId` for document class
65
+ -
66
+
67
+ ## How to run unit tests
21
68
  ```
22
- yarn
23
- yarn build:full
69
+ yarn tests
24
70
  ```
25
71
 
26
72
  ## Example
@@ -29,12 +75,6 @@ yarn build:full
29
75
  import * as wasm from '../wasm/pshenmic_dpp';
30
76
  import wasmBytes from "../wasm/pshenmic_dpp_bg"
31
77
 
32
- function toHexString(byteArray) {
33
- return Array.prototype.map.call(byteArray, function(byte) {
34
- return ('0' + (byte & 0xFF).toString(16)).slice(-2);
35
- }).join('');
36
- }
37
-
38
78
  let binaryString = atob(wasmBytes);
39
79
  let bytes = new Uint8Array(binaryString.length);
40
80
  for (let i = 0; i < binaryString.length; i++) {
@@ -43,7 +83,7 @@ for (let i = 0; i < binaryString.length; i++) {
43
83
 
44
84
  wasm.initSync({module: bytes.buffer})
45
85
 
46
- const document = wasm.DocumentWASM.new(
86
+ const document = new wasm.DocumentWASM(
47
87
  {
48
88
  "name": "MyPool",
49
89
  "type": "EVONODE",
@@ -56,7 +96,7 @@ const document = wasm.DocumentWASM.new(
56
96
  "B7kcE1juMBWEWkuYRJhVdAE2e6RaevrGxRsa1DrLCpQH"
57
97
  )
58
98
 
59
- const pubKey = wasm.IdentityPublicKeyWASM.new(
99
+ const pubKey = new wasm.IdentityPublicKeyWASM(
60
100
  1,
61
101
  wasm.Purpose.AUTHENTICATION,
62
102
  wasm.SecurityLevel.HIGH,
@@ -65,15 +105,18 @@ const pubKey = wasm.IdentityPublicKeyWASM.new(
65
105
  'your_binary_data_in_hex'
66
106
  )
67
107
 
68
- const privKey = wasm.PrivateKeyWASM.new('wif_key')
108
+ const privKey = new wasm.PrivateKeyWASM('your_wif_key')
69
109
 
70
- const batch = wasm.DocumentBatchWASM.new(
71
- wasm.BatchType.CREATE,
72
- document,
73
- BigInt(3),
74
- )
110
+ const createTransition = new wasm.DocumentCreateTransitionWASM(document, BigInt(1), 'preorder')
111
+
112
+ const documentTransition = createTransition.toDocumentTransition()
113
+
114
+ const batchTransition = new wasm.DocumentsBatchWASM([documentTransition, documentTransition], Array.from(documentInstance.getOwnerId()), 1)
115
+
116
+ const st = batchTransition.toStateTransition()
75
117
 
76
- batch.sign(privKey, pubKey)
118
+ st.sign(privKey, pubKey)
77
119
 
78
- console.log(toHexString(batch.toBuffer()))
120
+ console.log(st.toBytes())
121
+ console.log(st.hash(false))
79
122
  ```
@@ -0,0 +1,19 @@
1
+ {
2
+ "presets": [
3
+ [
4
+ "@babel/preset-env",
5
+ {
6
+ "targets": {
7
+ "edge": "17",
8
+ "firefox": "60",
9
+ "chrome": "67",
10
+ "safari": "11.1",
11
+ "node": "18"
12
+ },
13
+ "useBuiltIns": "usage",
14
+ "corejs": "3.6.5"
15
+ }
16
+ ]
17
+ ],
18
+ "plugins": ["@babel/plugin-transform-modules-commonjs"]
19
+ }