@explorins/pers-shared 2.1.97 → 2.1.99

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 (89) hide show
  1. package/dist/cjs/shared-lib/dto/user/user.dto.d.ts +9 -0
  2. package/dist/cjs/shared-lib/dto/user/user.dto.d.ts.map +1 -1
  3. package/dist/cjs/shared-lib/dto/user/user.dto.js +35 -0
  4. package/dist/cjs/shared-lib/dto/user/user.dto.js.map +1 -1
  5. package/dist/cjs/shared-lib/dto/user-status-type.dto.d.ts +1 -2
  6. package/dist/cjs/shared-lib/dto/user-status-type.dto.d.ts.map +1 -1
  7. package/dist/cjs/shared-lib/dto/user-status-type.dto.js +12 -16
  8. package/dist/cjs/shared-lib/dto/user-status-type.dto.js.map +1 -1
  9. package/dist/cjs/shared-lib/enum/balance-migration-type.enum.d.ts +13 -0
  10. package/dist/cjs/shared-lib/enum/balance-migration-type.enum.d.ts.map +1 -0
  11. package/dist/cjs/shared-lib/enum/balance-migration-type.enum.js +17 -0
  12. package/dist/cjs/shared-lib/enum/balance-migration-type.enum.js.map +1 -0
  13. package/dist/cjs/shared-lib/enum/index.d.ts +1 -0
  14. package/dist/cjs/shared-lib/enum/index.d.ts.map +1 -1
  15. package/dist/cjs/shared-lib/enum/index.js +1 -0
  16. package/dist/cjs/shared-lib/enum/index.js.map +1 -1
  17. package/dist/cjs/shared-lib/interfaces/balance-filter-options.interface.d.ts +43 -0
  18. package/dist/cjs/shared-lib/interfaces/balance-filter-options.interface.d.ts.map +1 -0
  19. package/dist/cjs/shared-lib/interfaces/balance-filter-options.interface.js +3 -0
  20. package/dist/cjs/shared-lib/interfaces/balance-filter-options.interface.js.map +1 -0
  21. package/dist/cjs/shared-lib/interfaces/index.d.ts +1 -0
  22. package/dist/cjs/shared-lib/interfaces/index.d.ts.map +1 -1
  23. package/dist/cjs/shared-lib/interfaces/index.js +1 -0
  24. package/dist/cjs/shared-lib/interfaces/index.js.map +1 -1
  25. package/dist/cjs/shared-lib/interfaces/token-storage-data.interface.d.ts +5 -1
  26. package/dist/cjs/shared-lib/interfaces/token-storage-data.interface.d.ts.map +1 -1
  27. package/dist/cjs/shared-lib/interfaces/token-storage-data.interface.js +4 -0
  28. package/dist/cjs/shared-lib/interfaces/token-storage-data.interface.js.map +1 -1
  29. package/dist/cjs/shared-lib/types/index.d.ts +1 -0
  30. package/dist/cjs/shared-lib/types/index.d.ts.map +1 -1
  31. package/dist/cjs/shared-lib/types/index.js +1 -0
  32. package/dist/cjs/shared-lib/types/index.js.map +1 -1
  33. package/dist/cjs/shared-lib/types/user-include-relation.type.d.ts +11 -0
  34. package/dist/cjs/shared-lib/types/user-include-relation.type.d.ts.map +1 -0
  35. package/dist/cjs/shared-lib/types/user-include-relation.type.js +16 -0
  36. package/dist/cjs/shared-lib/types/user-include-relation.type.js.map +1 -0
  37. package/dist/cjs/shared-lib/value-objects/token-balance.value-object.d.ts +18 -1
  38. package/dist/cjs/shared-lib/value-objects/token-balance.value-object.d.ts.map +1 -1
  39. package/dist/cjs/shared-lib/value-objects/token-balance.value-object.js +24 -2
  40. package/dist/cjs/shared-lib/value-objects/token-balance.value-object.js.map +1 -1
  41. package/dist/cjs/shared-patterns/functions/helper.functions.d.ts +71 -0
  42. package/dist/cjs/shared-patterns/functions/helper.functions.d.ts.map +1 -0
  43. package/dist/cjs/shared-patterns/functions/helper.functions.js +185 -0
  44. package/dist/cjs/shared-patterns/functions/helper.functions.js.map +1 -0
  45. package/dist/esm/shared-lib/dto/user/user.dto.d.ts +9 -0
  46. package/dist/esm/shared-lib/dto/user/user.dto.d.ts.map +1 -1
  47. package/dist/esm/shared-lib/dto/user/user.dto.js +35 -1
  48. package/dist/esm/shared-lib/dto/user/user.dto.js.map +1 -1
  49. package/dist/esm/shared-lib/dto/user-status-type.dto.d.ts +1 -2
  50. package/dist/esm/shared-lib/dto/user-status-type.dto.d.ts.map +1 -1
  51. package/dist/esm/shared-lib/dto/user-status-type.dto.js +11 -14
  52. package/dist/esm/shared-lib/dto/user-status-type.dto.js.map +1 -1
  53. package/dist/esm/shared-lib/enum/balance-migration-type.enum.d.ts +13 -0
  54. package/dist/esm/shared-lib/enum/balance-migration-type.enum.d.ts.map +1 -0
  55. package/dist/esm/shared-lib/enum/balance-migration-type.enum.js +14 -0
  56. package/dist/esm/shared-lib/enum/balance-migration-type.enum.js.map +1 -0
  57. package/dist/esm/shared-lib/enum/index.d.ts +1 -0
  58. package/dist/esm/shared-lib/enum/index.d.ts.map +1 -1
  59. package/dist/esm/shared-lib/enum/index.js +1 -0
  60. package/dist/esm/shared-lib/enum/index.js.map +1 -1
  61. package/dist/esm/shared-lib/interfaces/balance-filter-options.interface.d.ts +43 -0
  62. package/dist/esm/shared-lib/interfaces/balance-filter-options.interface.d.ts.map +1 -0
  63. package/dist/esm/shared-lib/interfaces/balance-filter-options.interface.js +2 -0
  64. package/dist/esm/shared-lib/interfaces/balance-filter-options.interface.js.map +1 -0
  65. package/dist/esm/shared-lib/interfaces/index.d.ts +1 -0
  66. package/dist/esm/shared-lib/interfaces/index.d.ts.map +1 -1
  67. package/dist/esm/shared-lib/interfaces/index.js +1 -0
  68. package/dist/esm/shared-lib/interfaces/index.js.map +1 -1
  69. package/dist/esm/shared-lib/interfaces/token-storage-data.interface.d.ts +5 -1
  70. package/dist/esm/shared-lib/interfaces/token-storage-data.interface.d.ts.map +1 -1
  71. package/dist/esm/shared-lib/interfaces/token-storage-data.interface.js +4 -0
  72. package/dist/esm/shared-lib/interfaces/token-storage-data.interface.js.map +1 -1
  73. package/dist/esm/shared-lib/types/index.d.ts +1 -0
  74. package/dist/esm/shared-lib/types/index.d.ts.map +1 -1
  75. package/dist/esm/shared-lib/types/index.js +1 -0
  76. package/dist/esm/shared-lib/types/index.js.map +1 -1
  77. package/dist/esm/shared-lib/types/user-include-relation.type.d.ts +11 -0
  78. package/dist/esm/shared-lib/types/user-include-relation.type.d.ts.map +1 -0
  79. package/dist/esm/shared-lib/types/user-include-relation.type.js +12 -0
  80. package/dist/esm/shared-lib/types/user-include-relation.type.js.map +1 -0
  81. package/dist/esm/shared-lib/value-objects/token-balance.value-object.d.ts +18 -1
  82. package/dist/esm/shared-lib/value-objects/token-balance.value-object.d.ts.map +1 -1
  83. package/dist/esm/shared-lib/value-objects/token-balance.value-object.js +24 -2
  84. package/dist/esm/shared-lib/value-objects/token-balance.value-object.js.map +1 -1
  85. package/dist/esm/shared-patterns/functions/helper.functions.d.ts +71 -0
  86. package/dist/esm/shared-patterns/functions/helper.functions.d.ts.map +1 -0
  87. package/dist/esm/shared-patterns/functions/helper.functions.js +174 -0
  88. package/dist/esm/shared-patterns/functions/helper.functions.js.map +1 -0
  89. package/package.json +1 -1
@@ -0,0 +1,71 @@
1
+ import { type TokenValidityType } from '../../shared-lib/enum/token-validity-type.enum';
2
+ import { TokenStorageData } from '../../shared-lib/interfaces/token-storage-data.interface';
3
+ /**
4
+ * Parses a comma-separated string into an array of strings.
5
+ *
6
+ * @param commaSeparatedString - The string to parse.
7
+ * @returns An array of trimmed, non-empty strings.
8
+ */
9
+ export declare const parseCommaSeparatedStringToStringArray: (commaSeparatedString: string | null) => string[];
10
+ export declare const checkIfTokenIdIsUri: (tokenId: string | null) => boolean;
11
+ export declare const compareVersions: (version1: string, version2: string) => number;
12
+ /**
13
+ * Computes the expiry date based on validity configuration.
14
+ *
15
+ * @param validityType - The type of validity calculation
16
+ * @param validityDuration - Duration in days or hours (for relative types)
17
+ * @param fixedExpiryDate - Fixed expiry date (for fixed_date type)
18
+ * @param issuanceDate - The date of issuance (defaults to now)
19
+ * @returns The computed expiry date, or undefined if no validity is configured
20
+ */
21
+ export declare const computeExpiryDate: (validityType?: TokenValidityType, validityDuration?: number, fixedExpiryDate?: Date, issuanceDate?: Date) => Date | undefined;
22
+ /**
23
+ * Checks if a token has expired based on its expiry date.
24
+ *
25
+ * @param expiryDate - The expiry date to check
26
+ * @param referenceDate - The date to compare against (defaults to now)
27
+ * @returns true if expired, false if still valid, undefined if no expiry date
28
+ */
29
+ export declare const isTokenExpired: (expiryDate?: Date | null, referenceDate?: Date) => boolean | undefined;
30
+ /**
31
+ * Normalizes an array of tags for consistent storage.
32
+ * - Converts to lowercase
33
+ * - Trims whitespace
34
+ * - Replaces spaces with dashes
35
+ * - Removes duplicates
36
+ * - Filters out empty strings
37
+ *
38
+ * @param tags - Array of tag strings to normalize
39
+ * @returns Normalized, deduplicated array of tags
40
+ *
41
+ * @example
42
+ * normalizeTags(['Summer', ' VIP ', 'Black Friday', 'summer'])
43
+ * // Returns: ['summer', 'vip', 'black-friday']
44
+ */
45
+ export declare const normalizeTags: (tags?: string[] | null) => string[];
46
+ /**
47
+ * Extracts the expiry_date attribute from token metadata (OpenSea standard format).
48
+ * This is the inverse operation of computeExpiryDate - it reads the expiry that was
49
+ * stored in the metadata when the token was minted.
50
+ *
51
+ * @param metadata - The token metadata object containing attributes array
52
+ * @returns The expiry date if found, null otherwise
53
+ *
54
+ * @example
55
+ * const metadata = { attributes: [{ trait_type: 'expiry_date', value: '2024-12-31T23:59:59.000Z' }] };
56
+ * extractExpiryDateFromMetadata(metadata); // Returns Date object
57
+ */
58
+ export declare const extractExpiryDateFromMetadata: (metadata: TokenStorageData | null) => Date | null;
59
+ /**
60
+ * Extracts tags from token metadata (OpenSea standard format).
61
+ * Tags are stored as a comma-separated string in the 'Tags' attribute.
62
+ *
63
+ * @param metadata - The token metadata object containing attributes array
64
+ * @returns Array of tags found in the metadata, or empty array if none
65
+ *
66
+ * @example
67
+ * const metadata = { attributes: [{ trait_type: 'Tags', value: 'techno, mindfulness' }] };
68
+ * extractTagsFromMetadata(metadata); // Returns ['techno', 'mindfulness']
69
+ */
70
+ export declare const extractTagsFromMetadata: (metadata: TokenStorageData | null) => string[];
71
+ //# sourceMappingURL=helper.functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.functions.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/helper.functions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AAC5G,OAAO,EAAE,gBAAgB,EAAkC,MAAM,0DAA0D,CAAC;AAE5H;;;;;KAKK;AACL,eAAO,MAAM,sCAAsC,GAAI,sBAAsB,MAAM,GAAG,IAAI,KAAG,MAAM,EAI9F,CAAA;AAGL,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,GAAG,IAAI,KAAG,OAM5D,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,UAAU,MAAM,KAAG,MAWpE,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAC5B,eAAe,iBAAiB,EAChC,mBAAmB,MAAM,EACzB,kBAAkB,IAAI,EACtB,eAAc,IAAiB,KAC9B,IAAI,GAAG,SA6CT,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GACzB,aAAa,IAAI,GAAG,IAAI,EACxB,gBAAe,IAAiB,KAC/B,OAAO,GAAG,SAGZ,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,GAAG,IAAI,KAAG,MAAM,EAgB5D,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,6BAA6B,GAAI,UAAU,gBAAgB,GAAG,IAAI,KAAG,IAAI,GAAG,IAaxF,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,GAAI,UAAU,gBAAgB,GAAG,IAAI,KAAG,MAAM,EAiBjF,CAAA"}
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractTagsFromMetadata = exports.extractExpiryDateFromMetadata = exports.normalizeTags = exports.isTokenExpired = exports.computeExpiryDate = exports.compareVersions = exports.checkIfTokenIdIsUri = exports.parseCommaSeparatedStringToStringArray = void 0;
4
+ const token_validity_type_enum_1 = require("../../shared-lib/enum/token-validity-type.enum");
5
+ const token_storage_data_interface_1 = require("../../shared-lib/interfaces/token-storage-data.interface");
6
+ /**
7
+ * Parses a comma-separated string into an array of strings.
8
+ *
9
+ * @param commaSeparatedString - The string to parse.
10
+ * @returns An array of trimmed, non-empty strings.
11
+ */
12
+ const parseCommaSeparatedStringToStringArray = (commaSeparatedString) => {
13
+ return commaSeparatedString
14
+ ? commaSeparatedString.split(',').map((s) => s.trim()).filter(Boolean)
15
+ : [];
16
+ };
17
+ exports.parseCommaSeparatedStringToStringArray = parseCommaSeparatedStringToStringArray;
18
+ const checkIfTokenIdIsUri = (tokenId) => {
19
+ const uriRegex = /^(https?|ipfs):\/\/.*/;
20
+ if (!tokenId || !uriRegex.test(tokenId)) {
21
+ return false;
22
+ }
23
+ return true;
24
+ };
25
+ exports.checkIfTokenIdIsUri = checkIfTokenIdIsUri;
26
+ const compareVersions = (version1, version2) => {
27
+ const v1 = version1.split('.').map(Number);
28
+ const v2 = version2.split('.').map(Number);
29
+ for (let i = 0; i < Math.max(v1.length, v2.length); i++) {
30
+ const num1 = v1[i] || 0;
31
+ const num2 = v2[i] || 0;
32
+ if (num1 > num2)
33
+ return 1;
34
+ if (num1 < num2)
35
+ return -1;
36
+ }
37
+ return 0;
38
+ };
39
+ exports.compareVersions = compareVersions;
40
+ /**
41
+ * Computes the expiry date based on validity configuration.
42
+ *
43
+ * @param validityType - The type of validity calculation
44
+ * @param validityDuration - Duration in days or hours (for relative types)
45
+ * @param fixedExpiryDate - Fixed expiry date (for fixed_date type)
46
+ * @param issuanceDate - The date of issuance (defaults to now)
47
+ * @returns The computed expiry date, or undefined if no validity is configured
48
+ */
49
+ const computeExpiryDate = (validityType, validityDuration, fixedExpiryDate, issuanceDate = new Date()) => {
50
+ if (!validityType) {
51
+ // Fallback to fixed expiry date if no validity type specified
52
+ return fixedExpiryDate;
53
+ }
54
+ switch (validityType) {
55
+ case token_validity_type_enum_1.TokenValidityTypes.FIXED_DATE:
56
+ return fixedExpiryDate;
57
+ case token_validity_type_enum_1.TokenValidityTypes.DAYS_FROM_ISSUANCE:
58
+ if (!validityDuration || validityDuration <= 0)
59
+ return undefined;
60
+ const daysResult = new Date(issuanceDate);
61
+ daysResult.setDate(daysResult.getDate() + validityDuration);
62
+ return daysResult;
63
+ case token_validity_type_enum_1.TokenValidityTypes.HOURS_FROM_ISSUANCE:
64
+ if (!validityDuration || validityDuration <= 0)
65
+ return undefined;
66
+ const hoursResult = new Date(issuanceDate);
67
+ hoursResult.setHours(hoursResult.getHours() + validityDuration);
68
+ return hoursResult;
69
+ case token_validity_type_enum_1.TokenValidityTypes.MONTHS_FROM_ISSUANCE:
70
+ if (!validityDuration || validityDuration <= 0)
71
+ return undefined;
72
+ const monthsResult = new Date(issuanceDate);
73
+ monthsResult.setMonth(monthsResult.getMonth() + validityDuration);
74
+ return monthsResult;
75
+ case token_validity_type_enum_1.TokenValidityTypes.END_OF_MONTH:
76
+ const endOfMonth = new Date(issuanceDate);
77
+ endOfMonth.setMonth(endOfMonth.getMonth() + 1);
78
+ endOfMonth.setDate(0); // Last day of previous month (i.e., current month)
79
+ endOfMonth.setHours(23, 59, 59, 999);
80
+ return endOfMonth;
81
+ case token_validity_type_enum_1.TokenValidityTypes.END_OF_YEAR:
82
+ const endOfYear = new Date(issuanceDate);
83
+ endOfYear.setMonth(11); // December
84
+ endOfYear.setDate(31);
85
+ endOfYear.setHours(23, 59, 59, 999);
86
+ return endOfYear;
87
+ default:
88
+ return fixedExpiryDate;
89
+ }
90
+ };
91
+ exports.computeExpiryDate = computeExpiryDate;
92
+ /**
93
+ * Checks if a token has expired based on its expiry date.
94
+ *
95
+ * @param expiryDate - The expiry date to check
96
+ * @param referenceDate - The date to compare against (defaults to now)
97
+ * @returns true if expired, false if still valid, undefined if no expiry date
98
+ */
99
+ const isTokenExpired = (expiryDate, referenceDate = new Date()) => {
100
+ if (!expiryDate)
101
+ return undefined;
102
+ return new Date(expiryDate) < referenceDate;
103
+ };
104
+ exports.isTokenExpired = isTokenExpired;
105
+ /**
106
+ * Normalizes an array of tags for consistent storage.
107
+ * - Converts to lowercase
108
+ * - Trims whitespace
109
+ * - Replaces spaces with dashes
110
+ * - Removes duplicates
111
+ * - Filters out empty strings
112
+ *
113
+ * @param tags - Array of tag strings to normalize
114
+ * @returns Normalized, deduplicated array of tags
115
+ *
116
+ * @example
117
+ * normalizeTags(['Summer', ' VIP ', 'Black Friday', 'summer'])
118
+ * // Returns: ['summer', 'vip', 'black-friday']
119
+ */
120
+ const normalizeTags = (tags) => {
121
+ if (!tags || !Array.isArray(tags))
122
+ return [];
123
+ const normalized = tags
124
+ .map(tag => tag
125
+ .toLowerCase()
126
+ .trim()
127
+ .replace(/\s+/g, '-') // Replace spaces with dashes
128
+ .replace(/[^a-z0-9-]/g, '') // Remove special characters except dashes
129
+ .replace(/-+/g, '-') // Replace multiple dashes with single
130
+ .replace(/^-|-$/g, '') // Remove leading/trailing dashes
131
+ )
132
+ .filter(Boolean); // Remove empty strings
133
+ return [...new Set(normalized)]; // Remove duplicates
134
+ };
135
+ exports.normalizeTags = normalizeTags;
136
+ /**
137
+ * Extracts the expiry_date attribute from token metadata (OpenSea standard format).
138
+ * This is the inverse operation of computeExpiryDate - it reads the expiry that was
139
+ * stored in the metadata when the token was minted.
140
+ *
141
+ * @param metadata - The token metadata object containing attributes array
142
+ * @returns The expiry date if found, null otherwise
143
+ *
144
+ * @example
145
+ * const metadata = { attributes: [{ trait_type: 'expiry_date', value: '2024-12-31T23:59:59.000Z' }] };
146
+ * extractExpiryDateFromMetadata(metadata); // Returns Date object
147
+ */
148
+ const extractExpiryDateFromMetadata = (metadata) => {
149
+ if (!metadata?.attributes)
150
+ return null;
151
+ // Case-insensitive comparison to handle legacy formats
152
+ const expiryAttribute = metadata.attributes.find(attr => attr.trait_type.toLowerCase() === token_storage_data_interface_1.TokenStorageDataAttributesType.EXPIRY_DATE.toLowerCase());
153
+ if (expiryAttribute?.value) {
154
+ return new Date(expiryAttribute.value);
155
+ }
156
+ return null;
157
+ };
158
+ exports.extractExpiryDateFromMetadata = extractExpiryDateFromMetadata;
159
+ /**
160
+ * Extracts tags from token metadata (OpenSea standard format).
161
+ * Tags are stored as a comma-separated string in the 'Tags' attribute.
162
+ *
163
+ * @param metadata - The token metadata object containing attributes array
164
+ * @returns Array of tags found in the metadata, or empty array if none
165
+ *
166
+ * @example
167
+ * const metadata = { attributes: [{ trait_type: 'Tags', value: 'techno, mindfulness' }] };
168
+ * extractTagsFromMetadata(metadata); // Returns ['techno', 'mindfulness']
169
+ */
170
+ const extractTagsFromMetadata = (metadata) => {
171
+ if (!metadata?.attributes)
172
+ return [];
173
+ // Case-insensitive comparison to handle legacy formats ('Tags', 'tags', etc.)
174
+ const tagsAttribute = metadata.attributes.find(attr => attr.trait_type.toLowerCase() === token_storage_data_interface_1.TokenStorageDataAttributesType.TAGS.toLowerCase());
175
+ if (tagsAttribute?.value) {
176
+ // Tags are stored as comma-separated string, split and trim
177
+ return tagsAttribute.value
178
+ .split(',')
179
+ .map(tag => tag.trim())
180
+ .filter(Boolean);
181
+ }
182
+ return [];
183
+ };
184
+ exports.extractTagsFromMetadata = extractTagsFromMetadata;
185
+ //# sourceMappingURL=helper.functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.functions.js","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/helper.functions.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { PublicWalletDTO } from "../wallet.dto";
2
2
  import { AccountTokenBalancesDTO } from "../account-token-balances.dto";
3
+ import { UserStatusTypeDTO } from "../user-status-type.dto";
3
4
  export declare class UserDTO {
4
5
  id: string;
5
6
  email: string | null;
@@ -24,6 +25,10 @@ export declare class UserDTO {
24
25
  wallets: PublicWalletDTO[];
25
26
  createdAt: Date | null;
26
27
  updatedAt: Date | null;
28
+ included?: {
29
+ statusTypes?: UserStatusTypeDTO[];
30
+ tokenBalances?: AccountTokenBalancesDTO[];
31
+ };
27
32
  }
28
33
  export declare class PublicUserDTO {
29
34
  id: string;
@@ -31,6 +36,10 @@ export declare class PublicUserDTO {
31
36
  [key: string]: any;
32
37
  };
33
38
  }
39
+ /**
40
+ * @deprecated Use UserDTO with include=balances pattern instead.
41
+ * Will be removed in future version.
42
+ */
34
43
  export declare class UserTokenBalancesDTO extends UserDTO {
35
44
  tokenBalances: AccountTokenBalancesDTO[];
36
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"user.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/user/user.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,qBAAa,OAAO;IAGhB,EAAE,EAAG,MAAM,CAAM;IAIjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAM5B,eAAe,EAAE,MAAM,CAAM;IAW7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMhC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAM/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEjC;;OAEG;IAQH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAQrC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMzC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAKxC,UAAU,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI,CAAQ;IAOhD,aAAa,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI,CAAQ;IAKnD,QAAQ,EAAE,OAAO,CAAQ;IAMzB,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAO9C,OAAO,EAAE,eAAe,EAAE,CAAM;IAMhC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;IAO9B,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;CACjC;AAED,qBAAa,aAAa;IAEtB,EAAE,EAAG,MAAM,CAAM;IAKjB,aAAa,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAM;CAC7C;AAED,qBAAa,oBAAqB,SAAQ,OAAO;IAK7C,aAAa,EAAE,uBAAuB,EAAE,CAAM;CACjD;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC"}
1
+ {"version":3,"file":"user.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/user/user.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,qBAAa,OAAO;IAOhB,EAAE,EAAG,MAAM,CAAM;IAIjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAM5B,eAAe,EAAE,MAAM,CAAM;IAW7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMhC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAM/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEjC;;OAEG;IAQH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAQrC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMzC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAKxC,UAAU,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI,CAAQ;IAOhD,aAAa,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI,CAAQ;IAKnD,QAAQ,EAAE,OAAO,CAAQ;IAMzB,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAO9C,OAAO,EAAE,eAAe,EAAE,CAAM;IAMhC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;IAO9B,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;IA0B9B,QAAQ,CAAC,EAAE;QACP,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;QAClC,aAAa,CAAC,EAAE,uBAAuB,EAAE,CAAC;KAC7C,CAAC;CACL;AAED,qBAAa,aAAa;IAEtB,EAAE,EAAG,MAAM,CAAM;IAKjB,aAAa,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAM;CAC7C;AAED;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,OAAO;IAK7C,aAAa,EAAE,uBAAuB,EAAE,CAAM;CACjD;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC"}
@@ -4,10 +4,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
7
+ import { ApiProperty, ApiPropertyOptional, getSchemaPath } from "@nestjs/swagger";
8
8
  import { PublicWalletDTO } from "../wallet.dto.js";
9
9
  import { AccountTokenBalancesDTO } from "../account-token-balances.dto.js";
10
+ import { UserStatusTypeDTO } from "../user-status-type.dto.js";
10
11
  export class UserDTO {
12
+ // =====================================
13
+ // SCALAR FIELDS
14
+ // =====================================
11
15
  id = '';
12
16
  // @IsDefined()
13
17
  email = null;
@@ -32,6 +36,12 @@ export class UserDTO {
32
36
  wallets = [];
33
37
  createdAt = null;
34
38
  updatedAt = null;
39
+ // =====================================
40
+ // OPTIONAL INCLUDED ENTITIES
41
+ // =====================================
42
+ // Only populated when include query param is specified
43
+ // e.g., GET /users/me?include=status,balances
44
+ included;
35
45
  }
36
46
  __decorate([
37
47
  ApiProperty()
@@ -117,6 +127,26 @@ __decorate([
117
127
  nullable: true
118
128
  })
119
129
  ], UserDTO.prototype, "updatedAt", void 0);
130
+ __decorate([
131
+ ApiPropertyOptional({
132
+ description: 'Included related entities. Only populated when include parameter is specified.',
133
+ required: false,
134
+ nullable: true,
135
+ type: 'object',
136
+ properties: {
137
+ statusTypes: {
138
+ description: 'User status types earned based on token balances (via ?include=status)',
139
+ type: 'array',
140
+ items: { $ref: getSchemaPath(UserStatusTypeDTO) }
141
+ },
142
+ tokenBalances: {
143
+ description: 'Token balances for user wallets (via ?include=balances)',
144
+ type: 'array',
145
+ items: { $ref: getSchemaPath(AccountTokenBalancesDTO) }
146
+ }
147
+ }
148
+ })
149
+ ], UserDTO.prototype, "included", void 0);
120
150
  export class PublicUserDTO {
121
151
  id = '';
122
152
  publicProfile = {};
@@ -127,6 +157,10 @@ __decorate([
127
157
  __decorate([
128
158
  ApiProperty({ description: 'Public profile data' })
129
159
  ], PublicUserDTO.prototype, "publicProfile", void 0);
160
+ /**
161
+ * @deprecated Use UserDTO with include=balances pattern instead.
162
+ * Will be removed in future version.
163
+ */
130
164
  export class UserTokenBalancesDTO extends UserDTO {
131
165
  tokenBalances = [];
132
166
  }
@@ -1 +1 @@
1
- {"version":3,"file":"user.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/user/user.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/user/user.dto.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,10 @@ export declare class UserStatusTypeCreateRequestDTO {
4
4
  minTokenBalance: number;
5
5
  discountPercentage: number;
6
6
  imageUrl?: string;
7
+ eligibleTokenAddresses?: string[];
7
8
  tags?: string[];
8
9
  }
9
10
  export declare class UserStatusTypeDTO extends UserStatusTypeCreateRequestDTO {
10
11
  id: number;
11
- eligibleTokenAddresses: string[];
12
- tags: string[];
13
12
  }
14
13
  //# sourceMappingURL=user-status-type.dto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-status-type.dto.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/dto/user-status-type.dto.ts"],"names":[],"mappings":"AAIA,qBAAa,8BAA8B;IAMvC,IAAI,EAAE,MAAM,CAAM;IAOlB,WAAW,CAAC,EAAE,MAAM,CAAC;IAOrB,eAAe,EAAE,MAAM,CAAK;IAO5B,kBAAkB,EAAE,MAAM,CAAK;IAO/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAUlB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,qBAAa,iBAAkB,SAAQ,8BAA8B;IAIjE,EAAE,EAAE,MAAM,CAAK;IAKf,sBAAsB,EAAE,MAAM,EAAE,CAAM;IAOtC,IAAI,EAAE,MAAM,EAAE,CAAM;CACvB"}
1
+ {"version":3,"file":"user-status-type.dto.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/dto/user-status-type.dto.ts"],"names":[],"mappings":"AAIA,qBAAa,8BAA8B;IAMvC,IAAI,EAAE,MAAM,CAAM;IAOlB,WAAW,CAAC,EAAE,MAAM,CAAC;IAOrB,eAAe,EAAE,MAAM,CAAK;IAO5B,kBAAkB,EAAE,MAAM,CAAK;IAO/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAUlB,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAUlC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,qBAAa,iBAAkB,SAAQ,8BAA8B;IAIjE,EAAE,EAAE,MAAM,CAAK;CAClB"}
@@ -13,6 +13,7 @@ export class UserStatusTypeCreateRequestDTO {
13
13
  minTokenBalance = 0;
14
14
  discountPercentage = 0;
15
15
  imageUrl;
16
+ eligibleTokenAddresses;
16
17
  tags;
17
18
  }
18
19
  __decorate([
@@ -50,6 +51,16 @@ __decorate([
50
51
  OptionalStrip(),
51
52
  IsUrl()
52
53
  ], UserStatusTypeCreateRequestDTO.prototype, "imageUrl", void 0);
54
+ __decorate([
55
+ ApiPropertyOptional({
56
+ description: 'Eligible token contract addresses for this status type',
57
+ type: [String],
58
+ example: ['0x1234...', '0x5678...']
59
+ }),
60
+ OptionalStrip(),
61
+ IsArray(),
62
+ IsString({ each: true })
63
+ ], UserStatusTypeCreateRequestDTO.prototype, "eligibleTokenAddresses", void 0);
53
64
  __decorate([
54
65
  ApiPropertyOptional({
55
66
  description: 'Tags for categorization and filtering',
@@ -62,24 +73,10 @@ __decorate([
62
73
  ], UserStatusTypeCreateRequestDTO.prototype, "tags", void 0);
63
74
  export class UserStatusTypeDTO extends UserStatusTypeCreateRequestDTO {
64
75
  id = 0;
65
- eligibleTokenAddresses = [];
66
- tags = [];
67
76
  }
68
77
  __decorate([
69
78
  ApiProperty({
70
79
  description: 'User Status Type id',
71
80
  })
72
81
  ], UserStatusTypeDTO.prototype, "id", void 0);
73
- __decorate([
74
- ApiProperty({
75
- description: 'User Status Type eligible Token Addresses',
76
- })
77
- ], UserStatusTypeDTO.prototype, "eligibleTokenAddresses", void 0);
78
- __decorate([
79
- ApiProperty({
80
- description: 'Tags for categorization and filtering',
81
- type: [String],
82
- default: []
83
- })
84
- ], UserStatusTypeDTO.prototype, "tags", void 0);
85
82
  //# sourceMappingURL=user-status-type.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-status-type.dto.js","sourceRoot":"","sources":["../../../../src/shared-lib/dto/user-status-type.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,OAAO,8BAA8B;IAMvC,IAAI,GAAW,EAAE,CAAC;IAOlB,WAAW,CAAU;IAOrB,eAAe,GAAW,CAAC,CAAC;IAO5B,kBAAkB,GAAW,CAAC,CAAC;IAO/B,QAAQ,CAAU;IAUlB,IAAI,CAAY;CACnB;AAvCG;IALC,WAAW,CAAC;QACT,WAAW,EAAE,uBAAuB;KACvC,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;4DACO;AAOlB;IALC,mBAAmB,CAAC;QACjB,WAAW,EAAE,8BAA8B;KAC9C,CAAC;IACD,aAAa,EAAE;IACf,QAAQ,EAAE;mEACU;AAOrB;IALC,WAAW,CAAC;QACT,WAAW,EAAE,2CAA2C;KAC3D,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;uEACiB;AAO5B;IALC,WAAW,CAAC;QACT,WAAW,EAAE,8CAA8C;KAC9D,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;0EACoB;AAO/B;IALC,mBAAmB,CAAC;QACjB,WAAW,EAAE,4BAA4B;KAC5C,CAAC;IACD,aAAa,EAAE;IACf,KAAK,EAAE;gEACU;AAUlB;IARC,mBAAmB,CAAC;QACjB,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC;KACtC,CAAC;IACD,aAAa,EAAE;IACf,OAAO,EAAE;IACT,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;4DACT;AAGpB,MAAM,OAAO,iBAAkB,SAAQ,8BAA8B;IAIjE,EAAE,GAAW,CAAC,CAAC;IAKf,sBAAsB,GAAa,EAAE,CAAC;IAOtC,IAAI,GAAa,EAAE,CAAC;CACvB;AAbG;IAHC,WAAW,CAAC;QACT,WAAW,EAAE,qBAAqB;KACrC,CAAC;6CACa;AAKf;IAHC,WAAW,CAAC;QACT,WAAW,EAAE,2CAA2C;KAC3D,CAAC;iEACoC;AAOtC;IALC,WAAW,CAAC;QACT,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,EAAE;KACd,CAAC;+CACkB"}
1
+ {"version":3,"file":"user-status-type.dto.js","sourceRoot":"","sources":["../../../../src/shared-lib/dto/user-status-type.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,OAAO,8BAA8B;IAMvC,IAAI,GAAW,EAAE,CAAC;IAOlB,WAAW,CAAU;IAOrB,eAAe,GAAW,CAAC,CAAC;IAO5B,kBAAkB,GAAW,CAAC,CAAC;IAO/B,QAAQ,CAAU;IAUlB,sBAAsB,CAAY;IAUlC,IAAI,CAAY;CACnB;AAjDG;IALC,WAAW,CAAC;QACT,WAAW,EAAE,uBAAuB;KACvC,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;4DACO;AAOlB;IALC,mBAAmB,CAAC;QACjB,WAAW,EAAE,8BAA8B;KAC9C,CAAC;IACD,aAAa,EAAE;IACf,QAAQ,EAAE;mEACU;AAOrB;IALC,WAAW,CAAC;QACT,WAAW,EAAE,2CAA2C;KAC3D,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;uEACiB;AAO5B;IALC,WAAW,CAAC;QACT,WAAW,EAAE,8CAA8C;KAC9D,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;0EACoB;AAO/B;IALC,mBAAmB,CAAC;QACjB,WAAW,EAAE,4BAA4B;KAC5C,CAAC;IACD,aAAa,EAAE;IACf,KAAK,EAAE;gEACU;AAUlB;IARC,mBAAmB,CAAC;QACjB,WAAW,EAAE,wDAAwD;QACrE,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;KACtC,CAAC;IACD,aAAa,EAAE;IACf,OAAO,EAAE;IACT,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8EACS;AAUlC;IARC,mBAAmB,CAAC;QACjB,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC;KACtC,CAAC;IACD,aAAa,EAAE;IACf,OAAO,EAAE;IACT,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;4DACT;AAGpB,MAAM,OAAO,iBAAkB,SAAQ,8BAA8B;IAIjE,EAAE,GAAW,CAAC,CAAC;CAClB;AADG;IAHC,WAAW,CAAC;QACT,WAAW,EAAE,qBAAqB;KACrC,CAAC;6CACa"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Balance Migration Type
3
+ *
4
+ * Defines how token balances should be migrated between accounts.
5
+ * Used during user merge operations and account balance transfers.
6
+ */
7
+ export declare enum BalanceMigrationType {
8
+ /** Replace: New balance = from balance - to balance (diff only) */
9
+ REPLACE = "replace",
10
+ /** Merge: New balance = from balance (full transfer) */
11
+ MERGE = "merge"
12
+ }
13
+ //# sourceMappingURL=balance-migration-type.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balance-migration-type.enum.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/enum/balance-migration-type.enum.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,oBAAY,oBAAoB;IAC5B,mEAAmE;IACnE,OAAO,YAAY;IACnB,wDAAwD;IACxD,KAAK,UAAU;CAClB"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Balance Migration Type
3
+ *
4
+ * Defines how token balances should be migrated between accounts.
5
+ * Used during user merge operations and account balance transfers.
6
+ */
7
+ export var BalanceMigrationType;
8
+ (function (BalanceMigrationType) {
9
+ /** Replace: New balance = from balance - to balance (diff only) */
10
+ BalanceMigrationType["REPLACE"] = "replace";
11
+ /** Merge: New balance = from balance (full transfer) */
12
+ BalanceMigrationType["MERGE"] = "merge";
13
+ })(BalanceMigrationType || (BalanceMigrationType = {}));
14
+ //# sourceMappingURL=balance-migration-type.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balance-migration-type.enum.js","sourceRoot":"","sources":["../../../../src/shared-lib/enum/balance-migration-type.enum.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAN,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC5B,mEAAmE;IACnE,2CAAmB,CAAA;IACnB,wDAAwD;IACxD,uCAAe,CAAA;AACnB,CAAC,EALW,oBAAoB,KAApB,oBAAoB,QAK/B"}
@@ -19,6 +19,7 @@ export * from './process-record-status.enum';
19
19
  export * from './file-upload-entity-type.enum';
20
20
  export * from './signed-url-type.enum';
21
21
  export * from './token-validity-type.enum';
22
+ export * from './balance-migration-type.enum';
22
23
  export * from './purchase';
23
24
  export * from './campaign';
24
25
  export * from './ai-operation-type.enum';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/enum/index.ts"],"names":[],"mappings":"AACA,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,YAAY,CAAC;AAE3B,cAAc,YAAY,CAAC;AAE3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/enum/index.ts"],"names":[],"mappings":"AACA,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAE9C,cAAc,YAAY,CAAC;AAE3B,cAAc,YAAY,CAAC;AAE3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC"}
@@ -20,6 +20,7 @@ export * from './process-record-status.enum.js';
20
20
  export * from './file-upload-entity-type.enum.js';
21
21
  export * from './signed-url-type.enum.js';
22
22
  export * from './token-validity-type.enum.js';
23
+ export * from './balance-migration-type.enum.js';
23
24
  export * from './purchase/index.js';
24
25
  export * from './campaign/index.js';
25
26
  export * from './ai-operation-type.enum.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/enum/index.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,YAAY,CAAC;AAE3B,cAAc,YAAY,CAAC;AAE3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAE3C,4BAA4B;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/enum/index.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAE9C,cAAc,YAAY,CAAC;AAE3B,cAAc,YAAY,CAAC;AAE3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAE3C,4BAA4B;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { NativeTokenType } from '../types/native-token.type';
2
+ /**
3
+ * Filter options for retrieving token balances.
4
+ * Provides flexible filtering by token type, tags, contract addresses, and expiry status.
5
+ */
6
+ export interface BalanceFilterOptions {
7
+ /** Only return balances for active tokens (default: true) */
8
+ activeOnly?: boolean;
9
+ /** Filter out tokens that have expired based on metadata expiry_date attribute */
10
+ excludeExpired?: boolean;
11
+ /**
12
+ * Filter by token types.
13
+ * - If not specified (undefined), no type filtering is applied
14
+ * - Set to null to explicitly disable type filtering
15
+ * - Provide specific types like ['ERC721', 'ERC1155'] to filter by type
16
+ *
17
+ * Note: When tokenTypes is null and includeContractAddresses is set,
18
+ * ONLY the specified contract addresses will be returned (exclusive filter).
19
+ */
20
+ tokenTypes?: NativeTokenType[] | null;
21
+ /**
22
+ * Filter by tags from on-chain metadata (IPFS).
23
+ * Applied AFTER fetching balances - filters by each token's IPFS metadata tags.
24
+ * - If not specified or empty, includes all tokens regardless of tags
25
+ * - If specified, only returns tokens that have at least one matching tag
26
+ *
27
+ * Note: This adds network calls to fetch metadata from IPFS for each token with balance.
28
+ */
29
+ tags?: string[];
30
+ /**
31
+ * Contract addresses to include in the results.
32
+ *
33
+ * Behavior depends on tokenTypes:
34
+ * - If tokenTypes is null: Acts as EXCLUSIVE filter - ONLY these addresses are returned
35
+ * - If tokenTypes has values: These addresses are ALWAYS included IN ADDITION to tokenTypes filter
36
+ *
37
+ * This allows two usage patterns:
38
+ * 1. Exclusive: { tokenTypes: null, includeContractAddresses: ['0x...'] } - Only specific contracts
39
+ * 2. Additive: { tokenTypes: ['ERC721'], includeContractAddresses: ['0x...'] } - ERC721 + specific contracts
40
+ */
41
+ includeContractAddresses?: string[];
42
+ }
43
+ //# sourceMappingURL=balance-filter-options.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balance-filter-options.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/balance-filter-options.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACjC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kFAAkF;IAClF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IACtC;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;;;;;;;;;OAUG;IACH,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;CACvC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=balance-filter-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balance-filter-options.interface.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/balance-filter-options.interface.ts"],"names":[],"mappings":""}
@@ -18,4 +18,5 @@ export * from './transaction.interface';
18
18
  export * from './counterfactual-wallet-response.interface';
19
19
  export * from './campaign';
20
20
  export * from './ai-prompt-config.interface';
21
+ export * from './balance-filter-options.interface';
21
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":"AACA,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,yBAAyB,CAAC;AAExC,cAAc,4CAA4C,CAAC;AAE3D,cAAc,YAAY,CAAC;AAE3B,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":"AACA,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,yBAAyB,CAAC;AAExC,cAAc,4CAA4C,CAAC;AAE3D,cAAc,YAAY,CAAC;AAE3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC"}
@@ -19,4 +19,5 @@ export * from './transaction.interface.js';
19
19
  export * from './counterfactual-wallet-response.interface.js';
20
20
  export * from './campaign/index.js';
21
21
  export * from './ai-prompt-config.interface.js';
22
+ export * from './balance-filter-options.interface.js';
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,yBAAyB,CAAC;AAExC,cAAc,4CAA4C,CAAC;AAE3D,cAAc,YAAY,CAAC;AAE3B,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,yBAAyB,CAAC;AAExC,cAAc,4CAA4C,CAAC;AAE3D,cAAc,YAAY,CAAC;AAE3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC"}