non-fungible-apps/subgraph/src/contract.ts

32 lines
1.0 KiB
TypeScript

import { log, ethereum, BigInt, Address } from '@graphprotocol/graph-ts';
// Event Imports [based on the yaml config]
import { Initialized as InitializedEvent } from '../generated/FleekNFA/FleekNFA';
// Entity Imports [based on the schema]
import { Collection, Owner, Verifier } from '../generated/schema';
export function handleInitialized(event: InitializedEvent): void {
// This is the contract creation transaction.
log.warning('This is the contract creation transaction.', []);
if (event.receipt) {
const receipt = event.receipt as ethereum.TransactionReceipt;
log.warning('Contract address is: {}', [
receipt.contractAddress.toHexString(),
]);
// start collection entity
const collection = new Collection(event.address);
collection.totalTokens = BigInt.fromU32(0);
collection.save();
// add owner
const owner = new Owner(event.transaction.from);
owner.collection = true;
owner.save();
// add verifier
const verifier = new Verifier(event.transaction.from);
verifier.save();
}
}