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,63 @@
1
+ /**
2
+ * ContractVersionRegistry - Central registry for contract versions and their capabilities
3
+ *
4
+ * This registry defines what each contract version supports, enabling the adapter system
5
+ * to handle version-specific differences cleanly.
6
+ */
7
+ export type ContractVersion = '2.0' | '2.10' | '2.11' | '2.50';
8
+ /**
9
+ * Capabilities that a contract version may support
10
+ */
11
+ export interface VersionCapabilities {
12
+ /** Whether this version supports encryptedHash field */
13
+ supportsEncryptedHash: boolean;
14
+ /** Whether this version supports fileName field (removed in v2.10+) */
15
+ supportsFileName: boolean;
16
+ /** Fields available in getZipFileInfo return value */
17
+ getZipFileInfoFields: string[];
18
+ /** Function signature variant for publicMintZipFile */
19
+ publicMintZipFileSignature: 'v2.0' | 'v2.10' | 'v2.11' | 'v2.50';
20
+ /** Whether getVersion() function is available */
21
+ hasGetVersion: boolean;
22
+ /** Additional functions available in this version */
23
+ additionalFunctions?: string[];
24
+ /** Whether this version supports timestamp proof minting (v2.50+) */
25
+ supportsTimestampProof?: boolean;
26
+ /** Whether this version supports minting fees (v2.50+) */
27
+ supportsMintFee?: boolean;
28
+ /** Whether this version supports authorized minters (v2.50+) */
29
+ supportsAuthorizedMinters?: boolean;
30
+ }
31
+ /**
32
+ * Registry mapping contract versions to their capabilities
33
+ */
34
+ export declare const VERSION_REGISTRY: Record<ContractVersion, VersionCapabilities>;
35
+ /**
36
+ * Get capabilities for a specific contract version
37
+ * @param version Contract version string (e.g., "2.11", "2.10")
38
+ * @returns VersionCapabilities if version is supported, null otherwise
39
+ */
40
+ export declare function getVersionCapabilities(version: string): VersionCapabilities | null;
41
+ /**
42
+ * List of versions that have adapter implementations
43
+ * This is separate from the registry to distinguish between "known" and "implemented"
44
+ */
45
+ export declare const IMPLEMENTED_VERSIONS: ContractVersion[];
46
+ /**
47
+ * Check if a contract version is supported (has both registry entry and adapter implementation)
48
+ * @param version Contract version string
49
+ * @returns true if version is supported and has an adapter, false otherwise
50
+ */
51
+ export declare function isVersionSupported(version: string): boolean;
52
+ /**
53
+ * Normalize version string to major.minor format
54
+ * @param version Version string (e.g., "2.11.0", "2.11", "2.10")
55
+ * @returns Normalized version (e.g., "2.11", "2.10")
56
+ */
57
+ export declare function normalizeVersion(version: string): string;
58
+ /**
59
+ * Get all supported contract versions
60
+ * @returns Array of supported version strings
61
+ */
62
+ export declare function getSupportedVersions(): ContractVersion[];
63
+ //# sourceMappingURL=ContractVersionRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContractVersionRegistry.d.ts","sourceRoot":"","sources":["../../src/core/ContractVersionRegistry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wDAAwD;IACxD,qBAAqB,EAAE,OAAO,CAAC;IAE/B,uEAAuE;IACvE,gBAAgB,EAAE,OAAO,CAAC;IAE1B,sDAAsD;IACtD,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAE/B,uDAAuD;IACvD,0BAA0B,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IAEjE,iDAAiD;IACjD,aAAa,EAAE,OAAO,CAAC;IAEvB,qDAAqD;IACrD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE/B,qEAAqE;IACrE,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,0DAA0D;IAC1D,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,gEAAgE;IAChE,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAqDzE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CASlF;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,eAAe,EAA6B,CAAC;AAEhF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQ3D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAcxD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,EAAE,CAExD"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ /**
3
+ * ContractVersionRegistry - Central registry for contract versions and their capabilities
4
+ *
5
+ * This registry defines what each contract version supports, enabling the adapter system
6
+ * to handle version-specific differences cleanly.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.IMPLEMENTED_VERSIONS = exports.VERSION_REGISTRY = void 0;
10
+ exports.getVersionCapabilities = getVersionCapabilities;
11
+ exports.isVersionSupported = isVersionSupported;
12
+ exports.normalizeVersion = normalizeVersion;
13
+ exports.getSupportedVersions = getSupportedVersions;
14
+ /**
15
+ * Registry mapping contract versions to their capabilities
16
+ */
17
+ exports.VERSION_REGISTRY = {
18
+ '2.0': {
19
+ supportsEncryptedHash: false,
20
+ supportsFileName: true,
21
+ getZipFileInfoFields: ['fileName', 'merkleRootHash', 'ipfsHash', 'creator', 'creationTimestamp', 'tokenizationTime', 'blockNumber'],
22
+ publicMintZipFileSignature: 'v2.0',
23
+ hasGetVersion: true,
24
+ additionalFunctions: []
25
+ },
26
+ '2.10': {
27
+ supportsEncryptedHash: false,
28
+ supportsFileName: false,
29
+ getZipFileInfoFields: ['merkleRootHash', 'ipfsHash', 'creator', 'creationTimestamp', 'tokenizationTime', 'blockNumber'],
30
+ publicMintZipFileSignature: 'v2.10',
31
+ hasGetVersion: true,
32
+ additionalFunctions: []
33
+ },
34
+ '2.11': {
35
+ supportsEncryptedHash: true,
36
+ supportsFileName: false,
37
+ getZipFileInfoFields: ['merkleRootHash', 'encryptedHash', 'ipfsHash', 'creator', 'creationTimestamp', 'tokenizationTime', 'blockNumber'],
38
+ publicMintZipFileSignature: 'v2.11',
39
+ hasGetVersion: true,
40
+ additionalFunctions: ['getEncryptedHash', 'verifyEncryptedZipFile']
41
+ },
42
+ '2.50': {
43
+ supportsEncryptedHash: true,
44
+ supportsFileName: false,
45
+ getZipFileInfoFields: ['merkleRootHash', 'encryptedHash', 'ipfsHash', 'creator', 'creationTimestamp', 'tokenizationTime', 'blockNumber'],
46
+ publicMintZipFileSignature: 'v2.50',
47
+ hasGetVersion: true,
48
+ additionalFunctions: [
49
+ 'getEncryptedHash',
50
+ 'verifyEncryptedZipFile',
51
+ 'mintWithTimestampProof',
52
+ 'hasTimestampProof',
53
+ 'getTimestampProof',
54
+ 'getTokenData',
55
+ 'verifyToken',
56
+ 'getRegistry',
57
+ 'mintFee',
58
+ 'mintFeeRequired',
59
+ 'setMintFee',
60
+ 'setMintFeeRequired',
61
+ 'withdrawFees',
62
+ 'authorizeMinter',
63
+ 'deauthorizeMinter',
64
+ 'isAuthorizedMinter'
65
+ ],
66
+ supportsTimestampProof: true,
67
+ supportsMintFee: true,
68
+ supportsAuthorizedMinters: true
69
+ }
70
+ };
71
+ /**
72
+ * Get capabilities for a specific contract version
73
+ * @param version Contract version string (e.g., "2.11", "2.10")
74
+ * @returns VersionCapabilities if version is supported, null otherwise
75
+ */
76
+ function getVersionCapabilities(version) {
77
+ // Normalize version string (e.g., "2.11.0" -> "2.11")
78
+ const normalizedVersion = normalizeVersion(version);
79
+ if (normalizedVersion in exports.VERSION_REGISTRY) {
80
+ return exports.VERSION_REGISTRY[normalizedVersion];
81
+ }
82
+ return null;
83
+ }
84
+ /**
85
+ * List of versions that have adapter implementations
86
+ * This is separate from the registry to distinguish between "known" and "implemented"
87
+ */
88
+ exports.IMPLEMENTED_VERSIONS = ['2.10', '2.11', '2.50'];
89
+ /**
90
+ * Check if a contract version is supported (has both registry entry and adapter implementation)
91
+ * @param version Contract version string
92
+ * @returns true if version is supported and has an adapter, false otherwise
93
+ */
94
+ function isVersionSupported(version) {
95
+ const normalized = normalizeVersion(version);
96
+ if (!normalized) {
97
+ return false;
98
+ }
99
+ // Version must be in registry AND have an adapter implementation
100
+ return getVersionCapabilities(normalized) !== null &&
101
+ exports.IMPLEMENTED_VERSIONS.includes(normalized);
102
+ }
103
+ /**
104
+ * Normalize version string to major.minor format
105
+ * @param version Version string (e.g., "2.11.0", "2.11", "2.10")
106
+ * @returns Normalized version (e.g., "2.11", "2.10")
107
+ */
108
+ function normalizeVersion(version) {
109
+ // Remove any "unknown" or empty strings
110
+ if (!version || version === 'unknown' || version.trim() === '') {
111
+ return '';
112
+ }
113
+ // Extract major.minor from version string (e.g., "2.11.0" -> "2.11")
114
+ const parts = version.split('.');
115
+ if (parts.length >= 2) {
116
+ return `${parts[0]}.${parts[1]}`;
117
+ }
118
+ // If already in major.minor format, return as-is
119
+ return version;
120
+ }
121
+ /**
122
+ * Get all supported contract versions
123
+ * @returns Array of supported version strings
124
+ */
125
+ function getSupportedVersions() {
126
+ return Object.keys(exports.VERSION_REGISTRY);
127
+ }
128
+ //# sourceMappingURL=ContractVersionRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContractVersionRegistry.js","sourceRoot":"","sources":["../../src/core/ContractVersionRegistry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Core WalletManager - Platform-agnostic wallet functionality
3
+ * Provides core wallet operations that work in both browser and server environments
4
+ */
5
+ import { ethers } from 'ethers';
6
+ import { WalletSetupResult, NetworkConfig } from '../types';
7
+ export interface CommonTokenConfig {
8
+ address: string;
9
+ name: string;
10
+ symbol: string;
11
+ type: 'ERC20' | 'ERC721';
12
+ }
13
+ export interface TokenInfo {
14
+ address: string;
15
+ name: string;
16
+ symbol: string;
17
+ balance: string;
18
+ decimals?: number;
19
+ type: 'ERC20' | 'ERC721' | 'NZIP';
20
+ }
21
+ export interface WalletBasicInfo {
22
+ ethBalance: string;
23
+ transactionCount: number;
24
+ networkName: string;
25
+ chainId: bigint;
26
+ latestBlock: number;
27
+ }
28
+ export interface TokenScanResult {
29
+ foundTokens: number[];
30
+ searchMethod: 'recent-events' | 'iteration' | 'common-ids' | 'none';
31
+ }
32
+ export interface NZipTokenDetails {
33
+ tokenId: string;
34
+ merkleRootHash: string;
35
+ timestamp: number;
36
+ tokenURI?: string;
37
+ creator: string;
38
+ creationTimestamp: number;
39
+ tokenizationTime: number;
40
+ ipfsHash?: string;
41
+ }
42
+ /**
43
+ * Core wallet functionality that works in both browser and server environments
44
+ */
45
+ export declare class CoreWalletManager {
46
+ protected wallet: ethers.Wallet | null;
47
+ protected provider: ethers.JsonRpcProvider | null;
48
+ constructor();
49
+ /**
50
+ * Setup wallet with private key and connect to network
51
+ *
52
+ * SECURITY WARNING: This method accepts a private key as a parameter.
53
+ * - Never hardcode private keys in source code
54
+ * - Always use environment variables for private keys
55
+ * - Use testnet keys for development/testing
56
+ * - Use secure key management (HSMs, KMS) for production
57
+ */
58
+ setupWallet(privateKey: string, network: string, mintToken?: boolean): Promise<WalletSetupResult>;
59
+ /**
60
+ * Connect to the specified network
61
+ */
62
+ protected connectToNetwork(networkConfig: NetworkConfig, mintToken: boolean): Promise<boolean>;
63
+ /**
64
+ * Get the current wallet instance
65
+ */
66
+ getWallet(): ethers.Wallet | null;
67
+ /**
68
+ * Get the current provider instance
69
+ */
70
+ getProvider(): ethers.JsonRpcProvider | null;
71
+ /**
72
+ * Check if wallet is ready
73
+ */
74
+ isReady(): boolean;
75
+ /**
76
+ * Check if connected to network
77
+ */
78
+ isOnline(): boolean;
79
+ }
80
+ /**
81
+ * Wallet analyzer for blockchain operations
82
+ */
83
+ export declare class WalletAnalyzer {
84
+ private provider;
85
+ constructor(provider: ethers.JsonRpcProvider);
86
+ /**
87
+ * Get basic wallet information
88
+ */
89
+ getWalletBasics(address: string): Promise<WalletBasicInfo>;
90
+ /**
91
+ * Scan for NZIP tokens owned by an address
92
+ */
93
+ scanForNZipTokens(contractAddress: string, ownerAddress: string): Promise<TokenScanResult>;
94
+ /**
95
+ * Get detailed information for NZIP tokens
96
+ */
97
+ getNZipTokenDetails(contractAddress: string, tokenIds: number[]): Promise<NZipTokenDetails[]>;
98
+ /**
99
+ * Get contract information
100
+ */
101
+ getContractInfo(contractAddress: string): Promise<{
102
+ name: string;
103
+ symbol: string;
104
+ totalSupply: string;
105
+ } | null>;
106
+ /**
107
+ * Check for ERC20 tokens
108
+ */
109
+ checkERC20Tokens(ownerAddress: string, tokenConfigs: CommonTokenConfig[]): Promise<TokenInfo[]>;
110
+ /**
111
+ * Check for NFT collections
112
+ */
113
+ checkNFTCollections(ownerAddress: string, nftConfigs: CommonTokenConfig[]): Promise<TokenInfo[]>;
114
+ /**
115
+ * Get common token configurations for a network
116
+ */
117
+ static getCommonTokens(network: string): CommonTokenConfig[];
118
+ /**
119
+ * Get common NFT configurations for a network
120
+ */
121
+ static getCommonNFTs(network: string): CommonTokenConfig[];
122
+ }
123
+ //# sourceMappingURL=WalletManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletManager.d.ts","sourceRoot":"","sources":["../../src/core/WalletManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAA4B,MAAM,UAAU,CAAC;AAItF,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,eAAe,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,CAAC;CACrE;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAiBD;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAQ;IAC9C,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,eAAe,GAAG,IAAI,CAAQ;;IAIzD;;;;;;;;OAQG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,OAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkC9G;;OAEG;cACa,gBAAgB,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAgDpG;;OAEG;IACH,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,WAAW,IAAI,MAAM,CAAC,eAAe,GAAG,IAAI;IAI5C;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,QAAQ,IAAI,OAAO;CAGpB;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAyB;gBAE7B,QAAQ,EAAE,MAAM,CAAC,eAAe;IAI5C;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAgBhE;;OAEG;IACG,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAgDhG;;OAEG;IACG,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAwBnG;;OAEG;IACG,eAAe,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IAcnH;;OAEG;IACG,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAkCrG;;OAEG;IACG,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA+BtG;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAkB5D;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE;CAU3D"}