Skip to content

NETWORK_ERROR When Using UiPoolDataProvider in Next.js API #616

@fberger-xyz

Description

@fberger-xyz

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'
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions