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,152 @@
1
+ /**
2
+ * ======================================
3
+ * ZipkitOTS.ts - OpenTimestamps Integration
4
+ * ======================================
5
+ *
6
+ * This module provides comprehensive OpenTimestamps (OTS) functionality,
7
+ * including timestamp creation, verification, certificate generation, and proof upgrades.
8
+ *
9
+ * Key Features:
10
+ * - Bitcoin blockchain timestamping via OpenTimestamps
11
+ * - Merkle root calculation and verification
12
+ * - OTS proof upgrade capabilities
13
+ * - Certificate generation for verified timestamps
14
+ *
15
+ * @fileoverview OpenTimestamps utilities for blockchain timestamping
16
+ * @author NeoWare Inc.
17
+ */
18
+ import type { ZipkitLike, ZipEntryLike } from '../types';
19
+ export declare const TIMESTAMP_SUBMITTED = "META-INF/TS-SUBMIT.OTS";
20
+ export declare const TIMESTAMP_METADATA = "META-INF/TIMESTAMP.OTS";
21
+ export declare const CMP_METHOD: {
22
+ STORED: number;
23
+ DEFLATED: number;
24
+ };
25
+ declare global {
26
+ var _bitcore: any;
27
+ }
28
+ export interface TimestampResult {
29
+ merkleRoot: string | null;
30
+ ots: ArrayBuffer | null;
31
+ verified: boolean;
32
+ results: any | null;
33
+ error: string | null;
34
+ attestations: any | null;
35
+ upgradedOts: ArrayBuffer | null;
36
+ }
37
+ export interface TimestampInfo {
38
+ message: string;
39
+ results: string[];
40
+ attestDate: Date | null;
41
+ attestHeight: number | null;
42
+ submittedUri: string | null;
43
+ otsUpgraded: boolean;
44
+ }
45
+ export interface DeserializeOtsResult {
46
+ attestStr: string | null;
47
+ needsUpdateMsg: string | null;
48
+ attestationValues: any[];
49
+ }
50
+ export interface OtsVerifyResult {
51
+ status: 'none' | 'valid' | 'pending' | 'error';
52
+ message?: string;
53
+ blockHeight?: number;
54
+ attestedAt?: Date;
55
+ upgraded?: boolean;
56
+ upgradedOts?: Buffer;
57
+ }
58
+ /**
59
+ * Verifies an OpenTimestamps proof against a hash digest.
60
+ * @param hashDigest - SHA256 hash as hex string to verify
61
+ * @param ots - OpenTimestamps proof data
62
+ * @param options - Configuration options
63
+ * @param options.debug - Enable debug logging
64
+ * @returns Promise resolving to verification result, error object, or null if inputs invalid
65
+ */
66
+ export declare function verifyOts(hashDigest: string | null, ots: ArrayBuffer | null, options?: {
67
+ debug?: boolean;
68
+ }): Promise<TimestampResult | {
69
+ error: string;
70
+ } | null>;
71
+ /**
72
+ * Converts a Node.js Buffer to an ArrayBuffer.
73
+ * @param buf - Buffer to convert
74
+ * @returns ArrayBuffer with same data
75
+ */
76
+ export declare function bufferToArrayBuffer(buf: Buffer): ArrayBuffer;
77
+ /**
78
+ * Finds the OpenTimestamps entry in a ZIP file.
79
+ * Searches for TIMESTAMP_METADATA first, then TIMESTAMP_SUBMITTED.
80
+ * @param zip - Zipkit-like instance to search
81
+ * @returns ZIP entry containing OTS proof, or null if not found
82
+ */
83
+ export declare function getOtsEntry(zip: ZipkitLike): ZipEntryLike | null;
84
+ /**
85
+ * Extracts OTS proof data from a ZIP entry.
86
+ * Prefers extractToBuffer when available (required for file-based ZIPs loaded with loadZipFile).
87
+ * @param zip - Zipkit-like instance
88
+ * @param otsEntry - ZIP entry containing OTS data
89
+ * @returns Promise resolving to OTS proof buffer, or null if extraction fails
90
+ */
91
+ export declare function getOtsBuffer(zip: ZipkitLike, otsEntry: ZipEntryLike): Promise<Buffer | null>;
92
+ /**
93
+ * Safely extracts merkle root from a ZIP file.
94
+ * @param zip - Zipkit-like instance
95
+ * @returns Merkle root hash string, or null if not available
96
+ */
97
+ export declare function getMerkleRootSafe(zip: ZipkitLike): string | null;
98
+ /**
99
+ * Verifies OpenTimestamps proof within a ZIP file.
100
+ * Extracts merkle root and OTS proof, then verifies against Bitcoin blockchain.
101
+ * @param zip - Zipkit-like instance containing files and OTS proof
102
+ * @returns Promise resolving to verification result with status: 'none', 'error', 'pending', or 'valid'
103
+ */
104
+ export declare function verifyOtsZip(zip: ZipkitLike): Promise<OtsVerifyResult>;
105
+ /**
106
+ * Creates an OpenTimestamps proof for a hash digest.
107
+ * Submits hash to OpenTimestamps servers for Bitcoin blockchain anchoring.
108
+ * @param hashDigest - SHA256 hash as hex string to timestamp
109
+ * @param options - Configuration options
110
+ * @param options.debug - Enable debug logging
111
+ * @returns Promise resolving to OTS proof buffer, or null if creation failed
112
+ */
113
+ export declare function createTimestamp(hashDigest: string | null, options?: {
114
+ debug?: boolean;
115
+ }): Promise<Buffer | null>;
116
+ /**
117
+ * Deserializes OpenTimestamps verification result into JSON format.
118
+ * Extracts blockchain attestation data and transaction details.
119
+ * @param tsResult - Timestamp verification result to deserialize
120
+ * @param options - Configuration options
121
+ * @param options.debug - Enable debug logging
122
+ * @returns Promise resolving to JSON string with attestation data, or null if failed
123
+ */
124
+ export declare function deserializeOts(tsResult: TimestampResult, options?: {
125
+ debug?: boolean;
126
+ }): Promise<string | null>;
127
+ /**
128
+ * Parses timestamp verification result into readable information.
129
+ * Formats blockchain attestation data with human-readable messages and dates.
130
+ * @param verifyResult - Timestamp verification result to parse
131
+ * @returns Promise resolving to formatted timestamp information
132
+ */
133
+ export declare function parseVerifyResult(verifyResult: TimestampResult): Promise<TimestampInfo>;
134
+ /**
135
+ * Upgrades OpenTimestamps proof in an existing ZIP file.
136
+ * Note: This function requires neozipkit for ZIP operations.
137
+ * @param zipFilePath - Path to ZIP file to upgrade
138
+ * @param upgradedOts - Buffer containing upgraded OTS proof
139
+ * @param zipkitInstance - Optional Zipkit instance for ZIP operations
140
+ * @returns Promise that resolves when upgrade is complete
141
+ * @throws Error if upgrade fails
142
+ */
143
+ export declare function upgradeOTS(zipFilePath: string, upgradedOts: Buffer, zipkitInstance?: any): Promise<void>;
144
+ /**
145
+ * Creates a ZIP metadata entry containing OpenTimestamps proof.
146
+ * Note: This function requires a Zipkit instance for ZIP operations.
147
+ * @param zipKit - Zipkit-like instance to add metadata entry to
148
+ * @param ots - Buffer containing OpenTimestamps proof data
149
+ * @returns ZIP entry containing OTS metadata, or null if creation failed
150
+ */
151
+ export declare function createOtsMetadataEntry(zipKit: any, ots: Buffer | null): any | null;
152
+ //# sourceMappingURL=ZipkitOTS.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZipkitOTS.d.ts","sourceRoot":"","sources":["../../src/ots/ZipkitOTS.ts"],"names":[],"mappings":"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"}