@chillwhales/lsp4 0.2.0 → 0.2.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.
package/dist/index.d.mts CHANGED
@@ -7,43 +7,19 @@ import { z } from 'zod';
7
7
  * Asset attribute schema
8
8
  * Supports string, number, and boolean attribute types
9
9
  */
10
- declare const attributesSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
10
+ declare const attributesSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
11
11
  key: z.ZodString;
12
12
  value: z.ZodString;
13
13
  type: z.ZodLiteral<"string">;
14
- }, "strip", z.ZodTypeAny, {
15
- type: "string";
16
- value: string;
17
- key: string;
18
- }, {
19
- type: "string";
20
- value: string;
21
- key: string;
22
- }>, z.ZodObject<{
14
+ }, z.core.$strip>, z.ZodObject<{
23
15
  key: z.ZodString;
24
- value: z.ZodEffects<z.ZodString, string, string>;
16
+ value: z.ZodString;
25
17
  type: z.ZodLiteral<"number">;
26
- }, "strip", z.ZodTypeAny, {
27
- type: "number";
28
- value: string;
29
- key: string;
30
- }, {
31
- type: "number";
32
- value: string;
33
- key: string;
34
- }>, z.ZodObject<{
18
+ }, z.core.$strip>, z.ZodObject<{
35
19
  key: z.ZodString;
36
20
  value: z.ZodBoolean;
37
21
  type: z.ZodLiteral<"boolean">;
38
- }, "strip", z.ZodTypeAny, {
39
- type: "boolean";
40
- value: boolean;
41
- key: string;
42
- }, {
43
- type: "boolean";
44
- value: boolean;
45
- key: string;
46
- }>]>;
22
+ }, z.core.$strip>], "type">;
47
23
  /**
48
24
  * LSP4 Digital Asset metadata schema
49
25
  * Full metadata structure for LSP7/LSP8 tokens
@@ -55,319 +31,74 @@ declare const lsp4MetadataSchema: z.ZodObject<{
55
31
  links: z.ZodArray<z.ZodObject<{
56
32
  title: z.ZodString;
57
33
  url: z.ZodString;
58
- }, "strip", z.ZodTypeAny, {
59
- url: string;
60
- title: string;
61
- }, {
62
- url: string;
63
- title: string;
64
- }>, "many">;
34
+ }, z.core.$strip>>;
65
35
  icon: z.ZodArray<z.ZodObject<{
66
36
  url: z.ZodString;
67
37
  width: z.ZodNumber;
68
38
  height: z.ZodNumber;
69
- verification: z.ZodDiscriminatedUnion<"method", [z.ZodObject<{
39
+ verification: z.ZodDiscriminatedUnion<[z.ZodObject<{
70
40
  data: z.ZodString;
71
- method: z.ZodEnum<[_chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES, _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8]>;
72
- }, "strip", z.ZodTypeAny, {
73
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
74
- data: string;
75
- }, {
76
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
77
- data: string;
78
- }>, z.ZodObject<{
79
- method: z.ZodEnum<[_chillwhales_lsp2.VERIFICATION_METHODS.ECDSA]>;
41
+ method: z.ZodEnum<{
42
+ "keccak256(utf8)": _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8;
43
+ "keccak256(bytes)": _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
44
+ }>;
45
+ }, z.core.$strip>, z.ZodObject<{
46
+ method: z.ZodEnum<{
47
+ ecdsa: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
48
+ }>;
80
49
  data: z.ZodString;
81
50
  source: z.ZodString;
82
- }, "strip", z.ZodTypeAny, {
83
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
84
- data: string;
85
- source: string;
86
- }, {
87
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
88
- data: string;
89
- source: string;
90
- }>]>;
91
- }, "strip", z.ZodTypeAny, {
92
- url: string;
93
- width: number;
94
- height: number;
95
- verification: {
96
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
97
- data: string;
98
- } | {
99
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
100
- data: string;
101
- source: string;
102
- };
103
- }, {
104
- url: string;
105
- width: number;
106
- height: number;
107
- verification: {
108
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
109
- data: string;
110
- } | {
111
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
112
- data: string;
113
- source: string;
114
- };
115
- }>, "many">;
51
+ }, z.core.$strip>], "method">;
52
+ }, z.core.$strip>>;
116
53
  images: z.ZodArray<z.ZodArray<z.ZodObject<{
117
54
  url: z.ZodString;
118
55
  width: z.ZodNumber;
119
56
  height: z.ZodNumber;
120
- verification: z.ZodDiscriminatedUnion<"method", [z.ZodObject<{
57
+ verification: z.ZodDiscriminatedUnion<[z.ZodObject<{
121
58
  data: z.ZodString;
122
- method: z.ZodEnum<[_chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES, _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8]>;
123
- }, "strip", z.ZodTypeAny, {
124
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
125
- data: string;
126
- }, {
127
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
128
- data: string;
129
- }>, z.ZodObject<{
130
- method: z.ZodEnum<[_chillwhales_lsp2.VERIFICATION_METHODS.ECDSA]>;
59
+ method: z.ZodEnum<{
60
+ "keccak256(utf8)": _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8;
61
+ "keccak256(bytes)": _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
62
+ }>;
63
+ }, z.core.$strip>, z.ZodObject<{
64
+ method: z.ZodEnum<{
65
+ ecdsa: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
66
+ }>;
131
67
  data: z.ZodString;
132
68
  source: z.ZodString;
133
- }, "strip", z.ZodTypeAny, {
134
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
135
- data: string;
136
- source: string;
137
- }, {
138
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
139
- data: string;
140
- source: string;
141
- }>]>;
142
- }, "strip", z.ZodTypeAny, {
143
- url: string;
144
- width: number;
145
- height: number;
146
- verification: {
147
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
148
- data: string;
149
- } | {
150
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
151
- data: string;
152
- source: string;
153
- };
154
- }, {
155
- url: string;
156
- width: number;
157
- height: number;
158
- verification: {
159
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
160
- data: string;
161
- } | {
162
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
163
- data: string;
164
- source: string;
165
- };
166
- }>, "many">, "many">;
69
+ }, z.core.$strip>], "method">;
70
+ }, z.core.$strip>>>;
167
71
  assets: z.ZodArray<z.ZodObject<{
168
72
  url: z.ZodString;
169
73
  fileType: z.ZodString;
170
- verification: z.ZodDiscriminatedUnion<"method", [z.ZodObject<{
74
+ verification: z.ZodDiscriminatedUnion<[z.ZodObject<{
171
75
  data: z.ZodString;
172
- method: z.ZodEnum<[_chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES, _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8]>;
173
- }, "strip", z.ZodTypeAny, {
174
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
175
- data: string;
176
- }, {
177
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
178
- data: string;
179
- }>, z.ZodObject<{
180
- method: z.ZodEnum<[_chillwhales_lsp2.VERIFICATION_METHODS.ECDSA]>;
76
+ method: z.ZodEnum<{
77
+ "keccak256(utf8)": _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8;
78
+ "keccak256(bytes)": _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
79
+ }>;
80
+ }, z.core.$strip>, z.ZodObject<{
81
+ method: z.ZodEnum<{
82
+ ecdsa: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
83
+ }>;
181
84
  data: z.ZodString;
182
85
  source: z.ZodString;
183
- }, "strip", z.ZodTypeAny, {
184
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
185
- data: string;
186
- source: string;
187
- }, {
188
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
189
- data: string;
190
- source: string;
191
- }>]>;
192
- }, "strip", z.ZodTypeAny, {
193
- url: string;
194
- verification: {
195
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
196
- data: string;
197
- } | {
198
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
199
- data: string;
200
- source: string;
201
- };
202
- fileType: string;
203
- }, {
204
- url: string;
205
- verification: {
206
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
207
- data: string;
208
- } | {
209
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
210
- data: string;
211
- source: string;
212
- };
213
- fileType: string;
214
- }>, "many">;
215
- attributes: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
86
+ }, z.core.$strip>], "method">;
87
+ }, z.core.$strip>>;
88
+ attributes: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
216
89
  key: z.ZodString;
217
90
  value: z.ZodString;
218
91
  type: z.ZodLiteral<"string">;
219
- }, "strip", z.ZodTypeAny, {
220
- type: "string";
221
- value: string;
222
- key: string;
223
- }, {
224
- type: "string";
225
- value: string;
226
- key: string;
227
- }>, z.ZodObject<{
92
+ }, z.core.$strip>, z.ZodObject<{
228
93
  key: z.ZodString;
229
- value: z.ZodEffects<z.ZodString, string, string>;
94
+ value: z.ZodString;
230
95
  type: z.ZodLiteral<"number">;
231
- }, "strip", z.ZodTypeAny, {
232
- type: "number";
233
- value: string;
234
- key: string;
235
- }, {
236
- type: "number";
237
- value: string;
238
- key: string;
239
- }>, z.ZodObject<{
96
+ }, z.core.$strip>, z.ZodObject<{
240
97
  key: z.ZodString;
241
98
  value: z.ZodBoolean;
242
99
  type: z.ZodLiteral<"boolean">;
243
- }, "strip", z.ZodTypeAny, {
244
- type: "boolean";
245
- value: boolean;
246
- key: string;
247
- }, {
248
- type: "boolean";
249
- value: boolean;
250
- key: string;
251
- }>]>, "many">;
252
- }, "strip", z.ZodTypeAny, {
253
- name: string | null;
254
- description: string | null;
255
- category: string | null;
256
- links: {
257
- url: string;
258
- title: string;
259
- }[];
260
- icon: {
261
- url: string;
262
- width: number;
263
- height: number;
264
- verification: {
265
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
266
- data: string;
267
- } | {
268
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
269
- data: string;
270
- source: string;
271
- };
272
- }[];
273
- images: {
274
- url: string;
275
- width: number;
276
- height: number;
277
- verification: {
278
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
279
- data: string;
280
- } | {
281
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
282
- data: string;
283
- source: string;
284
- };
285
- }[][];
286
- assets: {
287
- url: string;
288
- verification: {
289
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
290
- data: string;
291
- } | {
292
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
293
- data: string;
294
- source: string;
295
- };
296
- fileType: string;
297
- }[];
298
- attributes: ({
299
- type: "string";
300
- value: string;
301
- key: string;
302
- } | {
303
- type: "number";
304
- value: string;
305
- key: string;
306
- } | {
307
- type: "boolean";
308
- value: boolean;
309
- key: string;
310
- })[];
311
- }, {
312
- name: string | null;
313
- description: string | null;
314
- category: string | null;
315
- links: {
316
- url: string;
317
- title: string;
318
- }[];
319
- icon: {
320
- url: string;
321
- width: number;
322
- height: number;
323
- verification: {
324
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
325
- data: string;
326
- } | {
327
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
328
- data: string;
329
- source: string;
330
- };
331
- }[];
332
- images: {
333
- url: string;
334
- width: number;
335
- height: number;
336
- verification: {
337
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
338
- data: string;
339
- } | {
340
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
341
- data: string;
342
- source: string;
343
- };
344
- }[][];
345
- assets: {
346
- url: string;
347
- verification: {
348
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
349
- data: string;
350
- } | {
351
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
352
- data: string;
353
- source: string;
354
- };
355
- fileType: string;
356
- }[];
357
- attributes: ({
358
- type: "string";
359
- value: string;
360
- key: string;
361
- } | {
362
- type: "number";
363
- value: string;
364
- key: string;
365
- } | {
366
- type: "boolean";
367
- value: boolean;
368
- key: string;
369
- })[];
370
- }>;
100
+ }, z.core.$strip>], "type">>;
101
+ }, z.core.$strip>;
371
102
 
372
103
  /**
373
104
  * LSP4 Inferred Types
package/dist/index.d.ts CHANGED
@@ -7,43 +7,19 @@ import { z } from 'zod';
7
7
  * Asset attribute schema
8
8
  * Supports string, number, and boolean attribute types
9
9
  */
10
- declare const attributesSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
10
+ declare const attributesSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
11
11
  key: z.ZodString;
12
12
  value: z.ZodString;
13
13
  type: z.ZodLiteral<"string">;
14
- }, "strip", z.ZodTypeAny, {
15
- type: "string";
16
- value: string;
17
- key: string;
18
- }, {
19
- type: "string";
20
- value: string;
21
- key: string;
22
- }>, z.ZodObject<{
14
+ }, z.core.$strip>, z.ZodObject<{
23
15
  key: z.ZodString;
24
- value: z.ZodEffects<z.ZodString, string, string>;
16
+ value: z.ZodString;
25
17
  type: z.ZodLiteral<"number">;
26
- }, "strip", z.ZodTypeAny, {
27
- type: "number";
28
- value: string;
29
- key: string;
30
- }, {
31
- type: "number";
32
- value: string;
33
- key: string;
34
- }>, z.ZodObject<{
18
+ }, z.core.$strip>, z.ZodObject<{
35
19
  key: z.ZodString;
36
20
  value: z.ZodBoolean;
37
21
  type: z.ZodLiteral<"boolean">;
38
- }, "strip", z.ZodTypeAny, {
39
- type: "boolean";
40
- value: boolean;
41
- key: string;
42
- }, {
43
- type: "boolean";
44
- value: boolean;
45
- key: string;
46
- }>]>;
22
+ }, z.core.$strip>], "type">;
47
23
  /**
48
24
  * LSP4 Digital Asset metadata schema
49
25
  * Full metadata structure for LSP7/LSP8 tokens
@@ -55,319 +31,74 @@ declare const lsp4MetadataSchema: z.ZodObject<{
55
31
  links: z.ZodArray<z.ZodObject<{
56
32
  title: z.ZodString;
57
33
  url: z.ZodString;
58
- }, "strip", z.ZodTypeAny, {
59
- url: string;
60
- title: string;
61
- }, {
62
- url: string;
63
- title: string;
64
- }>, "many">;
34
+ }, z.core.$strip>>;
65
35
  icon: z.ZodArray<z.ZodObject<{
66
36
  url: z.ZodString;
67
37
  width: z.ZodNumber;
68
38
  height: z.ZodNumber;
69
- verification: z.ZodDiscriminatedUnion<"method", [z.ZodObject<{
39
+ verification: z.ZodDiscriminatedUnion<[z.ZodObject<{
70
40
  data: z.ZodString;
71
- method: z.ZodEnum<[_chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES, _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8]>;
72
- }, "strip", z.ZodTypeAny, {
73
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
74
- data: string;
75
- }, {
76
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
77
- data: string;
78
- }>, z.ZodObject<{
79
- method: z.ZodEnum<[_chillwhales_lsp2.VERIFICATION_METHODS.ECDSA]>;
41
+ method: z.ZodEnum<{
42
+ "keccak256(utf8)": _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8;
43
+ "keccak256(bytes)": _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
44
+ }>;
45
+ }, z.core.$strip>, z.ZodObject<{
46
+ method: z.ZodEnum<{
47
+ ecdsa: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
48
+ }>;
80
49
  data: z.ZodString;
81
50
  source: z.ZodString;
82
- }, "strip", z.ZodTypeAny, {
83
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
84
- data: string;
85
- source: string;
86
- }, {
87
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
88
- data: string;
89
- source: string;
90
- }>]>;
91
- }, "strip", z.ZodTypeAny, {
92
- url: string;
93
- width: number;
94
- height: number;
95
- verification: {
96
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
97
- data: string;
98
- } | {
99
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
100
- data: string;
101
- source: string;
102
- };
103
- }, {
104
- url: string;
105
- width: number;
106
- height: number;
107
- verification: {
108
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
109
- data: string;
110
- } | {
111
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
112
- data: string;
113
- source: string;
114
- };
115
- }>, "many">;
51
+ }, z.core.$strip>], "method">;
52
+ }, z.core.$strip>>;
116
53
  images: z.ZodArray<z.ZodArray<z.ZodObject<{
117
54
  url: z.ZodString;
118
55
  width: z.ZodNumber;
119
56
  height: z.ZodNumber;
120
- verification: z.ZodDiscriminatedUnion<"method", [z.ZodObject<{
57
+ verification: z.ZodDiscriminatedUnion<[z.ZodObject<{
121
58
  data: z.ZodString;
122
- method: z.ZodEnum<[_chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES, _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8]>;
123
- }, "strip", z.ZodTypeAny, {
124
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
125
- data: string;
126
- }, {
127
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
128
- data: string;
129
- }>, z.ZodObject<{
130
- method: z.ZodEnum<[_chillwhales_lsp2.VERIFICATION_METHODS.ECDSA]>;
59
+ method: z.ZodEnum<{
60
+ "keccak256(utf8)": _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8;
61
+ "keccak256(bytes)": _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
62
+ }>;
63
+ }, z.core.$strip>, z.ZodObject<{
64
+ method: z.ZodEnum<{
65
+ ecdsa: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
66
+ }>;
131
67
  data: z.ZodString;
132
68
  source: z.ZodString;
133
- }, "strip", z.ZodTypeAny, {
134
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
135
- data: string;
136
- source: string;
137
- }, {
138
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
139
- data: string;
140
- source: string;
141
- }>]>;
142
- }, "strip", z.ZodTypeAny, {
143
- url: string;
144
- width: number;
145
- height: number;
146
- verification: {
147
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
148
- data: string;
149
- } | {
150
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
151
- data: string;
152
- source: string;
153
- };
154
- }, {
155
- url: string;
156
- width: number;
157
- height: number;
158
- verification: {
159
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
160
- data: string;
161
- } | {
162
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
163
- data: string;
164
- source: string;
165
- };
166
- }>, "many">, "many">;
69
+ }, z.core.$strip>], "method">;
70
+ }, z.core.$strip>>>;
167
71
  assets: z.ZodArray<z.ZodObject<{
168
72
  url: z.ZodString;
169
73
  fileType: z.ZodString;
170
- verification: z.ZodDiscriminatedUnion<"method", [z.ZodObject<{
74
+ verification: z.ZodDiscriminatedUnion<[z.ZodObject<{
171
75
  data: z.ZodString;
172
- method: z.ZodEnum<[_chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES, _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8]>;
173
- }, "strip", z.ZodTypeAny, {
174
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
175
- data: string;
176
- }, {
177
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
178
- data: string;
179
- }>, z.ZodObject<{
180
- method: z.ZodEnum<[_chillwhales_lsp2.VERIFICATION_METHODS.ECDSA]>;
76
+ method: z.ZodEnum<{
77
+ "keccak256(utf8)": _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8;
78
+ "keccak256(bytes)": _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
79
+ }>;
80
+ }, z.core.$strip>, z.ZodObject<{
81
+ method: z.ZodEnum<{
82
+ ecdsa: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
83
+ }>;
181
84
  data: z.ZodString;
182
85
  source: z.ZodString;
183
- }, "strip", z.ZodTypeAny, {
184
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
185
- data: string;
186
- source: string;
187
- }, {
188
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
189
- data: string;
190
- source: string;
191
- }>]>;
192
- }, "strip", z.ZodTypeAny, {
193
- url: string;
194
- verification: {
195
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
196
- data: string;
197
- } | {
198
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
199
- data: string;
200
- source: string;
201
- };
202
- fileType: string;
203
- }, {
204
- url: string;
205
- verification: {
206
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
207
- data: string;
208
- } | {
209
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
210
- data: string;
211
- source: string;
212
- };
213
- fileType: string;
214
- }>, "many">;
215
- attributes: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
86
+ }, z.core.$strip>], "method">;
87
+ }, z.core.$strip>>;
88
+ attributes: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
216
89
  key: z.ZodString;
217
90
  value: z.ZodString;
218
91
  type: z.ZodLiteral<"string">;
219
- }, "strip", z.ZodTypeAny, {
220
- type: "string";
221
- value: string;
222
- key: string;
223
- }, {
224
- type: "string";
225
- value: string;
226
- key: string;
227
- }>, z.ZodObject<{
92
+ }, z.core.$strip>, z.ZodObject<{
228
93
  key: z.ZodString;
229
- value: z.ZodEffects<z.ZodString, string, string>;
94
+ value: z.ZodString;
230
95
  type: z.ZodLiteral<"number">;
231
- }, "strip", z.ZodTypeAny, {
232
- type: "number";
233
- value: string;
234
- key: string;
235
- }, {
236
- type: "number";
237
- value: string;
238
- key: string;
239
- }>, z.ZodObject<{
96
+ }, z.core.$strip>, z.ZodObject<{
240
97
  key: z.ZodString;
241
98
  value: z.ZodBoolean;
242
99
  type: z.ZodLiteral<"boolean">;
243
- }, "strip", z.ZodTypeAny, {
244
- type: "boolean";
245
- value: boolean;
246
- key: string;
247
- }, {
248
- type: "boolean";
249
- value: boolean;
250
- key: string;
251
- }>]>, "many">;
252
- }, "strip", z.ZodTypeAny, {
253
- name: string | null;
254
- description: string | null;
255
- category: string | null;
256
- links: {
257
- url: string;
258
- title: string;
259
- }[];
260
- icon: {
261
- url: string;
262
- width: number;
263
- height: number;
264
- verification: {
265
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
266
- data: string;
267
- } | {
268
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
269
- data: string;
270
- source: string;
271
- };
272
- }[];
273
- images: {
274
- url: string;
275
- width: number;
276
- height: number;
277
- verification: {
278
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
279
- data: string;
280
- } | {
281
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
282
- data: string;
283
- source: string;
284
- };
285
- }[][];
286
- assets: {
287
- url: string;
288
- verification: {
289
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
290
- data: string;
291
- } | {
292
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
293
- data: string;
294
- source: string;
295
- };
296
- fileType: string;
297
- }[];
298
- attributes: ({
299
- type: "string";
300
- value: string;
301
- key: string;
302
- } | {
303
- type: "number";
304
- value: string;
305
- key: string;
306
- } | {
307
- type: "boolean";
308
- value: boolean;
309
- key: string;
310
- })[];
311
- }, {
312
- name: string | null;
313
- description: string | null;
314
- category: string | null;
315
- links: {
316
- url: string;
317
- title: string;
318
- }[];
319
- icon: {
320
- url: string;
321
- width: number;
322
- height: number;
323
- verification: {
324
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
325
- data: string;
326
- } | {
327
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
328
- data: string;
329
- source: string;
330
- };
331
- }[];
332
- images: {
333
- url: string;
334
- width: number;
335
- height: number;
336
- verification: {
337
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
338
- data: string;
339
- } | {
340
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
341
- data: string;
342
- source: string;
343
- };
344
- }[][];
345
- assets: {
346
- url: string;
347
- verification: {
348
- method: _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_UTF8 | _chillwhales_lsp2.VERIFICATION_METHODS.HASH_KECCAK256_BYTES;
349
- data: string;
350
- } | {
351
- method: _chillwhales_lsp2.VERIFICATION_METHODS.ECDSA;
352
- data: string;
353
- source: string;
354
- };
355
- fileType: string;
356
- }[];
357
- attributes: ({
358
- type: "string";
359
- value: string;
360
- key: string;
361
- } | {
362
- type: "number";
363
- value: string;
364
- key: string;
365
- } | {
366
- type: "boolean";
367
- value: boolean;
368
- key: string;
369
- })[];
370
- }>;
100
+ }, z.core.$strip>], "type">>;
101
+ }, z.core.$strip>;
371
102
 
372
103
  /**
373
104
  * LSP4 Inferred Types
package/dist/index.mjs CHANGED
@@ -54,30 +54,30 @@ function getNftDisplayName(metadata) {
54
54
 
55
55
  const attributesSchema = z.discriminatedUnion("type", [
56
56
  z.object({
57
- key: z.string({ invalid_type_error: "Invalid value, not a string" }),
58
- value: z.string({ invalid_type_error: "Invalid value, not a string" }),
57
+ key: z.string({ error: "Invalid value, not a string" }),
58
+ value: z.string({ error: "Invalid value, not a string" }),
59
59
  type: z.literal("string")
60
60
  }),
61
61
  z.object({
62
- key: z.string({ invalid_type_error: "Invalid value, not a string" }),
63
- value: z.string({ required_error: "Value required" }).refine(isNumeric, "Invalid value, not a number"),
62
+ key: z.string({ error: "Invalid value, not a string" }),
63
+ value: z.string({ error: "Value required" }).refine(isNumeric, "Invalid value, not a number"),
64
64
  type: z.literal("number")
65
65
  }),
66
66
  z.object({
67
- key: z.string({ invalid_type_error: "Invalid value, not a string" }),
68
- value: z.boolean({ invalid_type_error: "Invalid value, not a boolean" }),
67
+ key: z.string({ error: "Invalid value, not a string" }),
68
+ value: z.boolean({ error: "Invalid value, not a boolean" }),
69
69
  type: z.literal("boolean")
70
70
  })
71
71
  ]);
72
72
  const lsp4MetadataSchema = z.object({
73
73
  name: z.string({
74
- invalid_type_error: "Name must be a string"
74
+ error: "Name must be a string"
75
75
  }).nullable(),
76
76
  description: z.string({
77
- invalid_type_error: "Description must be a string"
77
+ error: "Description must be a string"
78
78
  }).nullable(),
79
79
  category: z.string({
80
- invalid_type_error: "Category must be a string"
80
+ error: "Category must be a string"
81
81
  }).nullable(),
82
82
  links: z.array(linkSchema),
83
83
  icon: z.array(imageSchema),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chillwhales/lsp4",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "type": "module",
5
5
  "description": "LSP4 Digital Asset Metadata — schemas, types, and utilities for LSP7/LSP8 token metadata on LUKSO",
6
6
  "author": "b00ste",
@@ -25,6 +25,10 @@
25
25
  "url": "git+https://github.com/chillwhales/LSPs.git",
26
26
  "directory": "packages/lsp4"
27
27
  },
28
+ "homepage": "https://github.com/chillwhales/LSPs/tree/main/packages/lsp4",
29
+ "bugs": {
30
+ "url": "https://github.com/chillwhales/LSPs/issues"
31
+ },
28
32
  "keywords": [
29
33
  "chillwhales",
30
34
  "lukso",
@@ -37,14 +41,14 @@
37
41
  ],
38
42
  "sideEffects": false,
39
43
  "dependencies": {
40
- "zod": "^3.24.1",
41
- "@chillwhales/lsp2": "0.2.0",
42
- "@chillwhales/utils": "0.2.0"
44
+ "zod": "^4.3.6",
45
+ "@chillwhales/lsp2": "0.2.1",
46
+ "@chillwhales/utils": "0.2.1"
43
47
  },
44
48
  "devDependencies": {
45
49
  "typescript": "^5.9.3",
46
50
  "unbuild": "^3.6.1",
47
- "vitest": "^4.0.17",
51
+ "vitest": "^4.0.18",
48
52
  "@chillwhales/config": "0.0.0"
49
53
  },
50
54
  "scripts": {