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
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * ======================================
3
- * ZipKitOTS.ts - OpenTimestamps Integration
3
+ * ZipkitOTS.ts - OpenTimestamps Integration
4
4
  * ======================================
5
5
  *
6
6
  * This module provides comprehensive OpenTimestamps (OTS) functionality for ZIP files,
@@ -14,44 +14,10 @@
14
14
  * - Integration with ZIP file metadata
15
15
  *
16
16
  * @fileoverview OpenTimestamps utilities for blockchain-enabled ZIP files
17
- * @version 0.1.2
18
17
  * @author NeoWare Inc.
19
18
  */
20
19
  "use server";
21
20
  "use strict";
22
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
23
- if (k2 === undefined) k2 = k;
24
- var desc = Object.getOwnPropertyDescriptor(m, k);
25
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
26
- desc = { enumerable: true, get: function() { return m[k]; } };
27
- }
28
- Object.defineProperty(o, k2, desc);
29
- }) : (function(o, m, k, k2) {
30
- if (k2 === undefined) k2 = k;
31
- o[k2] = m[k];
32
- }));
33
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
34
- Object.defineProperty(o, "default", { enumerable: true, value: v });
35
- }) : function(o, v) {
36
- o["default"] = v;
37
- });
38
- var __importStar = (this && this.__importStar) || (function () {
39
- var ownKeys = function(o) {
40
- ownKeys = Object.getOwnPropertyNames || function (o) {
41
- var ar = [];
42
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
43
- return ar;
44
- };
45
- return ownKeys(o);
46
- };
47
- return function (mod) {
48
- if (mod && mod.__esModule) return mod;
49
- var result = {};
50
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
51
- __setModuleDefault(result, mod);
52
- return result;
53
- };
54
- })();
55
21
  var __importDefault = (this && this.__importDefault) || function (mod) {
56
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
57
23
  };
@@ -65,17 +31,20 @@ exports.verifyOtsZip = verifyOtsZip;
65
31
  exports.createTimestamp = createTimestamp;
66
32
  exports.deserializeOts = deserializeOts;
67
33
  exports.parseVerifyResult = parseVerifyResult;
68
- exports.createCertificateOts = createCertificateOts;
69
34
  exports.upgradeOTS = upgradeOTS;
70
35
  exports.createOtsMetadataEntry = createOtsMetadataEntry;
71
36
  // ===== Imports =====
72
37
  const moment_timezone_1 = __importDefault(require("moment-timezone"));
73
- const fs = __importStar(require("fs"));
74
- const Errors_1 = __importDefault(require("../shared/constants/Errors"));
75
- const CertificateOTS_1 = __importDefault(require("../shared/components/CertificateOTS"));
76
- const ZipKit_1 = __importDefault(require("../shared/ZipKit"));
77
- const Headers_1 = require("../shared/constants/Headers");
78
- const Util_1 = require("../shared/components/Util");
38
+ const core_1 = __importDefault(require("../../core"));
39
+ const Headers_1 = require("../../core/constants/Headers");
40
+ const ZipCrypto_1 = require("../../core/encryption/ZipCrypto");
41
+ // Platform detection
42
+ const isNode = typeof process !== 'undefined' && process.versions && process.versions.node;
43
+ // Node.js specific imports
44
+ let fs = null;
45
+ if (isNode) {
46
+ fs = require('fs');
47
+ }
79
48
  if (globalThis._bitcore)
80
49
  delete globalThis._bitcore;
81
50
  let OTSInstance = null;
@@ -85,7 +54,8 @@ let OTSInstance = null;
85
54
  */
86
55
  async function getOpenTimestamps() {
87
56
  if (!OTSInstance) {
88
- OTSInstance = (await Promise.resolve().then(() => __importStar(require('opentimestamps')))).default;
57
+ // @ts-ignore
58
+ OTSInstance = (await import('opentimestamps')).default;
89
59
  }
90
60
  return OTSInstance;
91
61
  }
@@ -187,7 +157,7 @@ function bufferToArrayBuffer(buf) {
187
157
  /**
188
158
  * Finds the OpenTimestamps entry in a ZIP file.
189
159
  * Searches for TIMESTAMP_METADATA first, then TIMESTAMP_SUBMITTED.
190
- * @param zip - ZipKit instance to search
160
+ * @param zip - Zipkit instance to search
191
161
  * @returns ZIP entry containing OTS proof, or null if not found
192
162
  */
193
163
  function getOtsEntry(zip) {
@@ -209,7 +179,7 @@ function getOtsEntry(zip) {
209
179
  }
210
180
  /**
211
181
  * Extracts OTS proof data from a ZIP entry.
212
- * @param zip - ZipKit instance
182
+ * @param zip - Zipkit instance
213
183
  * @param otsEntry - ZIP entry containing OTS data
214
184
  * @returns Promise resolving to OTS proof buffer, or null if extraction fails
215
185
  */
@@ -224,7 +194,7 @@ async function getOtsBuffer(zip, otsEntry) {
224
194
  }
225
195
  /**
226
196
  * Safely extracts merkle root from a ZIP file.
227
- * @param zip - ZipKit instance
197
+ * @param zip - Zipkit instance
228
198
  * @returns Merkle root hash string, or null if not available
229
199
  */
230
200
  function getMerkleRootSafe(zip) {
@@ -253,7 +223,7 @@ function coerceDate(val) {
253
223
  /**
254
224
  * Verifies OpenTimestamps proof within a ZIP file.
255
225
  * Extracts merkle root and OTS proof, then verifies against Bitcoin blockchain.
256
- * @param zip - ZipKit instance containing files and OTS proof
226
+ * @param zip - Zipkit instance containing files and OTS proof
257
227
  * @returns Promise resolving to verification result with status: 'none', 'error', 'pending', or 'valid'
258
228
  */
259
229
  async function verifyOtsZip(zip) {
@@ -388,38 +358,6 @@ async function parseVerifyResult(verifyResult) {
388
358
  }
389
359
  return tsInfo;
390
360
  }
391
- // =========================
392
- // Server-side certificate generation (HTML)
393
- // =========================
394
- /**
395
- * Creates an HTML certificate for OpenTimestamps verification.
396
- * Generates a certificate file documenting the timestamp verification results.
397
- * @param fileName - Base name for the ZIP file (used for certificate filename)
398
- * @param zipEntries - Array of ZIP entries to include in certificate
399
- * @param timestampResult - Verification result to document
400
- * @returns Promise resolving to success message with certificate filename, or error message
401
- */
402
- async function createCertificateOts(fileName, zipEntries, timestampResult) {
403
- if (!timestampResult || !timestampResult.merkleRoot || !fileName) {
404
- return Errors_1.default.CERTIFICATE_OTS_BAD;
405
- }
406
- const rsp = await deserializeOts(timestampResult);
407
- if (!rsp)
408
- return Errors_1.default.CERTIFICATE_OTS_FAILED;
409
- const result = JSON.parse(rsp);
410
- const cert = (0, CertificateOTS_1.default)(result.attestStr, fileName, timestampResult.merkleRoot, result.needsUpdateMsg, result.attestationValues, zipEntries, false);
411
- if (!cert)
412
- return Errors_1.default.CERTIFICATE_OTS_FAILED;
413
- const certFileName = fileName + '.certificate.html';
414
- try {
415
- fs.writeFileSync(certFileName, cert, { encoding: 'utf8' });
416
- return `Certificate created as ${certFileName}`;
417
- }
418
- catch (error) {
419
- console.error(`Failed to write certificate file: ${error}`);
420
- return Errors_1.default.CERTIFICATE_OTS_FAILED;
421
- }
422
- }
423
361
  /**
424
362
  * Upgrades OpenTimestamps proof in an existing ZIP file.
425
363
  * Replaces old timestamp metadata with upgraded OTS proof data.
@@ -429,6 +367,9 @@ async function createCertificateOts(fileName, zipEntries, timestampResult) {
429
367
  * @throws Error if upgrade fails
430
368
  */
431
369
  async function upgradeOTS(zipFilePath, upgradedOts) {
370
+ if (!fs) {
371
+ throw new Error('upgradeOTS() is only available in Node.js environment');
372
+ }
432
373
  if (!fs.existsSync(zipFilePath)) {
433
374
  throw new Error(`Zip file not found: ${zipFilePath}`);
434
375
  }
@@ -439,7 +380,7 @@ async function upgradeOTS(zipFilePath, upgradedOts) {
439
380
  const tempPath = `${zipFilePath}.upgrading.${Date.now()}.${process.pid}`;
440
381
  try {
441
382
  // Load the existing zip file
442
- const zipKit = new ZipKit_1.default();
383
+ const zipKit = new core_1.default();
443
384
  const zipData = fs.readFileSync(zipFilePath);
444
385
  zipKit.loadZip(zipData);
445
386
  const zipEntries = zipKit.getDirectory(false) || [];
@@ -458,7 +399,7 @@ async function upgradeOTS(zipFilePath, upgradedOts) {
458
399
  continue;
459
400
  }
460
401
  // Copy the entry data
461
- const entryData = zipKit.copyEntry(entry);
402
+ const entryData = await zipKit.copyEntry(entry);
462
403
  if (!entryData) {
463
404
  throw new Error(`Failed to copy entry data for: ${entry.filename}`);
464
405
  }
@@ -478,7 +419,7 @@ async function upgradeOTS(zipFilePath, upgradedOts) {
478
419
  tsEntry.compressedSize = upgradedOts.length;
479
420
  tsEntry.uncompressedSize = upgradedOts.length;
480
421
  tsEntry.cmpMethod = Headers_1.CMP_METHOD.STORED; // Store without compression
481
- tsEntry.crc = (0, Util_1.crc32)(upgradedOts);
422
+ tsEntry.crc = (0, ZipCrypto_1.crc32)(upgradedOts);
482
423
  tsEntry.fileData = upgradedOts; // Cast to any to avoid type issues
483
424
  // Create and add the local header for the timestamp entry
484
425
  const localHdr = tsEntry.createLocalHdr();
@@ -546,7 +487,7 @@ async function upgradeOTS(zipFilePath, upgradedOts) {
546
487
  /**
547
488
  * Creates a ZIP metadata entry containing OpenTimestamps proof.
548
489
  * Creates a special ZIP entry marked as metadata that stores OTS proof data.
549
- * @param zipKit - ZipKit instance to add metadata entry to
490
+ * @param zipKit - Zipkit instance to add metadata entry to
550
491
  * @param ots - Buffer containing OpenTimestamps proof data
551
492
  * @returns ZIP entry containing OTS metadata, or null if creation failed
552
493
  */
@@ -554,7 +495,7 @@ function createOtsMetadataEntry(zipKit, ots) {
554
495
  if (!ots || !zipKit)
555
496
  return null;
556
497
  const tsEntry = zipKit.createZipEntry(Headers_1.TIMESTAMP_SUBMITTED);
557
- tsEntry.crc = (0, Util_1.crc32)(ots);
498
+ tsEntry.crc = (0, ZipCrypto_1.crc32)(ots);
558
499
  tsEntry.uncompressedSize = ots.length;
559
500
  tsEntry.compressedSize = ots.length;
560
501
  tsEntry.cmpMethod = Headers_1.CMP_METHOD.STORED;
@@ -562,3 +503,4 @@ function createOtsMetadataEntry(zipKit, ots) {
562
503
  tsEntry.isMetaData = true;
563
504
  return tsEntry;
564
505
  }
506
+ //# sourceMappingURL=ZipkitOTS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZipkitOTS.js","sourceRoot":"","sources":["../../../src/blockchain/core/ZipkitOTS.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,177 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * ZipkitVerifier - Handles NFT token verification for ZIP files
4
+ * Verifier API for NZIP-NFT smart contract.
5
+ */
6
+ import { type ContractConfig } from './contracts';
7
+ import type { TokenMetadata } from '../../types';
8
+ export interface VerificationOptions {
9
+ debug?: boolean;
10
+ skipHash?: boolean;
11
+ }
12
+ export interface VerificationResult {
13
+ success: boolean;
14
+ message: string;
15
+ tokenMetadata?: TokenMetadata;
16
+ verificationDetails?: {
17
+ tokenId: string;
18
+ network: string;
19
+ contractAddress: string;
20
+ merkleRoot: string;
21
+ mintDate: string;
22
+ calculatedMerkleRoot?: string;
23
+ declaredMerkleRoot?: string;
24
+ merkleRootMatch?: boolean;
25
+ onChainValid?: boolean;
26
+ currentWallet?: string;
27
+ };
28
+ errorDetails?: {
29
+ errorType: 'METADATA_ERROR' | 'MERKLE_ERROR' | 'NETWORK_ERROR' | 'CONTRACT_ERROR';
30
+ networkName?: string;
31
+ rpcUrl?: string;
32
+ contractAddress?: string;
33
+ tokenId?: string;
34
+ merkleRoot?: string;
35
+ calculatedMerkleRoot?: string;
36
+ onChainMerkleRoot?: string;
37
+ };
38
+ }
39
+ export interface EnhancedVerificationResult extends VerificationResult {
40
+ retryAttempts?: number;
41
+ processingTime?: number;
42
+ timestamp?: number;
43
+ }
44
+ export interface BatchVerificationResult {
45
+ success: boolean;
46
+ totalTokens: number;
47
+ successfulVerifications: number;
48
+ failedVerifications: number;
49
+ results: EnhancedVerificationResult[];
50
+ processingTime: number;
51
+ }
52
+ export interface VerificationJob {
53
+ tokenId: string;
54
+ merkleRoot?: string;
55
+ priority?: 'low' | 'normal' | 'high';
56
+ retryCount?: number;
57
+ }
58
+ /**
59
+ * Blockchain Token Verifier for ZIP files
60
+ */
61
+ export declare class ZipkitVerifier {
62
+ private debug;
63
+ protected maxRetries: number;
64
+ protected retryDelay: number;
65
+ protected batchDelay: number;
66
+ constructor(options?: VerificationOptions & {
67
+ maxRetries?: number;
68
+ retryDelay?: number;
69
+ batchDelay?: number;
70
+ });
71
+ /**
72
+ * Extract and validate token metadata from ZIP
73
+ */
74
+ extractTokenMetadata(tokenBuffer: Buffer): Promise<{
75
+ success: boolean;
76
+ metadata?: TokenMetadata;
77
+ error?: string;
78
+ }>;
79
+ /**
80
+ * Map network name to RPC configuration using contracts.ts (single source of truth)
81
+ * Supports both old metadata (without networkChainId) and new metadata (with networkChainId)
82
+ */
83
+ private getNetworkConfig;
84
+ /**
85
+ * Perform merkle root comparison
86
+ */
87
+ private compareMerkleRoots;
88
+ /**
89
+ * Verify token against blockchain
90
+ * @param rpcUrlIndex Optional index of RPC URL to use (default: 0)
91
+ */
92
+ verifyOnChain(tokenId: string, contractAddress: string, networkConfig: ContractConfig, merkleRoot: string, rpcUrlIndex?: number): Promise<{
93
+ success: boolean;
94
+ isValid?: boolean;
95
+ onChainMerkleRoot?: string;
96
+ onChainTokenizationTime?: number;
97
+ onChainCreator?: string;
98
+ onChainBlockNumber?: number;
99
+ error?: string;
100
+ rpcUrl?: string;
101
+ }>;
102
+ /**
103
+ * Complete verification process
104
+ * @param rpcUrlIndex Optional index of RPC URL to use (default: 0)
105
+ */
106
+ verifyToken(tokenMetadata: TokenMetadata, calculatedMerkleRoot: string | null, options?: VerificationOptions, rpcUrlIndex?: number): Promise<VerificationResult>;
107
+ /**
108
+ * Verify token with retry logic and exponential backoff
109
+ * @param tokenMetadata Token metadata to verify
110
+ * @param calculatedMerkleRoot Calculated merkle root from archive
111
+ * @param maxRetries Maximum number of retry attempts (default: uses instance maxRetries)
112
+ * @returns Enhanced verification result with retry information
113
+ */
114
+ verifyTokenWithRetry(tokenMetadata: TokenMetadata, calculatedMerkleRoot: string | null, maxRetries?: number): Promise<EnhancedVerificationResult>;
115
+ /**
116
+ * Batch verification for multiple tokens with rate limiting
117
+ * @param tokens Array of token metadata and merkle roots to verify
118
+ * @param options Batch processing options
119
+ * @returns Batch verification result
120
+ */
121
+ verifyBatch(tokens: Array<{
122
+ tokenMetadata: TokenMetadata;
123
+ calculatedMerkleRoot: string | null;
124
+ }>, options?: {
125
+ parallel?: boolean;
126
+ maxConcurrent?: number;
127
+ }): Promise<BatchVerificationResult>;
128
+ /**
129
+ * Verify tokens in parallel with concurrency control
130
+ */
131
+ private verifyBatchParallel;
132
+ /**
133
+ * Verify tokens sequentially with rate limiting
134
+ */
135
+ private verifyBatchSequential;
136
+ /**
137
+ * Process verification jobs with priority queue
138
+ * @param jobs Array of verification jobs
139
+ * @param options Processing options
140
+ * @returns Batch verification result
141
+ */
142
+ processVerificationJobs(jobs: VerificationJob[], options?: {
143
+ maxConcurrent?: number;
144
+ priorityOrder?: boolean;
145
+ getTokenMetadata?: (tokenId: string) => Promise<TokenMetadata | null>;
146
+ getCalculatedMerkleRoot?: (tokenId: string) => Promise<string | null>;
147
+ }): Promise<BatchVerificationResult>;
148
+ /**
149
+ * Sort verification jobs by priority
150
+ */
151
+ private sortJobsByPriority;
152
+ /**
153
+ * Calculate retry delay with exponential backoff
154
+ */
155
+ protected calculateRetryDelay(attempt: number): number;
156
+ /**
157
+ * Utility method for delays
158
+ */
159
+ protected delay(ms: number): Promise<void>;
160
+ /**
161
+ * Get verification statistics
162
+ */
163
+ getVerificationStats(): {
164
+ maxRetries: number;
165
+ retryDelay: number;
166
+ batchDelay: number;
167
+ };
168
+ /**
169
+ * Update verification configuration
170
+ */
171
+ updateConfig(config: {
172
+ maxRetries?: number;
173
+ retryDelay?: number;
174
+ batchDelay?: number;
175
+ }): void;
176
+ }
177
+ //# sourceMappingURL=ZipkitVerifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZipkitVerifier.d.ts","sourceRoot":"","sources":["../../../src/blockchain/core/ZipkitVerifier.ts"],"names":[],"mappings":"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"}