tornado-subgraph/src/mapping-instance.ts

42 lines
1.4 KiB
TypeScript
Raw Normal View History

2021-06-14 14:58:57 +02:00
import { Withdrawal, Deposit } from '../generated';
2021-06-09 16:39:13 +02:00
import { Withdrawal as WithdrawalEntity, Deposit as DepositEntity } from '../generated/schema';
2021-06-07 12:43:31 +02:00
2021-06-09 16:39:13 +02:00
import { contractsToInstances } from './contractsToInstances';
2021-06-07 12:43:31 +02:00
export function handleWithdrawal(event: Withdrawal): void {
let entity = new WithdrawalEntity(event.transaction.hash.toHex() + '-' + event.logIndex.toString());
2021-06-08 18:08:11 +02:00
let result = contractsToInstances.get(event.address.toHexString()).split('-');
2021-06-07 12:43:31 +02:00
entity.amount = result[1];
entity.currency = result[0];
entity.to = event.params.to;
entity.fee = event.params.fee;
entity.index = event.logIndex;
entity.blockNumber = event.block.number;
entity.timestamp = event.block.timestamp;
entity.nullifier = event.params.nullifierHash;
entity.transactionHash = event.transaction.hash;
entity.save();
}
export function handleDeposit(event: Deposit): void {
2021-06-09 16:39:13 +02:00
let entity = new DepositEntity(event.transaction.hash.toHex() + '-' + event.logIndex.toString());
2021-06-07 12:43:31 +02:00
2021-06-08 18:08:11 +02:00
let result = contractsToInstances.get(event.address.toHexString()).split('-');
2021-06-07 12:43:31 +02:00
entity.amount = result[1];
entity.currency = result[0];
2022-03-12 19:31:49 +01:00
entity.from = event.transaction.from;
2021-06-07 12:43:31 +02:00
entity.index = event.params.leafIndex;
entity.blockNumber = event.block.number;
entity.timestamp = event.block.timestamp;
entity.commitment = event.params.commitment;
entity.transactionHash = event.transaction.hash;
2021-06-09 16:39:13 +02:00
entity.save();
2021-06-07 12:43:31 +02:00
}