harden: the input side has the same null-means-ETH collapse — an undetermined inputToken is asserted as "ETH (native)" #357
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found while resolving #353. The output side is fixed by #356; this is its exact twin on the input side, left out of that unit's scope.
src/shared/uniswap.js:478-480—tokenInfo(null)for a nullinputTokenyieldsToken In: ETH (native).The determination made for the output side applies unchanged, and is cited on #353: in the V4 encoding
Currencyis a user-defined value type overaddress, so native ETH arrives as the truthy string0x0000000000000000000000000000000000000000, never as null.WRAP_ETHalready sets that explicit zero address. So a nullinputTokenlikewise means undetermined, never native ETH.Same class as #340 and #306: the approval screen asserting a fact it has not established — and as on the output side, it names the wrong asset rather than merely mis-scaling it.
Definition of done
inputTokenis stated as undetermined, using the refusal vocabulary established by #340 — never collapsed to ETH.WRAP_ETH) still renders as ETH. Pin it with a test so the interpretation cannot silently change.make checkgreen.clawbot referenced this issue2026-08-23 20:25:09 +02:00