Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ReHold adapter #599

Merged
merged 6 commits into from
Feb 20, 2023
Merged

Add ReHold adapter #599

merged 6 commits into from
Feb 20, 2023

Conversation

bifot
Copy link
Contributor

@bifot bifot commented Feb 17, 2023

No description provided.

@llamatester
Copy link

The rehold adapter exports pools:

> defillama-apy-server@1.0.0 test
> jest

PASS src/adaptors/test.js
  Running rehold 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 0-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (2 ms)
      ✓ Expects pool id 1-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 2-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 3-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 20-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 21-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 7-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 8-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 10-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 11-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 30-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 31-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 22-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 23-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 12-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 13-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 27-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 28-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 152-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 157-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 120-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 121-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 62-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 63-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 9-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (9 ms)
      ✓ Expects pool id 36-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 56-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 57-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 44-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 45-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 102-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 103-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 50-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 51-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 80-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 85-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 5-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 6-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 86-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 87-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 68-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 69-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 38-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 39-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 74-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 75-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 4-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 33-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 91-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 92-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 96-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 97-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 108-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 109-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 114-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 115-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 126-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 127-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 131-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 132-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 137-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 138-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 143-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 144-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0x55d398326f99059fF775485246999027B3197955-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 17-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 18-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 155-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 156-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 124-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 125-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 66-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 67-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 29-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 37-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 60-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 61-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 48-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 49-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 106-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 107-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 54-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 55-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 83-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 84-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 25-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 26-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 90-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 151-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 72-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 73-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 41-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 42-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 78-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 79-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 24-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 34-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 94-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 95-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 100-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 101-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 112-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 113-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 118-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 119-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 130-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 135-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 136-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 141-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 142-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 147-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 148-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 150-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 153-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 154-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 122-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 123-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 64-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 65-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 19-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 35-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 58-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 59-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 46-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 47-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 104-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 105-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 52-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 53-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 81-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 82-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 15-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 16-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 88-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 89-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 70-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 71-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 40-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 43-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 76-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 77-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 14-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 32-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (6 ms)
      ✓ Expects pool id 93-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 98-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 99-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 110-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 111-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 116-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 117-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 128-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 129-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 133-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 134-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 139-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 140-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 145-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 146-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 149-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0x2170Ed0880ac9A755fd29B2688956BD959F933F8-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0xCC42724C6683B7E57334c4E856f4c9965ED682bD-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0x1CE0c2827e2eF14D5C4f29a091d735A204794041-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0xF8A0BF9cF54Bb92F17374d9e9A321E6a111a51bD-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0x0D8Ce2A99Bb6e3B7Db580eD848240e4a0F9aE153-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0x2859e4544C4bB03966803b044A93563Bd2D0DD4D-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0x1Fa4a73a3F0133f0025378af00236f3aBDEE5D63-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0x570A5D26f7765Ecb712C0924E4De545B89fD43dF-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 0x7083609fCE4d1d8Dc0C979AAb8c869Ea2C873402-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0xAD29AbB318791D579433D831ed122aFeAf29dcfe-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0xa2B726B1145A4773F68593CF171187d8EBe4d495-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0xBf5140A22578168FD562DCcF235E5D43A02ce9B1-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0x715D400F88C167884bbCc41C5FeA407ed4D2f8A0-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0xfb6115445Bff7b52FeB98650C87f44907E58f802-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0x0Eb3a705fc54725037CC9e008bDede697f62F335-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0x2eD9a5C8C13b93955103B9a7C167B67Ef4d568a3-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 0x1D2F0da169ceB9fC7B3144628dB156f3F6c60dBE-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0x3EE2200Efb3400fAbB9AacF31297cBdD1d435D47-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0x4338665CBB7B2485A8855A139b75D5e34AB0DB94-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 0x85EAC5Ac2F758618dFa09bDbe0cf174e7d574D5B-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0x6FDcdfef7c496407cCb0cEC90f9C5Aaa1Cc8D888-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0x8fF795a6F4D97E7887C79beA79aba5cc76444aDf-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
      ✓ Expects pool id 0x43C934A845205F0b514417d757d7235B8f53f1B9-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd (1 ms)
      ✓ Expects pool id 0x56b6fB708fC5732DEC1Afc8D8556423A2EDcCbD6-bsc to contain only allowed keys: pool,chain,project,symbol,apy,apyBase,apyReward,underlyingTokens,rewardTokens,poolMeta,url,apyBaseBorrow,apyRewardBorrow,totalSupplyUsd,totalBorrowUsd,ltv,borrowable,borrowFactor,debtCeilingUsd,mintedCoin,apyBase7d,apyRewardFake,apyRewardBorrowFake,il7d,volumeUsd1d,volumeUsd7d,apyBaseInception,tvlUsd and has: pool,chain,project,symbol,apyBase,underlyingTokens,tvlUsd
    Check apy data types
      ✓ Expects pool with id 0-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 1-bsc to have at least one number apy field
      ✓ Expects pool with id 2-bsc to have at least one number apy field
      ✓ Expects pool with id 3-bsc to have at least one number apy field
      ✓ Expects pool with id 20-bsc to have at least one number apy field
      ✓ Expects pool with id 21-bsc to have at least one number apy field
      ✓ Expects pool with id 7-bsc to have at least one number apy field
      ✓ Expects pool with id 8-bsc to have at least one number apy field
      ✓ Expects pool with id 10-bsc to have at least one number apy field
      ✓ Expects pool with id 11-bsc to have at least one number apy field
      ✓ Expects pool with id 30-bsc to have at least one number apy field
      ✓ Expects pool with id 31-bsc to have at least one number apy field
      ✓ Expects pool with id 22-bsc to have at least one number apy field
      ✓ Expects pool with id 23-bsc to have at least one number apy field
      ✓ Expects pool with id 12-bsc to have at least one number apy field
      ✓ Expects pool with id 13-bsc to have at least one number apy field
      ✓ Expects pool with id 27-bsc to have at least one number apy field
      ✓ Expects pool with id 28-bsc to have at least one number apy field
      ✓ Expects pool with id 152-bsc to have at least one number apy field
      ✓ Expects pool with id 157-bsc to have at least one number apy field
      ✓ Expects pool with id 120-bsc to have at least one number apy field
      ✓ Expects pool with id 121-bsc to have at least one number apy field
      ✓ Expects pool with id 62-bsc to have at least one number apy field
      ✓ Expects pool with id 63-bsc to have at least one number apy field
      ✓ Expects pool with id 9-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 36-bsc to have at least one number apy field
      ✓ Expects pool with id 56-bsc to have at least one number apy field
      ✓ Expects pool with id 57-bsc to have at least one number apy field
      ✓ Expects pool with id 44-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 45-bsc to have at least one number apy field
      ✓ Expects pool with id 102-bsc to have at least one number apy field
      ✓ Expects pool with id 103-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 50-bsc to have at least one number apy field
      ✓ Expects pool with id 51-bsc to have at least one number apy field
      ✓ Expects pool with id 80-bsc to have at least one number apy field
      ✓ Expects pool with id 85-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 5-bsc to have at least one number apy field
      ✓ Expects pool with id 6-bsc to have at least one number apy field
      ✓ Expects pool with id 86-bsc to have at least one number apy field
      ✓ Expects pool with id 87-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 68-bsc to have at least one number apy field
      ✓ Expects pool with id 69-bsc to have at least one number apy field
      ✓ Expects pool with id 38-bsc to have at least one number apy field
      ✓ Expects pool with id 39-bsc to have at least one number apy field
      ✓ Expects pool with id 74-bsc to have at least one number apy field
      ✓ Expects pool with id 75-bsc to have at least one number apy field
      ✓ Expects pool with id 4-bsc to have at least one number apy field
      ✓ Expects pool with id 33-bsc to have at least one number apy field
      ✓ Expects pool with id 91-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 92-bsc to have at least one number apy field
      ✓ Expects pool with id 96-bsc to have at least one number apy field
      ✓ Expects pool with id 97-bsc to have at least one number apy field
      ✓ Expects pool with id 108-bsc to have at least one number apy field
      ✓ Expects pool with id 109-bsc to have at least one number apy field
      ✓ Expects pool with id 114-bsc to have at least one number apy field
      ✓ Expects pool with id 115-bsc to have at least one number apy field
      ✓ Expects pool with id 126-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 127-bsc to have at least one number apy field
      ✓ Expects pool with id 131-bsc to have at least one number apy field
      ✓ Expects pool with id 132-bsc to have at least one number apy field
      ✓ Expects pool with id 137-bsc to have at least one number apy field
      ✓ Expects pool with id 138-bsc to have at least one number apy field
      ✓ Expects pool with id 143-bsc to have at least one number apy field
      ✓ Expects pool with id 144-bsc to have at least one number apy field
      ✓ Expects pool with id 0x55d398326f99059fF775485246999027B3197955-bsc to have at least one number apy field
      ✓ Expects pool with id 17-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 18-bsc to have at least one number apy field
      ✓ Expects pool with id 0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c-bsc to have at least one number apy field
      ✓ Expects pool with id 155-bsc to have at least one number apy field
      ✓ Expects pool with id 156-bsc to have at least one number apy field
      ✓ Expects pool with id 124-bsc to have at least one number apy field
      ✓ Expects pool with id 125-bsc to have at least one number apy field
      ✓ Expects pool with id 66-bsc to have at least one number apy field
      ✓ Expects pool with id 67-bsc to have at least one number apy field
      ✓ Expects pool with id 29-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 37-bsc to have at least one number apy field
      ✓ Expects pool with id 60-bsc to have at least one number apy field
      ✓ Expects pool with id 61-bsc to have at least one number apy field
      ✓ Expects pool with id 48-bsc to have at least one number apy field
      ✓ Expects pool with id 49-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 106-bsc to have at least one number apy field
      ✓ Expects pool with id 107-bsc to have at least one number apy field
      ✓ Expects pool with id 54-bsc to have at least one number apy field
      ✓ Expects pool with id 55-bsc to have at least one number apy field
      ✓ Expects pool with id 83-bsc to have at least one number apy field
      ✓ Expects pool with id 84-bsc to have at least one number apy field
      ✓ Expects pool with id 25-bsc to have at least one number apy field
      ✓ Expects pool with id 26-bsc to have at least one number apy field
      ✓ Expects pool with id 90-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 151-bsc to have at least one number apy field
      ✓ Expects pool with id 72-bsc to have at least one number apy field
      ✓ Expects pool with id 73-bsc to have at least one number apy field
      ✓ Expects pool with id 41-bsc to have at least one number apy field
      ✓ Expects pool with id 42-bsc to have at least one number apy field
      ✓ Expects pool with id 78-bsc to have at least one number apy field
      ✓ Expects pool with id 79-bsc to have at least one number apy field
      ✓ Expects pool with id 24-bsc to have at least one number apy field
      ✓ Expects pool with id 34-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 94-bsc to have at least one number apy field
      ✓ Expects pool with id 95-bsc to have at least one number apy field
      ✓ Expects pool with id 100-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 101-bsc to have at least one number apy field
      ✓ Expects pool with id 112-bsc to have at least one number apy field
      ✓ Expects pool with id 113-bsc to have at least one number apy field
      ✓ Expects pool with id 118-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 119-bsc to have at least one number apy field
      ✓ Expects pool with id 130-bsc to have at least one number apy field
      ✓ Expects pool with id 135-bsc to have at least one number apy field
      ✓ Expects pool with id 136-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 141-bsc to have at least one number apy field
      ✓ Expects pool with id 142-bsc to have at least one number apy field
      ✓ Expects pool with id 147-bsc to have at least one number apy field
      ✓ Expects pool with id 148-bsc to have at least one number apy field
      ✓ Expects pool with id 150-bsc to have at least one number apy field
      ✓ Expects pool with id 0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56-bsc to have at least one number apy field
      ✓ Expects pool with id 153-bsc to have at least one number apy field
      ✓ Expects pool with id 154-bsc to have at least one number apy field
      ✓ Expects pool with id 122-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 123-bsc to have at least one number apy field
      ✓ Expects pool with id 64-bsc to have at least one number apy field
      ✓ Expects pool with id 65-bsc to have at least one number apy field
      ✓ Expects pool with id 19-bsc to have at least one number apy field
      ✓ Expects pool with id 35-bsc to have at least one number apy field
      ✓ Expects pool with id 58-bsc to have at least one number apy field
      ✓ Expects pool with id 59-bsc to have at least one number apy field
      ✓ Expects pool with id 46-bsc to have at least one number apy field
      ✓ Expects pool with id 47-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 104-bsc to have at least one number apy field
      ✓ Expects pool with id 105-bsc to have at least one number apy field
      ✓ Expects pool with id 52-bsc to have at least one number apy field
      ✓ Expects pool with id 53-bsc to have at least one number apy field
      ✓ Expects pool with id 81-bsc to have at least one number apy field
      ✓ Expects pool with id 82-bsc to have at least one number apy field
      ✓ Expects pool with id 15-bsc to have at least one number apy field
      ✓ Expects pool with id 16-bsc to have at least one number apy field
      ✓ Expects pool with id 88-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 89-bsc to have at least one number apy field
      ✓ Expects pool with id 70-bsc to have at least one number apy field
      ✓ Expects pool with id 71-bsc to have at least one number apy field
      ✓ Expects pool with id 40-bsc to have at least one number apy field
      ✓ Expects pool with id 43-bsc to have at least one number apy field
      ✓ Expects pool with id 76-bsc to have at least one number apy field
      ✓ Expects pool with id 77-bsc to have at least one number apy field
      ✓ Expects pool with id 14-bsc to have at least one number apy field
      ✓ Expects pool with id 32-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 93-bsc to have at least one number apy field
      ✓ Expects pool with id 98-bsc to have at least one number apy field
      ✓ Expects pool with id 99-bsc to have at least one number apy field
      ✓ Expects pool with id 110-bsc to have at least one number apy field
      ✓ Expects pool with id 111-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 116-bsc to have at least one number apy field
      ✓ Expects pool with id 117-bsc to have at least one number apy field
      ✓ Expects pool with id 128-bsc to have at least one number apy field
      ✓ Expects pool with id 129-bsc to have at least one number apy field
      ✓ Expects pool with id 133-bsc to have at least one number apy field
      ✓ Expects pool with id 134-bsc to have at least one number apy field
      ✓ Expects pool with id 139-bsc to have at least one number apy field
      ✓ Expects pool with id 140-bsc to have at least one number apy field
      ✓ Expects pool with id 145-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 146-bsc to have at least one number apy field
      ✓ Expects pool with id 149-bsc to have at least one number apy field
      ✓ Expects pool with id 0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d-bsc to have at least one number apy field
      ✓ Expects pool with id 0x2170Ed0880ac9A755fd29B2688956BD959F933F8-bsc to have at least one number apy field
      ✓ Expects pool with id 0xCC42724C6683B7E57334c4E856f4c9965ED682bD-bsc to have at least one number apy field
      ✓ Expects pool with id 0x1CE0c2827e2eF14D5C4f29a091d735A204794041-bsc to have at least one number apy field
      ✓ Expects pool with id 0xF8A0BF9cF54Bb92F17374d9e9A321E6a111a51bD-bsc to have at least one number apy field
      ✓ Expects pool with id 0x0D8Ce2A99Bb6e3B7Db580eD848240e4a0F9aE153-bsc to have at least one number apy field
      ✓ Expects pool with id 0x2859e4544C4bB03966803b044A93563Bd2D0DD4D-bsc to have at least one number apy field
      ✓ Expects pool with id 0x1Fa4a73a3F0133f0025378af00236f3aBDEE5D63-bsc to have at least one number apy field
      ✓ Expects pool with id 0x570A5D26f7765Ecb712C0924E4De545B89fD43dF-bsc to have at least one number apy field
      ✓ Expects pool with id 0x7083609fCE4d1d8Dc0C979AAb8c869Ea2C873402-bsc to have at least one number apy field
      ✓ Expects pool with id 0xAD29AbB318791D579433D831ed122aFeAf29dcfe-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 0xa2B726B1145A4773F68593CF171187d8EBe4d495-bsc to have at least one number apy field
      ✓ Expects pool with id 0xBf5140A22578168FD562DCcF235E5D43A02ce9B1-bsc to have at least one number apy field
      ✓ Expects pool with id 0x715D400F88C167884bbCc41C5FeA407ed4D2f8A0-bsc to have at least one number apy field
      ✓ Expects pool with id 0xfb6115445Bff7b52FeB98650C87f44907E58f802-bsc to have at least one number apy field
      ✓ Expects pool with id 0x0Eb3a705fc54725037CC9e008bDede697f62F335-bsc to have at least one number apy field
      ✓ Expects pool with id 0x2eD9a5C8C13b93955103B9a7C167B67Ef4d568a3-bsc to have at least one number apy field
      ✓ Expects pool with id 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c-bsc to have at least one number apy field
      ✓ Expects pool with id 0x1D2F0da169ceB9fC7B3144628dB156f3F6c60dBE-bsc to have at least one number apy field
      ✓ Expects pool with id 0x3EE2200Efb3400fAbB9AacF31297cBdD1d435D47-bsc to have at least one number apy field (1 ms)
      ✓ Expects pool with id 0x4338665CBB7B2485A8855A139b75D5e34AB0DB94-bsc to have at least one number apy field
      ✓ Expects pool with id 0x85EAC5Ac2F758618dFa09bDbe0cf174e7d574D5B-bsc to have at least one number apy field
      ✓ Expects pool with id 0x6FDcdfef7c496407cCb0cEC90f9C5Aaa1Cc8D888-bsc to have at least one number apy field
      ✓ Expects pool with id 0x8fF795a6F4D97E7887C79beA79aba5cc76444aDf-bsc to have at least one number apy field
      ✓ Expects pool with id 0x43C934A845205F0b514417d757d7235B8f53f1B9-bsc to have at least one number apy field
      ✓ Expects pool with id 0x56b6fB708fC5732DEC1Afc8D8556423A2EDcCbD6-bsc to have at least one number apy field
    Check tvl data type
      ✓ tvlUsd field of pool with id 0-bsc should be number 
      ✓ tvlUsd field of pool with id 1-bsc should be number 
      ✓ tvlUsd field of pool with id 2-bsc should be number 
      ✓ tvlUsd field of pool with id 3-bsc should be number 
      ✓ tvlUsd field of pool with id 20-bsc should be number 
      ✓ tvlUsd field of pool with id 21-bsc should be number 
      ✓ tvlUsd field of pool with id 7-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 8-bsc should be number 
      ✓ tvlUsd field of pool with id 10-bsc should be number 
      ✓ tvlUsd field of pool with id 11-bsc should be number 
      ✓ tvlUsd field of pool with id 30-bsc should be number 
      ✓ tvlUsd field of pool with id 31-bsc should be number 
      ✓ tvlUsd field of pool with id 22-bsc should be number 
      ✓ tvlUsd field of pool with id 23-bsc should be number 
      ✓ tvlUsd field of pool with id 12-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 13-bsc should be number 
      ✓ tvlUsd field of pool with id 27-bsc should be number 
      ✓ tvlUsd field of pool with id 28-bsc should be number 
      ✓ tvlUsd field of pool with id 152-bsc should be number 
      ✓ tvlUsd field of pool with id 157-bsc should be number 
      ✓ tvlUsd field of pool with id 120-bsc should be number 
      ✓ tvlUsd field of pool with id 121-bsc should be number 
      ✓ tvlUsd field of pool with id 62-bsc should be number 
      ✓ tvlUsd field of pool with id 63-bsc should be number 
      ✓ tvlUsd field of pool with id 9-bsc should be number 
      ✓ tvlUsd field of pool with id 36-bsc should be number 
      ✓ tvlUsd field of pool with id 56-bsc should be number 
      ✓ tvlUsd field of pool with id 57-bsc should be number 
      ✓ tvlUsd field of pool with id 44-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 45-bsc should be number 
      ✓ tvlUsd field of pool with id 102-bsc should be number 
      ✓ tvlUsd field of pool with id 103-bsc should be number 
      ✓ tvlUsd field of pool with id 50-bsc should be number 
      ✓ tvlUsd field of pool with id 51-bsc should be number 
      ✓ tvlUsd field of pool with id 80-bsc should be number 
      ✓ tvlUsd field of pool with id 85-bsc should be number 
      ✓ tvlUsd field of pool with id 5-bsc should be number 
      ✓ tvlUsd field of pool with id 6-bsc should be number 
      ✓ tvlUsd field of pool with id 86-bsc should be number 
      ✓ tvlUsd field of pool with id 87-bsc should be number 
      ✓ tvlUsd field of pool with id 68-bsc should be number 
      ✓ tvlUsd field of pool with id 69-bsc should be number 
      ✓ tvlUsd field of pool with id 38-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 39-bsc should be number 
      ✓ tvlUsd field of pool with id 74-bsc should be number 
      ✓ tvlUsd field of pool with id 75-bsc should be number 
      ✓ tvlUsd field of pool with id 4-bsc should be number 
      ✓ tvlUsd field of pool with id 33-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 91-bsc should be number 
      ✓ tvlUsd field of pool with id 92-bsc should be number 
      ✓ tvlUsd field of pool with id 96-bsc should be number 
      ✓ tvlUsd field of pool with id 97-bsc should be number 
      ✓ tvlUsd field of pool with id 108-bsc should be number 
      ✓ tvlUsd field of pool with id 109-bsc should be number 
      ✓ tvlUsd field of pool with id 114-bsc should be number 
      ✓ tvlUsd field of pool with id 115-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 126-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 127-bsc should be number 
      ✓ tvlUsd field of pool with id 131-bsc should be number 
      ✓ tvlUsd field of pool with id 132-bsc should be number 
      ✓ tvlUsd field of pool with id 137-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 138-bsc should be number 
      ✓ tvlUsd field of pool with id 143-bsc should be number 
      ✓ tvlUsd field of pool with id 144-bsc should be number 
      ✓ tvlUsd field of pool with id 0x55d398326f99059fF775485246999027B3197955-bsc should be number 
      ✓ tvlUsd field of pool with id 17-bsc should be number 
      ✓ tvlUsd field of pool with id 18-bsc should be number 
      ✓ tvlUsd field of pool with id 0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c-bsc should be number 
      ✓ tvlUsd field of pool with id 155-bsc should be number 
      ✓ tvlUsd field of pool with id 156-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 124-bsc should be number 
      ✓ tvlUsd field of pool with id 125-bsc should be number 
      ✓ tvlUsd field of pool with id 66-bsc should be number 
      ✓ tvlUsd field of pool with id 67-bsc should be number 
      ✓ tvlUsd field of pool with id 29-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 37-bsc should be number 
      ✓ tvlUsd field of pool with id 60-bsc should be number 
      ✓ tvlUsd field of pool with id 61-bsc should be number 
      ✓ tvlUsd field of pool with id 48-bsc should be number 
      ✓ tvlUsd field of pool with id 49-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 106-bsc should be number 
      ✓ tvlUsd field of pool with id 107-bsc should be number 
      ✓ tvlUsd field of pool with id 54-bsc should be number 
      ✓ tvlUsd field of pool with id 55-bsc should be number 
      ✓ tvlUsd field of pool with id 83-bsc should be number 
      ✓ tvlUsd field of pool with id 84-bsc should be number 
      ✓ tvlUsd field of pool with id 25-bsc should be number 
      ✓ tvlUsd field of pool with id 26-bsc should be number 
      ✓ tvlUsd field of pool with id 90-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 151-bsc should be number 
      ✓ tvlUsd field of pool with id 72-bsc should be number 
      ✓ tvlUsd field of pool with id 73-bsc should be number 
      ✓ tvlUsd field of pool with id 41-bsc should be number 
      ✓ tvlUsd field of pool with id 42-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 78-bsc should be number 
      ✓ tvlUsd field of pool with id 79-bsc should be number 
      ✓ tvlUsd field of pool with id 24-bsc should be number 
      ✓ tvlUsd field of pool with id 34-bsc should be number 
      ✓ tvlUsd field of pool with id 94-bsc should be number 
      ✓ tvlUsd field of pool with id 95-bsc should be number 
      ✓ tvlUsd field of pool with id 100-bsc should be number 
      ✓ tvlUsd field of pool with id 101-bsc should be number 
      ✓ tvlUsd field of pool with id 112-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 113-bsc should be number 
      ✓ tvlUsd field of pool with id 118-bsc should be number 
      ✓ tvlUsd field of pool with id 119-bsc should be number 
      ✓ tvlUsd field of pool with id 130-bsc should be number 
      ✓ tvlUsd field of pool with id 135-bsc should be number 
      ✓ tvlUsd field of pool with id 136-bsc should be number 
      ✓ tvlUsd field of pool with id 141-bsc should be number 
      ✓ tvlUsd field of pool with id 142-bsc should be number 
      ✓ tvlUsd field of pool with id 147-bsc should be number 
      ✓ tvlUsd field of pool with id 148-bsc should be number 
      ✓ tvlUsd field of pool with id 150-bsc should be number 
      ✓ tvlUsd field of pool with id 0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56-bsc should be number 
      ✓ tvlUsd field of pool with id 153-bsc should be number 
      ✓ tvlUsd field of pool with id 154-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 122-bsc should be number 
      ✓ tvlUsd field of pool with id 123-bsc should be number 
      ✓ tvlUsd field of pool with id 64-bsc should be number 
      ✓ tvlUsd field of pool with id 65-bsc should be number 
      ✓ tvlUsd field of pool with id 19-bsc should be number 
      ✓ tvlUsd field of pool with id 35-bsc should be number 
      ✓ tvlUsd field of pool with id 58-bsc should be number 
      ✓ tvlUsd field of pool with id 59-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 46-bsc should be number 
      ✓ tvlUsd field of pool with id 47-bsc should be number 
      ✓ tvlUsd field of pool with id 104-bsc should be number 
      ✓ tvlUsd field of pool with id 105-bsc should be number 
      ✓ tvlUsd field of pool with id 52-bsc should be number 
      ✓ tvlUsd field of pool with id 53-bsc should be number 
      ✓ tvlUsd field of pool with id 81-bsc should be number 
      ✓ tvlUsd field of pool with id 82-bsc should be number 
      ✓ tvlUsd field of pool with id 15-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 16-bsc should be number 
      ✓ tvlUsd field of pool with id 88-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 89-bsc should be number 
      ✓ tvlUsd field of pool with id 70-bsc should be number 
      ✓ tvlUsd field of pool with id 71-bsc should be number 
      ✓ tvlUsd field of pool with id 40-bsc should be number 
      ✓ tvlUsd field of pool with id 43-bsc should be number 
      ✓ tvlUsd field of pool with id 76-bsc should be number 
      ✓ tvlUsd field of pool with id 77-bsc should be number 
      ✓ tvlUsd field of pool with id 14-bsc should be number 
      ✓ tvlUsd field of pool with id 32-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 93-bsc should be number 
      ✓ tvlUsd field of pool with id 98-bsc should be number 
      ✓ tvlUsd field of pool with id 99-bsc should be number 
      ✓ tvlUsd field of pool with id 110-bsc should be number 
      ✓ tvlUsd field of pool with id 111-bsc should be number 
      ✓ tvlUsd field of pool with id 116-bsc should be number 
      ✓ tvlUsd field of pool with id 117-bsc should be number 
      ✓ tvlUsd field of pool with id 128-bsc should be number 
      ✓ tvlUsd field of pool with id 129-bsc should be number 
      ✓ tvlUsd field of pool with id 133-bsc should be number  (2 ms)
      ✓ tvlUsd field of pool with id 134-bsc should be number 
      ✓ tvlUsd field of pool with id 139-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 140-bsc should be number 
      ✓ tvlUsd field of pool with id 145-bsc should be number 
      ✓ tvlUsd field of pool with id 146-bsc should be number 
      ✓ tvlUsd field of pool with id 149-bsc should be number 
      ✓ tvlUsd field of pool with id 0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d-bsc should be number 
      ✓ tvlUsd field of pool with id 0x2170Ed0880ac9A755fd29B2688956BD959F933F8-bsc should be number 
      ✓ tvlUsd field of pool with id 0xCC42724C6683B7E57334c4E856f4c9965ED682bD-bsc should be number 
      ✓ tvlUsd field of pool with id 0x1CE0c2827e2eF14D5C4f29a091d735A204794041-bsc should be number 
      ✓ tvlUsd field of pool with id 0xF8A0BF9cF54Bb92F17374d9e9A321E6a111a51bD-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 0x0D8Ce2A99Bb6e3B7Db580eD848240e4a0F9aE153-bsc should be number 
      ✓ tvlUsd field of pool with id 0x2859e4544C4bB03966803b044A93563Bd2D0DD4D-bsc should be number 
      ✓ tvlUsd field of pool with id 0x1Fa4a73a3F0133f0025378af00236f3aBDEE5D63-bsc should be number 
      ✓ tvlUsd field of pool with id 0x570A5D26f7765Ecb712C0924E4De545B89fD43dF-bsc should be number 
      ✓ tvlUsd field of pool with id 0x7083609fCE4d1d8Dc0C979AAb8c869Ea2C873402-bsc should be number 
      ✓ tvlUsd field of pool with id 0xAD29AbB318791D579433D831ed122aFeAf29dcfe-bsc should be number 
      ✓ tvlUsd field of pool with id 0xa2B726B1145A4773F68593CF171187d8EBe4d495-bsc should be number 
      ✓ tvlUsd field of pool with id 0xBf5140A22578168FD562DCcF235E5D43A02ce9B1-bsc should be number 
      ✓ tvlUsd field of pool with id 0x715D400F88C167884bbCc41C5FeA407ed4D2f8A0-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 0xfb6115445Bff7b52FeB98650C87f44907E58f802-bsc should be number 
      ✓ tvlUsd field of pool with id 0x0Eb3a705fc54725037CC9e008bDede697f62F335-bsc should be number 
      ✓ tvlUsd field of pool with id 0x2eD9a5C8C13b93955103B9a7C167B67Ef4d568a3-bsc should be number 
      ✓ tvlUsd field of pool with id 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c-bsc should be number 
      ✓ tvlUsd field of pool with id 0x1D2F0da169ceB9fC7B3144628dB156f3F6c60dBE-bsc should be number  (1 ms)
      ✓ tvlUsd field of pool with id 0x3EE2200Efb3400fAbB9AacF31297cBdD1d435D47-bsc should be number 
      ✓ tvlUsd field of pool with id 0x4338665CBB7B2485A8855A139b75D5e34AB0DB94-bsc should be number 
      ✓ tvlUsd field of pool with id 0x85EAC5Ac2F758618dFa09bDbe0cf174e7d574D5B-bsc should be number 
      ✓ tvlUsd field of pool with id 0x6FDcdfef7c496407cCb0cEC90f9C5Aaa1Cc8D888-bsc should be number 
      ✓ tvlUsd field of pool with id 0x8fF795a6F4D97E7887C79beA79aba5cc76444aDf-bsc should be number 
      ✓ tvlUsd field of pool with id 0x43C934A845205F0b514417d757d7235B8f53f1B9-bsc should be number 
      ✓ tvlUsd field of pool with id 0x56b6fB708fC5732DEC1Afc8D8556423A2EDcCbD6-bsc should be number 
    Check tokens data types
      ✓ underlyingTokens field of pool with id 0-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 1-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 2-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 3-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 20-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 21-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 7-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 8-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 10-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 11-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 30-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 31-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 22-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 23-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 12-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 13-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 27-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 28-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 152-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 157-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 120-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 121-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 62-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 63-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 9-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 36-bsc should be an Array of strings (9 ms)
      ✓ underlyingTokens field of pool with id 56-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 57-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 44-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 45-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 102-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 103-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 50-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 51-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 80-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 85-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 5-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 6-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 86-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 87-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 68-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 69-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 38-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 39-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 74-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 75-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 4-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 33-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 91-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 92-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 96-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 97-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 108-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 109-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 114-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 115-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 126-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 127-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 131-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 132-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 137-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 138-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 143-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 144-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 0x55d398326f99059fF775485246999027B3197955-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 17-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 18-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 155-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 156-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 124-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 125-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 66-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 67-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 29-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 37-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 60-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 61-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 48-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 49-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 106-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 107-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 54-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 55-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 83-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 84-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 25-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 26-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 90-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 151-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 72-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 73-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 41-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 42-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 78-bsc should be an Array of strings (3 ms)
      ✓ underlyingTokens field of pool with id 79-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 24-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 34-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 94-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 95-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 100-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 101-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 112-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 113-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 118-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 119-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 130-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 135-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 136-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 141-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 142-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 147-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 148-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 150-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 153-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 154-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 122-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 123-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 64-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 65-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 19-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 35-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 58-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 59-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 46-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 47-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 104-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 105-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 52-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 53-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 81-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 82-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 15-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 16-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 88-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 89-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 70-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 71-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 40-bsc should be an Array of strings (1 ms)
      ✓ underlyingTokens field of pool with id 43-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 76-bsc should be an Array of strings
      ✓ underlyingTokens field of pool with id 77-bsc should be an Array of strings (1 ms)

Nb of pools: 187
 

Sample pools:
┌─────────┬──────────┬───────────┬──────────┬──────────────┬─────────┬────────────────────────────────────────────────────────────────────────────────────────────────┬────────────────────┐
│ (index) │   pool   │   chain   │ project  │    symbol    │ apyBase │                                        underlyingTokens                                        │       tvlUsd       │
├─────────┼──────────┼───────────┼──────────┼──────────────┼─────────┼────────────────────────────────────────────────────────────────────────────────────────────────┼────────────────────┤
│    0    │ '0-bsc'  │ 'Binance' │ 'rehold' │ 'BTCB-USDT'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0x55d398326f99059fF775485246999027B3197955' ] │      69267.9       │
│    1    │ '1-bsc'  │ 'Binance' │ 'rehold' │ 'BTCB-USDT'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0x55d398326f99059fF775485246999027B3197955' ] │      69267.9       │
│    2    │ '2-bsc'  │ 'Binance' │ 'rehold' │  'ETH-USDT'  │   150   │ [ '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', '0x55d398326f99059fF775485246999027B3197955' ] │ 60089.380000000005 │
│    3    │ '3-bsc'  │ 'Binance' │ 'rehold' │  'ETH-USDT'  │   150   │ [ '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', '0x55d398326f99059fF775485246999027B3197955' ] │ 60089.380000000005 │
│    4    │ '20-bsc' │ 'Binance' │ 'rehold' │ 'BTCB-BUSD'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56' ] │      56712.78      │
│    5    │ '21-bsc' │ 'Binance' │ 'rehold' │ 'BTCB-BUSD'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56' ] │      56712.78      │
│    6    │ '7-bsc'  │ 'Binance' │ 'rehold' │ 'MATIC-USDT' │   220   │ [ '0xCC42724C6683B7E57334c4E856f4c9965ED682bD', '0x55d398326f99059fF775485246999027B3197955' ] │ 54356.450000000004 │
│    7    │ '8-bsc'  │ 'Binance' │ 'rehold' │ 'MATIC-USDT' │   220   │ [ '0xCC42724C6683B7E57334c4E856f4c9965ED682bD', '0x55d398326f99059fF775485246999027B3197955' ] │ 54356.450000000004 │
│    8    │ '10-bsc' │ 'Binance' │ 'rehold' │ 'BTCB-USDC'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d' ] │      51243.57      │
│    9    │ '11-bsc' │ 'Binance' │ 'rehold' │ 'BTCB-USDC'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d' ] │      51243.57      │
└─────────┴──────────┴───────────┴──────────┴──────────────┴─────────┴────────────────────────────────────────────────────────────────────────────────────────────────┴────────────────────┘
This adapter contains some pools with <10k TVL, these pools won't be shown in DefiLlama

@llamatester
Copy link

The rehold adapter exports pools:

Test Suites: 1 passed, 1 total
Tests: 652 passed, 652 total
Snapshots: 0 total
Time: 0.77 s
Ran all test suites.

Nb of pools: 108
 

Sample pools:
┌─────────┬──────────┬───────────┬──────────┬──────────────┬─────────┬────────────────────────────────────────────────────────────────────────────────────────────────┬────────────────────┐
│ (index) │   pool   │   chain   │ project  │    symbol    │ apyBase │                                        underlyingTokens                                        │       tvlUsd       │
├─────────┼──────────┼───────────┼──────────┼──────────────┼─────────┼────────────────────────────────────────────────────────────────────────────────────────────────┼────────────────────┤
│    0    │ '0-bsc'  │ 'Binance' │ 'rehold' │ 'BTCB-USDT'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0x55d398326f99059fF775485246999027B3197955' ] │      69197.68      │
│    1    │ '1-bsc'  │ 'Binance' │ 'rehold' │  'ETH-USDT'  │   150   │ [ '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', '0x55d398326f99059fF775485246999027B3197955' ] │ 60021.600000000006 │
│    2    │ '12-bsc' │ 'Binance' │ 'rehold' │ 'BTCB-BUSD'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56' ] │      56685.06      │
│    3    │ '4-bsc'  │ 'Binance' │ 'rehold' │ 'MATIC-USDT' │   220   │ [ '0xCC42724C6683B7E57334c4E856f4c9965ED682bD', '0x55d398326f99059fF775485246999027B3197955' ] │ 54313.950000000004 │
│    4    │ '6-bsc'  │ 'Binance' │ 'rehold' │ 'BTCB-USDC'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d' ] │ 51217.979999999996 │
│    5    │ '18-bsc' │ 'Binance' │ 'rehold' │  'ETH-BTCB'  │   100   │ [ '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c' ] │ 50656.119999999995 │
│    6    │ '13-bsc' │ 'Binance' │ 'rehold' │  'ETH-BUSD'  │   150   │ [ '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', '0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56' ] │ 47508.979999999996 │
│    7    │ '7-bsc'  │ 'Binance' │ 'rehold' │  'ETH-USDC'  │   150   │ [ '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d' ] │      42041.9       │
│    8    │ '16-bsc' │ 'Binance' │ 'rehold' │ 'MATIC-BUSD' │   220   │ [ '0xCC42724C6683B7E57334c4E856f4c9965ED682bD', '0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56' ] │      41801.33      │
│    9    │ '76-bsc' │ 'Binance' │ 'rehold' │ 'AVAX-USDT'  │   300   │ [ '0x1CE0c2827e2eF14D5C4f29a091d735A204794041', '0x55d398326f99059fF775485246999027B3197955' ] │      41434.97      │
└─────────┴──────────┴───────────┴──────────┴──────────────┴─────────┴────────────────────────────────────────────────────────────────────────────────────────────────┴────────────────────┘
This adapter contains some pools with <10k TVL, these pools won't be shown in DefiLlama

@slasher125
Copy link
Collaborator

hi, ty for adding. a few things:

  • for pool use addresses
  • add the lock duration using poolMeta

the apr values, are they from the 12hour lock?

@bifot
Copy link
Contributor Author

bifot commented Feb 20, 2023

Hello,

We don't have pool addresses for pairs because we're using the single smart contract and determine earnings and tokens based on our staking plans (internal struct data in our smart contract). Should I use the pair of tokens addresses or some different for ID of a pool?

APRs are extrapolated from 12 or 24 hours staking plans, that's right.

I'll add a pool meta today for staking periods of pools.

Thank you!

@slasher125
Copy link
Collaborator

@bifot yes pair address is fine. or some combi like pairAddress-bsc is also ok

@bifot
Copy link
Contributor Author

bifot commented Feb 20, 2023

I mean we don't have a pair address. We have addresses of two tokens of this pair. Or we can use the id (numeric) for a pair from our smart contract, is it ok?

@bifot
Copy link
Contributor Author

bifot commented Feb 20, 2023

@slasher125 I've added the pool meta for each pool.

@llamatester
Copy link

The rehold adapter exports pools:

Test Suites: 1 passed, 1 total
Tests: 652 passed, 652 total
Snapshots: 0 total
Time: 0.503 s
Ran all test suites.

Nb of pools: 108
 

Sample pools:
┌─────────┬──────────┬───────────┬──────────┬──────────────┬─────────┬────────────────────────────────────────────────────────────────────────────────────────────────┬────────────────────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ (index) │   pool   │   chain   │ project  │    symbol    │ apyBase │                                        underlyingTokens                                        │       tvlUsd       │                                                   poolMeta                                                   │
├─────────┼──────────┼───────────┼──────────┼──────────────┼─────────┼────────────────────────────────────────────────────────────────────────────────────────────────┼────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│    0    │ '0-bsc'  │ 'Binance' │ 'rehold' │ 'BTCB-USDT'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0x55d398326f99059fF775485246999027B3197955' ] │      77617.4       │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    1    │ '1-bsc'  │ 'Binance' │ 'rehold' │  'ETH-USDT'  │   150   │ [ '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', '0x55d398326f99059fF775485246999027B3197955' ] │      70383.03      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    2    │ '4-bsc'  │ 'Binance' │ 'rehold' │ 'MATIC-USDT' │   220   │ [ '0xCC42724C6683B7E57334c4E856f4c9965ED682bD', '0x55d398326f99059fF775485246999027B3197955' ] │      62697.1       │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    3    │ '12-bsc' │ 'Binance' │ 'rehold' │ 'BTCB-BUSD'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56' ] │ 57447.369999999995 │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    4    │ '18-bsc' │ 'Binance' │ 'rehold' │  'ETH-BTCB'  │   100   │ [ '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c' ] │      53284.53      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    5    │ '6-bsc'  │ 'Binance' │ 'rehold' │ 'BTCB-USDC'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d' ] │      51876.66      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    6    │ '13-bsc' │ 'Binance' │ 'rehold' │  'ETH-BUSD'  │   150   │ [ '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', '0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56' ] │       50213        │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    7    │ '76-bsc' │ 'Binance' │ 'rehold' │ 'AVAX-USDT'  │   300   │ [ '0x1CE0c2827e2eF14D5C4f29a091d735A204794041', '0x55d398326f99059fF775485246999027B3197955' ] │ 49331.409999999996 │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    8    │ '61-bsc' │ 'Binance' │ 'rehold' │ 'LINK-USDT'  │   200   │ [ '0xF8A0BF9cF54Bb92F17374d9e9A321E6a111a51bD', '0x55d398326f99059fF775485246999027B3197955' ] │      48709.03      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    9    │ '31-bsc' │ 'Binance' │ 'rehold' │  'FIL-USDT'  │   250   │ [ '0x0D8Ce2A99Bb6e3B7Db580eD848240e4a0F9aE153', '0x55d398326f99059fF775485246999027B3197955' ] │      47685.11      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
└─────────┴──────────┴───────────┴──────────┴──────────────┴─────────┴────────────────────────────────────────────────────────────────────────────────────────────────┴────────────────────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
This adapter contains some pools with <10k TVL, these pools won't be shown in DefiLlama

@bifot
Copy link
Contributor Author

bifot commented Feb 20, 2023

@slasher125 about IDs for pools with pairs, should I use these two tokens addresses in the ID or should I use our contract address?

Examples:

  • 0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c-0x55d398326f99059fF775485246999027B3197955-bsc - BTCB/USDT pool on BSC
  • 0xd476ce848c61650e3051f7571f3ae437fe9a32e0-bsc for each pool, 0xd476ce848c61650e3051f7571f3ae437fe9a32e0 it's our smart contract address (where we lock funds)

@slasher125
Copy link
Collaborator

i think the second option is better. i'd concat your current pool values with that address. ty

@bifot
Copy link
Contributor Author

bifot commented Feb 20, 2023

@slasher125 ok, done. It will be the same id for every pool with two tokens.

@llamatester
Copy link

Error while running rehold adapter:

Test Suites: 1 failed, 1 total
Tests: 1 failed, 651 passed, 652 total
Snapshots: 0 total
Time: 0.581 s
Ran all test suites.

Nb of pools: 108
 

Sample pools:
┌─────────┬──────────────────────────────────────────────────┬───────────┬──────────┬──────────────┬─────────┬────────────────────────────────────────────────────────────────────────────────────────────────┬────────────────────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ (index) │                       pool                       │   chain   │ project  │    symbol    │ apyBase │                                        underlyingTokens                                        │       tvlUsd       │                                                   poolMeta                                                   │
├─────────┼──────────────────────────────────────────────────┼───────────┼──────────┼──────────────┼─────────┼────────────────────────────────────────────────────────────────────────────────────────────────┼────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│    0    │ '0xd476ce848c61650e3051f7571f3ae437fe9a32e0-bsc' │ 'Binance' │ 'rehold' │ 'BTCB-USDT'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0x55d398326f99059fF775485246999027B3197955' ] │      77702.26      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    1    │ '0xd476ce848c61650e3051f7571f3ae437fe9a32e0-bsc' │ 'Binance' │ 'rehold' │  'ETH-USDT'  │   150   │ [ '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', '0x55d398326f99059fF775485246999027B3197955' ] │      70462.55      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    2    │ '0xd476ce848c61650e3051f7571f3ae437fe9a32e0-bsc' │ 'Binance' │ 'rehold' │ 'MATIC-USDT' │   220   │ [ '0xCC42724C6683B7E57334c4E856f4c9965ED682bD', '0x55d398326f99059fF775485246999027B3197955' ] │      62744.46      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    3    │ '0xd476ce848c61650e3051f7571f3ae437fe9a32e0-bsc' │ 'Binance' │ 'rehold' │ 'BTCB-BUSD'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56' ] │ 57484.869999999995 │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    4    │ '0xd476ce848c61650e3051f7571f3ae437fe9a32e0-bsc' │ 'Binance' │ 'rehold' │  'ETH-BTCB'  │   100   │ [ '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c' ] │      53354.19      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    5    │ '0xd476ce848c61650e3051f7571f3ae437fe9a32e0-bsc' │ 'Binance' │ 'rehold' │ 'BTCB-USDC'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d' ] │      51938.92      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    6    │ '0xd476ce848c61650e3051f7571f3ae437fe9a32e0-bsc' │ 'Binance' │ 'rehold' │  'ETH-BUSD'  │   150   │ [ '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', '0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56' ] │      50245.16      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    7    │ '0xd476ce848c61650e3051f7571f3ae437fe9a32e0-bsc' │ 'Binance' │ 'rehold' │ 'AVAX-USDT'  │   300   │ [ '0x1CE0c2827e2eF14D5C4f29a091d735A204794041', '0x55d398326f99059fF775485246999027B3197955' ] │ 49371.149999999994 │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    8    │ '0xd476ce848c61650e3051f7571f3ae437fe9a32e0-bsc' │ 'Binance' │ 'rehold' │ 'LINK-USDT'  │   200   │ [ '0xF8A0BF9cF54Bb92F17374d9e9A321E6a111a51bD', '0x55d398326f99059fF775485246999027B3197955' ] │      48754.74      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    9    │ '0xd476ce848c61650e3051f7571f3ae437fe9a32e0-bsc' │ 'Binance' │ 'rehold' │  'FIL-USDT'  │   250   │ [ '0x0D8Ce2A99Bb6e3B7Db580eD848240e4a0F9aE153', '0x55d398326f99059fF775485246999027B3197955' ] │      47730.18      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
└─────────┴──────────────────────────────────────────────────┴───────────┴──────────┴──────────────┴─────────┴────────────────────────────────────────────────────────────────────────────────────────────────┴────────────────────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
This adapter contains some pools with <10k TVL, these pools won't be shown in DefiLlama
}

@bifot
Copy link
Contributor Author

bifot commented Feb 20, 2023

@slasher125 as I can see it's not allowed by tests to use non-unique IDs. I've reverted the previous commit.

@llamatester
Copy link

The rehold adapter exports pools:

Test Suites: 1 passed, 1 total
Tests: 652 passed, 652 total
Snapshots: 0 total
Time: 0.766 s
Ran all test suites.

Nb of pools: 108
 

Sample pools:
┌─────────┬──────────┬───────────┬──────────┬──────────────┬─────────┬────────────────────────────────────────────────────────────────────────────────────────────────┬────────────────────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ (index) │   pool   │   chain   │ project  │    symbol    │ apyBase │                                        underlyingTokens                                        │       tvlUsd       │                                                   poolMeta                                                   │
├─────────┼──────────┼───────────┼──────────┼──────────────┼─────────┼────────────────────────────────────────────────────────────────────────────────────────────────┼────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│    0    │ '0-bsc'  │ 'Binance' │ 'rehold' │ 'BTCB-USDT'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0x55d398326f99059fF775485246999027B3197955' ] │      77575.82      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    1    │ '1-bsc'  │ 'Binance' │ 'rehold' │  'ETH-USDT'  │   150   │ [ '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', '0x55d398326f99059fF775485246999027B3197955' ] │      70336.11      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    2    │ '4-bsc'  │ 'Binance' │ 'rehold' │ 'MATIC-USDT' │   220   │ [ '0xCC42724C6683B7E57334c4E856f4c9965ED682bD', '0x55d398326f99059fF775485246999027B3197955' ] │ 62618.020000000004 │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    3    │ '12-bsc' │ 'Binance' │ 'rehold' │ 'BTCB-BUSD'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56' ] │ 57484.869999999995 │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    4    │ '18-bsc' │ 'Binance' │ 'rehold' │  'ETH-BTCB'  │   100   │ [ '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c' ] │      53354.19      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    5    │ '6-bsc'  │ 'Binance' │ 'rehold' │ 'BTCB-USDC'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d' ] │      51938.92      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    6    │ '13-bsc' │ 'Binance' │ 'rehold' │  'ETH-BUSD'  │   150   │ [ '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', '0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56' ] │      50245.16      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    7    │ '76-bsc' │ 'Binance' │ 'rehold' │ 'AVAX-USDT'  │   300   │ [ '0x1CE0c2827e2eF14D5C4f29a091d735A204794041', '0x55d398326f99059fF775485246999027B3197955' ] │      49244.71      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    8    │ '61-bsc' │ 'Binance' │ 'rehold' │ 'LINK-USDT'  │   200   │ [ '0xF8A0BF9cF54Bb92F17374d9e9A321E6a111a51bD', '0x55d398326f99059fF775485246999027B3197955' ] │ 48623.350000000006 │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    9    │ '31-bsc' │ 'Binance' │ 'rehold' │  'FIL-USDT'  │   250   │ [ '0x0D8Ce2A99Bb6e3B7Db580eD848240e4a0F9aE153', '0x55d398326f99059fF775485246999027B3197955' ] │ 47603.740000000005 │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
└─────────┴──────────┴───────────┴──────────┴──────────────┴─────────┴────────────────────────────────────────────────────────────────────────────────────────────────┴────────────────────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
This adapter contains some pools with <10k TVL, these pools won't be shown in DefiLlama

@slasher125
Copy link
Collaborator

slasher125 commented Feb 20, 2023

yeah, what i mean was using it like this 0xd476ce848c61650e3051f7571f3ae437fe9a32e0-0-bsc
so: 0xd476ce848c61650e3051f7571f3ae437fe9a32e0 as a prefix to your current pool values so we still have unique values here

@llamatester
Copy link

The rehold adapter exports pools:

Test Suites: 1 passed, 1 total
Tests: 652 passed, 652 total
Snapshots: 0 total
Time: 0.528 s
Ran all test suites.

Nb of pools: 108
 

Sample pools:
┌─────────┬─────────────────────────────────────────────────────┬───────────┬──────────┬──────────────┬─────────┬────────────────────────────────────────────────────────────────────────────────────────────────┬────────────────────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ (index) │                        pool                         │   chain   │ project  │    symbol    │ apyBase │                                        underlyingTokens                                        │       tvlUsd       │                                                   poolMeta                                                   │
├─────────┼─────────────────────────────────────────────────────┼───────────┼──────────┼──────────────┼─────────┼────────────────────────────────────────────────────────────────────────────────────────────────┼────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│    0    │ '0xd476ce848c61650e3051f7571f3ae437fe9a32e0-0-bsc'  │ 'Binance' │ 'rehold' │ 'BTCB-USDT'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0x55d398326f99059fF775485246999027B3197955' ] │      79642.92      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    1    │ '0xd476ce848c61650e3051f7571f3ae437fe9a32e0-1-bsc'  │ 'Binance' │ 'rehold' │  'ETH-USDT'  │   150   │ [ '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', '0x55d398326f99059fF775485246999027B3197955' ] │      71119.2       │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    2    │ '0xd476ce848c61650e3051f7571f3ae437fe9a32e0-4-bsc'  │ 'Binance' │ 'rehold' │ 'MATIC-USDT' │   220   │ [ '0xCC42724C6683B7E57334c4E856f4c9965ED682bD', '0x55d398326f99059fF775485246999027B3197955' ] │      63358.46      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    3    │ '0xd476ce848c61650e3051f7571f3ae437fe9a32e0-12-bsc' │ 'Binance' │ 'rehold' │ 'BTCB-BUSD'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56' ] │ 58503.490000000005 │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    4    │ '0xd476ce848c61650e3051f7571f3ae437fe9a32e0-19-bsc' │ 'Binance' │ 'rehold' │ 'ATOM-USDT'  │   250   │ [ '0x0Eb3a705fc54725037CC9e008bDede697f62F335', '0x55d398326f99059fF775485246999027B3197955' ] │ 58047.509999999995 │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    5    │ '0xd476ce848c61650e3051f7571f3ae437fe9a32e0-18-bsc' │ 'Binance' │ 'rehold' │  'ETH-BTCB'  │   100   │ [ '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c' ] │      54723.5       │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    6    │ '0xd476ce848c61650e3051f7571f3ae437fe9a32e0-6-bsc'  │ 'Binance' │ 'rehold' │ 'BTCB-USDC'  │   120   │ [ '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d' ] │      53265.58      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    7    │ '0xd476ce848c61650e3051f7571f3ae437fe9a32e0-76-bsc' │ 'Binance' │ 'rehold' │ 'AVAX-USDT'  │   300   │ [ '0x1CE0c2827e2eF14D5C4f29a091d735A204794041', '0x55d398326f99059fF775485246999027B3197955' ] │      50005.14      │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    8    │ '0xd476ce848c61650e3051f7571f3ae437fe9a32e0-13-bsc' │ 'Binance' │ 'rehold' │  'ETH-BUSD'  │   150   │ [ '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', '0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56' ] │ 49979.770000000004 │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
│    9    │ '0xd476ce848c61650e3051f7571f3ae437fe9a32e0-61-bsc' │ 'Binance' │ 'rehold' │ 'LINK-USDT'  │   200   │ [ '0xF8A0BF9cF54Bb92F17374d9e9A321E6a111a51bD', '0x55d398326f99059fF775485246999027B3197955' ] │ 49365.439999999995 │ 'Calculated as: 24h yield * 365. APY is fixed, and extendable with no limits after the staking period ends.' │
└─────────┴─────────────────────────────────────────────────────┴───────────┴──────────┴──────────────┴─────────┴────────────────────────────────────────────────────────────────────────────────────────────────┴────────────────────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
This adapter contains some pools with <10k TVL, these pools won't be shown in DefiLlama

@bifot
Copy link
Contributor Author

bifot commented Feb 20, 2023

@slasher125 done! ty

@slasher125 slasher125 merged commit ca399ff into DefiLlama:master Feb 20, 2023
@slasher125
Copy link
Collaborator

@bifot sry only seeing this now: what i mean to use in poolMeta was something: 24h lock depending on the stakingPeriod variable. i'll remove the current poolMeta which is way to long for our UI

@bifot
Copy link
Contributor Author

bifot commented Feb 20, 2023

@slasher125 I've used a reference from Uniswap V3 poolMeta.

image

@bifot
Copy link
Contributor Author

bifot commented Feb 20, 2023

If it's too long, let's change to APY for 24h lock, extendable with no limits after the period ends., please

@slasher125
Copy link
Collaborator

but isn't the lock based on the stakingPeriod? so some pools will have 12h others 24h? this is the relevant info for poolMeta

@bifot
Copy link
Contributor Author

bifot commented Feb 20, 2023

Yes, it is. But all of our pools have 12h and 24h plans. We always add these two options for every token and every pool.

@slasher125
Copy link
Collaborator

ah ok. but the yields differ depending on the duration? i'd expect 24h lock to have higher yields?

@bifot
Copy link
Contributor Author

bifot commented Feb 20, 2023

APY is the same for 12h and 24h.

@slasher125
Copy link
Collaborator

btw, cause u shared the above screenshot: poolMeta will be displayed in () like the fee tier for the uni pool in the above screenshot. hence why it should be brief

@slasher125
Copy link
Collaborator

will update

@bifot
Copy link
Contributor Author

bifot commented Feb 20, 2023

Should we set it as a description instead of a pool meta? If yes, we can write text longer like Uniswap V3 (started from "Calculateed as...")

@bifot
Copy link
Contributor Author

bifot commented Feb 20, 2023

@slasher125 as I can see there's no link, can we fix it?

image

@bifot
Copy link
Contributor Author

bifot commented Feb 21, 2023

@slasher125 can u check please?

@bifot bifot mentioned this pull request Jun 15, 2023
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.

3 participants