We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"@aave/contract-helpers": "^1.32.1", "@aave/math-utils": "^1.32.1",
getReservesData works, but getReservesHumanized fails with:
getReservesData
getReservesHumanized
Error: overflow [ See: https://links.ethers.org/v5-errors-NUMERIC_FAULT-overflow ] (fault="overflow", operation="toNumber", value="20000000000000000000000000", code=NUMERIC_FAULT, version=bignumber/5.7.0) at Logger.Logger.makeError (/home/me/c/onchain-actions/node_modules/@ethersproject/logger/src.ts/index.ts:269:28) at Logger.Logger.throwError (/home/me/c/onchain-actions/node_modules/@ethersproject/logger/src.ts/index.ts:281:20) at throwFault (/home/me/c/onchain-actions/node_modules/@ethersproject/bignumber/src.ts/bignumber.ts:356:19) at BigNumber.BigNumber.toNumber (/home/me/c/onchain-actions/node_modules/@ethersproject/bignumber/src.ts/bignumber.ts:186:13) at <anonymous> (/home/me/c/onchain-actions/node_modules/@aave/contract-helpers/src/v3-UiPoolDataProvider-contract/index.ts:187:63) at Array.map (<anonymous>) at UiPoolDataProvider.getReservesHumanized (/home/me/c/onchain-actions/node_modules/@aave/contract-helpers/src/v3-UiPoolDataProvider-contract/index.ts:134:62) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async getPools (/home/me/c/onchain-actions/test/adapters/aave/index.ts:32:28) at async <anonymous> (/home/me/c/onchain-actions/test/adapters/aave/index.ts:45:13) { reason: 'overflow', code: 'NUMERIC_FAULT', fault: 'overflow', operation: 'toNumber', value: '20000000000000000000000000' }
Here's the complete reproducible example:
import { ethers } from 'ethers'; import { UiPoolDataProvider, ReserveDataHumanized, } from '@aave/contract-helpers'; // sepolia setup // https://search.onaave.com/?q=sepoloa const sepolia_rpc = 'https://sepolia.drpc.org' const sepolia_chain_id = 11155111; const poolAddressesProvider = '0x012bAC54348C0E635dCAc9D5FB99f06F24136C9A' const uiPoolDataProvider = '0x69529987FA4A075D0C00B0128fa848dc9ebbE9CE' function getProvider() { return new ethers.providers.JsonRpcProvider(sepolia_rpc); } function getPoolDataProvider() { const provider = getProvider(); return new UiPoolDataProvider({ uiPoolDataProviderAddress: uiPoolDataProvider, provider, chainId: sepolia_chain_id, }); } async function getPools(assets?: string[]): Promise<ReserveDataHumanized[]> { const poolDataProvider = getPoolDataProvider(); const reservesResponse = await poolDataProvider.getReservesHumanized({ lendingPoolAddressProvider: poolAddressesProvider, }); let reserves = reservesResponse.reservesData; if (assets && assets.length > 0) { const normalizedAssets = assets.map(a => ethers.utils.getAddress(a)); reserves = reserves.filter((r: any) => normalizedAssets.includes(r.underlyingAsset) ); } return reserves; } console.log(await getPools());
Specifically, it fails here:
unbacked: reserveRaw.unbacked.toString(), isolationModeTotalDebt: reserveRaw.isolationModeTotalDebt.toString(), > debtCeilingDecimals: reserveRaw.debtCeilingDecimals.toNumber(), isSiloedBorrowing: reserveRaw.isSiloedBorrowing, flashLoanEnabled: reserveRaw.flashLoanEnabled,
There is no overflow. I checked very carefully if it is the same problem as #431, but it seems that it is not
The text was updated successfully, but these errors were encountered:
Fix aave#620
9905675
Prevents numeric overflow by representing the number as string
Successfully merging a pull request may close this issue.
Bug Report
Package name / version
Description
getReservesData
works, butgetReservesHumanized
fails with:Steps to reproduce
Here's the complete reproducible example:
Specifically, it fails here:
Expected behavior
There is no overflow. I checked very carefully if it is the same problem as #431, but it seems that it is not
Environment
The text was updated successfully, but these errors were encountered: