@traittech/traits-validator-2 0.1.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.
@@ -0,0 +1,714 @@
1
+ {
2
+ "finance.trevo.studio.compliance_provider_description": {
3
+ "$id": "https://trevo-finance.github.io/trevo-traits-registry/traits/finance.trevo.studio/compliance_provider_description/trait.json",
4
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
5
+ "title": "Description of a compliance provider",
6
+ "description": "This trait provides the description of a compliance provider.",
7
+ "type": "object",
8
+ "properties": {
9
+ "description": {
10
+ "description": "The description of a compliance provider. It should be a plain text.",
11
+ "type": "string",
12
+ "minLength": 1,
13
+ "maxLength": 512
14
+ }
15
+ },
16
+ "required": [
17
+ "description"
18
+ ],
19
+ "additionalProperties": false
20
+ },
21
+ "finance.trevo.studio.fungible_attributes": {
22
+ "$id": "https://trevo-finance.github.io/trevo-traits-registry/traits/finance.trevo.studio/fungible_attributes/trait.json",
23
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
24
+ "title": "Attributes of an fungible token",
25
+ "description": "Attributes of an fungible token.",
26
+ "type": "object",
27
+ "properties": {
28
+ "attributes": {
29
+ "description": "The list of attributes of an fungible token.",
30
+ "type": "array",
31
+ "items": {
32
+ "oneOf": [
33
+ {
34
+ "$ref": "#/$defs/fungible_attribute_number"
35
+ },
36
+ {
37
+ "$ref": "#/$defs/fungible_attribute_percentage"
38
+ },
39
+ {
40
+ "$ref": "#/$defs/fungible_attribute_string"
41
+ },
42
+ {
43
+ "$ref": "#/$defs/fungible_attribute_boolean"
44
+ },
45
+ {
46
+ "$ref": "#/$defs/fungible_attribute_date"
47
+ },
48
+ {
49
+ "$ref": "#/$defs/fungible_attribute_duration"
50
+ }
51
+ ]
52
+ },
53
+ "minItems": 1
54
+ }
55
+ },
56
+ "required": [
57
+ "attributes"
58
+ ],
59
+ "$defs": {
60
+ "fungible_attribute_number": {
61
+ "type": "object",
62
+ "properties": {
63
+ "name": {
64
+ "description": "The name of the attribute.",
65
+ "type": "string",
66
+ "minLength": 1,
67
+ "maxLength": 32
68
+ },
69
+ "display_type": {
70
+ "description": "The type of the attribute.",
71
+ "type": "string",
72
+ "enum": [
73
+ "number"
74
+ ]
75
+ },
76
+ "value": {
77
+ "description": "The value of the attribute.",
78
+ "type": "number"
79
+ }
80
+ },
81
+ "required": [
82
+ "name",
83
+ "display_type",
84
+ "value"
85
+ ],
86
+ "additionalProperties": false
87
+ },
88
+ "fungible_attribute_percentage": {
89
+ "type": "object",
90
+ "properties": {
91
+ "name": {
92
+ "description": "The name of the attribute.",
93
+ "type": "string",
94
+ "minLength": 1,
95
+ "maxLength": 32
96
+ },
97
+ "display_type": {
98
+ "description": "The type of the attribute.",
99
+ "type": "string",
100
+ "enum": [
101
+ "percentage"
102
+ ]
103
+ },
104
+ "value": {
105
+ "description": "The value of the attribute.",
106
+ "type": "number",
107
+ "minimum": -100,
108
+ "maximum": 100
109
+ }
110
+ },
111
+ "required": [
112
+ "name",
113
+ "display_type",
114
+ "value"
115
+ ],
116
+ "additionalProperties": false
117
+ },
118
+ "fungible_attribute_string": {
119
+ "type": "object",
120
+ "properties": {
121
+ "name": {
122
+ "description": "The name of the attribute.",
123
+ "type": "string",
124
+ "minLength": 1,
125
+ "maxLength": 32
126
+ },
127
+ "display_type": {
128
+ "description": "The type of the attribute.",
129
+ "type": "string",
130
+ "enum": [
131
+ "string"
132
+ ]
133
+ },
134
+ "value": {
135
+ "description": "The value of the attribute.",
136
+ "type": "string",
137
+ "minLength": 1,
138
+ "maxLength": 64
139
+ }
140
+ },
141
+ "required": [
142
+ "name",
143
+ "display_type",
144
+ "value"
145
+ ],
146
+ "additionalProperties": false
147
+ },
148
+ "fungible_attribute_boolean": {
149
+ "type": "object",
150
+ "properties": {
151
+ "name": {
152
+ "description": "The name of the attribute.",
153
+ "type": "string",
154
+ "minLength": 1,
155
+ "maxLength": 32
156
+ },
157
+ "display_type": {
158
+ "description": "The type of the attribute.",
159
+ "type": "string",
160
+ "enum": [
161
+ "boolean"
162
+ ]
163
+ },
164
+ "value": {
165
+ "description": "The value of the attribute.",
166
+ "type": "boolean"
167
+ }
168
+ },
169
+ "required": [
170
+ "name",
171
+ "display_type",
172
+ "value"
173
+ ],
174
+ "additionalProperties": false
175
+ },
176
+ "fungible_attribute_date": {
177
+ "type": "object",
178
+ "properties": {
179
+ "name": {
180
+ "description": "The name of the attribute.",
181
+ "type": "string",
182
+ "minLength": 1,
183
+ "maxLength": 32
184
+ },
185
+ "display_type": {
186
+ "description": "The type of the attribute.",
187
+ "type": "string",
188
+ "enum": [
189
+ "date"
190
+ ]
191
+ },
192
+ "value": {
193
+ "description": "The value of the attribute.",
194
+ "type": "string",
195
+ "anyOf": [
196
+ {
197
+ "format": "date-time"
198
+ },
199
+ {
200
+ "format": "date"
201
+ },
202
+ {
203
+ "format": "time"
204
+ }
205
+ ]
206
+ }
207
+ },
208
+ "required": [
209
+ "name",
210
+ "display_type",
211
+ "value"
212
+ ],
213
+ "additionalProperties": false
214
+ },
215
+ "fungible_attribute_duration": {
216
+ "type": "object",
217
+ "properties": {
218
+ "name": {
219
+ "description": "The name of the attribute.",
220
+ "type": "string",
221
+ "minLength": 1,
222
+ "maxLength": 32
223
+ },
224
+ "display_type": {
225
+ "description": "The type of the attribute.",
226
+ "type": "string",
227
+ "enum": [
228
+ "duration"
229
+ ]
230
+ },
231
+ "value": {
232
+ "description": "The value of the attribute.",
233
+ "type": "string",
234
+ "format": "duration"
235
+ }
236
+ },
237
+ "required": [
238
+ "name",
239
+ "display_type",
240
+ "value"
241
+ ],
242
+ "additionalProperties": false
243
+ }
244
+ },
245
+ "additionalProperties": false
246
+ },
247
+ "finance.trevo.studio.fungible_description": {
248
+ "$id": "https://trevo-finance.github.io/trevo-traits-registry/traits/finance.trevo.studio/fungible_description/trait.json",
249
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
250
+ "title": "Description of a fungible token",
251
+ "description": "This trait provides the description of an fungible token.",
252
+ "type": "object",
253
+ "properties": {
254
+ "description": {
255
+ "description": "The description of an fungible token. It should be a plain text.",
256
+ "type": "string",
257
+ "minLength": 1,
258
+ "maxLength": 512
259
+ }
260
+ },
261
+ "required": [
262
+ "description"
263
+ ],
264
+ "additionalProperties": false
265
+ },
266
+ "finance.trevo.studio.square_icon": {
267
+ "$id": "https://trevo-finance.github.io/trevo-traits-registry/traits/finance.trevo.studio/square_icon/trait.json",
268
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
269
+ "title": "Small squre icon",
270
+ "description": "The trait provides info about a small squre icon of an on-chain entity, used by the Trevo Studio. Size of the icon: 512x512px. Suported formats: WebP, PNG / APNG, JPEG / JPG, GIF, SVG.",
271
+ "type": "object",
272
+ "properties": {
273
+ "image_url": {
274
+ "description": "The link to the file with the icon image.",
275
+ "type": "string",
276
+ "format": "url",
277
+ "maxLength": 256
278
+ }
279
+ },
280
+ "required": [
281
+ "image_url"
282
+ ],
283
+ "additionalProperties": false
284
+ },
285
+ "finance.trevo.studio.tags": {
286
+ "$id": "https://trevo-finance.github.io/trevo-traits-registry/traits/finance.trevo.studio/tags/trait.json",
287
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
288
+ "title": "Tags of an object",
289
+ "description": "This trait provides the tags of an object.",
290
+ "type": "object",
291
+ "properties": {
292
+ "tags": {
293
+ "description": "The list of tags of an object.",
294
+ "type": "array",
295
+ "items": {
296
+ "type": "string",
297
+ "minLength": 1,
298
+ "maxLength": 16
299
+ },
300
+ "minItems": 1
301
+ }
302
+ },
303
+ "required": [
304
+ "tags"
305
+ ],
306
+ "additionalProperties": false
307
+ },
308
+ "finance.trevo.wallet.nft_collection_listing_image": {
309
+ "$id": "https://trevo-finance.github.io/trevo-traits-registry/traits/finance.trevo.wallet/nft_collection_listing_image/trait.json",
310
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
311
+ "title": "NFT image used in the list of NFT collections.",
312
+ "description": "The trait provides info about an image used in the list of NFT collections. Expected size of the image: 1024x1024px. Suported formats: WebP, PNG / APNG, JPEG / JPG, GIF, SVG.",
313
+ "type": "object",
314
+ "properties": {
315
+ "image_url": {
316
+ "description": "The link to the file with the image.",
317
+ "type": "string",
318
+ "format": "url",
319
+ "maxLength": 256
320
+ }
321
+ },
322
+ "required": [
323
+ "image_url"
324
+ ],
325
+ "additionalProperties": false
326
+ },
327
+ "finance.trevo.wallet.nft_token_attributes": {
328
+ "$id": "https://trevo-finance.github.io/trevo-traits-registry/traits/finance.trevo.wallet/nft_token_attributes/trait.json",
329
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
330
+ "title": "NFT attributes",
331
+ "description": "Attributes of an NFT displayed on the token' page.",
332
+ "type": "object",
333
+ "properties": {
334
+ "attributes": {
335
+ "description": "The list of NFT attributes.",
336
+ "type": "array",
337
+ "items": {
338
+ "oneOf": [
339
+ {
340
+ "$ref": "#/$defs/nft_attribute_number"
341
+ },
342
+ {
343
+ "$ref": "#/$defs/nft_attribute_percentage"
344
+ },
345
+ {
346
+ "$ref": "#/$defs/nft_attribute_string"
347
+ },
348
+ {
349
+ "$ref": "#/$defs/nft_attribute_boolean"
350
+ },
351
+ {
352
+ "$ref": "#/$defs/nft_attribute_date"
353
+ },
354
+ {
355
+ "$ref": "#/$defs/nft_attribute_duration"
356
+ }
357
+ ]
358
+ },
359
+ "minItems": 1
360
+ }
361
+ },
362
+ "required": [
363
+ "attributes"
364
+ ],
365
+ "$defs": {
366
+ "nft_attribute_number": {
367
+ "type": "object",
368
+ "properties": {
369
+ "name": {
370
+ "description": "The name of the attribute.",
371
+ "type": "string",
372
+ "minLength": 1,
373
+ "maxLength": 32
374
+ },
375
+ "display_type": {
376
+ "description": "The type of the attribute.",
377
+ "type": "string",
378
+ "enum": [
379
+ "number"
380
+ ]
381
+ },
382
+ "value": {
383
+ "description": "The value of the attribute.",
384
+ "type": "number"
385
+ }
386
+ },
387
+ "required": [
388
+ "name",
389
+ "display_type",
390
+ "value"
391
+ ],
392
+ "additionalProperties": false
393
+ },
394
+ "nft_attribute_percentage": {
395
+ "type": "object",
396
+ "properties": {
397
+ "name": {
398
+ "description": "The name of the attribute.",
399
+ "type": "string",
400
+ "minLength": 1,
401
+ "maxLength": 32
402
+ },
403
+ "display_type": {
404
+ "description": "The type of the attribute.",
405
+ "type": "string",
406
+ "enum": [
407
+ "percentage"
408
+ ]
409
+ },
410
+ "value": {
411
+ "description": "The value of the attribute.",
412
+ "type": "number",
413
+ "minimum": -100,
414
+ "maximum": 100
415
+ }
416
+ },
417
+ "required": [
418
+ "name",
419
+ "display_type",
420
+ "value"
421
+ ],
422
+ "additionalProperties": false
423
+ },
424
+ "nft_attribute_string": {
425
+ "type": "object",
426
+ "properties": {
427
+ "name": {
428
+ "description": "The name of the attribute.",
429
+ "type": "string",
430
+ "minLength": 1,
431
+ "maxLength": 32
432
+ },
433
+ "display_type": {
434
+ "description": "The type of the attribute.",
435
+ "type": "string",
436
+ "enum": [
437
+ "string"
438
+ ]
439
+ },
440
+ "value": {
441
+ "description": "The value of the attribute.",
442
+ "type": "string",
443
+ "minLength": 1,
444
+ "maxLength": 32
445
+ }
446
+ },
447
+ "required": [
448
+ "name",
449
+ "display_type",
450
+ "value"
451
+ ],
452
+ "additionalProperties": false
453
+ },
454
+ "nft_attribute_boolean": {
455
+ "type": "object",
456
+ "properties": {
457
+ "name": {
458
+ "description": "The name of the attribute.",
459
+ "type": "string",
460
+ "minLength": 1,
461
+ "maxLength": 32
462
+ },
463
+ "display_type": {
464
+ "description": "The type of the attribute.",
465
+ "type": "string",
466
+ "enum": [
467
+ "boolean"
468
+ ]
469
+ },
470
+ "value": {
471
+ "description": "The value of the attribute.",
472
+ "type": "boolean"
473
+ }
474
+ },
475
+ "required": [
476
+ "name",
477
+ "display_type",
478
+ "value"
479
+ ],
480
+ "additionalProperties": false
481
+ },
482
+ "nft_attribute_date": {
483
+ "type": "object",
484
+ "properties": {
485
+ "name": {
486
+ "description": "The name of the attribute.",
487
+ "type": "string",
488
+ "minLength": 1,
489
+ "maxLength": 32
490
+ },
491
+ "display_type": {
492
+ "description": "The type of the attribute.",
493
+ "type": "string",
494
+ "enum": [
495
+ "date"
496
+ ]
497
+ },
498
+ "value": {
499
+ "description": "The value of the attribute.",
500
+ "type": "string",
501
+ "anyOf": [
502
+ {
503
+ "format": "date-time"
504
+ },
505
+ {
506
+ "format": "date"
507
+ },
508
+ {
509
+ "format": "time"
510
+ }
511
+ ]
512
+ }
513
+ },
514
+ "required": [
515
+ "name",
516
+ "display_type",
517
+ "value"
518
+ ],
519
+ "additionalProperties": false
520
+ },
521
+ "nft_attribute_duration": {
522
+ "type": "object",
523
+ "properties": {
524
+ "name": {
525
+ "description": "The name of the attribute.",
526
+ "type": "string",
527
+ "minLength": 1,
528
+ "maxLength": 32
529
+ },
530
+ "display_type": {
531
+ "description": "The type of the attribute.",
532
+ "type": "string",
533
+ "enum": [
534
+ "duration"
535
+ ]
536
+ },
537
+ "value": {
538
+ "description": "The value of the attribute.",
539
+ "type": "string",
540
+ "format": "duration"
541
+ }
542
+ },
543
+ "required": [
544
+ "name",
545
+ "display_type",
546
+ "value"
547
+ ],
548
+ "additionalProperties": false
549
+ }
550
+ },
551
+ "additionalProperties": false
552
+ },
553
+ "finance.trevo.wallet.nft_token_cover_image": {
554
+ "$id": "https://trevo-finance.github.io/trevo-traits-registry/traits/finance.trevo.wallet/nft_token_cover_image/trait.json",
555
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
556
+ "title": "NFT cover image",
557
+ "description": "NFT image used on the page with the details of the token. Expected size of the image: 2048x2048px. Suported formats: WebP, PNG / APNG, JPEG / JPG, GIF, SVG.",
558
+ "type": "object",
559
+ "properties": {
560
+ "image_url": {
561
+ "description": "The link to the file with the image.",
562
+ "type": "string",
563
+ "format": "url",
564
+ "maxLength": 256
565
+ }
566
+ },
567
+ "required": [
568
+ "image_url"
569
+ ],
570
+ "additionalProperties": false
571
+ },
572
+ "finance.trevo.wallet.nft_token_description": {
573
+ "$id": "https://trevo-finance.github.io/trevo-traits-registry/traits/finance.trevo.wallet/nft_token_description/trait.json",
574
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
575
+ "title": "Description of the NFT token.",
576
+ "description": "The trait provides description of the NFT token displayed to the user in Trevo wallet.",
577
+ "type": "object",
578
+ "properties": {
579
+ "nft_token_description": {
580
+ "description": "Description of the NFT token displayed to the user. It should be a plain text.",
581
+ "type": "string",
582
+ "maxLength": 4096
583
+ }
584
+ },
585
+ "required": [
586
+ "nft_token_description"
587
+ ],
588
+ "additionalProperties": false
589
+ },
590
+ "finance.trevo.wallet.nft_token_listing_image": {
591
+ "$id": "https://trevo-finance.github.io/trevo-traits-registry/traits/finance.trevo.wallet/nft_token_listing_image/trait.json",
592
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
593
+ "title": "NFT image used in the list of NFTs",
594
+ "description": "The trait provides info about an NFT image used in the list of NFTs. Expected size of the image: 1024x1024px. Suported formats: WebP, PNG / APNG, JPEG / JPG, GIF, SVG.",
595
+ "type": "object",
596
+ "properties": {
597
+ "image_url": {
598
+ "description": "The link to the file with the image.",
599
+ "type": "string",
600
+ "format": "url",
601
+ "maxLength": 256
602
+ }
603
+ },
604
+ "required": [
605
+ "image_url"
606
+ ],
607
+ "additionalProperties": false
608
+ },
609
+ "finance.trevo.wallet.price_feed": {
610
+ "$id": "https://trevo-finance.github.io/trevo-traits-registry/traits/finance.trevo.wallet/price_feed/trait.json",
611
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
612
+ "title": "Information to get current price of the asset",
613
+ "description": "This trait provides the information that allows to fetch current price of the asset.",
614
+ "type": "object",
615
+ "properties": {
616
+ "current_price": {
617
+ "description": "Information to get current price of the asset.",
618
+ "oneOf": [
619
+ {
620
+ "$ref": "#/$defs/tiingo"
621
+ }
622
+ ]
623
+ }
624
+ },
625
+ "required": [
626
+ "current_price"
627
+ ],
628
+ "$defs": {
629
+ "tiingo": {
630
+ "type": "object",
631
+ "properties": {
632
+ "source": {
633
+ "const": "tiingo"
634
+ },
635
+ "ticker": {
636
+ "description": "The ticker of the asset.",
637
+ "minLength": 1,
638
+ "maxLength": 32
639
+ }
640
+ },
641
+ "required": [
642
+ "source",
643
+ "ticker"
644
+ ],
645
+ "additionalProperties": false
646
+ }
647
+ },
648
+ "additionalProperties": false
649
+ },
650
+ "finance.trevo.wallet.square_icon": {
651
+ "$id": "https://trevo-finance.github.io/trevo-traits-registry/traits/finance.trevo.wallet/square_icon/trait.json",
652
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
653
+ "title": "Small squre icon",
654
+ "description": "The trait provides info about a small squre icon of an on-chain entity, used by the Trevo Wallet. Size of the icon: 512x512px. Suported formats: WebP, PNG / APNG, JPEG / JPG, GIF, SVG.",
655
+ "type": "object",
656
+ "properties": {
657
+ "image_url": {
658
+ "description": "The link to the file with the icon image.",
659
+ "type": "string",
660
+ "format": "url",
661
+ "maxLength": 256
662
+ }
663
+ },
664
+ "required": [
665
+ "image_url"
666
+ ],
667
+ "additionalProperties": false
668
+ },
669
+ "fungible": {
670
+ "$id": "https://trevo-finance.github.io/trevo-traits-registry/traits/fungible/trait.json",
671
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
672
+ "title": "Details of a fungible token",
673
+ "description": "The trait provides essential info about a fungible token.",
674
+ "type": "object",
675
+ "properties": {
676
+ "symbol": {
677
+ "description": "The short symbol of the token.",
678
+ "type": "string",
679
+ "minLength": 1,
680
+ "maxLength": 16
681
+ },
682
+ "decimals": {
683
+ "description": "The number of decimal places of the token.",
684
+ "type": "integer",
685
+ "minimum": 0,
686
+ "maximum": 30
687
+ }
688
+ },
689
+ "required": [
690
+ "symbol",
691
+ "decimals"
692
+ ],
693
+ "additionalProperties": false
694
+ },
695
+ "named": {
696
+ "$id": "https://trevo-finance.github.io/trevo-traits-registry/traits/named/trait.json",
697
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
698
+ "title": "Name of an on-chain entity",
699
+ "description": "This trait provides the name of an on-chain entity.",
700
+ "type": "object",
701
+ "properties": {
702
+ "name": {
703
+ "description": "The name of an object.",
704
+ "type": "string",
705
+ "minLength": 1,
706
+ "maxLength": 32
707
+ }
708
+ },
709
+ "required": [
710
+ "name"
711
+ ],
712
+ "additionalProperties": false
713
+ }
714
+ }