Skip to content

Conversation

@0xRichter
Copy link
Contributor

This change rewrites the currently broken Aura adaptor. The existing implementation does not show accurate APRs, misses many pools, and does not support a number of chains.

The new implementation utilises the Balancer and Aura subgraphs, as well as on-chain data in order to provide accurate APRs for the pools through implementing the in-app APR calculations within the adaptor.

@0xRichter 0xRichter force-pushed the aura-adapter branch 2 times, most recently from d96e5bb to ba834c8 Compare October 17, 2025 00:32
@llamatester
Copy link

Error while running aura adapter:

> defillama-apy-server@1.0.0 test
> jest

FAIL src/adaptors/test.js
  Running aura Test
    ✓ Check if link to the pool's page exist (1 ms)
    ✓ Check for unique pool ids (1 ms)
    ✓ Check project field is constant in all pools and if folder name and project field in pool objects matches the information in /protocols slug (1 ms)
    Check for allowed field names
      ✓ Expects pool id ethereum-109 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-153 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-246 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-19 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-260 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-254 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-99 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-189 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-179 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-7 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-182 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-221 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-61 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-139 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-18 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-27 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-12 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-52 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-262 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-104 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-24 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-101 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-21 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-104 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-74 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id optimism-14 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-100 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-28 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-20 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-266 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-98 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-66 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id gnosis-25 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-227 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-19 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-269 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-188 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-105 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-185 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-119 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-265 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-97 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-0 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-229 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-60 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-105 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-16 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-264 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (3 ms)
      ✓ Expects pool id gnosis-30 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-125 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-34 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-22 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-235 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-95 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-207 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-22 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-261 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-24 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-258 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-240 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-6 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-16 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id arbitrum-91 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-211 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-177 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-263 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-157 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-110 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id polygon-30 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-17 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-210 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-208 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-71 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-6 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-23 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id base-15 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-33 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-1 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-9 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-154 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-25 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-35 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-0 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-28 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-16 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-29 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-268 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-17 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-270 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-51 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-93 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-152 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-101 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-2 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-205 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id base-18 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-25 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-50 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-5 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-26 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-0 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-253 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-198 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-18 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-24 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-66 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-5 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-176 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-54 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id arbitrum-94 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-15 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-175 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-28 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-243 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-5 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-95 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id arbitrum-82 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-5 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-76 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-79 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-82 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-93 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-116 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-132 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-159 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-168 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-171 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-180 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-181 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-186 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-191 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-193 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-195 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-197 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-213 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-216 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-217 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-219 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url

Nb of pools: 237
 

Sample pools:
┌─────────┬────────────────┬────────────┬─────────┬─────────────────────────┬────────────────────┬────────────────────┬─────────────────────┬──────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬──────────┬────────────────────────────────────────────┐
│ (index) │ pool           │ chain      │ project │ symbol                  │ tvlUsd             │ apyBase            │ apyReward           │ rewardTokens │ underlyingTokens                                                                                                                                               │ poolMeta │ url                                        │
├─────────┼────────────────┼────────────┼─────────┼─────────────────────────┼────────────────────┼────────────────────┼─────────────────────┼──────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────┼────────────────────────────────────────────┤
│ 0       │ 'ethereum-109' │ 'Ethereum' │ 'aura'  │ 'B-RETH-STABLE'         │ 31868770.535667323 │ 0.800581004270162  │ 1.5762870935576476  │ []           │ [ '0xae78736cd615f374d3085123a210448e74fc6393', '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' ]                                                                 │ null     │ 'https://app.aura.finance/#/1/pool/109'    │
│ 1       │ 'ethereum-153' │ 'Ethereum' │ 'aura'  │ 'WSTETH-WETH-BPT'       │ 26625084.494352505 │ 1.4630780293417838 │ 0.66797135614288    │ []           │ [ '0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0', '0x93d199263632a4ef4bb438f1feb99e57b4b5f0bd', '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' ]                   │ null     │ 'https://app.aura.finance/#/1/pool/153'    │
│ 2       │ 'ethereum-246' │ 'Ethereum' │ 'aura'  │ 'AAVEGHO-USDT-USDC'     │ 25590601.005122498 │ 3.8595773276943    │ 8.814931656587351   │ []           │ [ '0x7bc3485026ac48b6cf9baf0a377477fff5703af8', '0xdac17f958d2ee523a2206206994597c13d831ec7', '0xc71ea051a5f82c67adcf634c36ffe6334793d24c', ... 3 more items ] │ null     │ 'https://app.aura.finance/#/1/pool/246'    │
│ 3       │ 'base-19'      │ 'Base'     │ 'aura'  │ 'AAVEUSDC-AAVEGHO'      │ 18439966.316043884 │ 5.242683590143581  │ 6.208407185615237   │ []           │ [ '0x88b1cd4b430d95b406e382c3cdbae54697a0286e', '0x6bb7a212910682dcfdbd5bcbb3e28fb4e8da10ee', '0xc768c589647798a6ee01a91fde98ef2ed046dbd6', ... 1 more item ]  │ null     │ 'https://app.aura.finance/#/8453/pool/19'  │
│ 4       │ 'ethereum-260' │ 'Ethereum' │ 'aura'  │ 'OSETH-WAWETH'          │ 16035954.802829342 │ 2.156491908517956  │ 2.597093272663682   │ []           │ [ '0x0bfc9d54fc184518a81162f8fb99c2eaca081202', '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0xf1c9acdc66974dfb6decb12aa385b9cd01190e38' ]                   │ null     │ 'https://app.aura.finance/#/1/pool/260'    │
│ 5       │ 'ethereum-254' │ 'Ethereum' │ 'aura'  │ 'SURGEFLUIDWSTETH-WETH' │ 15512655.210799284 │ 2.719558383665189  │ 0.32094096197240773 │ []           │ [ '0x2411802d8bea09be0af8fd8d08314a63e706b29c', '0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0', '0x90551c1795392094fe6d29b758eccd233cfaa260', ... 1 more item ]  │ null     │ 'https://app.aura.finance/#/1/pool/254'    │
│ 6       │ 'arbitrum-99'  │ 'Arbitrum' │ 'aura'  │ 'AAVEGHO-USDT-USDC'     │ 10493603.965935113 │ 3.5548979227686766 │ 6.308523365790668   │ []           │ [ '0x7f6501d3b98ee91f9b9535e4b0ac710fb0f9e0bc', '0xaf88d065e77c8cc2239327c5edb3a432268e5831', '0xa6d12574efb239fc1d2099732bd8b5dc6306897f', ... 3 more items ] │ null     │ 'https://app.aura.finance/#/42161/pool/99' │
│ 7       │ 'ethereum-189' │ 'Ethereum' │ 'aura'  │ 'EZETH-WETH-BPT'        │ 4790645.641062894  │ 1.4610388358324933 │ 1.2821812613814667  │ []           │ [ '0x596192bb6e41802428ac943d2f1476c1af25cc0e', '0xbf5495efe5db9ce00f80364c8b423567e58d2110', '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' ]                   │ null     │ 'https://app.aura.finance/#/1/pool/189'    │
│ 8       │ 'ethereum-179' │ 'Ethereum' │ 'aura'  │ 'OSETH-WETH-BPT'        │ 4312731.358287701  │ 1.595868670078593  │ 0                   │ []           │ [ '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0xdacf5fa19b1f720111609043ac67a9818262850c', '0xf1c9acdc66974dfb6decb12aa385b9cd01190e38' ]                   │ null     │ 'https://app.aura.finance/#/1/pool/179'    │
│ 9       │ 'base-7'       │ 'Base'     │ 'aura'  │ 'RETH-WETH-BPT'         │ 4228811.714230467  │ 1.2318213982543293 │ 0.7372229319297373  │ []           │ [ '0x4200000000000000000000000000000000000006', '0xb6fe221fe9eef5aba221c348ba20a1bf5e73624c', '0xc771c1a5905420daec317b154eb13e4198ba97d0' ]                   │ null     │ 'https://app.aura.finance/#/8453/pool/7'   │
└─────────┴────────────────┴────────────┴─────────┴─────────────────────────┴────────────────────┴────────────────────┴─────────────────────┴──────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────┴────────────────────────────────────────────┘
This adapter contains some pools with <10k TVL, these pools won't be shown in DefiLlama
}

@llamatester
Copy link

Error while running aura adapter:

> defillama-apy-server@1.0.0 test
> jest

FAIL src/adaptors/test.js
  Running aura Test
    ✓ Check if link to the pool's page exist
    ✓ Check for unique pool ids (2 ms)
    ✓ Check project field is constant in all pools and if folder name and project field in pool objects matches the information in /protocols slug (1 ms)
    Check for allowed field names
      ✓ Expects pool id ethereum-109 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-153 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-246 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-19 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-260 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-254 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-99 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-189 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-179 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id base-7 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-182 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-221 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-61 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-139 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-18 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id gnosis-27 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-12 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-52 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-262 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-104 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id base-24 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-101 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-21 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-104 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-74 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id optimism-14 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-100 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-28 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-20 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-266 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-98 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-66 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-25 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-227 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-19 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-269 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-188 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-105 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-185 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-119 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-265 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-97 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-0 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-229 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-60 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-105 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-16 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-264 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id gnosis-30 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (3 ms)
      ✓ Expects pool id ethereum-125 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-34 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-22 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-235 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-95 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-207 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-22 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-261 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-24 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-258 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-240 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-6 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-16 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-91 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-211 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-177 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-263 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-157 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-110 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-30 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-17 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-210 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-208 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-71 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-6 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-23 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-15 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-33 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-1 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-9 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-154 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-25 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-35 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-0 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-28 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id base-16 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-29 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-268 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-17 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-270 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-51 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-93 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-152 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-101 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-2 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-205 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-18 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-25 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-50 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id polygon-5 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-26 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-0 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-253 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-198 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-18 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-24 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-66 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-5 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-176 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-54 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-94 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-15 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-175 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-28 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-243 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-5 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-95 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-82 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-5 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-76 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-79 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-82 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-93 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-116 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-132 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-159 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-168 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-171 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-180 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-181 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-186 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-191 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-193 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-195 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-197 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-213 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-216 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-217 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-219 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-222 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-224 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-225 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-228 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-230 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-231 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-233 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-234 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-236 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-237 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-238 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-239 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-241 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-242 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-244 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-245 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-247 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-248 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-249 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-250 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-251 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-252 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-255 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-256 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-257 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (2 ms)
      ✓ Expects pool id ethereum-259 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-267 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-9 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-12 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-22 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-43 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-44 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id arbitrum-55 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-56 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-57 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-59 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-60 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-61 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-64 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-65 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-67 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-68 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-69 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-74 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-84 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-86 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-87 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-89 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-92 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-96 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-100 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-102 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-103 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-106 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-4 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-5 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-11 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-13 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-14 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-20 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-26 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-27 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-28 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-5 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-6 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-7 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-8 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-9 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-10 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-11 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-12 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-21 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-26 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-29 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id gnosis-31 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-32 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-1 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-10 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-13 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-15 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-19 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id optimism-21 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-22 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-29 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-30 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-31 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-32 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-33 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-34 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id polygon-10 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-18 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-19 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-21 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-22 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-23 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-26 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id polygon-28 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-29 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-31 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
    Check apy data types
      ✓ Expects pool with id ethereum-109 to have at least one number apy field
      ✓ Expects pool with id ethereum-153 to have at least one number apy field
      ✓ Expects pool with id ethereum-246 to have at least one number apy field
      ✓ Expects pool with id base-19 to have at least one number apy field (1 ms)
      ✓ Expects pool with id ethereum-260 to have at least one number apy field
      ✓ Expects pool with id ethereum-254 to have at least one number apy field
      ✓ Expects pool with id arbitrum-99 to have at least one number apy field
      ✓ Expects pool with id ethereum-189 to have at least one number apy field
      ✓ Expects pool with id ethereum-179 to have at least one number apy field
      ✓ Expects pool with id base-7 to have at least one number apy field (1 ms)
      ✓ Expects pool with id ethereum-182 to have at least one number apy field
      ✓ Expects pool with id ethereum-221 to have at least one number apy field
      ✓ Expects pool with id ethereum-61 to have at least one number apy field
      ✓ Expects pool with id ethereum-139 to have at least one number apy field
      ✓ Expects pool with id gnosis-18 to have at least one number apy field
      ✓ Expects pool with id gnosis-27 to have at least one number apy field
      ✓ Expects pool with id polygon-12 to have at least one number apy field (1 ms)
      ✓ Expects pool with id arbitrum-52 to have at least one number apy field
      ✓ Expects pool with id ethereum-262 to have at least one number apy field
      ✓ Expects pool with id ethereum-104 to have at least one number apy field
      ✓ Expects pool with id base-24 to have at least one number apy field
      ✓ Expects pool with id ethereum-101 to have at least one number apy field
      ✓ Expects pool with id base-21 to have at least one number apy field
      ✓ Expects pool with id arbitrum-104 to have at least one number apy field (1 ms)
      ✓ Expects pool with id ethereum-74 to have at least one number apy field
      ✓ Expects pool with id optimism-14 to have at least one number apy field
      ✓ Expects pool with id ethereum-100 to have at least one number apy field
      ✓ Expects pool with id gnosis-28 to have at least one number apy field
      ✓ Expects pool with id gnosis-20 to have at least one number apy field
      ✓ Expects pool with id ethereum-266 to have at least one number apy field
      ✓ Expects pool with id arbitrum-98 to have at least one number apy field (1 ms)
      ✓ Expects pool with id arbitrum-66 to have at least one number apy field
      ✓ Expects pool with id gnosis-25 to have at least one number apy field
      ✓ Expects pool with id ethereum-227 to have at least one number apy field
      ✓ Expects pool with id gnosis-19 to have at least one number apy field
      ✓ Expects pool with id ethereum-269 to have at least one number apy field
      ✓ Expects pool with id ethereum-188 to have at least one number apy field
      ✓ Expects pool with id arbitrum-105 to have at least one number apy field
      ✓ Expects pool with id ethereum-185 to have at least one number apy field
      ✓ Expects pool with id ethereum-119 to have at least one number apy field
      ✓ Expects pool with id ethereum-265 to have at least one number apy field
      ✓ Expects pool with id arbitrum-97 to have at least one number apy field
      ✓ Expects pool with id gnosis-0 to have at least one number apy field
      ✓ Expects pool with id ethereum-229 to have at least one number apy field
      ✓ Expects pool with id ethereum-60 to have at least one number apy field (1 ms)
      ✓ Expects pool with id ethereum-105 to have at least one number apy field
      ✓ Expects pool with id optimism-16 to have at least one number apy field
      ✓ Expects pool with id ethereum-264 to have at least one number apy field
      ✓ Expects pool with id gnosis-30 to have at least one number apy field
      ✓ Expects pool with id ethereum-125 to have at least one number apy field
      ✓ Expects pool with id gnosis-34 to have at least one number apy field
      ✓ Expects pool with id base-22 to have at least one number apy field (1 ms)
      ✓ Expects pool with id ethereum-235 to have at least one number apy field
      ✓ Expects pool with id ethereum-95 to have at least one number apy field
      ✓ Expects pool with id ethereum-207 to have at least one number apy field
      ✓ Expects pool with id gnosis-22 to have at least one number apy field
      ✓ Expects pool with id ethereum-261 to have at least one number apy field
      ✓ Expects pool with id polygon-24 to have at least one number apy field
      ✓ Expects pool with id ethereum-258 to have at least one number apy field
      ✓ Expects pool with id ethereum-240 to have at least one number apy field
      ✓ Expects pool with id polygon-6 to have at least one number apy field
      ✓ Expects pool with id polygon-16 to have at least one number apy field
      ✓ Expects pool with id arbitrum-91 to have at least one number apy field
      ✓ Expects pool with id ethereum-211 to have at least one number apy field
      ✓ Expects pool with id ethereum-177 to have at least one number apy field
      ✓ Expects pool with id ethereum-263 to have at least one number apy field (1 ms)
      ✓ Expects pool with id ethereum-157 to have at least one number apy field
      ✓ Expects pool with id ethereum-110 to have at least one number apy field (1 ms)
      ✓ Expects pool with id polygon-30 to have at least one number apy field
      ✓ Expects pool with id gnosis-17 to have at least one number apy field
      ✓ Expects pool with id ethereum-210 to have at least one number apy field
      ✓ Expects pool with id ethereum-208 to have at least one number apy field
      ✓ Expects pool with id arbitrum-71 to have at least one number apy field
      ✓ Expects pool with id optimism-6 to have at least one number apy field
      ✓ Expects pool with id base-23 to have at least one number apy field
      ✓ Expects pool with id base-15 to have at least one number apy field
      ✓ Expects pool with id gnosis-33 to have at least one number apy field
      ✓ Expects pool with id arbitrum-1 to have at least one number apy field
      ✓ Expects pool with id base-9 to have at least one number apy field (1 ms)
      ✓ Expects pool with id ethereum-154 to have at least one number apy field
      ✓ Expects pool with id base-25 to have at least one number apy field
      ✓ Expects pool with id gnosis-35 to have at least one number apy field
      ✓ Expects pool with id optimism-0 to have at least one number apy field (1 ms)
      ✓ Expects pool with id optimism-28 to have at least one number apy field
      ✓ Expects pool with id base-16 to have at least one number apy field
      ✓ Expects pool with id arbitrum-29 to have at least one number apy field
      ✓ Expects pool with id ethereum-268 to have at least one number apy field
      ✓ Expects pool with id polygon-17 to have at least one number apy field
      ✓ Expects pool with id ethereum-270 to have at least one number apy field
      ✓ Expects pool with id arbitrum-51 to have at least one number apy field
      ✓ Expects pool with id arbitrum-93 to have at least one number apy field
      ✓ Expects pool with id ethereum-152 to have at least one number apy field (1 ms)
      ✓ Expects pool with id arbitrum-101 to have at least one number apy field
      ✓ Expects pool with id avalanche-2 to have at least one number apy field
      ✓ Expects pool with id ethereum-205 to have at least one number apy field
      ✓ Expects pool with id base-18 to have at least one number apy field
      ✓ Expects pool with id optimism-25 to have at least one number apy field
      ✓ Expects pool with id arbitrum-50 to have at least one number apy field
      ✓ Expects pool with id polygon-5 to have at least one number apy field
      ✓ Expects pool with id arbitrum-26 to have at least one number apy field
      ✓ Expects pool with id avalanche-0 to have at least one number apy field
      ✓ Expects pool with id ethereum-253 to have at least one number apy field
      ✓ Expects pool with id ethereum-198 to have at least one number apy field
      ✓ Expects pool with id optimism-18 to have at least one number apy field
      ✓ Expects pool with id optimism-24 to have at least one number apy field
      ✓ Expects pool with id ethereum-66 to have at least one number apy field
      ✓ Expects pool with id gnosis-5 to have at least one number apy field
      ✓ Expects pool with id ethereum-176 to have at least one number apy field
      ✓ Expects pool with id arbitrum-54 to have at least one number apy field
      ✓ Expects pool with id arbitrum-94 to have at least one number apy field
      ✓ Expects pool with id gnosis-15 to have at least one number apy field
      ✓ Expects pool with id ethereum-175 to have at least one number apy field
      ✓ Expects pool with id arbitrum-28 to have at least one number apy field
      ✓ Expects pool with id ethereum-243 to have at least one number apy field
      ✓ Expects pool with id arbitrum-5 to have at least one number apy field
      ✓ Expects pool with id arbitrum-95 to have at least one number apy field (1 ms)
      ✓ Expects pool with id arbitrum-82 to have at least one number apy field
      ✓ Expects pool with id optimism-5 to have at least one number apy field
      ✓ Expects pool with id ethereum-76 to have at least one number apy field
      ✓ Expects pool with id ethereum-79 to have at least one number apy field
      ✓ Expects pool with id ethereum-82 to have at least one number apy field
      ✓ Expects pool with id ethereum-93 to have at least one number apy field
      ✓ Expects pool with id ethereum-116 to have at least one number apy field (1 ms)
      ✓ Expects pool with id ethereum-132 to have at least one number apy field
      ✓ Expects pool with id ethereum-159 to have at least one number apy field
      ✓ Expects pool with id ethereum-168 to have at least one number apy field
      ✓ Expects pool with id ethereum-171 to have at least one number apy field
      ✓ Expects pool with id ethereum-180 to have at least one number apy field
      ✓ Expects pool with id ethereum-181 to have at least one number apy field
      ✓ Expects pool with id ethereum-186 to have at least one number apy field
      ✓ Expects pool with id ethereum-191 to have at least one number apy field
      ✓ Expects pool with id ethereum-193 to have at least one number apy field
      ✓ Expects pool with id ethereum-195 to have at least one number apy field
      ✓ Expects pool with id ethereum-197 to have at least one number apy field
      ✓ Expects pool with id ethereum-213 to have at least one number apy field
      ✓ Expects pool with id ethereum-216 to have at least one number apy field
      ✓ Expects pool with id ethereum-217 to have at least one number apy field
      ✓ Expects pool with id ethereum-219 to have at least one number apy field (1 ms)
      ✓ Expects pool with id ethereum-222 to have at least one number apy field
      ✓ Expects pool with id ethereum-224 to have at least one number apy field
      ✓ Expects pool with id ethereum-225 to have at least one number apy field
      ✓ Expects pool with id ethereum-228 to have at least one number apy field
      ✓ Expects pool with id ethereum-230 to have at least one number apy field
      ✓ Expects pool with id ethereum-231 to have at least one number apy field
      ✓ Expects pool with id ethereum-233 to have at least one number apy field
      ✓ Expects pool with id ethereum-234 to have at least one number apy field
      ✓ Expects pool with id ethereum-236 to have at least one number apy field
      ✓ Expects pool with id ethereum-237 to have at least one number apy field
      ✓ Expects pool with id ethereum-238 to have at least one number apy field
      ✓ Expects pool with id ethereum-239 to have at least one number apy field
      ✓ Expects pool with id ethereum-241 to have at least one number apy field
      ✓ Expects pool with id ethereum-242 to have at least one number apy field
      ✓ Expects pool with id ethereum-244 to have at least one number apy field
      ✓ Expects pool with id ethereum-245 to have at least one number apy field
      ✓ Expects pool with id ethereum-247 to have at least one number apy field
      ✓ Expects pool with id ethereum-248 to have at least one number apy field
      ✓ Expects pool with id ethereum-249 to have at least one number apy field
      ✓ Expects pool with id ethereum-250 to have at least one number apy field
      ✓ Expects pool with id ethereum-251 to have at least one number apy field
      ✓ Expects pool with id ethereum-252 to have at least one number apy field
      ✓ Expects pool with id ethereum-255 to have at least one number apy field (1 ms)
      ✓ Expects pool with id ethereum-256 to have at least one number apy field
      ✓ Expects pool with id ethereum-257 to have at least one number apy field
      ✓ Expects pool with id ethereum-259 to have at least one number apy field
      ✓ Expects pool with id ethereum-267 to have at least one number apy field
      ✓ Expects pool with id arbitrum-9 to have at least one number apy field
      ✓ Expects pool with id arbitrum-12 to have at least one number apy field
      ✓ Expects pool with id arbitrum-22 to have at least one number apy field
      ✓ Expects pool with id arbitrum-43 to have at least one number apy field (1 ms)
      ✓ Expects pool with id arbitrum-44 to have at least one number apy field
      ✓ Expects pool with id arbitrum-55 to have at least one number apy field
      ✓ Expects pool with id arbitrum-56 to have at least one number apy field
      ✓ Expects pool with id arbitrum-57 to have at least one number apy field
      ✓ Expects pool with id arbitrum-59 to have at least one number apy field
      ✓ Expects pool with id arbitrum-60 to have at least one number apy field
      ✓ Expects pool with id arbitrum-61 to have at least one number apy field
      ✓ Expects pool with id arbitrum-64 to have at least one number apy field (1 ms)
      ✓ Expects pool with id arbitrum-65 to have at least one number apy field
      ✓ Expects pool with id arbitrum-67 to have at least one number apy field
      ✓ Expects pool with id arbitrum-68 to have at least one number apy field
      ✓ Expects pool with id arbitrum-69 to have at least one number apy field
      ✓ Expects pool with id arbitrum-74 to have at least one number apy field
      ✓ Expects pool with id arbitrum-84 to have at least one number apy field
      ✓ Expects pool with id arbitrum-86 to have at least one number apy field (1 ms)
      ✓ Expects pool with id arbitrum-87 to have at least one number apy field
      ✓ Expects pool with id arbitrum-89 to have at least one number apy field
      ✓ Expects pool with id arbitrum-92 to have at least one number apy field
      ✓ Expects pool with id arbitrum-96 to have at least one number apy field
      ✓ Expects pool with id arbitrum-100 to have at least one number apy field
      ✓ Expects pool with id arbitrum-102 to have at least one number apy field (1 ms)
      ✓ Expects pool with id arbitrum-103 to have at least one number apy field
      ✓ Expects pool with id arbitrum-106 to have at least one number apy field
      ✓ Expects pool with id base-4 to have at least one number apy field
      ✓ Expects pool with id base-5 to have at least one number apy field
      ✓ Expects pool with id base-11 to have at least one number apy field
      ✓ Expects pool with id base-13 to have at least one number apy field
      ✓ Expects pool with id base-14 to have at least one number apy field (1 ms)
      ✓ Expects pool with id base-20 to have at least one number apy field
      ✓ Expects pool with id base-26 to have at least one number apy field
      ✓ Expects pool with id base-27 to have at least one number apy field
      ✓ Expects pool with id base-28 to have at least one number apy field
      ✓ Expects pool with id avalanche-5 to have at least one number apy field
      ✓ Expects pool with id avalanche-6 to have at least one number apy field
      ✓ Expects pool with id avalanche-7 to have at least one number apy field
      ✓ Expects pool with id avalanche-8 to have at least one number apy field
      ✓ Expects pool with id avalanche-9 to have at least one number apy field
      ✓ Expects pool with id avalanche-10 to have at least one number apy field
      ✓ Expects pool with id avalanche-11 to have at least one number apy field
      ✓ Expects pool with id avalanche-12 to have at least one number apy field
      ✓ Expects pool with id gnosis-21 to have at least one number apy field (1 ms)
      ✓ Expects pool with id gnosis-26 to have at least one number apy field
      ✓ Expects pool with id gnosis-29 to have at least one number apy field (1 ms)
      ✓ Expects pool with id gnosis-31 to have at least one number apy field
      ✓ Expects pool with id gnosis-32 to have at least one number apy field
      ✓ Expects pool with id optimism-1 to have at least one number apy field
      ✓ Expects pool with id optimism-10 to have at least one number apy field (1 ms)
      ✓ Expects pool with id optimism-13 to have at least one number apy field
      ✓ Expects pool with id optimism-15 to have at least one number apy field
      ✓ Expects pool with id optimism-19 to have at least one number apy field
      ✓ Expects pool with id optimism-21 to have at least one number apy field
      ✓ Expects pool with id optimism-22 to have at least one number apy field (1 ms)
      ✓ Expects pool with id optimism-29 to have at least one number apy field
      ✓ Expects pool with id optimism-30 to have at least one number apy field
      ✓ Expects pool with id optimism-31 to have at least one number apy field
      ✓ Expects pool with id optimism-32 to have at least one number apy field
      ✓ Expects pool with id optimism-33 to have at least one number apy field
      ✓ Expects pool with id optimism-34 to have at least one number apy field
      ✓ Expects pool with id polygon-10 to have at least one number apy field
      ✓ Expects pool with id polygon-18 to have at least one number apy field
      ✓ Expects pool with id polygon-19 to have at least one number apy field (1 ms)
      ✓ Expects pool with id polygon-21 to have at least one number apy field
      ✓ Expects pool with id polygon-22 to have at least one number apy field
      ✓ Expects pool with id polygon-23 to have at least one number apy field
      ✓ Expects pool with id polygon-26 to have at least one number apy field
      ✓ Expects pool with id polygon-28 to have at least one number apy field (1 ms)
      ✓ Expects pool with id polygon-29 to have at least one number apy field
      ✓ Expects pool with id polygon-31 to have at least one number apy field
    Check tvl data type
      ✓ tvlUsd field of pool with id ethereum-109 should be number 
      ✓ tvlUsd field of pool with id ethereum-153 should be number  (1 ms)
      ✓ tvlUsd field of pool with id ethereum-246 should be number 
      ✓ tvlUsd field of pool with id base-19 should be number 
      ✓ tvlUsd field of pool with id ethereum-260 should be number 
      ✓ tvlUsd field of pool with id ethereum-254 should be number 
      ✓ tvlUsd field of pool with id arbitrum-99 should be number 
      ✓ tvlUsd field of pool with id ethereum-189 should be number 
      ✓ tvlUsd field of pool with id ethereum-179 should be number 
      ✓ tvlUsd field of pool with id base-7 should be number 
      ✓ tvlUsd field of pool with id ethereum-182 should be number  (1 ms)
      ✓ tvlUsd field of pool with id ethereum-221 should be number 
      ✓ tvlUsd field of pool with id ethereum-61 should be number 
      ✓ tvlUsd field of pool with id ethereum-139 should be number 
      ✓ tvlUsd field of pool with id gnosis-18 should be number 
      ✓ tvlUsd field of pool with id gnosis-27 should be number 
      ✓ tvlUsd field of pool with id polygon-12 should be number 
      ✓ tvlUsd field of pool with id arbitrum-52 should be number 
      ✓ tvlUsd field of pool with id ethereum-262 should be number 
      ✓ tvlUsd field of pool with id ethereum-104 should be number  (1 ms)
      ✓ tvlUsd field of pool with id base-24 should be number 
      ✓ tvlUsd field of pool with id ethereum-101 should be number 
      ✓ tvlUsd field of pool with id base-21 should be number 
      ✓ tvlUsd field of pool with id arbitrum-104 should be number 
      ✓ tvlUsd field of pool with id ethereum-74 should be number  (1 ms)
      ✓ tvlUsd field of pool with id optimism-14 should be number 
      ✓ tvlUsd field of pool with id ethereum-100 should be number 
      ✓ tvlUsd field of pool with id gnosis-28 should be number 
      ✓ tvlUsd field of pool with id gnosis-20 should be number 
      ✓ tvlUsd field of pool with id ethereum-266 should be number 
      ✓ tvlUsd field of pool with id arbitrum-98 should be number 
      ✓ tvlUsd field of pool with id arbitrum-66 should be number 
      ✓ tvlUsd field of pool with id gnosis-25 should be number 
      ✓ tvlUsd field of pool with id ethereum-227 should be number 
      ✓ tvlUsd field of pool with id gnosis-19 should be number 
      ✓ tvlUsd field of pool with id ethereum-269 should be number 
      ✓ tvlUsd field of pool with id ethereum-188 should be number 
      ✓ tvlUsd field of pool with id arbitrum-105 should be number  (1 ms)
      ✓ tvlUsd field of pool with id ethereum-185 should be number 
      ✓ tvlUsd field of pool with id ethereum-119 should be number 
      ✓ tvlUsd field of pool with id ethereum-265 should be number 
      ✓ tvlUsd field of pool with id arbitrum-97 should be number 
      ✓ tvlUsd field of pool with id gnosis-0 should be number 
      ✓ tvlUsd field of pool with id ethereum-229 should be number 
      ✓ tvlUsd field of pool with id ethereum-60 should be number  (1 ms)
      ✓ tvlUsd field of pool with id ethereum-105 should be number 
      ✓ tvlUsd field of pool with id optimism-16 should be number 
      ✓ tvlUsd field of pool with id ethereum-264 should be number 
      ✓ tvlUsd field of pool with id gnosis-30 should be number  (1 ms)
      ✓ tvlUsd field of pool with id ethereum-125 should be number 
      ✓ tvlUsd field of pool with id gnosis-34 should be number 
      ✓ tvlUsd field of pool with id base-22 should be number 
      ✓ tvlUsd field of pool with id ethereum-235 should be number 
      ✓ tvlUsd field of pool with id ethereum-95 should be number  (1 ms)
      ✓ tvlUsd field of pool with id ethereum-207 should be number 
      ✓ tvlUsd field of pool with id gnosis-22 should be number 
      ✓ tvlUsd field of pool with id ethereum-261 should be number 
      ✓ tvlUsd field of pool with id polygon-24 should be number 
      ✓ tvlUsd field of pool with id ethereum-258 should be number 
      ✓ tvlUsd field of pool with id ethereum-240 should be number  (1 ms)
      ✓ tvlUsd field of pool with id polygon-6 should be number 
      ✓ tvlUsd field of pool with id polygon-16 should be number 
      ✓ tvlUsd field of pool with id arbitrum-91 should be number 
      ✓ tvlUsd field of pool with id ethereum-211 should be number 
      ✓ tvlUsd field of pool with id ethereum-177 should be number 
      ✓ tvlUsd field of pool with id ethereum-263 should be number 
      ✓ tvlUsd field of pool with id ethereum-157 should be number 
      ✓ tvlUsd field of pool with id ethereum-110 should be number  (1 ms)
      ✓ tvlUsd field of pool with id polygon-30 should be number 
      ✓ tvlUsd field of pool with id gnosis-17 should be number 
      ✓ tvlUsd field of pool with id ethereum-210 should be number 
      ✓ tvlUsd field of pool with id ethereum-208 should be number 
      ✓ tvlUsd field of pool with id arbitrum-71 should be number 
      ✓ tvlUsd field of pool with id optimism-6 should be number 
      ✓ tvlUsd field of pool with id base-23 should be number 
      ✓ tvlUsd field of pool with id base-15 should be number 
      ✓ tvlUsd field of pool with id gnosis-33 should be number 
      ✓ tvlUsd field of pool with id arbitrum-1 should be number 
      ✓ tvlUsd field of pool with id base-9 should be number 
      ✓ tvlUsd field of pool with id ethereum-154 should be number 
      ✓ tvlUsd field of pool with id base-25 should be number 
      ✓ tvlUsd field of pool with id gnosis-35 should be number 
      ✓ tvlUsd field of pool with id optimism-0 should be number  (1 ms)
      ✓ tvlUsd field of pool with id optimism-28 should be number 
      ✓ tvlUsd field of pool with id base-16 should be number 
      ✓ tvlUsd field of pool with id arbitrum-29 should be number 
      ✓ tvlUsd field of pool with id ethereum-268 should be number 
      ✓ tvlUsd field of pool with id polygon-17 should be number 
      ✓ tvlUsd field of pool with id ethereum-270 should be number 
      ✓ tvlUsd field of pool with id arbitrum-51 should be number 
      ✓ tvlUsd field of pool with id arbitrum-93 should be number  (1 ms)
      ✓ tvlUsd field of pool with id ethereum-152 should be number 
      ✓ tvlUsd field of pool with id arbitrum-101 should be number 
      ✓ tvlUsd field of pool with id avalanche-2 should be number 
      ✓ tvlUsd field of pool with id ethereum-205 should be number 
      ✓ tvlUsd field of pool with id base-18 should be number 
      ✓ tvlUsd field of pool with id optimism-25 should be number 
      ✓ tvlUsd field of pool with id arbitrum-50 should be number  (1 ms)
      ✓ tvlUsd field of pool with id polygon-5 should be number 
      ✓ tvlUsd field of pool with id arbitrum-26 should be number 
      ✓ tvlUsd field of pool with id avalanche-0 should be number 
      ✓ tvlUsd field of pool with id ethereum-253 should be number 
      ✓ tvlUsd field of pool with id ethereum-198 should be number 
      ✓ tvlUsd field of pool with id optimism-18 should be number 
      ✓ tvlUsd field of pool with id optimism-24 should be number  (1 ms)
      ✓ tvlUsd field of pool with id ethereum-66 should be number 
      ✓ tvlUsd field of pool with id gnosis-5 should be number 
      ✓ tvlUsd field of pool with id ethereum-176 should be number 
      ✓ tvlUsd field of pool with id arbitrum-54 should be number 
      ✓ tvlUsd field of pool with id arbitrum-94 should be number  (1 ms)
      ✓ tvlUsd field of pool with id gnosis-15 should be number 
      ✓ tvlUsd field of pool with id ethereum-175 should be number 
      ✓ tvlUsd field of pool with id arbitrum-28 should be number 
      ✓ tvlUsd field of pool with id ethereum-243 should be number 
      ✓ tvlUsd field of pool with id arbitrum-5 should be number  (1 ms)
      ✓ tvlUsd field of pool with id arbitrum-95 should be number 
      ✓ tvlUsd field of pool with id arbitrum-82 should be number 
      ✓ tvlUsd field of pool with id optimism-5 should be number 
      ✓ tvlUsd field of pool with id ethereum-76 should be number  (1 ms)
      ✓ tvlUsd field of pool with id ethereum-79 should be number 
      ✓ tvlUsd field of pool with id ethereum-82 should be number 
      ✓ tvlUsd field of pool with id ethereum-93 should be number 
      ✓ tvlUsd field of pool with id ethereum-116 should be number 
      ✓ tvlUsd field of pool with id ethereum-132 should be number 
      ✓ tvlUsd field of pool with id ethereum-159 should be number 
      ✓ tvlUsd field of pool with id ethereum-168 should be number 
      ✓ tvlUsd field of pool with id ethereum-171 should be number 
      ✓ tvlUsd field of pool with id ethereum-180 should be number 
      ✓ tvlUsd field of pool with id ethereum-181 should be number 
      ✓ tvlUsd field of pool with id ethereum-186 should be number 
      ✓ tvlUsd field of pool with id ethereum-191 should be number  (1 ms)
      ✓ tvlUsd field of pool with id ethereum-193 should be number 
      ✓ tvlUsd field of pool with id ethereum-195 should be number 
      ✓ tvlUsd field of pool with id ethereum-197 should be number 
      ✓ tvlUsd field of pool with id ethereum-213 should be number 
      ✓ tvlUsd field of pool with id ethereum-216 should be number 
      ✓ tvlUsd field of pool with id ethereum-217 should be number 
      ✓ tvlUsd field of pool with id ethereum-219 should be number 
      ✓ tvlUsd field of pool with id ethereum-222 should be number  (1 ms)
      ✓ tvlUsd field of pool with id ethereum-224 should be number 
      ✓ tvlUsd field of pool with id ethereum-225 should be number 
      ✓ tvlUsd field of pool with id ethereum-228 should be number 
      ✓ tvlUsd field of pool with id ethereum-230 should be number 
      ✓ tvlUsd field of pool with id ethereum-231 should be number 
      ✓ tvlUsd field of pool with id ethereum-233 should be number 
      ✓ tvlUsd field of pool with id ethereum-234 should be number 
      ✓ tvlUsd field of pool with id ethereum-236 should be number 
      ✓ tvlUsd field of pool with id ethereum-237 should be number 
      ✓ tvlUsd field of pool with id ethereum-238 should be number  (1 ms)
      ✓ tvlUsd field of pool with id ethereum-239 should be number 
      ✓ tvlUsd field of pool with id ethereum-241 should be number 
      ✓ tvlUsd field of pool with id ethereum-242 should be number 
      ✓ tvlUsd field of pool with id ethereum-244 should be number 
      ✓ tvlUsd field of pool with id ethereum-245 should be number 
      ✓ tvlUsd field of pool with id ethereum-247 should be number 
      ✓ tvlUsd field of pool with id ethereum-248 should be number 
      ✓ tvlUsd field of pool with id ethereum-249 should be number 
      ✓ tvlUsd field of pool with id ethereum-250 should be number  (1 ms)
      ✓ tvlUsd field of pool with id ethereum-251 should be number 
      ✓ tvlUsd field of pool with id ethereum-252 should be number 
      ✓ tvlUsd field of pool with id ethereum-255 should be number 
      ✓ tvlUsd field of pool with id ethereum-256 should be number  (1 ms)
      ✓ tvlUsd field of pool with id ethereum-257 should be number 
      ✓ tvlUsd field of pool with id ethereum-259 should be number 
      ✓ tvlUsd field of pool with id ethereum-267 should be number 
      ✓ tvlUsd field of pool with id arbitrum-9 should be number 
      ✓ tvlUsd field of pool with id arbitrum-12 should be number  (1 ms)
      ✓ tvlUsd field of pool with id arbitrum-22 should be number 
      ✓ tvlUsd field of pool with id arbitrum-43 should be number 
      ✓ tvlUsd field of pool with id arbitrum-44 should be number 
      ✓ tvlUsd field of pool with id arbitrum-55 should be number 
      ✓ tvlUsd field of pool with id arbitrum-56 should be number 
      ✓ tvlUsd field of pool with id arbitrum-57 should be number 
      ✓ tvlUsd field of pool with id arbitrum-59 should be number 
      ✓ tvlUsd field of pool with id arbitrum-60 should be number 
      ✓ tvlUsd field of pool with id arbitrum-61 should be number 
      ✓ tvlUsd field of pool with id arbitrum-64 should be number 
      ✓ tvlUsd field of pool with id arbitrum-65 should be number 
      ✓ tvlUsd field of pool with id arbitrum-67 should be number 
      ✓ tvlUsd field of pool with id arbitrum-68 should be number 
      ✓ tvlUsd field of pool with id arbitrum-69 should be number  (1 ms)
      ✓ tvlUsd field of pool with id arbitrum-74 should be number 
      ✓ tvlUsd field of pool with id arbitrum-84 should be number 
      ✓ tvlUsd field of pool with id arbitrum-86 should be number 
      ✓ tvlUsd field of pool with id arbitrum-87 should be number 
      ✓ tvlUsd field of pool with id arbitrum-89 should be number 
      ✓ tvlUsd field of pool with id arbitrum-92 should be number 
      ✓ tvlUsd field of pool with id arbitrum-96 should be number 
      ✓ tvlUsd field of pool with id arbitrum-100 should be number  (1 ms)
      ✓ tvlUsd field of pool with id arbitrum-102 should be number 
      ✓ tvlUsd field of pool with id arbitrum-103 should be number 
      ✓ tvlUsd field of pool with id arbitrum-106 should be number 
      ✓ tvlUsd field of pool with id base-4 should be number 
      ✓ tvlUsd field of pool with id base-5 should be number  (1 ms)
      ✓ tvlUsd field of pool with id base-11 should be number 
      ✓ tvlUsd field of pool with id base-13 should be number 
      ✓ tvlUsd field of pool with id base-14 should be number 
      ✓ tvlUsd field of pool with id base-20 should be number 
      ✓ tvlUsd field of pool with id base-26 should be number 
      ✓ tvlUsd field of pool with id base-27 should be number  (1 ms)
      ✓ tvlUsd field of pool with id base-28 should be number 
      ✓ tvlUsd field of pool with id avalanche-5 should be number 
      ✓ tvlUsd field of pool with id avalanche-6 should be number 
      ✓ tvlUsd field of pool with id avalanche-7 should be number 
      ✓ tvlUsd field of pool with id avalanche-8 should be number 
      ✓ tvlUsd field of pool with id avalanche-9 should be number 
      ✓ tvlUsd field of pool with id avalanche-10 should be number 
      ✓ tvlUsd field of pool with id avalanche-11 should be number  (1 ms)
      ✓ tvlUsd field of pool with id avalanche-12 should be number 
      ✓ tvlUsd field of pool with id gnosis-21 should be number 
      ✓ tvlUsd field of pool with id gnosis-26 should be number 
      ✓ tvlUsd field of pool with id gnosis-29 should be number 
      ✓ tvlUsd field of pool with id gnosis-31 should be number 
      ✓ tvlUsd field of pool with id gnosis-32 should be number 
      ✓ tvlUsd field of pool with id optimism-1 should be number 
      ✓ tvlUsd field of pool with id optimism-10 should be number 
      ✓ tvlUsd field of pool with id optimism-13 should be number 
      ✓ tvlUsd field of pool with id optimism-15 should be number 
      ✓ tvlUsd field of pool with id optimism-19 should be number 
      ✓ tvlUsd field of pool with id optimism-21 should be number  (1 ms)
      ✓ tvlUsd field of pool with id optimism-22 should be number 
      ✓ tvlUsd field of pool with id optimism-29 should be number 
      ✓ tvlUsd field of pool with id optimism-30 should be number 
      ✓ tvlUsd field of pool with id optimism-31 should be number 
      ✓ tvlUsd field of pool with id optimism-32 should be number  (1 ms)
      ✓ tvlUsd field of pool with id optimism-33 should be number 
      ✓ tvlUsd field of pool with id optimism-34 should be number 
      ✓ tvlUsd field of pool with id polygon-10 should be number 
      ✓ tvlUsd field of pool with id polygon-18 should be number 
      ✓ tvlUsd field of pool with id polygon-19 should be number  (1 ms)
      ✓ tvlUsd field of pool with id polygon-21 should be number 
      ✓ tvlUsd field of pool with id polygon-22 should be number 
      ✓ tvlUsd field of pool with id polygon-23 should be number 
      ✓ tvlUsd field of pool with id polygon-26 should be number 
      ✓ tvlUsd field of pool with id polygon-28 should be number 
      ✓ tvlUsd field of pool with id polygon-29 should be number 
      ✓ tvlUsd field of pool with id polygon-31 should be number 
    Check tokens data types
      ✓ rewardTokens field of pool with id ethereum-109 should be an Array of strings
      ✓ underlyingTokens field of pool with id ethereum-109 should be an Array of strings
      ✓ rewardTokens field of pool with id ethereum-153 should be an Array of strings
      ✓ underlyingTokens field of pool with id ethereum-153 should be an Array of strings
      ✓ rewardTokens field of pool with id ethereum-246 should be an Array of strings
      ✓ underlyingTokens field of pool with id ethereum-246 should be an Array of strings
      ✓ rewardTokens field of pool with id base-19 should be an Array of strings
      ✓ underlyingTokens field of pool with id base-19 should be an Array of strings
      ✓ rewardTokens field of pool with id ethereum-260 should be an Array of strings
      ✓ underlyingTokens field of pool with id ethereum-260 should be an Array of strings
      ✓ rewardTokens field of pool with id ethereum-254 should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id ethereum-254 should be an Array of strings
      ✓ rewardTokens field of pool with id arbitrum-99 should be an Array of strings
      ✓ underlyingTokens field of pool with id arbitrum-99 should be an Array of strings
      ✓ rewardTokens field of pool with id ethereum-189 should be an Array of strings
      ✓ underlyingTokens field of pool with id ethereum-189 should be an Array of strings
      ✓ rewardTokens field of pool with id ethereum-179 should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id ethereum-179 should be an Array of strings
      ✓ rewardTokens field of pool with id base-7 should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id base-7 should be an Array of strings
      ✓ rewardTokens field of pool with id ethereum-182 should be an Array of strings
      ✓ underlyingTokens field of pool with id ethereum-182 should be an Array of strings (1 ms)
      ✓ rewardTokens field of pool with id ethereum-221 should be an Array of strings
      ✓ underlyingTokens field of pool with id ethereum-221 should be an Array of strings
      ✓ rewardTokens field of pool with id ethereum-61 should be an Array of strings
      ✓ underlyingTokens field of pool with id ethereum-61 should be an Array of strings
      ✓ rewardTokens field of pool with id ethereum-139 should be an Array of strings
      ✓ underlyingTokens field of pool with id ethereum-139 should be an Array of strings
      ✓ rewardTokens field of pool with id gnosis-18 should be an Array of strings
      ✓ underlyingTokens field of pool with id gnosis-18 should be an Array of strings
      ✓ rewardTokens field of pool with id gnosis-27 should be an Array of strings
      ✓ underlyingTokens field of pool with id gnosis-27 should be an Array of strings
      ✓ rewardTokens field of pool with id polygon-12 should be an Array of strings
      ✓ underlyingTokens field of pool with id polygon-12 should be an Array of strings
      ✓ rewardTokens field of pool with id arbitrum-52 should be an Array of strings
      ✓ underlyingTokens field of pool with id arbitrum-52 should be an Array of strings

Nb of pools: 237
 

Sample pools:
┌─────────┬────────────────┬────────────┬─────────┬─────────────────────────┬────────────────────┬────────────────────┬─────────────────────┬──────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬──────────┬────────────────────────────────────────────┐
│ (index) │ pool           │ chain      │ project │ symbol                  │ tvlUsd             │ apyBase            │ apyReward           │ rewardTokens │ underlyingTokens                                                                                                                                               │ poolMeta │ url                                        │
├─────────┼────────────────┼────────────┼─────────┼─────────────────────────┼────────────────────┼────────────────────┼─────────────────────┼──────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────┼────────────────────────────────────────────┤
│ 0       │ 'ethereum-109' │ 'Ethereum' │ 'aura'  │ 'B-RETH-STABLE'         │ 31868770.535667323 │ 0.800581004270162  │ 1.5827728464247675  │ []           │ [ '0xae78736cd615f374d3085123a210448e74fc6393', '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' ]                                                                 │ null     │ 'https://app.aura.finance/#/1/pool/109'    │
│ 1       │ 'ethereum-153' │ 'Ethereum' │ 'aura'  │ 'WSTETH-WETH-BPT'       │ 26625084.494352505 │ 1.4192955919145411 │ 0.6704403980395915  │ []           │ [ '0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0', '0x93d199263632a4ef4bb438f1feb99e57b4b5f0bd', '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' ]                   │ null     │ 'https://app.aura.finance/#/1/pool/153'    │
│ 2       │ 'ethereum-246' │ 'Ethereum' │ 'aura'  │ 'AAVEGHO-USDT-USDC'     │ 25590601.005122498 │ 3.8607173259386034 │ 8.818090289537185   │ []           │ [ '0x7bc3485026ac48b6cf9baf0a377477fff5703af8', '0xdac17f958d2ee523a2206206994597c13d831ec7', '0xc71ea051a5f82c67adcf634c36ffe6334793d24c', ... 3 more items ] │ null     │ 'https://app.aura.finance/#/1/pool/246'    │
│ 3       │ 'base-19'      │ 'Base'     │ 'aura'  │ 'AAVEUSDC-AAVEGHO'      │ 18439966.316043884 │ 5.240128498836593  │ 6.213139222239944   │ []           │ [ '0x88b1cd4b430d95b406e382c3cdbae54697a0286e', '0x6bb7a212910682dcfdbd5bcbb3e28fb4e8da10ee', '0xc768c589647798a6ee01a91fde98ef2ed046dbd6', ... 1 more item ]  │ null     │ 'https://app.aura.finance/#/8453/pool/19'  │
│ 4       │ 'ethereum-260' │ 'Ethereum' │ 'aura'  │ 'OSETH-WAWETH'          │ 16035954.802829342 │ 2.156491908517956  │ 2.597869655010611   │ []           │ [ '0x0bfc9d54fc184518a81162f8fb99c2eaca081202', '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0xf1c9acdc66974dfb6decb12aa385b9cd01190e38' ]                   │ null     │ 'https://app.aura.finance/#/1/pool/260'    │
│ 5       │ 'ethereum-254' │ 'Ethereum' │ 'aura'  │ 'SURGEFLUIDWSTETH-WETH' │ 15512655.210799284 │ 2.719558383665189  │ 0.32196403962587733 │ []           │ [ '0x2411802d8bea09be0af8fd8d08314a63e706b29c', '0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0', '0x90551c1795392094fe6d29b758eccd233cfaa260', ... 1 more item ]  │ null     │ 'https://app.aura.finance/#/1/pool/254'    │
│ 6       │ 'arbitrum-99'  │ 'Arbitrum' │ 'aura'  │ 'AAVEGHO-USDT-USDC'     │ 10493603.965935113 │ 3.5548979227686766 │ 6.310385004983783   │ []           │ [ '0x7f6501d3b98ee91f9b9535e4b0ac710fb0f9e0bc', '0xaf88d065e77c8cc2239327c5edb3a432268e5831', '0xa6d12574efb239fc1d2099732bd8b5dc6306897f', ... 3 more items ] │ null     │ 'https://app.aura.finance/#/42161/pool/99' │
│ 7       │ 'ethereum-189' │ 'Ethereum' │ 'aura'  │ 'EZETH-WETH-BPT'        │ 4790645.641062894  │ 1.4610388358324933 │ 1.2869708074167074  │ []           │ [ '0x596192bb6e41802428ac943d2f1476c1af25cc0e', '0xbf5495efe5db9ce00f80364c8b423567e58d2110', '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' ]                   │ null     │ 'https://app.aura.finance/#/1/pool/189'    │
│ 8       │ 'ethereum-179' │ 'Ethereum' │ 'aura'  │ 'OSETH-WETH-BPT'        │ 4312731.358287701  │ 1.595868670078593  │ 0                   │ []           │ [ '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0xdacf5fa19b1f720111609043ac67a9818262850c', '0xf1c9acdc66974dfb6decb12aa385b9cd01190e38' ]                   │ null     │ 'https://app.aura.finance/#/1/pool/179'    │
│ 9       │ 'base-7'       │ 'Base'     │ 'aura'  │ 'RETH-WETH-BPT'         │ 4228811.714230467  │ 1.2318213982543293 │ 0.7398951401418419  │ []           │ [ '0x4200000000000000000000000000000000000006', '0xb6fe221fe9eef5aba221c348ba20a1bf5e73624c', '0xc771c1a5905420daec317b154eb13e4198ba97d0' ]                   │ null     │ 'https://app.aura.finance/#/8453/pool/7'   │
└─────────┴────────────────┴────────────┴─────────┴─────────────────────────┴────────────────────┴────────────────────┴─────────────────────┴──────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────┴────────────────────────────────────────────┘
This adapter contains some pools with <10k TVL, these pools won't be shown in DefiLlama
}

@llamatester
Copy link

Error while running aura adapter:

> defillama-apy-server@1.0.0 test
> jest

FAIL src/adaptors/test.js
  Running aura Test
    ✓ Check if link to the pool's page exist
    ✓ Check for unique pool ids (2 ms)
    ✓ Check project field is constant in all pools and if folder name and project field in pool objects matches the information in /protocols slug
    Check for allowed field names
      ✓ Expects pool id ethereum-109 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-153 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-246 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-19 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-260 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-254 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-99 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-189 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-179 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-7 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-182 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-221 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-61 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-139 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-18 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-27 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-12 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-52 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-262 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-104 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-24 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-101 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id base-21 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-104 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-74 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-14 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-100 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id gnosis-28 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-20 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-266 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-98 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-66 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-25 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-227 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-19 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-269 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-188 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-105 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-185 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-119 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-265 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-97 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-0 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-229 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-60 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-105 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-16 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-264 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-30 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-125 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-34 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-22 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-235 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-95 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-207 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-22 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-261 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-24 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-258 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-240 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-6 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-16 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-91 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-211 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-177 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-263 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-157 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-110 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-30 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id gnosis-17 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-210 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-208 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-71 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-6 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-23 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-15 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id gnosis-33 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-1 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-9 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-154 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-25 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-35 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-0 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-28 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-16 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-29 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-268 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-17 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-270 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-51 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-93 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-152 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-101 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-2 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-205 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-18 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-25 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-50 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-5 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-26 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-0 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-253 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-198 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-18 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-24 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-66 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-5 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-176 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-54 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-94 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id gnosis-15 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-175 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-28 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-243 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-5 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-95 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-82 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id optimism-5 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-76 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-79 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-82 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-93 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-116 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-132 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-159 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-168 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-171 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-180 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-181 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-186 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-191 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-193 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-195 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-197 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-213 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-216 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-217 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-219 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-222 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (2 ms)
      ✓ Expects pool id ethereum-224 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-225 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-228 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-230 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-231 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-233 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-234 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-236 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-237 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-238 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-239 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-241 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-242 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-244 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-245 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-247 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-248 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-249 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-250 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-251 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-252 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-255 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-256 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-257 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id ethereum-259 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id ethereum-267 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-9 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-12 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-22 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-43 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-44 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-55 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id arbitrum-56 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-57 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-59 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-60 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id arbitrum-61 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-64 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-65 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-67 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id arbitrum-68 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-69 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-74 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-84 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-86 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-87 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-89 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-92 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-96 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-100 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-102 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id arbitrum-103 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id arbitrum-106 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-4 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-5 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-11 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-13 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-14 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-20 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id base-26 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-27 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id base-28 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-5 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-6 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-7 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-8 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id avalanche-9 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-10 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-11 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id avalanche-12 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-21 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-26 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-29 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-31 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id gnosis-32 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-1 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-10 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-13 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-15 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-19 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-21 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-22 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-29 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-30 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-31 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-32 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-33 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id optimism-34 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id polygon-10 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-18 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-19 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-21 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-22 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-23 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-26 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url (1 ms)
      ✓ Expects pool id polygon-28 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-29 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
      ✓ Expects pool id polygon-31 to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,tvlUsd,apyBase,apyReward,rewardTokens,underlyingTokens,poolMeta,url
    Check apy data types
      ✓ Expects pool with id ethereum-109 to have at least one number apy field
      ✓ Expects pool with id ethereum-153 to have at least one number apy field
      ✓ Expects pool with id ethereum-246 to have at least one number apy field
      ✓ Expects pool with id base-19 to have at least one number apy field
      ✓ Expects pool with id ethereum-260 to have at least one number apy field
      ✓ Expects pool with id ethereum-254 to have at least one number apy field
      ✓ Expects pool with id arbitrum-99 to have at least one number apy field
      ✓ Expects pool with id ethereum-189 to have at least one number apy field
      ✓ Expects pool with id ethereum-179 to have at least one number apy field
      ✓ Expects pool with id base-7 to have at least one number apy field (1 ms)
      ✓ Expects pool with id ethereum-182 to have at least one number apy field
      ✓ Expects pool with id ethereum-221 to have at least one number apy field
      ✓ Expects pool with id ethereum-61 to have at least one number apy field
      ✓ Expects pool with id ethereum-139 to have at least one number apy field
      ✓ Expects pool with id gnosis-18 to have at least one number apy field
      ✓ Expects pool with id gnosis-27 to have at least one number apy field
      ✓ Expects pool with id polygon-12 to have at least one number apy field
      ✓ Expects pool with id arbitrum-52 to have at least one number apy field
      ✓ Expects pool with id ethereum-262 to have at least one number apy field
      ✓ Expects pool with id ethereum-104 to have at least one number apy field
      ✓ Expects pool with id base-24 to have at least one number apy field
      ✓ Expects pool with id ethereum-101 to have at least one number apy field
      ✓ Expects pool with id base-21 to have at least one number apy field (1 ms)
      ✓ Expects pool with id arbitrum-104 to have at least one number apy field
      ✓ Expects pool with id ethereum-74 to have at least one number apy field
      ✓ Expects pool with id optimism-14 to have at least one number apy field
      ✓ Expects pool with id ethereum-100 to have at least one number apy field
      ✓ Expects pool with id gnosis-28 to have at least one number apy field
      ✓ Expects pool with id gnosis-20 to have at least one number apy field
      ✓ Expects pool with id ethereum-266 to have at least one number apy field (1 ms)
      ✓ Expects pool with id arbitrum-98 to have at least one number apy field
      ✓ Expects pool with id arbitrum-66 to have at least one number apy field
      ✓ Expects pool with id gnosis-25 to have at least one number apy field
      ✓ Expects pool with id ethereum-227 to have at least one number apy field
      ✓ Expects pool with id gnosis-19 to have at least one number apy field
      ✓ Expects pool with id ethereum-269 to have at least one number apy field
      ✓ Expects pool with id ethereum-188 to have at least one number apy field
      ✓ Expects pool with id arbitrum-105 to have at least one number apy field
      ✓ Expects pool with id ethereum-185 to have at least one number apy field
      ✓ Expects pool with id ethereum-119 to have at least one number apy field
      ✓ Expects pool with id ethereum-265 to have at least one number apy field
      ✓ Expects pool with id arbitrum-97 to have at least one number apy field
      ✓ Expects pool with id gnosis-0 to have at least one number apy field
      ✓ Expects pool with id ethereum-229 to have at least one number apy field
      ✓ Expects pool with id ethereum-60 to have at least one number apy field
      ✓ Expects pool with id ethereum-105 to have at least one number apy field
      ✓ Expects pool with id optimism-16 to have at least one number apy field
      ✓ Expects pool with id ethereum-264 to have at least one number apy field
      ✓ Expects pool with id gnosis-30 to have at least one number apy field
      ✓ Expects pool with id ethereum-125 to have at least one number apy field
      ✓ Expects pool with id gnosis-34 to have at least one number apy field
      ✓ Expects pool with id base-22 to have at least one number apy field
      ✓ Expects pool with id ethereum-235 to have at least one number apy field
      ✓ Expects pool with id ethereum-95 to have at least one number apy field
      ✓ Expects pool with id ethereum-207 to have at least one number apy field
      ✓ Expects pool with id gnosis-22 to have at least one number apy field
      ✓ Expects pool with id ethereum-261 to have at least one number apy field
      ✓ Expects pool with id polygon-24 to have at least one number apy field
      ✓ Expects pool with id ethereum-258 to have at least one number apy field
      ✓ Expects pool with id ethereum-240 to have at least one number apy field (1 ms)
      ✓ Expects pool with id polygon-6 to have at least one number apy field
      ✓ Expects pool with id polygon-16 to have at least one number apy field
      ✓ Expects pool with id arbitrum-91 to have at least one number apy field
      ✓ Expects pool with id ethereum-211 to have at least one number apy field
      ✓ Expects pool with id ethereum-177 to have at least one number apy field
      ✓ Expects pool with id ethereum-263 to have at least one number apy field
      ✓ Expects pool with id ethereum-157 to have at least one number apy field
      ✓ Expects pool with id ethereum-110 to have at least one number apy field
      ✓ Expects pool with id polygon-30 to have at least one number apy field
      ✓ Expects pool with id gnosis-17 to have at least one number apy field
      ✓ Expects pool with id ethereum-210 to have at least one number apy field
      ✓ Expects pool with id ethereum-208 to have at least one number apy field
      ✓ Expects pool with id arbitrum-71 to have at least one number apy field
      ✓ Expects pool with id optimism-6 to have at least one number apy field
      ✓ Expects pool with id base-23 to have at least one number apy field
      ✓ Expects pool with id base-15 to have at least one number apy field
      ✓ Expects pool with id gnosis-33 to have at least one number apy field
      ✓ Expects pool with id arbitrum-1 to have at least one number apy field
      ✓ Expects pool with id base-9 to have at least one number apy field
      ✓ Expects pool with id ethereum-154 to have at least one number apy field
      ✓ Expects pool with id base-25 to have at least one number apy field (1 ms)
      ✓ Expects pool with id gnosis-35 to have at least one number apy field
      ✓ Expects pool with id optimism-0 to have at least one number apy field
      ✓ Expects pool with id optimism-28 to have at least one number apy field
      ✓ Expects pool with id base-16 to have at least one number apy field
      ✓ Expects pool with id arbitrum-29 to have at least one number apy field (1 ms)
      ✓ Expects pool with id ethereum-268 to have at least one number apy field
      ✓ Expects pool with id polygon-17 to have at least one number apy field
      ✓ Expects pool with id ethereum-270 to have at least one number apy field
      ✓ Expects pool with id arbitrum-51 to have at least one number apy field (1 ms)
      ✓ Expects pool with id arbitrum-93 to have at least one number apy field
      ✓ Expects pool with id ethereum-152 to have at least one number apy field
      ✓ Expects pool with id arbitrum-101 to have at least one number apy field
      ✓ Expects pool with id avalanche-2 to have at least one number apy field
      ✓ Expects pool with id ethereum-205 to have at least one number apy field
      ✓ Expects pool with id base-18 to have at least one number apy field
      ✓ Expects pool with id optimism-25 to have at least one number apy field
      ✓ Expects pool with id arbitrum-50 to have at least one number apy field
      ✓ Expects pool with id polygon-5 to have at least one number apy field (1 ms)
      ✓ Expects pool with id arbitrum-26 to have at least one number apy field
      ✓ Expects pool with id avalanche-0 to have at least one number apy field
      ✓ Expects pool with id ethereum-253 to have at least one number apy field
      ✓ Expects pool with id ethereum-198 to have at least one number apy field
      ✓ Expects pool with id optimism-18 to have at least one number apy field
      ✓ Expects pool with id optimism-24 to have at least one number apy field
      ✓ Expects pool with id ethereum-66 to have at least one number apy field
      ✓ Expects pool with id gnosis-5 to have at least one number apy field
      ✓ Expects pool with id ethereum-176 to have at least one number apy field (1 ms)
      ✓ Expects pool with id arbitrum-54 to have at least one number apy field
      ✓ Expects pool with id arbitrum-94 to have at least one number apy field
      ✓ Expects pool with id gnosis-15 to have at least one number apy field
      ✓ Expects pool with id ethereum-175 to have at least one number apy field (1 ms)
      ✓ Expects pool with id arbitrum-28 to have at least one number apy field
      ✓ Expects pool with id ethereum-243 to have at least one number apy field
      ✓ Expects pool with id arbitrum-5 to have at least one number apy field
      ✓ Expects pool with id arbitrum-95 to have at least one number apy field
      ✓ Expects pool with id arbitrum-82 to have at least one number apy field
      ✓ Expects pool with id optimism-5 to have at least one number apy field
      ✓ Expects pool with id ethereum-76 to have at least one number apy field
      ✓ Expects pool with id ethereum-79 to have at least one number apy field
      ✓ Expects pool with id ethereum-82 to have at least one number apy field
      ✓ Expects pool with id ethereum-93 to have at least one number apy field
      ✓ Expects pool with id ethereum-116 to have at least one number apy field
      ✓ Expects pool with id ethereum-132 to have at least one number apy field
      ✓ Expects pool with id ethereum-159 to have at least one number apy field (1 ms)
      ✓ Expects pool with id ethereum-168 to have at least one number apy field

Nb of pools: 237
 

Sample pools:
┌─────────┬────────────────┬────────────┬─────────┬─────────────────────────┬────────────────────┬────────────────────┬─────────────────────┬──────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬──────────┬────────────────────────────────────────────┐
│ (index) │ pool           │ chain      │ project │ symbol                  │ tvlUsd             │ apyBase            │ apyReward           │ rewardTokens │ underlyingTokens                                                                                                                                               │ poolMeta │ url                                        │
├─────────┼────────────────┼────────────┼─────────┼─────────────────────────┼────────────────────┼────────────────────┼─────────────────────┼──────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼──────────┼────────────────────────────────────────────┤
│ 0       │ 'ethereum-109' │ 'Ethereum' │ 'aura'  │ 'B-RETH-STABLE'         │ 31868770.535667323 │ 0.800581004270162  │ 1.5827728464247675  │ []           │ [ '0xae78736cd615f374d3085123a210448e74fc6393', '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' ]                                                                 │ null     │ 'https://app.aura.finance/#/1/pool/109'    │
│ 1       │ 'ethereum-153' │ 'Ethereum' │ 'aura'  │ 'WSTETH-WETH-BPT'       │ 26625084.494352505 │ 1.4192955919145411 │ 0.6704403980395915  │ []           │ [ '0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0', '0x93d199263632a4ef4bb438f1feb99e57b4b5f0bd', '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' ]                   │ null     │ 'https://app.aura.finance/#/1/pool/153'    │
│ 2       │ 'ethereum-246' │ 'Ethereum' │ 'aura'  │ 'AAVEGHO-USDT-USDC'     │ 25590601.005122498 │ 3.8607173259386034 │ 8.818090289537185   │ []           │ [ '0x7bc3485026ac48b6cf9baf0a377477fff5703af8', '0xdac17f958d2ee523a2206206994597c13d831ec7', '0xc71ea051a5f82c67adcf634c36ffe6334793d24c', ... 3 more items ] │ null     │ 'https://app.aura.finance/#/1/pool/246'    │
│ 3       │ 'base-19'      │ 'Base'     │ 'aura'  │ 'AAVEUSDC-AAVEGHO'      │ 18439966.316043884 │ 5.240128498836593  │ 6.213139222239944   │ []           │ [ '0x88b1cd4b430d95b406e382c3cdbae54697a0286e', '0x6bb7a212910682dcfdbd5bcbb3e28fb4e8da10ee', '0xc768c589647798a6ee01a91fde98ef2ed046dbd6', ... 1 more item ]  │ null     │ 'https://app.aura.finance/#/8453/pool/19'  │
│ 4       │ 'ethereum-260' │ 'Ethereum' │ 'aura'  │ 'OSETH-WAWETH'          │ 16035954.802829342 │ 2.156491908517956  │ 2.597869655010611   │ []           │ [ '0x0bfc9d54fc184518a81162f8fb99c2eaca081202', '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0xf1c9acdc66974dfb6decb12aa385b9cd01190e38' ]                   │ null     │ 'https://app.aura.finance/#/1/pool/260'    │
│ 5       │ 'ethereum-254' │ 'Ethereum' │ 'aura'  │ 'SURGEFLUIDWSTETH-WETH' │ 15512655.210799284 │ 2.719558383665189  │ 0.32196403962587733 │ []           │ [ '0x2411802d8bea09be0af8fd8d08314a63e706b29c', '0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0', '0x90551c1795392094fe6d29b758eccd233cfaa260', ... 1 more item ]  │ null     │ 'https://app.aura.finance/#/1/pool/254'    │
│ 6       │ 'arbitrum-99'  │ 'Arbitrum' │ 'aura'  │ 'AAVEGHO-USDT-USDC'     │ 10493603.965935113 │ 3.5548979227686766 │ 6.310385004983783   │ []           │ [ '0x7f6501d3b98ee91f9b9535e4b0ac710fb0f9e0bc', '0xaf88d065e77c8cc2239327c5edb3a432268e5831', '0xa6d12574efb239fc1d2099732bd8b5dc6306897f', ... 3 more items ] │ null     │ 'https://app.aura.finance/#/42161/pool/99' │
│ 7       │ 'ethereum-189' │ 'Ethereum' │ 'aura'  │ 'EZETH-WETH-BPT'        │ 4790645.641062894  │ 1.4610388358324933 │ 1.2869708074167074  │ []           │ [ '0x596192bb6e41802428ac943d2f1476c1af25cc0e', '0xbf5495efe5db9ce00f80364c8b423567e58d2110', '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' ]                   │ null     │ 'https://app.aura.finance/#/1/pool/189'    │
│ 8       │ 'ethereum-179' │ 'Ethereum' │ 'aura'  │ 'OSETH-WETH-BPT'        │ 4312731.358287701  │ 1.595868670078593  │ 0                   │ []           │ [ '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', '0xdacf5fa19b1f720111609043ac67a9818262850c', '0xf1c9acdc66974dfb6decb12aa385b9cd01190e38' ]                   │ null     │ 'https://app.aura.finance/#/1/pool/179'    │
│ 9       │ 'base-7'       │ 'Base'     │ 'aura'  │ 'RETH-WETH-BPT'         │ 4228811.714230467  │ 1.2318213982543293 │ 0.7398951401418419  │ []           │ [ '0x4200000000000000000000000000000000000006', '0xb6fe221fe9eef5aba221c348ba20a1bf5e73624c', '0xc771c1a5905420daec317b154eb13e4198ba97d0' ]                   │ null     │ 'https://app.aura.finance/#/8453/pool/7'   │
└─────────┴────────────────┴────────────┴─────────┴─────────────────────────┴────────────────────┴────────────────────┴─────────────────────┴──────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────┴────────────────────────────────────────────┘
This adapter contains some pools with <10k TVL, these pools won't be shown in DefiLlama
}

@0xRichter 0xRichter marked this pull request as draft October 17, 2025 01:02
@0xRichter 0xRichter closed this Oct 17, 2025
@0xRichter 0xRichter deleted the aura-adapter branch October 17, 2025 01:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants