feat: add handler for burns to the transfer handler [subgraph] (#162)
* feat: add handler for burns to the transfer handler * fix: update transfer.ts to include the changes.
This commit is contained in:
parent
3414a96c65
commit
5c43ebe0d0
|
|
@ -16,18 +16,21 @@ import {
|
||||||
} from '../generated/schema';
|
} from '../generated/schema';
|
||||||
|
|
||||||
export function handleTransfer(event: TransferEvent): void {
|
export function handleTransfer(event: TransferEvent): void {
|
||||||
let entity = new Transfer(
|
let transfer = new Transfer(
|
||||||
event.transaction.hash.concatI32(event.logIndex.toI32())
|
event.transaction.hash.concatI32(event.logIndex.toI32())
|
||||||
);
|
);
|
||||||
entity.from = event.params.from;
|
|
||||||
entity.to = event.params.to;
|
|
||||||
entity.tokenId = event.params.tokenId;
|
|
||||||
|
|
||||||
entity.blockNumber = event.block.number;
|
const TokenId = event.params.tokenId;
|
||||||
entity.blockTimestamp = event.block.timestamp;
|
|
||||||
entity.transactionHash = event.transaction.hash;
|
|
||||||
|
|
||||||
entity.save();
|
transfer.from = event.params.from;
|
||||||
|
transfer.to = event.params.to;
|
||||||
|
transfer.tokenId = TokenId;
|
||||||
|
|
||||||
|
transfer.blockNumber = event.block.number;
|
||||||
|
transfer.blockTimestamp = event.block.timestamp;
|
||||||
|
transfer.transactionHash = event.transaction.hash;
|
||||||
|
|
||||||
|
transfer.save();
|
||||||
|
|
||||||
let token: Token | null;
|
let token: Token | null;
|
||||||
|
|
||||||
|
|
@ -40,11 +43,16 @@ export function handleTransfer(event: TransferEvent): void {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parseInt(event.params.from.toHexString()) !== 0) {
|
if (parseInt(event.params.from.toHexString()) !== 0) {
|
||||||
|
if (parseInt(event.params.to.toHexString()) === 0) {
|
||||||
|
// Burn
|
||||||
|
// Remove the entity from storage
|
||||||
|
// Its controllers and owner will be affected.
|
||||||
|
store.remove('Token', TokenId.toString());
|
||||||
|
} else {
|
||||||
// Transfer
|
// Transfer
|
||||||
|
|
||||||
// Load the Token by using its TokenId
|
// Load the Token by using its TokenId
|
||||||
token = Token.load(
|
token = Token.load(
|
||||||
Bytes.fromByteArray(Bytes.fromBigInt(event.params.tokenId))
|
Bytes.fromByteArray(Bytes.fromBigInt(TokenId))
|
||||||
);
|
);
|
||||||
|
|
||||||
if (token) {
|
if (token) {
|
||||||
|
|
@ -60,3 +68,5 @@ export function handleTransfer(event: TransferEvent): void {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue