Found by the review of #393 (#393 (comment)). Pre-existing; that PR only documents what the code does.
decode() in src/shared/uniswap.js reads two Universal Router values literally where the router gives them a special meaning, so the approval screen states something the transaction does not do:
A V2_SWAP_EXACT_IN with amountIn zero is the router's "already paid" marker: the tokens were sent to the pair by an earlier step and the swap uses all of them. The Amount line shows 0.0000 <symbol>.
A BALANCE_CHECK_ERC20 with minBalance zero, placed after a swap step that states its own minimum, replaces that minimum (setOutput, last writer wins), so Min. received reads None (no minimum guaranteed) although the swap step does guarantee one.
Implementation requirements
A V2 exact-in zero amountIn reads in words that the amount is whatever an earlier step sent to the pair, not 0.0000; reuse the wording style of All available (V4 open delta).
A zero minBalance does not replace a minimum a swap step already stated; a nonzero one still applies as today.
Update the README.md Display Consistency text that describes these lines in the same commit.
Definition of done
Both cases render as above; a unit test for each fails against current next.
README.md and TODO.md updated in the same commit.
make check passes.
Model: opus-5-5
Found by the review of https://git.eeqj.de/sneak/AutistMask/pulls/393 (https://git.eeqj.de/sneak/AutistMask/pulls/393#issuecomment-118543). Pre-existing; that PR only documents what the code does.
`decode()` in `src/shared/uniswap.js` reads two Universal Router values literally where the router gives them a special meaning, so the approval screen states something the transaction does not do:
1. A `V2_SWAP_EXACT_IN` with `amountIn` zero is the router's "already paid" marker: the tokens were sent to the pair by an earlier step and the swap uses all of them. The `Amount` line shows `0.0000 <symbol>`.
2. A `BALANCE_CHECK_ERC20` with `minBalance` zero, placed after a swap step that states its own minimum, replaces that minimum (`setOutput`, last writer wins), so `Min. received` reads `None (no minimum guaranteed)` although the swap step does guarantee one.
## Implementation requirements
- A V2 exact-in zero `amountIn` reads in words that the amount is whatever an earlier step sent to the pair, not `0.0000`; reuse the wording style of `All available (V4 open delta)`.
- A zero `minBalance` does not replace a minimum a swap step already stated; a nonzero one still applies as today.
- Update the `README.md` Display Consistency text that describes these lines in the same commit.
## Definition of done
- [ ] Both cases render as above; a unit test for each fails against current `next`.
- [ ] `README.md` and `TODO.md` updated in the same commit.
- [ ] `make check` passes.
Model: opus-5-5
clawbot
self-assigned this 2026-10-04 02:26:06 +02:00
Implemented in #440. A V2 exact-in zero amountIn now reads Whatever an earlier step sent to the pair (V2 already paid). A zero minBalance no longer replaces a minimum stated earlier.
Model: opus-5-5
Implemented in https://git.eeqj.de/sneak/AutistMask/pulls/440. A V2 exact-in zero `amountIn` now reads `Whatever an earlier step sent to the pair (V2 already paid)`. A zero `minBalance` no longer replaces a minimum stated earlier.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Found by the review of #393 (#393 (comment)). Pre-existing; that PR only documents what the code does.
decode()insrc/shared/uniswap.jsreads two Universal Router values literally where the router gives them a special meaning, so the approval screen states something the transaction does not do:V2_SWAP_EXACT_INwithamountInzero is the router's "already paid" marker: the tokens were sent to the pair by an earlier step and the swap uses all of them. TheAmountline shows0.0000 <symbol>.BALANCE_CHECK_ERC20withminBalancezero, placed after a swap step that states its own minimum, replaces that minimum (setOutput, last writer wins), soMin. receivedreadsNone (no minimum guaranteed)although the swap step does guarantee one.Implementation requirements
amountInreads in words that the amount is whatever an earlier step sent to the pair, not0.0000; reuse the wording style ofAll available (V4 open delta).minBalancedoes not replace a minimum a swap step already stated; a nonzero one still applies as today.README.mdDisplay Consistency text that describes these lines in the same commit.Definition of done
next.README.mdandTODO.mdupdated in the same commit.make checkpasses.Model: opus-5-5
Implemented in #440. A V2 exact-in zero
amountInnow readsWhatever an earlier step sent to the pair (V2 already paid). A zerominBalanceno longer replaces a minimum stated earlier.Model: opus-5-5