Skip to content

Commit

Permalink
subgraph mapping for universal recipient registry
Browse files Browse the repository at this point in the history
  • Loading branch information
yuetloo committed Mar 1, 2022
1 parent aa44699 commit 5fada67
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 0 deletions.
1 change: 1 addition & 0 deletions subgraph/schema.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ type Recipient @entity {
deposit: BigInt
recipientAddress: Bytes
recipientMetadata: String
recipientMetadataId: String
rejected: Boolean
verified: Boolean
voteOptionIndex: BigInt
Expand Down
53 changes: 53 additions & 0 deletions subgraph/src/UniversalRecipientRegistryMapping.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import { BigInt, log } from '@graphprotocol/graph-ts'
import {
OwnershipTransferred,
RequestResolved,
RequestSubmitted,
} from '../generated/UniversalRecipientRegistry/UniversalRecipientRegistry'

import { Recipient } from '../generated/schema'

export function handleOwnershipTransferred(event: OwnershipTransferred): void {
log.info('handleOwnershipTransferred - universal recipient registry', [])
}

export function handleRequestResolved(event: RequestResolved): void {
let recipientRegistryId = event.address.toHexString()

log.info('handleRequestResolved', [])
let recipientId = event.params._recipientId.toHexString()
let recipient = new Recipient(recipientId)

recipient.requestType = BigInt.fromI32(event.params._type).toString()
recipient.requester = event.transaction.from.toHexString()
recipient.submissionTime = event.params._timestamp.toString()
recipient.rejected = event.params._rejected
recipient.verified = !event.params._rejected
recipient.recipientRegistry = recipientRegistryId
recipient.recipientIndex = event.params._recipientIndex
recipient.requestResolvedHash = event.transaction.hash

recipient.save()
}

export function handleRequestSubmitted(event: RequestSubmitted): void {
log.info('handleRequestSubmitted', [])
let recipientRegistryId = event.address.toHexString()

//TODO: create RecipientRegistry entity here if it does not exist.

let recipientId = event.params._recipientId.toHexString()
let recipient = new Recipient(recipientId)

recipient.recipientRegistry = recipientRegistryId
recipient.recipientAddress = event.params._recipient
recipient.recipientMetadataId = event.params._metadataId
recipient.requestType = BigInt.fromI32(event.params._type).toString()
recipient.requester = event.transaction.from.toHexString()
recipient.submissionTime = event.params._timestamp.toString()
recipient.deposit = event.transaction.value
recipient.verified = false
recipient.requestSubmittedHash = event.transaction.hash

recipient.save()
}

0 comments on commit 5fada67

Please sign in to comment.