@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.
@@ -1,9 +1,9 @@
1
1
  {
2
- "$schema": "https://raw.githubusercontent.com/carrot-foundation/schemas/refs/heads/main/schemas/ipfs/gas-id/gas-id.schema.json",
2
+ "$schema": "https://raw.githubusercontent.com/carrot-foundation/schemas/refs/tags/0.1.40/schemas/ipfs/gas-id/gas-id.schema.json",
3
3
  "schema": {
4
4
  "hash": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456",
5
5
  "type": "GasID",
6
- "version": "0.1.0"
6
+ "version": "0.1.40"
7
7
  },
8
8
  "environment": {
9
9
  "blockchain_network": "mainnet",
@@ -12,8 +12,8 @@
12
12
  },
13
13
  "blockchain": {
14
14
  "smart_contract_address": "0x742d35cc6634c0532925a3b8d8b5c2d4c7f8e1a9",
15
- "chain_id": 1,
16
- "network_name": "Ethereum Mainnet",
15
+ "chain_id": 137,
16
+ "network_name": "Polygon",
17
17
  "token_id": "456"
18
18
  },
19
19
  "created_at": "2025-06-24T13:02:25.000Z",
@@ -21,10 +21,6 @@
21
21
  "external_url": "https://explore.carrot.eco/document/f47ac10b-58cc-4372-a567-0e02b2c3d479",
22
22
  "original_content_hash": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456",
23
23
  "content_hash": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456",
24
- "creator": {
25
- "name": "Carrot Foundation",
26
- "id": "1f060fa2-7b80-462f-888d-253a79912717"
27
- },
28
24
  "name": "GasID #456 • BOLD Carbon (CH₄) • 2.09t CO₂e",
29
25
  "short_name": "GasID #456",
30
26
  "description": "This GasID certifies 2.09 metric tons of CO₂e emissions prevented through BOLD Carbon (CH₄) methodology composting of 3 metric tons of organic waste from Macapá, Brazil.",
@@ -151,7 +147,6 @@
151
147
  "longitude": -51.070,
152
148
  "precision_level": "city"
153
149
  },
154
- "facility_type": "Collection Point",
155
150
  "responsible_participant_id_hash": "5021ea455b3549498a8583dc0c6f7cbf1234567890abcdef1234567890abcdef"
156
151
  },
157
152
  "prevented_emissions_calculation": {
@@ -2,8 +2,8 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "title": "GasID NFT IPFS Record",
4
4
  "description": "Complete GasID NFT IPFS record including fixed attributes and detailed carbon emissions prevention data",
5
- "$id": "https://raw.githubusercontent.com/carrot-foundation/schemas/refs/tags/0.1.39/schemas/ipfs/gas-id/gas-id.schema.json",
6
- "version": "0.1.39",
5
+ "$id": "https://raw.githubusercontent.com/carrot-foundation/schemas/refs/tags/0.1.41/schemas/ipfs/gas-id/gas-id.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": "GasID 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": {
@@ -323,8 +210,7 @@
323
210
  "title": "Methodology External ID",
324
211
  "description": "Unique identifier for the methodology",
325
212
  "examples": [
326
- "ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
327
- "b2c4e6f8-a1b3-4c5d-9e8f-123456789abc"
213
+ "ad44dd3f-f176-4b98-bf78-5ee6e77d0530"
328
214
  ],
329
215
  "type": "string",
330
216
  "format": "uuid",
@@ -357,8 +243,8 @@
357
243
  "title": "Methodology External URL",
358
244
  "description": "URL to view the methodology on Carrot Explorer",
359
245
  "examples": [
360
- "https://explore.carrot.eco/document/ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
361
- "https://carrot.eco/whitepaper.pdf"
246
+ "https://explore.carrot.eco/",
247
+ "https://https://whitepaper.carrot.eco/"
362
248
  ],
363
249
  "type": "string",
364
250
  "format": "uri"
@@ -392,9 +278,7 @@
392
278
  "title": "Audit Date",
393
279
  "description": "Date when the audit was completed",
394
280
  "examples": [
395
- "2024-12-05",
396
- "2025-02-22",
397
- "2024-02-10"
281
+ "2024-12-05"
398
282
  ],
399
283
  "type": "string",
400
284
  "format": "date",
@@ -404,8 +288,7 @@
404
288
  "title": "Audit External ID",
405
289
  "description": "Unique identifier for the audit",
406
290
  "examples": [
407
- "ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
408
- "b2c4e6f8-a1b3-4c5d-9e8f-123456789abc"
291
+ "ad44dd3f-f176-4b98-bf78-5ee6e77d0530"
409
292
  ],
410
293
  "type": "string",
411
294
  "format": "uuid",
@@ -415,8 +298,8 @@
415
298
  "title": "Audit External URL",
416
299
  "description": "URL to view the audit on Carrot Explorer",
417
300
  "examples": [
418
- "https://explore.carrot.eco/document/ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
419
- "https://carrot.eco/whitepaper.pdf"
301
+ "https://explore.carrot.eco/",
302
+ "https://https://whitepaper.carrot.eco/"
420
303
  ],
421
304
  "type": "string",
422
305
  "format": "uri"
@@ -477,8 +360,7 @@
477
360
  "title": "MassID External ID",
478
361
  "description": "Unique identifier for the MassID",
479
362
  "examples": [
480
- "ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
481
- "b2c4e6f8-a1b3-4c5d-9e8f-123456789abc"
363
+ "ad44dd3f-f176-4b98-bf78-5ee6e77d0530"
482
364
  ],
483
365
  "type": "string",
484
366
  "format": "uuid",
@@ -488,7 +370,6 @@
488
370
  "title": "MassID Token ID",
489
371
  "description": "NFT token ID of the MassID",
490
372
  "examples": [
491
- "123",
492
373
  "456789",
493
374
  "1000000"
494
375
  ],
@@ -500,8 +381,8 @@
500
381
  "title": "MassID External URL",
501
382
  "description": "URL to view the MassID on Carrot Explorer",
502
383
  "examples": [
503
- "https://explore.carrot.eco/document/ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
504
- "https://carrot.eco/whitepaper.pdf"
384
+ "https://explore.carrot.eco/",
385
+ "https://https://whitepaper.carrot.eco/"
505
386
  ],
506
387
  "type": "string",
507
388
  "format": "uri"
@@ -548,8 +429,7 @@
548
429
  "description": "Subtype of the source waste",
549
430
  "examples": [
550
431
  "Food, Food Waste and Beverages",
551
- "PET Bottles",
552
- "Aluminum Cans"
432
+ "Domestic Sludge"
553
433
  ],
554
434
  "type": "string",
555
435
  "minLength": 1,
@@ -583,8 +463,7 @@
583
463
  "title": "Location ID Hash",
584
464
  "description": "Anonymized identifier for the location",
585
465
  "examples": [
586
- "87f633634cc4b02f628685651f0a29b7bfa22a0bd841f725c6772dd00a58d489",
587
- "6e83b8e6373847bbdc056549bedda38dc88854ce41ba4fca11e0fc6ce3e07ef6"
466
+ "87f633634cc4b02f628685651f0a29b7bfa22a0bd841f725c6772dd00a58d489"
588
467
  ],
589
468
  "type": "string",
590
469
  "pattern": "^[0-9a-fA-F]{64}$"
@@ -654,8 +533,7 @@
654
533
  "title": "Responsible Participant ID Hash",
655
534
  "description": "Anonymized ID of the participant responsible for this location",
656
535
  "examples": [
657
- "87f633634cc4b02f628685651f0a29b7bfa22a0bd841f725c6772dd00a58d489",
658
- "6e83b8e6373847bbdc056549bedda38dc88854ce41ba4fca11e0fc6ce3e07ef6"
536
+ "87f633634cc4b02f628685651f0a29b7bfa22a0bd841f725c6772dd00a58d489"
659
537
  ],
660
538
  "type": "string",
661
539
  "pattern": "^[0-9a-fA-F]{64}$"
@@ -667,7 +545,7 @@
667
545
  "properties": {
668
546
  "latitude": {
669
547
  "title": "Latitude",
670
- "description": "Geographic latitude coordinate in decimal degrees with maximum 3 decimal places precision (~100m-1km accuracy for city-level, non-PII compliance)",
548
+ "description": "Geographic latitude coordinate in decimal degrees with maximum 3 decimal places precision (~100m-1km accuracy for city-level)",
671
549
  "examples": [
672
550
  -0.02,
673
551
  -20.38,
@@ -680,7 +558,7 @@
680
558
  },
681
559
  "longitude": {
682
560
  "title": "Longitude",
683
- "description": "Geographic longitude coordinate in decimal degrees with maximum 3 decimal places precision (~100m-1km accuracy for city-level, non-PII compliance)",
561
+ "description": "Geographic longitude coordinate in decimal degrees with maximum 3 decimal places precision (~100m-1km accuracy for city-level)",
684
562
  "examples": [
685
563
  -51.06,
686
564
  -40.34,
@@ -695,14 +573,10 @@
695
573
  "title": "Coordinate Precision Level",
696
574
  "description": "Level of coordinate precision",
697
575
  "examples": [
698
- "city",
699
- "exact",
700
- "neighborhood"
576
+ "city"
701
577
  ],
702
578
  "type": "string",
703
579
  "enum": [
704
- "exact",
705
- "neighborhood",
706
580
  "city",
707
581
  "region",
708
582
  "country"
@@ -715,22 +589,6 @@
715
589
  "precision_level"
716
590
  ],
717
591
  "additionalProperties": false
718
- },
719
- "facility_type": {
720
- "title": "Facility Type",
721
- "description": "Type of facility in the waste management chain",
722
- "examples": [
723
- "Collection Point",
724
- "Recycling Facility",
725
- "Administrative Office"
726
- ],
727
- "type": "string",
728
- "enum": [
729
- "Collection Point",
730
- "Recycling Facility",
731
- "Administrative Office",
732
- "Other"
733
- ]
734
592
  }
735
593
  },
736
594
  "required": [
@@ -773,9 +631,7 @@
773
631
  "title": "Calculation Date",
774
632
  "description": "Date when the calculation was performed",
775
633
  "examples": [
776
- "2024-12-05",
777
- "2025-02-22",
778
- "2024-02-10"
634
+ "2024-12-05"
779
635
  ],
780
636
  "type": "string",
781
637
  "format": "date",
@@ -860,9 +716,7 @@
860
716
  "title": "Participant ID",
861
717
  "description": "Unique identifier for the participant",
862
718
  "examples": [
863
- "ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
864
- "6f520d88-864d-432d-bf9f-5c3166c4818f",
865
- "f77afa89-1c58-40fd-9bf5-8a86703a8af4"
719
+ "ad44dd3f-f176-4b98-bf78-5ee6e77d0530"
866
720
  ],
867
721
  "type": "string",
868
722
  "format": "uuid",
@@ -896,9 +750,7 @@
896
750
  "title": "Accreditation ID",
897
751
  "description": "Unique identifier for the participant accreditation",
898
752
  "examples": [
899
- "ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
900
- "6f520d88-864d-432d-bf9f-5c3166c4818f",
901
- "f77afa89-1c58-40fd-9bf5-8a86703a8af4"
753
+ "ad44dd3f-f176-4b98-bf78-5ee6e77d0530"
902
754
  ],
903
755
  "type": "string",
904
756
  "format": "uuid",
@@ -908,8 +760,8 @@
908
760
  "title": "Participant Accreditation External URL",
909
761
  "description": "URL to view the participant accreditation on Carrot Explorer",
910
762
  "examples": [
911
- "https://explore.carrot.eco/document/ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
912
- "https://carrot.eco/whitepaper.pdf"
763
+ "https://explore.carrot.eco/",
764
+ "https://https://whitepaper.carrot.eco/"
913
765
  ],
914
766
  "type": "string",
915
767
  "format": "uri"
@@ -951,9 +803,7 @@
951
803
  "title": "Participant ID",
952
804
  "description": "Unique identifier for the participant receiving the reward",
953
805
  "examples": [
954
- "ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
955
- "6f520d88-864d-432d-bf9f-5c3166c4818f",
956
- "f77afa89-1c58-40fd-9bf5-8a86703a8af4"
806
+ "ad44dd3f-f176-4b98-bf78-5ee6e77d0530"
957
807
  ],
958
808
  "type": "string",
959
809
  "format": "uuid",
@@ -1078,8 +928,7 @@
1078
928
  "title": "Smart Contract Address",
1079
929
  "description": "A valid Ethereum address in hexadecimal format",
1080
930
  "examples": [
1081
- "0x1234567890abcdef1234567890abcdef12345678",
1082
- "0xabcdef1234567890abcdef1234567890abcdef12"
931
+ "0x1234567890abcdef1234567890abcdef12345678"
1083
932
  ],
1084
933
  "type": "string",
1085
934
  "pattern": "^0x[a-f0-9]{40}$"
@@ -1088,26 +937,37 @@
1088
937
  "title": "Chain ID",
1089
938
  "description": "Blockchain chain ID",
1090
939
  "examples": [
1091
- 1,
1092
940
  137,
1093
- 11155111
941
+ 80002
1094
942
  ],
1095
- "type": "integer",
1096
- "minimum": 1,
1097
- "maximum": 9007199254740991
943
+ "anyOf": [
944
+ {
945
+ "type": "number",
946
+ "const": 137
947
+ },
948
+ {
949
+ "type": "number",
950
+ "const": 80002
951
+ }
952
+ ]
1098
953
  },
1099
954
  "network_name": {
1100
- "title": "Network Name",
1101
- "description": "Name of the blockchain network",
955
+ "title": "Blockchain Network Name",
956
+ "description": "Supported Polygon network names",
957
+ "examples": [
958
+ "Polygon",
959
+ "Amoy"
960
+ ],
1102
961
  "type": "string",
1103
- "minLength": 5,
1104
- "maxLength": 100
962
+ "enum": [
963
+ "Polygon",
964
+ "Amoy"
965
+ ]
1105
966
  },
1106
967
  "token_id": {
1107
968
  "title": "Token ID",
1108
969
  "description": "NFT token ID",
1109
970
  "examples": [
1110
- "123",
1111
971
  "456789",
1112
972
  "1000000"
1113
973
  ],
@@ -1175,8 +1035,7 @@
1175
1035
  "description": "Hex color code for marketplace background display",
1176
1036
  "examples": [
1177
1037
  "#2D5A27",
1178
- "#FF5733",
1179
- "#1E90FF"
1038
+ "#FF5733"
1180
1039
  ],
1181
1040
  "type": "string",
1182
1041
  "minLength": 1,
@@ -1784,9 +1643,7 @@
1784
1643
  "title": "MassID Recycling Date",
1785
1644
  "description": "Unix timestamp in milliseconds when the source waste was recycled",
1786
1645
  "examples": [
1787
- 1704067200000,
1788
- 1735689600000,
1789
- 1762371245149
1646
+ 1704067200000
1790
1647
  ],
1791
1648
  "type": "integer",
1792
1649
  "exclusiveMinimum": 0,