Skip to content

Commit bc73733

Browse files
authored
Fix token change (#589)
* Fix max check of balance-input * Fix token onChange
1 parent c008f45 commit bc73733

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

packages/apps/src/components/balance-input.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ export function BalanceInput({
7171
if (token && !Number.isNaN(Number(input))) {
7272
parsed = parseValue(input, token.decimals);
7373
insufficientRef.current = balance !== undefined && balance < parsed.value ? true : false;
74-
exceededRef.current = max && max < parsed.value ? true : false;
74+
exceededRef.current = typeof max === "bigint" && max < parsed.value ? true : false;
7575
valid = !(insufficientRef.current || exceededRef.current);
7676
onChange({ valid, ...parsed });
7777
}
@@ -128,7 +128,7 @@ export function BalanceInput({
128128
if (token && token.decimals !== tokenRef.current?.decimals) {
129129
const parsed = parseValue(value.input, token.decimals);
130130
insufficientRef.current = balance !== undefined && balance < parsed.value ? true : false;
131-
exceededRef.current = max && max < parsed.value ? true : false;
131+
exceededRef.current = typeof max === "bigint" && max < parsed.value ? true : false;
132132
const valid = !(insufficientRef.current || exceededRef.current);
133133
onChange({ valid, ...parsed });
134134
}
@@ -141,7 +141,7 @@ export function BalanceInput({
141141
const decimals = token.decimals;
142142
const parsed = parseValue(formatUnits(max ?? 0n, decimals), decimals);
143143
insufficientRef.current = balance !== undefined && balance < parsed.value ? true : false;
144-
exceededRef.current = max && max < parsed.value ? true : false;
144+
exceededRef.current = typeof max === "bigint" && max < parsed.value ? true : false;
145145
const valid = !(insufficientRef.current || exceededRef.current);
146146
onChange({ valid, ...parsed });
147147
}

packages/apps/src/components/transfer.tsx

+10-2
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ export default function Transfer() {
148148
}, [address, bridgeInstance, updateSourceBalance]);
149149

150150
useEffect(() => {
151-
setBridgeCategory(bridgeOptions.at(0));
151+
setBridgeCategory((prevValue) => prevValue ?? bridgeOptions.at(0));
152152
}, [bridgeOptions, setBridgeCategory]);
153153

154154
useEffect(() => {
@@ -292,7 +292,15 @@ export default function Transfer() {
292292
tokenOptions={getAvailableSourceTokens(sourceChain, targetChain)}
293293
onBalanceRefresh={refreshBalance}
294294
onChange={setTransferAmount}
295-
onTokenChange={setSourceToken}
295+
onTokenChange={(_sourceToken) => {
296+
const _targetTokens = getAvailableTargetTokens(sourceChain, targetChain, _sourceToken);
297+
const _targetToken = _targetTokens.at(0);
298+
const _category = getAvailableBridges(sourceChain, targetChain, _sourceToken).at(0);
299+
setBridgeCategory(_category);
300+
setSourceToken(_sourceToken);
301+
setTargetToken(_targetToken);
302+
handleUrlParams({ _category, _sourceToken, _targetToken });
303+
}}
296304
/>
297305
</Label>
298306

0 commit comments

Comments
 (0)