@carrot-foundation/schemas 0.1.6
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/LICENSE +201 -0
- package/README.md +45 -0
- package/dist/index.js +1 -0
- package/dist/mass-id/index.js +2 -0
- package/dist/mass-id/mass-id.data.schema.js +346 -0
- package/dist/mass-id/mass-id.schema.js +162 -0
- package/dist/shared/base.schema.js +127 -0
- package/dist/shared/definitions.schema.js +283 -0
- package/dist/shared/entities/location.schema.js +68 -0
- package/dist/shared/entities/participant.schema.js +24 -0
- package/dist/shared/helpers.schema.js +16 -0
- package/dist/shared/nft.schema.js +193 -0
- package/package.json +89 -0
- package/schemas/ipfs/collection/collection.example.json +25 -0
- package/schemas/ipfs/collection/collection.schema.json +47 -0
- package/schemas/ipfs/credit/credit.example.json +27 -0
- package/schemas/ipfs/credit/credit.schema.json +61 -0
- package/schemas/ipfs/gas-id/gas-id.attributes.schema.json +219 -0
- package/schemas/ipfs/gas-id/gas-id.data.schema.json +120 -0
- package/schemas/ipfs/gas-id/gas-id.example.json +245 -0
- package/schemas/ipfs/gas-id/gas-id.schema.json +29 -0
- package/schemas/ipfs/mass-id/mass-id.example.json +318 -0
- package/schemas/ipfs/mass-id/mass-id.schema.json +1325 -0
- package/schemas/ipfs/mass-id-audit/mass-id-audit.data.schema.json +130 -0
- package/schemas/ipfs/mass-id-audit/mass-id-audit.example.json +291 -0
- package/schemas/ipfs/mass-id-audit/mass-id-audit.schema.json +26 -0
- package/schemas/ipfs/methodology/methodology.data.schema.json +121 -0
- package/schemas/ipfs/methodology/methodology.example.json +222 -0
- package/schemas/ipfs/methodology/methodology.schema.json +26 -0
- package/schemas/ipfs/purchase-id/purchase-id.attributes.schema.json +91 -0
- package/schemas/ipfs/purchase-id/purchase-id.data.schema.json +337 -0
- package/schemas/ipfs/purchase-id/purchase-id.example.json +224 -0
- package/schemas/ipfs/purchase-id/purchase-id.schema.json +29 -0
- package/schemas/ipfs/recycled-id/recycled-id.attributes.schema.json +202 -0
- package/schemas/ipfs/recycled-id/recycled-id.data.schema.json +63 -0
- package/schemas/ipfs/recycled-id/recycled-id.example.json +213 -0
- package/schemas/ipfs/recycled-id/recycled-id.schema.json +29 -0
- package/schemas/ipfs/shared/base/base.schema.json +163 -0
- package/schemas/ipfs/shared/certificate/certificate.schema.json +145 -0
- package/schemas/ipfs/shared/definitions/definitions.schema.json +250 -0
- package/schemas/ipfs/shared/entities/location/location.schema.json +95 -0
- package/schemas/ipfs/shared/entities/participant/participant.schema.json +28 -0
- package/schemas/ipfs/shared/nft/nft.schema.json +182 -0
- package/schemas/ipfs/shared/references/audit-reference/audit-reference.schema.json +42 -0
- package/schemas/ipfs/shared/references/gas-id-reference/gas-id-reference.schema.json +27 -0
- package/schemas/ipfs/shared/references/mass-id-reference/mass-id-reference.schema.json +27 -0
- package/schemas/ipfs/shared/references/methodology-reference/methodology-reference.schema.json +34 -0
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/carrot-foundation/schemas/refs/heads/main/schemas/mass-id.schema.json",
|
|
3
|
+
"schema": {
|
|
4
|
+
"hash": "ac08c3cf2e175e55961d6affdb38bc24591b84ceef7f3707c69ae3d52c148b2f",
|
|
5
|
+
"type": "MassID",
|
|
6
|
+
"version": "0.1.0"
|
|
7
|
+
},
|
|
8
|
+
"environment": {
|
|
9
|
+
"blockchain_network": "testnet",
|
|
10
|
+
"deployment": "development",
|
|
11
|
+
"data_set_name": "TEST"
|
|
12
|
+
},
|
|
13
|
+
"blockchain": {
|
|
14
|
+
"token_id": "123",
|
|
15
|
+
"smart_contract_address": "0x1234567890abcdef1234567890abcdef12345678",
|
|
16
|
+
"chain_id": 1,
|
|
17
|
+
"network_name": "Polygon"
|
|
18
|
+
},
|
|
19
|
+
"created_at": "2024-12-05T11:02:47.000Z",
|
|
20
|
+
"external_id": "ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
|
|
21
|
+
"external_url": "https://explore.carrot.eco/document/ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
|
|
22
|
+
"name": "MassID #123 • Organic • 3.0t",
|
|
23
|
+
"short_name": "MassID #123",
|
|
24
|
+
"description": "This MassID represents 3 metric tons of organic food waste from Enlatados Produção, tracked through complete chain of custody from generation to composting.",
|
|
25
|
+
"image": "ipfs://QmTy8w65yBXgyfG2ZBg5TrfB2hPjrDQH3RCQFJGkARStJb/mass-id-organic.png",
|
|
26
|
+
"background_color": "#2D5A27",
|
|
27
|
+
"external_links": [
|
|
28
|
+
{
|
|
29
|
+
"label": "Carrot Explorer",
|
|
30
|
+
"url": "https://explore.carrot.eco/document/ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
|
|
31
|
+
"description": "Complete chain of custody and audit trail"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"label": "Carrot White Paper",
|
|
35
|
+
"url": "https://carrot.eco/whitepaper.pdf",
|
|
36
|
+
"description": "Carrot Foundation technical and impact white paper"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"attributes": [
|
|
40
|
+
{
|
|
41
|
+
"trait_type": "Waste Type",
|
|
42
|
+
"value": "Organic"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"trait_type": "Waste Subtype",
|
|
46
|
+
"value": "Food, Food Waste and Beverages"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"trait_type": "Weight (kg)",
|
|
50
|
+
"value": 3000,
|
|
51
|
+
"display_type": "number"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"trait_type": "Origin Country",
|
|
55
|
+
"value": "Brazil"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"trait_type": "Origin Municipality",
|
|
59
|
+
"value": "Macapá"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"trait_type": "Origin Administrative Division",
|
|
63
|
+
"value": "Amapá"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"trait_type": "Recycler",
|
|
67
|
+
"value": "Eco Reciclagem"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"trait_type": "Integrator",
|
|
71
|
+
"value": "Carrot Foundation"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"trait_type": "Pick-up Date",
|
|
75
|
+
"value": "2024-12-05",
|
|
76
|
+
"display_type": "date"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"trait_type": "Recycling Date",
|
|
80
|
+
"value": "2025-02-22",
|
|
81
|
+
"display_type": "date"
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
"original_content_hash": "87f633634cc4b02f628685651f0a29b7bfa22a0bd841f725c6772dd00a58d489",
|
|
85
|
+
"content_hash": "6e83b8e6373847bbdc056549bedda38dc88854ce41ba4fca11e0fc6ce3e07ef6",
|
|
86
|
+
"data": {
|
|
87
|
+
"waste_classification": {
|
|
88
|
+
"primary_type": "Organic",
|
|
89
|
+
"subtype": "Food, Food Waste and Beverages",
|
|
90
|
+
"local_classification": {
|
|
91
|
+
"code": "04 02 20",
|
|
92
|
+
"description": "Lodos do tratamento local de efluentes não abrangidas em 04 02 19",
|
|
93
|
+
"system": "Ibama Waste Code"
|
|
94
|
+
},
|
|
95
|
+
"measurement_unit": "kg",
|
|
96
|
+
"net_weight": 3000,
|
|
97
|
+
"contamination_level": "Low"
|
|
98
|
+
},
|
|
99
|
+
"locations": [
|
|
100
|
+
{
|
|
101
|
+
"id": "f77afa89-1c58-40fd-9bf5-8a86703a8af4",
|
|
102
|
+
"municipality": "Macapá",
|
|
103
|
+
"administrative_division": "Amapá",
|
|
104
|
+
"administrative_division_code": "BR-AP",
|
|
105
|
+
"country": "Brazil",
|
|
106
|
+
"country_code": "BR",
|
|
107
|
+
"facility_type": "Waste Generation",
|
|
108
|
+
"coordinates": {
|
|
109
|
+
"latitude": -0.02,
|
|
110
|
+
"longitude": -51.06,
|
|
111
|
+
"precision_level": "city"
|
|
112
|
+
},
|
|
113
|
+
"responsible_participant_id": "6f520d88-864d-432d-bf9f-5c3166c4818f"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"id": "d01217a9-9d21-4f16-8908-0fea6750953e",
|
|
117
|
+
"municipality": "Cariacica",
|
|
118
|
+
"administrative_division": "Espirito Santo",
|
|
119
|
+
"administrative_division_code": "BR-ES",
|
|
120
|
+
"country": "Brazil",
|
|
121
|
+
"country_code": "BR",
|
|
122
|
+
"facility_type": "Recycling Facility",
|
|
123
|
+
"coordinates": {
|
|
124
|
+
"latitude": -20.38,
|
|
125
|
+
"longitude": -40.34,
|
|
126
|
+
"precision_level": "city"
|
|
127
|
+
},
|
|
128
|
+
"responsible_participant_id": "5021ea45-5b35-4749-8a85-83dc0c6f7cbf"
|
|
129
|
+
}
|
|
130
|
+
],
|
|
131
|
+
"participants": [
|
|
132
|
+
{
|
|
133
|
+
"id": "6f520d88-864d-432d-bf9f-5c3166c4818f",
|
|
134
|
+
"name": "Enlatados Produção",
|
|
135
|
+
"roles": ["Waste Generator"]
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"id": "5021ea45-5b35-4749-8a85-83dc0c6f7cbf",
|
|
139
|
+
"name": "Eco Reciclagem",
|
|
140
|
+
"roles": ["Hauler", "Recycler"]
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
"chain_of_custody": {
|
|
144
|
+
"events": [
|
|
145
|
+
{
|
|
146
|
+
"event_id": "8f799606-4ed5-49ce-8310-83b0c56ac01e",
|
|
147
|
+
"event_name": "Pick-up",
|
|
148
|
+
"description": "Waste picked up by hauler Eco Reciclagem at Enlatados Produção",
|
|
149
|
+
"timestamp": "2024-12-05T11:02:47.000Z",
|
|
150
|
+
"participant_id": "6f520d88-864d-432d-bf9f-5c3166c4818f",
|
|
151
|
+
"location_id": "f77afa89-1c58-40fd-9bf5-8a86703a8af4",
|
|
152
|
+
"attributes": [
|
|
153
|
+
{
|
|
154
|
+
"name": "Vehicle Type",
|
|
155
|
+
"value": "Truck"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"name": "Driver Identifier",
|
|
159
|
+
"value": "645eb901-bc17-497f-b53b-9bdd619ae2ec"
|
|
160
|
+
}
|
|
161
|
+
]
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"event_id": "9f6c6855-0a6b-4989-a3fc-1a8a38f919ec",
|
|
165
|
+
"event_name": "Transport",
|
|
166
|
+
"timestamp": "2024-12-05T11:02:47.000Z",
|
|
167
|
+
"description": "Waste transported to recycling facility",
|
|
168
|
+
"participant_id": "5021ea45-5b35-4749-8a85-83dc0c6f7cbf",
|
|
169
|
+
"location_id": "d01217a9-9d21-4f16-8908-0fea6750953e",
|
|
170
|
+
"weight": 3000,
|
|
171
|
+
"attributes": [
|
|
172
|
+
{
|
|
173
|
+
"name": "Document Type",
|
|
174
|
+
"value": "MTR"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"name": "Document Number",
|
|
178
|
+
"value": "4126"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"name": "Issue Date",
|
|
182
|
+
"value": "2024-02-10",
|
|
183
|
+
"format": "DATE"
|
|
184
|
+
}
|
|
185
|
+
],
|
|
186
|
+
"documentation": [
|
|
187
|
+
{
|
|
188
|
+
"type": "Transport Manifest",
|
|
189
|
+
"document_number": "MTR-4126",
|
|
190
|
+
"reference": "transport-manifest.pdf",
|
|
191
|
+
"issue_date": "2024-02-10"
|
|
192
|
+
}
|
|
193
|
+
]
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"event_id": "591eb414-a678-486d-982c-3c25f3cb52de",
|
|
197
|
+
"event_name": "Weighing",
|
|
198
|
+
"timestamp": "2024-12-05T11:02:47.000Z",
|
|
199
|
+
"description": "Waste weighed at recycling facility",
|
|
200
|
+
"participant_id": "5021ea45-5b35-4749-8a85-83dc0c6f7cbf",
|
|
201
|
+
"location_id": "d01217a9-9d21-4f16-8908-0fea6750953e",
|
|
202
|
+
"attributes": [
|
|
203
|
+
{
|
|
204
|
+
"name": "Weighing Capture Method",
|
|
205
|
+
"value": "Digital"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"name": "Scale Type",
|
|
209
|
+
"value": "Weighbridge (Truck Scale)"
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"name": "Container Type",
|
|
213
|
+
"value": "Truck"
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"name": "Container Capacity",
|
|
217
|
+
"value": 12000,
|
|
218
|
+
"format": "KILOGRAM"
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"name": "Gross Weight",
|
|
222
|
+
"value": 22700,
|
|
223
|
+
"format": "KILOGRAM"
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"name": "Tare",
|
|
227
|
+
"value": 19700,
|
|
228
|
+
"format": "KILOGRAM"
|
|
229
|
+
}
|
|
230
|
+
]
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"event_id": "5d4b0723-b3a6-4659-8d80-d74f5e842af7",
|
|
234
|
+
"event_name": "Drop-off",
|
|
235
|
+
"description": "Waste deposited in Windrow number 1",
|
|
236
|
+
"timestamp": "2024-12-05T11:02:47.000Z",
|
|
237
|
+
"participant_id": "5021ea45-5b35-4749-8a85-83dc0c6f7cbf",
|
|
238
|
+
"location_id": "d01217a9-9d21-4f16-8908-0fea6750953e",
|
|
239
|
+
"attributes": [
|
|
240
|
+
{
|
|
241
|
+
"name": "Recycler Operator Identifier",
|
|
242
|
+
"value": "d596521f-8f98-401d-ba55-93246d57c6fb"
|
|
243
|
+
}
|
|
244
|
+
]
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"event_id": "ca509646-e35a-47b5-aff7-39595125effe",
|
|
248
|
+
"event_name": "Sorting",
|
|
249
|
+
"description": "This MassID sorting is being defined by the sorting factor calculated by a third party audit for Eco Reciclagem",
|
|
250
|
+
"timestamp": "2024-12-05T11:02:47.000Z",
|
|
251
|
+
"participant_id": "5021ea45-5b35-4749-8a85-83dc0c6f7cbf",
|
|
252
|
+
"location_id": "d01217a9-9d21-4f16-8908-0fea6750953e",
|
|
253
|
+
"attributes": [
|
|
254
|
+
{
|
|
255
|
+
"name": "Sorting Factor",
|
|
256
|
+
"value": 0.5
|
|
257
|
+
}
|
|
258
|
+
]
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"event_id": "df7d3cac-81a1-46db-8486-b3fe4ec4ea32",
|
|
262
|
+
"event_name": "Documentation",
|
|
263
|
+
"description": "Attached the recycling manifest documentation",
|
|
264
|
+
"timestamp": "2024-12-05T11:02:47.000Z",
|
|
265
|
+
"participant_id": "5021ea45-5b35-4749-8a85-83dc0c6f7cbf",
|
|
266
|
+
"location_id": "d01217a9-9d21-4f16-8908-0fea6750953e",
|
|
267
|
+
"attributes": [
|
|
268
|
+
{
|
|
269
|
+
"name": "Document Type",
|
|
270
|
+
"value": "CDF"
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"name": "Document Number",
|
|
274
|
+
"value": "2353"
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"name": "Issue Date",
|
|
278
|
+
"value": "2024-03-10",
|
|
279
|
+
"format": "DATE"
|
|
280
|
+
}
|
|
281
|
+
],
|
|
282
|
+
"documentation": [
|
|
283
|
+
{
|
|
284
|
+
"type": "Recycling Certificate",
|
|
285
|
+
"document_number": "CDF-2353",
|
|
286
|
+
"reference": "recycling-manifest.pdf",
|
|
287
|
+
"issue_date": "2024-03-10"
|
|
288
|
+
}
|
|
289
|
+
]
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"event_id": "b544695f-c3ba-4b97-9b24-c13dd32e4db8",
|
|
293
|
+
"event_name": "Recycling",
|
|
294
|
+
"description": "Composting process completed",
|
|
295
|
+
"timestamp": "2025-02-22T10:35:12.000Z",
|
|
296
|
+
"participant_id": "5021ea45-5b35-4749-8a85-83dc0c6f7cbf",
|
|
297
|
+
"location_id": "d01217a9-9d21-4f16-8908-0fea6750953e"
|
|
298
|
+
}
|
|
299
|
+
],
|
|
300
|
+
"total_distance_km": 45.2,
|
|
301
|
+
"total_duration_hours": 72.5
|
|
302
|
+
},
|
|
303
|
+
"geographic_data": {
|
|
304
|
+
"origin_location_id": "f77afa89-1c58-40fd-9bf5-8a86703a8af4",
|
|
305
|
+
"processing_location_ids": ["d01217a9-9d21-4f16-8908-0fea6750953e"],
|
|
306
|
+
"final_destination_id": "d01217a9-9d21-4f16-8908-0fea6750953e",
|
|
307
|
+
"transport_routes": [
|
|
308
|
+
{
|
|
309
|
+
"from_location_id": "f77afa89-1c58-40fd-9bf5-8a86703a8af4",
|
|
310
|
+
"to_location_id": "d01217a9-9d21-4f16-8908-0fea6750953e",
|
|
311
|
+
"distance_km": 45.2,
|
|
312
|
+
"transport_method": "Truck",
|
|
313
|
+
"duration_hours": 72.5
|
|
314
|
+
}
|
|
315
|
+
]
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|