@carrot-foundation/schemas 0.1.36 → 0.1.37
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/dist/index.cjs +1124 -36
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +959 -13
- package/dist/index.d.ts +959 -13
- package/dist/index.js +1102 -37
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/schemas/ipfs/collection/collection.example.json +1 -0
- package/schemas/ipfs/collection/collection.schema.json +305 -32
- package/schemas/ipfs/credit/credit.example.json +1 -0
- package/schemas/ipfs/credit/credit.schema.json +326 -45
- package/schemas/ipfs/credit-purchase-receipt/credit-purchase-receipt.example.json +290 -0
- package/schemas/ipfs/credit-purchase-receipt/credit-purchase-receipt.schema.json +1768 -0
- package/schemas/ipfs/gas-id/gas-id.schema.json +6 -6
- package/schemas/ipfs/mass-id/mass-id.schema.json +6 -6
- package/schemas/ipfs/mass-id-audit/mass-id-audit.example.json +30 -29
- package/schemas/ipfs/mass-id-audit/mass-id-audit.schema.json +636 -15
- package/schemas/ipfs/methodology/methodology.example.json +27 -26
- package/schemas/ipfs/methodology/methodology.schema.json +457 -15
- package/schemas/ipfs/recycled-id/recycled-id.schema.json +6 -6
- package/schemas/ipfs/gas-id/gas-id.attributes.schema.json +0 -219
- package/schemas/ipfs/gas-id/gas-id.data.schema.json +0 -120
- package/schemas/ipfs/mass-id-audit/mass-id-audit.data.schema.json +0 -130
- package/schemas/ipfs/methodology/methodology.data.schema.json +0 -121
- package/schemas/ipfs/purchase-id/purchase-id.attributes.schema.json +0 -91
- package/schemas/ipfs/purchase-id/purchase-id.data.schema.json +0 -337
- package/schemas/ipfs/purchase-id/purchase-id.example.json +0 -224
- package/schemas/ipfs/purchase-id/purchase-id.schema.json +0 -29
- package/schemas/ipfs/recycled-id/recycled-id.attributes.schema.json +0 -202
- package/schemas/ipfs/recycled-id/recycled-id.data.schema.json +0 -63
- package/schemas/ipfs/shared/base/base.schema.json +0 -163
- package/schemas/ipfs/shared/certificate/certificate.schema.json +0 -145
- package/schemas/ipfs/shared/definitions/definitions.schema.json +0 -255
- package/schemas/ipfs/shared/entities/location/location.schema.json +0 -90
- package/schemas/ipfs/shared/entities/participant/participant.schema.json +0 -28
- package/schemas/ipfs/shared/nft/nft.schema.json +0 -182
- package/schemas/ipfs/shared/references/audit-reference/audit-reference.schema.json +0 -42
- package/schemas/ipfs/shared/references/gas-id-reference/gas-id-reference.schema.json +0 -27
- package/schemas/ipfs/shared/references/mass-id-reference/mass-id-reference.schema.json +0 -27
- package/schemas/ipfs/shared/references/methodology-reference/methodology-reference.schema.json +0 -34
|
@@ -1,61 +1,342 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "https://raw.githubusercontent.com/carrot-foundation/schemas/refs/heads/main/schemas/ipfs/credit/credit.schema.json",
|
|
4
3
|
"title": "Credit IPFS Record",
|
|
5
|
-
"description": "
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
"description": "Credit token metadata stored in IPFS, extending the base schema with ERC20-specific details",
|
|
5
|
+
"$id": "https://raw.githubusercontent.com/carrot-foundation/schemas/refs/tags/0.1.37/schemas/ipfs/credit/credit.schema.json",
|
|
6
|
+
"version": "0.1.37",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"$schema": {
|
|
10
|
+
"title": "JSON Schema URI",
|
|
11
|
+
"description": "URI of the JSON Schema used to validate this record",
|
|
12
|
+
"example": "https://raw.githubusercontent.com/carrot-foundation/schemas/refs/heads/main/schemas/ipfs/shared/base/base.schema.json",
|
|
13
|
+
"type": "string",
|
|
14
|
+
"format": "uri"
|
|
10
15
|
},
|
|
11
|
-
{
|
|
16
|
+
"schema": {
|
|
12
17
|
"type": "object",
|
|
13
|
-
"required": ["symbol", "name", "decimals", "image", "description"],
|
|
14
18
|
"properties": {
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
"hash": {
|
|
20
|
+
"title": "Schema Hash",
|
|
21
|
+
"description": "Keccak256 hash of the JSON Schema this record was validated against",
|
|
22
|
+
"examples": [
|
|
23
|
+
"ac08c3cf2e175e55961d6affdb38bc24591b84ceef7f3707c69ae3d52c148b2f",
|
|
24
|
+
"0xac08c3cf2e175e55961d6affdb38bc24591b84ceef7f3707c69ae3d52c148b2f"
|
|
25
|
+
],
|
|
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}$"
|
|
19
40
|
}
|
|
20
|
-
|
|
21
|
-
},
|
|
22
|
-
"symbol": {
|
|
23
|
-
"$ref": "../shared/definitions/definitions.schema.json#/$defs/token_symbol"
|
|
41
|
+
]
|
|
24
42
|
},
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
43
|
+
"type": {
|
|
44
|
+
"title": "Credit Schema Type",
|
|
45
|
+
"description": "Credit schema type",
|
|
46
|
+
"type": "string",
|
|
47
|
+
"const": "Credit"
|
|
29
48
|
},
|
|
49
|
+
"version": {
|
|
50
|
+
"title": "Schema Version",
|
|
51
|
+
"description": "Version of the schema, using semantic versioning",
|
|
52
|
+
"examples": [
|
|
53
|
+
"0.1.0",
|
|
54
|
+
"1.0.0",
|
|
55
|
+
"2.1.3"
|
|
56
|
+
],
|
|
57
|
+
"type": "string",
|
|
58
|
+
"minLength": 1,
|
|
59
|
+
"pattern": "^v?\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9.-]+)?(\\+[a-zA-Z0-9.-]+)?$"
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"required": [
|
|
63
|
+
"hash",
|
|
64
|
+
"type",
|
|
65
|
+
"version"
|
|
66
|
+
],
|
|
67
|
+
"additionalProperties": false
|
|
68
|
+
},
|
|
69
|
+
"created_at": {
|
|
70
|
+
"title": "Created At",
|
|
71
|
+
"description": "ISO 8601 creation timestamp for this record",
|
|
72
|
+
"examples": [
|
|
73
|
+
"2024-12-05T11:02:47.000Z",
|
|
74
|
+
"2025-02-22T10:35:12.000Z"
|
|
75
|
+
],
|
|
76
|
+
"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))$"
|
|
79
|
+
},
|
|
80
|
+
"external_id": {
|
|
81
|
+
"title": "External ID",
|
|
82
|
+
"description": "Off-chain reference ID (UUID from Carrot backend)",
|
|
83
|
+
"examples": [
|
|
84
|
+
"ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
|
|
85
|
+
"b2c4e6f8-a1b3-4c5d-9e8f-123456789abc"
|
|
86
|
+
],
|
|
87
|
+
"type": "string",
|
|
88
|
+
"format": "uuid",
|
|
89
|
+
"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})$"
|
|
90
|
+
},
|
|
91
|
+
"external_url": {
|
|
92
|
+
"title": "External URL",
|
|
93
|
+
"description": "External URL of the content",
|
|
94
|
+
"examples": [
|
|
95
|
+
"https://explore.carrot.eco/document/ad44dd3f-f176-4b98-bf78-5ee6e77d0530",
|
|
96
|
+
"https://carrot.eco/whitepaper.pdf"
|
|
97
|
+
],
|
|
98
|
+
"type": "string",
|
|
99
|
+
"format": "uri"
|
|
100
|
+
},
|
|
101
|
+
"original_content_hash": {
|
|
102
|
+
"title": "Original Content Hash",
|
|
103
|
+
"description": "SHA-256 hash of the original JSON content including private data before schema validation",
|
|
104
|
+
"examples": [
|
|
105
|
+
"87f633634cc4b02f628685651f0a29b7bfa22a0bd841f725c6772dd00a58d489",
|
|
106
|
+
"6e83b8e6373847bbdc056549bedda38dc88854ce41ba4fca11e0fc6ce3e07ef6"
|
|
107
|
+
],
|
|
108
|
+
"type": "string",
|
|
109
|
+
"pattern": "^[0-9a-fA-F]{64}$"
|
|
110
|
+
},
|
|
111
|
+
"content_hash": {
|
|
112
|
+
"title": "Content Hash",
|
|
113
|
+
"description": "SHA-256 hash of RFC 8785 canonicalized JSON after schema validation",
|
|
114
|
+
"examples": [
|
|
115
|
+
"87f633634cc4b02f628685651f0a29b7bfa22a0bd841f725c6772dd00a58d489",
|
|
116
|
+
"6e83b8e6373847bbdc056549bedda38dc88854ce41ba4fca11e0fc6ce3e07ef6"
|
|
117
|
+
],
|
|
118
|
+
"type": "string",
|
|
119
|
+
"pattern": "^[0-9a-fA-F]{64}$"
|
|
120
|
+
},
|
|
121
|
+
"creator": {
|
|
122
|
+
"title": "Creator",
|
|
123
|
+
"description": "Entity that created this record",
|
|
124
|
+
"type": "object",
|
|
125
|
+
"properties": {
|
|
30
126
|
"name": {
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
|
|
127
|
+
"title": "Creator Name",
|
|
128
|
+
"description": "Company or individual name that created this record",
|
|
129
|
+
"examples": [
|
|
130
|
+
"Carrot Foundation"
|
|
131
|
+
],
|
|
132
|
+
"type": "string"
|
|
35
133
|
},
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
+
"recycled-id"
|
|
191
|
+
]
|
|
192
|
+
},
|
|
193
|
+
"description": {
|
|
194
|
+
"title": "Relationship Description",
|
|
195
|
+
"description": "Human-readable description of the relationship",
|
|
196
|
+
"examples": [
|
|
197
|
+
"This record supersedes the previous version",
|
|
198
|
+
"Related carbon credit batch",
|
|
199
|
+
"Source document for this verification",
|
|
200
|
+
"Child record derived from this parent",
|
|
201
|
+
"Updated version of original record"
|
|
202
|
+
],
|
|
203
|
+
"type": "string"
|
|
204
|
+
}
|
|
43
205
|
},
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
|
|
48
|
-
|
|
206
|
+
"required": [
|
|
207
|
+
"target_uri",
|
|
208
|
+
"type"
|
|
209
|
+
],
|
|
210
|
+
"additionalProperties": false
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
"environment": {
|
|
214
|
+
"title": "Environment",
|
|
215
|
+
"description": "Environment information",
|
|
216
|
+
"type": "object",
|
|
217
|
+
"properties": {
|
|
218
|
+
"blockchain_network": {
|
|
219
|
+
"title": "Blockchain Network",
|
|
220
|
+
"description": "Blockchain Network Environment",
|
|
221
|
+
"type": "string",
|
|
222
|
+
"enum": [
|
|
223
|
+
"mainnet",
|
|
224
|
+
"testnet"
|
|
225
|
+
]
|
|
226
|
+
},
|
|
227
|
+
"deployment": {
|
|
228
|
+
"title": "Deployment Environment",
|
|
229
|
+
"description": "System environment where this record was generated",
|
|
230
|
+
"type": "string",
|
|
231
|
+
"enum": [
|
|
232
|
+
"production",
|
|
233
|
+
"development",
|
|
234
|
+
"testing"
|
|
235
|
+
]
|
|
49
236
|
},
|
|
50
|
-
"
|
|
237
|
+
"data_set_name": {
|
|
238
|
+
"title": "Data Set Name",
|
|
239
|
+
"description": "Name of the data set for this record",
|
|
51
240
|
"type": "string",
|
|
52
|
-
"
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
"example": "Carrot Carbon (C-CARB) represents verified carbon emissions reductions from organic waste composting projects. Each token equals one metric ton of CO2 equivalent prevented from entering the atmosphere through sustainable waste management practices."
|
|
241
|
+
"enum": [
|
|
242
|
+
"TEST",
|
|
243
|
+
"PROD"
|
|
244
|
+
]
|
|
57
245
|
}
|
|
58
|
-
}
|
|
246
|
+
},
|
|
247
|
+
"required": [
|
|
248
|
+
"blockchain_network",
|
|
249
|
+
"deployment",
|
|
250
|
+
"data_set_name"
|
|
251
|
+
],
|
|
252
|
+
"additionalProperties": false
|
|
253
|
+
},
|
|
254
|
+
"data": {
|
|
255
|
+
"title": "Custom Data",
|
|
256
|
+
"description": "Custom data block that includes the record's data",
|
|
257
|
+
"type": "object",
|
|
258
|
+
"propertyNames": {
|
|
259
|
+
"type": "string"
|
|
260
|
+
},
|
|
261
|
+
"additionalProperties": {}
|
|
262
|
+
},
|
|
263
|
+
"symbol": {
|
|
264
|
+
"title": "Token Symbol",
|
|
265
|
+
"description": "Symbol representing a token or cryptocurrency",
|
|
266
|
+
"examples": [
|
|
267
|
+
"MASS",
|
|
268
|
+
"REC",
|
|
269
|
+
"GAS"
|
|
270
|
+
],
|
|
271
|
+
"type": "string",
|
|
272
|
+
"minLength": 1,
|
|
273
|
+
"maxLength": 10,
|
|
274
|
+
"pattern": "^[A-Z0-9-]+$"
|
|
275
|
+
},
|
|
276
|
+
"slug": {
|
|
277
|
+
"title": "Token Slug",
|
|
278
|
+
"description": "URL-friendly identifier for the token",
|
|
279
|
+
"examples": [
|
|
280
|
+
"carbon"
|
|
281
|
+
],
|
|
282
|
+
"type": "string",
|
|
283
|
+
"minLength": 1,
|
|
284
|
+
"maxLength": 100,
|
|
285
|
+
"pattern": "^[a-z0-9-]+$"
|
|
286
|
+
},
|
|
287
|
+
"name": {
|
|
288
|
+
"title": "Token Name",
|
|
289
|
+
"description": "Full human-readable name of the ERC20 token",
|
|
290
|
+
"examples": [
|
|
291
|
+
"Carrot Carbon"
|
|
292
|
+
],
|
|
293
|
+
"type": "string",
|
|
294
|
+
"minLength": 1
|
|
295
|
+
},
|
|
296
|
+
"decimals": {
|
|
297
|
+
"title": "Token Decimals",
|
|
298
|
+
"description": "Number of decimal places for the ERC20 token",
|
|
299
|
+
"examples": [
|
|
300
|
+
18
|
|
301
|
+
],
|
|
302
|
+
"type": "integer",
|
|
303
|
+
"minimum": 0,
|
|
304
|
+
"maximum": 18
|
|
305
|
+
},
|
|
306
|
+
"image": {
|
|
307
|
+
"title": "Token Image",
|
|
308
|
+
"description": "IPFS URI pointing to the token's visual representation image",
|
|
309
|
+
"examples": [
|
|
310
|
+
"ipfs://QmTokenImageHash/credit-icon.png"
|
|
311
|
+
],
|
|
312
|
+
"type": "string",
|
|
313
|
+
"minLength": 1,
|
|
314
|
+
"pattern": "^ipfs:\\/\\/[a-zA-Z0-9]+(\\/.*)?$"
|
|
315
|
+
},
|
|
316
|
+
"description": {
|
|
317
|
+
"title": "Token Description",
|
|
318
|
+
"description": "Comprehensive description of the credit token, its purpose, and impact",
|
|
319
|
+
"examples": [
|
|
320
|
+
"Carrot Carbon (C-CARB) represents verified carbon emissions reductions from organic waste composting projects. Each token equals one metric ton of CO2 equivalent prevented from entering the atmosphere through sustainable waste management practices."
|
|
321
|
+
],
|
|
322
|
+
"type": "string",
|
|
323
|
+
"minLength": 50,
|
|
324
|
+
"maxLength": 1000
|
|
59
325
|
}
|
|
60
|
-
|
|
61
|
-
|
|
326
|
+
},
|
|
327
|
+
"required": [
|
|
328
|
+
"$schema",
|
|
329
|
+
"schema",
|
|
330
|
+
"created_at",
|
|
331
|
+
"external_id",
|
|
332
|
+
"external_url",
|
|
333
|
+
"original_content_hash",
|
|
334
|
+
"content_hash",
|
|
335
|
+
"symbol",
|
|
336
|
+
"name",
|
|
337
|
+
"decimals",
|
|
338
|
+
"image",
|
|
339
|
+
"description"
|
|
340
|
+
],
|
|
341
|
+
"additionalProperties": false
|
|
342
|
+
}
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/carrot-foundation/schemas/refs/heads/main/schemas/ipfs/credit-purchase-receipt/credit-purchase-receipt.schema.json",
|
|
3
|
+
"schema": {
|
|
4
|
+
"hash": "0x9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb658",
|
|
5
|
+
"type": "CreditPurchaseReceipt",
|
|
6
|
+
"version": "0.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": "987"
|
|
18
|
+
},
|
|
19
|
+
"created_at": "2025-02-03T12:45:30.000Z",
|
|
20
|
+
"external_id": "f1a2b3c4-d5e6-4789-9012-34567890abcd",
|
|
21
|
+
"external_url": "https://explore.carrot.eco/document/f1a2b3c4-d5e6-4789-9012-34567890abcd",
|
|
22
|
+
"original_content_hash": "87f633634cc4b02f628685651f0a29b7bfa22a0bd841f725c6772dd00a58d489",
|
|
23
|
+
"content_hash": "87f633634cc4b02f628685651f0a29b7bfa22a0bd841f725c6772dd00a58d489",
|
|
24
|
+
"creator": {
|
|
25
|
+
"name": "Carrot Foundation",
|
|
26
|
+
"id": "7f051e36-490c-420d-a59d-3bf73cc338af"
|
|
27
|
+
},
|
|
28
|
+
"name": "Credit Purchase Receipt #987 • 8.5 Credits Purchased",
|
|
29
|
+
"short_name": "Credit Purchase Receipt #987",
|
|
30
|
+
"description": "Receipt for purchasing 8.5 credits (C-CARB and C-BIOW) across 3 certificates, with 3.0 credits retired immediately on behalf of Climate Action Corp. Credits delivered to EcoTech Solutions Inc.",
|
|
31
|
+
"image": "ipfs://QmCreditPurchaseReceiptHash987/purchase-receipt.png",
|
|
32
|
+
"background_color": "#2D5A27",
|
|
33
|
+
"external_links": [
|
|
34
|
+
{
|
|
35
|
+
"label": "View on Carrot Explorer",
|
|
36
|
+
"url": "https://explore.carrot.eco/document/f1a2b3c4-d5e6-4789-9012-34567890abcd",
|
|
37
|
+
"description": "Complete purchase details and audit trail"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"label": "Marketplace Order",
|
|
41
|
+
"url": "https://marketplace.carrot.eco/purchase/f1a2b3c4-d5e6-4789-9012-34567890abcd",
|
|
42
|
+
"description": "Original purchase transaction"
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"attributes": [
|
|
46
|
+
{
|
|
47
|
+
"trait_type": "C-CARB",
|
|
48
|
+
"value": 5,
|
|
49
|
+
"display_type": "number"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"trait_type": "C-BIOW",
|
|
53
|
+
"value": 3.5,
|
|
54
|
+
"display_type": "number"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"trait_type": "Total Credits Purchased",
|
|
58
|
+
"value": 8.5,
|
|
59
|
+
"display_type": "number"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"trait_type": "Total USDC Amount",
|
|
63
|
+
"value": 1950,
|
|
64
|
+
"display_type": "number"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"trait_type": "Purchase Date",
|
|
68
|
+
"value": 1738540800000,
|
|
69
|
+
"display_type": "date"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"trait_type": "Certificates Purchased",
|
|
73
|
+
"value": 3,
|
|
74
|
+
"display_type": "number"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"trait_type": "Receiver",
|
|
78
|
+
"value": "EcoTech Solutions Inc."
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"trait_type": "BOLD Cold Start - Carazinho",
|
|
82
|
+
"value": 5,
|
|
83
|
+
"display_type": "number"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"trait_type": "BOLD Brazil",
|
|
87
|
+
"value": 3.5,
|
|
88
|
+
"display_type": "number"
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
"data": {
|
|
92
|
+
"summary": {
|
|
93
|
+
"total_usdc_amount": 1950,
|
|
94
|
+
"total_credits": 8.5,
|
|
95
|
+
"total_certificates": 3,
|
|
96
|
+
"purchase_date": "2025-02-03",
|
|
97
|
+
"credit_symbols": ["C-CARB", "C-BIOW"],
|
|
98
|
+
"certificate_types": ["GasID", "RecycledID"],
|
|
99
|
+
"collection_slugs": ["bold-cold-start-carazinho", "bold-brazil"]
|
|
100
|
+
},
|
|
101
|
+
"parties": {
|
|
102
|
+
"payer": "0xfedcba0987654321fedcba0987654321fedcba09",
|
|
103
|
+
"receiver": {
|
|
104
|
+
"wallet_address": "0x1234567890abcdef1234567890abcdef12345678",
|
|
105
|
+
"identity": {
|
|
106
|
+
"name": "EcoTech Solutions Inc.",
|
|
107
|
+
"external_id": "8f2c3445-ef89-4de7-8d95-7c814d5c8af9",
|
|
108
|
+
"external_url": "https://explore.carrot.eco/participant/ecotech-solutions-inc-12345"
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
"buyer": {
|
|
112
|
+
"buyer_id": "b5c6d7e8-f901-4a23-9b45-6789012cdef3",
|
|
113
|
+
"identity": {
|
|
114
|
+
"name": "EcoTech Solutions Procurement",
|
|
115
|
+
"external_id": "0c1d2e3f-4567-489a-bcde-901234567890",
|
|
116
|
+
"external_url": "https://explore.carrot.eco/participant/ecotech-procurement-7890"
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
"collections": [
|
|
121
|
+
{
|
|
122
|
+
"slug": "bold-cold-start-carazinho",
|
|
123
|
+
"external_id": "8f2c3445-ef89-4de7-8d95-7c814d5c8af9",
|
|
124
|
+
"name": "BOLD Cold Start - Carazinho",
|
|
125
|
+
"external_url": "https://explore.carrot.eco/collection/bold-cold-start-carazinho",
|
|
126
|
+
"uri": "ipfs://QmCollectionImageHash/bold-cold-start-carazinho.json",
|
|
127
|
+
"credit_amount": 5
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"slug": "bold-brazil",
|
|
131
|
+
"external_id": "e710790f-5909-4a54-ab89-6a59819472ee",
|
|
132
|
+
"name": "BOLD Brazil",
|
|
133
|
+
"external_url": "https://explore.carrot.eco/collection/bold-brazil",
|
|
134
|
+
"uri": "ipfs://QmCollectionProfHash/bold-brazil.json",
|
|
135
|
+
"credit_amount": 3.5
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
"credits": [
|
|
139
|
+
{
|
|
140
|
+
"slug": "carbon",
|
|
141
|
+
"symbol": "C-CARB",
|
|
142
|
+
"external_id": "8f2c3445-ef89-4de7-8d95-7c814d5c8af9",
|
|
143
|
+
"external_url": "https://explore.carrot.eco/credit/8f2c3445-ef89-4de7-8d95-7c814d5c8af9",
|
|
144
|
+
"uri": "ipfs://QmCreditHash/c-carb.json",
|
|
145
|
+
"smart_contract": {
|
|
146
|
+
"address": "0xabcdef1234567890abcdef1234567890abcdef12",
|
|
147
|
+
"chain_id": 137,
|
|
148
|
+
"network_name": "Polygon"
|
|
149
|
+
},
|
|
150
|
+
"purchase_amount": 5,
|
|
151
|
+
"retirement_amount": 2
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"slug": "organic",
|
|
155
|
+
"symbol": "C-BIOW",
|
|
156
|
+
"external_id": "e710790f-5909-4a54-ab89-6a59819472ee",
|
|
157
|
+
"external_url": "https://explore.carrot.eco/credit/9f3c4556-fg90-5ef8-9e06-8d925e6d9bg0",
|
|
158
|
+
"uri": "ipfs://QmCreditBiowHash/c-biow.json",
|
|
159
|
+
"smart_contract": {
|
|
160
|
+
"address": "0xfedcba0987654321fedcba0987654321fedcba09",
|
|
161
|
+
"chain_id": 137,
|
|
162
|
+
"network_name": "Polygon"
|
|
163
|
+
},
|
|
164
|
+
"purchase_amount": 3.5,
|
|
165
|
+
"retirement_amount": 1
|
|
166
|
+
}
|
|
167
|
+
],
|
|
168
|
+
"certificates": [
|
|
169
|
+
{
|
|
170
|
+
"token_id": "456",
|
|
171
|
+
"type": "GasID",
|
|
172
|
+
"external_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
|
|
173
|
+
"external_url": "https://explore.carrot.eco/document/f47ac10b-58cc-4372-a567-0e02b2c3d479",
|
|
174
|
+
"uri": "ipfs://QmGasIdHash456/gas-id.json",
|
|
175
|
+
"smart_contract": {
|
|
176
|
+
"address": "0x742d35cc6634c0532925a3b8d8b5c2d4c7f8e1a9",
|
|
177
|
+
"chain_id": 137,
|
|
178
|
+
"network_name": "Polygon"
|
|
179
|
+
},
|
|
180
|
+
"collection_slug": "bold-cold-start-carazinho",
|
|
181
|
+
"total_amount": 10,
|
|
182
|
+
"purchased_amount": 3,
|
|
183
|
+
"retired_amount": 1.5,
|
|
184
|
+
"credit_slug": "carbon",
|
|
185
|
+
"mass_id": {
|
|
186
|
+
"token_id": "123",
|
|
187
|
+
"external_id": "6f520d88-864d-432d-bf9f-5c3166c4818f",
|
|
188
|
+
"external_url": "https://explore.carrot.eco/document/6f520d88-864d-432d-bf9f-5c3166c4818f",
|
|
189
|
+
"uri": "ipfs://QmYx8FdKl2mN9pQ7rS6tV8wB3cE4fG5hI9jK0lM1nO2pQ3r/mass-id.json",
|
|
190
|
+
"smart_contract": {
|
|
191
|
+
"address": "0x742d35cc6634c0532925a3b8d8b5c2d4c7f8e1a9",
|
|
192
|
+
"chain_id": 137,
|
|
193
|
+
"network_name": "Polygon"
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"token_id": "789",
|
|
199
|
+
"type": "RecycledID",
|
|
200
|
+
"external_id": "e710790f-5909-4a54-ab89-6a59819472ee",
|
|
201
|
+
"external_url": "https://explore.carrot.eco/document/r47ac10b-58cc-4372-a567-0e02b2c3d999",
|
|
202
|
+
"uri": "ipfs://QmRecycledIdHash789/recycled-id.json",
|
|
203
|
+
"smart_contract": {
|
|
204
|
+
"address": "0x742d35cc6634c0532925a3b8d8b5c2d4c7f8e1a9",
|
|
205
|
+
"chain_id": 137,
|
|
206
|
+
"network_name": "Polygon"
|
|
207
|
+
},
|
|
208
|
+
"collection_slug": "bold-cold-start-carazinho",
|
|
209
|
+
"total_amount": 6,
|
|
210
|
+
"purchased_amount": 2,
|
|
211
|
+
"retired_amount": 0.5,
|
|
212
|
+
"credit_slug": "carbon",
|
|
213
|
+
"mass_id": {
|
|
214
|
+
"token_id": "124",
|
|
215
|
+
"external_id": "e710790f-5909-4a54-ab89-6a59819472ee",
|
|
216
|
+
"external_url": "https://explore.carrot.eco/document/7f520d88-864d-432d-bf9f-5c3166c4888f",
|
|
217
|
+
"uri": "ipfs://QmMassIdHash124/mass-id.json",
|
|
218
|
+
"smart_contract": {
|
|
219
|
+
"address": "0x742d35cc6634c0532925a3b8d8b5c2d4c7f8e1a9",
|
|
220
|
+
"chain_id": 137,
|
|
221
|
+
"network_name": "Polygon"
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"token_id": "890",
|
|
227
|
+
"type": "RecycledID",
|
|
228
|
+
"external_id": "0f1e2d3c-4b5a-4d78-8c12-3456789abcde",
|
|
229
|
+
"external_url": "https://explore.carrot.eco/document/0f1e2d3c-4b5a-4d78-8c12-3456789abcde",
|
|
230
|
+
"uri": "ipfs://QmRecycledIdHash890/recycled-id.json",
|
|
231
|
+
"smart_contract": {
|
|
232
|
+
"address": "0x742d35cc6634c0532925a3b8d8b5c2d4c7f8e1a9",
|
|
233
|
+
"chain_id": 137,
|
|
234
|
+
"network_name": "Polygon"
|
|
235
|
+
},
|
|
236
|
+
"collection_slug": "bold-brazil",
|
|
237
|
+
"total_amount": 8,
|
|
238
|
+
"purchased_amount": 3.5,
|
|
239
|
+
"retired_amount": 1,
|
|
240
|
+
"credit_slug": "organic",
|
|
241
|
+
"mass_id": {
|
|
242
|
+
"token_id": "125",
|
|
243
|
+
"external_id": "0d9c8b7a-6e5f-4d3c-8b1a-0987654321ff",
|
|
244
|
+
"external_url": "https://explore.carrot.eco/document/0d9c8b7a-6e5f-4d3c-8b1a-0987654321ff",
|
|
245
|
+
"uri": "ipfs://QmMassIdHash125/mass-id.json",
|
|
246
|
+
"smart_contract": {
|
|
247
|
+
"address": "0x742d35cc6634c0532925a3b8d8b5c2d4c7f8e1a9",
|
|
248
|
+
"chain_id": 137,
|
|
249
|
+
"network_name": "Polygon"
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
],
|
|
254
|
+
"participant_rewards": [
|
|
255
|
+
{
|
|
256
|
+
"id_hash": "a1b2c3d4e5f6789012345678901234567890abcdefabcdefabcdefabcdefabcd",
|
|
257
|
+
"participant_name": "Enlatados Produção",
|
|
258
|
+
"roles": ["Waste Generator"],
|
|
259
|
+
"usdc_amount": 487.5
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"id_hash": "bbbb3333aaaa2222bbbb3333aaaa2222bbbb3333aaaa2222bbbb3333aaaa2222",
|
|
263
|
+
"participant_name": "Eco Reciclagem",
|
|
264
|
+
"roles": ["Hauler", "Processor", "Recycler"],
|
|
265
|
+
"usdc_amount": 975
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"id_hash": "cccc4444dddd5555cccc4444dddd5555cccc4444dddd5555cccc4444dddd5555",
|
|
269
|
+
"participant_name": "Carrot Marketplace",
|
|
270
|
+
"roles": ["Platform"],
|
|
271
|
+
"usdc_amount": 487.5
|
|
272
|
+
}
|
|
273
|
+
],
|
|
274
|
+
"retirement": {
|
|
275
|
+
"beneficiary_id": "c3d4e5f6-a7b8-4c12-8d56-789012cdef01",
|
|
276
|
+
"retirement_receipt": {
|
|
277
|
+
"token_id": "1200",
|
|
278
|
+
"external_id": "a1b2c3d4-e5f6-4b90-8a34-567890abcdef",
|
|
279
|
+
"external_url": "https://explore.carrot.eco/document/a1b2c3d4-e5f6-4b90-8a34-567890abcdef",
|
|
280
|
+
"uri": "ipfs://QmRetirementReceipt1200/credit-retirement-receipt.json",
|
|
281
|
+
"smart_contract": {
|
|
282
|
+
"address": "0x742d35cc6634c0532925a3b8d8b5c2d4c7f8e1a9",
|
|
283
|
+
"chain_id": 137,
|
|
284
|
+
"network_name": "Polygon"
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
|