diff --git a/subgraphs/isolated-pools/src/operations/create.ts b/subgraphs/isolated-pools/src/operations/create.ts index b35473ea..07eea54b 100644 --- a/subgraphs/isolated-pools/src/operations/create.ts +++ b/subgraphs/isolated-pools/src/operations/create.ts @@ -33,8 +33,6 @@ import { vagEURAddress, vankrBNBDeFiAddress, vankrBNBLiquidStakedBNBAddress, - vWETHLiquidStakedETHAddress, - vWETHCoreAddress, } from '../constants/addresses'; import { getOrCreateMarketReward, getOrCreateToken } from './getOrCreate'; import { getTokenPriceInCents, valueOrNotAvailableIntIfReverted } from '../utilities'; @@ -195,12 +193,6 @@ export function createMarket( market.symbol = 'vslisBNB_LiquidStakedBNB'; } - if (vTokenAddress.equals(vWETHLiquidStakedETHAddress) || vTokenAddress.equals(vWETHCoreAddress)) { - market.underlyingToken = getOrCreateToken( - Address.fromBytes(Bytes.fromHexString('0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9')), - ).id; - } - market.save(); return market; } diff --git a/subgraphs/isolated-pools/src/operations/getOrCreate.ts b/subgraphs/isolated-pools/src/operations/getOrCreate.ts index fb8eb455..c1375361 100644 --- a/subgraphs/isolated-pools/src/operations/getOrCreate.ts +++ b/subgraphs/isolated-pools/src/operations/getOrCreate.ts @@ -1,4 +1,4 @@ -import { Address, BigInt } from '@graphprotocol/graph-ts'; +import { Address, BigInt, Bytes } from '@graphprotocol/graph-ts'; import { VToken as VTokenContract } from '../../generated/PoolRegistry/VToken'; import { BEP20 } from '../../generated/PoolRegistry/BEP20'; @@ -28,6 +28,7 @@ import { createPool, createRewardDistributor, } from './create'; +import { vWETHLiquidStakedETHAddress, vWETHCoreAddress } from '../constants/addresses'; import { getMarketPosition, getMarket } from './get'; // BIFI was delisted before it was listed. Creation ignores this market. @@ -153,6 +154,20 @@ export const getOrCreateRewardDistributor = ( */ export function getOrCreateToken(asset: Address): Token { let tokenEntity = Token.load(getTokenId(asset)); + if (asset.equals(vWETHCoreAddress) || asset.equals(vWETHLiquidStakedETHAddress)) { + tokenEntity = new Token( + getTokenId( + Address.fromBytes(Bytes.fromHexString('0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9')), + ), + ); + tokenEntity.address = Address.fromBytes( + Bytes.fromHexString('0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9'), + ); + tokenEntity.name = 'Wrapped Ether'; + tokenEntity.symbol = 'WETH '; + tokenEntity.decimals = 18; + tokenEntity.save(); + } if (!tokenEntity) { const erc20 = BEP20.bind(asset); diff --git a/subgraphs/venus/src/operations/getOrCreate.ts b/subgraphs/venus/src/operations/getOrCreate.ts index e7cc440e..b5856544 100644 --- a/subgraphs/venus/src/operations/getOrCreate.ts +++ b/subgraphs/venus/src/operations/getOrCreate.ts @@ -61,10 +61,6 @@ export function getOrCreateMarket(marketAddress: Address, event: ethereum.Event) tokenEntity.decimals = 18; tokenEntity.save(); market.underlyingToken = tokenEntity.id; - } else if (marketAddress.equals(vwbETHAddress)) { - market.underlyingToken = getOrCreateToken( - Address.fromBytes(Bytes.fromHexString('0x9c37E59Ba22c4320547F00D4f1857AF1abd1Dd6f')), - ).id; } else { market.underlyingToken = getOrCreateToken(vTokenContract.underlying()).id; } @@ -177,6 +173,20 @@ export function getOrCreateToken(asset: Address): Token { let tokenEntity = Token.load(getTokenId(asset)); if (!tokenEntity) { + if (asset.equals(vwbETHAddress)) { + tokenEntity = new Token( + getTokenId( + Address.fromBytes(Bytes.fromHexString('0x9c37E59Ba22c4320547F00D4f1857AF1abd1Dd6f')), + ), + ); + tokenEntity.address = Address.fromBytes( + Bytes.fromHexString('0x9c37E59Ba22c4320547F00D4f1857AF1abd1Dd6f'), + ); + tokenEntity.name = 'Wrapped Binance Beacon ETH'; + tokenEntity.symbol = 'wBETH'; + tokenEntity.decimals = 18; + tokenEntity.save(); + } const erc20 = BEP20.bind(asset); tokenEntity = new Token(getTokenId(asset)); tokenEntity.address = asset;