Skip to content

Merging updates from defillama#3

Open
iagoLD wants to merge 6418 commits into
Window-Finance:masterfrom
DefiLlama:master
Open

Merging updates from defillama#3
iagoLD wants to merge 6418 commits into
Window-Finance:masterfrom
DefiLlama:master

Conversation

@iagoLD

@iagoLD iagoLD commented Jul 18, 2022

Copy link
Copy Markdown

No description provided.

slasher125 and others added 28 commits May 12, 2026 21:30
* return all pools from the ekubo adapter instead of just top pool, fix rounding in formatting

* remove tests

* all the tests now passing

* update the adapter

* addressed comments
* add mezo vaults

* return valid values for apy

* improved logic

* omit price per share to reduce confusion
* arche: add Metrom incentive APY

* arche: add timeout to Metrom request

---------

Co-authored-by: yieldarche <275474729+yieldarche@users.noreply.github.com>
Adapter recorded Morpho's instantaneous netApy, which briefly spikes when
underlying markets hit ~100% utilization. Switch to avgNetApy(lookback:
ONE_DAY) for both base and net, and drop pools whose 1d-realized reading
exceeds 200% — broken liquidity adapters return constant 1000%+ values
across every Morpho field.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* feat(mezo-earn): add adapter

* axios instead of superagent..

* fixes
slasher125 and others added 30 commits June 8, 2026 11:54
* feat: add arkonix yield adapter

* address review — vault-specific url, stable 7d apy, drop formatSymbol

* append -arkonix to pool
* feat(btcd): sBTCD yield pool adapter

Pure on-chain ERC4626 share-price-growth adapter for the BTCD staking
vault (sBTCD). Reads sBTCD.totalSupply for size, the on-chain
SBTCDOracle (Chainlink-compatible, 8 decimals USD) for tvlUsd, and 7d
share-price growth via convertToAssets(1e18) at current and historical
blocks for apyBase.

Single pool, no rewards (yield is auto-compounded into the share price
via 8h linear vesting from the YieldDistributor). underlyingTokens =
BTCD; pool id lowercased per yield-server convention.

Note: the upstream PR is gated on BTCD being listed on DefiLlama's TVL
page (DefiLlama-Adapters). Holding the merge here until that lands.

* feat(btcd): update computeApyBase function for improved historical block handling

* feat(btcd): enhance documentation and add new adapter entry point for sBTCD yield pool

* feat(btcd): improve TVL calculation precision and clarify comments in apy function

* feat(btcd): streamline comments and improve code readability in sBTCD adapter

* feat(btcd): replace WAD with SCALE for consistency in APY calculations and update variable names for clarity

* feat(btcd): remove cooldown mention from poolMeta in BTCD staking vault

* feat(btcd): enhance sBTCD adapter with vesting and cooldown duration in poolMeta

* feat(btcd): add detailed JSDoc comments for functions in sBTCD adapter

* feat(btcd): add JSDoc comments for module export and file description in sBTCD adapter

* fix(btcd): format cooldownDurationAbi declaration for consistency

* fix(btcd): add validation checks for latest and old data in computeApyBase function

* fix(btcd): update computeApyBase to return null on errors and adjust apy structure to handle null values
* Add SpringX's info to the Yields adapter

* Code optimization

---------

Co-authored-by: springx <team@springx.finance>
This PR aligns the Credit adapter with the schema documented in the yield-server README for lending protocols:

> `tvlUsd: number; // for lending protocols: tvlUsd = totalSupplyUsd - totalBorrowUsd`

The current adapter sets `tvlUsd` to the full `totalAssets()` value of the vault, which represents the supply side rather than the available liquidity. Since the adapter already reads `totalOutstandingPrincipal()` for its utilization calculation, we can populate the dedicated `totalSupplyUsd` and `totalBorrowUsd` fields and let `tvlUsd` reflect the available liquidity, so the breakdown matches what is shown for other lending pools (Aave, Compound, Morpho, etc.).

  ## Changes

  - `tvlUsd` is now `(totalAssets − totalOutstandingPrincipal) * price`
    (available liquidity).
  - New `totalSupplyUsd = totalAssets * price`.
  - New `totalBorrowUsd = totalOutstandingPrincipal * price`.
  - A `Math.max(..., 0)` guard is added on the available-liquidity computation to absorb any transient case where 'totalOutstanding` briefly exceeds `totalAssets` due to accrued-but-unrealized interest.
  - APY calculation, utilization rate, and ABIs are unchanged.
* azuro: read net APY/TVL from Dune snapshot

* azuro: keep legacy pool id, shorten poolMeta
* origami-finance: call origami server vault-apy endpoint

* added axios timeout + switch to Promise.allSettled

* update to calculate tvl from onchain

* throw on unsupported vault_kinds + remove error catching on vaultKindTvl

* update to Promise.allSettled in apy()
* accountable: fix NAV vault APY (use annualized APY from API)

* accountable: omit null supply/borrow, include point names in rewardTokens

* accountable: null apyReward when rewardTokens empty (invariant guard)

* ci: re-run accountable adapter checks

* fix(accountable): use 7d/30d net APY for apyBase, drop since-inception

* fix(accountable): batch + retry per-loan fetches to avoid 503 gaps

* revert: drop per-loan batching/retry

* fix(accountable): resolve vault + underlying on-chain to fix undefined fields

* fix(accountable): drop points from apyReward, surface via poolMeta

---------

Co-authored-by: pawel-accountable <282215858+pawel-accountable@users.noreply.github.com>
* feat: add everything pool apy

* fix(everything): correct S3 bucket URL

* fix: handle copilot finding

* feat: use defillama sdk

* feat: paginate swap fetching to avoid 1000-result cap

* fix: skip farming campaigns that haven't started yet

* fix: log swap query failures instead of silently zeroing apyBase

* refactor(everything): remove dead fee-fetch code, harden chain fetching

* feat: add ethereum pools

* fix: remove formatSymbol call

* fix: report apyBase as null when swap query fails

---------

Co-authored-by: Alfred GAILLARD <a.gaillard@ra2.tech>
Co-authored-by: cedric <c.ogire@ra2.tech>
* chore: rename symbols ton -> gram

* more
* fix 3jane tvl and apy

* use usdc price for tvl
* Add Cube DEX yield adapter

* review: drop formatSymbol + harden underlyingTokens

Per @0xkr3p review:
- adapters no longer use utils.formatSymbol — pass symbol through verbatim
- defensive Array.isArray guard on underlyingTokens before emitting

---------

Co-authored-by: sepezho <evaaprotocol@gmail.com>
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.