diff --git a/subgraphs/protocol-reserve/schema.graphql b/subgraphs/protocol-reserve/schema.graphql index 9ea11641..f6824d95 100644 --- a/subgraphs/protocol-reserve/schema.graphql +++ b/subgraphs/protocol-reserve/schema.graphql @@ -36,7 +36,7 @@ type TokenConverter @entity { address: Bytes! converterNetwork: ConverterNetwork destinationAddress: Bytes! - baseAsset: Bytes! + baseAsset: Token! configs: [TokenConverterConfig!]! @derivedFrom(field: "tokenConverter") paused: Boolean! priceOracleAddress: Bytes! diff --git a/subgraphs/protocol-reserve/src/operations/create.ts b/subgraphs/protocol-reserve/src/operations/create.ts index e036b125..92b916d6 100644 --- a/subgraphs/protocol-reserve/src/operations/create.ts +++ b/subgraphs/protocol-reserve/src/operations/create.ts @@ -37,13 +37,14 @@ export function createTokenConverter(tokenConverterAddress: Address): TokenConve if (tokenConverterAddress.equals(riskFundConverterAddress)) { const riskFund = RiskFund.bind(riskFundAddress); - tokenConverter.baseAsset = valueOrNotAvailableAddressIfReverted( - riskFund.try_convertibleBaseAsset(), - ); + const baseAsset = valueOrNotAvailableAddressIfReverted(riskFund.try_convertibleBaseAsset()); + + tokenConverter.baseAsset = getOrCreateToken(baseAsset).id; } else { - tokenConverter.baseAsset = valueOrNotAvailableAddressIfReverted( + const baseAsset = (tokenConverter.baseAsset = valueOrNotAvailableAddressIfReverted( tokenConverterContract.try_baseAsset(), - ); + )); + tokenConverter.baseAsset = getOrCreateToken(baseAsset).id; } tokenConverter.priceOracleAddress = valueOrNotAvailableAddressIfReverted( tokenConverterContract.try_priceOracle(),