Skip to content

Commit af297fb

Browse files
authored
Merge pull request #1732 from curvefi/feat/search-by-any-address
feat: allow searching for markets by either amm or vault address
2 parents a4d462e + 3b96fe4 commit af297fb

File tree

5 files changed

+18
-12
lines changed

5 files changed

+18
-12
lines changed

apps/main/src/llamalend/features/market-list/LlamaMarketExpandedPanel.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ export const LlamaMarketExpandedPanel: ExpandedPanel<LlamaMarket> = ({ row: { or
6464
const { data: earnings, error: earningsError } = useUserMarketStats(market, LlamaMarketColumnId.UserEarnings)
6565
const { data: deposited, error: depositedError } = useUserMarketStats(market, LlamaMarketColumnId.UserDeposited)
6666
const {
67-
address,
6867
controllerAddress,
68+
favoriteKey,
6969
assets,
7070
leverage,
7171
liquidityUsd,
@@ -99,7 +99,7 @@ export const LlamaMarketExpandedPanel: ExpandedPanel<LlamaMarket> = ({ row: { or
9999
confirmationText={t`Market address copied`}
100100
data-testid={`copy-market-address-${controllerAddress}`}
101101
/>
102-
<FavoriteMarketButton address={address} />
102+
<FavoriteMarketButton address={favoriteKey} />
103103
</Stack>
104104
</Stack>
105105
}

apps/main/src/llamalend/features/market-list/cells/MarketTitleCell/MarketBadges.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ const poolTypeTooltips: Record<LlamaMarketType, () => string> = {
2525

2626
/** Displays badges for a pool, such as the chain icon and the pool type. */
2727
export const MarketBadges = ({ market, isMobile }: { market: LlamaMarket; isMobile: boolean }) => {
28-
const { address, type, leverage, deprecatedMessage } = market
28+
const { favoriteKey, type, leverage, deprecatedMessage } = market
2929
const isSmall = useMediaQuery('(max-width:1250px)')
3030
const { isCollateralEroded } = useUserMarketStats(market)?.data ?? {}
3131
return (
@@ -68,7 +68,7 @@ export const MarketBadges = ({ market, isMobile }: { market: LlamaMarket; isMobi
6868
</Tooltip>
6969
)}
7070

71-
<FavoriteMarketButton address={address} desktopOnly />
71+
<FavoriteMarketButton address={favoriteKey} desktopOnly />
7272
</Stack>
7373
)
7474
}

apps/main/src/llamalend/features/market-list/columns.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,8 @@ export const LLAMA_MARKET_COLUMNS = [
7878
cell: MarketTitleCell,
7979
filterFn: filterByText(
8080
'controllerAddress',
81-
'address',
81+
'ammAddress',
82+
'vaultAddress',
8283
'assets.borrowed.address',
8384
'assets.borrowed.symbol',
8485
'assets.collateral.address',

apps/main/src/llamalend/queries/market-list/llama-market-stats.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ const earningsColumns = [
2929
* @returns The stats data and an error if any
3030
*/
3131
export function useUserMarketStats(market: LlamaMarket, column?: LlamaMarketColumnId) {
32-
const { type, userHasPositions, address: marketAddress, controllerAddress, chain } = market
32+
const { type, userHasPositions, controllerAddress, chain } = market
3333
const { address: userAddress } = useAccount()
3434
const { data: collateralUsdRate, isLoading: collateralUsdRateLoading } = useTokenUsdPrice({
3535
blockchainId: market.chain,
@@ -47,8 +47,6 @@ export function useUserMarketStats(market: LlamaMarket, column?: LlamaMarketColu
4747
const enableMintStats = enableStats && type === LlamaMarketType.Mint
4848

4949
const params = { userAddress, contractAddress: controllerAddress, blockchainId: chain }
50-
// todo: api will be updated to use controller address for earnings too
51-
const earningsParams = { ...params, contractAddress: marketAddress }
5250

5351
const {
5452
data: lendData,
@@ -60,7 +58,7 @@ export function useUserMarketStats(market: LlamaMarket, column?: LlamaMarketColu
6058
data: earnData,
6159
error: earnError,
6260
isLoading: loadingEarn,
63-
} = useUserLendingVaultEarnings(earningsParams, enableEarnings)
61+
} = useUserLendingVaultEarnings(params, enableEarnings)
6462

6563
const { data: mintData, error: mintError, isLoading: loadingMint } = useUserMintMarketStats(params, enableMintStats)
6664

apps/main/src/llamalend/queries/market-list/llama-markets.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,9 @@ export type AssetDetails = {
3939

4040
export type LlamaMarket = {
4141
chain: Chain
42-
address: Address
42+
ammAddress: Address
4343
controllerAddress: Address
44+
vaultAddress: Address | null
4445
assets: Assets
4546
maxLtv: number
4647
utilizationPercent: number
@@ -68,6 +69,7 @@ export type LlamaMarket = {
6869
deprecatedMessage: string | null
6970
userHasPositions: Record<MarketRateType, boolean> | null // null means no positions in either market and makes easy to filter
7071
createdAt: number
72+
favoriteKey: Address // this differs per market type; for lend markets the vault address, for mint markets the amm address
7173
}
7274

7375
export type LlamaMarketsResult = {
@@ -151,6 +153,7 @@ const convertLendingVault = (
151153
totalDebt,
152154
totalDebtUsd,
153155
vault,
156+
llamma,
154157
collateralToken,
155158
borrowedToken,
156159
borrowedBalanceUsd,
@@ -174,8 +177,9 @@ const convertLendingVault = (
174177
const totalExtraRewardApr = (extraRewardApr ?? []).reduce((acc, x) => acc + x.rate, 0)
175178
return {
176179
chain,
177-
address: vault,
178180
controllerAddress: controller,
181+
ammAddress: llamma,
182+
vaultAddress: vault,
179183
assets: {
180184
borrowed: {
181185
...borrowedToken,
@@ -239,6 +243,7 @@ const convertLendingVault = (
239243
}
240244
: null,
241245
createdAt: new Date(createdAt).getTime(),
246+
favoriteKey: vault,
242247
}
243248
}
244249

@@ -274,8 +279,9 @@ const convertMintMarket = (
274279
const name = collateralIndex > 1 ? `${collateralSymbol}${collateralIndex}` : collateralSymbol
275280
return {
276281
chain,
277-
address: llamma,
278282
controllerAddress: address,
283+
ammAddress: llamma,
284+
vaultAddress: null, // mint markets dont have these
279285
assets: {
280286
borrowed: {
281287
symbol: stablecoinToken.symbol,
@@ -323,6 +329,7 @@ const convertMintMarket = (
323329
leverage,
324330
userHasPositions: hasBorrow ? { [MarketRateType.Borrow]: hasBorrow, [MarketRateType.Supply]: false } : null,
325331
createdAt: new Date(createdAt).getTime(),
332+
favoriteKey: llamma,
326333
}
327334
}
328335

0 commit comments

Comments
 (0)