neozip-blockchain 0.5.1

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 (127) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +189 -0
  3. package/dist/browser/TokenVerifierBrowser.d.ts +63 -0
  4. package/dist/browser/TokenVerifierBrowser.d.ts.map +1 -0
  5. package/dist/browser/TokenVerifierBrowser.js +358 -0
  6. package/dist/browser/TokenVerifierBrowser.js.map +1 -0
  7. package/dist/browser/WalletManagerBrowser.d.ts +99 -0
  8. package/dist/browser/WalletManagerBrowser.d.ts.map +1 -0
  9. package/dist/browser/WalletManagerBrowser.js +434 -0
  10. package/dist/browser/WalletManagerBrowser.js.map +1 -0
  11. package/dist/browser/ZipkitMinterBrowser.d.ts +59 -0
  12. package/dist/browser/ZipkitMinterBrowser.d.ts.map +1 -0
  13. package/dist/browser/ZipkitMinterBrowser.js +337 -0
  14. package/dist/browser/ZipkitMinterBrowser.js.map +1 -0
  15. package/dist/browser/index.d.ts +12 -0
  16. package/dist/browser/index.d.ts.map +1 -0
  17. package/dist/browser/index.js +19 -0
  18. package/dist/browser/index.js.map +1 -0
  19. package/dist/constants/index.d.ts +5 -0
  20. package/dist/constants/index.d.ts.map +1 -0
  21. package/dist/constants/index.js +21 -0
  22. package/dist/constants/index.js.map +1 -0
  23. package/dist/constants/metadata.d.ts +18 -0
  24. package/dist/constants/metadata.d.ts.map +1 -0
  25. package/dist/constants/metadata.js +33 -0
  26. package/dist/constants/metadata.js.map +1 -0
  27. package/dist/constants/servers.d.ts +38 -0
  28. package/dist/constants/servers.d.ts.map +1 -0
  29. package/dist/constants/servers.js +54 -0
  30. package/dist/constants/servers.js.map +1 -0
  31. package/dist/core/ContractVersionRegistry.d.ts +63 -0
  32. package/dist/core/ContractVersionRegistry.d.ts.map +1 -0
  33. package/dist/core/ContractVersionRegistry.js +128 -0
  34. package/dist/core/ContractVersionRegistry.js.map +1 -0
  35. package/dist/core/WalletManager.d.ts +123 -0
  36. package/dist/core/WalletManager.d.ts.map +1 -0
  37. package/dist/core/WalletManager.js +360 -0
  38. package/dist/core/WalletManager.js.map +1 -0
  39. package/dist/core/ZipkitMinter.d.ts +155 -0
  40. package/dist/core/ZipkitMinter.d.ts.map +1 -0
  41. package/dist/core/ZipkitMinter.js +625 -0
  42. package/dist/core/ZipkitMinter.js.map +1 -0
  43. package/dist/core/ZipkitVerifier.d.ts +252 -0
  44. package/dist/core/ZipkitVerifier.d.ts.map +1 -0
  45. package/dist/core/ZipkitVerifier.js +1370 -0
  46. package/dist/core/ZipkitVerifier.js.map +1 -0
  47. package/dist/core/adapters/AdapterFactory.d.ts +22 -0
  48. package/dist/core/adapters/AdapterFactory.d.ts.map +1 -0
  49. package/dist/core/adapters/AdapterFactory.js +62 -0
  50. package/dist/core/adapters/AdapterFactory.js.map +1 -0
  51. package/dist/core/adapters/ContractVersionAdapter.d.ts +96 -0
  52. package/dist/core/adapters/ContractVersionAdapter.d.ts.map +1 -0
  53. package/dist/core/adapters/ContractVersionAdapter.js +9 -0
  54. package/dist/core/adapters/ContractVersionAdapter.js.map +1 -0
  55. package/dist/core/adapters/V2_10Adapter.d.ts +24 -0
  56. package/dist/core/adapters/V2_10Adapter.d.ts.map +1 -0
  57. package/dist/core/adapters/V2_10Adapter.js +87 -0
  58. package/dist/core/adapters/V2_10Adapter.js.map +1 -0
  59. package/dist/core/adapters/V2_11Adapter.d.ts +24 -0
  60. package/dist/core/adapters/V2_11Adapter.d.ts.map +1 -0
  61. package/dist/core/adapters/V2_11Adapter.js +87 -0
  62. package/dist/core/adapters/V2_11Adapter.js.map +1 -0
  63. package/dist/core/adapters/V2_50Adapter.d.ts +105 -0
  64. package/dist/core/adapters/V2_50Adapter.d.ts.map +1 -0
  65. package/dist/core/adapters/V2_50Adapter.js +263 -0
  66. package/dist/core/adapters/V2_50Adapter.js.map +1 -0
  67. package/dist/core/contracts.d.ts +169 -0
  68. package/dist/core/contracts.d.ts.map +1 -0
  69. package/dist/core/contracts.js +731 -0
  70. package/dist/core/contracts.js.map +1 -0
  71. package/dist/core/index.d.ts +24 -0
  72. package/dist/core/index.d.ts.map +1 -0
  73. package/dist/core/index.js +82 -0
  74. package/dist/core/index.js.map +1 -0
  75. package/dist/index.d.ts +15 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +40 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/node/WalletManagerNode.d.ts +47 -0
  80. package/dist/node/WalletManagerNode.d.ts.map +1 -0
  81. package/dist/node/WalletManagerNode.js +203 -0
  82. package/dist/node/WalletManagerNode.js.map +1 -0
  83. package/dist/node/index.d.ts +12 -0
  84. package/dist/node/index.d.ts.map +1 -0
  85. package/dist/node/index.js +21 -0
  86. package/dist/node/index.js.map +1 -0
  87. package/dist/ots/ZipkitOTS.d.ts +152 -0
  88. package/dist/ots/ZipkitOTS.d.ts.map +1 -0
  89. package/dist/ots/ZipkitOTS.js +544 -0
  90. package/dist/ots/ZipkitOTS.js.map +1 -0
  91. package/dist/ots/index.d.ts +9 -0
  92. package/dist/ots/index.d.ts.map +1 -0
  93. package/dist/ots/index.js +25 -0
  94. package/dist/ots/index.js.map +1 -0
  95. package/dist/types/index.d.ts +84 -0
  96. package/dist/types/index.d.ts.map +1 -0
  97. package/dist/types/index.js +37 -0
  98. package/dist/types/index.js.map +1 -0
  99. package/dist/utils/Logger.d.ts +73 -0
  100. package/dist/utils/Logger.d.ts.map +1 -0
  101. package/dist/utils/Logger.js +156 -0
  102. package/dist/utils/Logger.js.map +1 -0
  103. package/dist/utils/crc32.d.ts +6 -0
  104. package/dist/utils/crc32.d.ts.map +1 -0
  105. package/dist/utils/crc32.js +23 -0
  106. package/dist/utils/crc32.js.map +1 -0
  107. package/dist/zipstamp-server/CalendarManager.d.ts +238 -0
  108. package/dist/zipstamp-server/CalendarManager.d.ts.map +1 -0
  109. package/dist/zipstamp-server/CalendarManager.js +364 -0
  110. package/dist/zipstamp-server/CalendarManager.js.map +1 -0
  111. package/dist/zipstamp-server/ZipstampServerAPI.d.ts +427 -0
  112. package/dist/zipstamp-server/ZipstampServerAPI.d.ts.map +1 -0
  113. package/dist/zipstamp-server/ZipstampServerAPI.js +696 -0
  114. package/dist/zipstamp-server/ZipstampServerAPI.js.map +1 -0
  115. package/dist/zipstamp-server/ZipstampServerClient.d.ts +590 -0
  116. package/dist/zipstamp-server/ZipstampServerClient.d.ts.map +1 -0
  117. package/dist/zipstamp-server/ZipstampServerClient.js +433 -0
  118. package/dist/zipstamp-server/ZipstampServerClient.js.map +1 -0
  119. package/dist/zipstamp-server/ZipstampServerHelpers.d.ts +430 -0
  120. package/dist/zipstamp-server/ZipstampServerHelpers.d.ts.map +1 -0
  121. package/dist/zipstamp-server/ZipstampServerHelpers.js +503 -0
  122. package/dist/zipstamp-server/ZipstampServerHelpers.js.map +1 -0
  123. package/dist/zipstamp-server/index.d.ts +24 -0
  124. package/dist/zipstamp-server/index.d.ts.map +1 -0
  125. package/dist/zipstamp-server/index.js +67 -0
  126. package/dist/zipstamp-server/index.js.map +1 -0
  127. package/package.json +117 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZipkitVerifier.js","sourceRoot":"","sources":["../../src/core/ZipkitVerifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * AdapterFactory - Factory for creating contract version adapters
3
+ *
4
+ * Provides a centralized way to get the correct adapter based on contract version.
5
+ */
6
+ import type { ContractVersionAdapter } from './ContractVersionAdapter';
7
+ /**
8
+ * Get the appropriate adapter for a contract version
9
+ * @param version Contract version string (e.g., "2.11", "2.10", "2.11.0")
10
+ * @returns ContractVersionAdapter instance
11
+ * @throws Error if version is not supported
12
+ */
13
+ export declare function getAdapter(version: string): ContractVersionAdapter;
14
+ /**
15
+ * Get adapter by chainId (looks up version from CONTRACT_CONFIGS)
16
+ * @param chainId Chain ID
17
+ * @param version Optional version override (if not provided, looks up from config)
18
+ * @returns ContractVersionAdapter instance
19
+ * @throws Error if chainId not found or version not supported
20
+ */
21
+ export declare function getAdapterByChainId(chainId: number, version?: string): ContractVersionAdapter;
22
+ //# sourceMappingURL=AdapterFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdapterFactory.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/AdapterFactory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,CAsBlE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAkB7F"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ /**
3
+ * AdapterFactory - Factory for creating contract version adapters
4
+ *
5
+ * Provides a centralized way to get the correct adapter based on contract version.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.getAdapter = getAdapter;
9
+ exports.getAdapterByChainId = getAdapterByChainId;
10
+ const ContractVersionRegistry_1 = require("../ContractVersionRegistry");
11
+ const V2_10Adapter_1 = require("./V2_10Adapter");
12
+ const V2_11Adapter_1 = require("./V2_11Adapter");
13
+ const V2_50Adapter_1 = require("./V2_50Adapter");
14
+ /**
15
+ * Get the appropriate adapter for a contract version
16
+ * @param version Contract version string (e.g., "2.11", "2.10", "2.11.0")
17
+ * @returns ContractVersionAdapter instance
18
+ * @throws Error if version is not supported
19
+ */
20
+ function getAdapter(version) {
21
+ const normalized = (0, ContractVersionRegistry_1.normalizeVersion)(version);
22
+ if (!normalized) {
23
+ throw new Error(`Invalid contract version: "${version}" (normalized to empty string)`);
24
+ }
25
+ if (!(0, ContractVersionRegistry_1.isVersionSupported)(normalized)) {
26
+ throw new Error(`Unsupported contract version: "${version}" (normalized: "${normalized}"). Supported versions: 2.10, 2.11, 2.50`);
27
+ }
28
+ switch (normalized) {
29
+ case '2.10':
30
+ return new V2_10Adapter_1.V2_10Adapter();
31
+ case '2.11':
32
+ return new V2_11Adapter_1.V2_11Adapter();
33
+ case '2.50':
34
+ return new V2_50Adapter_1.V2_50Adapter();
35
+ default:
36
+ // This should never happen if isVersionSupported is correct, but keep as safety check
37
+ throw new Error(`Unsupported contract version: "${version}" (normalized: "${normalized}"). Supported versions: 2.10, 2.11, 2.50`);
38
+ }
39
+ }
40
+ /**
41
+ * Get adapter by chainId (looks up version from CONTRACT_CONFIGS)
42
+ * @param chainId Chain ID
43
+ * @param version Optional version override (if not provided, looks up from config)
44
+ * @returns ContractVersionAdapter instance
45
+ * @throws Error if chainId not found or version not supported
46
+ */
47
+ function getAdapterByChainId(chainId, version) {
48
+ if (version) {
49
+ return getAdapter(version);
50
+ }
51
+ // Import here to avoid circular dependency
52
+ const { getContractConfig } = require('../contracts');
53
+ const config = getContractConfig(chainId);
54
+ if (!config) {
55
+ throw new Error(`No contract config found for chainId: ${chainId}`);
56
+ }
57
+ if (!config.version) {
58
+ throw new Error(`Contract version not specified for chainId: ${chainId}`);
59
+ }
60
+ return getAdapter(config.version);
61
+ }
62
+ //# sourceMappingURL=AdapterFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdapterFactory.js","sourceRoot":"","sources":["../../../src/core/adapters/AdapterFactory.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAcH,gCAsBC;AASD,kDAkBC;AA7DD,wEAAkF;AAClF,iDAA8C;AAC9C,iDAA8C;AAC9C,iDAA8C;AAG9C;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,OAAe;IACxC,MAAM,UAAU,GAAG,IAAA,0CAAgB,EAAC,OAAO,CAAC,CAAC;IAE7C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,gCAAgC,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,CAAC,IAAA,4CAAkB,EAAC,UAAU,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,kCAAkC,OAAO,mBAAmB,UAAU,0CAA0C,CAAC,CAAC;IACpI,CAAC;IAED,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,IAAI,2BAAY,EAAE,CAAC;QAC5B,KAAK,MAAM;YACT,OAAO,IAAI,2BAAY,EAAE,CAAC;QAC5B,KAAK,MAAM;YACT,OAAO,IAAI,2BAAY,EAAE,CAAC;QAC5B;YACE,sFAAsF;YACtF,MAAM,IAAI,KAAK,CAAC,kCAAkC,OAAO,mBAAmB,UAAU,0CAA0C,CAAC,CAAC;IACtI,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,OAAe,EAAE,OAAgB;IACnE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,2CAA2C;IAC3C,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAE1C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,yCAAyC,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,+CAA+C,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * ContractVersionAdapter - Interface for version-specific contract operations
3
+ *
4
+ * Each contract version implements this interface to handle version-specific
5
+ * differences in function signatures, return types, and available fields.
6
+ */
7
+ import type { Contract, ContractTransactionResponse, BaseContract } from 'ethers';
8
+ /**
9
+ * ZipFileInfo structure returned by adapters
10
+ * Includes all possible fields, with optional fields based on version
11
+ */
12
+ export interface ZipFileInfo {
13
+ merkleRootHash: string;
14
+ encryptedHash?: string;
15
+ ipfsHash: string;
16
+ creator: string;
17
+ creationTimestamp: bigint;
18
+ tokenizationTime: bigint;
19
+ blockNumber: bigint;
20
+ fileName?: string;
21
+ }
22
+ /**
23
+ * Parsed ZipFileTokenized event
24
+ */
25
+ export interface ZipFileTokenizedEvent {
26
+ tokenId: bigint;
27
+ creator: string;
28
+ merkleRootHash: string;
29
+ encryptedHash?: string;
30
+ creationTimestamp: bigint;
31
+ ipfsHash: string;
32
+ tokenizationTime: bigint;
33
+ blockNumber: bigint;
34
+ fileName?: string;
35
+ }
36
+ /**
37
+ * Timestamp proof data (v2.50+)
38
+ * Data structure for tokens minted with timestamp proof verification
39
+ */
40
+ export interface TimestampProofData {
41
+ hasTimestampProof: boolean;
42
+ batchMerkleRoot: string;
43
+ batchTimestamp: bigint;
44
+ batchBlockNumber: bigint;
45
+ }
46
+ /**
47
+ * Interface for contract version adapters
48
+ * Each adapter handles version-specific contract interactions
49
+ */
50
+ export interface ContractVersionAdapter {
51
+ /** Contract version this adapter handles (e.g., "2.11", "2.10") */
52
+ readonly version: string;
53
+ /**
54
+ * Mint a new ZIP file token
55
+ * @param contract Contract instance (Contract or BaseContract for browser compatibility)
56
+ * @param merkleRoot Merkle root hash of ZIP contents
57
+ * @param encryptedHash Encrypted hash (if supported, undefined otherwise)
58
+ * @param creationTimestamp Creation timestamp
59
+ * @param ipfsHash IPFS hash
60
+ * @param metadataURI Metadata URI
61
+ * @param gasOptions Optional gas limit and price
62
+ * @returns Transaction response
63
+ */
64
+ mintZipFile(contract: Contract | BaseContract, merkleRoot: string, encryptedHash: string | undefined, creationTimestamp: number, ipfsHash: string, metadataURI: string, gasOptions?: {
65
+ gasLimit: bigint;
66
+ gasPrice: bigint;
67
+ }): Promise<ContractTransactionResponse>;
68
+ /**
69
+ * Get ZIP file information for a token
70
+ * @param contract Contract instance (Contract or BaseContract for browser compatibility)
71
+ * @param tokenId Token ID
72
+ * @returns ZipFileInfo with all available fields for this version
73
+ */
74
+ getZipFileInfo(contract: Contract | BaseContract, tokenId: bigint): Promise<ZipFileInfo>;
75
+ /**
76
+ * Parse ZipFileTokenized event from log
77
+ * @param log Event log
78
+ * @returns Parsed event data
79
+ */
80
+ parseZipFileTokenizedEvent(log: {
81
+ topics: string[];
82
+ data: string;
83
+ }): ZipFileTokenizedEvent;
84
+ /**
85
+ * Estimate gas for mintZipFile operation
86
+ * @param contract Contract instance (Contract or BaseContract for browser compatibility)
87
+ * @param merkleRoot Merkle root hash
88
+ * @param encryptedHash Encrypted hash (if supported)
89
+ * @param creationTimestamp Creation timestamp
90
+ * @param ipfsHash IPFS hash
91
+ * @param metadataURI Metadata URI
92
+ * @returns Estimated gas limit
93
+ */
94
+ estimateGasForMint(contract: Contract | BaseContract, merkleRoot: string, encryptedHash: string | undefined, creationTimestamp: number, ipfsHash: string, metadataURI: string): Promise<bigint>;
95
+ }
96
+ //# sourceMappingURL=ContractVersionAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContractVersionAdapter.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/ContractVersionAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,2BAA2B,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAElF;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;;;;;;;;OAUG;IACH,WAAW,CACT,QAAQ,EAAE,QAAQ,GAAG,YAAY,EACjC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAExC;;;;;OAKG;IACH,cAAc,CACZ,QAAQ,EAAE,QAAQ,GAAG,YAAY,EACjC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB;;;;OAIG;IACH,0BAA0B,CAAC,GAAG,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,qBAAqB,CAAC;IAE3F;;;;;;;;;OASG;IACH,kBAAkB,CAChB,QAAQ,EAAE,QAAQ,GAAG,YAAY,EACjC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAAC;CACpB"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * ContractVersionAdapter - Interface for version-specific contract operations
4
+ *
5
+ * Each contract version implements this interface to handle version-specific
6
+ * differences in function signatures, return types, and available fields.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=ContractVersionAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContractVersionAdapter.js","sourceRoot":"","sources":["../../../src/core/adapters/ContractVersionAdapter.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * V2_10Adapter - Adapter for contract version 2.10
3
+ *
4
+ * Handles v2.10 contract operations:
5
+ * - No encryptedHash support
6
+ * - No fileName field
7
+ * - publicMintZipFile signature: (merkleRootHash, creationTimestamp, ipfsHash, metadataURI)
8
+ */
9
+ import type { Contract, ContractTransactionResponse, BaseContract } from 'ethers';
10
+ import type { ContractVersionAdapter, ZipFileInfo, ZipFileTokenizedEvent } from './ContractVersionAdapter';
11
+ export declare class V2_10Adapter implements ContractVersionAdapter {
12
+ readonly version = "2.10";
13
+ mintZipFile(contract: Contract | BaseContract, merkleRoot: string, encryptedHash: string | undefined, creationTimestamp: number, ipfsHash: string, metadataURI: string, gasOptions?: {
14
+ gasLimit: bigint;
15
+ gasPrice: bigint;
16
+ }): Promise<ContractTransactionResponse>;
17
+ getZipFileInfo(contract: Contract | BaseContract, tokenId: bigint): Promise<ZipFileInfo>;
18
+ parseZipFileTokenizedEvent(log: {
19
+ topics: string[];
20
+ data: string;
21
+ }): ZipFileTokenizedEvent;
22
+ estimateGasForMint(contract: Contract | BaseContract, merkleRoot: string, encryptedHash: string | undefined, creationTimestamp: number, ipfsHash: string, metadataURI: string): Promise<bigint>;
23
+ }
24
+ //# sourceMappingURL=V2_10Adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V2_10Adapter.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/V2_10Adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,2BAA2B,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAElF,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAW3G,qBAAa,YAAa,YAAW,sBAAsB;IACzD,QAAQ,CAAC,OAAO,UAAU;IAEpB,WAAW,CACf,QAAQ,EAAE,QAAQ,GAAG,YAAY,EACjC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,2BAA2B,CAAC;IAsBjC,cAAc,CAClB,QAAQ,EAAE,QAAQ,GAAG,YAAY,EACjC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,CAAC;IA4BvB,0BAA0B,CAAC,GAAG,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,qBAAqB;IAsBpF,kBAAkB,CACtB,QAAQ,EAAE,QAAQ,GAAG,YAAY,EACjC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC;CAUnB"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ /**
3
+ * V2_10Adapter - Adapter for contract version 2.10
4
+ *
5
+ * Handles v2.10 contract operations:
6
+ * - No encryptedHash support
7
+ * - No fileName field
8
+ * - publicMintZipFile signature: (merkleRootHash, creationTimestamp, ipfsHash, metadataURI)
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.V2_10Adapter = void 0;
12
+ const ethers_1 = require("ethers");
13
+ // Minimal ABI for v2.10 operations
14
+ const V2_10_ABI = [
15
+ "function publicMintZipFile(string memory merkleRootHash, uint256 creationTimestamp, string memory ipfsHash, string memory metadataURI) public returns (uint256)",
16
+ "function getZipFileInfo(uint256 tokenId) external view returns (tuple(string merkleRootHash, string ipfsHash, address creator, uint256 creationTimestamp, uint256 tokenizationTime, uint256 blockNumber))",
17
+ "event ZipFileTokenized(uint256 indexed tokenId, address indexed creator, string merkleRootHash, uint256 creationTimestamp, string ipfsHash, uint256 tokenizationTime, uint256 blockNumber)"
18
+ ];
19
+ const iface = new ethers_1.Interface(V2_10_ABI);
20
+ class V2_10Adapter {
21
+ constructor() {
22
+ this.version = '2.10';
23
+ }
24
+ async mintZipFile(contract, merkleRoot, encryptedHash, creationTimestamp, ipfsHash, metadataURI, gasOptions) {
25
+ // v2.10 doesn't support encryptedHash - ignore it
26
+ if (encryptedHash) {
27
+ console.warn('[V2_10Adapter] encryptedHash provided but v2.10 contract does not support it - ignoring');
28
+ }
29
+ // v2.10 signature: publicMintZipFile(merkleRootHash, creationTimestamp, ipfsHash, metadataURI)
30
+ const contractTyped = contract;
31
+ const args = [
32
+ merkleRoot,
33
+ creationTimestamp,
34
+ ipfsHash,
35
+ metadataURI
36
+ ];
37
+ if (gasOptions) {
38
+ return await contractTyped.publicMintZipFile(...args, gasOptions);
39
+ }
40
+ return await contractTyped.publicMintZipFile(...args);
41
+ }
42
+ async getZipFileInfo(contract, tokenId) {
43
+ // v2.10 returns: (merkleRootHash, ipfsHash, creator, creationTimestamp, tokenizationTime, blockNumber)
44
+ // Use adapter's ABI to ensure we get the correct return structure
45
+ const contractTyped = contract;
46
+ // Get the provider/runner from the contract
47
+ const runner = contractTyped.runner || contractTyped.provider;
48
+ // Create a contract with the adapter's ABI to get the full return structure
49
+ const adapterContract = new ethers_1.Contract(contractTyped.target, V2_10_ABI, runner);
50
+ const result = await adapterContract.getZipFileInfo(tokenId);
51
+ return {
52
+ merkleRootHash: result[0],
53
+ ipfsHash: result[1],
54
+ creator: result[2],
55
+ creationTimestamp: result[3],
56
+ tokenizationTime: result[4],
57
+ blockNumber: result[5],
58
+ // encryptedHash and fileName not available in v2.10
59
+ };
60
+ }
61
+ parseZipFileTokenizedEvent(log) {
62
+ const parsed = iface.parseLog({
63
+ topics: log.topics,
64
+ data: log.data
65
+ });
66
+ if (!parsed || parsed.name !== 'ZipFileTokenized') {
67
+ throw new Error('Invalid ZipFileTokenized event');
68
+ }
69
+ return {
70
+ tokenId: parsed.args.tokenId,
71
+ creator: parsed.args.creator,
72
+ merkleRootHash: parsed.args.merkleRootHash,
73
+ creationTimestamp: parsed.args.creationTimestamp,
74
+ ipfsHash: parsed.args.ipfsHash,
75
+ tokenizationTime: parsed.args.tokenizationTime,
76
+ blockNumber: parsed.args.blockNumber,
77
+ // encryptedHash and fileName not in v2.10 event
78
+ };
79
+ }
80
+ async estimateGasForMint(contract, merkleRoot, encryptedHash, creationTimestamp, ipfsHash, metadataURI) {
81
+ // v2.10 signature: publicMintZipFile(merkleRootHash, creationTimestamp, ipfsHash, metadataURI)
82
+ const contractTyped = contract;
83
+ return await contractTyped.publicMintZipFile.estimateGas(merkleRoot, creationTimestamp, ipfsHash, metadataURI);
84
+ }
85
+ }
86
+ exports.V2_10Adapter = V2_10Adapter;
87
+ //# sourceMappingURL=V2_10Adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V2_10Adapter.js","sourceRoot":"","sources":["../../../src/core/adapters/V2_10Adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * V2_11Adapter - Adapter for contract version 2.11
3
+ *
4
+ * Handles v2.11 contract operations:
5
+ * - Supports encryptedHash field
6
+ * - No fileName field
7
+ * - publicMintZipFile signature: (merkleRootHash, encryptedHash, creationTimestamp, ipfsHash, metadataURI)
8
+ */
9
+ import type { Contract, ContractTransactionResponse, BaseContract } from 'ethers';
10
+ import type { ContractVersionAdapter, ZipFileInfo, ZipFileTokenizedEvent } from './ContractVersionAdapter';
11
+ export declare class V2_11Adapter implements ContractVersionAdapter {
12
+ readonly version = "2.11";
13
+ mintZipFile(contract: Contract | BaseContract, merkleRoot: string, encryptedHash: string | undefined, creationTimestamp: number, ipfsHash: string, metadataURI: string, gasOptions?: {
14
+ gasLimit: bigint;
15
+ gasPrice: bigint;
16
+ }): Promise<ContractTransactionResponse>;
17
+ getZipFileInfo(contract: Contract | BaseContract, tokenId: bigint): Promise<ZipFileInfo>;
18
+ parseZipFileTokenizedEvent(log: {
19
+ topics: string[];
20
+ data: string;
21
+ }): ZipFileTokenizedEvent;
22
+ estimateGasForMint(contract: Contract | BaseContract, merkleRoot: string, encryptedHash: string | undefined, creationTimestamp: number, ipfsHash: string, metadataURI: string): Promise<bigint>;
23
+ }
24
+ //# sourceMappingURL=V2_11Adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V2_11Adapter.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/V2_11Adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,2BAA2B,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAElF,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAW3G,qBAAa,YAAa,YAAW,sBAAsB;IACzD,QAAQ,CAAC,OAAO,UAAU;IAEpB,WAAW,CACf,QAAQ,EAAE,QAAQ,GAAG,YAAY,EACjC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,2BAA2B,CAAC;IAmBjC,cAAc,CAClB,QAAQ,EAAE,QAAQ,GAAG,YAAY,EACjC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,CAAC;IA6BvB,0BAA0B,CAAC,GAAG,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,qBAAqB;IAuBpF,kBAAkB,CACtB,QAAQ,EAAE,QAAQ,GAAG,YAAY,EACjC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC;CAWnB"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ /**
3
+ * V2_11Adapter - Adapter for contract version 2.11
4
+ *
5
+ * Handles v2.11 contract operations:
6
+ * - Supports encryptedHash field
7
+ * - No fileName field
8
+ * - publicMintZipFile signature: (merkleRootHash, encryptedHash, creationTimestamp, ipfsHash, metadataURI)
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.V2_11Adapter = void 0;
12
+ const ethers_1 = require("ethers");
13
+ // Minimal ABI for v2.11 operations
14
+ const V2_11_ABI = [
15
+ "function publicMintZipFile(string memory merkleRootHash, string memory encryptedHash, uint256 creationTimestamp, string memory ipfsHash, string memory metadataURI) public returns (uint256)",
16
+ "function getZipFileInfo(uint256 tokenId) external view returns (tuple(string merkleRootHash, string encryptedHash, string ipfsHash, address creator, uint256 creationTimestamp, uint256 tokenizationTime, uint256 blockNumber))",
17
+ "event ZipFileTokenized(uint256 indexed tokenId, address indexed creator, string merkleRootHash, string encryptedHash, uint256 creationTimestamp, string ipfsHash, uint256 tokenizationTime, uint256 blockNumber)"
18
+ ];
19
+ const iface = new ethers_1.Interface(V2_11_ABI);
20
+ class V2_11Adapter {
21
+ constructor() {
22
+ this.version = '2.11';
23
+ }
24
+ async mintZipFile(contract, merkleRoot, encryptedHash, creationTimestamp, ipfsHash, metadataURI, gasOptions) {
25
+ // v2.11 signature: publicMintZipFile(merkleRootHash, encryptedHash, creationTimestamp, ipfsHash, metadataURI)
26
+ // Use empty string if encryptedHash is not provided
27
+ const contractTyped = contract;
28
+ const args = [
29
+ merkleRoot,
30
+ encryptedHash || '',
31
+ creationTimestamp,
32
+ ipfsHash,
33
+ metadataURI
34
+ ];
35
+ if (gasOptions) {
36
+ return await contractTyped.publicMintZipFile(...args, gasOptions);
37
+ }
38
+ return await contractTyped.publicMintZipFile(...args);
39
+ }
40
+ async getZipFileInfo(contract, tokenId) {
41
+ // v2.11 returns: (merkleRootHash, encryptedHash, ipfsHash, creator, creationTimestamp, tokenizationTime, blockNumber)
42
+ // Use adapter's ABI to ensure we get all 7 fields
43
+ const contractTyped = contract;
44
+ // Get the provider/runner from the contract
45
+ const runner = contractTyped.runner || contractTyped.provider;
46
+ // Create a contract with the adapter's ABI to get the full return structure
47
+ const adapterContract = new ethers_1.Contract(contractTyped.target, V2_11_ABI, runner);
48
+ const result = await adapterContract.getZipFileInfo(tokenId);
49
+ return {
50
+ merkleRootHash: result[0],
51
+ encryptedHash: result[1] || undefined, // May be empty string
52
+ ipfsHash: result[2],
53
+ creator: result[3],
54
+ creationTimestamp: result[4],
55
+ tokenizationTime: result[5],
56
+ blockNumber: result[6],
57
+ // fileName not available in v2.11
58
+ };
59
+ }
60
+ parseZipFileTokenizedEvent(log) {
61
+ const parsed = iface.parseLog({
62
+ topics: log.topics,
63
+ data: log.data
64
+ });
65
+ if (!parsed || parsed.name !== 'ZipFileTokenized') {
66
+ throw new Error('Invalid ZipFileTokenized event');
67
+ }
68
+ return {
69
+ tokenId: parsed.args.tokenId,
70
+ creator: parsed.args.creator,
71
+ merkleRootHash: parsed.args.merkleRootHash,
72
+ encryptedHash: parsed.args.encryptedHash || undefined, // May be empty string
73
+ creationTimestamp: parsed.args.creationTimestamp,
74
+ ipfsHash: parsed.args.ipfsHash,
75
+ tokenizationTime: parsed.args.tokenizationTime,
76
+ blockNumber: parsed.args.blockNumber,
77
+ // fileName not in v2.11 event
78
+ };
79
+ }
80
+ async estimateGasForMint(contract, merkleRoot, encryptedHash, creationTimestamp, ipfsHash, metadataURI) {
81
+ // v2.11 signature: publicMintZipFile(merkleRootHash, encryptedHash, creationTimestamp, ipfsHash, metadataURI)
82
+ const contractTyped = contract;
83
+ return await contractTyped.publicMintZipFile.estimateGas(merkleRoot, encryptedHash || '', creationTimestamp, ipfsHash, metadataURI);
84
+ }
85
+ }
86
+ exports.V2_11Adapter = V2_11Adapter;
87
+ //# sourceMappingURL=V2_11Adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V2_11Adapter.js","sourceRoot":"","sources":["../../../src/core/adapters/V2_11Adapter.ts"],"names":[],"mappings":"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"}