Skip to content

Commit 94792b7

Browse files
Hiksangclaude
andcommitted
Stage 1: Add gauge rewardRate/totalSupply/rewardToken to LP discover
- Extend GaugedPool with rewardRate, totalStaked, rewardToken, token addresses - Batch query gauge metrics via multicall in solidly_gauge discover - Phase 2 fallback: try rewardData(token) for multi-token gauges (Ramses xRAM) - Pass gauge metrics through to lp discover output - Results: NEST 87.7K/day active, Ramses xRAM ~0 (inactive), Hybra/KittenSwap separate Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 721e09a commit 94792b7

15 files changed

Lines changed: 446 additions & 7 deletions

File tree

ts/packages/defi-cli/dist/index.js

Lines changed: 82 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ts/packages/defi-cli/dist/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ts/packages/defi-cli/dist/main.js

Lines changed: 82 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ts/packages/defi-cli/dist/main.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ts/packages/defi-cli/dist/mcp-server.js

Lines changed: 78 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ts/packages/defi-cli/dist/mcp-server.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ts/packages/defi-cli/src/commands/lp.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ export function registerLP(parent: Command, getOpts: () => OutputMode, makeExecu
7575
maxBinId?: number;
7676
totalMoePerDay?: number;
7777
moePriceUsd?: number;
78+
rewardRate?: string;
79+
totalStaked?: string;
80+
rewardToken?: string;
7881
};
7982

8083
const results: DiscoveredPool[] = [];
@@ -96,6 +99,9 @@ export function registerLP(parent: Command, getOpts: () => OutputMode, makeExecu
9699
pair: `${p.token0}/${p.token1}`,
97100
type: "EMISSION",
98101
source: "gauge",
102+
rewardRate: p.rewardRate ? p.rewardRate.toString() : undefined,
103+
totalStaked: p.totalStaked ? p.totalStaked.toString() : undefined,
104+
rewardToken: p.rewardToken,
99105
});
100106
}
101107
}

ts/packages/defi-core/dist/index.d.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,9 +244,21 @@ interface GaugedPool {
244244
gauge: Address;
245245
token0: string;
246246
token1: string;
247+
token0Addr?: Address;
248+
token1Addr?: Address;
247249
type: "V2" | "CL";
248250
tickSpacing?: number;
249251
stable?: boolean;
252+
/** Reward rate in wei per second (from gauge.rewardRate or rewardData) */
253+
rewardRate?: bigint;
254+
/** Total LP staked in gauge (wei) */
255+
totalStaked?: bigint;
256+
/** Reward token address */
257+
rewardToken?: Address;
258+
/** Calculated emission APR (%) — set by caller if prices available */
259+
aprPercent?: number;
260+
/** Pool TVL in USD — set by caller if prices available */
261+
poolTvlUsd?: number;
250262
}
251263
interface RewardInfo {
252264
token: Address;

ts/packages/defi-core/dist/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)