Skip to content

Commit 7521c7e

Browse files
feat: handle Converted and AssetTransferredToDestination events
1 parent 8111f0e commit 7521c7e

File tree

3 files changed

+91
-6
lines changed

3 files changed

+91
-6
lines changed

subgraphs/protocol-reserve/config/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ const main = () => {
5656
xvsVaultConverterAddress: chapelDeployments.addresses.XVSVaultConverter,
5757
xvsVaultConverterStartBlock: '36750678',
5858
wBnbBurnConverterAddress: chapelDeployments.addresses.WBNBBurnConverter,
59-
wBnbBurnConverterStartBlock: '51144405',
59+
wBnbBurnConverterStartBlock: '54160930',
6060
riskFundAddress: chapelDeployments.addresses.RiskFundV2,
6161
StartBlock: '36750498',
6262
protocolShareReserveAddress: chapelDeployments.addresses.ProtocolShareReserve,
@@ -80,7 +80,7 @@ const main = () => {
8080
xvsVaultConverterAddress: bscMainnetDeployments.addresses.XVSVaultConverter,
8181
xvsVaultConverterStartBlock: '35140090',
8282
wBnbBurnConverterAddress: bscMainnetDeployments.addresses.WBNBBurnConverter,
83-
wBnbBurnConverterStartBlock: '54160930',
83+
wBnbBurnConverterStartBlock: '51144405',
8484
riskFundAddress: bscMainnetDeployments.addresses.RiskFundV2,
8585
protocolShareReserveAddress: bscMainnetDeployments.addresses.ProtocolShareReserve,
8686
protocolShareReserveStartBlock: '32659440',

subgraphs/protocol-reserve/src/mappings/tokenConverter.ts

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
import { ethereum } from '@graphprotocol/graph-ts';
1+
import { Address, ethereum } from '@graphprotocol/graph-ts';
22

33
import {
4+
AssetTransferredToDestination,
45
BaseAssetUpdated,
6+
ConvertedExactTokens,
57
ConversionConfigUpdated,
68
ConversionPaused,
79
ConversionResumed,
@@ -18,9 +20,10 @@ import {
1820
wbtcPrimeConverterAddress,
1921
wethPrimeConverterAddress,
2022
xvsVaultConverterAddress,
23+
wBnbBurnConverterAddress,
2124
} from '../constants/addresses';
2225
import { getTokenConverter } from '../operations/get';
23-
import { getOrCreateTokenConverter } from '../operations/getOrCreate';
26+
import { getOrCreateDestinationAmount, getOrCreateTokenConverter } from '../operations/getOrCreate';
2427
import { updateOrCreateTokenConverterConfig } from '../operations/updateOrCreate';
2528
import { getConverterNetworkId } from '../utilities/ids';
2629

@@ -59,6 +62,11 @@ export function handleInitializationWethPrimeConverter(block: ethereum.Block): v
5962
getOrCreateTokenConverter(wethPrimeConverterAddress);
6063
}
6164

65+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
66+
export function handleInitializationWBnbBurnConverter(block: ethereum.Block): void {
67+
getOrCreateTokenConverter(wBnbBurnConverterAddress);
68+
}
69+
6270
export function handleConversionConfigUpdated(event: ConversionConfigUpdated): void {
6371
getOrCreateTokenConverter(event.address);
6472
updateOrCreateTokenConverterConfig(event.address, event.params);
@@ -99,3 +107,24 @@ export function handlePriceOracleUpdated(event: PriceOracleUpdated): void {
99107
tokenConverter.priceOracleAddress = event.params.priceOracle;
100108
tokenConverter.save();
101109
}
110+
111+
export function handleConversionEvent(event: ConvertedExactTokens): void {
112+
const tokenConverter = getTokenConverter(event.address)!;
113+
const destinationAmountEntity = getOrCreateDestinationAmount(
114+
event.address,
115+
Address.fromBytes(tokenConverter.destinationAddress),
116+
event.params.tokenAddressIn,
117+
);
118+
destinationAmountEntity.amount = destinationAmountEntity.amount.plus(event.params.amountIn);
119+
destinationAmountEntity.save();
120+
}
121+
122+
export function handleAssetTranferredToDestination(event: AssetTransferredToDestination): void {
123+
const destinationAmountEntity = getOrCreateDestinationAmount(
124+
event.address,
125+
event.params.receiver,
126+
event.params.asset,
127+
);
128+
destinationAmountEntity.amount = destinationAmountEntity.amount.plus(event.params.amount);
129+
destinationAmountEntity.save();
130+
}

subgraphs/protocol-reserve/template.yaml

Lines changed: 58 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,14 @@ dataSources:
6868
handler: handleDestinationAddressUpdated
6969
- event: PriceOracleUpdated(indexed address,indexed address)
7070
handler: handlePriceOracleUpdated
71+
- event: ConvertedExactTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
72+
handler: handleConversionEvent
73+
- event: ConvertedForExactTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
74+
handler: handleConversionEvent
75+
- event: ConvertedExactTokensSupportingFeeOnTransferTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
76+
handler: handleConversionEvent
77+
- event: ConvertedForExactTokensSupportingFeeOnTransferTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
78+
handler: handleConversionEvent
7179
blockHandlers:
7280
- handler: handleInitializationBtcbPrimeConverter
7381
filter:
@@ -108,6 +116,14 @@ dataSources:
108116
handler: handleDestinationAddressUpdated
109117
- event: PriceOracleUpdated(indexed address,indexed address)
110118
handler: handlePriceOracleUpdated
119+
- event: ConvertedExactTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
120+
handler: handleConversionEvent
121+
- event: ConvertedForExactTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
122+
handler: handleConversionEvent
123+
- event: ConvertedExactTokensSupportingFeeOnTransferTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
124+
handler: handleConversionEvent
125+
- event: ConvertedForExactTokensSupportingFeeOnTransferTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
126+
handler: handleConversionEvent
111127
blockHandlers:
112128
- handler: handleInitializationEthPrimeConverter
113129
filter:
@@ -146,6 +162,14 @@ dataSources:
146162
handler: handleDestinationAddressUpdated
147163
- event: PriceOracleUpdated(indexed address,indexed address)
148164
handler: handlePriceOracleUpdated
165+
- event: ConvertedExactTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
166+
handler: handleConversionEvent
167+
- event: ConvertedForExactTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
168+
handler: handleConversionEvent
169+
- event: ConvertedExactTokensSupportingFeeOnTransferTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
170+
handler: handleConversionEvent
171+
- event: ConvertedForExactTokensSupportingFeeOnTransferTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
172+
handler: handleConversionEvent
149173
blockHandlers:
150174
- handler: handleInitializationRiskFundConverter
151175
filter:
@@ -186,6 +210,14 @@ dataSources:
186210
handler: handleDestinationAddressUpdated
187211
- event: PriceOracleUpdated(indexed address,indexed address)
188212
handler: handlePriceOracleUpdated
213+
- event: ConvertedExactTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
214+
handler: handleConversionEvent
215+
- event: ConvertedForExactTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
216+
handler: handleConversionEvent
217+
- event: ConvertedExactTokensSupportingFeeOnTransferTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
218+
handler: handleConversionEvent
219+
- event: ConvertedForExactTokensSupportingFeeOnTransferTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
220+
handler: handleConversionEvent
189221
blockHandlers:
190222
- handler: handleInitializationUsdcPrimeConverter
191223
filter:
@@ -226,6 +258,14 @@ dataSources:
226258
handler: handleDestinationAddressUpdated
227259
- event: PriceOracleUpdated(indexed address,indexed address)
228260
handler: handlePriceOracleUpdated
261+
- event: ConvertedExactTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
262+
handler: handleConversionEvent
263+
- event: ConvertedForExactTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
264+
handler: handleConversionEvent
265+
- event: ConvertedExactTokensSupportingFeeOnTransferTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
266+
handler: handleConversionEvent
267+
- event: ConvertedForExactTokensSupportingFeeOnTransferTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
268+
handler: handleConversionEvent
229269
blockHandlers:
230270
- handler: handleInitializationUsdtPrimeConverter
231271
filter:
@@ -266,11 +306,19 @@ dataSources:
266306
handler: handleBaseAssetUpdated
267307
- event: PriceOracleUpdated(indexed address,indexed address)
268308
handler: handlePriceOracleUpdated
309+
- event: ConvertedExactTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
310+
handler: handleConversionEvent
311+
- event: ConvertedForExactTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
312+
handler: handleConversionEvent
313+
- event: ConvertedExactTokensSupportingFeeOnTransferTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
314+
handler: handleConversionEvent
315+
- event: ConvertedForExactTokensSupportingFeeOnTransferTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
316+
handler: handleConversionEvent
269317
blockHandlers:
270318
- handler: handleInitializationXvsVaultConverter
271319
filter:
272320
kind: once
273-
- name: WBNBBurnConverter
321+
- name: WBnbBurnConverter
274322
kind: ethereum/contract
275323
network: {{ network }}
276324
source:
@@ -306,8 +354,16 @@ dataSources:
306354
handler: handleBaseAssetUpdated
307355
- event: PriceOracleUpdated(indexed address,indexed address)
308356
handler: handlePriceOracleUpdated
357+
- event: ConvertedExactTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
358+
handler: handleConversionEvent
359+
- event: ConvertedForExactTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
360+
handler: handleConversionEvent
361+
- event: ConvertedExactTokensSupportingFeeOnTransferTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
362+
handler: handleConversionEvent
363+
- event: ConvertedForExactTokensSupportingFeeOnTransferTokens(indexed address,indexed address,address,indexed address,uint256,uint256)
364+
handler: handleConversionEvent
309365
blockHandlers:
310-
- handler: handleInitializationXvsVaultConverter
366+
- handler: handleInitializationWBnbBurnConverter
311367
filter:
312368
kind: once
313369
templates:

0 commit comments

Comments
 (0)