Skip to content

Commit d520c22

Browse files
committed
Handle innit event
1 parent 5717267 commit d520c22

File tree

6 files changed

+80
-6
lines changed

6 files changed

+80
-6
lines changed

src/classic/lifecycle.ts

+10-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import { log } from "@graphprotocol/graph-ts"
22
import { ProxyCreated as VaultOrStrategyCreated } from "../../generated/ClassicVaultFactory/ClassicVaultFactory"
3+
import { Initialized as VaultInitialized } from "../../generated/ClassicVaultFactory/ClassicVault"
34
import { BoostDeployed as BoostCreated } from "../../generated/ClassicBoostFactory/ClassicBoostFactory"
45
import { ClassicVault as ClassicVaultContract } from "../../generated/ClassicVaultFactory/ClassicVault"
5-
import { BeefyERC20Product as BeefyERC20ProductTemplate } from "../../generated/templates"
6+
import { BeefyERC20Product as BeefyERC20ProductTemplate, ClassicVault as ClassicVaultTemplate } from "../../generated/templates"
67
import { fetchAndSaveTokenData } from "../common/utils/token"
78

89
export function handleClassicVaultOrStrategyCreated(event: VaultOrStrategyCreated): void {
@@ -16,10 +17,9 @@ export function handleClassicVaultOrStrategyCreated(event: VaultOrStrategyCreate
1617
if (vaultStrategyRes.reverted) {
1718
log.debug("`strategy()` method does not exist on contract: {}. It's not a vault", [address.toHexString()])
1819
} else {
19-
log.info("Creating Classic Vault: {}", [address.toHexString()])
20+
log.warning("Creating Classic Vault: {}", [address.toHexString()])
2021

21-
fetchAndSaveTokenData(address)
22-
BeefyERC20ProductTemplate.create(address)
22+
ClassicVaultTemplate.create(address)
2323
}
2424
}
2525

@@ -29,3 +29,9 @@ export function handleClassicBoostCreated(event: BoostCreated): void {
2929
fetchAndSaveTokenData(address)
3030
BeefyERC20ProductTemplate.create(address)
3131
}
32+
33+
export function handleClassicVaultInitialized(event: VaultInitialized): void {
34+
const address = event.address
35+
fetchAndSaveTokenData(address)
36+
BeefyERC20ProductTemplate.create(address)
37+
}

src/classic/mapping/vault.ts

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { handleClassicVaultInitialized } from "../lifecycle"

src/clm/lifecycle.ts

+16-2
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,29 @@
11
import { ProxyCreated as CLMManagerCreatedEvent } from "../../generated/ClmManagerFactory/ClmManagerFactory"
22
import { ProxyCreated as RewardPoolCreatedEvent } from "../../generated/RewardPoolFactory/RewardPoolFactory"
3-
import { BeefyERC20Product as BeefyERC20ProductTemplate } from "../../generated/templates"
3+
import {
4+
ClmManager as ClmManagerTemplate,
5+
ClmRewardPool as ClmRewardPoolTemplate,
6+
BeefyERC20Product as BeefyERC20ProductTemplate,
7+
} from "../../generated/templates"
48
import { fetchAndSaveTokenData } from "../common/utils/token"
59

610
export function handleClmManagerCreated(event: CLMManagerCreatedEvent): void {
11+
const address = event.params.proxy
12+
ClmManagerTemplate.create(address)
13+
}
14+
15+
export function handleRewardPoolCreated(event: RewardPoolCreatedEvent): void {
16+
const address = event.params.proxy
17+
ClmRewardPoolTemplate.create(address)
18+
}
19+
20+
export function handleClmManagerInitialized(event: CLMManagerCreatedEvent): void {
721
const address = event.params.proxy
822
fetchAndSaveTokenData(address)
923
BeefyERC20ProductTemplate.create(address)
1024
}
1125

12-
export function handleRewardPoolCreated(event: RewardPoolCreatedEvent): void {
26+
export function handleRewardPoolInitialized(event: RewardPoolCreatedEvent): void {
1327
const address = event.params.proxy
1428
fetchAndSaveTokenData(address)
1529
BeefyERC20ProductTemplate.create(address)

src/clm/mapping/manager.ts

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { handleClmManagerInitialized } from "../lifecycle"

src/clm/mapping/reward-pool.ts

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { handleRewardPoolInitialized } from "../lifecycle"

subgraph.template.yaml

+51
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,12 @@ dataSources:
2727
abis: &abis
2828
- name: ClmManagerFactory
2929
file: ./abis/beefy/clm/ClmManagerFactory.json
30+
- name: ClmManager
31+
file: ./abis/beefy/clm/ClmManager.json
3032
- name: RewardPoolFactory
3133
file: ./abis/beefy/clm/RewardPoolFactory.json
34+
- name: RewardPool
35+
file: ./abis/beefy/clm/RewardPool.json
3236
- name: ClassicVaultFactory
3337
file: ./abis/beefy/classic/ClassicVaultFactory.json
3438
- name: ClassicVault
@@ -103,6 +107,53 @@ dataSources:
103107
handler: handleClassicBoostCreated
104108

105109
templates:
110+
- name: ClmManager
111+
kind: ethereum/contract
112+
network: {{network}}
113+
source:
114+
abi: ClmManager
115+
mapping:
116+
kind: ethereum/events
117+
apiVersion: 0.0.7 # 0xgraph's version
118+
language: wasm/assemblyscript
119+
file: ./src/clm/mapping/manager.ts
120+
entities: *clmEntities
121+
abis: *abis
122+
eventHandlers:
123+
- event: Initialized(uint8)
124+
handler: handleClmManagerInitialized
125+
126+
- name: ClmRewardPool
127+
kind: ethereum/contract
128+
network: {{network}}
129+
source:
130+
abi: RewardPool
131+
mapping:
132+
kind: ethereum/events
133+
apiVersion: 0.0.7 # 0xgraph's version
134+
language: wasm/assemblyscript
135+
file: ./src/clm/mapping/reward-pool.ts
136+
entities: *clmEntities
137+
abis: *abis
138+
eventHandlers:
139+
- event: Initialized(uint8)
140+
handler: handleRewardPoolInitialized
141+
142+
- name: ClassicVault
143+
kind: ethereum/contract
144+
network: {{network}}
145+
source:
146+
abi: ClassicVault
147+
mapping:
148+
kind: ethereum/events
149+
apiVersion: 0.0.7 # 0xgraph's version
150+
language: wasm/assemblyscript
151+
file: ./src/classic/mapping/vault.ts
152+
entities: *classicEntities
153+
abis: *abis
154+
eventHandlers:
155+
- event: Initialized(uint8)
156+
handler: handleClassicVaultInitialized
106157

107158
- name: BeefyERC20Product
108159
kind: ethereum/contract

0 commit comments

Comments
 (0)