Skip to content

Commit ddd6d1f

Browse files
committed
address feedback - phase 1
1 parent dcf2a23 commit ddd6d1f

File tree

6 files changed

+26
-30
lines changed

6 files changed

+26
-30
lines changed

packages/ui/src/components/common/MultiWalletDropdown.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ export const MultiWalletDropdown: FC<MultiWalletDropdownProps> = ({
6969
}
7070
return true
7171
})
72-
}, [wallets, chain])
72+
}, [wallets, chain, disableWalletFiltering])
7373

7474
const selectedWallet = useMemo(
7575
() =>

packages/ui/src/components/common/SlippageToleranceConfig.tsx

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import { EventNames } from '../../constants/events.js'
2626
import { useDebounceValue, useMediaQuery } from 'usehooks-ts'
2727
import useFallbackState from '../../hooks/useFallbackState.js'
2828
import { Modal } from './Modal.js'
29+
import { convertBpsToPercent } from '../../utils/numbers.js'
2930

3031
type SlippageToleranceConfigProps = {
3132
open?: boolean
@@ -40,18 +41,6 @@ type SlippageToleranceConfigProps = {
4041
showLabel?: boolean
4142
}
4243

43-
const convertBpsToPercent = (bps?: string) => {
44-
if (bps === undefined) return undefined
45-
const numeric = Number(bps)
46-
if (!Number.isFinite(numeric)) return undefined
47-
48-
const percent = numeric / 100
49-
if (!Number.isFinite(percent)) return undefined
50-
51-
const formatted = percent.toFixed(percent % 1 === 0 ? 0 : 2)
52-
return formatted.replace(/\.0+$/, '').replace(/\.00$/, '')
53-
}
54-
5544
type SlippageTabsProps = {
5645
mode: SlippageToleranceMode
5746
setMode: (mode: SlippageToleranceMode) => void

packages/ui/src/components/widgets/TokenWidget/widget/TokenWidgetRenderer.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
} from '../../../../hooks/index.js'
1515
import type { Address, WalletClient } from 'viem'
1616
import { formatUnits, parseUnits } from 'viem'
17-
import { normalizeTokenId } from '../../../../utils/tokens.js'
17+
import { normalizeTokenAddress } from '../../../../utils/tokens.js'
1818
import { useAccount, useWalletClient } from 'wagmi'
1919
import { useCapabilities } from 'wagmi/experimental'
2020
import type { Token } from '../../../../types/index.js'
@@ -620,10 +620,10 @@ const TokenWidgetRenderer: FC<TokenWidgetRendererProps> = ({
620620
}, [sponsoredTokens, relayClient?.chains])
621621

622622
const normalizedToToken = toToken && toToken.address
623-
? normalizeTokenId(toToken.chainId, toToken.address, toChain?.vmType)
623+
? normalizeTokenAddress(toToken.chainId, toToken.address, toChain?.vmType)
624624
: undefined
625625
const normalizedFromToken = fromToken && fromToken.address
626-
? normalizeTokenId(fromToken.chainId, fromToken.address, fromChain?.vmType)
626+
? normalizeTokenAddress(fromToken.chainId, fromToken.address, fromChain?.vmType)
627627
: undefined
628628

629629
const isGasSponsorshipEnabled =

packages/ui/src/hooks/useMultiWalletBalances.ts

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,7 @@ import useDuneBalances, {
33
type BalanceMap,
44
type DuneBalanceResponse
55
} from './useDuneBalances.js'
6-
import {
7-
evmDeadAddress,
8-
solDeadAddress,
9-
bitcoinDeadAddress
10-
} from '@relayprotocol/relay-sdk'
6+
import { isDeadAddress } from '@relayprotocol/relay-sdk'
117

128
type LinkedWallet = {
139
address: string
@@ -28,9 +24,7 @@ export const useMultiWalletBalances = (
2824

2925
if (
3026
primaryAddress &&
31-
primaryAddress !== evmDeadAddress &&
32-
primaryAddress !== solDeadAddress &&
33-
primaryAddress !== bitcoinDeadAddress &&
27+
!isDeadAddress(primaryAddress) &&
3428
isValidAddress
3529
) {
3630
addresses.add(primaryAddress)
@@ -40,9 +34,7 @@ export const useMultiWalletBalances = (
4034
linkedWallets.forEach((wallet) => {
4135
if (
4236
wallet.address &&
43-
wallet.address !== evmDeadAddress &&
44-
wallet.address !== solDeadAddress &&
45-
wallet.address !== bitcoinDeadAddress
37+
!isDeadAddress(wallet.address)
4638
) {
4739
addresses.add(wallet.address)
4840
}

packages/ui/src/utils/numbers.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,8 +330,22 @@ function formatSignificantDigits(
330330
return isNegative ? '-' + result : result
331331
}
332332

333+
/**
334+
* Converts basis points to percentage string
335+
* @param bps Basis points as string (e.g. "250" for 2.5%)
336+
* @returns Formatted percentage string or undefined
337+
*/
338+
function convertBpsToPercent(bps?: string) {
339+
if (bps === undefined) return undefined
340+
const numeric = Number(bps)
341+
if (!Number.isFinite(numeric)) return undefined
333342

343+
const percent = numeric / 100
344+
if (!Number.isFinite(percent)) return undefined
334345

346+
const formatted = percent.toFixed(percent % 1 === 0 ? 0 : 2)
347+
return formatted.replace(/\.0+$/, '').replace(/\.00$/, '')
348+
}
335349

336350
export {
337351
formatDollar,
@@ -340,5 +354,6 @@ export {
340354
formatFixedLength,
341355
formatNumber,
342356
formatSignificantDigits,
343-
truncateBalance
357+
truncateBalance,
358+
convertBpsToPercent
344359
}

packages/ui/src/utils/tokens.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ export const tokensAreEqual = (a?: Token, b?: Token): boolean => {
6868
}
6969

7070
/**
71-
* Normalizes token identifier for cross-chain consistency
71+
* Normalizes token address for cross-chain consistency
7272
*/
73-
export const normalizeTokenId = (chainId: number, address: string, vmType?: string): string => {
73+
export const normalizeTokenAddress = (chainId: number, address: string, vmType?: string): string => {
7474
const normalizedAddress = vmType === 'evm' ? address.toLowerCase() : address
7575
return `${chainId}:${normalizedAddress}`
7676
}

0 commit comments

Comments
 (0)