fix: the swap decoder reads a V2 already-paid zero and a zero balance check as the router does (closes #415)
A V2 exact-in amountIn of zero is the router's ALREADY_PAID marker: an earlier step sent the tokens to the pair and the swap spends all of them. Amount showed 0.0000 for it; it now reads "Whatever an earlier step sent to the pair (V2 already paid)", in the style of the V4 open delta line. A BALANCE_CHECK_ERC20 passes whenever the balance is at least minBalance, so a zero one guarantees nothing. It now sets the output side only when that side holds no minimum at the point the check is reached; a nonzero one sets the output side as before. README's Display Consistency text and TODO.md are updated to match. Model: opus-5-5
This commit is contained in:
@@ -45,6 +45,16 @@ but the review is broader than any of them.
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- 2026-10-04: The swap decoder reads two router zeros the way the router does
|
||||
([#415](https://git.eeqj.de/sneak/AutistMask/issues/415)). A V2 exact-in
|
||||
`amountIn` of zero means an earlier step already sent the tokens to the pair;
|
||||
`Amount` showed `0.0000` for it and now reads
|
||||
`Whatever an earlier step sent to the pair (V2 already paid)`. A
|
||||
`BALANCE_CHECK_ERC20` with a zero `minBalance` guarantees nothing, yet it
|
||||
replaced the minimum an earlier swap step stated, so `Min. received` read
|
||||
`None (no minimum guaranteed)`; it now sets the output side only when that
|
||||
side holds no minimum at the point the check is reached. A nonzero
|
||||
`minBalance` still sets the output side.
|
||||
- 2026-10-04: The signature screen shows a personal message as the bytes that
|
||||
are signed ([#403](https://git.eeqj.de/sneak/AutistMask/issues/403)). It
|
||||
showed only the decoded text, with bidirectional and zero-width characters
|
||||
|
||||
Reference in New Issue
Block a user