@carrot-foundation/schemas 0.1.39 → 0.1.41

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.
@@ -2,8 +2,8 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "title": "CreditPurchaseReceipt NFT IPFS Record",
4
4
  "description": "Complete CreditPurchaseReceipt NFT IPFS record including attributes and credit purchase data",
5
- "$id": "https://raw.githubusercontent.com/carrot-foundation/schemas/refs/tags/0.1.39/schemas/ipfs/credit-purchase-receipt/credit-purchase-receipt.schema.json",
6
- "version": "0.1.39",
5
+ "$id": "https://raw.githubusercontent.com/carrot-foundation/schemas/refs/tags/0.1.41/schemas/ipfs/credit-purchase-receipt/credit-purchase-receipt.schema.json",
6
+ "version": "0.1.41",
7
7
  "type": "object",
8
8
  "properties": {
9
9
  "$schema": {
@@ -18,27 +18,12 @@
18
18
  "properties": {
19
19
  "hash": {
20
20
  "title": "Schema Hash",
21
- "description": "Keccak256 hash of the JSON Schema this record was validated against",
21
+ "description": "SHA-256 hash of the JSON Schema this record was validated against",
22
22
  "examples": [
23
- "ac08c3cf2e175e55961d6affdb38bc24591b84ceef7f3707c69ae3d52c148b2f",
24
- "0xac08c3cf2e175e55961d6affdb38bc24591b84ceef7f3707c69ae3d52c148b2f"
23
+ "87f633634cc4b02f628685651f0a29b7bfa22a0bd841f725c6772dd00a58d489"
25
24
  ],
26
- "anyOf": [
27
- {
28
- "title": "Keccak256 Hash",
29
- "description": "Keccak256 cryptographic hash as hexadecimal string",
30
- "examples": [
31
- "ac08c3cf2e175e55961d6affdb38bc24591b84ceef7f3707c69ae3d52c148b2f",
32
- "b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2"
33
- ],
34
- "type": "string",
35
- "pattern": "^[0-9a-fA-F]{64}$"
36
- },
37
- {
38
- "type": "string",
39
- "pattern": "^0x[a-fA-F0-9]{64}$"
40
- }
41
- ]
25
+ "type": "string",
26
+ "pattern": "^[0-9a-fA-F]{64}$"
42
27
  },
43
28
  "type": {
44
29
  "title": "CreditPurchaseReceipt Schema Type",
@@ -70,19 +55,16 @@
70
55
  "title": "Created At",
71
56
  "description": "ISO 8601 creation timestamp for this record",
72
57
  "examples": [
73
- "2024-12-05T11:02:47.000Z",
74
- "2025-02-22T10:35:12.000Z"
58
+ "2024-12-05T11:02:47.000Z"
75
59
  ],
76
60
  "type": "string",
77
- "format": "date-time",
78
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
61
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?(?:Z|[+-]\\d{2}:\\d{2})$"
79
62
  },
80
63
  "external_id": {
81
64
  "title": "External ID",
82
- "description": "Off-chain reference ID (UUID from Carrot backend)",
65
+ "description": "UUID identifier for external system references",
83
66
  "examples": [
84
- "ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
85
- "b2c4e6f8-a1b3-4c5d-9e8f-123456789abc"
67
+ "ad44dd3f-f176-4b98-bf78-5ee6e77d0530"
86
68
  ],
87
69
  "type": "string",
88
70
  "format": "uuid",
@@ -90,10 +72,10 @@
90
72
  },
91
73
  "external_url": {
92
74
  "title": "External URL",
93
- "description": "External URL of the content",
75
+ "description": "URL pointing to external resources",
94
76
  "examples": [
95
- "https://explore.carrot.eco/document/ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
96
- "https://carrot.eco/whitepaper.pdf"
77
+ "https://explore.carrot.eco/",
78
+ "https://https://whitepaper.carrot.eco/"
97
79
  ],
98
80
  "type": "string",
99
81
  "format": "uri"
@@ -102,8 +84,7 @@
102
84
  "title": "Original Content Hash",
103
85
  "description": "SHA-256 hash of the original JSON content including private data before schema validation",
104
86
  "examples": [
105
- "87f633634cc4b02f628685651f0a29b7bfa22a0bd841f725c6772dd00a58d489",
106
- "6e83b8e6373847bbdc056549bedda38dc88854ce41ba4fca11e0fc6ce3e07ef6"
87
+ "87f633634cc4b02f628685651f0a29b7bfa22a0bd841f725c6772dd00a58d489"
107
88
  ],
108
89
  "type": "string",
109
90
  "pattern": "^[0-9a-fA-F]{64}$"
@@ -112,108 +93,14 @@
112
93
  "title": "Content Hash",
113
94
  "description": "SHA-256 hash of RFC 8785 canonicalized JSON after schema validation",
114
95
  "examples": [
115
- "87f633634cc4b02f628685651f0a29b7bfa22a0bd841f725c6772dd00a58d489",
116
- "6e83b8e6373847bbdc056549bedda38dc88854ce41ba4fca11e0fc6ce3e07ef6"
96
+ "87f633634cc4b02f628685651f0a29b7bfa22a0bd841f725c6772dd00a58d489"
117
97
  ],
118
98
  "type": "string",
119
99
  "pattern": "^[0-9a-fA-F]{64}$"
120
100
  },
121
- "creator": {
122
- "title": "Creator",
123
- "description": "Entity that created this record",
124
- "type": "object",
125
- "properties": {
126
- "name": {
127
- "title": "Creator Name",
128
- "description": "Company or individual name that created this record",
129
- "examples": [
130
- "Carrot Foundation"
131
- ],
132
- "type": "string"
133
- },
134
- "id": {
135
- "title": "Creator ID",
136
- "description": "Unique identifier for the creator",
137
- "examples": [
138
- "ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
139
- "6f520d88-864d-432d-bf9f-5c3166c4818f",
140
- "f77afa89-1c58-40fd-9bf5-8a86703a8af4"
141
- ],
142
- "type": "string",
143
- "format": "uuid",
144
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$"
145
- }
146
- },
147
- "required": [
148
- "name",
149
- "id"
150
- ],
151
- "additionalProperties": false
152
- },
153
- "relationships": {
154
- "title": "Relationships",
155
- "description": "References to other IPFS records this record relates to",
156
- "type": "array",
157
- "items": {
158
- "title": "Relationship",
159
- "description": "Relationship to another IPFS record",
160
- "type": "object",
161
- "properties": {
162
- "target_uri": {
163
- "title": "Target IPFS URI",
164
- "description": "Target IPFS URI of the referenced record",
165
- "examples": [
166
- "ipfs://QmTy8w65yBXgyfG2ZBg5TrfB2hPjrDQH3RCQFJGkARStJb/mass-id-organic.png",
167
- "ipfs://QmYjtig7VJQ6XsnUjqqJvj7QaMcCAwtrgNdahSiFofrE7o"
168
- ],
169
- "type": "string",
170
- "minLength": 1,
171
- "pattern": "^ipfs:\\/\\/[a-zA-Z0-9]+(\\/.*)?$"
172
- },
173
- "type": {
174
- "title": "Relationship Type",
175
- "description": "Type of relationship to the referenced record",
176
- "examples": [
177
- "mass-id",
178
- "collection",
179
- "credit-purchase-receipt"
180
- ],
181
- "type": "string",
182
- "enum": [
183
- "collection",
184
- "credit",
185
- "gas-id",
186
- "mass-id",
187
- "mass-id-audit",
188
- "methodology",
189
- "credit-purchase-receipt",
190
- "credit-retirement-receipt",
191
- "recycled-id"
192
- ]
193
- },
194
- "description": {
195
- "title": "Relationship Description",
196
- "description": "Human-readable description of the relationship",
197
- "examples": [
198
- "This record supersedes the previous version",
199
- "Related carbon credit batch",
200
- "Source document for this verification",
201
- "Child record derived from this parent",
202
- "Updated version of original record"
203
- ],
204
- "type": "string"
205
- }
206
- },
207
- "required": [
208
- "target_uri",
209
- "type"
210
- ],
211
- "additionalProperties": false
212
- }
213
- },
214
101
  "environment": {
215
- "title": "Environment",
216
- "description": "Environment information",
102
+ "title": "Record Environment",
103
+ "description": "Environment information for the record",
217
104
  "type": "object",
218
105
  "properties": {
219
106
  "blockchain_network": {
@@ -349,9 +236,7 @@
349
236
  "title": "Purchase Date",
350
237
  "description": "Date when the purchase was made (YYYY-MM-DD)",
351
238
  "examples": [
352
- "2024-12-05",
353
- "2025-02-22",
354
- "2024-02-10"
239
+ "2024-12-05"
355
240
  ],
356
241
  "type": "string",
357
242
  "format": "date",
@@ -378,8 +263,7 @@
378
263
  "title": "Payer Wallet Address",
379
264
  "description": "Ethereum address paying for the purchase",
380
265
  "examples": [
381
- "0x1234567890abcdef1234567890abcdef12345678",
382
- "0xabcdef1234567890abcdef1234567890abcdef12"
266
+ "0x1234567890abcdef1234567890abcdef12345678"
383
267
  ],
384
268
  "type": "string",
385
269
  "pattern": "^0x[a-f0-9]{40}$"
@@ -393,8 +277,7 @@
393
277
  "title": "Receiver Wallet Address",
394
278
  "description": "Ethereum address of the receiver",
395
279
  "examples": [
396
- "0x1234567890abcdef1234567890abcdef12345678",
397
- "0xabcdef1234567890abcdef1234567890abcdef12"
280
+ "0x1234567890abcdef1234567890abcdef12345678"
398
281
  ],
399
282
  "type": "string",
400
283
  "pattern": "^0x[a-f0-9]{40}$"
@@ -419,8 +302,7 @@
419
302
  "title": "Identity External ID",
420
303
  "description": "External identifier for the participant",
421
304
  "examples": [
422
- "ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
423
- "b2c4e6f8-a1b3-4c5d-9e8f-123456789abc"
305
+ "ad44dd3f-f176-4b98-bf78-5ee6e77d0530"
424
306
  ],
425
307
  "type": "string",
426
308
  "format": "uuid",
@@ -430,8 +312,8 @@
430
312
  "title": "Identity External URL",
431
313
  "description": "External URL for the participant profile",
432
314
  "examples": [
433
- "https://explore.carrot.eco/document/ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
434
- "https://carrot.eco/whitepaper.pdf"
315
+ "https://explore.carrot.eco/",
316
+ "https://https://whitepaper.carrot.eco/"
435
317
  ],
436
318
  "type": "string",
437
319
  "format": "uri"
@@ -459,8 +341,7 @@
459
341
  "title": "Buyer ID",
460
342
  "description": "Unique identifier for the buyer",
461
343
  "examples": [
462
- "ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
463
- "b2c4e6f8-a1b3-4c5d-9e8f-123456789abc"
344
+ "ad44dd3f-f176-4b98-bf78-5ee6e77d0530"
464
345
  ],
465
346
  "type": "string",
466
347
  "format": "uuid",
@@ -486,8 +367,7 @@
486
367
  "title": "Identity External ID",
487
368
  "description": "External identifier for the participant",
488
369
  "examples": [
489
- "ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
490
- "b2c4e6f8-a1b3-4c5d-9e8f-123456789abc"
370
+ "ad44dd3f-f176-4b98-bf78-5ee6e77d0530"
491
371
  ],
492
372
  "type": "string",
493
373
  "format": "uuid",
@@ -497,8 +377,8 @@
497
377
  "title": "Identity External URL",
498
378
  "description": "External URL for the participant profile",
499
379
  "examples": [
500
- "https://explore.carrot.eco/document/ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
501
- "https://carrot.eco/whitepaper.pdf"
380
+ "https://explore.carrot.eco/",
381
+ "https://https://whitepaper.carrot.eco/"
502
382
  ],
503
383
  "type": "string",
504
384
  "format": "uri"
@@ -550,8 +430,7 @@
550
430
  "title": "Collection External ID",
551
431
  "description": "External identifier for the collection",
552
432
  "examples": [
553
- "ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
554
- "b2c4e6f8-a1b3-4c5d-9e8f-123456789abc"
433
+ "ad44dd3f-f176-4b98-bf78-5ee6e77d0530"
555
434
  ],
556
435
  "type": "string",
557
436
  "format": "uuid",
@@ -572,8 +451,8 @@
572
451
  "title": "Collection External URL",
573
452
  "description": "External URL for the collection",
574
453
  "examples": [
575
- "https://explore.carrot.eco/document/ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
576
- "https://carrot.eco/whitepaper.pdf"
454
+ "https://explore.carrot.eco/",
455
+ "https://https://whitepaper.carrot.eco/"
577
456
  ],
578
457
  "type": "string",
579
458
  "format": "uri"
@@ -653,8 +532,7 @@
653
532
  "title": "Credit External ID",
654
533
  "description": "External identifier for the credit",
655
534
  "examples": [
656
- "ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
657
- "b2c4e6f8-a1b3-4c5d-9e8f-123456789abc"
535
+ "ad44dd3f-f176-4b98-bf78-5ee6e77d0530"
658
536
  ],
659
537
  "type": "string",
660
538
  "format": "uuid",
@@ -664,8 +542,8 @@
664
542
  "title": "Credit External URL",
665
543
  "description": "External URL for the credit",
666
544
  "examples": [
667
- "https://explore.carrot.eco/document/ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
668
- "https://carrot.eco/whitepaper.pdf"
545
+ "https://explore.carrot.eco/",
546
+ "https://https://whitepaper.carrot.eco/"
669
547
  ],
670
548
  "type": "string",
671
549
  "format": "uri"
@@ -690,35 +568,41 @@
690
568
  "title": "Smart Contract Address",
691
569
  "description": "Address of the smart contract",
692
570
  "examples": [
693
- "0x1234567890abcdef1234567890abcdef12345678",
694
- "0xabcdef1234567890abcdef1234567890abcdef12"
571
+ "0x1234567890abcdef1234567890abcdef12345678"
695
572
  ],
696
573
  "type": "string",
697
574
  "pattern": "^0x[a-f0-9]{40}$"
698
575
  },
699
576
  "chain_id": {
700
577
  "title": "Chain ID",
701
- "description": "Blockchain network identifier",
578
+ "description": "Supported Polygon chain identifiers",
702
579
  "examples": [
703
- 1,
704
580
  137,
705
- 11155111
581
+ 80002
706
582
  ],
707
- "type": "integer",
708
- "minimum": 1,
709
- "maximum": 9007199254740991
583
+ "anyOf": [
584
+ {
585
+ "type": "number",
586
+ "const": 137
587
+ },
588
+ {
589
+ "type": "number",
590
+ "const": 80002
591
+ }
592
+ ]
710
593
  },
711
594
  "network_name": {
712
595
  "title": "Blockchain Network Name",
713
- "description": "Name of the blockchain network",
596
+ "description": "Supported Polygon network names",
714
597
  "examples": [
715
598
  "Polygon",
716
- "Ethereum mainnet",
717
- "Sepolia"
599
+ "Amoy"
718
600
  ],
719
601
  "type": "string",
720
- "minLength": 1,
721
- "maxLength": 100
602
+ "enum": [
603
+ "Polygon",
604
+ "Amoy"
605
+ ]
722
606
  }
723
607
  },
724
608
  "required": [
@@ -777,7 +661,6 @@
777
661
  "title": "Certificate Token ID",
778
662
  "description": "Token ID of the certificate",
779
663
  "examples": [
780
- "123",
781
664
  "456789",
782
665
  "1000000"
783
666
  ],
@@ -798,8 +681,7 @@
798
681
  "title": "Certificate External ID",
799
682
  "description": "External identifier for the certificate",
800
683
  "examples": [
801
- "ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
802
- "b2c4e6f8-a1b3-4c5d-9e8f-123456789abc"
684
+ "ad44dd3f-f176-4b98-bf78-5ee6e77d0530"
803
685
  ],
804
686
  "type": "string",
805
687
  "format": "uuid",
@@ -809,8 +691,8 @@
809
691
  "title": "Certificate External URL",
810
692
  "description": "External URL for the certificate",
811
693
  "examples": [
812
- "https://explore.carrot.eco/document/ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
813
- "https://carrot.eco/whitepaper.pdf"
694
+ "https://explore.carrot.eco/",
695
+ "https://https://whitepaper.carrot.eco/"
814
696
  ],
815
697
  "type": "string",
816
698
  "format": "uri"
@@ -835,35 +717,41 @@
835
717
  "title": "Smart Contract Address",
836
718
  "description": "Address of the smart contract",
837
719
  "examples": [
838
- "0x1234567890abcdef1234567890abcdef12345678",
839
- "0xabcdef1234567890abcdef1234567890abcdef12"
720
+ "0x1234567890abcdef1234567890abcdef12345678"
840
721
  ],
841
722
  "type": "string",
842
723
  "pattern": "^0x[a-f0-9]{40}$"
843
724
  },
844
725
  "chain_id": {
845
726
  "title": "Chain ID",
846
- "description": "Blockchain network identifier",
727
+ "description": "Supported Polygon chain identifiers",
847
728
  "examples": [
848
- 1,
849
729
  137,
850
- 11155111
730
+ 80002
851
731
  ],
852
- "type": "integer",
853
- "minimum": 1,
854
- "maximum": 9007199254740991
732
+ "anyOf": [
733
+ {
734
+ "type": "number",
735
+ "const": 137
736
+ },
737
+ {
738
+ "type": "number",
739
+ "const": 80002
740
+ }
741
+ ]
855
742
  },
856
743
  "network_name": {
857
744
  "title": "Blockchain Network Name",
858
- "description": "Name of the blockchain network",
745
+ "description": "Supported Polygon network names",
859
746
  "examples": [
860
747
  "Polygon",
861
- "Ethereum mainnet",
862
- "Sepolia"
748
+ "Amoy"
863
749
  ],
864
750
  "type": "string",
865
- "minLength": 1,
866
- "maxLength": 100
751
+ "enum": [
752
+ "Polygon",
753
+ "Amoy"
754
+ ]
867
755
  }
868
756
  },
869
757
  "required": [
@@ -905,8 +793,7 @@
905
793
  "title": "MassID External ID",
906
794
  "description": "Unique identifier for the MassID",
907
795
  "examples": [
908
- "ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
909
- "b2c4e6f8-a1b3-4c5d-9e8f-123456789abc"
796
+ "ad44dd3f-f176-4b98-bf78-5ee6e77d0530"
910
797
  ],
911
798
  "type": "string",
912
799
  "format": "uuid",
@@ -916,7 +803,6 @@
916
803
  "title": "MassID Token ID",
917
804
  "description": "NFT token ID of the MassID",
918
805
  "examples": [
919
- "123",
920
806
  "456789",
921
807
  "1000000"
922
808
  ],
@@ -928,8 +814,8 @@
928
814
  "title": "MassID External URL",
929
815
  "description": "URL to view the MassID on Carrot Explorer",
930
816
  "examples": [
931
- "https://explore.carrot.eco/document/ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
932
- "https://carrot.eco/whitepaper.pdf"
817
+ "https://explore.carrot.eco/",
818
+ "https://https://whitepaper.carrot.eco/"
933
819
  ],
934
820
  "type": "string",
935
821
  "format": "uri"
@@ -954,35 +840,41 @@
954
840
  "title": "Smart Contract Address",
955
841
  "description": "Address of the smart contract",
956
842
  "examples": [
957
- "0x1234567890abcdef1234567890abcdef12345678",
958
- "0xabcdef1234567890abcdef1234567890abcdef12"
843
+ "0x1234567890abcdef1234567890abcdef12345678"
959
844
  ],
960
845
  "type": "string",
961
846
  "pattern": "^0x[a-f0-9]{40}$"
962
847
  },
963
848
  "chain_id": {
964
849
  "title": "Chain ID",
965
- "description": "Blockchain network identifier",
850
+ "description": "Supported Polygon chain identifiers",
966
851
  "examples": [
967
- 1,
968
852
  137,
969
- 11155111
853
+ 80002
970
854
  ],
971
- "type": "integer",
972
- "minimum": 1,
973
- "maximum": 9007199254740991
855
+ "anyOf": [
856
+ {
857
+ "type": "number",
858
+ "const": 137
859
+ },
860
+ {
861
+ "type": "number",
862
+ "const": 80002
863
+ }
864
+ ]
974
865
  },
975
866
  "network_name": {
976
867
  "title": "Blockchain Network Name",
977
- "description": "Name of the blockchain network",
868
+ "description": "Supported Polygon network names",
978
869
  "examples": [
979
870
  "Polygon",
980
- "Ethereum mainnet",
981
- "Sepolia"
871
+ "Amoy"
982
872
  ],
983
873
  "type": "string",
984
- "minLength": 1,
985
- "maxLength": 100
874
+ "enum": [
875
+ "Polygon",
876
+ "Amoy"
877
+ ]
986
878
  }
987
879
  },
988
880
  "required": [
@@ -1068,8 +960,7 @@
1068
960
  "title": "Participant ID Hash",
1069
961
  "description": "Hash representing the participant identifier (SHA-256 hex string)",
1070
962
  "examples": [
1071
- "87f633634cc4b02f628685651f0a29b7bfa22a0bd841f725c6772dd00a58d489",
1072
- "6e83b8e6373847bbdc056549bedda38dc88854ce41ba4fca11e0fc6ce3e07ef6"
963
+ "87f633634cc4b02f628685651f0a29b7bfa22a0bd841f725c6772dd00a58d489"
1073
964
  ],
1074
965
  "type": "string",
1075
966
  "pattern": "^[0-9a-fA-F]{64}$"
@@ -1134,8 +1025,7 @@
1134
1025
  "title": "Retirement Beneficiary ID",
1135
1026
  "description": "UUID identifying the beneficiary of the retirement (bytes16 normalized to UUID)",
1136
1027
  "examples": [
1137
- "ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
1138
- "b2c4e6f8-a1b3-4c5d-9e8f-123456789abc"
1028
+ "ad44dd3f-f176-4b98-bf78-5ee6e77d0530"
1139
1029
  ],
1140
1030
  "type": "string",
1141
1031
  "format": "uuid",
@@ -1150,7 +1040,6 @@
1150
1040
  "title": "Retirement Receipt Token ID",
1151
1041
  "description": "Token ID of the retirement receipt NFT",
1152
1042
  "examples": [
1153
- "123",
1154
1043
  "456789",
1155
1044
  "1000000"
1156
1045
  ],
@@ -1162,8 +1051,7 @@
1162
1051
  "title": "Retirement Receipt External ID",
1163
1052
  "description": "External identifier for the retirement receipt",
1164
1053
  "examples": [
1165
- "ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
1166
- "b2c4e6f8-a1b3-4c5d-9e8f-123456789abc"
1054
+ "ad44dd3f-f176-4b98-bf78-5ee6e77d0530"
1167
1055
  ],
1168
1056
  "type": "string",
1169
1057
  "format": "uuid",
@@ -1173,8 +1061,8 @@
1173
1061
  "title": "Retirement Receipt External URL",
1174
1062
  "description": "External URL for the retirement receipt",
1175
1063
  "examples": [
1176
- "https://explore.carrot.eco/document/ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
1177
- "https://carrot.eco/whitepaper.pdf"
1064
+ "https://explore.carrot.eco/",
1065
+ "https://https://whitepaper.carrot.eco/"
1178
1066
  ],
1179
1067
  "type": "string",
1180
1068
  "format": "uri"
@@ -1199,35 +1087,41 @@
1199
1087
  "title": "Smart Contract Address",
1200
1088
  "description": "Address of the smart contract",
1201
1089
  "examples": [
1202
- "0x1234567890abcdef1234567890abcdef12345678",
1203
- "0xabcdef1234567890abcdef1234567890abcdef12"
1090
+ "0x1234567890abcdef1234567890abcdef12345678"
1204
1091
  ],
1205
1092
  "type": "string",
1206
1093
  "pattern": "^0x[a-f0-9]{40}$"
1207
1094
  },
1208
1095
  "chain_id": {
1209
1096
  "title": "Chain ID",
1210
- "description": "Blockchain network identifier",
1097
+ "description": "Supported Polygon chain identifiers",
1211
1098
  "examples": [
1212
- 1,
1213
1099
  137,
1214
- 11155111
1100
+ 80002
1215
1101
  ],
1216
- "type": "integer",
1217
- "minimum": 1,
1218
- "maximum": 9007199254740991
1102
+ "anyOf": [
1103
+ {
1104
+ "type": "number",
1105
+ "const": 137
1106
+ },
1107
+ {
1108
+ "type": "number",
1109
+ "const": 80002
1110
+ }
1111
+ ]
1219
1112
  },
1220
1113
  "network_name": {
1221
1114
  "title": "Blockchain Network Name",
1222
- "description": "Name of the blockchain network",
1115
+ "description": "Supported Polygon network names",
1223
1116
  "examples": [
1224
1117
  "Polygon",
1225
- "Ethereum mainnet",
1226
- "Sepolia"
1118
+ "Amoy"
1227
1119
  ],
1228
1120
  "type": "string",
1229
- "minLength": 1,
1230
- "maxLength": 100
1121
+ "enum": [
1122
+ "Polygon",
1123
+ "Amoy"
1124
+ ]
1231
1125
  }
1232
1126
  },
1233
1127
  "required": [
@@ -1273,8 +1167,7 @@
1273
1167
  "title": "Smart Contract Address",
1274
1168
  "description": "A valid Ethereum address in hexadecimal format",
1275
1169
  "examples": [
1276
- "0x1234567890abcdef1234567890abcdef12345678",
1277
- "0xabcdef1234567890abcdef1234567890abcdef12"
1170
+ "0x1234567890abcdef1234567890abcdef12345678"
1278
1171
  ],
1279
1172
  "type": "string",
1280
1173
  "pattern": "^0x[a-f0-9]{40}$"
@@ -1283,26 +1176,37 @@
1283
1176
  "title": "Chain ID",
1284
1177
  "description": "Blockchain chain ID",
1285
1178
  "examples": [
1286
- 1,
1287
1179
  137,
1288
- 11155111
1180
+ 80002
1289
1181
  ],
1290
- "type": "integer",
1291
- "minimum": 1,
1292
- "maximum": 9007199254740991
1182
+ "anyOf": [
1183
+ {
1184
+ "type": "number",
1185
+ "const": 137
1186
+ },
1187
+ {
1188
+ "type": "number",
1189
+ "const": 80002
1190
+ }
1191
+ ]
1293
1192
  },
1294
1193
  "network_name": {
1295
- "title": "Network Name",
1296
- "description": "Name of the blockchain network",
1194
+ "title": "Blockchain Network Name",
1195
+ "description": "Supported Polygon network names",
1196
+ "examples": [
1197
+ "Polygon",
1198
+ "Amoy"
1199
+ ],
1297
1200
  "type": "string",
1298
- "minLength": 5,
1299
- "maxLength": 100
1201
+ "enum": [
1202
+ "Polygon",
1203
+ "Amoy"
1204
+ ]
1300
1205
  },
1301
1206
  "token_id": {
1302
1207
  "title": "Token ID",
1303
1208
  "description": "NFT token ID",
1304
1209
  "examples": [
1305
- "123",
1306
1210
  "456789",
1307
1211
  "1000000"
1308
1212
  ],
@@ -1370,8 +1274,7 @@
1370
1274
  "description": "Hex color code for marketplace background display",
1371
1275
  "examples": [
1372
1276
  "#2D5A27",
1373
- "#FF5733",
1374
- "#1E90FF"
1277
+ "#FF5733"
1375
1278
  ],
1376
1279
  "type": "string",
1377
1280
  "minLength": 1,
@@ -1597,9 +1500,7 @@
1597
1500
  "title": "Purchase Date",
1598
1501
  "description": "Unix timestamp in milliseconds when the purchase was completed",
1599
1502
  "examples": [
1600
- 1704067200000,
1601
- 1735689600000,
1602
- 1762371245149
1503
+ 1704067200000
1603
1504
  ],
1604
1505
  "type": "integer",
1605
1506
  "exclusiveMinimum": 0,