Skip to content

Commit e29462f

Browse files
Merge pull request #1102 from ionicprotocol/ui/ion-bribes
Refactor MarketSelector component to improve code clarity and remove …
2 parents b9f52b5 + d593732 commit e29462f

1 file changed

Lines changed: 0 additions & 73 deletions

File tree

packages/ui/components/veion/MarketSelector.tsx

Lines changed: 0 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,9 @@ const MarketSelector = ({ isAcknowledged }: MarketSelectorProps) => {
5757
const { switchChain, isPending: isSwitchingNetwork } = useSwitchChain();
5858
const isWrongNetwork = chain?.id !== chainId;
5959

60-
// Get market data
6160
const { marketData: rawMarketData, isLoading: isMarketDataLoading } =
6261
useMarketData(poolId, currentChain);
6362

64-
// State variables
6563
const [selectedMarket, setSelectedMarket] = useState<string>('');
6664
const [selectedSide, setSelectedSide] = useState<'' | 'borrow' | 'supply'>(
6765
''
@@ -70,19 +68,16 @@ const MarketSelector = ({ isAcknowledged }: MarketSelectorProps) => {
7068
const [incentiveAmount, setIncentiveAmount] = useState<string>('');
7169
const [maxDepositKey, setMaxDepositKey] = useState<number>(0);
7270

73-
// Extract all market addresses from raw market data
7471
const marketAddresses = useMemo(() => {
7572
if (!rawMarketData || !rawMarketData.length) return [];
7673
return rawMarketData.map((market) => market.cTokenAddress);
7774
}, [rawMarketData]);
7875

79-
// Get votes data for all markets
8076
const { getMarketVotes, isLoading: isVotesLoading } = useMarketVotes(
8177
chainId,
8278
marketAddresses
8379
);
8480

85-
// Define default token addresses
8681
const defaultTokenAddresses = useMemo(
8782
() => ({
8883
USDC:
@@ -101,7 +96,6 @@ const MarketSelector = ({ isAcknowledged }: MarketSelectorProps) => {
10196
[chainId]
10297
);
10398

104-
// Fetch balances for default tokens
10599
const { data: usdcBalance } = useBalance({
106100
address,
107101
token: defaultTokenAddresses.USDC as `0x${string}`,
@@ -123,24 +117,6 @@ const MarketSelector = ({ isAcknowledged }: MarketSelectorProps) => {
123117
query: { enabled: !!address }
124118
});
125119

126-
// Debug ION balance fetching
127-
useEffect(() => {
128-
console.log('=== ION BALANCE DEBUG ===');
129-
console.log('Chain ID:', chainId);
130-
console.log('ION Address:', defaultTokenAddresses.ION);
131-
console.log('User Address:', address);
132-
console.log('ION Balance Data:', ionBalance);
133-
console.log('ION Balance Error:', ionBalanceError);
134-
console.log('=== END ION DEBUG ===');
135-
}, [
136-
chainId,
137-
defaultTokenAddresses.ION,
138-
address,
139-
ionBalance,
140-
ionBalanceError
141-
]);
142-
143-
// Default reward tokens that are always available
144120
const defaultRewardTokens: RewardTokenInfo[] = useMemo(
145121
() => [
146122
{
@@ -180,7 +156,6 @@ const MarketSelector = ({ isAcknowledged }: MarketSelectorProps) => {
180156
[defaultTokenAddresses, usdcBalance, wethBalance, ionBalance]
181157
);
182158

183-
// Update the useMarketIncentives hook usage to include getMarketIncentivesUsd
184159
const {
185160
getMarketIncentives,
186161
getMarketIncentivesUsd,
@@ -195,37 +170,19 @@ const MarketSelector = ({ isAcknowledged }: MarketSelectorProps) => {
195170
selectedMarket
196171
);
197172

198-
// Always ensure default tokens are available, supplement with hook tokens
199173
const rewardTokensInfo = useMemo(() => {
200-
// Always start with our default tokens
201174
let finalTokens = [...defaultRewardTokens];
202175

203-
// Debug logging
204-
console.log('=== TOKEN DEBUG ===');
205-
console.log('Default tokens count:', defaultRewardTokens.length);
206-
console.log(
207-
'Default tokens:',
208-
defaultRewardTokens.map((t) => `${t.symbol} (${t.balance})`)
209-
);
210-
console.log('Hook tokens count:', hookRewardTokens.length);
211-
console.log(
212-
'Hook tokens:',
213-
hookRewardTokens.map((t) => `${t.symbol} (${t.balance})`)
214-
);
215-
216-
// Only merge if hook has tokens, otherwise stick with defaults
217176
if (hookRewardTokens.length > 0) {
218177
const combinedTokens = [...defaultRewardTokens];
219178

220-
// Add additional tokens from the hook (e.g., EUSD)
221179
hookRewardTokens.forEach((hookToken) => {
222180
const existingIndex = combinedTokens.findIndex(
223181
(token) =>
224182
token.address.toLowerCase() === hookToken.address.toLowerCase()
225183
);
226184

227185
if (existingIndex >= 0) {
228-
// Update existing token with hook balance data, but preserve our token metadata
229186
combinedTokens[existingIndex] = {
230187
...combinedTokens[existingIndex],
231188
balance:
@@ -234,25 +191,16 @@ const MarketSelector = ({ isAcknowledged }: MarketSelectorProps) => {
234191
: combinedTokens[existingIndex].balance
235192
};
236193
} else {
237-
// Add new token from hook (like EUSD)
238194
combinedTokens.push(hookToken);
239195
}
240196
});
241197

242198
finalTokens = combinedTokens;
243199
}
244200

245-
console.log('Final tokens count:', finalTokens.length);
246-
console.log(
247-
'Final tokens:',
248-
finalTokens.map((t) => `${t.symbol} (${t.balance})`)
249-
);
250-
console.log('=== END DEBUG ===');
251-
252201
return finalTokens;
253202
}, [defaultRewardTokens, hookRewardTokens]);
254203

255-
// Incentive submission hook
256204
const {
257205
submitIncentive,
258206
isApproving,
@@ -261,20 +209,17 @@ const MarketSelector = ({ isAcknowledged }: MarketSelectorProps) => {
261209
error: submissionError
262210
} = useIncentiveSubmission();
263211

264-
// Transform raw market data to include votes, incentives and USD values
265212
const marketData = useMemo(() => {
266213
if (!rawMarketData) return [];
267214

268215
return rawMarketData.map((market) => {
269216
const marketAddress = market.cTokenAddress;
270217

271-
// Get votes and incentives data
272218
const supplyVotes = getMarketVotes(marketAddress, 'supply');
273219
const borrowVotes = getMarketVotes(marketAddress, 'borrow');
274220
const supplyIncentives = getMarketIncentives(marketAddress, 'supply');
275221
const borrowIncentives = getMarketIncentives(marketAddress, 'borrow');
276222

277-
// Get incentives USD values
278223
const supplyIncentivesUsd = getMarketIncentivesUsd(
279224
marketAddress,
280225
'supply'
@@ -321,7 +266,6 @@ const MarketSelector = ({ isAcknowledged }: MarketSelectorProps) => {
321266
getMarketIncentivesUsd
322267
]);
323268

324-
// Market options for dropdown
325269
const marketOptions = useMemo(() => {
326270
if (!marketData) return [];
327271
return marketData.map((market) => ({
@@ -332,45 +276,37 @@ const MarketSelector = ({ isAcknowledged }: MarketSelectorProps) => {
332276
}));
333277
}, [marketData]);
334278

335-
// Selected market data
336279
const selectedMarketData = useMemo(() => {
337280
return marketData?.find(
338281
(market) => market.cTokenAddress === selectedMarket
339282
);
340283
}, [marketData, selectedMarket]);
341284

342-
// Handle token selection change
343285
const handleTokenChange = (token: string) => {
344286
const tokenInfo = rewardTokensInfo.find((t) => t.symbol === token);
345287
if (tokenInfo) {
346288
setSelectedToken(tokenInfo);
347289
}
348290
};
349291

350-
// Update the side selection handler
351292
const handleSideChange = (value: string) => {
352293
const newSide = value as 'borrow' | 'supply';
353294
setSelectedSide(newSide);
354-
// Reset token when side changes
355295
setSelectedToken(undefined);
356296
setIncentiveAmount('');
357297
};
358298

359-
// Update the market selection handler
360299
const handleMarketChange = (value: string) => {
361300
setSelectedMarket(value);
362-
// Reset side, token, and amount when market changes
363301
setSelectedSide('');
364302
setSelectedToken(undefined);
365303
setIncentiveAmount('');
366304
};
367305

368-
// Handle incentive amount input
369306
const handleInput = (val: string) => {
370307
setIncentiveAmount(val);
371308
};
372309

373-
// Handle form submission
374310
const { data: tokenDecimals } = useReadContract({
375311
address: selectedToken?.address as `0x${string}`,
376312
abi: erc20Abi,
@@ -423,7 +359,6 @@ const MarketSelector = ({ isAcknowledged }: MarketSelectorProps) => {
423359
return;
424360
}
425361

426-
// Get the bribe address for the selected market and side
427362
const bribeAddress = getBribeAddress(
428363
selectedMarket,
429364
selectedSide
@@ -438,13 +373,11 @@ const MarketSelector = ({ isAcknowledged }: MarketSelectorProps) => {
438373
return;
439374
}
440375

441-
// Start the process
442376
toast({
443377
title: 'Processing',
444378
description: 'Starting incentive submission process...'
445379
});
446380

447-
// Send the incentive - network switching will happen first if needed
448381
const result = await submitIncentive({
449382
bribeAddress,
450383
tokenAddress: selectedToken.address as `0x${string}`,
@@ -466,7 +399,6 @@ const MarketSelector = ({ isAcknowledged }: MarketSelectorProps) => {
466399
variant: 'destructive'
467400
});
468401

469-
// If network switching failed, show additional guidance
470402
if (result.error?.includes('network')) {
471403
toast({
472404
title: 'Network Error',
@@ -490,7 +422,6 @@ const MarketSelector = ({ isAcknowledged }: MarketSelectorProps) => {
490422
}
491423
}, [rewardTokensInfo, selectedToken]);
492424

493-
// Custom formatter for USD values
494425
const formatUsd = (value: number) => {
495426
if (!value || value === 0) return '$0.00';
496427
if (value < 0.01) return '<$0.01';
@@ -642,8 +573,6 @@ const MarketSelector = ({ isAcknowledged }: MarketSelectorProps) => {
642573

643574
{selectedMarket && selectedMarketData ? (
644575
<div className="space-y-4">
645-
{/* Market Balances table remains the same... */}
646-
647576
<div className="bg-black/30 rounded-md p-3 space-y-2">
648577
<h3 className="text-sm font-medium text-white/80 flex items-center gap-2">
649578
<LineChart
@@ -691,7 +620,6 @@ const MarketSelector = ({ isAcknowledged }: MarketSelectorProps) => {
691620
})}
692621
</span>
693622
</td>
694-
{/* Updated incentives cell with USD value */}
695623
<td className="bg-black/20 p-2 border-t border-white/5">
696624
<div className="flex flex-col">
697625
<span className="text-purple-400 font-medium">
@@ -730,7 +658,6 @@ const MarketSelector = ({ isAcknowledged }: MarketSelectorProps) => {
730658
})}
731659
</span>
732660
</td>
733-
{/* Updated incentives cell with USD value */}
734661
<td className="bg-black/20 p-2 border-t border-white/5">
735662
<div className="flex flex-col">
736663
<span className="text-purple-400 font-medium">

0 commit comments

Comments
 (0)