fix select bridge

This commit is contained in:
2026-07-02 20:32:20 +03:00
parent 1f8b9c3674
commit 0837d9c431
9 changed files with 171 additions and 7052 deletions

View File

@@ -46,17 +46,23 @@ export function SwapForm() {
const isTrxNetwork = fromNetwork === 'TRX'
const { data: walletData } = useWalletBalance(fromNetwork as Chain)
const tokenOptions = walletData ? buildTokensFromBalance(walletData) : TOKENS_LIST
const { data: tokensList } = useTokensList()
const balanceTokenOptions = walletData ? buildTokensFromBalance(walletData) : TOKENS_LIST
// На EVM/SOL можно выбирать только монеты из каталога Relay (/api/tokens) — для
// остальных не резолвится адрес контракта и котировка вообще не запрашивается.
const tokenOptions = isTrxNetwork || !tokensList
? balanceTokenOptions
: balanceTokenOptions.filter(t => t.symbol === fromNetwork || tokensList.some(tl => tl.chain === fromNetwork && tl.symbol === t.symbol))
useEffect(() => {
if (tokenOptions.length === 0) return
setFromToken(t => tokenOptions.find(o => o.symbol === t.symbol) ?? tokenOptions[0])
setToToken(t => tokenOptions.find(o => o.symbol === t.symbol) ?? (tokenOptions[1] ?? tokenOptions[0]))
}, [walletData, fromNetwork])
}, [walletData, fromNetwork, tokensList])
const debouncedAmount = useDebounce(fromAmount, 500)
const { data: addresses } = useWalletAddresses()
const { data: tokensList } = useTokensList()
const parsedAmount = parseFloat(debouncedAmount)