Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
6673 commits
Select commit Hold shift + click to select a range
2850229
Add Cube DEX yield adapter (#2671)
sepezho Jun 16, 2026
9d103d5
springx remove hardcoded tvl filter
slasher125 Jun 17, 2026
b27d51b
exclude
slasher125 Jun 17, 2026
e060adc
support pro price API routing in adapters
slasher125 Jun 17, 2026
ec018fa
Merge pull request #2741 from DefiLlama/price-api-env-routing
slasher125 Jun 17, 2026
9babeb3
Add protocolId exports to yield adapter
slasher125 Jun 17, 2026
cddad01
Merge pull request #2743 from DefiLlama/add-adapter-protocol-ids
slasher125 Jun 17, 2026
9bdddee
remove dead protocol
slasher125 Jun 17, 2026
0a759a0
Add protocol ids to adapter exclusions
slasher125 Jun 17, 2026
0c1aa43
Normalize protocolId adapter exports
slasher125 Jun 17, 2026
da7d26f
feat: add compaign for everything wSPCXx/USDT (#2742)
ra2-cedric-o Jun 17, 2026
2ebce3d
Remove obsolete yield adapters
slasher125 Jun 18, 2026
cc1983a
Make adapter helpers self-contained
slasher125 Jun 18, 2026
b98bc26
Remove adapter exclusion imports
slasher125 Jun 18, 2026
f895ecb
Remove unused helper modules
slasher125 Jun 18, 2026
cface66
Remove excluded adapters and unused deps
slasher125 Jun 18, 2026
0c0154e
remove dead files
slasher125 Jun 18, 2026
871a13c
update sdk
slasher125 Jun 18, 2026
99fb954
update package-lock
slasher125 Jun 18, 2026
5236c29
remove unusued imports
slasher125 Jun 18, 2026
1127b5d
remove unused
slasher125 Jun 18, 2026
c21b460
add missing package to adapters package.json
slasher125 Jun 18, 2026
34328f7
remove unused packages
slasher125 Jun 18, 2026
0627228
update package-lock
slasher125 Jun 18, 2026
a14727b
remove node-fetch
slasher125 Jun 18, 2026
fa55861
Use native fetch in exclusion helper
slasher125 Jun 18, 2026
f69bddd
Add Nawa Protocol yield adapter
permapod-rsk Jun 18, 2026
dd31626
rename justlend -> justlend-v1 (#2748)
0xkr3p Jun 18, 2026
f842f5c
feat: add k613 yield adapter (Aave V3 fork on Monad) (#2732)
CryptoBetmen Jun 18, 2026
2b8c246
fix starknet helper (#2749)
0xkr3p Jun 18, 2026
eecda3d
update graphql-request
slasher125 Jun 19, 2026
1681e2f
update lock
slasher125 Jun 19, 2026
7908e1f
convex finance fix
slasher125 Jun 19, 2026
2dd6cbe
orca-dex fix;
slasher125 Jun 19, 2026
ff58ad0
remove unused envs
slasher125 Jun 19, 2026
230c793
refactor inverse-finance-firm, solidly-v3, unsheth to use sdk instead…
slasher125 Jun 19, 2026
d199b94
remove unused
slasher125 Jun 19, 2026
18a92bd
route lido api through optional egress
slasher125 Jun 19, 2026
65d1d19
Add Monad for Pendle
iamvukasin Jun 19, 2026
2fc5f79
fix: correct token symbol for native pool yield, new app url
June-native Jun 19, 2026
3854be1
hyperion, btcfi-cdp add egress
slasher125 Jun 19, 2026
5e3062f
ramses-hl fix
slasher125 Jun 19, 2026
973aac5
fix centrifuge graph url
slasher125 Jun 19, 2026
2d685bf
orca-dex fix import
slasher125 Jun 19, 2026
ff27a29
liminal-basis remove duplicated hype pools
slasher125 Jun 19, 2026
8e17a60
harmonix-finance fix chain value
slasher125 Jun 19, 2026
caee4f8
wildcat-protocol clamp total borrow at zero
slasher125 Jun 19, 2026
186d7d8
Merge pull request #2751 from iamvukasin/monad-pendle
g1nt0ki Jun 19, 2026
d19eac3
update exclusion
slasher125 Jun 20, 2026
d7e58da
parallelize slow yield adapters
slasher125 Jun 20, 2026
939e293
Merge pull request #2752 from June-native/feat/fix-native-yield-token
slasher125 Jun 20, 2026
e798298
update exclusion
slasher125 Jun 20, 2026
e3971ca
Merge branch 'master' of github.com:DefiLlama/yield-server
slasher125 Jun 20, 2026
a5f03d8
perf: bound price fetch concurrency in yield utils
slasher125 Jun 20, 2026
5c12eb6
swell-lr fix
slasher125 Jun 20, 2026
ad4b988
venomstake fix
slasher125 Jun 20, 2026
7391c64
perf: tune aerdrome adapters
slasher125 Jun 20, 2026
6bae819
feat: add kerne yield adapter (skUSD staked synthetic dollar on Base)…
enerzy17 Jun 20, 2026
a371b67
fix: add profit deposit ordering as well as live tvl (#2750)
mpetrunic Jun 20, 2026
4ece7f6
Remove phoenix-protocol from exclude list
0xkr3p Jun 23, 2026
3cff94a
Add tizi yield adapter (#2723)
bulu4477 Jun 23, 2026
9b84b29
rename ramses (#2757)
0xkr3p Jun 23, 2026
8194134
fix vesu
slasher125 Jun 25, 2026
d8ed6b6
update exclusion
slasher125 Jun 26, 2026
4baebc6
switch to monad
Jun 26, 2026
f81e076
update exclusion
slasher125 Jun 29, 2026
7e5ea7f
refactor: hypa use sdk,coins api
slasher125 Jun 29, 2026
72b02cb
optimise alien-base-v3 reward calls
slasher125 Jun 29, 2026
75002a3
arkonix refactor
slasher125 Jun 29, 2026
50994ce
tune native-credit-pool
slasher125 Jun 29, 2026
f8ff4b0
fix(strata-markets): add PRIME pools, fix stablecoin flags, update UR…
radeveth Jun 29, 2026
2105f8c
upate exclusion
slasher125 Jun 29, 2026
9712e7d
Merge branch 'master' of github.com:DefiLlama/yield-server
slasher125 Jun 29, 2026
c4c41d0
saturn fix
slasher125 Jun 30, 2026
933309f
Merge pull request #2760 from TheOfficialSpringX/master
g1nt0ki Jul 1, 2026
3feea3d
fix: Spectra vault TVL + add: Stellar Upshift Vaults (#2759)
marien-gami Jul 1, 2026
e00b2fa
mint deterministic config ids (uuidv5 of pool key) for new pools
slasher125 Jul 2, 2026
22d4140
Merge pull request #2770 from DefiLlama/deterministic-pool-ids
slasher125 Jul 2, 2026
42ad854
Merge pull request #2771 from iamvukasin/aave-monad
iamvukasin Jul 2, 2026
cb2282e
Add Monetrix yield adapter (sUSDM) (#2740)
MonetrixLab Jul 2, 2026
86e89eb
Add Valdora Finance yield adapter (#2746)
permapod-rsk Jul 2, 2026
7778998
feat: add makina adapter (#2756)
Hugoo Jul 2, 2026
23f0b67
yieldseeker fix
slasher125 Jul 3, 2026
54eb869
add styfi + stfyix (#2776)
0xkr3p Jul 3, 2026
45800e0
upgrade to loan router v2 and introduce escrow timelock (#2764)
wegory Jul 3, 2026
cc66983
Update project-0 adapter to new API endpoint
princedotrs Jun 29, 2026
13470a9
pharao-v3 fix source url
slasher125 Jul 6, 2026
dabb8f8
hydro-inflow fix
slasher125 Jul 6, 2026
973030e
takara-lend fix
slasher125 Jul 6, 2026
772840c
travessia-credit fix
slasher125 Jul 6, 2026
2ffe3bb
hydration-dex fix
slasher125 Jul 6, 2026
311efb9
aave-v3 correct celo merkl rewrads
slasher125 Jul 6, 2026
82bb21d
Merge pull request #2765 from princedotrs/feat/p0-bankmetrics
slasher125 Jul 6, 2026
6db6d4e
chainflip-lending: fix tvlUsd (was Supplied, should be available liqu…
permapod-rsk Jul 6, 2026
eb5b506
kerne: repoint skUSD yield adapter to redeployed vault (#2777)
enerzy17 Jul 6, 2026
bd8fb32
Merkl balancerv3 (#2773)
franzns Jul 7, 2026
72d0d54
Monetrix: support timetravel + rename pool symbol to sUSDM (#2775)
MonetrixLab Jul 7, 2026
21b5dec
fix(snowbl-capital): migrate to new vaults (USDC/ETH/BTC) (#2744)
estebgonza Jul 7, 2026
225f2c2
sky-lending: add USDS staking farm pools (SKY, GROVE) (#2779)
techsqrt Jul 7, 2026
93ee0cc
Midas meta tags (#2780)
waynebruce0x Jul 7, 2026
e2e58a1
folks-finance-xchain fix ltv
slasher125 Jul 7, 2026
204fb14
fix imports (#2783)
0xkr3p Jul 7, 2026
cbd77e6
Add Hybra V4 yield adapter (#2774)
hybra-finance Jul 7, 2026
1329169
Add Tori Finance yields (strUSD) (#2761)
tori-sam Jul 7, 2026
9098720
add shapeswap v3 yields (#2628)
DenSmolonski Jul 8, 2026
6719a9c
fix(tori-finance): add searchTokenOverride (#2788)
0xkr3p Jul 8, 2026
674624e
fix(saucerswap-v1): api now requires a key, send x-api-key header
0xshubhs Jul 8, 2026
c593520
feat(t3tris-finance): add T3tris Finance APY adapter (#2735)
t3trominos Jul 9, 2026
e1d36f7
add fees for usd-ai (#2798)
0xkr3p Jul 9, 2026
df74b1c
format robinhood chain (#2801)
0xkr3p Jul 10, 2026
d8b77ab
rename: stable-jack-v1 to stablejack-v1 (#2802)
0xkr3p Jul 10, 2026
cc00757
Add HyperEVM and Robinhood chains support in Fusion by IPOR (#2800)
rav-ipor Jul 10, 2026
35ba49a
stable jack migration file (#2803)
0xkr3p Jul 10, 2026
2c55108
resolve rename
slasher125 Jul 11, 2026
1adc601
update exclusion
slasher125 Jul 11, 2026
fce81a5
sky-lending: add SKY staking engine pool + savings deep links (#2781)
techsqrt Jul 11, 2026
ab7252f
remove unused triggerCsv handler
slasher125 Jul 11, 2026
58cdd2e
update package-lock
slasher125 Jul 11, 2026
d18598c
migrate yield api to r2
slasher125 Jul 11, 2026
f6bd054
Merge pull request #2804 from DefiLlama/yield-api-r2
slasher125 Jul 11, 2026
0254486
add envs to master.yml
slasher125 Jul 11, 2026
33a1269
superform: add Flare (chain id 14) to CHAIN_MAPPING (#2807)
vikramarun Jul 12, 2026
e32d13a
fix: yieldfi apy always 0, gw.yield.fi vault metrics went empty (#2792)
0xshubhs Jul 12, 2026
1b108bb
Add yieldfi to the exclude list
0xkr3p Jul 12, 2026
28320c0
fix: d2-finance adapter (dead subgraph, stale vault list) (#2786)
0xshubhs Jul 12, 2026
d53273b
add pareto-credit adapter ($201M RWA lending, no yields listing) (#2797)
0xshubhs Jul 13, 2026
f5229d1
sky-lending: add stUSDS (Expert Mode) pool (#2789)
techsqrt Jul 13, 2026
7fd783f
fix stake link liquid (#2809)
0xkr3p Jul 13, 2026
c96b727
fix: extra finance leverage farming adapter (#2810)
0xkr3p Jul 13, 2026
675004f
pareto-credit: set token to AATranche address (was falling back to va…
BhariGowda Jul 13, 2026
e7ce463
exclude adapters
0xkr3p Jul 13, 2026
24d5cb7
Add Uniswap v3 and v4 on Monad (#2812)
iamvukasin Jul 13, 2026
43b757f
disable triggerMonitor
slasher125 Jul 13, 2026
565d7a7
unexclude amnis-finance, the apy fix it was waiting on is already in …
0xshubhs Jul 14, 2026
3a775dc
Add Robinhood Chain to T3tris Finance APY adapter (#2814)
t3trominos Jul 14, 2026
1f9fd43
add primeUSD APY adapter (#2815)
fextr Jul 14, 2026
1798f75
fusion-by-ipor: fetch vault list once instead of per chain (fixes OOM…
amydlarz Jul 14, 2026
58349f1
api: treat redis errors as cache miss and fetch from pg instead
slasher125 Jul 14, 2026
a09e66a
euler-v2 update subgraph
slasher125 Jul 14, 2026
30a0082
sky-lending: OP+Unichain savings pools, staking engine borrow side (#…
techsqrt Jul 15, 2026
ad40107
fix csigma-finance (#2819)
0xkr3p Jul 15, 2026
c743898
yield-yak-aggregator: add yiUSD Milk vault on Base
BlockchainCake Jul 15, 2026
c1d428b
morpho add robinhood pools
slasher125 Jul 15, 2026
83b5c40
Merge pull request #2820 from BlockchainCake/add-yiusd-base
slasher125 Jul 15, 2026
dfb5f16
Merge pull request #2795 from 0xshubhs/fix/saucerswap-v1-auth
slasher125 Jul 15, 2026
732246c
fix
slasher125 Jul 15, 2026
0a317f2
fix(ilRisk): don't collapse ETHFI/sETHFI into the ETH family
Himess Jul 16, 2026
52742ee
fix(checkStablecoin): don't flag pufETH/LanternSOL/SUNOLD as stablecoins
Himess Jul 16, 2026
80d2f52
ci: exclude checkStablecoin.js from the adapter test list
Himess Jul 16, 2026
e5a5390
checkStablecoin: strip parenthetical annotations before the notStable…
Himess Jul 16, 2026
d828858
fix aerodrome (#2824)
0xkr3p Jul 16, 2026
0be31a0
feat: Add Peer/ZKP2P yield adapter (#2799)
richardliang Jul 17, 2026
9fba5cc
Add Tristero AUSD yield adapter (#2818)
ggarza5 Jul 17, 2026
3d94436
rename townsquare -> townsquare-lending (#2827)
0xkr3p Jul 17, 2026
6453c1c
fix(indigo): ada price endpoint returns 500, use coins.llama.fi inste…
0xshubhs Jul 17, 2026
d086c92
aave-v4: add avax (#2828)
0xkr3p Jul 17, 2026
4e726a3
Merge branch 'master' of github.com-personal:DefiLlama/yield-server
tangten Jul 17, 2026
9ec163f
feat: add yzCash
tangten Jul 17, 2026
a442ce5
feat: add yzSyrup
tangten Jul 17, 2026
7bd3e2f
Add Rubicon yield adapter
bghughes Jul 17, 2026
4bc3eb3
rubicon: value swaps on the priced in-side, not max(in,out)
bghughes Jul 17, 2026
739b0f9
coinbase-wrapped-staked-eth: use relative rate ratio for apyBase
Himess Jul 17, 2026
20ca0e7
revert changes
tangten Jul 17, 2026
4491441
Merge pull request #2830 from tangten/master
slasher125 Jul 17, 2026
7aac50a
Merge pull request #2833 from Himess/fix/cbeth-apybase-relative
slasher125 Jul 17, 2026
58e4768
fix tvl
slasher125 Jul 17, 2026
6523cd1
apyBase: use relative rate ratio for five LST adapters
Himess Jul 17, 2026
90dd687
update sdk
slasher125 Jul 19, 2026
39dc51f
spark-savings: add robinhood chain
slasher125 Jul 19, 2026
9e6eda2
Merge pull request #2834 from Himess/fix/lst-apybase-relative-5
slasher125 Jul 19, 2026
8768054
remove isprivate condition from yield server (#2829)
burhanuddin03 Jul 20, 2026
5d6b76c
fix: vvs-standard returning 0 pools (farms moved to CraftsmanV2 rewar…
0xshubhs Jul 20, 2026
adce86a
exclude
slasher125 Jul 21, 2026
196cd7d
spark-savings: set intrinsicSource
slasher125 Jul 21, 2026
6d4ac3c
1inch rename
slasher125 Jul 21, 2026
83ee686
update uni-v3 graphs
slasher125 Jul 21, 2026
8d977f6
feat(liminal-basis): add remaining Liminal products
Jul 21, 2026
8fb6c6f
chore(liminal-basis): align xBTC pool metadata
Jul 21, 2026
eec4aed
fix(liminal-basis): align 7d APY calculation
Jul 21, 2026
1231068
merkl add missing collateral rewards
slasher125 Jul 22, 2026
546ee47
add borrowMarketOnly flag to isolated borrow market pools
slasher125 Jul 23, 2026
0795ed2
add borrowMarketOnly
slasher125 Jul 23, 2026
e978b0a
curvance: remove frozen
slasher125 Jul 23, 2026
77d3e8e
Hipo: fix APY halved by outdated treasury state semantics
behrang Jul 23, 2026
0344873
Hipo: validate treasury rates and round duration
behrang Jul 24, 2026
f3841f6
update url
slasher125 Jul 24, 2026
6dbae50
add basalt-vault yield adapter
andrepurr Jul 22, 2026
03f9fa7
add arcadia OP lending pools (#2839)
j-vp Jul 27, 2026
cca7d57
gami-labs: migrate WBTC vault to T3tris/Robinhood, add Midas turtlePS…
marien-gami Jul 27, 2026
674013e
sdk version bump to 5.0.220 (#2845)
0xkr3p Jul 27, 2026
aa07cff
Revert "sdk version bump to 5.0.220 (#2845)"
0xkr3p Jul 27, 2026
8b40ac5
retry sdk version bump 5.0.220
0xkr3p Jul 27, 2026
6c8cb1f
check adaptors lockfile
slasher125 Jul 27, 2026
f5c7bf9
Merge pull request #2847 from DefiLlama/ci/adaptors-lockfile-check
slasher125 Jul 27, 2026
d8a9e13
Add additional Tristero Yield Vaults
zigcipher Jul 27, 2026
a6879f4
rename: unitas -> unitas-usdu
slasher125 Jul 27, 2026
8e1fecb
node 24 and nvm >= 11 to keep in sync
0xkr3p Jul 28, 2026
bb6972f
Add apyee yields adapter (#2836)
kimandy7778 Jul 28, 2026
0d9f07e
Add STRATO yield adapter (#2825)
michaelbtan Jul 28, 2026
28dcef1
Merge branch 'master' into update-tristero-yield-adapter
zigcipher Jul 28, 2026
1ce2615
feat: add alchemix-v3 yield adapter
ButlerATTS Jul 28, 2026
aa4cf4d
add royco-v2 yields adapter (32 pools, $24.6M TVL, tranched credit ma…
githubotoro Jul 28, 2026
96ecd41
Add Atoma vault yield adapter
monkey-crypto-9 Jul 28, 2026
c0acaf0
Merge pull request #2838 from shkkgit/feat/liminal-basis-all-products
slasher125 Jul 28, 2026
c658793
Merge pull request #2849 from ButlerATTS/alchemix-v3-adapter
slasher125 Jul 28, 2026
fc72eb2
Merge pull request #2848 from zigcipher/update-tristero-yield-adapter
slasher125 Jul 29, 2026
7447446
Merge pull request #2747 from permapod/nawa-protocol-yield
slasher125 Jul 29, 2026
64224e0
nawa-protocol add price per share
slasher125 Jul 29, 2026
6007d9a
Merge pull request #2821 from Himess/fix/ilrisk-ethfi-substring
slasher125 Jul 29, 2026
251f905
Merge pull request #2822 from Himess/fix/stablecoin-substring
slasher125 Jul 29, 2026
09cda87
Merge pull request #2841 from andrepurr/basalt-vault-adapter
slasher125 Jul 29, 2026
3e45a19
Merge pull request #2844 from HipoFinance/hipo-apy-fix
slasher125 Jul 29, 2026
508f07c
Merge pull request #2846 from monkey-crypto-9/add-atoma-yield
slasher125 Jul 29, 2026
f0a51d1
Merge pull request #2850 from githubotoro/add-royco-v2
slasher125 Jul 29, 2026
2549287
Merge pull request #2529 from huy090202/master
slasher125 Jul 29, 2026
fd8b6a8
add missing protocolid
slasher125 Jul 29, 2026
163efa7
Merge pull request #2831 from bghughes/rubicon-yields-2026-07
slasher125 Jul 29, 2026
d1e61e3
remove holder data
slasher125 Jul 29, 2026
a280a07
Merge pull request #2851 from DefiLlama/remove-holder-data
slasher125 Jul 29, 2026
c260b61
remove volatility matview
slasher125 Jul 29, 2026
71db550
Merge pull request #2852 from DefiLlama/remove-volatility
slasher125 Jul 29, 2026
8b6d5c3
remove unusued tokenmetadata
slasher125 Jul 29, 2026
6e00dfe
bypass CDN cache on pro price calls with a temp cachebust param
slasher125 Jul 29, 2026
b30581d
aave-v3 add comment re supply
slasher125 Jul 29, 2026
294e861
exclude altura
0xkr3p Jul 29, 2026
1402433
fix pricing for adapters (#2855)
0xkr3p Jul 29, 2026
9bb177c
Merge branch 'master' of github.com:DefiLlama/yield-server
slasher125 Jul 29, 2026
ae200f2
add supplyCapUsd for lending protocols - v2 only
slasher125 Jul 29, 2026
4e35b14
add supplyCapUsd for aave-v3
slasher125 Jul 29, 2026
580009f
fix cachebust breaking adapters that compose urls on top of getPriceA…
slasher125 Jul 29, 2026
74f2b81
update exclusion
slasher125 Jul 29, 2026
e02c05f
Merge pull request #2856 from DefiLlama/add-supply-caps
slasher125 Jul 29, 2026
830ba5a
add supplyUsdCap for aave-v3 forks
slasher125 Jul 30, 2026
eefb26c
feat(metrom-adapter): integrate hold fungible asset campaign types (#…
luzzif Jul 30, 2026
6e1f6b8
fix aave merkl rewards (#2858)
0xkr3p Jul 30, 2026
fbaeddc
fix: update sUSDp address for Ethereum in config
FabienCoutant Jul 30, 2026
4efc305
fix: correct function name from estimatedAPR to estimatedAPY in paral…
FabienCoutant Jul 30, 2026
13ed22a
superform fix
slasher125 Jul 30, 2026
18d9afd
Merge pull request #2861 from parallel-protocol/feat/update-sUSDp-mai…
slasher125 Jul 30, 2026
2f6609c
feat(k613): add xK613 reward apy (supply + borrow) (#2860)
CryptoBetmen Jul 30, 2026
56a8cfd
add zensats adapter (#2857)
NateBrune Jul 30, 2026
044bcd5
add robinhood (#2863)
nvduc91 Jul 31, 2026
0fd8127
Add Neverland Isolated Market and Merkl reward APR (#2862)
0xCatalyst Jul 31, 2026
bb139a9
accountable: set pool token to the vault share token (#2864)
pawel-accountable Jul 31, 2026
4de5b79
refactor sui to graphql provider (#2865)
0xkr3p Jul 31, 2026
caee0cb
fix bluefin spot (#2866)
0xkr3p Jul 31, 2026
909ca45
fix hypha (#2867)
0xkr3p Jul 31, 2026
3b9a9db
fix xexchange (#2868)
0xkr3p Jul 31, 2026
1d72b03
fix(k613): read K613 price from on-chain oracle for reward apy
CryptoBetmen Aug 2, 2026
b0abde7
Merge pull request #2872 from K613-Official/feat/k613-onchain-price
slasher125 Aug 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
63 changes: 63 additions & 0 deletions .github/workflows/comment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Comment_PR
on:
workflow_run:
workflows: ["Test_Change"]
types: [completed]

permissions:
pull-requests: write
actions: read

jobs:
comment:
runs-on: ubuntu-latest
steps:
- name: Download PR comments artifact
id: download
uses: actions/download-artifact@v4
with:
name: pr-comments
run-id: ${{ github.event.workflow_run.id }}
github-token: ${{ secrets.GITHUB_TOKEN }}
path: pr-comments
continue-on-error: true

- name: Post comments on PR
if: steps.download.outcome == 'success'
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
const path = require('path');

const dir = 'pr-comments';
if (!fs.existsSync(dir)) {
core.info('No pr-comments directory, nothing to post.');
return;
}

const prNumberPath = path.join(dir, 'pr-number.txt');
if (!fs.existsSync(prNumberPath)) {
core.info('No pr-number.txt, nothing to post.');
return;
}
const prNumber = Number(fs.readFileSync(prNumberPath, 'utf8').trim());
if (!Number.isInteger(prNumber) || prNumber <= 0) {
core.setFailed(`Invalid PR number in artifact: ${prNumber}`);
return;
}

const files = fs.readdirSync(dir)
.filter(f => f.endsWith('.md'))
.sort();

for (const f of files) {
const body = fs.readFileSync(path.join(dir, f), 'utf8');
if (!body.trim()) continue;
await github.rest.issues.createComment({
issue_number: prNumber,
owner: context.repo.owner,
repo: context.repo.repo,
body,
});
}
61 changes: 28 additions & 33 deletions .github/workflows/commentResult.js
Original file line number Diff line number Diff line change
@@ -1,38 +1,33 @@
const { readFileSync } = require('fs');
const fetch = require('node-fetch');
const junk = 'VPTOH1X0B7rf8od7BGNsQ1z0BJk8iMNLxqrD';
const { readFileSync, writeFileSync, mkdirSync } = require('fs');
const path = require('path');

async function main() {
const [, , log, author, repo, pr, path ] = process.argv;
const file = readFileSync(log, 'utf-8');
function main() {
const [, , log, outDir, adapter] = process.argv;
const file = readFileSync(log, 'utf-8');

const passed = /PASS\s+.*test\.js/.test(file);
const failed = /FAIL\s+.*test\.js/.test(file);

const errorString = '------ ERROR ------';
const summaryIndex = file.indexOf('------ TVL ------');
const errorIndex = file.indexOf(errorString);
let body;
// Everything from "Test Suites:" onward (includes pool output from afterTests.js)
const summaryIndex = file.indexOf('Test Suites:');
if (summaryIndex === -1) return;
const output = file.substring(summaryIndex);

if (summaryIndex != -1) {
body = `The adapter at ${path} exports TVL:
\n \n ${file.substring(summaryIndex + 17).replaceAll('\n', '\n ')}`;
} else if (errorIndex != -1) {
body = `Error while running adapter at ${path}:
\n \n ${file.split(errorString)[1].replaceAll('\n', '\n ')}`;
} else
return;
let body;
if (passed && !failed) {
body = `The ${adapter} adapter exports pools:
\n \n ${output.replaceAll('\n', '\n ')}`;
} else if (failed) {
body = `Error while running ${adapter} adapter:
\n \n ${output.replaceAll('\n', '\n ')}`;
} else {
return;
}

await fetch(
`https://api.github.com/repos/${author}/${repo}/issues/${pr}/comments`,
{
body,
method: "POST",
headers: {
Authorization: `token ghp_${translate(junk)}`,
Accept: 'application/vnd.github.v3+json'
}
});
};
function translate(input) {
return input ? translate(input.substring(1)) + input[0] : input;
};
main();
mkdirSync(outDir, { recursive: true });
const safeName = (adapter || 'general').replace(/[^a-zA-Z0-9._-]/g, '_');
const fileName = `${Date.now()}-${process.pid}-${safeName}.md`;
writeFileSync(path.join(outDir, fileName), body);
}

main();
25 changes: 17 additions & 8 deletions .github/workflows/getFileList.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,23 @@
const MODIFIED = parse(process.env.MODIFIED)
const ADDED = parse(process.env.ADDED)
const MODIFIED = parse(process.env.MODIFIED);
const ADDED = parse(process.env.ADDED);
const fileSet = new Set();

[...MODIFIED, ...ADDED].forEach(file => {
const [root0, root1, dir] = file.split('/')
if (root0 === 'src' && root1 === 'adaptors' && dir !=='test.js' && dir !== 'utils.js') fileSet.add(file)
})
[...MODIFIED, ...ADDED].forEach((file) => {
const [root0, root1, dir] = file.split('/');
if (
root0 === 'src' &&
root1 === 'adaptors' &&
dir !== 'test.js' &&
dir !== 'utils.js' &&
dir !== 'checkStablecoin.js' &&
dir !== 'package.json' &&
dir !== 'package-lock.json'
)
fileSet.add(dir);
});

console.log(JSON.stringify([...fileSet]))
console.log(JSON.stringify([...fileSet]));

function parse(data) {
return data.replace('[', '').replace(']', '').split(',')
return (data || '').split(' ').filter(Boolean);
}
58 changes: 44 additions & 14 deletions .github/workflows/master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,57 @@ jobs:
deploy:
strategy:
matrix:
node-version: [14.x]
node-version: [24.x]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
- run: npm ci --omit=optional
- name: Validate adapters lockfile
run: npm ci --dry-run --no-audit --no-fund
working-directory: src/adaptors
- run: node scripts/checkAdaptors.js
- run: node scripts/createAdapterList.js
- name: Run database migrations
run: npm run migrate -- up
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
- name: Deploy infrastructure stack
run: npm run deploy
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
ETHERSCAN: ${{ secrets.ETHERSCAN}}
FANTOMSCAN: ${{ secrets.FANTOMSCAN }}
POLYGONSCAN: ${{ secrets.POLYGONSCAN }}
SNOWTRACE: ${{ secrets.SNOWTRACE }}
ARBISCAN: ${{ secrets.ARBISCAN }}
OPTIMISM: ${{ secrets.OPTIMISM }}
INFURA_CONNECTION: ${{ secrets.INFURA_CONNECTION }}
ALCHEMY_CONNECTION_POLYGON: ${{ secrets.ALCHEMY_CONNECTION_POLYGON }}
ALCHEMY_CONNECTION_ARBITRUM: ${{ secrets.ALCHEMY_CONNECTION_ARBITRUM }}
XDAI: ${{ secrets.XDAI }}
DATABASE_URL: ${{ secrets.DATABASE_URL }}
ETHEREUM_RPC: ${{ secrets.ETHEREUM_RPC }}
XDAI_RPC: ${{ secrets.XDAI_RPC }}
CRONOS_RPC: ${{ secrets.CRONOS_RPC }}
FANTOM_RPC: ${{ secrets.FANTOM_RPC }}
OPTIMISM_RPC: ${{ secrets.OPTIMISM_RPC }}
AVAX_RPC: ${{ secrets.AVAX_RPC }}
ARBITRUM_RPC: ${{ secrets.ARBITRUM_RPC }}
TRON_RPC: ${{ secrets.TRON_RPC }}
BASE_RPC: ${{ secrets.BASE_RPC }}
TVL_SPIKE_WEBHOOK: ${{ secrets.TVL_SPIKE_WEBHOOK }}
NEW_YIELDS_WEBHOOK: ${{ secrets.NEW_YIELDS_WEBHOOK }}
STALE_PROJECTS_WEBHOOK: ${{ secrets.STALE_PROJECTS_WEBHOOK }}
ZEROX_API: ${{ secrets.ZEROX_API }}
SMARDEX_SUBGRAPH_API_KEY: ${{ secrets.SMARDEX_SUBGRAPH_API_KEY }}
VENDOR_FINANCE: ${{ secrets.VENDOR_FINANCE }}
TRADERJOE: ${{ secrets.TRADERJOE }}
GRAPH_API_KEY: ${{ secrets.GRAPH_API_KEY }}
OSMOSIS_API_KEY: ${{ secrets.OSMOSIS_API_KEY}}
DUNE_API_KEY: ${{ secrets.DUNE_API_KEY}}
HYPERLIQUID_RPC: ${{ secrets.HYPERLIQUID_RPC }}
PLASMA_RPC: ${{ secrets.PLASMA_RPC }}
STARKNET_RPC: ${{ secrets.STARKNET_RPC }}
MONAD_RPC: ${{ secrets.MONAD_RPC }}
PROJECT_0_API_KEY: ${{ secrets.PROJECT_0_API_KEY }}
SANCTUM_API_KEY: ${{ secrets.SANCTUM_API_KEY }}
MERKL_API_KEY: ${{ secrets.MERKL_API_KEY }}
R2_ENDPOINT: ${{ secrets.R2_ENDPOINT }}
R2_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
R2_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }}
SAUCERSWAP_API_KEY: ${{ secrets.SAUCERSWAP_API_KEY }}
62 changes: 45 additions & 17 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,39 @@
name: Test_Change
on:
pull_request
on: pull_request
jobs:
test:
lockfile-check:
runs-on: ubuntu-latest
steps:
- id: file_changes
uses: trilom/file-changes-action@v1.2.3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
output: 'json'
fileOutput: 'json'
node-version: 24.x
- name: Validate root lockfile
run: npm ci --dry-run --no-audit --no-fund
- name: Validate adapters lockfile
run: npm ci --dry-run --no-audit --no-fund
working-directory: src/adaptors
test:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v2
uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24.x
- id: file_changes
uses: tj-actions/changed-files@v44

- name: Record PR number
run: |
mkdir -p pr-comments
echo "${{ github.event.number }}" > pr-comments/pr-number.txt

- name: Run changes files through test script
run: |
RUN_FILES=$(
MODIFIED=${{ steps.file_changes.outputs.files_modified}} \
ADDED=${{ steps.file_changes.outputs.files_added}} \
MODIFIED="${{ steps.file_changes.outputs.modified_files }}" \
ADDED="${{ steps.file_changes.outputs.added_files }}" \
node ${{ github.workspace }}/.github/workflows/getFileList.js
)

Expand All @@ -25,18 +42,29 @@ jobs:
exit 0
fi

npm ci --production --only=prod
npm ci

for i in $(echo $RUN_FILES | tr -d '"[]' | tr "," "\n")
do
{
node ${{ github.workspace }}/src/adaptors/test.js ${{ github.workspace }}/${i} 2>&1 | tee output.txt
node ${{ github.workspace }}/.github/workflows/commentResult.js /home/runner/work/yield-server/yield-server/output.txt "${{ github.repository_owner }}" "${{ github.event.repository.name }}" "${{ github.event.number }}" ${i}
if grep -q "\-\-\-\- ERROR \-\-\-\-" output.txt; then
do
{
npm run test --adapter=${i} 2>&1 | tee output.txt
node ${{ github.workspace }}/.github/workflows/commentResult.js ${{ github.workspace }}/output.txt ${{ github.workspace }}/pr-comments ${i}
if grep -qE "PASS\s+.*test\.js" output.txt; then
exit 0;
else
exit 1;
fi
} || {
} || {
echo -n $i
echo ' doesnt run'
}
done

- name: Upload PR comments artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: pr-comments
path: pr-comments/
if-no-files-found: ignore
retention-days: 1
17 changes: 17 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,20 @@ ccImages
.webpack
.idea/
*output.json
*.csv
scripts/*.json
src/adaptors/list.js
Untitled.ipynb
.ipynb_checkpoints/
yarn-error.log
test.sql
yarn.lock
.test-adapter-output/
.claude/
local/
backfill.env*

src/adaptors/maverick-protocol/
src/adaptors/metavault-v3/
src/adaptors/muuu-finance/navi-lending/
src/adaptors/syncswap/
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
24
Empty file modified .prettierrc
100755 → 100644
Empty file.
Loading