Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
6595 commits
Select commit Hold shift + click to select a range
2d9d03d
exclude
slasher125 Jun 3, 2026
6d14c7a
exclude
slasher125 Jun 3, 2026
05aa2e4
add poolKind for routing to tests
slasher125 Jun 3, 2026
5f0b7cb
dont persist routing_collateral entries to config/yield table
slasher125 Jun 3, 2026
2328373
euler-v2: add routing_collatera
slasher125 Jun 3, 2026
ad59455
compound-v3 add routing collateral field
slasher125 Jun 3, 2026
4600338
exclude
slasher125 Jun 3, 2026
5357ea4
update url
slasher125 Jun 3, 2026
e0f0b4e
ZealousSwap: Add Igra Network (#2720)
louissaadgo Jun 3, 2026
578afeb
compound-v3 add comment
slasher125 Jun 3, 2026
02bf149
change collateralMarketKey -> underlyingStateKey
slasher125 Jun 3, 2026
e1b3ce4
euler-v2 use underlyingStateKey
slasher125 Jun 3, 2026
ec1e3ba
skip aave-v4 routing
slasher125 Jun 3, 2026
4aab707
add aave-v4 collateral routes
slasher125 Jun 3, 2026
50c23ac
Merge branch 'master' of github.com:DefiLlama/yield-server
slasher125 Jun 3, 2026
1ed7db5
rename marketKey -> routeGroupKey
slasher125 Jun 3, 2026
05420e5
Add Gami Labs yield adapter (#2715)
marien-gami Jun 3, 2026
e9c43ef
add borrowToken where missing
slasher125 Jun 3, 2026
9db236f
Merge pull request #2725 from DefiLlama/add-missing-borrowToken
slasher125 Jun 3, 2026
70ba65d
update gitignore
slasher125 Jun 3, 2026
b7d4e07
feat: add Brix wiTRY yield adapter (#2680)
ismailemin Jun 3, 2026
cc15188
rename changes (#2726)
0xkr3p Jun 3, 2026
de327d9
nest cl
0xkr3p Jun 3, 2026
1864742
fix url
slasher125 Jun 4, 2026
1df8a70
ramses-hl fix
slasher125 Jun 5, 2026
e22e001
exclude
slasher125 Jun 5, 2026
caa7570
split nest pools (#2727)
0xkr3p Jun 5, 2026
9f03246
aave-v4: add hub available liq
slasher125 Jun 5, 2026
c7bba6c
accountable: add ethereum support and use API TVL
pawel-accountable Jun 5, 2026
40d4329
Merge pull request #2728 from pawel-accountable/feat/accountable-eth-…
g1nt0ki Jun 5, 2026
517ce48
uni v3 forks: use active liquidity for v3 fee APY estimates
slasher125 Jun 5, 2026
761adb4
silo-v2 fix structure
slasher125 Jun 5, 2026
a05fbff
exclude
slasher125 Jun 6, 2026
7e7184c
wildcat-protocol: dedupe price API keys
slasher125 Jun 6, 2026
f9cca1d
exclude
slasher125 Jun 6, 2026
0d2707e
exclude
slasher125 Jun 6, 2026
f1fcb3b
exclude
slasher125 Jun 6, 2026
ad88106
Add ForgeYields yield adaptor …
0xSacha Jun 6, 2026
3f3fdcd
geth fix
slasher125 Jun 6, 2026
910b889
Merge branch 'master' of github.com:DefiLlama/yield-server
slasher125 Jun 6, 2026
b8b2fa4
exactly update structure for b-aggregator
slasher125 Jun 7, 2026
9e5435d
more-markets remove redundant poolmeta
slasher125 Jun 8, 2026
baa2ad1
evaa update poolmeta
slasher125 Jun 8, 2026
7eecf8e
save update url
slasher125 Jun 8, 2026
126f982
fira clean poolmeta
slasher125 Jun 8, 2026
f45ee58
exclude
slasher125 Jun 8, 2026
8cda539
kava remove old pool, poolmeta changes
slasher125 Jun 8, 2026
53f4c5f
takara lend remove poolmeta
slasher125 Jun 8, 2026
8eede56
exclude
slasher125 Jun 8, 2026
09482ff
exclude
slasher125 Jun 8, 2026
ac7571f
exclude
slasher125 Jun 8, 2026
e1aa336
curvance fix structure
slasher125 Jun 8, 2026
26e0187
curvance fix
slasher125 Jun 8, 2026
888cc00
feat: add arkonix yield adapter (#2695)
gauravbhandari23 Jun 8, 2026
ed392f1
exclude centrifuge pools in favour of arkonix where deposit occurs
0xkr3p Jun 8, 2026
677284e
curvance again
slasher125 Jun 8, 2026
3986d1e
Merge branch 'master' of github.com:DefiLlama/yield-server
slasher125 Jun 8, 2026
949231c
remove poolmeta
slasher125 Jun 8, 2026
50d5af2
exclude
slasher125 Jun 10, 2026
4192d98
Add BTCD sBTCD yield adapter (#2705)
z-j-lin Jun 10, 2026
b4d4b8c
Add SpringX's info to the Yields adapter (#2710)
TheOfficialSpringX Jun 10, 2026
7f52ece
cdp, fallback to apy=0
slasher125 Jun 12, 2026
30852ab
waternouron fix
slasher125 Jun 12, 2026
077a440
exclude
slasher125 Jun 12, 2026
73d222d
vesu fix
slasher125 Jun 12, 2026
b1693ef
credit.cash: align tvlUsd with documented lending schema (#2703)
permapod-rsk Jun 12, 2026
7121256
azuro: read net APY/TVL from Dune snapshot (#2729)
Shchepetov Jun 12, 2026
2a60cf5
remove hourly endpoint
0xngmi Jun 13, 2026
6eaf371
origami-finance: call origami server vault-apy endpoint (#2730)
bratw6rst Jun 15, 2026
c8489ba
accountable: fix NAV vault APY (use annualized APY from API) (#2733)
pawel-accountable Jun 15, 2026
bbb2ad6
feat: add everything pool apy tracking (#2579)
ra2-alfred-g Jun 15, 2026
a48abd0
fix(accountable): avoid duplicate 'Points' in poolMeta label (#2736)
pawel-accountable Jun 15, 2026
c0300f6
chore: rename symbols ton -> gram (#2737)
0xkr3p Jun 15, 2026
cc1da6e
more ton symbol changes
0xkr3p Jun 15, 2026
64d5c63
morpho-blue drop deprecated/unlisted vaults
slasher125 Jun 16, 2026
260bfe8
fix 3jane tvl and apy (#2739)
0xkr3p Jun 16, 2026
b9516e0
Add Liquidium ICP pool to yields adapter (#2738)
robin-liquidium Jun 16, 2026
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
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
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
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
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
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();
24 changes: 16 additions & 8 deletions .github/workflows/getFileList.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
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 !== '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);
}
57 changes: 43 additions & 14 deletions .github/workflows/master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,56 @@ 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
- 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 }}
LLAMA_INDEXER_V2_ENDPOINT: ${{ secrets.LLAMA_INDEXER_V2_ENDPOINT }}
LLAMA_INDEXER_V2_API_KEY: ${{ secrets.LLAMA_INDEXER_V2_API_KEY }}
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 }}
47 changes: 30 additions & 17 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,24 @@
name: Test_Change
on:
pull_request
on: pull_request
jobs:
test:
runs-on: ubuntu-latest
steps:
- id: file_changes
uses: trilom/file-changes-action@v1.2.3
with:
output: 'json'
fileOutput: 'json'
- name: Check out repository code
uses: actions/checkout@v2
uses: actions/checkout@v4
- 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 +27,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/
Empty file modified .prettierrc
100755 → 100644
Empty file.
Loading