Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
6046 commits
Select commit Hold shift + click to select a range
a11e732
fix: update metrom adapter to add supported chains (#2402)
luzzif Feb 23, 2026
6171027
Ploutus fi/master (#2413)
0xkr3p Feb 24, 2026
9cbe769
feat: add tramplin.io adapter (#2399)
0xkr3p Feb 24, 2026
aea7b4f
fix: curve-llamalend output (#2403)
0xkr3p Feb 24, 2026
3cd35e3
rename: zest -> zest-v1
slasher125 Feb 24, 2026
99a8131
upgrade sdk
slasher125 Feb 24, 2026
3f1a92e
update package.lock
slasher125 Feb 24, 2026
81740a8
fix
slasher125 Feb 24, 2026
a4363f5
project-0 remove dupes
slasher125 Feb 24, 2026
fbbab3d
remove p-limit
slasher125 Feb 24, 2026
63c290a
update node runtime
slasher125 Feb 24, 2026
5139d0e
Merge pull request #2228 from giladm11/kaspacom-dex-yields-from-beackend
slasher125 Feb 24, 2026
86d80f7
fix: add try/catch and arb pools (#2412)
0xkr3p Feb 24, 2026
a1c632f
Merge pull request #2291 from yashnaman/add-pok-vault-adapter
slasher125 Feb 24, 2026
8f8bfa0
update exclusion
slasher125 Feb 24, 2026
f09d14f
replace superagent
slasher125 Feb 24, 2026
ea7690f
Merge pull request #2414 from DefiLlama/remove-superagent
slasher125 Feb 24, 2026
c8f9655
feat: add permapod lending adapter for ZIGChain (#2400)
permapod Feb 24, 2026
54fa40d
update sdk
slasher125 Feb 25, 2026
a65ed64
supernova cl adaptor addition (#2417)
0xnabeel Feb 25, 2026
40152bc
feat: add 3jane-lending (#2415)
0xkr3p Feb 25, 2026
3d115d4
fix hydration-dex adaptor (#2420)
0xkr3p Feb 25, 2026
c9988f8
fix: hydration dex better underlying + stablepools (#2421)
0xkr3p Feb 25, 2026
21a782e
addition of supernova-amm adaptor (#2416)
0xnabeel Feb 25, 2026
20fc541
add /pools and /lendBorrow to server
0xngmi Feb 25, 2026
36acdc7
fix ci
slasher125 Feb 26, 2026
4e37590
test
slasher125 Feb 26, 2026
257164c
fix
slasher125 Feb 26, 2026
d8dc01d
update exclusion
slasher125 Feb 27, 2026
643ff6d
underlying dim token matching (#2427)
0xkr3p Feb 27, 2026
93fcf36
fix ipor fusion slug rename to fusion-by-ipor (#2429)
0xkr3p Feb 27, 2026
1a0168a
usual > usual-usd0 rename (#2430)
0xkr3p Feb 27, 2026
ca62718
Feat: Add jupiter lend adapter (#2405)
startup-dreamer Feb 27, 2026
0cd3eb7
rename minswap
slasher125 Feb 27, 2026
8b14cdd
update exclusion list
slasher125 Feb 27, 2026
df3a226
Zircuit finance adaptor (#2431)
kbak Feb 27, 2026
0d741c9
add katana chain (#2432)
0xkr3p Feb 28, 2026
c29b6e0
add usd-ai (#2404)
wegory Feb 28, 2026
12cb6dc
use try / catch to prevent movement breaking adapter (#2434)
0xkr3p Mar 1, 2026
254b6c5
minor changes (#2435)
0xkr3p Mar 1, 2026
93b3961
Feat/Add yield for skntq (#2274)
DorianWilhelm Mar 1, 2026
af78461
fix
slasher125 Mar 2, 2026
0b86e5e
updat exclusion
slasher125 Mar 2, 2026
928eee5
Hydro Inflow pools APYs (#2346)
dusan-maksimovic Mar 2, 2026
f91e61f
feat: add gaib adaptors (#2418)
samgaib Mar 2, 2026
320fbd2
Refactors DSF LP APY calculation logic (#2433)
dsf-cto Mar 2, 2026
f76d9db
update exclusion list
slasher125 Mar 2, 2026
9e28e3f
rename token > searchTokenOverride and add token field (#2439)
0xkr3p Mar 2, 2026
a36eaa4
remove inactive sky farm and add new spk farm (#2440)
0xkr3p Mar 2, 2026
61331b6
spk farm url (#2441)
0xkr3p Mar 2, 2026
2afe9f1
remove stale kava chain (#2442)
0xkr3p Mar 2, 2026
919ed29
fix stale adapters (#2443)
0xkr3p Mar 2, 2026
d5a4dcc
update exclusion
slasher125 Mar 3, 2026
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
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
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
40fd2e0
add openeden prism (#2588)
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
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