pshenmic-dpp 1.0.4 → 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 (81) hide show
  1. package/.github/workflows/build.yml +8 -0
  2. package/.github/workflows/publish.yml +8 -0
  3. package/Cargo.lock +79 -31
  4. package/Cargo.toml +20 -17
  5. package/README.md +66 -23
  6. package/babel.config.json +19 -0
  7. package/dist/wasm/pshenmic_dpp.js +2487 -355
  8. package/dist/wasm/pshenmic_dpp_bg.js +1 -1
  9. package/package.json +13 -6
  10. package/packages/cbor_conversation/Cargo.toml +1 -1
  11. package/packages/data_contract/Cargo.toml +2 -2
  12. package/packages/data_contract/src/lib.rs +195 -23
  13. package/packages/data_contract_transitions/Cargo.toml +1 -1
  14. package/packages/data_contract_transitions/src/create/mod.rs +23 -16
  15. package/packages/data_contract_transitions/src/update/mod.rs +21 -12
  16. package/packages/document/Cargo.toml +1 -1
  17. package/packages/document/src/lib.rs +1 -1
  18. package/packages/document/src/methods/mod.rs +370 -2
  19. package/packages/{document_batch → documents_batch}/Cargo.toml +6 -4
  20. package/packages/documents_batch/src/document_base_transition/mod.rs +92 -0
  21. package/packages/documents_batch/src/document_transition/mod.rs +166 -0
  22. package/packages/documents_batch/src/generators.rs +122 -0
  23. package/packages/documents_batch/src/lib.rs +188 -0
  24. package/packages/documents_batch/src/prefunded_voting_balance/mod.rs +45 -0
  25. package/packages/documents_batch/src/transitions/create/mod.rs +123 -0
  26. package/packages/documents_batch/src/transitions/delete/mod.rs +67 -0
  27. package/packages/documents_batch/src/transitions/mod.rs +6 -0
  28. package/packages/documents_batch/src/transitions/purchase/mod.rs +91 -0
  29. package/packages/documents_batch/src/transitions/replace/mod.rs +93 -0
  30. package/packages/documents_batch/src/transitions/transfer/mod.rs +86 -0
  31. package/packages/documents_batch/src/transitions/update_price/mod.rs +75 -0
  32. package/packages/enums/Cargo.toml +3 -3
  33. package/packages/enums/src/batch/batch_enum.rs +75 -10
  34. package/packages/enums/src/keys/key_type.rs +46 -0
  35. package/packages/enums/src/keys/purpose.rs +55 -0
  36. package/packages/enums/src/keys/security_level.rs +46 -0
  37. package/packages/enums/src/lib.rs +1 -0
  38. package/packages/enums/src/network/mod.rs +67 -0
  39. package/packages/enums/src/platform/mod.rs +66 -8
  40. package/packages/identity/Cargo.toml +3 -4
  41. package/packages/identity/src/lib.rs +25 -14
  42. package/packages/{public_key → identity_public_key}/Cargo.toml +1 -1
  43. package/packages/{public_key → identity_public_key}/src/lib.rs +74 -27
  44. package/packages/identity_transitions/Cargo.toml +2 -2
  45. package/packages/identity_transitions/src/create_transition/mod.rs +3 -1
  46. package/packages/identity_transitions/src/create_transition/public_key_in_creation/mod.rs +25 -21
  47. package/packages/mock_bls/Cargo.toml +1 -1
  48. package/packages/private_key/Cargo.toml +3 -2
  49. package/packages/private_key/src/lib.rs +44 -6
  50. package/packages/state_transition/Cargo.toml +5 -4
  51. package/packages/state_transition/src/lib.rs +101 -36
  52. package/packages/utils/Cargo.toml +1 -2
  53. package/packages/utils/src/lib.rs +17 -15
  54. package/scripts/build-js.sh +6 -5
  55. package/scripts/build.sh +22 -1
  56. package/src/lib.rs +7 -1
  57. package/tests/DataContract.spec.js +175 -0
  58. package/tests/DataContractCreateStateTransition.spec.js +109 -0
  59. package/tests/DataContractUpdateStateTransition.spec.js +109 -0
  60. package/tests/Document.spec.js +232 -0
  61. package/tests/DocumentBatchTransition.spec.js +109 -0
  62. package/tests/DocumentTransition.spec.js +97 -0
  63. package/tests/DocumentsTransitions.spec.js +705 -0
  64. package/tests/Identity.spec.js +113 -0
  65. package/tests/IdentityPublicKey.spec.js +132 -0
  66. package/tests/PrivateKey.spec.js +73 -0
  67. package/tests/mocks/DataContract/DataContract.json +153 -0
  68. package/tests/mocks/DataContract/index.js +6 -0
  69. package/tests/mocks/Document/DataContract.json +23 -0
  70. package/tests/mocks/Document/document.json +3 -0
  71. package/tests/mocks/Document/document2.json +3 -0
  72. package/tests/mocks/Document/index.js +11 -0
  73. package/tests/mocks/Identity/index.js +7 -0
  74. package/tests/mocks/PrivateKey/index.js +5 -0
  75. package/tests/mocks/PublicKey/index.js +14 -0
  76. package/tests/utils/hex.js +15 -0
  77. package/tests/utils/wasm.js +14 -0
  78. package/packages/document/src/methods/js.rs +0 -260
  79. package/packages/document/src/methods/rust.rs +0 -92
  80. package/packages/document_batch/src/generators.rs +0 -63
  81. package/packages/document_batch/src/lib.rs +0 -228
@@ -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,25 +1332,25 @@ dependencies = [
1320
1332
 
1321
1333
  [[package]]
1322
1334
  name = "pshenmic-dpp"
1323
- version = "1.0.4"
1335
+ version = "1.0.5"
1324
1336
  dependencies = [
1325
- "bincode",
1326
- "bincode_derive",
1327
1337
  "pshenmic_dpp_data_contract",
1328
1338
  "pshenmic_dpp_data_contract_transitions",
1329
- "pshenmic_dpp_document_batch",
1330
1339
  "pshenmic_dpp_document_search",
1340
+ "pshenmic_dpp_documents_batch",
1331
1341
  "pshenmic_dpp_enums",
1332
1342
  "pshenmic_dpp_identity",
1333
1343
  "pshenmic_dpp_identity_transitions",
1334
1344
  "pshenmic_dpp_state_transition",
1345
+ "wee_alloc",
1335
1346
  ]
1336
1347
 
1337
1348
  [[package]]
1338
1349
  name = "pshenmic_dpp_data_contract"
1339
- version = "0.1.0"
1350
+ version = "1.0.5"
1340
1351
  dependencies = [
1341
1352
  "dpp",
1353
+ "js-sys",
1342
1354
  "pshenmic_dpp_enums",
1343
1355
  "pshenmic_dpp_utils",
1344
1356
  "serde-wasm-bindgen",
@@ -1347,7 +1359,7 @@ dependencies = [
1347
1359
 
1348
1360
  [[package]]
1349
1361
  name = "pshenmic_dpp_data_contract_transitions"
1350
- version = "0.1.0"
1362
+ version = "1.0.5"
1351
1363
  dependencies = [
1352
1364
  "dpp",
1353
1365
  "pshenmic_dpp_data_contract",
@@ -1359,7 +1371,7 @@ dependencies = [
1359
1371
 
1360
1372
  [[package]]
1361
1373
  name = "pshenmic_dpp_document"
1362
- version = "0.1.0"
1374
+ version = "1.0.5"
1363
1375
  dependencies = [
1364
1376
  "dpp",
1365
1377
  "pshenmic_dpp_data_contract",
@@ -1370,24 +1382,26 @@ dependencies = [
1370
1382
  ]
1371
1383
 
1372
1384
  [[package]]
1373
- name = "pshenmic_dpp_document_batch"
1374
- version = "0.1.0"
1385
+ name = "pshenmic_dpp_document_search"
1386
+ version = "1.0.5"
1375
1387
  dependencies = [
1388
+ "base64",
1389
+ "ciborium 0.2.2",
1376
1390
  "dpp",
1377
- "pshenmic_dpp_document",
1378
- "pshenmic_dpp_enums",
1379
- "pshenmic_dpp_state_transition",
1380
1391
  "pshenmic_dpp_utils",
1392
+ "serde-wasm-bindgen",
1381
1393
  "wasm-bindgen",
1382
1394
  ]
1383
1395
 
1384
1396
  [[package]]
1385
- name = "pshenmic_dpp_document_search"
1386
- version = "0.1.0"
1397
+ name = "pshenmic_dpp_documents_batch"
1398
+ version = "1.0.5"
1387
1399
  dependencies = [
1388
- "base64",
1389
- "ciborium 0.2.2",
1390
1400
  "dpp",
1401
+ "js-sys",
1402
+ "pshenmic_dpp_document",
1403
+ "pshenmic_dpp_enums",
1404
+ "pshenmic_dpp_state_transition",
1391
1405
  "pshenmic_dpp_utils",
1392
1406
  "serde-wasm-bindgen",
1393
1407
  "wasm-bindgen",
@@ -1395,7 +1409,7 @@ dependencies = [
1395
1409
 
1396
1410
  [[package]]
1397
1411
  name = "pshenmic_dpp_enums"
1398
- version = "0.1.0"
1412
+ version = "1.0.5"
1399
1413
  dependencies = [
1400
1414
  "dpp",
1401
1415
  "wasm-bindgen",
@@ -1403,18 +1417,17 @@ dependencies = [
1403
1417
 
1404
1418
  [[package]]
1405
1419
  name = "pshenmic_dpp_identity"
1406
- version = "0.1.0"
1420
+ version = "1.0.5"
1407
1421
  dependencies = [
1408
1422
  "dpp",
1409
1423
  "pshenmic_dpp_public_key",
1410
1424
  "pshenmic_dpp_utils",
1411
- "serde-wasm-bindgen",
1412
1425
  "wasm-bindgen",
1413
1426
  ]
1414
1427
 
1415
1428
  [[package]]
1416
1429
  name = "pshenmic_dpp_identity_transitions"
1417
- version = "0.1.0"
1430
+ version = "1.0.5"
1418
1431
  dependencies = [
1419
1432
  "dpp",
1420
1433
  "pshenmic_dpp_enums",
@@ -1426,22 +1439,23 @@ dependencies = [
1426
1439
 
1427
1440
  [[package]]
1428
1441
  name = "pshenmic_dpp_mock_bls"
1429
- version = "0.1.0"
1442
+ version = "1.0.5"
1430
1443
  dependencies = [
1431
1444
  "dpp",
1432
1445
  ]
1433
1446
 
1434
1447
  [[package]]
1435
1448
  name = "pshenmic_dpp_private_key"
1436
- version = "0.1.0"
1449
+ version = "1.0.5"
1437
1450
  dependencies = [
1438
1451
  "dpp",
1452
+ "pshenmic_dpp_enums",
1439
1453
  "wasm-bindgen",
1440
1454
  ]
1441
1455
 
1442
1456
  [[package]]
1443
1457
  name = "pshenmic_dpp_public_key"
1444
- version = "0.1.0"
1458
+ version = "1.0.5"
1445
1459
  dependencies = [
1446
1460
  "dpp",
1447
1461
  "pshenmic_dpp_enums",
@@ -1451,7 +1465,7 @@ dependencies = [
1451
1465
 
1452
1466
  [[package]]
1453
1467
  name = "pshenmic_dpp_state_transition"
1454
- version = "0.1.0"
1468
+ version = "1.0.5"
1455
1469
  dependencies = [
1456
1470
  "dpp",
1457
1471
  "pshenmic_dpp_enums",
@@ -1459,16 +1473,16 @@ dependencies = [
1459
1473
  "pshenmic_dpp_private_key",
1460
1474
  "pshenmic_dpp_public_key",
1461
1475
  "pshenmic_dpp_utils",
1476
+ "sha2",
1462
1477
  "wasm-bindgen",
1463
1478
  ]
1464
1479
 
1465
1480
  [[package]]
1466
1481
  name = "pshenmic_dpp_utils"
1467
- version = "0.1.0"
1482
+ version = "1.0.5"
1468
1483
  dependencies = [
1469
1484
  "anyhow",
1470
1485
  "dpp",
1471
- "itertools",
1472
1486
  "js-sys",
1473
1487
  "serde",
1474
1488
  "serde-wasm-bindgen",
@@ -1781,7 +1795,7 @@ version = "0.10.8"
1781
1795
  source = "registry+https://github.com/rust-lang/crates.io-index"
1782
1796
  checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
1783
1797
  dependencies = [
1784
- "cfg-if",
1798
+ "cfg-if 1.0.0",
1785
1799
  "cpufeatures",
1786
1800
  "digest",
1787
1801
  ]
@@ -2085,7 +2099,7 @@ version = "0.2.100"
2085
2099
  source = "registry+https://github.com/rust-lang/crates.io-index"
2086
2100
  checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
2087
2101
  dependencies = [
2088
- "cfg-if",
2102
+ "cfg-if 1.0.0",
2089
2103
  "once_cell",
2090
2104
  "rustversion",
2091
2105
  "serde",
@@ -2139,6 +2153,40 @@ dependencies = [
2139
2153
  "unicode-ident",
2140
2154
  ]
2141
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
+
2142
2190
  [[package]]
2143
2191
  name = "windows-core"
2144
2192
  version = "0.52.0"
package/Cargo.toml CHANGED
@@ -1,43 +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",
11
+ "packages/documents_batch",
6
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
- , "packages/data_contract_transitions"]
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.4"
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
+ wee_alloc = { version = "0.4.5", default-features = false }
32
+ pshenmic_dpp_documents_batch = { path = "packages/documents_batch" }
31
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_data_contract_transitions = {path = "packages/data_contract_transitions"}
37
- 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" }
38
40
 
39
41
  [profile.release]
40
- lto = true
42
+ lto = "fat"
41
43
  opt-level = 'z'
42
- strip = true
44
+ strip = "symbols"
43
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
+ }