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.
- package/LICENSE +22 -0
- package/README.md +410 -186
- package/contracts/ABI.txt +889 -0
- package/contracts/Bytecode.txt +1 -0
- package/contracts/COMPILATION_NOTES.md +59 -0
- package/contracts/QUICK_DEPLOY.md +286 -0
- package/contracts/README.md +235 -131
- package/contracts/VERIFICATION.md +308 -0
- package/contracts/deploy-interactive.js +448 -0
- package/contracts/deployment-arbitrum-sepolia.json +12 -0
- package/contracts/deployment-arbitrum.json +12 -0
- package/contracts/deployment-eth-sepolia.json +12 -0
- package/contracts/hardhat.config.js +114 -0
- package/contracts/package.json +20 -0
- package/contracts/scripts/compile-and-extract.js +119 -0
- package/contracts/scripts/verify-contract.js +223 -0
- package/contracts/src/{NZIP-NFT-Private.sol → NZIP-NFT-v2.0.sol} +66 -151
- package/contracts/src/NZIP-NFT.sol +9 -15
- package/dist/blockchain/browser/TokenVerifierBrowser.d.ts +67 -0
- package/dist/blockchain/browser/TokenVerifierBrowser.d.ts.map +1 -0
- package/dist/blockchain/browser/TokenVerifierBrowser.js +313 -0
- package/dist/blockchain/browser/TokenVerifierBrowser.js.map +1 -0
- package/dist/blockchain/browser/WalletManagerBrowser.d.ts +98 -0
- package/dist/blockchain/browser/WalletManagerBrowser.d.ts.map +1 -0
- package/dist/blockchain/browser/WalletManagerBrowser.js +434 -0
- package/dist/blockchain/browser/WalletManagerBrowser.js.map +1 -0
- package/dist/blockchain/browser/ZipkitMinterBrowser.d.ts +58 -0
- package/dist/blockchain/browser/ZipkitMinterBrowser.d.ts.map +1 -0
- package/dist/blockchain/browser/ZipkitMinterBrowser.js +317 -0
- package/dist/blockchain/browser/ZipkitMinterBrowser.js.map +1 -0
- package/dist/blockchain/browser/index.d.ts +11 -0
- package/dist/blockchain/browser/index.d.ts.map +1 -0
- package/dist/blockchain/browser/index.js +16 -0
- package/dist/blockchain/browser/index.js.map +1 -0
- package/dist/blockchain/core/WalletManager.d.ts +124 -0
- package/dist/blockchain/core/WalletManager.d.ts.map +1 -0
- package/dist/blockchain/{ZipKitWallet.js → core/WalletManager.js} +157 -177
- package/dist/blockchain/core/WalletManager.js.map +1 -0
- package/dist/blockchain/{ZipKitMinter.d.ts → core/ZipkitMinter.d.ts} +46 -11
- package/dist/blockchain/core/ZipkitMinter.d.ts.map +1 -0
- package/dist/blockchain/core/ZipkitMinter.js +548 -0
- package/dist/blockchain/core/ZipkitMinter.js.map +1 -0
- package/dist/blockchain/{ZipKitOTS.d.ts → core/ZipkitOTS.d.ts} +6 -15
- package/dist/blockchain/core/ZipkitOTS.d.ts.map +1 -0
- package/dist/blockchain/{ZipKitOTS.js → core/ZipkitOTS.js} +26 -84
- package/dist/blockchain/core/ZipkitOTS.js.map +1 -0
- package/dist/blockchain/core/ZipkitVerifier.d.ts +177 -0
- package/dist/blockchain/core/ZipkitVerifier.d.ts.map +1 -0
- package/dist/blockchain/core/ZipkitVerifier.js +632 -0
- package/dist/blockchain/core/ZipkitVerifier.js.map +1 -0
- package/dist/blockchain/core/contracts.d.ts +83 -0
- package/dist/blockchain/core/contracts.d.ts.map +1 -0
- package/dist/blockchain/core/contracts.js +341 -0
- package/dist/blockchain/core/contracts.js.map +1 -0
- package/dist/blockchain/core/index.d.ts +12 -0
- package/dist/blockchain/core/index.d.ts.map +1 -0
- package/dist/blockchain/core/index.js +59 -0
- package/dist/blockchain/core/index.js.map +1 -0
- package/dist/blockchain/index.d.ts +11 -7
- package/dist/blockchain/index.d.ts.map +1 -0
- package/dist/blockchain/index.js +18 -34
- package/dist/blockchain/index.js.map +1 -0
- package/dist/blockchain/node/WalletManagerNode.d.ts +47 -0
- package/dist/blockchain/node/WalletManagerNode.d.ts.map +1 -0
- package/dist/blockchain/node/WalletManagerNode.js +203 -0
- package/dist/blockchain/node/WalletManagerNode.js.map +1 -0
- package/dist/blockchain/node/index.d.ts +12 -0
- package/dist/blockchain/node/index.d.ts.map +1 -0
- package/dist/blockchain/node/index.js +24 -0
- package/dist/blockchain/node/index.js.map +1 -0
- package/dist/browser/ZipkitBrowser.d.ts +27 -0
- package/dist/browser/ZipkitBrowser.d.ts.map +1 -0
- package/dist/browser/{ZipKitBrowser.js → ZipkitBrowser.js} +96 -43
- package/dist/browser/ZipkitBrowser.js.map +1 -0
- package/dist/browser/index.d.ts +12 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +42 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser-esm/index.d.ts +12 -0
- package/dist/browser-esm/index.js +59559 -0
- package/dist/browser-esm/index.js.map +7 -0
- package/dist/browser-umd/index.d.ts +12 -0
- package/dist/browser-umd/index.js +59576 -0
- package/dist/browser-umd/index.js.map +7 -0
- package/dist/browser-umd/index.min.js +63 -0
- package/dist/browser.d.ts +8 -14
- package/dist/browser.js +13 -28
- package/dist/core/ZipCompress.d.ts +99 -0
- package/dist/core/ZipCompress.d.ts.map +1 -0
- package/dist/core/ZipCompress.js +309 -0
- package/dist/core/ZipCompress.js.map +1 -0
- package/dist/core/ZipDecompress.d.ts +58 -0
- package/dist/core/ZipDecompress.d.ts.map +1 -0
- package/dist/core/ZipDecompress.js +172 -0
- package/dist/core/ZipDecompress.js.map +1 -0
- package/dist/{shared → core}/ZipEntry.d.ts +8 -1
- package/dist/core/ZipEntry.d.ts.map +1 -0
- package/dist/{shared → core}/ZipEntry.js +225 -82
- package/dist/core/ZipEntry.js.map +1 -0
- package/dist/core/Zipkit.d.ts +315 -0
- package/dist/core/Zipkit.d.ts.map +1 -0
- package/dist/core/Zipkit.js +647 -0
- package/dist/core/Zipkit.js.map +1 -0
- package/dist/core/components/HashCalculator.d.ts +138 -0
- package/dist/core/components/HashCalculator.d.ts.map +1 -0
- package/dist/core/components/HashCalculator.js +360 -0
- package/dist/core/components/HashCalculator.js.map +1 -0
- package/dist/core/components/Logger.d.ts +73 -0
- package/dist/core/components/Logger.d.ts.map +1 -0
- package/dist/core/components/Logger.js +156 -0
- package/dist/core/components/Logger.js.map +1 -0
- package/dist/core/components/ProgressTracker.d.ts +43 -0
- package/dist/core/components/ProgressTracker.d.ts.map +1 -0
- package/dist/core/components/ProgressTracker.js +112 -0
- package/dist/core/components/ProgressTracker.js.map +1 -0
- package/dist/{shared → core}/components/Support.d.ts +1 -0
- package/dist/core/components/Support.d.ts.map +1 -0
- package/dist/{shared → core}/components/Support.js +1 -0
- package/dist/core/components/Support.js.map +1 -0
- package/dist/{shared → core}/components/Util.d.ts +7 -2
- package/dist/core/components/Util.d.ts.map +1 -0
- package/dist/{shared → core}/components/Util.js +14 -34
- package/dist/core/components/Util.js.map +1 -0
- package/dist/{shared → core}/constants/Errors.d.ts +1 -2
- package/dist/core/constants/Errors.d.ts.map +1 -0
- package/dist/{shared → core}/constants/Errors.js +1 -3
- package/dist/core/constants/Errors.js.map +1 -0
- package/dist/{shared → core}/constants/Headers.d.ts +3 -0
- package/dist/core/constants/Headers.d.ts.map +1 -0
- package/dist/{shared → core}/constants/Headers.js +20 -17
- package/dist/core/constants/Headers.js.map +1 -0
- package/dist/core/encryption/Manager.d.ts +58 -0
- package/dist/core/encryption/Manager.d.ts.map +1 -0
- package/dist/core/encryption/Manager.js +121 -0
- package/dist/core/encryption/Manager.js.map +1 -0
- package/dist/core/encryption/ZipCrypto.d.ts +172 -0
- package/dist/core/encryption/ZipCrypto.d.ts.map +1 -0
- package/dist/core/encryption/ZipCrypto.js +554 -0
- package/dist/core/encryption/ZipCrypto.js.map +1 -0
- package/dist/core/encryption/index.d.ts +9 -0
- package/dist/core/encryption/index.d.ts.map +1 -0
- package/dist/core/encryption/index.js +17 -0
- package/dist/core/encryption/index.js.map +1 -0
- package/dist/core/encryption/types.d.ts +29 -0
- package/dist/core/encryption/types.d.ts.map +1 -0
- package/dist/core/encryption/types.js +12 -0
- package/dist/core/encryption/types.js.map +1 -0
- package/dist/core/index.d.ts +24 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +57 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/version.d.ts +5 -0
- package/dist/core/version.d.ts.map +1 -0
- package/dist/core/version.js +31 -0
- package/dist/core/version.js.map +1 -0
- package/dist/index.d.ts +8 -18
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +29 -35
- package/dist/index.js.map +1 -0
- package/dist/node/ZipCompressNode.d.ts +123 -0
- package/dist/node/ZipCompressNode.d.ts.map +1 -0
- package/dist/node/ZipCompressNode.js +576 -0
- package/dist/node/ZipCompressNode.js.map +1 -0
- package/dist/node/ZipDecompressNode.d.ts +120 -0
- package/dist/node/ZipDecompressNode.d.ts.map +1 -0
- package/dist/node/ZipDecompressNode.js +461 -0
- package/dist/node/ZipDecompressNode.js.map +1 -0
- package/dist/node/ZipkitNode.d.ts +406 -0
- package/dist/node/ZipkitNode.d.ts.map +1 -0
- package/dist/node/ZipkitNode.js +1305 -0
- package/dist/node/ZipkitNode.js.map +1 -0
- package/dist/node/index.d.ts +26 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +65 -0
- package/dist/node/index.js.map +1 -0
- package/dist/types/index.d.ts +59 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +36 -1
- package/dist/types/index.js.map +1 -0
- package/examples/README.md +269 -0
- package/examples/blockchain-tokenize.ts +354 -0
- package/examples/create-zip.ts +172 -0
- package/examples/extract-zip.ts +158 -0
- package/examples/list-zip.ts +161 -0
- package/examples/test-files/data.json +116 -0
- package/examples/test-files/document.md +80 -0
- package/examples/test-files/document.txt +2 -0
- package/examples/test-files/file1.txt +48 -0
- package/examples/test-files/file2.txt +80 -0
- package/examples/tsconfig.json +44 -0
- package/examples/unzip-token.ts +491 -0
- package/examples/verify-tokenized-zip.ts +305 -0
- package/examples/zip-token.ts +604 -0
- package/package.json +108 -24
- package/src/blockchain/README.md +59 -66
- package/src/{browser/TokenVerifierBrowser.ts-remove → blockchain/browser/TokenVerifierBrowser.ts} +125 -79
- package/src/blockchain/browser/WalletManagerBrowser.ts +486 -0
- package/src/blockchain/browser/ZipkitMinterBrowser.ts +400 -0
- package/src/blockchain/browser/index.ts +13 -0
- package/src/blockchain/{ZipKitWallet.ts → core/WalletManager.ts} +241 -143
- package/src/blockchain/core/ZipkitMinter.ts +716 -0
- package/src/blockchain/{ZipKitOTS.ts → core/ZipkitOTS.ts} +28 -62
- package/src/blockchain/core/ZipkitVerifier.ts +853 -0
- package/src/blockchain/core/contracts.ts +370 -0
- package/src/blockchain/core/index.ts +71 -0
- package/src/blockchain/index.ts +21 -55
- package/src/blockchain/node/WalletManagerNode.ts +171 -0
- package/src/blockchain/node/index.ts +40 -0
- package/src/browser/{ZipKitBrowser.ts → ZipkitBrowser.ts} +104 -41
- package/src/browser/index.esm.ts +37 -0
- package/src/browser/index.ts +25 -0
- package/src/core/ZipCompress.ts +398 -0
- package/src/core/ZipDecompress.ts +212 -0
- package/src/{shared → core}/ZipEntry.ts +240 -90
- package/src/core/Zipkit.ts +794 -0
- package/src/core/components/HashCalculator.ts +384 -0
- package/src/core/components/Logger.ts +180 -0
- package/src/core/components/ProgressTracker.ts +134 -0
- package/src/{shared → core}/components/Util.ts +12 -34
- package/src/{shared → core}/constants/Errors.ts +0 -4
- package/src/{shared → core}/constants/Headers.ts +19 -17
- package/src/core/encryption/Manager.ts +137 -0
- package/src/core/encryption/ZipCrypto.ts +650 -0
- package/src/core/encryption/index.ts +15 -0
- package/src/core/encryption/types.ts +33 -0
- package/src/core/index.ts +34 -0
- package/src/core/version.ts +33 -0
- package/src/index.ts +54 -25
- package/src/node/ZipCompressNode.ts +632 -0
- package/src/node/ZipDecompressNode.ts +508 -0
- package/src/node/ZipkitNode.ts +1559 -0
- package/src/node/index.ts +69 -0
- package/src/types/index.ts +131 -1
- package/src/types/modules.d.ts +1 -11
- package/src/types/opentimestamps.d.ts +1 -23
- package/contracts/INTEGRATION.md +0 -338
- package/contracts/NETWORKS.md +0 -156
- package/contracts/NZIP-NFT-bytecode.txt +0 -1
- package/contracts/constants.ts +0 -952
- package/contracts/deploy-bytecode.mjs +0 -94
- package/dist/blockchain/CertificateToken.d.ts +0 -48
- package/dist/blockchain/CertificateToken.js +0 -386
- package/dist/blockchain/ZipKitMinter.js +0 -347
- package/dist/blockchain/ZipKitNFT.d.ts +0 -3
- package/dist/blockchain/ZipKitNFT.js +0 -7
- package/dist/blockchain/ZipKitVerifier.d.ts +0 -69
- package/dist/blockchain/ZipKitVerifier.js +0 -289
- package/dist/blockchain/ZipKitWallet.d.ts +0 -69
- package/dist/blockchain/contracts.d.ts +0 -14
- package/dist/blockchain/contracts.js +0 -77
- package/dist/blockchain/types.d.ts +0 -47
- package/dist/blockchain/types.js +0 -30
- package/dist/browser/ZipKitBrowser.d.ts +0 -18
- package/dist/browser/ZipKitStampBrowser.d.ts +0 -2
- package/dist/browser/ZipKitStampBrowser.js +0 -12
- package/dist/browser-index.d.ts +0 -18
- package/dist/browser-index.js +0 -57
- package/dist/server/ZipKitServer.d.ts +0 -74
- package/dist/server/ZipKitServer.js +0 -310
- package/dist/shared/ZipKit.d.ts +0 -243
- package/dist/shared/ZipKit.js +0 -772
- package/dist/shared/components/CertificateOTS.d.ts +0 -15
- package/dist/shared/components/CertificateOTS.js +0 -116
- package/dist/shared/components/FileSys.d.ts +0 -2
- package/dist/shared/components/FileSys.js +0 -113
- package/dist/shared/components/HashAccumulator.d.ts +0 -55
- package/dist/shared/components/HashAccumulator.js +0 -100
- package/dist/shared/components/ZipCrypto.d.ts +0 -3
- package/dist/shared/components/ZipCrypto.js +0 -78
- package/dist/shared/components/merkleTree.d.ts +0 -66
- package/dist/shared/components/merkleTree.js +0 -136
- package/dist/shared/types/index.d.ts +0 -21
- package/dist/shared/types/index.js +0 -3
- package/dist/shared/types.d.ts +0 -33
- package/dist/shared/types.js +0 -8
- package/dist/shared/version.d.ts +0 -2
- package/dist/shared/version.js +0 -6
- package/src/blockchain/CertificateToken.ts +0 -444
- package/src/blockchain/ZipKitMinter.ts +0 -470
- package/src/blockchain/ZipKitNFT.ts +0 -12
- package/src/blockchain/ZipKitVerifier.ts +0 -382
- package/src/blockchain/contracts.ts +0 -88
- package/src/blockchain/types.ts +0 -91
- package/src/browser/CertificateGeneratorBrowser.ts-remove +0 -498
- package/src/browser/ZipKitStampBrowser.ts +0 -9
- package/src/browser-index.ts +0 -36
- package/src/server/README.md +0 -25
- package/src/server/ZipKitServer.ts +0 -305
- package/src/shared/ZipKit.ts +0 -881
- package/src/shared/components/CertificateOTS.ts +0 -132
- package/src/shared/components/FileSys.ts +0 -87
- package/src/shared/components/HashAccumulator.ts +0 -113
- package/src/shared/components/ZipCrypto.ts +0 -91
- package/src/shared/components/merkleTree.ts +0 -162
- package/src/shared/types/index.ts +0 -25
- package/src/shared/types/modules.d.ts +0 -22
- package/src/shared/types/opentimestamps.d.ts +0 -23
- package/src/shared/types.d.ts +0 -8
- package/src/shared/types.ts +0 -43
- package/src/shared/version.ts +0 -3
- /package/src/{shared → core}/components/Support.ts +0 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WalletManagerNode - Node.js-specific wallet functionality with file system operations
|
|
3
|
+
* Extends CoreWalletManager with file-based wallet management
|
|
4
|
+
*/
|
|
5
|
+
import { CoreWalletManager } from '../core/WalletManager';
|
|
6
|
+
import { WalletSetupResult, MintingOptions } from '../../types';
|
|
7
|
+
/**
|
|
8
|
+
* Node.js-specific wallet manager with file system operations
|
|
9
|
+
*/
|
|
10
|
+
export declare class WalletManagerNode extends CoreWalletManager {
|
|
11
|
+
constructor();
|
|
12
|
+
/**
|
|
13
|
+
* Setup wallet with file system support
|
|
14
|
+
*/
|
|
15
|
+
setupWalletWithOptions(options: MintingOptions): Promise<WalletSetupResult>;
|
|
16
|
+
/**
|
|
17
|
+
* Find existing wallet files
|
|
18
|
+
*/
|
|
19
|
+
private findExistingWallets;
|
|
20
|
+
/**
|
|
21
|
+
* Load wallet from file
|
|
22
|
+
*
|
|
23
|
+
* SECURITY WARNING: This method reads private keys from disk.
|
|
24
|
+
* - Only use for development/testing
|
|
25
|
+
* - Wallet files are automatically excluded from git via .gitignore
|
|
26
|
+
* - Wallet files are excluded from NPM packages via .npmignore
|
|
27
|
+
* - Use secure key management (HSMs, KMS) for production
|
|
28
|
+
*/
|
|
29
|
+
private loadWalletFromFile;
|
|
30
|
+
/**
|
|
31
|
+
* Create a new wallet and save to file
|
|
32
|
+
*
|
|
33
|
+
* SECURITY WARNING: This method saves private keys to disk.
|
|
34
|
+
* - Only use for development/testing
|
|
35
|
+
* - Never commit wallet files to version control
|
|
36
|
+
* - Use secure key management for production
|
|
37
|
+
* - Wallet files are automatically excluded via .gitignore and .npmignore
|
|
38
|
+
* - Protect file system permissions on wallet files
|
|
39
|
+
*/
|
|
40
|
+
private createNewWallet;
|
|
41
|
+
/**
|
|
42
|
+
* Detect NZIP contract from deployment file
|
|
43
|
+
*/
|
|
44
|
+
static detectNZipContract(): string | undefined;
|
|
45
|
+
}
|
|
46
|
+
export { WalletManagerNode as ZipkitWallet };
|
|
47
|
+
//# sourceMappingURL=WalletManagerNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletManagerNode.d.ts","sourceRoot":"","sources":["../../../src/blockchain/node/WalletManagerNode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAc,cAAc,EAAE,MAAM,aAAa,CAAC;AAG5E;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,iBAAiB;;IAKtD;;OAEG;IACG,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAwCjF;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;;;;;;;;OASG;YACW,eAAe;IAyB7B;;OAEG;IACH,MAAM,CAAC,kBAAkB,IAAI,MAAM,GAAG,SAAS;CAUhD;AAGD,OAAO,EAAE,iBAAiB,IAAI,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* WalletManagerNode - Node.js-specific wallet functionality with file system operations
|
|
4
|
+
* Extends CoreWalletManager with file-based wallet management
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
+
var ownKeys = function(o) {
|
|
24
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
+
var ar = [];
|
|
26
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
return ownKeys(o);
|
|
30
|
+
};
|
|
31
|
+
return function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.ZipkitWallet = exports.WalletManagerNode = void 0;
|
|
41
|
+
const fs = __importStar(require("fs"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
const ethers_1 = require("ethers");
|
|
44
|
+
const WalletManager_1 = require("../core/WalletManager");
|
|
45
|
+
const Logger_1 = require("../../core/components/Logger");
|
|
46
|
+
/**
|
|
47
|
+
* Node.js-specific wallet manager with file system operations
|
|
48
|
+
*/
|
|
49
|
+
class WalletManagerNode extends WalletManager_1.CoreWalletManager {
|
|
50
|
+
constructor() {
|
|
51
|
+
super();
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Setup wallet with file system support
|
|
55
|
+
*/
|
|
56
|
+
async setupWalletWithOptions(options) {
|
|
57
|
+
try {
|
|
58
|
+
let privateKey;
|
|
59
|
+
if (options.wallet) {
|
|
60
|
+
const val = options.wallet;
|
|
61
|
+
if (fs.existsSync(val)) {
|
|
62
|
+
const loaded = this.loadWalletFromFile(val);
|
|
63
|
+
if (!loaded)
|
|
64
|
+
throw new Error(`Could not load valid private key from ${val}`);
|
|
65
|
+
privateKey = loaded;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
privateKey = val;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
const existing = this.findExistingWallets();
|
|
73
|
+
if (existing.length > 0) {
|
|
74
|
+
const selected = existing[0];
|
|
75
|
+
const relativePath = path.relative(process.cwd(), selected);
|
|
76
|
+
Logger_1.Logger.log(`Using existing wallet: ${relativePath}`);
|
|
77
|
+
const loaded = this.loadWalletFromFile(selected);
|
|
78
|
+
if (!loaded)
|
|
79
|
+
throw new Error(`Could not load valid private key from ${selected}`);
|
|
80
|
+
privateKey = loaded;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
Logger_1.Logger.log('No existing wallet found. Creating new wallet...');
|
|
84
|
+
privateKey = await this.createNewWallet();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return await super.setupWallet(privateKey, options.network, options.mintToken === true);
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
Logger_1.Logger.error('Error setting up wallet:', error);
|
|
91
|
+
return {
|
|
92
|
+
wallet: null,
|
|
93
|
+
provider: null,
|
|
94
|
+
success: false,
|
|
95
|
+
message: `Wallet setup failed: ${error instanceof Error ? error.message : String(error)}`
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Find existing wallet files
|
|
101
|
+
*/
|
|
102
|
+
findExistingWallets() {
|
|
103
|
+
const walletFiles = [];
|
|
104
|
+
const currentDir = process.cwd();
|
|
105
|
+
const walletDir = path.join(currentDir, 'wallet');
|
|
106
|
+
const walletFileNames = ['neozip-wallet.json'];
|
|
107
|
+
for (const fileName of walletFileNames) {
|
|
108
|
+
const filePath = path.join(currentDir, fileName);
|
|
109
|
+
if (fs.existsSync(filePath))
|
|
110
|
+
walletFiles.push(filePath);
|
|
111
|
+
}
|
|
112
|
+
if (fs.existsSync(walletDir)) {
|
|
113
|
+
for (const fileName of walletFileNames) {
|
|
114
|
+
const filePath = path.join(walletDir, fileName);
|
|
115
|
+
if (fs.existsSync(filePath))
|
|
116
|
+
walletFiles.push(filePath);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return walletFiles;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Load wallet from file
|
|
123
|
+
*
|
|
124
|
+
* SECURITY WARNING: This method reads private keys from disk.
|
|
125
|
+
* - Only use for development/testing
|
|
126
|
+
* - Wallet files are automatically excluded from git via .gitignore
|
|
127
|
+
* - Wallet files are excluded from NPM packages via .npmignore
|
|
128
|
+
* - Use secure key management (HSMs, KMS) for production
|
|
129
|
+
*/
|
|
130
|
+
loadWalletFromFile(filePath) {
|
|
131
|
+
try {
|
|
132
|
+
const content = fs.readFileSync(filePath, 'utf8').trim();
|
|
133
|
+
try {
|
|
134
|
+
const walletData = JSON.parse(content);
|
|
135
|
+
if (walletData.privateKey) {
|
|
136
|
+
Logger_1.Logger.log(`Found wallet file: ${filePath}`);
|
|
137
|
+
Logger_1.Logger.log(`Wallet address: ${walletData.address}`);
|
|
138
|
+
return walletData.privateKey;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
if (content.startsWith('0x') && content.length === 66) {
|
|
143
|
+
Logger_1.Logger.log(`Found private key file: ${filePath}`);
|
|
144
|
+
return content;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
Logger_1.Logger.warn(`Could not read wallet file ${filePath}:`, error);
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Create a new wallet and save to file
|
|
156
|
+
*
|
|
157
|
+
* SECURITY WARNING: This method saves private keys to disk.
|
|
158
|
+
* - Only use for development/testing
|
|
159
|
+
* - Never commit wallet files to version control
|
|
160
|
+
* - Use secure key management for production
|
|
161
|
+
* - Wallet files are automatically excluded via .gitignore and .npmignore
|
|
162
|
+
* - Protect file system permissions on wallet files
|
|
163
|
+
*/
|
|
164
|
+
async createNewWallet() {
|
|
165
|
+
Logger_1.Logger.log('Creating a new wallet...');
|
|
166
|
+
const newWallet = ethers_1.ethers.Wallet.createRandom();
|
|
167
|
+
const walletInfo = {
|
|
168
|
+
address: newWallet.address,
|
|
169
|
+
privateKey: newWallet.privateKey,
|
|
170
|
+
mnemonic: newWallet.mnemonic?.phrase || ""
|
|
171
|
+
};
|
|
172
|
+
const walletDir = path.join(process.cwd(), 'wallet');
|
|
173
|
+
if (!fs.existsSync(walletDir))
|
|
174
|
+
fs.mkdirSync(walletDir, { recursive: true });
|
|
175
|
+
const walletFilePath = path.join(walletDir, 'neozip-wallet.json');
|
|
176
|
+
fs.writeFileSync(walletFilePath, JSON.stringify(walletInfo, null, 2));
|
|
177
|
+
Logger_1.Logger.log(`New wallet created and saved to ${walletFilePath}`);
|
|
178
|
+
Logger_1.Logger.log(`Wallet address: ${newWallet.address}`);
|
|
179
|
+
Logger_1.Logger.log(`IMPORTANT: Please fund this wallet with testnet ETH to use for minting NFTs!`);
|
|
180
|
+
Logger_1.Logger.log(`SECURITY: Wallet file is automatically excluded from git (.gitignore) and NPM packages (.npmignore)`);
|
|
181
|
+
Logger_1.Logger.log(`SECURITY: Never commit wallet files to version control`);
|
|
182
|
+
Logger_1.Logger.log(`SECURITY: Use secure key management (HSMs, KMS) for production applications`);
|
|
183
|
+
return newWallet.privateKey;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Detect NZIP contract from deployment file
|
|
187
|
+
*/
|
|
188
|
+
static detectNZipContract() {
|
|
189
|
+
const deploymentPath = path.join(process.cwd(), 'zipfile-nft-deployment.json');
|
|
190
|
+
if (fs.existsSync(deploymentPath)) {
|
|
191
|
+
try {
|
|
192
|
+
const deploymentInfo = JSON.parse(fs.readFileSync(deploymentPath, 'utf8'));
|
|
193
|
+
if (deploymentInfo.address)
|
|
194
|
+
return deploymentInfo.address;
|
|
195
|
+
}
|
|
196
|
+
catch { }
|
|
197
|
+
}
|
|
198
|
+
return undefined;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
exports.WalletManagerNode = WalletManagerNode;
|
|
202
|
+
exports.ZipkitWallet = WalletManagerNode;
|
|
203
|
+
//# sourceMappingURL=WalletManagerNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletManagerNode.js","sourceRoot":"","sources":["../../../src/blockchain/node/WalletManagerNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node Blockchain Module Exports
|
|
3
|
+
* Node.js-specific blockchain functionality for ZIP file tokenization
|
|
4
|
+
*
|
|
5
|
+
* Note: ZipkitMinter and ZipkitVerifier convenience methods (retry, batch)
|
|
6
|
+
* are now available in the core module. Only WalletManagerNode is Node.js-specific
|
|
7
|
+
* due to file system operations.
|
|
8
|
+
*/
|
|
9
|
+
export { WalletManagerNode, ZipkitWallet } from './WalletManagerNode';
|
|
10
|
+
export { ZipkitMinter, ZipkitVerifier, CoreWalletManager, WalletAnalyzer, createTimestamp, verifyOts, verifyOtsZip } from '../core';
|
|
11
|
+
export type { MintingOptions, MintingResult, VerificationOptions, VerificationResult, WalletInfo, NetworkConfig, TokenMetadata, WalletSetupResult, CommonTokenConfig, TokenInfo, WalletBasicInfo, TokenScanResult, NZipTokenDetails, TimestampResult, TimestampInfo, DeserializeOtsResult, OtsVerifyResult } from '../core';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/blockchain/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGtE,OAAO,EACL,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,SAAS,EACT,YAAY,EACb,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,eAAe,EAChB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Node Blockchain Module Exports
|
|
4
|
+
* Node.js-specific blockchain functionality for ZIP file tokenization
|
|
5
|
+
*
|
|
6
|
+
* Note: ZipkitMinter and ZipkitVerifier convenience methods (retry, batch)
|
|
7
|
+
* are now available in the core module. Only WalletManagerNode is Node.js-specific
|
|
8
|
+
* due to file system operations.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.verifyOtsZip = exports.verifyOts = exports.createTimestamp = exports.WalletAnalyzer = exports.CoreWalletManager = exports.ZipkitVerifier = exports.ZipkitMinter = exports.ZipkitWallet = exports.WalletManagerNode = void 0;
|
|
12
|
+
var WalletManagerNode_1 = require("./WalletManagerNode");
|
|
13
|
+
Object.defineProperty(exports, "WalletManagerNode", { enumerable: true, get: function () { return WalletManagerNode_1.WalletManagerNode; } });
|
|
14
|
+
Object.defineProperty(exports, "ZipkitWallet", { enumerable: true, get: function () { return WalletManagerNode_1.ZipkitWallet; } });
|
|
15
|
+
// Re-export specific core functionality to avoid duplicates
|
|
16
|
+
var core_1 = require("../core");
|
|
17
|
+
Object.defineProperty(exports, "ZipkitMinter", { enumerable: true, get: function () { return core_1.ZipkitMinter; } });
|
|
18
|
+
Object.defineProperty(exports, "ZipkitVerifier", { enumerable: true, get: function () { return core_1.ZipkitVerifier; } });
|
|
19
|
+
Object.defineProperty(exports, "CoreWalletManager", { enumerable: true, get: function () { return core_1.CoreWalletManager; } });
|
|
20
|
+
Object.defineProperty(exports, "WalletAnalyzer", { enumerable: true, get: function () { return core_1.WalletAnalyzer; } });
|
|
21
|
+
Object.defineProperty(exports, "createTimestamp", { enumerable: true, get: function () { return core_1.createTimestamp; } });
|
|
22
|
+
Object.defineProperty(exports, "verifyOts", { enumerable: true, get: function () { return core_1.verifyOts; } });
|
|
23
|
+
Object.defineProperty(exports, "verifyOtsZip", { enumerable: true, get: function () { return core_1.verifyOtsZip; } });
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/blockchain/node/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,yDAAsE;AAA7D,sHAAA,iBAAiB,OAAA;AAAE,iHAAA,YAAY,OAAA;AAExC,4DAA4D;AAC5D,gCAQiB;AAPf,oGAAA,YAAY,OAAA;AACZ,sGAAA,cAAc,OAAA;AACd,yGAAA,iBAAiB,OAAA;AACjB,sGAAA,cAAc,OAAA;AACd,uGAAA,eAAe,OAAA;AACf,iGAAA,SAAS,OAAA;AACT,oGAAA,YAAY,OAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import Zipkit, { CompressOptions, CreateZipOptions } from '../core';
|
|
2
|
+
import ZipEntry from '../core/ZipEntry';
|
|
3
|
+
import Errors from '../core/constants/Errors';
|
|
4
|
+
import * as Headers from '../core/constants/Headers';
|
|
5
|
+
import { sha256 } from '../core/encryption/ZipCrypto';
|
|
6
|
+
import { getTypeOf } from '../core/components/Util';
|
|
7
|
+
import type { FileData } from '../types';
|
|
8
|
+
export * from '../core';
|
|
9
|
+
export { ZipEntry, Errors, Headers, sha256, getTypeOf };
|
|
10
|
+
export default class ZipkitBrowser extends Zipkit {
|
|
11
|
+
constructor();
|
|
12
|
+
loadZipBlob(data: Blob): Promise<ZipEntry[] | null>;
|
|
13
|
+
createZipFileEntry(file: FileData): ZipEntry;
|
|
14
|
+
hashFile(file: FileData): Promise<string>;
|
|
15
|
+
compressDataBlob(entry: ZipEntry, data: Blob, options?: CompressOptions): Promise<Buffer>;
|
|
16
|
+
extractBlob(entry: ZipEntry, skipHashCheck?: boolean): Promise<Blob | null>;
|
|
17
|
+
createZipBlob(cmpOptions?: CompressOptions, options?: CreateZipOptions): Promise<Blob | null>;
|
|
18
|
+
/**
|
|
19
|
+
* Checks if a filename is a blockchain metadata file that should be excluded from Merkle Root calculation
|
|
20
|
+
* @param filename - The filename to check
|
|
21
|
+
* @returns boolean - True if the file is a metadata file
|
|
22
|
+
*/
|
|
23
|
+
private isMetadataFile;
|
|
24
|
+
addFile(file: FileData, options?: CompressOptions): Promise<ZipEntry>;
|
|
25
|
+
verifyEntry(entry: ZipEntry, skipHashCheck?: boolean): Promise<boolean>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=ZipkitBrowser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZipkitBrowser.d.ts","sourceRoot":"","sources":["../../src/browser/ZipkitBrowser.ts"],"names":[],"mappings":"AAKA,OAAO,MAAM,EAAE,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AAExC,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,MAAM,EAAS,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAY,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIzC,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAMxD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,MAAM;;IAezC,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;IAyCzD,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ;IAetC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAUzC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAqCzF,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAgB3E,aAAa,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAwGnG;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAUhB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkBrE,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAS9E"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// ======================================
|
|
3
|
-
//
|
|
3
|
+
// ZipkitBrowser.ts
|
|
4
4
|
// Copyright (c) 2025 NeoWare, Inc. All rights reserved.
|
|
5
5
|
// ======================================
|
|
6
6
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
@@ -44,62 +44,65 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
44
44
|
};
|
|
45
45
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
46
|
exports.getTypeOf = exports.sha256 = exports.Headers = exports.Errors = exports.ZipEntry = void 0;
|
|
47
|
-
const
|
|
48
|
-
const ZipEntry_1 = __importDefault(require("../
|
|
47
|
+
const core_1 = __importDefault(require("../core"));
|
|
48
|
+
const ZipEntry_1 = __importDefault(require("../core/ZipEntry"));
|
|
49
49
|
exports.ZipEntry = ZipEntry_1.default;
|
|
50
|
-
const Errors_1 = __importDefault(require("../
|
|
50
|
+
const Errors_1 = __importDefault(require("../core/constants/Errors"));
|
|
51
51
|
exports.Errors = Errors_1.default;
|
|
52
|
-
const Headers = __importStar(require("../
|
|
52
|
+
const Headers = __importStar(require("../core/constants/Headers"));
|
|
53
53
|
exports.Headers = Headers;
|
|
54
|
-
const Headers_1 = require("../
|
|
55
|
-
const ZipCrypto_1 = require("../
|
|
54
|
+
const Headers_1 = require("../core/constants/Headers");
|
|
55
|
+
const ZipCrypto_1 = require("../core/encryption/ZipCrypto");
|
|
56
56
|
Object.defineProperty(exports, "sha256", { enumerable: true, get: function () { return ZipCrypto_1.sha256; } });
|
|
57
|
-
const Util_1 = require("../
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
__exportStar(require("../shared/ZipKit"), exports);
|
|
57
|
+
const Util_1 = require("../core/components/Util");
|
|
58
|
+
Object.defineProperty(exports, "getTypeOf", { enumerable: true, get: function () { return Util_1.getTypeOf; } });
|
|
59
|
+
// Re-export everything from Zipkit
|
|
60
|
+
__exportStar(require("../core"), exports);
|
|
62
61
|
// ======================================
|
|
63
|
-
//
|
|
62
|
+
// ZipkitBrowser
|
|
64
63
|
// ======================================
|
|
65
|
-
class
|
|
64
|
+
class ZipkitBrowser extends core_1.default {
|
|
66
65
|
constructor() {
|
|
67
66
|
super(); // Call the parent constructor
|
|
68
|
-
// console.log('
|
|
69
|
-
// console.log('
|
|
70
|
-
// console.log('
|
|
71
|
-
// console.log('
|
|
72
|
-
// console.log('
|
|
67
|
+
// console.log('Zipkit.support.isNode: ', Zipkit.support.isNode);
|
|
68
|
+
// console.log('Zipkit.support.buffer: ', Zipkit.support.buffer);
|
|
69
|
+
// console.log('Zipkit.support.blob: ', Zipkit.support.blob);
|
|
70
|
+
// console.log('Zipkit.support.streams: ', Zipkit.support.streams);
|
|
71
|
+
// console.log('Zipkit.support.fileReader: ', Zipkit.support.fileReader);
|
|
73
72
|
}
|
|
74
73
|
// --------------------------------------
|
|
75
74
|
// Load a ZIP file from a Blob and return the ZipEntry array
|
|
75
|
+
// Always uses loadZip() to ensure proper initialization
|
|
76
76
|
async loadZipBlob(data) {
|
|
77
|
-
if ((0,
|
|
77
|
+
if ((0, Util_1.getTypeOf)(data) !== Util_1.DATATYPE.BLOB) {
|
|
78
78
|
throw new Error(Errors_1.default.DATATYPE_UNSUPPORTED);
|
|
79
79
|
}
|
|
80
80
|
return new Promise((resolve, reject) => {
|
|
81
|
-
const _readEntries = (data) => {
|
|
82
|
-
try {
|
|
83
|
-
super.loadZip(data);
|
|
84
|
-
return super.getDirectory();
|
|
85
|
-
}
|
|
86
|
-
catch (error) {
|
|
87
|
-
reject(error);
|
|
88
|
-
return null;
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
81
|
const reader = new window.FileReader();
|
|
92
82
|
reader.readAsArrayBuffer(data);
|
|
93
|
-
reader.onload =
|
|
94
|
-
if (!
|
|
83
|
+
reader.onload = (e) => {
|
|
84
|
+
if (!reader.result) {
|
|
95
85
|
reject(new Error('Failed to read file'));
|
|
96
86
|
return;
|
|
97
87
|
}
|
|
98
|
-
|
|
99
|
-
|
|
88
|
+
try {
|
|
89
|
+
// Convert ArrayBuffer to Buffer
|
|
90
|
+
const buffer = Buffer.from(reader.result);
|
|
91
|
+
// Always use loadZip() which:
|
|
92
|
+
// 1. Resets ZIP data
|
|
93
|
+
// 2. Stores buffer in this.inBuffer
|
|
94
|
+
// 3. Loads EOCD and parses central directory
|
|
95
|
+
// 4. Stores entries in this.zipEntries
|
|
96
|
+
// 5. Returns the entries
|
|
97
|
+
const entries = super.loadZip(buffer);
|
|
98
|
+
resolve(entries);
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
reject(error);
|
|
102
|
+
}
|
|
100
103
|
};
|
|
101
|
-
reader.onerror =
|
|
102
|
-
reject(
|
|
104
|
+
reader.onerror = () => {
|
|
105
|
+
reject(reader.error || new Error('Failed to read file'));
|
|
103
106
|
};
|
|
104
107
|
});
|
|
105
108
|
}
|
|
@@ -125,12 +128,13 @@ class ZipKitBrowser extends ZipKit_1.default {
|
|
|
125
128
|
// Compress the data and return the compressed data buffer
|
|
126
129
|
// Set the ZipEntry compressSize and CRC32 values
|
|
127
130
|
async compressDataBlob(entry, data, options) {
|
|
128
|
-
if ((0,
|
|
131
|
+
if ((0, Util_1.getTypeOf)(data) !== Util_1.DATATYPE.BLOB) {
|
|
129
132
|
throw new Error(Errors_1.default.DATATYPE_UNSUPPORTED);
|
|
130
133
|
}
|
|
131
134
|
return new Promise(async (resolve, reject) => {
|
|
132
135
|
const _compressData = async (entry, data, options) => {
|
|
133
|
-
|
|
136
|
+
// Use Zipkit wrapper method
|
|
137
|
+
return await this.compressData(entry, data, options);
|
|
134
138
|
};
|
|
135
139
|
const reader = new window.FileReader();
|
|
136
140
|
reader.readAsArrayBuffer(data);
|
|
@@ -157,7 +161,7 @@ class ZipKitBrowser extends ZipKit_1.default {
|
|
|
157
161
|
// Extract a Blob from a ZipEntry
|
|
158
162
|
async extractBlob(entry, skipHashCheck) {
|
|
159
163
|
try {
|
|
160
|
-
const _outBuf = await
|
|
164
|
+
const _outBuf = await this.extract(entry, skipHashCheck);
|
|
161
165
|
if (!_outBuf)
|
|
162
166
|
return null;
|
|
163
167
|
// Convert Buffer to Uint8Array for Blob compatibility
|
|
@@ -189,7 +193,7 @@ class ZipKitBrowser extends ZipKit_1.default {
|
|
|
189
193
|
// Don't continue here - let it fall through to special handling below
|
|
190
194
|
}
|
|
191
195
|
else {
|
|
192
|
-
const inData = super.copyEntry(entry);
|
|
196
|
+
const inData = await super.copyEntry(entry);
|
|
193
197
|
entry.localHdrOffset = offset;
|
|
194
198
|
offset += inData.length;
|
|
195
199
|
buffers.push(inData);
|
|
@@ -202,12 +206,23 @@ class ZipKitBrowser extends ZipKit_1.default {
|
|
|
202
206
|
return null;
|
|
203
207
|
}
|
|
204
208
|
const fileBuffer = await entry.fileData.arrayBuffer();
|
|
209
|
+
// Special handling for already-compressed entries - use existing compressed data
|
|
210
|
+
if (entry.cmpData && entry.compressedSize && entry.crc) {
|
|
211
|
+
// Entry is already compressed, use the existing compressed data
|
|
212
|
+
const localHdr = entry.createLocalHdr();
|
|
213
|
+
entry.localHdrOffset = offset;
|
|
214
|
+
offset += localHdr.length + entry.cmpData.length;
|
|
215
|
+
buffers.push(localHdr);
|
|
216
|
+
buffers.push(entry.cmpData);
|
|
217
|
+
_onEntryDone(entry, 'Written (pre-compressed)');
|
|
218
|
+
continue;
|
|
219
|
+
}
|
|
205
220
|
// Special handling for token metadata files - store uncompressed with CRC-32
|
|
206
221
|
if (entry.filename === Headers_1.TOKENIZED_METADATA || entry.filename === Headers_1.TIMESTAMP_SUBMITTED || entry.filename === Headers_1.TIMESTAMP_METADATA) {
|
|
207
222
|
// For token metadata, use STORED compression (no compression)
|
|
208
223
|
const buffer = Buffer.from(fileBuffer);
|
|
209
224
|
// Calculate CRC-32 for the token file (not SHA-256 to avoid Merkle Root interference)
|
|
210
|
-
entry.crc = (0,
|
|
225
|
+
entry.crc = (0, ZipCrypto_1.crc32)(buffer);
|
|
211
226
|
// Set up entry for STORED compression
|
|
212
227
|
entry.cmpMethod = 0; // STORED
|
|
213
228
|
entry.compressedSize = buffer.length;
|
|
@@ -223,7 +238,7 @@ class ZipKitBrowser extends ZipKit_1.default {
|
|
|
223
238
|
}
|
|
224
239
|
else {
|
|
225
240
|
// Normal file processing with compression
|
|
226
|
-
const cmpData = await
|
|
241
|
+
const cmpData = await this.compressData(entry, Buffer.from(fileBuffer), cmpOptions);
|
|
227
242
|
const localHdr = entry.createLocalHdr();
|
|
228
243
|
entry.localHdrOffset = offset;
|
|
229
244
|
offset += localHdr.length + cmpData.length;
|
|
@@ -246,5 +261,43 @@ class ZipKitBrowser extends ZipKit_1.default {
|
|
|
246
261
|
const uint8Array = new Uint8Array(combinedBuffer);
|
|
247
262
|
return new Blob([uint8Array], { type: 'application/zip' });
|
|
248
263
|
}
|
|
264
|
+
/**
|
|
265
|
+
* Checks if a filename is a blockchain metadata file that should be excluded from Merkle Root calculation
|
|
266
|
+
* @param filename - The filename to check
|
|
267
|
+
* @returns boolean - True if the file is a metadata file
|
|
268
|
+
*/
|
|
269
|
+
isMetadataFile(filename) {
|
|
270
|
+
return filename === Headers_1.TIMESTAMP_SUBMITTED ||
|
|
271
|
+
filename === Headers_1.TIMESTAMP_METADATA ||
|
|
272
|
+
filename === Headers_1.TOKENIZED_METADATA;
|
|
273
|
+
}
|
|
274
|
+
// --------------------------------------
|
|
275
|
+
// Helper method: Add a file to the ZIP with compression
|
|
276
|
+
// Simplifies the common workflow of creating entry + compressing
|
|
277
|
+
async addFile(file, options) {
|
|
278
|
+
// Create entry
|
|
279
|
+
const entry = this.createZipFileEntry(file);
|
|
280
|
+
// Compress the file
|
|
281
|
+
// In browser, File objects implement both FileData and Blob interfaces
|
|
282
|
+
// We need to convert FileData to Blob for compressDataBlob
|
|
283
|
+
const fileBlob = file;
|
|
284
|
+
const compressedData = await this.compressDataBlob(entry, fileBlob, options);
|
|
285
|
+
entry.cmpData = compressedData;
|
|
286
|
+
return entry;
|
|
287
|
+
}
|
|
288
|
+
// --------------------------------------
|
|
289
|
+
// Verify a ZIP entry by attempting to extract it
|
|
290
|
+
// Returns true if the entry is valid, false otherwise
|
|
291
|
+
async verifyEntry(entry, skipHashCheck) {
|
|
292
|
+
try {
|
|
293
|
+
const blob = await this.extractBlob(entry, skipHashCheck);
|
|
294
|
+
return blob !== null;
|
|
295
|
+
}
|
|
296
|
+
catch (error) {
|
|
297
|
+
console.error(`Verification failed for ${entry.filename}:`, error);
|
|
298
|
+
return false;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
249
301
|
}
|
|
250
|
-
exports.default =
|
|
302
|
+
exports.default = ZipkitBrowser;
|
|
303
|
+
//# sourceMappingURL=ZipkitBrowser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZipkitBrowser.js","sourceRoot":"","sources":["../../src/browser/ZipkitBrowser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from '../core';
|
|
2
|
+
import Zipkit from '../core';
|
|
3
|
+
export default Zipkit;
|
|
4
|
+
export { default as ZipkitBrowser } from './ZipkitBrowser';
|
|
5
|
+
export { TokenMetadata } from '../types';
|
|
6
|
+
export * from '../blockchain/browser';
|
|
7
|
+
export { createTokenVerifier } from '../blockchain/browser';
|
|
8
|
+
export declare const PlatformUtils: {
|
|
9
|
+
isBrowser: boolean;
|
|
10
|
+
isNode: string | false;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAKA,cAAc,SAAS,CAAC;AACxB,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,eAAe,MAAM,CAAC;AAGtB,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,eAAO,MAAM,aAAa;;;CAKzB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// =============================================================================
|
|
3
|
+
// NeoZipkit - Browser-Only Package Exports
|
|
4
|
+
// =============================================================================
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
+
};
|
|
19
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
20
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.PlatformUtils = exports.createTokenVerifier = exports.ZipkitBrowser = void 0;
|
|
24
|
+
// Core shared exports (re-exported from core module)
|
|
25
|
+
__exportStar(require("../core"), exports);
|
|
26
|
+
const core_1 = __importDefault(require("../core"));
|
|
27
|
+
exports.default = core_1.default;
|
|
28
|
+
// Browser-only exports
|
|
29
|
+
var ZipkitBrowser_1 = require("./ZipkitBrowser");
|
|
30
|
+
Object.defineProperty(exports, "ZipkitBrowser", { enumerable: true, get: function () { return __importDefault(ZipkitBrowser_1).default; } });
|
|
31
|
+
// Blockchain exports for browser
|
|
32
|
+
__exportStar(require("../blockchain/browser"), exports);
|
|
33
|
+
var browser_1 = require("../blockchain/browser");
|
|
34
|
+
Object.defineProperty(exports, "createTokenVerifier", { enumerable: true, get: function () { return browser_1.createTokenVerifier; } });
|
|
35
|
+
// Platform-specific conditional exports
|
|
36
|
+
exports.PlatformUtils = {
|
|
37
|
+
// Browser detection
|
|
38
|
+
isBrowser: typeof window !== 'undefined' && typeof document !== 'undefined',
|
|
39
|
+
// Node.js detection
|
|
40
|
+
isNode: typeof process !== 'undefined' && process.versions && process.versions.node,
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=index.js.map
|