SIGN IN SIGN UP

feat: add DorkFi yield adapter (Algorand + Voi Network) (#2787)

* feat: add DorkFi yield adapter (Algorand + Voi Network)

Reports supply and borrow APY for all 47 DorkFi lending markets across
two chains and four pools.

Pools:
  Algorand: 3333688282 (Pool A), 3345940978 (Pool B)
  Voi:      47139778   (Pool A), 47139781   (Pool B)

APY computed from the protocol's kinked utilization curve:
  borrow APY = borrowRate + utilization × slope
  supply APY = borrow APY × utilization × (1 − reserveFactor)

Markets include ALGO, USDC, goBTC, goETH, WBTC, WETH, LINK, SOL,
USDT, VOI, UNIT, WAD, aUSDC, POW, tALGO, FINITE, FOLKS, COOP, GOLD$ and more.

Data sourced from DorkFi API (dorkfi-api.nautilus.sh).

* fix: add DorkFi underlying tokens

* fix: address DorkFi yield review comments

* dorkfi: drop per-pool poolMeta and url, format with prettier

poolMeta was "Pool <appId>", an internal app identifier; the per-pool url
duplicated the module-level export. The rest of the diff is prettier
formatting only, with no behavioural change.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* dorkfi: apply deposit/borrow indices to scaled balances

totalScaledDeposits/totalScaledBorrows are index-scaled figures; the current
balance is scaled * index / 1e18. computeRates and getUsdValues used the raw
scaled numbers, which understates utilization on every market carrying debt --
by up to 6.4% -- because borrows accrue on a faster index than deposits.

Confirmed against DorkFi's own analytics TVL: tvl / (indexedDeposits * price)
is exactly 1e-12 for every market, while the raw figure drifts by precisely the
depositIndex. Utilization feeds apyBase, apyBaseBorrow, totalBorrowUsd and
tvlUsd, so all four were off.

Indices are read defensively: a missing, zero or non-finite index falls back to
1.0 rather than zeroing the market.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: kr3p <123127490+0xkr3p@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
M
mikepappalardo committed
7eb64bdd182d25799998a1b42e0171e2e511ba05
Parent: cc5c021
Committed by GitHub <noreply@github.com> on 8/8/2026, 7:27:07 AM