aave-utilities
aave-utilities copied to clipboard
NETWORK_ERROR When Using UiPoolDataProvider in Next.js API
Question
Hi, I am trying to use the UiPoolDataProvider inside a simple Next.js API route I'm encountering the error: 'NETWORK_ERROR'. See below
My questions:
- Does UiPoolDataProvider have any client-side client-side dependencies that might prevent it from running in a server environment ?
- Is this setup expected to work in a Next.js API route?
Package version
"@aave/contract-helpers": "^1.30.5",
"@aave/math-utils": "^1.30.5",
"@bgd-labs/aave-address-book": "^4.8.1",
"ethers": "^5.7.2",
"next": "14.2.5",
GET route
for reproduction
import { NextResponse } from 'next/server'
import { ChainId, UiPoolDataProvider } from '@aave/contract-helpers'
import { ethers } from 'ethers'
import { AaveV3Ethereum } from '@bgd-labs/aave-address-book'
export async function GET() {
const poolDataProviderContract = new UiPoolDataProvider({
uiPoolDataProviderAddress: AaveV3Ethereum.UI_POOL_DATA_PROVIDER,
provider: new ethers.providers.JsonRpcProvider('https://eth.llamarpc.com'),
chainId: ChainId.mainnet,
})
const reserves = await poolDataProviderContract.getReservesHumanized({
lendingPoolAddressProvider: AaveV3Ethereum.POOL_ADDRESSES_PROVIDER
})
const reservesArray = reserves.reservesData
const baseCurrencyData = reserves.baseCurrencyData
const formattedPoolReserves = formatReserves({
reserves: reservesArray,
marketReferenceCurrencyDecimals: baseCurrencyData.marketReferenceCurrencyDecimals,
marketReferencePriceInUsd: baseCurrencyData.marketReferenceCurrencyPriceInUsd,
})
return NextResponse.json(formattedPoolReserves)
}
Error
GET /api/... 500 in 10ms
⨯ Error: could not detect network (event="noNetwork", code=NETWORK_ERROR, version=providers/5.7.2)
at Logger.makeError (webpack-internal:///(rsc)/./node_modules/.pnpm/@[email protected]/node_modules/@ethersproject/logger/lib.esm/index.js:231:23)
at Logger.throwError (webpack-internal:///(rsc)/./node_modules/.pnpm/@[email protected]/node_modules/@ethersproject/logger/lib.esm/index.js:240:20)
at JsonRpcProvider.eval (webpack-internal:///(rsc)/./node_modules/.pnpm/@[email protected]/node_modules/@ethersproject/providers/lib.esm/json-rpc-provider.js:458:27)
at Generator.throw (<anonymous>)
at rejected (webpack-internal:///(rsc)/./node_modules/.pnpm/@[email protected]/node_modules/@ethersproject/providers/lib.esm/json-rpc-provider.js:22:65)
at runNextTicks (node:internal/process/task_queues:65:5)
at listOnTimeout (node:internal/timers:575:9)
at process.processTimers (node:internal/timers:549:7) {
reason: 'could not detect network',
code: 'NETWORK_ERROR',
event: 'noNetwork'
}