-
Notifications
You must be signed in to change notification settings - Fork 779
/
Copy pathcore.ts
114 lines (108 loc) Β· 4.32 KB
/
core.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
import { ByteArray, Bytes } from '@graphprotocol/graph-ts'
import {
Burn as BurnEntity,
Mint as MintEntity,
Swap as SwapEntity,
Sync as SyncEntity,
Transfer as TransferEntity,
} from '../../../generated/schema'
import {
Burn as BurnEvent,
Mint as MintEvent,
Swap as SwapEvent,
Sync as SyncEvent,
Transfer as TransferEvent,
} from '../../../generated/templates/Pair/Pair'
export function handleMint(event: MintEvent): void {
const transactionHash = event.transaction.hash
const logIndex = event.logIndex
const logIndexBytes = Bytes.fromByteArray(ByteArray.fromBigInt(logIndex))
const mintId = transactionHash.concat(logIndexBytes)
const mintEvent = new MintEntity(mintId)
mintEvent.transactionHash = transactionHash
mintEvent.transactionFrom = event.transaction.from
mintEvent.transactionTo = event.transaction.to
mintEvent.logAddress = event.address
mintEvent.logIndex = logIndex
mintEvent.blockNumber = event.block.number
mintEvent.timestamp = event.block.timestamp
mintEvent.sender = event.params.sender
mintEvent.amount0 = event.params.amount0
mintEvent.amount1 = event.params.amount1
mintEvent.save()
}
export function handleBurn(event: BurnEvent): void {
const transactionHash = event.transaction.hash
const logIndex = event.logIndex
const logIndexBytes = Bytes.fromByteArray(ByteArray.fromBigInt(logIndex))
const burnId = transactionHash.concat(logIndexBytes)
const burnEvent = new BurnEntity(burnId)
burnEvent.transactionHash = transactionHash
burnEvent.transactionFrom = event.transaction.from
burnEvent.transactionTo = event.transaction.to
burnEvent.logAddress = event.address
burnEvent.logIndex = logIndex
burnEvent.blockNumber = event.block.number
burnEvent.timestamp = event.block.timestamp
burnEvent.sender = event.params.sender
burnEvent.amount0 = event.params.amount0
burnEvent.amount1 = event.params.amount1
burnEvent.to = event.params.to
burnEvent.save()
}
export function handleSwap(event: SwapEvent): void {
const transactionHash = event.transaction.hash
const logIndex = event.logIndex
const logIndexBytes = Bytes.fromByteArray(ByteArray.fromBigInt(logIndex))
const swapId = transactionHash.concat(logIndexBytes)
const swapEvent = new SwapEntity(swapId)
swapEvent.transactionHash = transactionHash
swapEvent.transactionFrom = event.transaction.from
swapEvent.transactionTo = event.transaction.to
swapEvent.logAddress = event.address
swapEvent.logIndex = logIndex
swapEvent.blockNumber = event.block.number
swapEvent.timestamp = event.block.timestamp
swapEvent.sender = event.params.sender
swapEvent.amount0In = event.params.amount0In
swapEvent.amount1In = event.params.amount1In
swapEvent.amount0Out = event.params.amount0Out
swapEvent.amount1Out = event.params.amount1Out
swapEvent.to = event.params.to
swapEvent.save()
}
export function handleSync(event: SyncEvent): void {
const transactionHash = event.transaction.hash
const logIndex = event.logIndex
const logIndexBytes = Bytes.fromByteArray(ByteArray.fromBigInt(logIndex))
const syncId = transactionHash.concat(logIndexBytes)
const syncEvent = new SyncEntity(syncId)
syncEvent.transactionHash = transactionHash
syncEvent.transactionFrom = event.transaction.from
syncEvent.transactionTo = event.transaction.to
syncEvent.logAddress = event.address
syncEvent.logIndex = logIndex
syncEvent.blockNumber = event.block.number
syncEvent.timestamp = event.block.timestamp
syncEvent.reserve0 = event.params.reserve0
syncEvent.reserve1 = event.params.reserve1
syncEvent.save()
}
export function handleTransfer(event: TransferEvent): void {
const transactionHash = event.transaction.hash
const logIndex = event.logIndex
const logIndexBytes = Bytes.fromByteArray(ByteArray.fromBigInt(logIndex))
const transferId = transactionHash.concat(logIndexBytes)
const transferEvent = new TransferEntity(transferId)
transferEvent.transactionHash = transactionHash
transferEvent.transactionFrom = event.transaction.from
transferEvent.transactionTo = event.transaction.to
transferEvent.logAddress = event.address
transferEvent.logIndex = logIndex
transferEvent.blockNumber = event.block.number
transferEvent.timestamp = event.block.timestamp
transferEvent.from = event.params.from
transferEvent.to = event.params.to
transferEvent.value = event.params.value
transferEvent.save()
}