processor.run(new TypeormDatabase(), async (ctx) => {
const gravatars: Map<string, Gravatar> = new Map();
for (const c of ctx.blocks) {
for (const log of c.logs) {
if (log.address !== GRAVATAR_CONTRACT ||
(log.topics[0] !== events.NewGravatar.topic &&
log.topics[0] !== events.UpdatedGravatar.topic)) continue
const { id, owner, displayName, imageUrl } = extractData(log)
gravatars.set(id.toHexString(), new Gravatar({
id: id.toHexString(),
owner: decodeHex(owner),
displayName,
imageUrl
}))
}
}
await ctx.store.save([...gravatars.values()])
})