|
1 | 1 | /* eslint-disable prefer-const */ |
2 | | -import { |
3 | | - Bytes, |
4 | | - BigInt, |
5 | | - Address, |
6 | | - ipfs, |
7 | | - json, |
8 | | - log, |
9 | | -} from '@graphprotocol/graph-ts'; |
| 2 | +import { Bytes, BigInt, Address, log } from '@graphprotocol/graph-ts'; |
10 | 3 | import { |
11 | 4 | Item, |
12 | 5 | Request, |
@@ -36,6 +29,8 @@ import { |
36 | 29 | Ruling, |
37 | 30 | ConnectedTCRSet as ConnectedTCRSetEvent, |
38 | 31 | } from '../generated/templates/GeneralizedTCR/GeneralizedTCR'; |
| 32 | +import { GTCREvidenceMetadata as EvidenceMetadataTemplate } from '../generated/templates'; |
| 33 | +import { extractPath } from './utils'; |
39 | 34 |
|
40 | 35 | // Items on a TCR can be in 1 of 4 states: |
41 | 36 | // - (0) Absent: The item is not registered on the TCR and there are no pending requests. |
@@ -616,80 +611,9 @@ export function handleEvidence(event: EvidenceEvent): void { |
616 | 611 | BigInt.fromI32(1), |
617 | 612 | ); |
618 | 613 |
|
619 | | - // Try to parse and store evidence fields. |
620 | | - let jsonStr = ipfs.cat(event.params._evidence); |
621 | | - if (!jsonStr) { |
622 | | - log.warning('Failed to fetch evidence {}', [event.params._evidence]); |
623 | | - evidenceGroup.save(); |
624 | | - evidence.save(); |
625 | | - return; |
626 | | - } |
627 | | - |
628 | | - let jsonObjValueAndSuccess = json.try_fromBytes(jsonStr as Bytes); |
629 | | - if (!jsonObjValueAndSuccess.isOk) { |
630 | | - log.warning(`Error getting json object value for evidence {}`, [ |
631 | | - event.params._evidence, |
632 | | - ]); |
633 | | - evidenceGroup.save(); |
634 | | - evidence.save(); |
635 | | - return; |
636 | | - } |
637 | | - |
638 | | - let jsonObj = jsonObjValueAndSuccess.value.toObject(); |
639 | | - if (!jsonObj) { |
640 | | - log.warning(`Error converting object for evidence {}`, [ |
641 | | - event.params._evidence, |
642 | | - ]); |
643 | | - evidenceGroup.save(); |
644 | | - evidence.save(); |
645 | | - return; |
646 | | - } |
647 | | - |
648 | | - let nameValue = jsonObj.get('name'); |
649 | | - if (!nameValue) { |
650 | | - log.warning(`Error getting name value for evidence {}`, [ |
651 | | - event.params._evidence, |
652 | | - ]); |
653 | | - } else { |
654 | | - evidence.name = nameValue.toString(); |
655 | | - } |
656 | | - |
657 | | - // Somehow Curate uses "title"?? so fetch in case |
658 | | - let titleValue = jsonObj.get('title'); |
659 | | - if (!titleValue) { |
660 | | - log.warning(`Error getting title value for evidence {}`, [ |
661 | | - event.params._evidence, |
662 | | - ]); |
663 | | - } else { |
664 | | - evidence.title = titleValue.toString(); |
665 | | - } |
666 | | - |
667 | | - let descriptionValue = jsonObj.get('description'); |
668 | | - if (!descriptionValue) { |
669 | | - log.warning(`Error getting description value for evidence {}`, [ |
670 | | - event.params._evidence, |
671 | | - ]); |
672 | | - } else { |
673 | | - evidence.description = descriptionValue.toString(); |
674 | | - } |
675 | | - |
676 | | - let fileURIValue = jsonObj.get('fileURI'); |
677 | | - if (!fileURIValue) { |
678 | | - log.warning(`Error getting fileURI value for evidence {}`, [ |
679 | | - event.params._evidence, |
680 | | - ]); |
681 | | - } else { |
682 | | - evidence.fileURI = fileURIValue.toString(); |
683 | | - } |
684 | | - |
685 | | - let fileTypeExtensionValue = jsonObj.get('fileTypeExtension'); |
686 | | - if (!fileTypeExtensionValue) { |
687 | | - log.warning(`Error getting fileTypeExtension value for evidence {}`, [ |
688 | | - event.params._evidence, |
689 | | - ]); |
690 | | - } else { |
691 | | - evidence.fileTypeExtension = fileTypeExtensionValue.toString(); |
692 | | - } |
| 614 | + const ipfsHash = extractPath(event.params._evidence); |
| 615 | + evidence.metadata = ipfsHash; |
| 616 | + EvidenceMetadataTemplate.create(ipfsHash); |
693 | 617 |
|
694 | 618 | evidenceGroup.save(); |
695 | 619 | evidence.save(); |
|
0 commit comments