neozip-blockchain 1.0.2 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/README.md +14 -6
  2. package/WHATS_NEW.md +62 -0
  3. package/dist/browser/TokenVerifierBrowser.d.ts.map +1 -1
  4. package/dist/browser/TokenVerifierBrowser.js +14 -10
  5. package/dist/browser/TokenVerifierBrowser.js.map +1 -1
  6. package/dist/constants/index.d.ts +2 -1
  7. package/dist/constants/index.d.ts.map +1 -1
  8. package/dist/constants/index.js +2 -1
  9. package/dist/constants/index.js.map +1 -1
  10. package/dist/constants/servers.d.ts +75 -12
  11. package/dist/constants/servers.d.ts.map +1 -1
  12. package/dist/constants/servers.js +175 -12
  13. package/dist/constants/servers.js.map +1 -1
  14. package/dist/core/contracts.d.ts +5 -0
  15. package/dist/core/contracts.d.ts.map +1 -1
  16. package/dist/core/contracts.js +12 -4
  17. package/dist/core/contracts.js.map +1 -1
  18. package/dist/core/index.d.ts +1 -1
  19. package/dist/core/index.d.ts.map +1 -1
  20. package/dist/core/index.js +2 -1
  21. package/dist/core/index.js.map +1 -1
  22. package/dist/encryption/AccessMetadata.d.ts +24 -0
  23. package/dist/encryption/AccessMetadata.d.ts.map +1 -0
  24. package/dist/encryption/AccessMetadata.js +71 -0
  25. package/dist/encryption/AccessMetadata.js.map +1 -0
  26. package/dist/encryption/KeyWrapper.d.ts +40 -0
  27. package/dist/encryption/KeyWrapper.d.ts.map +1 -0
  28. package/dist/encryption/KeyWrapper.js +129 -0
  29. package/dist/encryption/KeyWrapper.js.map +1 -0
  30. package/dist/encryption/KeyWrapperX25519.d.ts +43 -0
  31. package/dist/encryption/KeyWrapperX25519.d.ts.map +1 -0
  32. package/dist/encryption/KeyWrapperX25519.js +136 -0
  33. package/dist/encryption/KeyWrapperX25519.js.map +1 -0
  34. package/dist/encryption/RecipientEncryption.d.ts +60 -0
  35. package/dist/encryption/RecipientEncryption.d.ts.map +1 -0
  36. package/dist/encryption/RecipientEncryption.js +237 -0
  37. package/dist/encryption/RecipientEncryption.js.map +1 -0
  38. package/dist/encryption/index.d.ts +6 -0
  39. package/dist/encryption/index.d.ts.map +1 -0
  40. package/dist/encryption/index.js +23 -0
  41. package/dist/encryption/index.js.map +1 -0
  42. package/dist/encryption/types.d.ts +60 -0
  43. package/dist/encryption/types.d.ts.map +1 -0
  44. package/dist/encryption/types.js +6 -0
  45. package/dist/encryption/types.js.map +1 -0
  46. package/dist/identity/ENSResolver.d.ts +30 -0
  47. package/dist/identity/ENSResolver.d.ts.map +1 -0
  48. package/dist/identity/ENSResolver.js +85 -0
  49. package/dist/identity/ENSResolver.js.map +1 -0
  50. package/dist/identity/IdentityResolverDispatch.d.ts +35 -0
  51. package/dist/identity/IdentityResolverDispatch.d.ts.map +1 -0
  52. package/dist/identity/IdentityResolverDispatch.js +55 -0
  53. package/dist/identity/IdentityResolverDispatch.js.map +1 -0
  54. package/dist/identity/LitPkpResolver.d.ts +17 -0
  55. package/dist/identity/LitPkpResolver.d.ts.map +1 -0
  56. package/dist/identity/LitPkpResolver.js +44 -0
  57. package/dist/identity/LitPkpResolver.js.map +1 -0
  58. package/dist/identity/index.d.ts +6 -0
  59. package/dist/identity/index.d.ts.map +1 -0
  60. package/dist/identity/index.js +18 -0
  61. package/dist/identity/index.js.map +1 -0
  62. package/dist/identity/types.d.ts +38 -0
  63. package/dist/identity/types.d.ts.map +1 -0
  64. package/dist/identity/types.js +13 -0
  65. package/dist/identity/types.js.map +1 -0
  66. package/dist/index.d.ts +1 -1
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +2 -1
  69. package/dist/index.js.map +1 -1
  70. package/dist/ots/ZipkitOTS.d.ts +8 -1
  71. package/dist/ots/ZipkitOTS.d.ts.map +1 -1
  72. package/dist/ots/ZipkitOTS.js +28 -15
  73. package/dist/ots/ZipkitOTS.js.map +1 -1
  74. package/dist/token-service/TokenServiceAPI.d.ts +3 -0
  75. package/dist/token-service/TokenServiceAPI.d.ts.map +1 -1
  76. package/dist/token-service/TokenServiceAPI.js +20 -22
  77. package/dist/token-service/TokenServiceAPI.js.map +1 -1
  78. package/dist/token-service/TokenServiceClient.d.ts +64 -1
  79. package/dist/token-service/TokenServiceClient.d.ts.map +1 -1
  80. package/dist/token-service/TokenServiceClient.js +78 -8
  81. package/dist/token-service/TokenServiceClient.js.map +1 -1
  82. package/dist/token-service/TokenServiceHelpers.d.ts +9 -1
  83. package/dist/token-service/TokenServiceHelpers.d.ts.map +1 -1
  84. package/dist/token-service/TokenServiceHelpers.js +11 -2
  85. package/dist/token-service/TokenServiceHelpers.js.map +1 -1
  86. package/dist/token-service/index.d.ts +2 -2
  87. package/dist/token-service/index.d.ts.map +1 -1
  88. package/dist/token-service/index.js +10 -3
  89. package/dist/token-service/index.js.map +1 -1
  90. package/dist/types/index.d.ts +8 -1
  91. package/dist/types/index.d.ts.map +1 -1
  92. package/dist/version.d.ts +3 -0
  93. package/dist/version.d.ts.map +1 -0
  94. package/dist/version.js +6 -0
  95. package/dist/version.js.map +1 -0
  96. package/docs/CONTRACT_CODE_VERIFICATION_DESIGN.md +525 -0
  97. package/docs/ENCRYPTION.md +213 -0
  98. package/docs/MIGRATION.md +175 -0
  99. package/docs/RATE_LIMITING_DESIGN.md +290 -0
  100. package/docs/TOKEN_SERVICE_API_UPDATE_PLAN.md +712 -0
  101. package/docs/security-hardening-plan.html +398 -0
  102. package/docs/security-hardening-plan.md +316 -0
  103. package/package.json +24 -5
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/core/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/core/contracts.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  // Contract addresses and configurations for different networks
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.isNetworkSupported = exports.getSupportedNetworks = exports.getContractConfig = exports.DEFAULT_CONTRACT_VERSION = exports.CURRENT_DEPLOYMENT = exports.DEFAULT_NETWORK = exports.NZIP_CONTRACT_ABI_WEB3 = exports.UNIFIED_NFT_VERIFY_ABI = exports.TIMESTAMP_PROOF_NFT_ABI = exports.NZIP_TIMESTAMP_REG_ABI = exports.NZIP_CONTRACT_ABI_V251 = exports.NZIP_CONTRACT_ABI_V250 = exports.NZIP_CONTRACT_ABI = exports.CONTRACT_CONFIGS = exports.TOKENIZED_METADATA_LEGACY = exports.TOKENIZED_METADATA = void 0;
4
+ exports.isNetworkSupported = exports.getSupportedNetworks = exports.getContractConfig = exports.LEGACY_BASE_MAINNET_NFT_V210 = exports.DEFAULT_CONTRACT_VERSION = exports.CURRENT_DEPLOYMENT = exports.DEFAULT_NETWORK = exports.NZIP_CONTRACT_ABI_WEB3 = exports.UNIFIED_NFT_VERIFY_ABI = exports.TIMESTAMP_PROOF_NFT_ABI = exports.NZIP_TIMESTAMP_REG_ABI = exports.NZIP_CONTRACT_ABI_V251 = exports.NZIP_CONTRACT_ABI_V250 = exports.NZIP_CONTRACT_ABI = exports.CONTRACT_CONFIGS = exports.TOKENIZED_METADATA_LEGACY = exports.TOKENIZED_METADATA = void 0;
5
5
  exports.normalizeNetworkName = normalizeNetworkName;
6
6
  exports.getChainIdByName = getChainIdByName;
7
7
  exports.getNetworkByName = getNetworkByName;
@@ -39,9 +39,10 @@ exports.CONTRACT_CONFIGS = {
39
39
  registryVersion: '0.90',
40
40
  nameAliases: ['base-sepolia', 'base sepolia', 'basesepolia', 'base-sepolia-testnet']
41
41
  },
42
- // Base Mainnet (Production)
42
+ // Base Mainnet (Production) — NZIP-NFT v2.51 + TimestampReg v0.90
43
+ // Legacy v2.10 tokens: LEGACY_BASE_MAINNET_NFT_V210
43
44
  8453: {
44
- address: '0xd871Fba59F85108aF29299786DD8243B38dD9686', // Production contract v2.10
45
+ address: '0x13C7c45FA99856153AeD9e97d6Db8bDEc5320E42', // NZIP-NFT v2.51
45
46
  network: 'Base Mainnet',
46
47
  chainId: 8453,
47
48
  explorerUrl: 'https://basescan.org',
@@ -50,7 +51,9 @@ exports.CONTRACT_CONFIGS = {
50
51
  'https://base.drpc.org',
51
52
  'https://base.gateway.tenderly.co'
52
53
  ],
53
- version: '2.10',
54
+ version: '2.51',
55
+ registryAddress: '0x07A6a71444A974a7DcfC185966e56fF4809B39f4', // NZIPTimestampReg v0.90
56
+ registryVersion: '0.90',
54
57
  nameAliases: ['base-mainnet', 'base mainnet', 'basemainnet', 'base']
55
58
  },
56
59
  // Ethereum Sepolia (Testnet)
@@ -359,6 +362,11 @@ exports.DEFAULT_NETWORK = 84532;
359
362
  exports.CURRENT_DEPLOYMENT = exports.CONTRACT_CONFIGS[exports.DEFAULT_NETWORK];
360
363
  /** Default contract version used when version is unspecified (e.g. legacy metadata). Prefer v2.50. */
361
364
  exports.DEFAULT_CONTRACT_VERSION = '2.50';
365
+ /**
366
+ * Legacy Base Mainnet NFT (v2.10). Tokens minted before the v2.51 deploy still
367
+ * live at this address. Primary config for 8453 points at v2.51 + registry when deployed.
368
+ */
369
+ exports.LEGACY_BASE_MAINNET_NFT_V210 = '0xd871Fba59F85108aF29299786DD8243B38dD9686';
362
370
  // Helper functions
363
371
  const getContractConfig = (chainId) => {
364
372
  return exports.CONTRACT_CONFIGS[chainId] || exports.CURRENT_DEPLOYMENT;
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/core/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/core/contracts.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export type { VerificationOptions, VerificationResult, EnhancedVerificationResul
10
10
  export type { TokenMetadata } from '../types';
11
11
  export { CoreWalletManager, WalletAnalyzer, } from './WalletManager';
12
12
  export type { CommonTokenConfig, TokenInfo as WalletTokenInfo, WalletBasicInfo, TokenScanResult, NZipTokenDetails } from './WalletManager';
13
- export { NZIP_CONTRACT_ABI, NZIP_CONTRACT_ABI_WEB3, NZIP_CONTRACT_ABI_V250, NZIP_TIMESTAMP_REG_ABI, TIMESTAMP_PROOF_NFT_ABI, UNIFIED_NFT_VERIFY_ABI, CONTRACT_CONFIGS, CURRENT_DEPLOYMENT, DEFAULT_CONTRACT_VERSION, DEFAULT_NETWORK, TOKENIZED_METADATA, TOKENIZED_METADATA_LEGACY, getContractConfig, getSupportedNetworks, isNetworkSupported, getChainIdByName, getSupportedNetworkNames, getNetworkByName, normalizeNetworkName, getContractAdapter, getContractAdapterByVersion, validateContractAddress, validateTokenId, validateEthereumAddress, sanitizeNetworkName, validateMerkleRootFormat } from './contracts';
13
+ export { NZIP_CONTRACT_ABI, NZIP_CONTRACT_ABI_WEB3, NZIP_CONTRACT_ABI_V250, NZIP_TIMESTAMP_REG_ABI, TIMESTAMP_PROOF_NFT_ABI, UNIFIED_NFT_VERIFY_ABI, CONTRACT_CONFIGS, CURRENT_DEPLOYMENT, DEFAULT_CONTRACT_VERSION, LEGACY_BASE_MAINNET_NFT_V210, DEFAULT_NETWORK, TOKENIZED_METADATA, TOKENIZED_METADATA_LEGACY, getContractConfig, getSupportedNetworks, isNetworkSupported, getChainIdByName, getSupportedNetworkNames, getNetworkByName, normalizeNetworkName, getContractAdapter, getContractAdapterByVersion, validateContractAddress, validateTokenId, validateEthereumAddress, sanitizeNetworkName, validateMerkleRootFormat } from './contracts';
14
14
  export type { ContractConfig } from './contracts';
15
15
  export { VERSION_REGISTRY, IMPLEMENTED_VERSIONS, getVersionCapabilities, isVersionSupported, normalizeVersion, getSupportedVersions } from './ContractVersionRegistry';
16
16
  export type { ContractVersion, VersionCapabilities } from './ContractVersionRegistry';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,UAAU,CAAC;AAEzB,OAAO,EACL,YAAY,EACZ,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,SAAS,EACV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,EACvB,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,OAAO,EACL,iBAAiB,EACjB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,iBAAiB,EACjB,SAAS,IAAI,eAAe,EAC5B,eAAe,EACf,eAAe,EACf,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACvB,eAAe,EACf,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,eAAe,EACf,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EACV,sBAAsB,EACtB,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,MAAM,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACzE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,UAAU,CAAC;AAEzB,OAAO,EACL,YAAY,EACZ,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,SAAS,EACV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,EACvB,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,OAAO,EACL,iBAAiB,EACjB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,iBAAiB,EACjB,SAAS,IAAI,eAAe,EAC5B,eAAe,EACf,eAAe,EACf,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,4BAA4B,EAC5B,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACvB,eAAe,EACf,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,eAAe,EACf,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EACV,sBAAsB,EACtB,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,MAAM,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACzE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
@@ -18,7 +18,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
18
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
19
  };
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.configureLoggerFromEnvironment = exports.Logger = exports.V2_50Adapter = exports.V2_11Adapter = exports.V2_10Adapter = exports.getAdapterByChainId = exports.getAdapter = exports.getSupportedVersions = exports.normalizeVersion = exports.isVersionSupported = exports.getVersionCapabilities = exports.IMPLEMENTED_VERSIONS = exports.VERSION_REGISTRY = exports.validateMerkleRootFormat = exports.sanitizeNetworkName = exports.validateEthereumAddress = exports.validateTokenId = exports.validateContractAddress = exports.getContractAdapterByVersion = exports.getContractAdapter = exports.normalizeNetworkName = exports.getNetworkByName = exports.getSupportedNetworkNames = exports.getChainIdByName = exports.isNetworkSupported = exports.getSupportedNetworks = exports.getContractConfig = exports.TOKENIZED_METADATA_LEGACY = exports.TOKENIZED_METADATA = exports.DEFAULT_NETWORK = exports.DEFAULT_CONTRACT_VERSION = exports.CURRENT_DEPLOYMENT = exports.CONTRACT_CONFIGS = exports.UNIFIED_NFT_VERIFY_ABI = exports.TIMESTAMP_PROOF_NFT_ABI = exports.NZIP_TIMESTAMP_REG_ABI = exports.NZIP_CONTRACT_ABI_V250 = exports.NZIP_CONTRACT_ABI_WEB3 = exports.NZIP_CONTRACT_ABI = exports.WalletAnalyzer = exports.CoreWalletManager = exports.ZipkitVerifier = exports.validatePrivateKey = exports.ZipkitMinter = void 0;
21
+ exports.configureLoggerFromEnvironment = exports.Logger = exports.V2_50Adapter = exports.V2_11Adapter = exports.V2_10Adapter = exports.getAdapterByChainId = exports.getAdapter = exports.getSupportedVersions = exports.normalizeVersion = exports.isVersionSupported = exports.getVersionCapabilities = exports.IMPLEMENTED_VERSIONS = exports.VERSION_REGISTRY = exports.validateMerkleRootFormat = exports.sanitizeNetworkName = exports.validateEthereumAddress = exports.validateTokenId = exports.validateContractAddress = exports.getContractAdapterByVersion = exports.getContractAdapter = exports.normalizeNetworkName = exports.getNetworkByName = exports.getSupportedNetworkNames = exports.getChainIdByName = exports.isNetworkSupported = exports.getSupportedNetworks = exports.getContractConfig = exports.TOKENIZED_METADATA_LEGACY = exports.TOKENIZED_METADATA = exports.DEFAULT_NETWORK = exports.LEGACY_BASE_MAINNET_NFT_V210 = exports.DEFAULT_CONTRACT_VERSION = exports.CURRENT_DEPLOYMENT = exports.CONTRACT_CONFIGS = exports.UNIFIED_NFT_VERIFY_ABI = exports.TIMESTAMP_PROOF_NFT_ABI = exports.NZIP_TIMESTAMP_REG_ABI = exports.NZIP_CONTRACT_ABI_V250 = exports.NZIP_CONTRACT_ABI_WEB3 = exports.NZIP_CONTRACT_ABI = exports.WalletAnalyzer = exports.CoreWalletManager = exports.ZipkitVerifier = exports.validatePrivateKey = exports.ZipkitMinter = void 0;
22
22
  // Export all types from types location
23
23
  __exportStar(require("../types"), exports);
24
24
  var ZipkitMinter_1 = require("./ZipkitMinter");
@@ -40,6 +40,7 @@ Object.defineProperty(exports, "UNIFIED_NFT_VERIFY_ABI", { enumerable: true, get
40
40
  Object.defineProperty(exports, "CONTRACT_CONFIGS", { enumerable: true, get: function () { return contracts_1.CONTRACT_CONFIGS; } });
41
41
  Object.defineProperty(exports, "CURRENT_DEPLOYMENT", { enumerable: true, get: function () { return contracts_1.CURRENT_DEPLOYMENT; } });
42
42
  Object.defineProperty(exports, "DEFAULT_CONTRACT_VERSION", { enumerable: true, get: function () { return contracts_1.DEFAULT_CONTRACT_VERSION; } });
43
+ Object.defineProperty(exports, "LEGACY_BASE_MAINNET_NFT_V210", { enumerable: true, get: function () { return contracts_1.LEGACY_BASE_MAINNET_NFT_V210; } });
43
44
  Object.defineProperty(exports, "DEFAULT_NETWORK", { enumerable: true, get: function () { return contracts_1.DEFAULT_NETWORK; } });
44
45
  Object.defineProperty(exports, "TOKENIZED_METADATA", { enumerable: true, get: function () { return contracts_1.TOKENIZED_METADATA; } });
45
46
  Object.defineProperty(exports, "TOKENIZED_METADATA_LEGACY", { enumerable: true, get: function () { return contracts_1.TOKENIZED_METADATA_LEGACY; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,uCAAuC;AACvC,2CAAyB;AAEzB,+CAGwB;AAFtB,4GAAA,YAAY,OAAA;AACZ,kHAAA,kBAAkB,OAAA;AAUpB,mDAE0B;AADxB,gHAAA,cAAc,OAAA;AAYhB,mCAAmC;AACnC,iDAGyB;AAFvB,kHAAA,iBAAiB,OAAA;AACjB,+GAAA,cAAc,OAAA;AAUhB,yCA2BqB;AA1BnB,8GAAA,iBAAiB,OAAA;AACjB,mHAAA,sBAAsB,OAAA;AACtB,mHAAA,sBAAsB,OAAA;AACtB,mHAAA,sBAAsB,OAAA;AACtB,oHAAA,uBAAuB,OAAA;AACvB,mHAAA,sBAAsB,OAAA;AACtB,6GAAA,gBAAgB,OAAA;AAChB,+GAAA,kBAAkB,OAAA;AAClB,qHAAA,wBAAwB,OAAA;AACxB,4GAAA,eAAe,OAAA;AACf,+GAAA,kBAAkB,OAAA;AAClB,sHAAA,yBAAyB,OAAA;AACzB,8GAAA,iBAAiB,OAAA;AACjB,iHAAA,oBAAoB,OAAA;AACpB,+GAAA,kBAAkB,OAAA;AAClB,6GAAA,gBAAgB,OAAA;AAChB,qHAAA,wBAAwB,OAAA;AACxB,6GAAA,gBAAgB,OAAA;AAChB,iHAAA,oBAAoB,OAAA;AACpB,+GAAA,kBAAkB,OAAA;AAClB,wHAAA,2BAA2B,OAAA;AAC3B,oHAAA,uBAAuB,OAAA;AACvB,4GAAA,eAAe,OAAA;AACf,oHAAA,uBAAuB,OAAA;AACvB,gHAAA,mBAAmB,OAAA;AACnB,qHAAA,wBAAwB,OAAA;AAI1B,mCAAmC;AACnC,qEAOmC;AANjC,2HAAA,gBAAgB,OAAA;AAChB,+HAAA,oBAAoB,OAAA;AACpB,iIAAA,sBAAsB,OAAA;AACtB,6HAAA,kBAAkB,OAAA;AAClB,2HAAA,gBAAgB,OAAA;AAChB,+HAAA,oBAAoB,OAAA;AAOtB,kBAAkB;AAClB,4DAA4E;AAAnE,4GAAA,UAAU,OAAA;AAAE,qHAAA,mBAAmB,OAAA;AACxC,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AACrB,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AACrB,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AAQrB,wBAAwB;AACxB,0CAAyE;AAAhE,gGAAA,MAAM,OAAA;AAAE,wHAAA,8BAA8B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,uCAAuC;AACvC,2CAAyB;AAEzB,+CAGwB;AAFtB,4GAAA,YAAY,OAAA;AACZ,kHAAA,kBAAkB,OAAA;AAUpB,mDAE0B;AADxB,gHAAA,cAAc,OAAA;AAYhB,mCAAmC;AACnC,iDAGyB;AAFvB,kHAAA,iBAAiB,OAAA;AACjB,+GAAA,cAAc,OAAA;AAUhB,yCA4BqB;AA3BnB,8GAAA,iBAAiB,OAAA;AACjB,mHAAA,sBAAsB,OAAA;AACtB,mHAAA,sBAAsB,OAAA;AACtB,mHAAA,sBAAsB,OAAA;AACtB,oHAAA,uBAAuB,OAAA;AACvB,mHAAA,sBAAsB,OAAA;AACtB,6GAAA,gBAAgB,OAAA;AAChB,+GAAA,kBAAkB,OAAA;AAClB,qHAAA,wBAAwB,OAAA;AACxB,yHAAA,4BAA4B,OAAA;AAC5B,4GAAA,eAAe,OAAA;AACf,+GAAA,kBAAkB,OAAA;AAClB,sHAAA,yBAAyB,OAAA;AACzB,8GAAA,iBAAiB,OAAA;AACjB,iHAAA,oBAAoB,OAAA;AACpB,+GAAA,kBAAkB,OAAA;AAClB,6GAAA,gBAAgB,OAAA;AAChB,qHAAA,wBAAwB,OAAA;AACxB,6GAAA,gBAAgB,OAAA;AAChB,iHAAA,oBAAoB,OAAA;AACpB,+GAAA,kBAAkB,OAAA;AAClB,wHAAA,2BAA2B,OAAA;AAC3B,oHAAA,uBAAuB,OAAA;AACvB,4GAAA,eAAe,OAAA;AACf,oHAAA,uBAAuB,OAAA;AACvB,gHAAA,mBAAmB,OAAA;AACnB,qHAAA,wBAAwB,OAAA;AAI1B,mCAAmC;AACnC,qEAOmC;AANjC,2HAAA,gBAAgB,OAAA;AAChB,+HAAA,oBAAoB,OAAA;AACpB,iIAAA,sBAAsB,OAAA;AACtB,6HAAA,kBAAkB,OAAA;AAClB,2HAAA,gBAAgB,OAAA;AAChB,+HAAA,oBAAoB,OAAA;AAOtB,kBAAkB;AAClB,4DAA4E;AAAnE,4GAAA,UAAU,OAAA;AAAE,qHAAA,mBAAmB,OAAA;AACxC,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AACrB,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AACrB,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AAQrB,wBAAwB;AACxB,0CAAyE;AAAhE,gGAAA,MAAM,OAAA;AAAE,wHAAA,8BAA8B,OAAA"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Serialize and parse META-INF/ACCESS.NZIP — the JSON envelope that stores
3
+ * ECIES-wrapped AES passwords and recipient identity information.
4
+ */
5
+ import { type ResolvedIdentity } from '../identity/types';
6
+ import type { AccessControlMetadata, WrappedKeyResult } from './types';
7
+ /** Well-known path inside a .nzip archive for recipient access control. */
8
+ export declare const ACCESS_NZIP_PATH = "META-INF/ACCESS.NZIP";
9
+ /**
10
+ * Build an AccessControlMetadata object from resolved identities and their
11
+ * individually wrapped keys.
12
+ */
13
+ export declare function buildAccessMetadata(recipients: Array<{
14
+ resolved: ResolvedIdentity;
15
+ wrapped: WrappedKeyResult;
16
+ }>, scheme?: AccessControlMetadata['scheme'], innerZipEncryption?: 'neo-aes256' | 'aes256'): AccessControlMetadata;
17
+ /** Serialize metadata to a UTF-8 buffer suitable for writing as a ZIP entry. */
18
+ export declare function serializeAccessMetadata(metadata: AccessControlMetadata): Buffer;
19
+ /**
20
+ * Parse a raw buffer (extracted from META-INF/ACCESS.NZIP) back into typed metadata.
21
+ * Throws on malformed JSON or missing required fields.
22
+ */
23
+ export declare function parseAccessMetadata(raw: Buffer | string): AccessControlMetadata;
24
+ //# sourceMappingURL=AccessMetadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccessMetadata.d.ts","sourceRoot":"","sources":["../../src/encryption/AccessMetadata.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EACV,qBAAqB,EAErB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,yBAAyB,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,CAAC,EAC5E,MAAM,GAAE,qBAAqB,CAAC,QAAQ,CAAgB,EACtD,kBAAkB,GAAE,YAAY,GAAG,QAAuB,GACzD,qBAAqB,CAgCvB;AAED,gFAAgF;AAChF,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,qBAAqB,GAC9B,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,qBAAqB,CAsB/E"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ /**
3
+ * Serialize and parse META-INF/ACCESS.NZIP — the JSON envelope that stores
4
+ * ECIES-wrapped AES passwords and recipient identity information.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ACCESS_NZIP_PATH = void 0;
8
+ exports.buildAccessMetadata = buildAccessMetadata;
9
+ exports.serializeAccessMetadata = serializeAccessMetadata;
10
+ exports.parseAccessMetadata = parseAccessMetadata;
11
+ const version_1 = require("../version");
12
+ const types_1 = require("../identity/types");
13
+ /** Well-known path inside a .nzip archive for recipient access control. */
14
+ exports.ACCESS_NZIP_PATH = 'META-INF/ACCESS.NZIP';
15
+ /**
16
+ * Build an AccessControlMetadata object from resolved identities and their
17
+ * individually wrapped keys.
18
+ */
19
+ function buildAccessMetadata(recipients, scheme = 'ens-hybrid', innerZipEncryption = 'neo-aes256') {
20
+ const encryptionInner = innerZipEncryption === 'aes256'
21
+ ? {
22
+ method: 'aes-256-winzip',
23
+ note: 'AES key derived via PBKDF2 from wrapped password (neozipkit AE-1)',
24
+ }
25
+ : {
26
+ method: 'neo-aes256',
27
+ note: 'NeoEncrypt (NEO extra 0x024E); AES-256 via PBKDF2 from wrapped password (neozipkit)',
28
+ };
29
+ const wrappedRecipients = recipients.map(({ resolved, wrapped }) => ({
30
+ identity: resolved.identity,
31
+ identityType: resolved.identityType,
32
+ resolvedAddress: resolved.address,
33
+ publicKeyHex: resolved.publicKeyHex,
34
+ wrappedKey: wrapped.ciphertext,
35
+ ephemeralPublicKey: wrapped.ephemeralPublicKey,
36
+ keyAlgorithm: wrapped.keyAlgorithm,
37
+ }));
38
+ return {
39
+ version: '1.0',
40
+ scheme,
41
+ recipients: wrappedRecipients,
42
+ encryption: encryptionInner,
43
+ created: new Date().toISOString(),
44
+ proVersion: version_1.VERSION,
45
+ };
46
+ }
47
+ /** Serialize metadata to a UTF-8 buffer suitable for writing as a ZIP entry. */
48
+ function serializeAccessMetadata(metadata) {
49
+ return Buffer.from(JSON.stringify(metadata, null, 2), 'utf8');
50
+ }
51
+ /**
52
+ * Parse a raw buffer (extracted from META-INF/ACCESS.NZIP) back into typed metadata.
53
+ * Throws on malformed JSON or missing required fields.
54
+ */
55
+ function parseAccessMetadata(raw) {
56
+ const text = typeof raw === 'string' ? raw : raw.toString('utf8');
57
+ const parsed = JSON.parse(text);
58
+ if (!parsed.version || !parsed.scheme || !Array.isArray(parsed.recipients)) {
59
+ throw new Error('Invalid ACCESS.NZIP: missing version, scheme, or recipients');
60
+ }
61
+ for (const r of parsed.recipients) {
62
+ if (!r.identityType || !(0, types_1.isIdentityType)(r.identityType)) {
63
+ throw new Error(`Invalid ACCESS.NZIP recipient "${r.identity ?? '?'}": unknown or missing identityType`);
64
+ }
65
+ if (!r.wrappedKey || !r.ephemeralPublicKey || !r.keyAlgorithm) {
66
+ throw new Error(`Invalid ACCESS.NZIP recipient "${r.identity}": missing wrappedKey, ephemeralPublicKey, or keyAlgorithm`);
67
+ }
68
+ }
69
+ return parsed;
70
+ }
71
+ //# sourceMappingURL=AccessMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccessMetadata.js","sourceRoot":"","sources":["../../src/encryption/AccessMetadata.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAiBH,kDAoCC;AAGD,0DAIC;AAMD,kDAsBC;AAtFD,wCAAqC;AACrC,6CAA0E;AAO1E,2EAA2E;AAC9D,QAAA,gBAAgB,GAAG,sBAAsB,CAAC;AAEvD;;;GAGG;AACH,SAAgB,mBAAmB,CACjC,UAA4E,EAC5E,SAA0C,YAAY,EACtD,qBAA8C,YAAY;IAE1D,MAAM,eAAe,GACnB,kBAAkB,KAAK,QAAQ;QAC7B,CAAC,CAAC;YACE,MAAM,EAAE,gBAAyB;YACjC,IAAI,EAAE,mEAAmE;SAC1E;QACH,CAAC,CAAC;YACE,MAAM,EAAE,YAAqB;YAC7B,IAAI,EAAE,qFAAqF;SAC5F,CAAC;IAER,MAAM,iBAAiB,GAAuB,UAAU,CAAC,GAAG,CAC1D,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,eAAe,EAAE,QAAQ,CAAC,OAAO;QACjC,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,CAAC,CACH,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,KAAK;QACd,MAAM;QACN,UAAU,EAAE,iBAAiB;QAC7B,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACjC,UAAU,EAAE,iBAAO;KACpB,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,SAAgB,uBAAuB,CACrC,QAA+B;IAE/B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAChE,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,GAAoB;IACtD,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA0B,CAAC;IAEzD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,IAAA,sBAAc,EAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CACb,kCAAkC,CAAC,CAAC,QAAQ,IAAI,GAAG,oCAAoC,CACxF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CACb,kCAAkC,CAAC,CAAC,QAAQ,4DAA4D,CACzG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * ECIES key wrapping using secp256k1.
3
+ *
4
+ * Encrypt:
5
+ * 1. Generate ephemeral secp256k1 key pair
6
+ * 2. ECDH(ephemeral private, recipient public) → shared secret
7
+ * 3. HKDF-SHA256(shared secret) → 32-byte wrapping key
8
+ * 4. AES-256-GCM encrypt plaintext with wrapping key
9
+ *
10
+ * Decrypt:
11
+ * 1. ECDH(recipient private, ephemeral public) → same shared secret
12
+ * 2. HKDF-SHA256(shared secret) → same wrapping key
13
+ * 3. AES-256-GCM decrypt ciphertext
14
+ */
15
+ import type { WrappedKeyResult } from './types';
16
+ export declare const KEY_ALGORITHM_SECP256K1 = "ecies-secp256k1-aes256gcm";
17
+ /** @deprecated Use KEY_ALGORITHM_SECP256K1 */
18
+ export declare const KEY_ALGORITHM = "ecies-secp256k1-aes256gcm";
19
+ /**
20
+ * Wrap (encrypt) plaintext so only the holder of `recipientPubKeyHex` can unwrap it.
21
+ *
22
+ * @param recipientPubKeyHex Uncompressed secp256k1 public key ("04…", 130 hex chars).
23
+ * @param plaintext The secret to protect (typically a hex-encoded AES password).
24
+ */
25
+ export declare function wrapKey(recipientPubKeyHex: string, plaintext: Buffer): WrappedKeyResult;
26
+ /**
27
+ * Unwrap (decrypt) ciphertext using the recipient's private key.
28
+ *
29
+ * @param recipientPrivKeyHex Recipient's secp256k1 private key (hex, 64 chars).
30
+ * @param ciphertextB64 Base64 string produced by `wrapKey`.
31
+ * @param ephemeralPubKeyHex Ephemeral public key from `wrapKey` result.
32
+ * @returns The original plaintext buffer.
33
+ */
34
+ export declare function unwrapKey(recipientPrivKeyHex: string, ciphertextB64: string, ephemeralPubKeyHex: string): Buffer;
35
+ /**
36
+ * Derive the public key (uncompressed, hex) from a private key. Useful for
37
+ * matching a recipient entry in ACCESS.NZIP without knowing the identity string.
38
+ */
39
+ export declare function publicKeyFromPrivate(privKeyHex: string): string;
40
+ //# sourceMappingURL=KeyWrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyWrapper.d.ts","sourceRoot":"","sources":["../../src/encryption/KeyWrapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,eAAO,MAAM,uBAAuB,8BAA8B,CAAC;AACnE,8CAA8C;AAC9C,eAAO,MAAM,aAAa,8BAA0B,CAAC;AAYrD;;;;;GAKG;AACH,wBAAgB,OAAO,CACrB,kBAAkB,EAAE,MAAM,EAC1B,SAAS,EAAE,MAAM,GAChB,gBAAgB,CAsBlB;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,mBAAmB,EAAE,MAAM,EAC3B,aAAa,EAAE,MAAM,EACrB,kBAAkB,EAAE,MAAM,GACzB,MAAM,CAgBR;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAI/D"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ /**
3
+ * ECIES key wrapping using secp256k1.
4
+ *
5
+ * Encrypt:
6
+ * 1. Generate ephemeral secp256k1 key pair
7
+ * 2. ECDH(ephemeral private, recipient public) → shared secret
8
+ * 3. HKDF-SHA256(shared secret) → 32-byte wrapping key
9
+ * 4. AES-256-GCM encrypt plaintext with wrapping key
10
+ *
11
+ * Decrypt:
12
+ * 1. ECDH(recipient private, ephemeral public) → same shared secret
13
+ * 2. HKDF-SHA256(shared secret) → same wrapping key
14
+ * 3. AES-256-GCM decrypt ciphertext
15
+ */
16
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ var desc = Object.getOwnPropertyDescriptor(m, k);
19
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
20
+ desc = { enumerable: true, get: function() { return m[k]; } };
21
+ }
22
+ Object.defineProperty(o, k2, desc);
23
+ }) : (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ o[k2] = m[k];
26
+ }));
27
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
28
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
29
+ }) : function(o, v) {
30
+ o["default"] = v;
31
+ });
32
+ var __importStar = (this && this.__importStar) || (function () {
33
+ var ownKeys = function(o) {
34
+ ownKeys = Object.getOwnPropertyNames || function (o) {
35
+ var ar = [];
36
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
37
+ return ar;
38
+ };
39
+ return ownKeys(o);
40
+ };
41
+ return function (mod) {
42
+ if (mod && mod.__esModule) return mod;
43
+ var result = {};
44
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
45
+ __setModuleDefault(result, mod);
46
+ return result;
47
+ };
48
+ })();
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.KEY_ALGORITHM = exports.KEY_ALGORITHM_SECP256K1 = void 0;
51
+ exports.wrapKey = wrapKey;
52
+ exports.unwrapKey = unwrapKey;
53
+ exports.publicKeyFromPrivate = publicKeyFromPrivate;
54
+ const crypto = __importStar(require("crypto"));
55
+ const secp256k1_1 = require("@noble/curves/secp256k1");
56
+ const hkdf_1 = require("@noble/hashes/hkdf");
57
+ const sha256_1 = require("@noble/hashes/sha256");
58
+ exports.KEY_ALGORITHM_SECP256K1 = 'ecies-secp256k1-aes256gcm';
59
+ /** @deprecated Use KEY_ALGORITHM_SECP256K1 */
60
+ exports.KEY_ALGORITHM = exports.KEY_ALGORITHM_SECP256K1;
61
+ const AES_KEY_BYTES = 32;
62
+ const GCM_IV_BYTES = 12;
63
+ const GCM_AUTH_TAG_BYTES = 16;
64
+ const HKDF_INFO = Buffer.from('neozipkit-pro/ecies/v1', 'utf8');
65
+ function deriveWrappingKey(sharedSecret) {
66
+ const ikm = sharedSecret.slice(1); // drop the 0x04 prefix byte
67
+ const derived = (0, hkdf_1.hkdf)(sha256_1.sha256, ikm, undefined, HKDF_INFO, AES_KEY_BYTES);
68
+ return Buffer.from(derived);
69
+ }
70
+ /**
71
+ * Wrap (encrypt) plaintext so only the holder of `recipientPubKeyHex` can unwrap it.
72
+ *
73
+ * @param recipientPubKeyHex Uncompressed secp256k1 public key ("04…", 130 hex chars).
74
+ * @param plaintext The secret to protect (typically a hex-encoded AES password).
75
+ */
76
+ function wrapKey(recipientPubKeyHex, plaintext) {
77
+ const recipientPub = hexToBytes(recipientPubKeyHex);
78
+ const ephPriv = secp256k1_1.secp256k1.utils.randomPrivateKey();
79
+ const ephPub = secp256k1_1.secp256k1.getPublicKey(ephPriv, false); // uncompressed
80
+ const shared = secp256k1_1.secp256k1.getSharedSecret(ephPriv, recipientPub, false);
81
+ const wrappingKey = deriveWrappingKey(shared);
82
+ const iv = crypto.randomBytes(GCM_IV_BYTES);
83
+ const cipher = crypto.createCipheriv('aes-256-gcm', wrappingKey, iv);
84
+ const encrypted = Buffer.concat([cipher.update(plaintext), cipher.final()]);
85
+ const tag = cipher.getAuthTag();
86
+ // ciphertext layout: iv (12) || authTag (16) || encrypted data
87
+ const ciphertextBuf = Buffer.concat([iv, tag, encrypted]);
88
+ return {
89
+ ciphertext: ciphertextBuf.toString('base64'),
90
+ ephemeralPublicKey: Buffer.from(ephPub).toString('hex'),
91
+ keyAlgorithm: exports.KEY_ALGORITHM,
92
+ };
93
+ }
94
+ /**
95
+ * Unwrap (decrypt) ciphertext using the recipient's private key.
96
+ *
97
+ * @param recipientPrivKeyHex Recipient's secp256k1 private key (hex, 64 chars).
98
+ * @param ciphertextB64 Base64 string produced by `wrapKey`.
99
+ * @param ephemeralPubKeyHex Ephemeral public key from `wrapKey` result.
100
+ * @returns The original plaintext buffer.
101
+ */
102
+ function unwrapKey(recipientPrivKeyHex, ciphertextB64, ephemeralPubKeyHex) {
103
+ const recipientPriv = hexToBytes(recipientPrivKeyHex);
104
+ const ephPub = hexToBytes(ephemeralPubKeyHex);
105
+ const shared = secp256k1_1.secp256k1.getSharedSecret(recipientPriv, ephPub, false);
106
+ const wrappingKey = deriveWrappingKey(shared);
107
+ const ciphertextBuf = Buffer.from(ciphertextB64, 'base64');
108
+ const iv = ciphertextBuf.subarray(0, GCM_IV_BYTES);
109
+ const tag = ciphertextBuf.subarray(GCM_IV_BYTES, GCM_IV_BYTES + GCM_AUTH_TAG_BYTES);
110
+ const encrypted = ciphertextBuf.subarray(GCM_IV_BYTES + GCM_AUTH_TAG_BYTES);
111
+ const decipher = crypto.createDecipheriv('aes-256-gcm', wrappingKey, iv);
112
+ decipher.setAuthTag(tag);
113
+ const decrypted = Buffer.concat([decipher.update(encrypted), decipher.final()]);
114
+ return decrypted;
115
+ }
116
+ /**
117
+ * Derive the public key (uncompressed, hex) from a private key. Useful for
118
+ * matching a recipient entry in ACCESS.NZIP without knowing the identity string.
119
+ */
120
+ function publicKeyFromPrivate(privKeyHex) {
121
+ const priv = hexToBytes(privKeyHex);
122
+ const pub = secp256k1_1.secp256k1.getPublicKey(priv, false);
123
+ return Buffer.from(pub).toString('hex');
124
+ }
125
+ function hexToBytes(hex) {
126
+ const clean = hex.startsWith('0x') ? hex.slice(2) : hex;
127
+ return Uint8Array.from(Buffer.from(clean, 'hex'));
128
+ }
129
+ //# sourceMappingURL=KeyWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyWrapper.js","sourceRoot":"","sources":["../../src/encryption/KeyWrapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * ECIES key wrapping using X25519 (Curve25519 Diffie-Hellman).
3
+ *
4
+ * X25519 is purpose-built for key agreement / secure messaging and is used by
5
+ * Signal, WireGuard, TLS 1.3, and libsodium. The ZipStamp server provisions
6
+ * X25519 key pairs for each user, so no additional key infrastructure is needed.
7
+ *
8
+ * Encrypt:
9
+ * 1. Generate ephemeral X25519 key pair
10
+ * 2. X25519(ephemeral private, recipient public) → 32-byte shared secret
11
+ * 3. HKDF-SHA256(shared secret) → 32-byte wrapping key
12
+ * 4. AES-256-GCM encrypt plaintext with wrapping key
13
+ *
14
+ * Decrypt:
15
+ * 1. X25519(recipient private, ephemeral public) → same shared secret
16
+ * 2. HKDF-SHA256(shared secret) → same wrapping key
17
+ * 3. AES-256-GCM decrypt ciphertext
18
+ */
19
+ import type { WrappedKeyResult } from './types';
20
+ export declare const KEY_ALGORITHM_X25519 = "ecies-x25519-aes256gcm";
21
+ /**
22
+ * Wrap (encrypt) plaintext so only the holder of `recipientPubKeyHex` can unwrap it.
23
+ *
24
+ * @param recipientPubKeyHex Raw X25519 public key, 64 hex chars (32 bytes).
25
+ * Obtained from ZipStamp GET /crypto/public → x25519PublicKey.
26
+ * @param plaintext The secret to protect (typically a hex-encoded AES password).
27
+ */
28
+ export declare function wrapKeyX25519(recipientPubKeyHex: string, plaintext: Buffer): WrappedKeyResult;
29
+ /**
30
+ * Unwrap (decrypt) ciphertext using the recipient's X25519 private key.
31
+ *
32
+ * @param recipientPrivKeyHex Recipient's X25519 private key (hex, 64 chars / 32 bytes).
33
+ * @param ciphertextB64 Base64 string produced by `wrapKeyX25519`.
34
+ * @param ephemeralPubKeyHex Ephemeral public key from `wrapKeyX25519` result (64 hex chars).
35
+ * @returns The original plaintext buffer.
36
+ */
37
+ export declare function unwrapKeyX25519(recipientPrivKeyHex: string, ciphertextB64: string, ephemeralPubKeyHex: string): Buffer;
38
+ /**
39
+ * Derive the X25519 public key (hex, 64 chars) from a private key.
40
+ * Useful for matching a recipient entry in ACCESS.NZIP.
41
+ */
42
+ export declare function publicKeyFromPrivateX25519(privKeyHex: string): string;
43
+ //# sourceMappingURL=KeyWrapperX25519.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyWrapperX25519.d.ts","sourceRoot":"","sources":["../../src/encryption/KeyWrapperX25519.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,eAAO,MAAM,oBAAoB,2BAA2B,CAAC;AAW7D;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,kBAAkB,EAAE,MAAM,EAC1B,SAAS,EAAE,MAAM,GAChB,gBAAgB,CAyBlB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,mBAAmB,EAAE,MAAM,EAC3B,aAAa,EAAE,MAAM,EACrB,kBAAkB,EAAE,MAAM,GACzB,MAAM,CAsBR;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAKrE"}