neozipkit 0.2.1 → 0.3.0

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 (301) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +410 -186
  3. package/contracts/ABI.txt +889 -0
  4. package/contracts/Bytecode.txt +1 -0
  5. package/contracts/COMPILATION_NOTES.md +59 -0
  6. package/contracts/QUICK_DEPLOY.md +286 -0
  7. package/contracts/README.md +235 -131
  8. package/contracts/VERIFICATION.md +308 -0
  9. package/contracts/deploy-interactive.js +448 -0
  10. package/contracts/deployment-arbitrum-sepolia.json +12 -0
  11. package/contracts/deployment-arbitrum.json +12 -0
  12. package/contracts/deployment-eth-sepolia.json +12 -0
  13. package/contracts/hardhat.config.js +114 -0
  14. package/contracts/package.json +20 -0
  15. package/contracts/scripts/compile-and-extract.js +119 -0
  16. package/contracts/scripts/verify-contract.js +223 -0
  17. package/contracts/src/{NZIP-NFT-Private.sol → NZIP-NFT-v2.0.sol} +66 -151
  18. package/contracts/src/NZIP-NFT.sol +9 -15
  19. package/dist/blockchain/browser/TokenVerifierBrowser.d.ts +67 -0
  20. package/dist/blockchain/browser/TokenVerifierBrowser.d.ts.map +1 -0
  21. package/dist/blockchain/browser/TokenVerifierBrowser.js +313 -0
  22. package/dist/blockchain/browser/TokenVerifierBrowser.js.map +1 -0
  23. package/dist/blockchain/browser/WalletManagerBrowser.d.ts +98 -0
  24. package/dist/blockchain/browser/WalletManagerBrowser.d.ts.map +1 -0
  25. package/dist/blockchain/browser/WalletManagerBrowser.js +434 -0
  26. package/dist/blockchain/browser/WalletManagerBrowser.js.map +1 -0
  27. package/dist/blockchain/browser/ZipkitMinterBrowser.d.ts +58 -0
  28. package/dist/blockchain/browser/ZipkitMinterBrowser.d.ts.map +1 -0
  29. package/dist/blockchain/browser/ZipkitMinterBrowser.js +317 -0
  30. package/dist/blockchain/browser/ZipkitMinterBrowser.js.map +1 -0
  31. package/dist/blockchain/browser/index.d.ts +11 -0
  32. package/dist/blockchain/browser/index.d.ts.map +1 -0
  33. package/dist/blockchain/browser/index.js +16 -0
  34. package/dist/blockchain/browser/index.js.map +1 -0
  35. package/dist/blockchain/core/WalletManager.d.ts +124 -0
  36. package/dist/blockchain/core/WalletManager.d.ts.map +1 -0
  37. package/dist/blockchain/{ZipKitWallet.js → core/WalletManager.js} +157 -177
  38. package/dist/blockchain/core/WalletManager.js.map +1 -0
  39. package/dist/blockchain/{ZipKitMinter.d.ts → core/ZipkitMinter.d.ts} +46 -11
  40. package/dist/blockchain/core/ZipkitMinter.d.ts.map +1 -0
  41. package/dist/blockchain/core/ZipkitMinter.js +548 -0
  42. package/dist/blockchain/core/ZipkitMinter.js.map +1 -0
  43. package/dist/blockchain/{ZipKitOTS.d.ts → core/ZipkitOTS.d.ts} +6 -15
  44. package/dist/blockchain/core/ZipkitOTS.d.ts.map +1 -0
  45. package/dist/blockchain/{ZipKitOTS.js → core/ZipkitOTS.js} +26 -84
  46. package/dist/blockchain/core/ZipkitOTS.js.map +1 -0
  47. package/dist/blockchain/core/ZipkitVerifier.d.ts +177 -0
  48. package/dist/blockchain/core/ZipkitVerifier.d.ts.map +1 -0
  49. package/dist/blockchain/core/ZipkitVerifier.js +632 -0
  50. package/dist/blockchain/core/ZipkitVerifier.js.map +1 -0
  51. package/dist/blockchain/core/contracts.d.ts +83 -0
  52. package/dist/blockchain/core/contracts.d.ts.map +1 -0
  53. package/dist/blockchain/core/contracts.js +341 -0
  54. package/dist/blockchain/core/contracts.js.map +1 -0
  55. package/dist/blockchain/core/index.d.ts +12 -0
  56. package/dist/blockchain/core/index.d.ts.map +1 -0
  57. package/dist/blockchain/core/index.js +59 -0
  58. package/dist/blockchain/core/index.js.map +1 -0
  59. package/dist/blockchain/index.d.ts +11 -7
  60. package/dist/blockchain/index.d.ts.map +1 -0
  61. package/dist/blockchain/index.js +18 -34
  62. package/dist/blockchain/index.js.map +1 -0
  63. package/dist/blockchain/node/WalletManagerNode.d.ts +47 -0
  64. package/dist/blockchain/node/WalletManagerNode.d.ts.map +1 -0
  65. package/dist/blockchain/node/WalletManagerNode.js +203 -0
  66. package/dist/blockchain/node/WalletManagerNode.js.map +1 -0
  67. package/dist/blockchain/node/index.d.ts +12 -0
  68. package/dist/blockchain/node/index.d.ts.map +1 -0
  69. package/dist/blockchain/node/index.js +24 -0
  70. package/dist/blockchain/node/index.js.map +1 -0
  71. package/dist/browser/ZipkitBrowser.d.ts +27 -0
  72. package/dist/browser/ZipkitBrowser.d.ts.map +1 -0
  73. package/dist/browser/{ZipKitBrowser.js → ZipkitBrowser.js} +96 -43
  74. package/dist/browser/ZipkitBrowser.js.map +1 -0
  75. package/dist/browser/index.d.ts +12 -0
  76. package/dist/browser/index.d.ts.map +1 -0
  77. package/dist/browser/index.js +42 -0
  78. package/dist/browser/index.js.map +1 -0
  79. package/dist/browser-esm/index.d.ts +12 -0
  80. package/dist/browser-esm/index.js +59559 -0
  81. package/dist/browser-esm/index.js.map +7 -0
  82. package/dist/browser-umd/index.d.ts +12 -0
  83. package/dist/browser-umd/index.js +59576 -0
  84. package/dist/browser-umd/index.js.map +7 -0
  85. package/dist/browser-umd/index.min.js +63 -0
  86. package/dist/browser.d.ts +8 -14
  87. package/dist/browser.js +13 -28
  88. package/dist/core/ZipCompress.d.ts +99 -0
  89. package/dist/core/ZipCompress.d.ts.map +1 -0
  90. package/dist/core/ZipCompress.js +309 -0
  91. package/dist/core/ZipCompress.js.map +1 -0
  92. package/dist/core/ZipDecompress.d.ts +58 -0
  93. package/dist/core/ZipDecompress.d.ts.map +1 -0
  94. package/dist/core/ZipDecompress.js +172 -0
  95. package/dist/core/ZipDecompress.js.map +1 -0
  96. package/dist/{shared → core}/ZipEntry.d.ts +8 -1
  97. package/dist/core/ZipEntry.d.ts.map +1 -0
  98. package/dist/{shared → core}/ZipEntry.js +225 -82
  99. package/dist/core/ZipEntry.js.map +1 -0
  100. package/dist/core/Zipkit.d.ts +315 -0
  101. package/dist/core/Zipkit.d.ts.map +1 -0
  102. package/dist/core/Zipkit.js +647 -0
  103. package/dist/core/Zipkit.js.map +1 -0
  104. package/dist/core/components/HashCalculator.d.ts +138 -0
  105. package/dist/core/components/HashCalculator.d.ts.map +1 -0
  106. package/dist/core/components/HashCalculator.js +360 -0
  107. package/dist/core/components/HashCalculator.js.map +1 -0
  108. package/dist/core/components/Logger.d.ts +73 -0
  109. package/dist/core/components/Logger.d.ts.map +1 -0
  110. package/dist/core/components/Logger.js +156 -0
  111. package/dist/core/components/Logger.js.map +1 -0
  112. package/dist/core/components/ProgressTracker.d.ts +43 -0
  113. package/dist/core/components/ProgressTracker.d.ts.map +1 -0
  114. package/dist/core/components/ProgressTracker.js +112 -0
  115. package/dist/core/components/ProgressTracker.js.map +1 -0
  116. package/dist/{shared → core}/components/Support.d.ts +1 -0
  117. package/dist/core/components/Support.d.ts.map +1 -0
  118. package/dist/{shared → core}/components/Support.js +1 -0
  119. package/dist/core/components/Support.js.map +1 -0
  120. package/dist/{shared → core}/components/Util.d.ts +7 -2
  121. package/dist/core/components/Util.d.ts.map +1 -0
  122. package/dist/{shared → core}/components/Util.js +14 -34
  123. package/dist/core/components/Util.js.map +1 -0
  124. package/dist/{shared → core}/constants/Errors.d.ts +1 -2
  125. package/dist/core/constants/Errors.d.ts.map +1 -0
  126. package/dist/{shared → core}/constants/Errors.js +1 -3
  127. package/dist/core/constants/Errors.js.map +1 -0
  128. package/dist/{shared → core}/constants/Headers.d.ts +3 -0
  129. package/dist/core/constants/Headers.d.ts.map +1 -0
  130. package/dist/{shared → core}/constants/Headers.js +20 -17
  131. package/dist/core/constants/Headers.js.map +1 -0
  132. package/dist/core/encryption/Manager.d.ts +58 -0
  133. package/dist/core/encryption/Manager.d.ts.map +1 -0
  134. package/dist/core/encryption/Manager.js +121 -0
  135. package/dist/core/encryption/Manager.js.map +1 -0
  136. package/dist/core/encryption/ZipCrypto.d.ts +172 -0
  137. package/dist/core/encryption/ZipCrypto.d.ts.map +1 -0
  138. package/dist/core/encryption/ZipCrypto.js +554 -0
  139. package/dist/core/encryption/ZipCrypto.js.map +1 -0
  140. package/dist/core/encryption/index.d.ts +9 -0
  141. package/dist/core/encryption/index.d.ts.map +1 -0
  142. package/dist/core/encryption/index.js +17 -0
  143. package/dist/core/encryption/index.js.map +1 -0
  144. package/dist/core/encryption/types.d.ts +29 -0
  145. package/dist/core/encryption/types.d.ts.map +1 -0
  146. package/dist/core/encryption/types.js +12 -0
  147. package/dist/core/encryption/types.js.map +1 -0
  148. package/dist/core/index.d.ts +24 -0
  149. package/dist/core/index.d.ts.map +1 -0
  150. package/dist/core/index.js +57 -0
  151. package/dist/core/index.js.map +1 -0
  152. package/dist/core/version.d.ts +5 -0
  153. package/dist/core/version.d.ts.map +1 -0
  154. package/dist/core/version.js +31 -0
  155. package/dist/core/version.js.map +1 -0
  156. package/dist/index.d.ts +8 -18
  157. package/dist/index.d.ts.map +1 -0
  158. package/dist/index.js +29 -35
  159. package/dist/index.js.map +1 -0
  160. package/dist/node/ZipCompressNode.d.ts +123 -0
  161. package/dist/node/ZipCompressNode.d.ts.map +1 -0
  162. package/dist/node/ZipCompressNode.js +576 -0
  163. package/dist/node/ZipCompressNode.js.map +1 -0
  164. package/dist/node/ZipDecompressNode.d.ts +120 -0
  165. package/dist/node/ZipDecompressNode.d.ts.map +1 -0
  166. package/dist/node/ZipDecompressNode.js +461 -0
  167. package/dist/node/ZipDecompressNode.js.map +1 -0
  168. package/dist/node/ZipkitNode.d.ts +406 -0
  169. package/dist/node/ZipkitNode.d.ts.map +1 -0
  170. package/dist/node/ZipkitNode.js +1305 -0
  171. package/dist/node/ZipkitNode.js.map +1 -0
  172. package/dist/node/index.d.ts +26 -0
  173. package/dist/node/index.d.ts.map +1 -0
  174. package/dist/node/index.js +65 -0
  175. package/dist/node/index.js.map +1 -0
  176. package/dist/types/index.d.ts +59 -0
  177. package/dist/types/index.d.ts.map +1 -0
  178. package/dist/types/index.js +36 -1
  179. package/dist/types/index.js.map +1 -0
  180. package/examples/README.md +269 -0
  181. package/examples/blockchain-tokenize.ts +354 -0
  182. package/examples/create-zip.ts +172 -0
  183. package/examples/extract-zip.ts +158 -0
  184. package/examples/list-zip.ts +161 -0
  185. package/examples/test-files/data.json +116 -0
  186. package/examples/test-files/document.md +80 -0
  187. package/examples/test-files/document.txt +2 -0
  188. package/examples/test-files/file1.txt +48 -0
  189. package/examples/test-files/file2.txt +80 -0
  190. package/examples/tsconfig.json +44 -0
  191. package/examples/unzip-token.ts +491 -0
  192. package/examples/verify-tokenized-zip.ts +305 -0
  193. package/examples/zip-token.ts +604 -0
  194. package/package.json +108 -24
  195. package/src/blockchain/README.md +59 -66
  196. package/src/{browser/TokenVerifierBrowser.ts-remove → blockchain/browser/TokenVerifierBrowser.ts} +125 -79
  197. package/src/blockchain/browser/WalletManagerBrowser.ts +486 -0
  198. package/src/blockchain/browser/ZipkitMinterBrowser.ts +400 -0
  199. package/src/blockchain/browser/index.ts +13 -0
  200. package/src/blockchain/{ZipKitWallet.ts → core/WalletManager.ts} +241 -143
  201. package/src/blockchain/core/ZipkitMinter.ts +716 -0
  202. package/src/blockchain/{ZipKitOTS.ts → core/ZipkitOTS.ts} +28 -62
  203. package/src/blockchain/core/ZipkitVerifier.ts +853 -0
  204. package/src/blockchain/core/contracts.ts +370 -0
  205. package/src/blockchain/core/index.ts +71 -0
  206. package/src/blockchain/index.ts +21 -55
  207. package/src/blockchain/node/WalletManagerNode.ts +171 -0
  208. package/src/blockchain/node/index.ts +40 -0
  209. package/src/browser/{ZipKitBrowser.ts → ZipkitBrowser.ts} +104 -41
  210. package/src/browser/index.esm.ts +37 -0
  211. package/src/browser/index.ts +25 -0
  212. package/src/core/ZipCompress.ts +398 -0
  213. package/src/core/ZipDecompress.ts +212 -0
  214. package/src/{shared → core}/ZipEntry.ts +240 -90
  215. package/src/core/Zipkit.ts +794 -0
  216. package/src/core/components/HashCalculator.ts +384 -0
  217. package/src/core/components/Logger.ts +180 -0
  218. package/src/core/components/ProgressTracker.ts +134 -0
  219. package/src/{shared → core}/components/Util.ts +12 -34
  220. package/src/{shared → core}/constants/Errors.ts +0 -4
  221. package/src/{shared → core}/constants/Headers.ts +19 -17
  222. package/src/core/encryption/Manager.ts +137 -0
  223. package/src/core/encryption/ZipCrypto.ts +650 -0
  224. package/src/core/encryption/index.ts +15 -0
  225. package/src/core/encryption/types.ts +33 -0
  226. package/src/core/index.ts +34 -0
  227. package/src/core/version.ts +33 -0
  228. package/src/index.ts +54 -25
  229. package/src/node/ZipCompressNode.ts +632 -0
  230. package/src/node/ZipDecompressNode.ts +508 -0
  231. package/src/node/ZipkitNode.ts +1559 -0
  232. package/src/node/index.ts +69 -0
  233. package/src/types/index.ts +131 -1
  234. package/src/types/modules.d.ts +1 -11
  235. package/src/types/opentimestamps.d.ts +1 -23
  236. package/contracts/INTEGRATION.md +0 -338
  237. package/contracts/NETWORKS.md +0 -156
  238. package/contracts/NZIP-NFT-bytecode.txt +0 -1
  239. package/contracts/constants.ts +0 -952
  240. package/contracts/deploy-bytecode.mjs +0 -94
  241. package/dist/blockchain/CertificateToken.d.ts +0 -48
  242. package/dist/blockchain/CertificateToken.js +0 -386
  243. package/dist/blockchain/ZipKitMinter.js +0 -347
  244. package/dist/blockchain/ZipKitNFT.d.ts +0 -3
  245. package/dist/blockchain/ZipKitNFT.js +0 -7
  246. package/dist/blockchain/ZipKitVerifier.d.ts +0 -69
  247. package/dist/blockchain/ZipKitVerifier.js +0 -289
  248. package/dist/blockchain/ZipKitWallet.d.ts +0 -69
  249. package/dist/blockchain/contracts.d.ts +0 -14
  250. package/dist/blockchain/contracts.js +0 -77
  251. package/dist/blockchain/types.d.ts +0 -47
  252. package/dist/blockchain/types.js +0 -30
  253. package/dist/browser/ZipKitBrowser.d.ts +0 -18
  254. package/dist/browser/ZipKitStampBrowser.d.ts +0 -2
  255. package/dist/browser/ZipKitStampBrowser.js +0 -12
  256. package/dist/browser-index.d.ts +0 -18
  257. package/dist/browser-index.js +0 -57
  258. package/dist/server/ZipKitServer.d.ts +0 -74
  259. package/dist/server/ZipKitServer.js +0 -310
  260. package/dist/shared/ZipKit.d.ts +0 -243
  261. package/dist/shared/ZipKit.js +0 -772
  262. package/dist/shared/components/CertificateOTS.d.ts +0 -15
  263. package/dist/shared/components/CertificateOTS.js +0 -116
  264. package/dist/shared/components/FileSys.d.ts +0 -2
  265. package/dist/shared/components/FileSys.js +0 -113
  266. package/dist/shared/components/HashAccumulator.d.ts +0 -55
  267. package/dist/shared/components/HashAccumulator.js +0 -100
  268. package/dist/shared/components/ZipCrypto.d.ts +0 -3
  269. package/dist/shared/components/ZipCrypto.js +0 -78
  270. package/dist/shared/components/merkleTree.d.ts +0 -66
  271. package/dist/shared/components/merkleTree.js +0 -136
  272. package/dist/shared/types/index.d.ts +0 -21
  273. package/dist/shared/types/index.js +0 -3
  274. package/dist/shared/types.d.ts +0 -33
  275. package/dist/shared/types.js +0 -8
  276. package/dist/shared/version.d.ts +0 -2
  277. package/dist/shared/version.js +0 -6
  278. package/src/blockchain/CertificateToken.ts +0 -444
  279. package/src/blockchain/ZipKitMinter.ts +0 -470
  280. package/src/blockchain/ZipKitNFT.ts +0 -12
  281. package/src/blockchain/ZipKitVerifier.ts +0 -382
  282. package/src/blockchain/contracts.ts +0 -88
  283. package/src/blockchain/types.ts +0 -91
  284. package/src/browser/CertificateGeneratorBrowser.ts-remove +0 -498
  285. package/src/browser/ZipKitStampBrowser.ts +0 -9
  286. package/src/browser-index.ts +0 -36
  287. package/src/server/README.md +0 -25
  288. package/src/server/ZipKitServer.ts +0 -305
  289. package/src/shared/ZipKit.ts +0 -881
  290. package/src/shared/components/CertificateOTS.ts +0 -132
  291. package/src/shared/components/FileSys.ts +0 -87
  292. package/src/shared/components/HashAccumulator.ts +0 -113
  293. package/src/shared/components/ZipCrypto.ts +0 -91
  294. package/src/shared/components/merkleTree.ts +0 -162
  295. package/src/shared/types/index.ts +0 -25
  296. package/src/shared/types/modules.d.ts +0 -22
  297. package/src/shared/types/opentimestamps.d.ts +0 -23
  298. package/src/shared/types.d.ts +0 -8
  299. package/src/shared/types.ts +0 -43
  300. package/src/shared/version.ts +0 -3
  301. /package/src/{shared → core}/components/Support.ts +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neozipkit",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "NeoZipKit - Advanced ZIP file creation and verification with blockchain timestamping",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -25,21 +25,32 @@
25
25
  "types": "./dist/browser/*.d.ts",
26
26
  "default": "./dist/browser/*.js"
27
27
  },
28
- "./server": {
29
- "types": "./dist/server/index.d.ts",
30
- "default": "./dist/server/index.js"
28
+ "./browser-esm": {
29
+ "types": "./dist/browser-esm/index.d.ts",
30
+ "import": "./dist/browser-esm/index.js"
31
31
  },
32
- "./server/*": {
33
- "types": "./dist/server/*.d.ts",
34
- "default": "./dist/server/*.js"
32
+ "./browser-umd": {
33
+ "types": "./dist/browser-umd/index.d.ts",
34
+ "import": "./dist/browser-umd/index.js",
35
+ "require": "./dist/browser-umd/index.js"
35
36
  },
36
- "./server/blockchain/*": {
37
- "types": "./dist/server/blockchain/*.d.ts",
38
- "default": "./dist/server/blockchain/*.js"
37
+ "./node": {
38
+ "types": "./dist/node/index.d.ts",
39
+ "import": "./dist/node/index.js",
40
+ "require": "./dist/node/index.js",
41
+ "default": "./dist/node/index.js"
39
42
  },
40
- "./server/platform/*": {
41
- "types": "./dist/server/platform/*.d.ts",
42
- "default": "./dist/server/platform/*.js"
43
+ "./node/*": {
44
+ "types": "./dist/node/*.d.ts",
45
+ "default": "./dist/node/*.js"
46
+ },
47
+ "./node/blockchain/*": {
48
+ "types": "./dist/node/blockchain/*.d.ts",
49
+ "default": "./dist/node/blockchain/*.js"
50
+ },
51
+ "./node/platform/*": {
52
+ "types": "./dist/node/platform/*.d.ts",
53
+ "default": "./dist/node/platform/*.js"
43
54
  },
44
55
  "./shared": {
45
56
  "types": "./dist/shared/index.d.ts",
@@ -64,27 +75,90 @@
64
75
  "./blockchain/*": {
65
76
  "types": "./dist/blockchain/*.d.ts",
66
77
  "default": "./dist/blockchain/*.js"
78
+ },
79
+ "./src": {
80
+ "types": "./src/index.ts",
81
+ "default": "./src/index.ts"
82
+ },
83
+ "./src/*": {
84
+ "types": "./src/*.ts",
85
+ "default": "./src/*.ts"
86
+ },
87
+ "./src/node": {
88
+ "types": "./src/node/index.ts",
89
+ "default": "./src/node/index.ts"
90
+ },
91
+ "./src/node/*": {
92
+ "types": "./src/node/*.ts",
93
+ "default": "./src/node/*.ts"
94
+ },
95
+ "./src/blockchain": {
96
+ "types": "./src/blockchain/index.ts",
97
+ "default": "./src/blockchain/index.ts"
98
+ },
99
+ "./src/blockchain/*": {
100
+ "types": "./src/blockchain/*.ts",
101
+ "default": "./src/blockchain/*.ts"
102
+ },
103
+ "./src/components/*": {
104
+ "types": "./src/components/*.ts",
105
+ "default": "./src/components/*.ts"
67
106
  }
68
107
  },
69
108
  "files": [
70
109
  "dist/",
71
110
  "src/",
72
- "contracts/",
111
+ "contracts/ABI.txt",
112
+ "contracts/Bytecode.txt",
113
+ "contracts/COMPILATION_NOTES.md",
114
+ "contracts/README.md",
115
+ "contracts/QUICK_DEPLOY.md",
116
+ "contracts/VERIFICATION.md",
117
+ "contracts/deploy-interactive.js",
118
+ "contracts/deployment-*.json",
119
+ "contracts/hardhat.config.js",
120
+ "contracts/package.json",
121
+ "contracts/src/",
122
+ "contracts/scripts/",
73
123
  "examples/",
74
124
  "README.md",
75
- "PACKAGE_STRUCTURE.md",
76
- "BLOCKCHAIN_INTEGRATION.md",
77
- "TYPESCRIPT_WORKFLOW.md"
125
+ "LICENSE"
78
126
  ],
79
127
  "scripts": {
80
- "clean": "rm -rf dist/ && find . -maxdepth 1 -name '*.js' -delete && find . -maxdepth 1 -name '*.d.ts' -delete && rm -rf components constants platform types blockchain",
128
+ "clean": "node scripts/clean.js",
81
129
  "compile": "tsc",
82
- "create-browser-entry": "cp dist/browser-index.js dist/browser.js && cp dist/browser-index.d.ts dist/browser.d.ts",
83
- "build": "npm run clean && npm run compile && npm run create-browser-entry",
130
+ "create-browser-entry": "node scripts/create-browser-entry.js",
131
+ "build": "npm run clean && npm run compile && npm run create-browser-entry && npm run build:browser",
132
+ "build:browser": "npm run build:browser:esm && npm run build:browser:umd",
133
+ "build:browser:esm": "node scripts/build-browser-bundle.js --esm",
134
+ "build:browser:umd": "node scripts/build-browser-bundle.js --umd",
84
135
  "watch": "tsc --watch",
85
- "test": "echo \"No tests specified\" && exit 0",
136
+ "dev:clean": "node scripts/dev-clean.js",
137
+ "dev:compile": "tsc --project tsconfig.dev.json",
138
+ "dev:create-browser-entry": "node scripts/dev-create-browser-entry.js",
139
+ "dev:build": "npm run dev:clean && npm run dev:compile && npm run dev:create-browser-entry",
140
+ "dev:watch": "tsc --project tsconfig.dev.json --watch",
141
+ "build:auto": "node scripts/auto-build.js",
142
+ "build:ci": "node scripts/check-branch.js && npm run clean && npm run compile && npm run create-browser-entry && npm run build:browser",
143
+ "test": "jest",
144
+ "test:unit": "jest tests/unit",
145
+ "test:examples": "npx ts-node scripts/test-examples.ts",
146
+ "test:all": "npm run test:unit && npm run test:examples",
147
+ "test:watch": "jest --watch",
148
+ "test:coverage": "jest --coverage",
149
+ "example:create-zip": "npx ts-node examples/create-zip.ts",
150
+ "example:extract-zip": "npx ts-node examples/extract-zip.ts",
151
+ "example:list-zip": "npx ts-node examples/list-zip.ts",
152
+ "example:blockchain-tokenize": "npx ts-node examples/blockchain-tokenize.ts",
153
+ "example:verify-tokenized-zip": "npx ts-node examples/verify-tokenized-zip.ts",
154
+ "check:nft": "npx ts-node scripts/check-nft.ts",
86
155
  "deploy:base": "node contracts/deploy-bytecode.mjs",
87
- "deploy:base:sepolia": "NETWORK=base-sepolia node contracts/deploy-bytecode.mjs"
156
+ "deploy:base:sepolia": "NETWORK=base-sepolia node contracts/deploy-bytecode.mjs",
157
+ "version": "node scripts/update-version.js",
158
+ "version:set": "node scripts/update-version.js",
159
+ "version:patch": "node scripts/update-version.js patch",
160
+ "version:minor": "node scripts/update-version.js minor",
161
+ "version:major": "node scripts/update-version.js major"
88
162
  },
89
163
  "keywords": [
90
164
  "zip",
@@ -107,13 +181,22 @@
107
181
  "homepage": "https://github.com/NeoWareInc/neozipkit#readme",
108
182
  "license": "MIT",
109
183
  "devDependencies": {
110
- "@types/node": "^20.0.0",
184
+ "@openzeppelin/contracts": "^5.4.0",
185
+ "@types/jest": "^30.0.0",
186
+ "@types/node": "^24.3.1",
111
187
  "@types/pako": "^2.0.3",
112
188
  "@types/uuid": "^9.0.0",
189
+ "dotenv": "^17.2.3",
190
+ "esbuild": "^0.19.12",
191
+ "hardhat": "^3.0.15",
192
+ "jest": "^30.2.0",
193
+ "minimatch": "^10.1.1",
194
+ "ts-jest": "^29.4.6",
113
195
  "typescript": "^5.0.0"
114
196
  },
115
197
  "dependencies": {
116
198
  "@oneidentity/zstd-js": "^1.0.3",
199
+ "buffer": "^6.0.3",
117
200
  "ethers": "^6.0.0",
118
201
  "opentimestamps": "^0.4.9",
119
202
  "pako": "^2.1.0",
@@ -123,5 +206,6 @@
123
206
  "peerDependencies": {
124
207
  "ethers": "^6.0.0",
125
208
  "web3": "^4.0.0"
126
- }
209
+ },
210
+ "packageManager": "yarn@4.9.2+sha512.1fc009bc09d13cfd0e19efa44cbfc2b9cf6ca61482725eb35bbc5e257e093ebf4130db6dfe15d604ff4b79efd8e1e8e99b25fa7d0a6197c9f9826358d4d65c3c"
127
211
  }
@@ -10,22 +10,25 @@ This directory provides all blockchain-related functionality for NeoZipKit, incl
10
10
 
11
11
  ```
12
12
  src/blockchain/
13
- ├── contracts.ts # Contract ABI + network configs + addresses
14
- ├── ZipKitOTS.ts # OpenTimestamps utilities
15
- ├── TokenVerifier.ts # ZIP tokenization verification
16
- ├── TokenQuerier.ts # Blockchain token queries
17
- ├── NFTMinter.ts # NFT minting operations
18
- ├── WalletManager.ts # Wallet connection management
19
- ├── WalletAnalyzer.ts # Wallet token analysis
20
- ├── (removed) # Token display formatting (deprecated)
21
- ├── ZipMetadata.ts # ZIP metadata validation
22
- ├── ZipKitMinter.ts # High-level minting interface
23
- ├── ZipKitVerifier.ts # High-level verification interface
24
- ├── ZipKitNFT.ts # Unified NFT facade (minter + verifier)
25
- ├── ZipKitWallet.ts # Wallet setup + WalletAnalyzer utilities (combined)
26
- ├── ZipTokenProcessor.ts # Token processing utilities
27
- ├── types.ts # Shared blockchain types
28
- └── index.ts # Module exports
13
+ ├── core/ # Core blockchain functionality
14
+ │ ├── WalletManager.ts # CoreWalletManager - platform-agnostic wallet operations
15
+ │ ├── ZipkitMinter.ts # Core minting functionality
16
+ │ ├── ZipkitVerifier.ts # Core verification functionality
17
+ │ ├── ZipkitOTS.ts # OpenTimestamps utilities
18
+ │ ├── contracts.ts # Contract ABI + network configs + addresses
19
+ │ ├── types.ts # Shared blockchain types
20
+ │ └── index.ts # Core exports
21
+ ├── browser/ # Browser-specific implementations
22
+ │ ├── WalletManagerBrowser.ts # Browser wallet management
23
+ │ ├── ZipkitMinterBrowser.ts # Browser minting
24
+ │ ├── TokenVerifierBrowser.ts # Browser token verification
25
+ │ └── index.ts # Browser exports
26
+ ├── server/ # Server-specific implementations
27
+ │ ├── WalletManagerServer.ts # Server wallet management with file system
28
+ │ ├── ZipkitMinterServer.ts # Server minting
29
+ │ ├── ZipkitVerifierServer.ts # Server verification
30
+ │ └── index.ts # Server exports
31
+ └── index.ts # Main module exports
29
32
  ```
30
33
 
31
34
  ### Package Entry
@@ -34,10 +37,11 @@ Import from the package root or from `src/blockchain` directly:
34
37
  ```ts
35
38
  // Yes! You can import directly from the blockchain directory
36
39
  import {
37
- ZipMetadata,
38
- ZipKitMinter,
39
- ZipKitVerifier,
40
- ZipKitWallet,
40
+ ZipkitMinter,
41
+ ZipkitVerifier,
42
+ CoreWalletManager,
43
+ WalletManagerServer,
44
+ WalletManagerBrowser,
41
45
  WalletAnalyzer,
42
46
  CONTRACT_CONFIGS,
43
47
  NZIP_CONTRACT_ABI,
@@ -45,30 +49,23 @@ import {
45
49
  } from 'neozipkit/blockchain';
46
50
 
47
51
  // Or from the main package (re-exports everything from blockchain)
48
- import { ZipMetadata, ZipKitMinter, ZipKitVerifier, ZipKitWallet, WalletAnalyzer } from 'neozipkit';
52
+ import { ZipkitMinter, ZipkitVerifier, CoreWalletManager, WalletAnalyzer } from 'neozipkit';
49
53
 
50
54
  // From source (monorepo/local development)
51
- import { ZipMetadata, ZipKitMinter, ZipKitVerifier, ZipKitWallet, WalletAnalyzer } from '../src/blockchain';
55
+ import { ZipkitMinter, ZipkitVerifier, CoreWalletManager, WalletAnalyzer } from '../src/blockchain';
52
56
  ```
53
57
 
54
- ### Unified NFT APIs (ZipKitNFT.ts)
58
+ ### Direct NFT APIs
55
59
 
56
- Prefer the unified entry point for minting and verification:
60
+ Use the individual classes directly for minting and verification:
57
61
 
58
62
  ```ts
59
- import { ZipKitNFT, ZipKitNFTMinter, ZipKitNFTVerifier } from 'neozipkit/blockchain';
60
-
61
- // Facade usage
62
- const nft = new ZipKitNFT({
63
- archiveName: 'archive.zip',
64
- merkleRoot: 'abc123...',
65
- mintingOptions: { walletPrivateKey: '0x...', network: 'base-sepolia' },
66
- verificationOptions: { debug: false }
67
- });
68
-
69
- // Or use classes directly
70
- const minter = new ZipKitNFTMinter('archive.zip', 'abc123...', { walletPrivateKey: '0x...', network: 'base-sepolia' });
71
- const verifier = new ZipKitNFTVerifier({ debug: false });
63
+ import { ZipkitMinter, ZipkitVerifier, CoreWalletManager } from 'neozipkit/blockchain';
64
+
65
+ // Use classes directly
66
+ const walletManager = new CoreWalletManager();
67
+ const minter = new ZipkitMinter('archive.zip', 'abc123...', { walletPrivateKey: '0x...', network: 'base-sepolia' });
68
+ const verifier = new ZipkitVerifier({ debug: false });
72
69
  ```
73
70
 
74
71
  ### OpenTimestamps (ZipKitOTS.ts)
@@ -98,9 +95,7 @@ Bitcoin blockchain timestamping utilities for ZIP file integrity verification.
98
95
  - `parseVerifyResult(verifyResult: TimestampResult): Promise<TimestampInfo>`
99
96
  - Parses timestamp verification result into readable information. Formats blockchain attestation data with human-readable messages and dates.
100
97
 
101
- **Certificate & Upgrade:**
102
- - `createCertificateOts(fileName: string, zipEntries: ZipEntry[], timestampResult: TimestampResult): Promise<string>`
103
- - Creates an HTML certificate for OpenTimestamps verification. Generates a certificate file documenting the timestamp verification results.
98
+ **Upgrade:**
104
99
  - `upgradeOTS(zipFilePath: string, upgradedOts: Buffer): Promise<void>`
105
100
  - Upgrades OpenTimestamps proof in an existing ZIP file. Replaces old timestamp metadata with upgraded OTS proof data.
106
101
  - `createOtsMetadataEntry(zipKit: any, ots: Buffer | null): any | null`
@@ -184,40 +179,39 @@ All contract-related constants and configurations in one place:
184
179
  ### Token Verification (ZipKitVerifier.ts)
185
180
  - High-level verification API for NZIP‑NFT contract and on-chain checks.
186
181
 
187
- ### Token Query (TokenQuerier.ts)
188
- - `queryBlockchainForExistingToken(merkleRoot: string, networkName: string): Promise<ExistingTokenInfo | null>`
189
- - `queryWalletTokens(address: string, networkName: string, options?: TokenQueryOptions): Promise<ExistingTokenInfo[]>`
190
- - `TokenQueryOptions` include pagination/filters as implemented in the module.
191
-
192
- Re‑exports (index.ts):
193
- - `queryBlockchainForExistingToken`, `queryWalletTokens`, `ExistingTokenInfo`, `TokenQueryOptions`.
194
-
195
- ### Wallet Manager (WalletManager.ts)
196
- - `class WalletManager`
197
- - Handles provider, signer, and basic transaction flows for the library’s contract interactions.
182
+ ### Token Query
183
+ Token querying functionality is integrated into the core wallet and verification classes:
184
+ - `CoreWalletManager.queryWalletTokens()` - Query tokens for a wallet address
185
+ - `ZipkitVerifier.queryBlockchainForExistingToken()` - Query for existing tokens by merkle root
198
186
 
199
- Re‑exports (index.ts):
200
- - `WalletManager`.
187
+ ### Wallet Management
188
+ - `class CoreWalletManager`: Platform-agnostic wallet operations (core functionality)
189
+ - `class WalletManagerServer`: Server-specific wallet management with file system operations
190
+ - `class WalletManagerBrowser`: Browser-specific wallet management with provider connections
191
+ - `class WalletAnalyzer`: Analyze balances, scan NZIP tokens, ERC‑20s and NFTs.
192
+ - Types re‑exported: `TokenInfo`, `NZipTokenDetails`, `WalletBasicInfo`, `TokenScanResult`, `CommonTokenConfig`.
201
193
 
202
- ### NFT Minting (ZipKitMinter.ts)
194
+ ### NFT Minting (ZipkitMinter.ts)
203
195
  - High‑level minting API for NZIP‑NFT contract.
196
+ - Core functionality in `core/ZipkitMinter.ts`
197
+ - Browser-specific implementation in `browser/ZipkitMinterBrowser.ts`
198
+ - Server-specific implementation in `server/ZipkitMinterServer.ts`
204
199
 
205
- ### Wallets (ZipKitWallet.ts)
206
- - `class ZipKitWallet`: Create/load/connect wallets and providers.
207
- - `class WalletAnalyzer`: Analyze balances, scan NZIP tokens, ERC‑20s and NFTs.
208
- - Types re‑exported: `TokenInfo`, `NZipTokenDetails`, `WalletBasicInfo`, `TokenScanResult`, `CommonTokenConfig`.
200
+ ### NFT Verification (ZipkitVerifier.ts)
201
+ - High‑level verification API for NZIP‑NFT contract.
202
+ - Core functionality in `core/ZipkitVerifier.ts`
203
+ - Browser token verification in `browser/TokenVerifierBrowser.ts`
204
+ - Server-specific implementation in `server/ZipkitVerifierServer.ts`
209
205
 
210
206
  - Helpers to format token and wallet data for display.
211
207
 
212
208
  Re‑exports (index.ts):
213
209
  Wallet formatting helpers have been removed. Use your app's UI layer for presentation formatting.
214
210
 
215
- ### ZIP Metadata Helpers (ZipMetadata.ts)
216
- - `class ZipMetadata`
217
- - Validation and rendering helpers for token metadata embedded in ZIPs.
218
-
219
- Re‑exports (index.ts):
220
- - `ZipMetadata`.
211
+ ### ZIP Metadata Helpers
212
+ ZIP metadata functionality is integrated into the core ZIP handling classes:
213
+ - Token metadata validation and processing is handled by `ZipkitMinter` and `ZipkitVerifier`
214
+ - Metadata entries are managed through the core ZIP utilities
221
215
 
222
216
  ### Module Types (types.ts)
223
217
  Exports shared types used across blockchain operations, including:
@@ -225,5 +219,4 @@ Exports shared types used across blockchain operations, including:
225
219
 
226
220
  ### Notes
227
221
  - All OTS utilities suppress verbose logs by default. Pass `{ debug: true }` to see OpenTimestamps logs.
228
- - Contract addresses vary per network; see `CONTRACT_ADDRESSES` and keep them updated after deployments.
229
-
222
+ - Contract addresses vary per network; see `CONTRACT_CONFIGS` and keep them updated after deployments.