@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,337 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://raw.githubusercontent.com/carrot-foundation/schemas/refs/heads/main/schemas/ipfs/purchase-id/purchase-id.data.schema.json",
|
|
4
|
+
"title": "PurchaseID Data",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"summary",
|
|
8
|
+
"buyer",
|
|
9
|
+
"collections",
|
|
10
|
+
"credits",
|
|
11
|
+
"items",
|
|
12
|
+
"participant_rewards"
|
|
13
|
+
],
|
|
14
|
+
"properties": {
|
|
15
|
+
"summary": {
|
|
16
|
+
"type": "object",
|
|
17
|
+
"required": [
|
|
18
|
+
"total_usdc_amount",
|
|
19
|
+
"total_certificates",
|
|
20
|
+
"total_credits",
|
|
21
|
+
"purchase_date",
|
|
22
|
+
"credit_symbols",
|
|
23
|
+
"certificate_types"
|
|
24
|
+
],
|
|
25
|
+
"properties": {
|
|
26
|
+
"total_usdc_amount": {
|
|
27
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/non_negative_float",
|
|
28
|
+
"title": "Total USDC Amount",
|
|
29
|
+
"description": "Total amount paid in USDC for the purchase"
|
|
30
|
+
},
|
|
31
|
+
"total_certificates": {
|
|
32
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/positive_integer",
|
|
33
|
+
"title": "Total Certificates",
|
|
34
|
+
"description": "Total number of certificates purchased"
|
|
35
|
+
},
|
|
36
|
+
"total_credits": {
|
|
37
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/non_negative_float",
|
|
38
|
+
"title": "Total Credits",
|
|
39
|
+
"description": "Total amount of credits purchased"
|
|
40
|
+
},
|
|
41
|
+
"purchase_date": {
|
|
42
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/iso_date",
|
|
43
|
+
"title": "Purchase Date",
|
|
44
|
+
"description": "Date when the purchase was made"
|
|
45
|
+
},
|
|
46
|
+
"credit_symbols": {
|
|
47
|
+
"type": "array",
|
|
48
|
+
"title": "Credit Symbols",
|
|
49
|
+
"description": "Array of credit token symbols included in the purchase",
|
|
50
|
+
"items": {
|
|
51
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/token_symbol"
|
|
52
|
+
},
|
|
53
|
+
"minItems": 1
|
|
54
|
+
},
|
|
55
|
+
"certificate_types": {
|
|
56
|
+
"type": "array",
|
|
57
|
+
"title": "Certificate Types",
|
|
58
|
+
"description": "Array of certificate types included in the purchase",
|
|
59
|
+
"items": {
|
|
60
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/non_empty_string"
|
|
61
|
+
},
|
|
62
|
+
"minItems": 1
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"additionalProperties": false
|
|
66
|
+
},
|
|
67
|
+
"buyer": {
|
|
68
|
+
"type": "object",
|
|
69
|
+
"required": ["wallet_address"],
|
|
70
|
+
"properties": {
|
|
71
|
+
"wallet_address": {
|
|
72
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/ethereum_address",
|
|
73
|
+
"title": "Buyer Wallet Address",
|
|
74
|
+
"description": "Ethereum address of the buyer"
|
|
75
|
+
},
|
|
76
|
+
"identity": {
|
|
77
|
+
"type": "object",
|
|
78
|
+
"required": ["name", "external_id", "external_url"],
|
|
79
|
+
"properties": {
|
|
80
|
+
"name": {
|
|
81
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/participant_name",
|
|
82
|
+
"title": "Buyer Name",
|
|
83
|
+
"description": "Legal name of the buyer organization"
|
|
84
|
+
},
|
|
85
|
+
"external_id": {
|
|
86
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/external_id",
|
|
87
|
+
"title": "Buyer External ID",
|
|
88
|
+
"description": "External identifier for the buyer"
|
|
89
|
+
},
|
|
90
|
+
"external_url": {
|
|
91
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/external_url",
|
|
92
|
+
"title": "Buyer External URL",
|
|
93
|
+
"description": "External URL for the buyer profile"
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"additionalProperties": false
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"additionalProperties": false
|
|
100
|
+
},
|
|
101
|
+
"collections": {
|
|
102
|
+
"type": "array",
|
|
103
|
+
"title": "Collections",
|
|
104
|
+
"description": "Array of collections included in the purchase",
|
|
105
|
+
"items": {
|
|
106
|
+
"type": "object",
|
|
107
|
+
"required": ["slug", "external_id", "name", "external_url", "uri"],
|
|
108
|
+
"properties": {
|
|
109
|
+
"slug": {
|
|
110
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/slug",
|
|
111
|
+
"title": "Collection Slug",
|
|
112
|
+
"description": "URL-friendly identifier for the collection"
|
|
113
|
+
},
|
|
114
|
+
"external_id": {
|
|
115
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/external_id",
|
|
116
|
+
"title": "Collection External ID",
|
|
117
|
+
"description": "External identifier for the collection"
|
|
118
|
+
},
|
|
119
|
+
"name": {
|
|
120
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/name",
|
|
121
|
+
"title": "Collection Name",
|
|
122
|
+
"description": "Display name of the collection"
|
|
123
|
+
},
|
|
124
|
+
"external_url": {
|
|
125
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/external_url",
|
|
126
|
+
"title": "Collection External URL",
|
|
127
|
+
"description": "External URL for the collection"
|
|
128
|
+
},
|
|
129
|
+
"uri": {
|
|
130
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/ipfs_uri",
|
|
131
|
+
"title": "Collection URI",
|
|
132
|
+
"description": "IPFS URI for the collection metadata"
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"additionalProperties": false
|
|
136
|
+
},
|
|
137
|
+
"minItems": 1
|
|
138
|
+
},
|
|
139
|
+
"credits": {
|
|
140
|
+
"type": "array",
|
|
141
|
+
"title": "Credits",
|
|
142
|
+
"description": "Array of credits included in the purchase",
|
|
143
|
+
"items": {
|
|
144
|
+
"type": "object",
|
|
145
|
+
"required": [
|
|
146
|
+
"slug",
|
|
147
|
+
"symbol",
|
|
148
|
+
"external_id",
|
|
149
|
+
"external_url",
|
|
150
|
+
"uri",
|
|
151
|
+
"smart_contract"
|
|
152
|
+
],
|
|
153
|
+
"properties": {
|
|
154
|
+
"slug": {
|
|
155
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/slug",
|
|
156
|
+
"title": "Credit Slug",
|
|
157
|
+
"description": "URL-friendly identifier for the credit"
|
|
158
|
+
},
|
|
159
|
+
"symbol": {
|
|
160
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/token_symbol",
|
|
161
|
+
"title": "Credit Token Symbol",
|
|
162
|
+
"description": "Symbol of the credit token (e.g., C-CARB, C-BIOW)"
|
|
163
|
+
},
|
|
164
|
+
"external_id": {
|
|
165
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/external_id",
|
|
166
|
+
"title": "Credit External ID",
|
|
167
|
+
"description": "External identifier for the credit"
|
|
168
|
+
},
|
|
169
|
+
"external_url": {
|
|
170
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/external_url",
|
|
171
|
+
"title": "Credit External URL",
|
|
172
|
+
"description": "External URL for the credit"
|
|
173
|
+
},
|
|
174
|
+
"uri": {
|
|
175
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/ipfs_uri",
|
|
176
|
+
"title": "Credit URI",
|
|
177
|
+
"description": "IPFS URI for the credit details"
|
|
178
|
+
},
|
|
179
|
+
"smart_contract": {
|
|
180
|
+
"type": "object",
|
|
181
|
+
"required": ["address", "chain_id", "network_name"],
|
|
182
|
+
"properties": {
|
|
183
|
+
"address": {
|
|
184
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/ethereum_address",
|
|
185
|
+
"title": "Smart Contract Address",
|
|
186
|
+
"description": "Address of the credit smart contract"
|
|
187
|
+
},
|
|
188
|
+
"chain_id": {
|
|
189
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/chain_id",
|
|
190
|
+
"title": "Chain ID",
|
|
191
|
+
"description": "Blockchain network chain ID"
|
|
192
|
+
},
|
|
193
|
+
"network_name": {
|
|
194
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/non_empty_string",
|
|
195
|
+
"title": "Blockchain Network Name",
|
|
196
|
+
"description": "Name of the blockchain network"
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
"additionalProperties": false
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
"additionalProperties": false
|
|
203
|
+
},
|
|
204
|
+
"minItems": 1
|
|
205
|
+
},
|
|
206
|
+
"items": {
|
|
207
|
+
"type": "array",
|
|
208
|
+
"title": "Purchase Items",
|
|
209
|
+
"description": "Array of individual items purchased",
|
|
210
|
+
"items": {
|
|
211
|
+
"type": "object",
|
|
212
|
+
"required": [
|
|
213
|
+
"certificate",
|
|
214
|
+
"collection_slug",
|
|
215
|
+
"credit_slug",
|
|
216
|
+
"credit_amount",
|
|
217
|
+
"usdc_amount"
|
|
218
|
+
],
|
|
219
|
+
"properties": {
|
|
220
|
+
"certificate": {
|
|
221
|
+
"type": "object",
|
|
222
|
+
"required": [
|
|
223
|
+
"token_id",
|
|
224
|
+
"type",
|
|
225
|
+
"external_id",
|
|
226
|
+
"external_url",
|
|
227
|
+
"uri",
|
|
228
|
+
"mass_id"
|
|
229
|
+
],
|
|
230
|
+
"properties": {
|
|
231
|
+
"token_id": {
|
|
232
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/token_id",
|
|
233
|
+
"title": "Certificate Token ID",
|
|
234
|
+
"description": "Token ID of the certificate"
|
|
235
|
+
},
|
|
236
|
+
"type": {
|
|
237
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/non_empty_string",
|
|
238
|
+
"title": "Certificate Type",
|
|
239
|
+
"description": "Type of certificate (e.g., GasID, RecycledID)"
|
|
240
|
+
},
|
|
241
|
+
"external_id": {
|
|
242
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/external_id",
|
|
243
|
+
"title": "Certificate External ID",
|
|
244
|
+
"description": "External identifier for the certificate"
|
|
245
|
+
},
|
|
246
|
+
"external_url": {
|
|
247
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/external_url",
|
|
248
|
+
"title": "Certificate External URL",
|
|
249
|
+
"description": "External URL for the certificate"
|
|
250
|
+
},
|
|
251
|
+
"uri": {
|
|
252
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/ipfs_uri",
|
|
253
|
+
"title": "Certificate URI",
|
|
254
|
+
"description": "IPFS URI for the certificate metadata"
|
|
255
|
+
},
|
|
256
|
+
"mass_id": {
|
|
257
|
+
"$ref": "../shared/references/mass-id-reference/mass-id-reference.schema.json"
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
"additionalProperties": false
|
|
261
|
+
},
|
|
262
|
+
"collection_slug": {
|
|
263
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/slug",
|
|
264
|
+
"title": "Collection Slug",
|
|
265
|
+
"description": "Slug of the collection this item belongs to"
|
|
266
|
+
},
|
|
267
|
+
"credit_slug": {
|
|
268
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/slug",
|
|
269
|
+
"title": "Credit Slug",
|
|
270
|
+
"description": "Slug of the credit type for this item"
|
|
271
|
+
},
|
|
272
|
+
"credit_amount": {
|
|
273
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/non_negative_float",
|
|
274
|
+
"title": "Credit Amount",
|
|
275
|
+
"description": "Amount of credits for this item"
|
|
276
|
+
},
|
|
277
|
+
"usdc_amount": {
|
|
278
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/non_negative_float",
|
|
279
|
+
"title": "USDC Amount",
|
|
280
|
+
"description": "USDC amount paid for this item"
|
|
281
|
+
}
|
|
282
|
+
},
|
|
283
|
+
"additionalProperties": false
|
|
284
|
+
},
|
|
285
|
+
"minItems": 1
|
|
286
|
+
},
|
|
287
|
+
"participant_rewards": {
|
|
288
|
+
"type": "array",
|
|
289
|
+
"title": "Participant Rewards",
|
|
290
|
+
"description": "Array of rewards distributed to participants in the supply chain",
|
|
291
|
+
"items": {
|
|
292
|
+
"type": "object",
|
|
293
|
+
"required": [
|
|
294
|
+
"participant_id",
|
|
295
|
+
"participant_name",
|
|
296
|
+
"roles",
|
|
297
|
+
"percentage",
|
|
298
|
+
"usdc_amount"
|
|
299
|
+
],
|
|
300
|
+
"properties": {
|
|
301
|
+
"participant_id": {
|
|
302
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/uuid",
|
|
303
|
+
"title": "Participant ID",
|
|
304
|
+
"description": "Unique identifier for the participant"
|
|
305
|
+
},
|
|
306
|
+
"participant_name": {
|
|
307
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/participant_name",
|
|
308
|
+
"title": "Participant Name",
|
|
309
|
+
"description": "Legal name of the participant"
|
|
310
|
+
},
|
|
311
|
+
"roles": {
|
|
312
|
+
"type": "array",
|
|
313
|
+
"title": "Participant Roles",
|
|
314
|
+
"description": "Array of roles the participant has in the supply chain",
|
|
315
|
+
"items": {
|
|
316
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/participant_role"
|
|
317
|
+
},
|
|
318
|
+
"minItems": 1
|
|
319
|
+
},
|
|
320
|
+
"percentage": {
|
|
321
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/percentage",
|
|
322
|
+
"title": "Reward Percentage",
|
|
323
|
+
"description": "Percentage of the total purchase amount allocated to this participant"
|
|
324
|
+
},
|
|
325
|
+
"usdc_amount": {
|
|
326
|
+
"$ref": "../shared/definitions/definitions.schema.json#/$defs/non_negative_float",
|
|
327
|
+
"title": "USDC Reward Amount",
|
|
328
|
+
"description": "USDC amount allocated to this participant"
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
"additionalProperties": false
|
|
332
|
+
},
|
|
333
|
+
"minItems": 1
|
|
334
|
+
}
|
|
335
|
+
},
|
|
336
|
+
"additionalProperties": false
|
|
337
|
+
}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/carrot-foundation/schemas/refs/heads/main/schemas/ipfs/purchase-id/purchase-id.schema.json",
|
|
3
|
+
"schema": {
|
|
4
|
+
"hash": "0x9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb658",
|
|
5
|
+
"type": "PurchaseID",
|
|
6
|
+
"version": "v0.1.0"
|
|
7
|
+
},
|
|
8
|
+
"environment": {
|
|
9
|
+
"blockchain_network": "mainnet",
|
|
10
|
+
"deployment": "production",
|
|
11
|
+
"data_set_name": "TEST"
|
|
12
|
+
},
|
|
13
|
+
"blockchain": {
|
|
14
|
+
"smart_contract_address": "0x742d35cc6634c0532925a3b8d8b5c2d4c7f8e1a9",
|
|
15
|
+
"chain_id": 137,
|
|
16
|
+
"network_name": "Polygon",
|
|
17
|
+
"token_id": "789"
|
|
18
|
+
},
|
|
19
|
+
"created_at": "2025-01-15T10:30:45.000Z",
|
|
20
|
+
"external_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
|
|
21
|
+
"external_url": "https://explore.carrot.eco/document/a1b2c3d4-e5f6-7890-1234-567890abcdef",
|
|
22
|
+
"content_hash": "9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb658",
|
|
23
|
+
"creator": {
|
|
24
|
+
"name": "Carrot Foundation",
|
|
25
|
+
"id": "7f051e36-490c-420d-a59d-3bf73cc338af"
|
|
26
|
+
},
|
|
27
|
+
"name": "PurchaseID #789 • 5.5 Credits",
|
|
28
|
+
"short_name": "PurchaseID #789",
|
|
29
|
+
"description": "Purchase receipt for 5.5 credits across C-CARB and C-BIOW tokens from 2 collections, with rewards distributed to 4 accredited participants in the waste management supply chain.",
|
|
30
|
+
"image": "ipfs://QmPurchaseIdHash789/purchase-receipt.png",
|
|
31
|
+
"background_color": "#2D5016",
|
|
32
|
+
"external_links": [
|
|
33
|
+
{
|
|
34
|
+
"label": "View on Carrot Explorer",
|
|
35
|
+
"url": "https://explore.carrot.eco/document/a1b2c3d4-e5f6-7890-1234-567890abcdef",
|
|
36
|
+
"description": "Complete purchase details and audit trail"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"label": "Carrot Marketplace",
|
|
40
|
+
"url": "https://marketplace.carrot.eco/purchase/a1b2c3d4-e5f6-7890-1234-567890abcdef",
|
|
41
|
+
"description": "Original purchase transaction details"
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"attributes": [
|
|
45
|
+
{
|
|
46
|
+
"trait_type": "C-CARB",
|
|
47
|
+
"value": 2.5,
|
|
48
|
+
"display_type": "number"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"trait_type": "C-BIOW",
|
|
52
|
+
"value": 3.0,
|
|
53
|
+
"display_type": "number"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"trait_type": "Buyer",
|
|
57
|
+
"value": "EcoTech Solutions Inc."
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"trait_type": "Purchase Date",
|
|
61
|
+
"value": "2025-01-15",
|
|
62
|
+
"display_type": "date"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"trait_type": "BOLD Cold Start - Carazinho",
|
|
66
|
+
"value": 4,
|
|
67
|
+
"display_type": "number"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"trait_type": "BOLD Brazil",
|
|
71
|
+
"value": 1.5,
|
|
72
|
+
"display_type": "number"
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"data": {
|
|
76
|
+
"summary": {
|
|
77
|
+
"total_usdc_amount": 1250.0,
|
|
78
|
+
"total_certificates": 3,
|
|
79
|
+
"total_credits": 5.5,
|
|
80
|
+
"purchase_date": "2025-01-15",
|
|
81
|
+
"credit_symbols": ["C-CARB", "C-BIOW"],
|
|
82
|
+
"certificate_types": ["GasID", "RecycledID"]
|
|
83
|
+
},
|
|
84
|
+
"buyer": {
|
|
85
|
+
"wallet_address": "0x1234567890abcdef1234567890abcdef12345678",
|
|
86
|
+
"identity": {
|
|
87
|
+
"name": "EcoTech Solutions Inc.",
|
|
88
|
+
"external_id": "8f2c3445-ef89-4de7-8d95-7c814d5c8af9",
|
|
89
|
+
"external_url": "https://explore.carrot.eco/participant/buyer-corp-12345"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"collections": [
|
|
93
|
+
{
|
|
94
|
+
"slug": "bold-cold-start-carazinho",
|
|
95
|
+
"external_id": "8f2c3445-ef89-4de7-8d95-7c814d5c8af9",
|
|
96
|
+
"name": "BOLD Cold Start - Carazinho",
|
|
97
|
+
"external_url": "https://explore.carrot.eco/collection/bold-cold-start-carazinho",
|
|
98
|
+
"uri": "ipfs://QmCollectionImageHash/bold-cold-start-carazinho.json"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"slug": "bold-brazil",
|
|
102
|
+
"external_id": "e710790f-5909-4a54-ab89-6a59819472ee",
|
|
103
|
+
"name": "BOLD Brazil",
|
|
104
|
+
"external_url": "https://explore.carrot.eco/collection/bold-professional-series",
|
|
105
|
+
"uri": "ipfs://QmCollectionProfHash/bold-professional-series.json"
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
"credits": [
|
|
109
|
+
{
|
|
110
|
+
"slug": "carbon",
|
|
111
|
+
"symbol": "C-CARB",
|
|
112
|
+
"external_id": "8f2c3445-ef89-4de7-8d95-7c814d5c8af9",
|
|
113
|
+
"external_url": "https://explore.carrot.eco/credit/8f2c3445-ef89-4de7-8d95-7c814d5c8af9",
|
|
114
|
+
"uri": "ipfs://QmCreditHash/c-carb.json",
|
|
115
|
+
"smart_contract": {
|
|
116
|
+
"address": "0xabcdef1234567890abcdef1234567890abcdef12",
|
|
117
|
+
"chain_id": 137,
|
|
118
|
+
"network_name": "Polygon"
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"slug": "organic",
|
|
123
|
+
"symbol": "C-BIOW",
|
|
124
|
+
"external_id": "e710790f-5909-4a54-ab89-6a59819472ee",
|
|
125
|
+
"external_url": "https://explore.carrot.eco/credit/9f3c4556-fg90-5ef8-9e06-8d925e6d9bg0",
|
|
126
|
+
"uri": "ipfs://QmCreditBiowHash/c-biow.json",
|
|
127
|
+
"smart_contract": {
|
|
128
|
+
"address": "0xfedcba0987654321fedcba0987654321fedcba09",
|
|
129
|
+
"chain_id": 137,
|
|
130
|
+
"network_name": "Polygon"
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
],
|
|
134
|
+
"items": [
|
|
135
|
+
{
|
|
136
|
+
"certificate": {
|
|
137
|
+
"token_id": "456",
|
|
138
|
+
"type": "GasID",
|
|
139
|
+
"external_id": "e710790f-5909-4a54-ab89-6a59819472ee",
|
|
140
|
+
"external_url": "https://explore.carrot.eco/document/f47ac10b-58cc-4372-a567-0e02b2c3d479",
|
|
141
|
+
"uri": "ipfs://QmGasIdHash456/gas-id.json",
|
|
142
|
+
"mass_id": {
|
|
143
|
+
"token_id": "123",
|
|
144
|
+
"external_id": "6f520d88-864d-432d-bf9f-5c3166c4818f",
|
|
145
|
+
"external_url": "https://explore.carrot.eco/document/6f520d88-864d-432d-bf9f-5c3166c4818f",
|
|
146
|
+
"uri": "ipfs://QmYx8FdKl2mN9pQ7rS6tV8wB3cE4fG5hI9jK0lM1nO2pQ3r/mass-id.json"
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
"collection_slug": "bold-cold-start-carazinho",
|
|
150
|
+
"credit_slug": "carbon",
|
|
151
|
+
"credit_amount": 2.5,
|
|
152
|
+
"usdc_amount": 500.0
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"certificate": {
|
|
156
|
+
"token_id": "789",
|
|
157
|
+
"type": "RecycledID",
|
|
158
|
+
"external_id": "e710790f-5909-4a54-ab89-6a59819472ee",
|
|
159
|
+
"external_url": "https://explore.carrot.eco/document/r47ac10b-58cc-4372-a567-0e02b2c3d999",
|
|
160
|
+
"uri": "ipfs://QmRecycledIdHash789/recycled-id.json",
|
|
161
|
+
"mass_id": {
|
|
162
|
+
"token_id": "124",
|
|
163
|
+
"external_id": "e710790f-5909-4a54-ab89-6a59819472ee",
|
|
164
|
+
"external_url": "https://explore.carrot.eco/document/7f520d88-864d-432d-bf9f-5c3166c4888f",
|
|
165
|
+
"uri": "ipfs://QmMassIdHash124/mass-id.json"
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"collection_slug": "bold-cold-start-carazinho",
|
|
169
|
+
"credit_slug": "carbon",
|
|
170
|
+
"credit_amount": 1.5,
|
|
171
|
+
"usdc_amount": 300.0
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"certificate": {
|
|
175
|
+
"token_id": "789",
|
|
176
|
+
"type": "RecycledID",
|
|
177
|
+
"external_id": "e710790f-5909-4a54-ab89-6a59819472ee",
|
|
178
|
+
"external_url": "https://explore.carrot.eco/document/r47ac10b-58cc-4372-a567-0e02b2c3d999",
|
|
179
|
+
"uri": "ipfs://QmRecycledIdHash789/recycled-id.json",
|
|
180
|
+
"mass_id": {
|
|
181
|
+
"token_id": "124",
|
|
182
|
+
"external_id": "e710790f-5909-4a54-ab89-6a59819472ee",
|
|
183
|
+
"external_url": "https://explore.carrot.eco/document/7f520d88-864d-432d-bf9f-5c3166c4888f",
|
|
184
|
+
"uri": "ipfs://QmMassIdHash124/mass-id.json"
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
"collection_slug": "bold-brazil",
|
|
188
|
+
"credit_slug": "organic",
|
|
189
|
+
"credit_amount": 1.5,
|
|
190
|
+
"usdc_amount": 450.0
|
|
191
|
+
}
|
|
192
|
+
],
|
|
193
|
+
"participant_rewards": [
|
|
194
|
+
{
|
|
195
|
+
"participant_id": "6f520d88-864d-432d-bf9f-5c3166c4818f",
|
|
196
|
+
"participant_name": "Enlatados Produção",
|
|
197
|
+
"roles": ["Waste Generator"],
|
|
198
|
+
"percentage": 12.5,
|
|
199
|
+
"usdc_amount": 156.25
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"participant_id": "5021ea45-5b35-4749-8a85-83dc0c6f7cbf",
|
|
203
|
+
"participant_name": "Eco Reciclagem",
|
|
204
|
+
"roles": ["Hauler", "Processor", "Recycler"],
|
|
205
|
+
"percentage": 60.0,
|
|
206
|
+
"usdc_amount": 750.0
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"participant_id": "e710790f-5909-4a54-ab89-6a59819472ee",
|
|
210
|
+
"participant_name": "Carrot Foundation",
|
|
211
|
+
"roles": ["Network Integrator"],
|
|
212
|
+
"percentage": 15.0,
|
|
213
|
+
"usdc_amount": 187.5
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"participant_id": "e710790f-5909-4a54-ab89-6a59819472ee",
|
|
217
|
+
"participant_name": "Carrot Marketplace",
|
|
218
|
+
"roles": ["Platform"],
|
|
219
|
+
"percentage": 12.5,
|
|
220
|
+
"usdc_amount": 156.25
|
|
221
|
+
}
|
|
222
|
+
]
|
|
223
|
+
}
|
|
224
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://raw.githubusercontent.com/carrot-foundation/schemas/refs/heads/main/schemas/ipfs/purchase-id/purchase-id.schema.json",
|
|
4
|
+
"title": "PurchaseID NFT IPFS Record",
|
|
5
|
+
"unevaluatedProperties": false,
|
|
6
|
+
"allOf": [
|
|
7
|
+
{
|
|
8
|
+
"$ref": "../shared/nft/nft.schema.json"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"type": "object",
|
|
12
|
+
"properties": {
|
|
13
|
+
"schema": {
|
|
14
|
+
"properties": {
|
|
15
|
+
"type": {
|
|
16
|
+
"const": "PurchaseID"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"attributes": {
|
|
21
|
+
"$ref": "./purchase-id.attributes.schema.json"
|
|
22
|
+
},
|
|
23
|
+
"data": {
|
|
24
|
+
"$ref": "./purchase-id.data.schema.json"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
}
|