Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
6099 commits
Select commit Hold shift + click to select a range
44a161a
fix adapters
slasher125 Mar 3, 2026
a7d887b
add stake dao balancer v2 strategies (#2444)
0xVe Mar 3, 2026
0bf2dba
consolidate loans into sUSDai for usd-ai (#2438)
wegory Mar 4, 2026
1a28d3c
Blackhole amm adaptor (#2426)
0xnabeel Mar 4, 2026
a32375f
Blackhole cl adaptor (#2425)
0xnabeel Mar 4, 2026
226ec9e
additional usual adapters (#2436)
0xkr3p Mar 4, 2026
a7ad692
exclude usd-ai pools (#2446)
0xkr3p Mar 4, 2026
afc409a
update exclusion
slasher125 Mar 5, 2026
16a5a5d
exclude vault craft (#2450)
0xkr3p Mar 5, 2026
5c5034e
fix llama tester and upgrade test.yml to v4 (#2451)
0xkr3p Mar 5, 2026
008bd74
Refactor token handling in commentResult.js
0xkr3p Mar 5, 2026
7c5c76a
feat(liquidium): add liquidium yields adapter (#2407)
Shudufhadzo Mar 5, 2026
d8c6c1c
update comment result
0xkr3p Mar 6, 2026
cd67ad3
Add monad pools (#2454)
Sk1mer12 Mar 6, 2026
92ef391
comment result
0xkr3p Mar 6, 2026
33c5ecd
add plasma chain for pendle yields (#2456)
frontier159 Mar 6, 2026
08a7290
Add zerobase-cedefi adapter (#2424)
luciferzxj Mar 6, 2026
dcc4cac
add venus flux (#2458)
0xkr3p Mar 6, 2026
e2baaf0
add correct symbol for edge cases in hold tokens (#2460)
0xkr3p Mar 6, 2026
f0b9b67
add theoriq adapter (#2462)
0xkr3p Mar 7, 2026
49a0fa5
adding yHLP vault (#2459)
neelra8n Mar 8, 2026
38a3e15
fix wombat (#2463)
0xkr3p Mar 8, 2026
7eb5949
feat: add token address (#2447)
0xkr3p Mar 9, 2026
e634275
feat: added Linx App adapter (#2408)
raduciobanu22 Mar 9, 2026
512b347
add zest-v2 adapter (#2464)
0xkr3p Mar 9, 2026
eabe8af
update exclusion
slasher125 Mar 10, 2026
a703f7b
curve-dex fix bad symbol
slasher125 Mar 10, 2026
8aa78b2
add null check (#2471)
0xkr3p Mar 10, 2026
03d3052
add aarna-protocol adaptor for APY and TVL data retrieval (#2448)
sai-aarna Mar 11, 2026
017bb22
Add prime-vaults adaptor (#2419)
ducmanh1101 Mar 11, 2026
a910f90
feat: update MuDigital protocol adapter (#2449)
louis-mudigital Mar 11, 2026
a4309cb
feat(euler-v2): add Hyperliquid L1 (HyperEVM) EVK pools (#2470)
KurtBTW Mar 11, 2026
d094173
exclude inactive vaults euler and add guard (#2477)
0xkr3p Mar 13, 2026
d019eaf
add new flare vaults to yield page (#2437)
agbanusi Mar 13, 2026
2174e93
exclude expired pt and automatic mechanism, fix urls (#2478)
0xkr3p Mar 13, 2026
0f2d2d8
feat: add hypurrfi-isolated adapter (Fraxlend pairs on Hyperliquid L1…
KurtBTW Mar 13, 2026
d47fb4c
feat: add hypurrfi-pooled adapter (Aave V3 fork on Hyperliquid L1) (#…
KurtBTW Mar 13, 2026
4090070
use onchain methods for accuracy (#2481)
0xkr3p Mar 13, 2026
e0db868
feat: adapter for Spectra MetaVaults (#2465)
Ulydev Mar 13, 2026
2284c76
feat/yo-protocol-multichain-support (#2473)
AndonMitev Mar 13, 2026
7268959
fix zkswap-v2 (#2483)
0xkr3p Mar 14, 2026
9aec734
fix moola-market (#2484)
0xkr3p Mar 15, 2026
40cba08
add bitway adapter (#2485)
0xkr3p Mar 15, 2026
f22a59b
exclude
slasher125 Mar 16, 2026
0e09631
Add satsuma (#2466)
eyusufatik Mar 16, 2026
48be9d7
feat: add sdUSD apy on Ethereum (#2476)
sang-stably Mar 17, 2026
d97bbec
fix ferro adapter (#2491)
0xkr3p Mar 17, 2026
fee6bee
add Zentra Finance (#2486)
eyusufatik Mar 18, 2026
eb9c951
feat(aave-v3): add Aptos chain support (#2474)
mpsc0x Mar 18, 2026
116129a
capture pool/stake actions use 2 symbols (#2492)
0xkr3p Mar 18, 2026
be72a49
update exclusion list
slasher125 Mar 19, 2026
ad011c0
feat: holder stats integrations (#2401)
0xkr3p Mar 19, 2026
c70a3b5
update holders migration (#2494)
0xkr3p Mar 19, 2026
c1fc0a2
add 'polynomial-liquidity' to excluded pools
0xkr3p Mar 19, 2026
a7fa89c
temp replace merkl url and pool symbol test (#2495)
0xkr3p Mar 19, 2026
45ecc49
revert url and more symbol change (#2496)
0xkr3p Mar 19, 2026
1df1c3b
temp remove (#2497)
0xkr3p Mar 19, 2026
17f9be0
Remove vault identifiers from exclude list
0xkr3p Mar 19, 2026
2d965bb
chore: update <2 gapDays rule for muBOND APY (#2493)
louis-mudigital Mar 19, 2026
e8d6835
add json mod and seedholders script
0xkr3p Mar 19, 2026
05571b2
remove projects
slasher125 Mar 20, 2026
7532320
fix
slasher125 Mar 20, 2026
02e4f84
re-add pools (#2500)
0xkr3p Mar 23, 2026
17fa850
exclude and fix betswirl, no active campaign (#2504)
0xkr3p Mar 23, 2026
0ae0ffc
fix: ghost adapter (#2505)
0xkr3p Mar 23, 2026
cec3962
Add SparkDEX V4 adaptor (Flare) (#2472)
0xNx Mar 23, 2026
3d0ad7b
Add Curvance (#2480)
iamvukasin Mar 23, 2026
f527c1e
tweaks to architecture of seedHolders and trigger handler
0xkr3p Mar 23, 2026
7c2458b
fix(shadow-exchange): add v2 pools (#2506)
0xkr3p Mar 23, 2026
06f878b
updates to the triggerHoldersDaily
0xkr3p Mar 24, 2026
511ff7a
feat: add multichain, Solana support and Merkl pagination for yo-prot…
AndonMitev Mar 24, 2026
b1a0aa1
add metropolis-dlmm adapter (#2508)
0xkr3p Mar 24, 2026
ec003d3
add shadow-exchange-legacy adaptor for Sonic gauged legacy pools (#2507)
ssd-stack Mar 24, 2026
fe00834
add metropolis-dlmm-vaults adapter (#2509)
0xkr3p Mar 24, 2026
b22bb1d
update api for ramses-hl (#2510)
0xkr3p Mar 24, 2026
e2d2e98
add JuiceSwap (#2487)
eyusufatik Mar 24, 2026
83b853f
add acre adapter (#2467)
0xkr3p Mar 24, 2026
40fdef5
feat(napier): fix LP APY split and add volume enrichment (#2445)
amrrobb Mar 25, 2026
cb38c57
Add earnMON to Upshift (#2502)
iamvukasin Mar 25, 2026
bdd5c8d
[TermMax] Third party APY (#2498)
tkspring-henry Mar 25, 2026
02c10de
--daily flag, perf improvments
0xkr3p Mar 25, 2026
7b6a056
add plasma pools (#2511)
0xkr3p Mar 25, 2026
00a0607
Add Ethereum subgraph endpoint to Steer Protocol (#2503)
JuampiRombola Mar 25, 2026
c5156c2
fix tvl calc and add closed pools to exclude (#2513)
0xkr3p Mar 26, 2026
87abe6f
fix(venus-core): bsc block time (#2514)
0xkr3p Mar 26, 2026
226e20b
add euler borrow pools (#2515)
0xkr3p Mar 26, 2026
894e15d
rename: chainflip -> chainflip-amm (#2517)
0xkr3p Mar 27, 2026
2aa226b
rename theoriq -> theoriq-v1 (#2518)
0xkr3p Mar 27, 2026
e006fbf
Add new address for frozen market in exclude.js
0xkr3p Mar 27, 2026
fef4324
add snapshot logic, use to block, increase delay and decrease batch size
0xkr3p Mar 27, 2026
216aea1
tidy up
0xkr3p Mar 27, 2026
9e862e7
delete trigger holders daily
0xkr3p Mar 27, 2026
659f024
env vars
0xkr3p Mar 27, 2026
b1112b0
feat: add blackrock-buidl adapter (#2520)
0xkr3p Mar 27, 2026
9598be3
feat: add vaneck treasury fund adapter (#2521)
0xkr3p Mar 28, 2026
9df7c8f
update securitize urls (#2524)
0xkr3p Mar 28, 2026
7a46e7c
add securitize clo fund adapter (#2526)
0xkr3p Mar 29, 2026
131b663
add apollo-securitize adapter (#2522)
0xkr3p Mar 29, 2026
0a9b409
feat: add hamilton lane adapter (#2525)
0xkr3p Mar 29, 2026
958fd4e
fix query timestamp
0xkr3p Mar 29, 2026
f60a1d9
exclude pool and add filter mechanism upshift (#2527)
0xkr3p Mar 29, 2026
fbc7785
move file, add cron job;
slasher125 Mar 30, 2026
a6c41b5
move routes
slasher125 Mar 30, 2026
754ff3c
update env
slasher125 Mar 30, 2026
8292e34
Merge pull request #2519 from 0xkr3p/chore/seed-holders
slasher125 Mar 30, 2026
4106105
temp remove
slasher125 Mar 30, 2026
3a926fa
add headers to /holders routes
slasher125 Mar 30, 2026
44fa7a2
fix
slasher125 Mar 30, 2026
49e4acf
fix2
slasher125 Mar 30, 2026
2f0c493
fix
slasher125 Mar 30, 2026
e824b9c
add holder to api
slasher125 Mar 30, 2026
0d6c25d
add tokenAddress route (#2530)
0xkr3p Mar 30, 2026
9380898
track aave v4 (#2531)
ReynardoEW Mar 30, 2026
e8b9ada
exclude protocols (#2532)
0xkr3p Mar 30, 2026
d4baed6
exclude
slasher125 Mar 31, 2026
637d18f
llamalend stake-dao and fix rewards (#2533)
0xkr3p Mar 31, 2026
3f04679
fix: add null check for regex match in cian-yield-layer adaptor (#2516)
phusi319 Mar 31, 2026
c9684dc
Adding newly launched yValos and yPythagoras tokens on YieldFi (#2482)
neelra8n Mar 31, 2026
8fa0096
add mantle and megaeth to aave-v3 (#2535)
0xkr3p Mar 31, 2026
58ed14f
add blockchain capital adapter (#2536)
0xkr3p Mar 31, 2026
bc7b2f4
use 30d base for securitize for stability (#2537)
0xkr3p Mar 31, 2026
42462e2
fix hydration gql source (#2539)
0xkr3p Mar 31, 2026
8f42c9c
Add yield adapter for pufETH (#2538)
9inpachi Apr 1, 2026
34bf97c
exclude uni-v4 from token extraction (#2540)
0xkr3p Apr 1, 2026
cf4a29a
fix morpho (#2542)
0xkr3p Apr 1, 2026
ae5b579
use pagination instead of 1000 limit (#2501)
0xkr3p Apr 1, 2026
afa0b8c
remove token address from holders (#2543)
0xkr3p Apr 1, 2026
be69ce5
update exclusion list
slasher125 Apr 2, 2026
3ef376b
stake-dao lowercase pool values
slasher125 Apr 2, 2026
e742348
add theo tbill (#2545)
0xkr3p Apr 2, 2026
ca95c84
rename theoriq-v1 > theoriq-alphavault-eth (#2547)
0xkr3p Apr 2, 2026
ae686e9
add re adapter (#2546)
0xkr3p Apr 2, 2026
0177f6b
add hastra adapter (#2549)
0xkr3p Apr 2, 2026
d5c04d0
add OnRe adapter (#2550)
0xkr3p Apr 3, 2026
8395818
chore: 🤖 add NUSD tranches in strata
0xnaman1 Apr 3, 2026
c93ecde
add circle usyc adapter (#2551)
0xkr3p Apr 3, 2026
357960e
add superstate-ustb adapter (#2553)
0xkr3p Apr 3, 2026
b8a771f
Merge pull request #2552 from 0xnaman1/master
waynebruce0x Apr 3, 2026
412961d
Add 'connext' and 'hmx' to excluded pools list
0xkr3p Apr 3, 2026
3aaa58d
update hypurrfi url to https://hypurrfi.com/ (#2556)
0xkr3p Apr 4, 2026
902d859
remove burned supply (#2558)
0xkr3p Apr 5, 2026
4b822cc
update exclusion
slasher125 Apr 6, 2026
1200e57
set token as null (#2560)
0xkr3p Apr 6, 2026
b358347
add ankr fallback for suspicious data (#2561)
0xkr3p Apr 6, 2026
6cd3862
add stone-vault yield adapter (#2366)
jhombark Apr 7, 2026
3e50a42
temp aerodrome try/catch (#2563)
0xkr3p Apr 7, 2026
71ad47b
Fix DSF APY fallback logic for zero-APY mistake edge cases (#2457)
dsf-cto Apr 7, 2026
b9f5a50
Add surf-liquid yield adapter (#2475)
rohansingh4 Apr 7, 2026
8af09ed
Add stakeTHENA erc4626 vault on BSC (#2499)
ftm1337 Apr 7, 2026
c74582b
fix: superform apy (#2567)
0xkr3p Apr 8, 2026
49d1a8f
fix: handle merkl missing apr (#2559)
AndonMitev Apr 9, 2026
ad788f5
Add TownSquare (#2571)
iamvukasin Apr 9, 2026
283fe56
onchain fallback aerodrome-slipstream (#2570)
0xkr3p Apr 9, 2026
ddd492d
Add Apyx yield adapter (#2544)
dead-pool-aka-wilson Apr 9, 2026
a812c05
update the adapter to use the ekubo campaigns endpoint (#2565)
moodysalem Apr 9, 2026
a345e72
rename wasabi
slasher125 Apr 10, 2026
798c831
update exclusion
slasher125 Apr 10, 2026
048d775
add checkadapter to ci
slasher125 Apr 10, 2026
709fcf6
fix ekubo pool ids (#2573)
0xkr3p Apr 10, 2026
0b393cd
add fluxion network adapter (#2575)
0xkr3p Apr 10, 2026
d36ef3a
chore: add api.berachain.com tracking (#2554)
bearpong Apr 11, 2026
d939089
feat: add Igra chain yields for kaspacom-dex (#2562)
MarkoKCOM Apr 12, 2026
b42740b
add merkl rewards to adapters
0xkr3p Apr 8, 2026
bc3426c
metamorpho merkl rewards
0xkr3p Apr 8, 2026
55d9808
capture additional misisng morpho vaults
0xkr3p Apr 9, 2026
4090096
new adapters
0xkr3p Apr 9, 2026
b809e6c
add steakhouse-financial adapter
0xkr3p Apr 10, 2026
03e19a4
adapters
0xkr3p Apr 10, 2026
2c2257d
more
0xkr3p Apr 10, 2026
743d6d0
remove merkl from fx
0xkr3p Apr 12, 2026
92a608e
blacklist townsquare
0xkr3p Apr 12, 2026
78515c0
feat: wbtc, weth ntt (#2577)
palace22 Apr 13, 2026
555ffc2
Fira v1 (#2569)
zgorizzo69 Apr 14, 2026
6d87075
Add yld yields adapter (#2282)
michaeldim Apr 14, 2026
e027908
use v3 for api (#2580)
0xkr3p Apr 14, 2026
6bb77cc
Add 'orby-network' to excluded items list
0xkr3p Apr 14, 2026
cda4126
test comment (#2582)
0xkr3p Apr 14, 2026
379732c
fix: benqi staked avax onchain (#2581)
0xkr3p Apr 14, 2026
9851f23
feat: add saturn adapter (#2583)
0xkr3p Apr 15, 2026
586e31a
veda adapter
0xkr3p Apr 15, 2026
d551d9a
use new api url (#2584)
0xkr3p Apr 15, 2026
b2e4a99
Add 'trisolaris' to exclude list in exclude.js
0xkr3p Apr 15, 2026
8790637
fix: gmx-v2-perps (#2585)
0xkr3p Apr 15, 2026
d8deab9
fix storm trade (#2587)
0xkr3p Apr 15, 2026
62789cf
rename mento-v3
0xkr3p Apr 15, 2026
bc571d4
fix ichi
0xkr3p Apr 16, 2026
287c183
add optional chaining
0xkr3p Apr 16, 2026
0e5b2f6
moonwell fix
0xkr3p Apr 16, 2026
a155a27
fix euler
0xkr3p Apr 16, 2026
40fd2e0
add openeden prism (#2588)
0xkr3p Apr 16, 2026
3862a6b
fix yieldnest
0xkr3p Apr 16, 2026
9573ff0
add canary tables (#2578)
0xkr3p Apr 16, 2026
62ae1d3
add current adapter (#2589)
0xkr3p Apr 16, 2026
893b17a
add afi protocol (#2590)
0xkr3p Apr 16, 2026
d94b46d
remove protocol
slasher125 Apr 17, 2026
d649fbb
update chain formatter
slasher125 Apr 17, 2026
c9ae37d
add token metadata table
slasher125 Apr 17, 2026
39b9cc6
Merge pull request #2593 from DefiLlama/add-token_metadata-table
slasher125 Apr 17, 2026
148b7c0
remove pool
slasher125 Apr 17, 2026
fa56b79
add adapter_stats table
slasher125 Apr 17, 2026
a2a9665
fix
slasher125 Apr 17, 2026
3b75e4e
fix
slasher125 Apr 17, 2026
feb5f0a
feat: add purrlend (#2592)
0xkr3p Apr 17, 2026
e36237b
fix
slasher125 Apr 17, 2026
869af47
Merge branch 'master' of github.com:DefiLlama/yield-server
slasher125 Apr 17, 2026
01e249b
delist
slasher125 Apr 17, 2026
179f147
remove adapter queue retries and DLQ for fire-and-forget execution
slasher125 Apr 17, 2026
bd7861f
Merge pull request #2596 from DefiLlama/remove-adapter-dlq-retries
slasher125 Apr 17, 2026
ca70529
delist
slasher125 Apr 17, 2026
ffa7d87
fix
slasher125 Apr 17, 2026
41adbbd
fix convex-finance (#2594)
0xkr3p Apr 17, 2026
55f71b3
nuke dead projets
slasher125 Apr 17, 2026
8e6db3a
feat: 🎸 added midas tranches (#2598)
0xnaman1 Apr 19, 2026
fb0d4d0
update exclusion list
slasher125 Apr 20, 2026
644179f
Merge branch 'master' into fix/merkl-deduplication-v2
0xkr3p Apr 20, 2026
f9558ab
fix merge
0xkr3p Apr 20, 2026
f7189f9
justlend retry and batch req (#2601)
0xkr3p Apr 20, 2026
90825fa
feat: add ink to velodrome-v3 (#2603)
0xkr3p Apr 20, 2026
34ea8c4
perf: multicalls, pagination, parallelized 348s to 171s (#2602)
0xkr3p Apr 20, 2026
b9f52ee
Omnipair yield pools (#2574)
henrystats Apr 20, 2026
58a55a3
morpho chain separation (#2604)
0xkr3p Apr 20, 2026
e1622c6
add withRetry and buffer (#2605)
0xkr3p Apr 21, 2026
a0b2cfc
update subgraph (#2606)
0xkr3p Apr 21, 2026
1dbefa4
ref: reduce to 1 api req with retry (#2607)
0xkr3p Apr 21, 2026
de39b43
add retry (#2608)
0xkr3p Apr 21, 2026
69e7732
aerodrome-slipstream optimisations to fix lambda timeout (#2609)
0xkr3p Apr 21, 2026
4cd0c2b
Add 'blockchain-capital' to exclusion list
0xkr3p Apr 21, 2026
346b614
treehouse more resilient (#2610)
0xkr3p Apr 21, 2026
881f378
aerodrome-slipstream prefer subgraph (#2612)
0xkr3p Apr 21, 2026
31a807f
fix lynex-v2 (#2613)
0xkr3p Apr 21, 2026
8e818c7
fix: url structure and add eth support (#2614)
0xkr3p Apr 21, 2026
6fa4b52
feat: add unitas bsc pool yield (#2566)
junlies Apr 22, 2026
578dfab
feat: add credit adapter (#2591)
cairoeth Apr 22, 2026
3b3eaaf
b14g adapter improvements (#2615)
0xkr3p Apr 22, 2026
bb81f32
fix benqi lending url (#2616)
0xkr3p Apr 22, 2026
6212bea
fix: yieldyak aibtc decimals (#2617)
0xkr3p Apr 22, 2026
07213d4
remove deprecated
slasher125 Apr 22, 2026
3f0a5bc
rename morpho-v1 -> morpho-blue (#2618)
0xkr3p Apr 22, 2026
04f2d9c
Add new pools to exclusion list in exclude.js
0xkr3p Apr 22, 2026
d9b749c
bex hardcode max tvl
slasher125 Apr 22, 2026
417aeea
Feat/travessia credit (#2597)
RedVeil Apr 22, 2026
13b6f86
rename ichi
slasher125 Apr 22, 2026
926d5db
Merge remote-tracking branch 'upstream/master' into fix/merkl-dedupli…
slasher125 Apr 22, 2026
a5f3d54
Merge pull request #2586 from 0xkr3p/fix/merkl-deduplication-v2
slasher125 Apr 22, 2026
e9219b3
bypass db tvl floor for lending adapters
slasher125 Apr 23, 2026
538ba52
include low-liquidity lending pools in read filters
slasher125 Apr 23, 2026
592a52e
smol fix: set global tvl lb
slasher125 Apr 23, 2026
1af4668
morpho fix v1 apy
slasher125 Apr 23, 2026
635c06a
exclude merkl
slasher125 Apr 23, 2026
e6ab2a0
fix
slasher125 Apr 24, 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);
}
52 changes: 39 additions & 13 deletions .github/workflows/master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,53 @@ 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 }}
DATABASE_URL: ${{ secrets.DATABASE_URL }}
ALCHEMY_CONNECTION_ARBITRUM: ${{ secrets.ALCHEMY_CONNECTION_ARBITRUM }}
XDAI: ${{ secrets.XDAI }}
ALCHEMY_CONNECTION_ETHEREUM: ${{ secrets.ALCHEMY_CONNECTION_ETHEREUM }}
ALCHEMY_CONNECTION_POLYGON: ${{ secrets.ALCHEMY_CONNECTION_POLYGON }}
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 }}
51 changes: 34 additions & 17 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,28 @@
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
env:
ALCHEMY_CONNECTION_ARBITRUM: ${{ secrets.ALCHEMY_CONNECTION_ARBITRUM }}
ALCHEMY_CONNECTION_ETHEREUM: ${{ secrets.ALCHEMY_CONNECTION_ETHEREUM }}
ALCHEMY_CONNECTION_POLYGON: ${{ secrets.ALCHEMY_CONNECTION_POLYGON }}
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 +31,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
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,18 @@ 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/

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