Skip to content

Add STRATO yield adapter#2825

Open
michaelbtan wants to merge 2 commits into
DefiLlama:masterfrom
michaelbtan:strato-yield-adapter
Open

Add STRATO yield adapter#2825
michaelbtan wants to merge 2 commits into
DefiLlama:masterfrom
michaelbtan:strato-yield-adapter

Conversation

@michaelbtan

@michaelbtan michaelbtan commented Jul 16, 2026

Copy link
Copy Markdown

What

Adds a yield adapter for STRATO / Mercata (BlockApps' institutional L1, already listed on DefiLlama TVL as strato, protocol id 7862). All pools are read purely via eth_call (and coins.llama.fi for pricing) against the public STRATO RPC (https://noderpc.strato.nexus/rpc) — the same RPC the existing TVL adapter uses. No auth required.

Pools

Pool Type TVL APY
saveUSDST vault apyBase (savings rate) ~$1.75M ~5.0%
STRATO staking apyReward (STRATO) ~$474k ~9.9%
GOLDST/USDST, ETH/USDST, USDC/USDST, SILVST/USDST, syrupUSDC/USDST, sUSDS/USDST AMM LP ~$0.59M combined TVL-only
lendUSDST lending (USDST) apyBase supply + apyBaseBorrow ~$4.8k ~4.0% supply / ~5.0% borrow

Notes / constraints

  • Pricing: DefiLlama already prices most STRATO tokens (USDST, GOLDST, ETH, …). Tokens it doesn't index (e.g. STRATO) fall back to the on-chain PriceOracle (1e18 USD).
  • No Multicall3 on STRATO — calls are sequential.
  • AMM base APY is 0 for now. The pool swap-fee rate has no public getter over eth_call (private state var), and the active pools currently have no swap volume in a trailing window, so fee APY would be 0 regardless. Pools are reported TVL-only; fee APY can be added in a follow-up if a fee getter is exposed on-chain.
  • CDP debt/collateral state is not exposed via standard ABI getters over eth_call (same limitation noted in the TVL adapter), so no CDP pool is included.

Verified locally: npm run test --adapter=stratoPASS (63/63).

Summary by CodeRabbit

  • New Features
    • Added DefiLlama support for tracking Strato (Mercata) protocol metrics.
    • Added TVL and APY reporting for savings, lending, staking, and AMM liquidity pools.
    • Added automatic token pricing with fallback price sources.
    • Excludes inactive or invalid pools from reported results.

Surfaces STRATO/Mercata yield products on yields.llama.fi, read purely via
eth_call against the public STRATO RPC (chain `strato`, protocolId 7862):

- saveUSDST savings vault (apyBase from the per-second savings rate)
- USDST lending pool / lendUSDST (supply apyBase + borrow apy)
- STRATO staking (apyReward in STRATO)
- AMM LP pools (TVL from reserves; TVL-only for now)

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

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Adds a Strato yield adapter that reads savings, lending, staking, and AMM contracts, resolves token prices, computes TVL/APY metrics, filters invalid results, and exports the adapter metadata.

Changes

Strato adapter

Layer / File(s) Summary
Contract helpers and pool metrics
src/adaptors/strato/index.js
Defines Strato metadata, RPC helpers, RAY APY conversion, price fallbacks, and savings, lending, and staking pool calculations.
AMM pool discovery and valuation
src/adaptors/strato/index.js
Enumerates factory pools, reads token reserves, resolves prices, and emits TVL-only AMM entries.
Adapter aggregation and exports
src/adaptors/strato/index.js
Runs pool calculations concurrently, filters failed or low-TVL results, and exports apy, protocolId, timetravel, and url.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant DefiLlama
  participant StratoAdapter
  participant StratoRPC
  participant PriceAPI
  DefiLlama->>StratoAdapter: invoke apy()
  StratoAdapter->>StratoRPC: read savings, lending, staking, and AMM state
  StratoAdapter->>PriceAPI: resolve token prices
  PriceAPI-->>StratoAdapter: return prices or fallback
  StratoAdapter-->>DefiLlama: return filtered pool metrics
Loading
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: adding a new STRATO yield adapter.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

The strato adapter exports pools:

Test Suites: 1 passed, 1 total
Tests: 63 passed, 63 total
Snapshots: 0 total
Time: 0.162 s
Ran all test suites.

Nb of pools: 9
 

Sample pools:
┌─────────┬─────────────────────────────────────────────────────┬──────────┬──────────┬───────────────────┬────────────────────┬────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────┬───────────────────────────┬────────────────────────────┬───────────────────┬──────────────────────────────────────────────────┬───────────────────┬──────────────────┬───────────────────┬──────┬────────────┐
│ (index) │ pool                                                │ chain    │ project  │ symbol            │ tvlUsd             │ apyBase            │ underlyingTokens                                                                               │ poolMeta                  │ url                        │ apyReward         │ rewardTokens                                     │ apyBaseBorrow     │ totalSupplyUsd   │ totalBorrowUsd    │ ltv  │ borrowable │
├─────────┼─────────────────────────────────────────────────────┼──────────┼──────────┼───────────────────┼────────────────────┼────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────┼───────────────────────────┼────────────────────────────┼───────────────────┼──────────────────────────────────────────────────┼───────────────────┼──────────────────┼───────────────────┼──────┼────────────┤
│ 0       │ '0x22550671fcad04a213697ac7ae4f4366e96446ed-strato' │ 'Strato' │ 'strato' │ 'USDST'           │ 1749028.192661126  │ 5.000000082842315  │ [ '0x937efa7e3a77e20bbdbd7c0d32b6514f368c1010' ]                                               │ 'saveUSDST savings vault' │ 'https://app.strato.nexus' │                   │                                                  │                   │                  │                   │      │            │
│ 1       │ '0xf30a022ce83bed7adeafc286c719388dcc3b3988-strato' │ 'Strato' │ 'strato' │ 'STRATO'          │ 474413.01615030994 │                    │ [ '0x2ca3e170e6714282da77815f7864b17f612f5f83' ]                                               │ 'STRATO staking'          │ 'https://app.strato.nexus' │ 9.935033186108203 │ [ '0x2ca3e170e6714282da77815f7864b17f612f5f83' ] │                   │                  │                   │      │            │
│ 2       │ '0x000000000000000000000000000000000000101b-strato' │ 'Strato' │ 'strato' │ 'GOLDST-USDST'    │ 457939.8643468545  │ 0                  │ [ '0xcdc93d30182125e05eec985b631c7c61b3f63ff0', '0x937efa7e3a77e20bbdbd7c0d32b6514f368c1010' ] │ 'AMM LP'                  │ 'https://app.strato.nexus' │                   │                                                  │                   │                  │                   │      │            │
│ 3       │ '0x0000000000000000000000000000000000001017-strato' │ 'Strato' │ 'strato' │ 'ETH-USDST'       │ 60271.60506433259  │ 0                  │ [ '0x93fb7295859b2d70199e0a4883b7c320cf874e6c', '0x937efa7e3a77e20bbdbd7c0d32b6514f368c1010' ] │ 'AMM LP'                  │ 'https://app.strato.nexus' │                   │                                                  │                   │                  │                   │      │            │
│ 4       │ '0x3d1dc151402858521bf9beaa8c72a68c9b4fc2fe-strato' │ 'Strato' │ 'strato' │ 'USDC-USDST'      │ 49494.46237147876  │ 0                  │ [ '0x6aeacaa19c68e53035bf495d15e0a328fc600ba8', '0x937efa7e3a77e20bbdbd7c0d32b6514f368c1010' ] │ 'AMM LP'                  │ 'https://app.strato.nexus' │                   │                                                  │                   │                  │                   │      │            │
│ 5       │ '0x000000000000000000000000000000000000101d-strato' │ 'Strato' │ 'strato' │ 'SILVST-USDST'    │ 18679.55703564099  │ 0                  │ [ '0x2c59ef92d08efde71fe1a1cb5b45f4f6d48fcc94', '0x937efa7e3a77e20bbdbd7c0d32b6514f368c1010' ] │ 'AMM LP'                  │ 'https://app.strato.nexus' │                   │                                                  │                   │                  │                   │      │            │
│ 6       │ '0x0000000000000000000000000000000000001005-strato' │ 'Strato' │ 'strato' │ 'USDST'           │ 4798.03942575054   │ 4.0070718941545564 │ [ '0x937efa7e3a77e20bbdbd7c0d32b6514f368c1010' ]                                               │ 'lendUSDST lending'       │ 'https://app.strato.nexus' │                   │                                                  │ 5.000000082842315 │ 4798.03942575054 │ 4272.464135871938 │ 0.75 │ true       │
│ 7       │ '0x5888fbe6d6774c1d5788a7b631fc2a2fe88c44c6-strato' │ 'Strato' │ 'strato' │ 'SYRUPUSDC-USDST' │ 2230.5616592614515 │ 0                  │ [ '0xc6c3e9881665d53ae8c222e24ca7a8d069aa56ca', '0x937efa7e3a77e20bbdbd7c0d32b6514f368c1010' ] │ 'AMM LP'                  │ 'https://app.strato.nexus' │                   │                                                  │                   │                  │                   │      │            │
│ 8       │ '0xbab35f9fe024e2735edae7a9c0aba4db260a649c-strato' │ 'Strato' │ 'strato' │ 'SUSDS-USDST'     │ 2018.1749955950684 │ 0                  │ [ '0x6e2d93d323edf1b3cc4672a909681b6a430cae64', '0x937efa7e3a77e20bbdbd7c0d32b6514f368c1010' ] │ 'AMM LP'                  │ 'https://app.strato.nexus' │                   │                                                  │                   │                  │                   │      │            │
└─────────┴─────────────────────────────────────────────────────┴──────────┴──────────┴───────────────────┴────────────────────┴────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────┴───────────────────────────┴────────────────────────────┴───────────────────┴──────────────────────────────────────────────────┴───────────────────┴──────────────────┴───────────────────┴──────┴────────────┘
This adapter contains some pools with <10k TVL, these pools won't be shown in DefiLlama

@michaelbtan michaelbtan changed the title Add STRATO (Mercata) yield adapter Add STRATO yield adapter Jul 16, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/adaptors/strato/index.js`:
- Around line 176-185: Update the APY calculation guard surrounding apyReward so
rewards are calculated only when periodStart is at or before now, periodFinish
is after now, and duration is positive. Preserve the existing reward calculation
for currently active periods and leave future scheduled periods at zero.
- Around line 145-150: Update the pool output’s tvlUsd calculation to use
available cash only, rather than totalSupplied (cash plus borrows). Keep
totalSupplyUsd based on totalSupplied and totalBorrowUsd based on totalBorrows,
leaving the remaining fields unchanged.
- Around line 131-147: Update the Strato rate calculation near totalBorrows and
borrowApr to derive the supply per-second rate from the borrow per-second
factor, utilization, and reserveFactor before calling rayPerSecondToApy. Use
that annualized result for apyBase, while preserving borrowApr for
apyBaseBorrow.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: d0dbf06c-fc54-41a3-a84d-338e45027ca8

📥 Commits

Reviewing files that changed from the base of the PR and between d828858 and ea8b05a.

📒 Files selected for processing (1)
  • src/adaptors/strato/index.js

Comment on lines +131 to +147
const totalSupplied = Number(supplied) / 1e18;
const totalBorrows = Number(borrows) / 1e18;
const utilization = totalBorrows / totalSupplied;

const reserveFactor = Number(cfg.reserveFactor ?? cfg[4]) / 1e4;
const ltv = Number(cfg.ltv ?? cfg[0]) / 1e4;
const borrowApr = rayPerSecondToApy(cfg.perSecondFactorRAY ?? cfg[5]); // percent

return [
{
pool: `${LENDING_POOL}-strato`.toLowerCase(),
chain: utils.formatChain(CHAIN),
project: PROJECT,
symbol: 'USDST',
tvlUsd: totalSupplied * usdstPrice,
apyBase: (borrowApr / 100) * utilization * (1 - reserveFactor) * 100,
apyBaseBorrow: borrowApr,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Compound the adjusted supply rate, not the borrow APY.

Line 146 applies utilization and reserve factor after annual compounding. Derive the supply per-second rate first, then annualize it; otherwise supply APY is overstated.

Proposed fix
-  const borrowApr = rayPerSecondToApy(cfg.perSecondFactorRAY ?? cfg[5]); // percent
+  const factor = BigInt(cfg.perSecondFactorRAY ?? cfg[5]);
+  const borrowRatePerSecond = Number(factor - RAY) / 1e27;
+  const borrowApy =
+    (Math.pow(1 + borrowRatePerSecond, SECONDS_PER_YEAR) - 1) * 100;
+  const supplyRatePerSecond =
+    borrowRatePerSecond * utilization * (1 - reserveFactor);
+  const supplyApy =
+    (Math.pow(1 + supplyRatePerSecond, SECONDS_PER_YEAR) - 1) * 100;
...
-      apyBase: (borrowApr / 100) * utilization * (1 - reserveFactor) * 100,
-      apyBaseBorrow: borrowApr,
+      apyBase: supplyApy,
+      apyBaseBorrow: borrowApy,
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
const totalSupplied = Number(supplied) / 1e18;
const totalBorrows = Number(borrows) / 1e18;
const utilization = totalBorrows / totalSupplied;
const reserveFactor = Number(cfg.reserveFactor ?? cfg[4]) / 1e4;
const ltv = Number(cfg.ltv ?? cfg[0]) / 1e4;
const borrowApr = rayPerSecondToApy(cfg.perSecondFactorRAY ?? cfg[5]); // percent
return [
{
pool: `${LENDING_POOL}-strato`.toLowerCase(),
chain: utils.formatChain(CHAIN),
project: PROJECT,
symbol: 'USDST',
tvlUsd: totalSupplied * usdstPrice,
apyBase: (borrowApr / 100) * utilization * (1 - reserveFactor) * 100,
apyBaseBorrow: borrowApr,
const totalSupplied = Number(supplied) / 1e18;
const totalBorrows = Number(borrows) / 1e18;
const utilization = totalBorrows / totalSupplied;
const reserveFactor = Number(cfg.reserveFactor ?? cfg[4]) / 1e4;
const ltv = Number(cfg.ltv ?? cfg[0]) / 1e4;
const factor = BigInt(cfg.perSecondFactorRAY ?? cfg[5]);
const borrowRatePerSecond = Number(factor - RAY) / 1e27;
const borrowApy =
(Math.pow(1 + borrowRatePerSecond, SECONDS_PER_YEAR) - 1) * 100;
const supplyRatePerSecond =
borrowRatePerSecond * utilization * (1 - reserveFactor);
const supplyApy =
(Math.pow(1 + supplyRatePerSecond, SECONDS_PER_YEAR) - 1) * 100;
return [
{
pool: `${LENDING_POOL}-strato`.toLowerCase(),
chain: utils.formatChain(CHAIN),
project: PROJECT,
symbol: 'USDST',
tvlUsd: totalSupplied * usdstPrice,
apyBase: supplyApy,
apyBaseBorrow: borrowApy,
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/adaptors/strato/index.js` around lines 131 - 147, Update the Strato rate
calculation near totalBorrows and borrowApr to derive the supply per-second rate
from the borrow per-second factor, utilization, and reserveFactor before calling
rayPerSecondToApy. Use that annualized result for apyBase, while preserving
borrowApr for apyBaseBorrow.

Comment on lines +145 to +150
tvlUsd: totalSupplied * usdstPrice,
apyBase: (borrowApr / 100) * utilization * (1 - reserveFactor) * 100,
apyBaseBorrow: borrowApr,
totalSupplyUsd: totalSupplied * usdstPrice,
totalBorrowUsd: totalBorrows * usdstPrice,
ltv,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Report available liquidity as lending TVL.

Line 145 uses cash + borrows, counting assets currently held by borrowers as protocol TVL. Use cash for tvlUsd; retain gross supply and debt in totalSupplyUsd and totalBorrowUsd. The downstream runner already uses totalSupplyUsd for lending-project lower-bound filtering.

Proposed fix
-      tvlUsd: totalSupplied * usdstPrice,
+      tvlUsd: (Number(cash) / 1e18) * usdstPrice,
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
tvlUsd: totalSupplied * usdstPrice,
apyBase: (borrowApr / 100) * utilization * (1 - reserveFactor) * 100,
apyBaseBorrow: borrowApr,
totalSupplyUsd: totalSupplied * usdstPrice,
totalBorrowUsd: totalBorrows * usdstPrice,
ltv,
tvlUsd: (Number(cash) / 1e18) * usdstPrice,
apyBase: (borrowApr / 100) * utilization * (1 - reserveFactor) * 100,
apyBaseBorrow: borrowApr,
totalSupplyUsd: totalSupplied * usdstPrice,
totalBorrowUsd: totalBorrows * usdstPrice,
ltv,
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/adaptors/strato/index.js` around lines 145 - 150, Update the pool
output’s tvlUsd calculation to use available cash only, rather than
totalSupplied (cash plus borrows). Keep totalSupplyUsd based on totalSupplied
and totalBorrowUsd based on totalBorrows, leaving the remaining fields
unchanged.

Comment on lines +176 to +185
const now = Math.floor(Date.now() / 1000);
const duration = Number(periodFinish) - Number(periodStart);

let apyReward = 0;
if (Number(periodFinish) > now && duration > 0) {
const annualReward =
(Number(BigInt(rewardAmount)) / 1e18) * (SECONDS_PER_YEAR / duration);
const stakedTokens = Number(totalStakeBI) / 1e18;
apyReward = (annualReward / stakedTokens) * 100;
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Do not advertise rewards before the period starts.

A future scheduled period passes the current condition and produces a non-zero APY. Require periodStart <= now.

-  if (Number(periodFinish) > now && duration > 0) {
+  if (
+    Number(periodStart) <= now &&
+    Number(periodFinish) > now &&
+    duration > 0
+  ) {
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
const now = Math.floor(Date.now() / 1000);
const duration = Number(periodFinish) - Number(periodStart);
let apyReward = 0;
if (Number(periodFinish) > now && duration > 0) {
const annualReward =
(Number(BigInt(rewardAmount)) / 1e18) * (SECONDS_PER_YEAR / duration);
const stakedTokens = Number(totalStakeBI) / 1e18;
apyReward = (annualReward / stakedTokens) * 100;
}
const now = Math.floor(Date.now() / 1000);
const duration = Number(periodFinish) - Number(periodStart);
let apyReward = 0;
if (
Number(periodStart) <= now &&
Number(periodFinish) > now &&
duration > 0
) {
const annualReward =
(Number(BigInt(rewardAmount)) / 1e18) * (SECONDS_PER_YEAR / duration);
const stakedTokens = Number(totalStakeBI) / 1e18;
apyReward = (annualReward / stakedTokens) * 100;
}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/adaptors/strato/index.js` around lines 176 - 185, Update the APY
calculation guard surrounding apyReward so rewards are calculated only when
periodStart is at or before now, periodFinish is after now, and duration is
positive. Preserve the existing reward calculation for currently active periods
and leave future scheduled periods at zero.

@github-actions

Copy link
Copy Markdown

The strato adapter exports pools:

Test Suites: 1 passed, 1 total
Tests: 63 passed, 63 total
Snapshots: 0 total
Time: 0.241 s
Ran all test suites.

Nb of pools: 9
 

Sample pools:
┌─────────┬─────────────────────────────────────────────────────┬──────────┬──────────┬───────────────────┬────────────────────┬───────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────┬───────────────────────────┬────────────────────────────┬───────────────────┬──────────────────────────────────────────────────┬───────────────────┬───────────────────┬──────────────────┬──────┬────────────┐
│ (index) │ pool                                                │ chain    │ project  │ symbol            │ tvlUsd             │ apyBase           │ underlyingTokens                                                                               │ poolMeta                  │ url                        │ apyReward         │ rewardTokens                                     │ apyBaseBorrow     │ totalSupplyUsd    │ totalBorrowUsd   │ ltv  │ borrowable │
├─────────┼─────────────────────────────────────────────────────┼──────────┼──────────┼───────────────────┼────────────────────┼───────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────┼───────────────────────────┼────────────────────────────┼───────────────────┼──────────────────────────────────────────────────┼───────────────────┼───────────────────┼──────────────────┼──────┼────────────┤
│ 0       │ '0x22550671fcad04a213697ac7ae4f4366e96446ed-strato' │ 'Strato' │ 'strato' │ 'USDST'           │ 1749028.192661126  │ 5.000000082842315 │ [ '0x937efa7e3a77e20bbdbd7c0d32b6514f368c1010' ]                                               │ 'saveUSDST savings vault' │ 'https://app.strato.nexus' │                   │                                                  │                   │                   │                  │      │            │
│ 1       │ '0xf30a022ce83bed7adeafc286c719388dcc3b3988-strato' │ 'Strato' │ 'strato' │ 'STRATO'          │ 474413.01615030994 │                   │ [ '0x2ca3e170e6714282da77815f7864b17f612f5f83' ]                                               │ 'STRATO staking'          │ 'https://app.strato.nexus' │ 9.935033186108203 │ [ '0x2ca3e170e6714282da77815f7864b17f612f5f83' ] │                   │                   │                  │      │            │
│ 2       │ '0x000000000000000000000000000000000000101b-strato' │ 'Strato' │ 'strato' │ 'GOLDST-USDST'    │ 457895.76268414716 │ 0                 │ [ '0xcdc93d30182125e05eec985b631c7c61b3f63ff0', '0x937efa7e3a77e20bbdbd7c0d32b6514f368c1010' ] │ 'AMM LP'                  │ 'https://app.strato.nexus' │                   │                                                  │                   │                   │                  │      │            │
│ 3       │ '0x0000000000000000000000000000000000001017-strato' │ 'Strato' │ 'strato' │ 'ETH-USDST'       │ 60284.33039734612  │ 0                 │ [ '0x93fb7295859b2d70199e0a4883b7c320cf874e6c', '0x937efa7e3a77e20bbdbd7c0d32b6514f368c1010' ] │ 'AMM LP'                  │ 'https://app.strato.nexus' │                   │                                                  │                   │                   │                  │      │            │
│ 4       │ '0x3d1dc151402858521bf9beaa8c72a68c9b4fc2fe-strato' │ 'Strato' │ 'strato' │ 'USDC-USDST'      │ 49494.07694519392  │ 0                 │ [ '0x6aeacaa19c68e53035bf495d15e0a328fc600ba8', '0x937efa7e3a77e20bbdbd7c0d32b6514f368c1010' ] │ 'AMM LP'                  │ 'https://app.strato.nexus' │                   │                                                  │                   │                   │                  │      │            │
│ 5       │ '0x000000000000000000000000000000000000101d-strato' │ 'Strato' │ 'strato' │ 'SILVST-USDST'    │ 18739.52741072853  │ 0                 │ [ '0x2c59ef92d08efde71fe1a1cb5b45f4f6d48fcc94', '0x937efa7e3a77e20bbdbd7c0d32b6514f368c1010' ] │ 'AMM LP'                  │ 'https://app.strato.nexus' │                   │                                                  │                   │                   │                  │      │            │
│ 6       │ '0x0000000000000000000000000000000000001005-strato' │ 'Strato' │ 'strato' │ 'USDST'           │ 4798.042406879692  │ 4.007072200421664 │ [ '0x937efa7e3a77e20bbdbd7c0d32b6514f368c1010' ]                                               │ 'lendUSDST lending'       │ 'https://app.strato.nexus' │                   │                                                  │ 5.000000082842315 │ 4798.042406879692 │ 4272.46711700109 │ 0.75 │ true       │
│ 7       │ '0x5888fbe6d6774c1d5788a7b631fc2a2fe88c44c6-strato' │ 'Strato' │ 'strato' │ 'SYRUPUSDC-USDST' │ 2230.5616592614515 │ 0                 │ [ '0xc6c3e9881665d53ae8c222e24ca7a8d069aa56ca', '0x937efa7e3a77e20bbdbd7c0d32b6514f368c1010' ] │ 'AMM LP'                  │ 'https://app.strato.nexus' │                   │                                                  │                   │                   │                  │      │            │
│ 8       │ '0xbab35f9fe024e2735edae7a9c0aba4db260a649c-strato' │ 'Strato' │ 'strato' │ 'SUSDS-USDST'     │ 2018.1749955950684 │ 0                 │ [ '0x6e2d93d323edf1b3cc4672a909681b6a430cae64', '0x937efa7e3a77e20bbdbd7c0d32b6514f368c1010' ] │ 'AMM LP'                  │ 'https://app.strato.nexus' │                   │                                                  │                   │                   │                  │      │            │
└─────────┴─────────────────────────────────────────────────────┴──────────┴──────────┴───────────────────┴────────────────────┴───────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────┴───────────────────────────┴────────────────────────────┴───────────────────┴──────────────────────────────────────────────────┴───────────────────┴───────────────────┴──────────────────┴──────┴────────────┘
This adapter contains some pools with <10k TVL, these pools won't be shown in DefiLlama

// unauthenticated JSON-RPC node that the DefiLlama TVL adapter already uses.
// @defillama/sdk resolves the RPC for chain `strato` from the STRATO_RPC env var.
const RPC_URL = 'https://noderpc.strato.nexus/rpc';
if (!process.env.STRATO_RPC) process.env.STRATO_RPC = RPC_URL;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this can be removed, strato is in the latest version of SDK

@0xkr3p 0xkr3p left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hi @michaelbtan, thanks for the PR. Pls resolve major code rabbit issues before we can proceed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants