Skip to content

Commit d7e0701

Browse files
authored
Merge pull request #30 from kleros/fix/metadata-parsing
fix: metadata-parsing
2 parents 6a3e461 + 02862b9 commit d7e0701

6 files changed

+20
-13
lines changed

.yarn/install-state.gz

1.08 MB
Binary file not shown.

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
{
22
"name": "gtcr-subgraph",
3-
"version": "1.0.0",
3+
"version": "1.1.4",
44
"description": "Subgraph for Generalized TCR contracts",
55
"scripts": {
6+
"clean": "graph clean",
67
"fix-schema.ts": "replace-in-file '/(;\\s*if \\()value === null/mg' '$1value === null || value.kind === ValueKind.NULL' generated/schema.ts --isRegex",
78
"codegen:gnosis": "node render-templates.js gnosis && graph codegen && yarn fix-schema.ts",
89
"build:gnosis": "yarn codegen:gnosis && graph build",
@@ -30,7 +31,6 @@
3031
},
3132
"author": "Kleros",
3233
"license": "MIT",
33-
"private": false,
3434
"bugs": {
3535
"url": "https://github.com/kleros/gtcr-subgraph/issues"
3636
},

src/fileHandlers/EvidenceMetadataHandler.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,16 @@ export function handleGTCREvidenceMetadata(content: Bytes): void {
88
const evidenceId = context.getString('evidenceId');
99

1010
const evidence = new EvidenceMetadata(`${id}-${evidenceId}`);
11-
const value = json.fromBytes(content).toObject();
11+
const parsedResult = json.try_fromBytes(content);
1212

1313
log.debug(`ipfs hash : {}, content : {}`, [id, content.toString()]);
1414

15-
if (!value) {
15+
if (!parsedResult.isOk || parsedResult.isError) {
1616
log.warning(`Error converting object for evidence {}`, [id]);
1717
evidence.save();
1818
return;
1919
}
20+
const value = parsedResult.value.toObject();
2021

2122
const nameValue = value.get('name');
2223
if (!nameValue) {

src/fileHandlers/LEvidenceMetadataHandler.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,16 @@ export function handleLGTCREvidenceMetadata(content: Bytes): void {
77
const evidenceId = context.getString('evidenceId');
88

99
const evidence = new EvidenceMetadata(`${id}-${evidenceId}`);
10-
const value = json.fromBytes(content).toObject();
10+
const parsedResult = json.try_fromBytes(content);
1111

1212
log.debug(`ipfs hash : {}, content : {}`, [id, content.toString()]);
1313

14-
if (!value) {
14+
if (!parsedResult.isOk || parsedResult.isError) {
1515
log.warning(`Error converting object for evidence {}`, [id]);
1616
evidence.save();
1717
return;
1818
}
19+
const value = parsedResult.value.toObject();
1920

2021
const nameValue = value.get('name');
2122
if (!nameValue) {

src/fileHandlers/LItemMetadataHandler.ts

+7-4
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { JSONValueToBool, JSONValueToMaybeString } from '../utils';
55
export function handleLItemMetadata(content: Bytes): void {
66
const ipfsHash = dataSource.stringParam();
77

8-
const value = json.fromBytes(content).toObject();
8+
const parsedResult = json.try_fromBytes(content);
99

1010
const context = dataSource.context();
1111
const graphItemID = context.getString('graphItemID');
@@ -19,23 +19,26 @@ export function handleLItemMetadata(content: Bytes): void {
1919

2020
log.debug(`ipfs hash : {}, content : {}`, [ipfsHash, content.toString()]);
2121

22-
if (!value) {
22+
if (!parsedResult.isOk || parsedResult.isError) {
2323
log.warning(`Error converting object for graphItemId {}`, [graphItemID]);
2424
metadata.save();
2525
return;
2626
}
27+
const value = parsedResult.value.toObject();
2728

2829
const columnsValue = value.get('columns');
2930
if (!columnsValue) {
30-
log.error(`Error getting column values for graphItemID {}`, [graphItemID]);
31+
log.warning(`Error getting column values for graphItemID {}`, [
32+
graphItemID,
33+
]);
3134
metadata.save();
3235
return;
3336
}
3437
const columns = columnsValue.toArray();
3538

3639
const valuesValue = value.get('values');
3740
if (!valuesValue) {
38-
log.error(`Error getting valuesValue for graphItemID {}`, [graphItemID]);
41+
log.warning(`Error getting valuesValue for graphItemID {}`, [graphItemID]);
3942
metadata.save();
4043
return;
4144
}

src/fileHandlers/LRegistryMetadataHandler.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { JSONValueToBool, JSONValueToMaybeString } from '../utils';
55
export function handleLRegistryMetadata(content: Bytes): void {
66
const ipfsHash = dataSource.stringParam();
77

8-
const value = json.fromBytes(content).toObject();
8+
const parsedResult = json.try_fromBytes(content);
99

1010
const context = dataSource.context();
1111
const count = context.getBigInt('count');
@@ -17,15 +17,17 @@ export function handleLRegistryMetadata(content: Bytes): void {
1717

1818
log.debug(`ipfs hash : {}, content : {}`, [ipfsHash, content.toString()]);
1919

20-
if (!value) {
20+
if (!parsedResult.isOk || parsedResult.isError) {
2121
log.warning(`Error converting object for hash {}`, [ipfsHash]);
2222
metadata.save();
2323
return;
2424
}
2525

26+
const value = parsedResult.value.toObject();
27+
2628
const metadataValue = value.get('metadata');
2729
if (!metadataValue) {
28-
log.error(`Error getting metadata values from ipfs hash {}`, [ipfsHash]);
30+
log.warning(`Error getting metadata values from ipfs hash {}`, [ipfsHash]);
2931
metadata.save();
3032
return;
3133
}

0 commit comments

Comments
 (0)