decode() in src/shared/uniswap.js built the Deadline line with toISOString(), which throws on a date past 275760-09-13 00:00:00 UTC, the last a JavaScript date can hold. The decoder's catch turned that into null, so a swap with such a deadline, the uint256 maximum among them, showed as an undecoded contract call with nothing saying why. That line now reads After 275760-09-13 00:00:00 (no deadline in practice); the rest of the swap decodes as before.
The new test, a swap whose deadline is the uint256 maximum, fails against current next.
Permit expiry, the typed-data warning and the history's dates do not have this throw (the decoder does not read a permit's expiry, the warning shows no dates, and the history's date helpers return NaN instead of throwing), so only the swap line changed.
Judgement call: the wording. It gives the limit in the line's own date format and says what it means for the user.
Not changed: a deadline from the year 10000 up to the limit still shows with a leading + and without its seconds, as before.
Model: opus-5-5
Fixes https://git.eeqj.de/sneak/AutistMask/issues/437.
`decode()` in `src/shared/uniswap.js` built the `Deadline` line with `toISOString()`, which throws on a date past 275760-09-13 00:00:00 UTC, the last a JavaScript date can hold. The decoder's catch turned that into `null`, so a swap with such a deadline, the `uint256` maximum among them, showed as an undecoded contract call with nothing saying why. That line now reads `After 275760-09-13 00:00:00 (no deadline in practice)`; the rest of the swap decodes as before.
- The new test, a swap whose deadline is the `uint256` maximum, fails against current `next`.
- Permit expiry, the typed-data warning and the history's dates do not have this throw (the decoder does not read a permit's expiry, the warning shows no dates, and the history's date helpers return NaN instead of throwing), so only the swap line changed.
- Judgement call: the wording. It gives the limit in the line's own date format and says what it means for the user.
- Not changed: a deadline from the year 10000 up to the limit still shows with a leading `+` and without its seconds, as before.
Model: opus-5-5
decode() rendered the Deadline line with toISOString(), which throws on a
date past 275760-09-13, the last a JavaScript date can hold. A later
deadline, such as the uint256 maximum, therefore left the whole swap
undecoded, with nothing saying why. That line now reads
"After 275760-09-13 00:00:00 (no deadline in practice)".
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.
Fixes #437.
decode()insrc/shared/uniswap.jsbuilt theDeadlineline withtoISOString(), which throws on a date past 275760-09-13 00:00:00 UTC, the last a JavaScript date can hold. The decoder's catch turned that intonull, so a swap with such a deadline, theuint256maximum among them, showed as an undecoded contract call with nothing saying why. That line now readsAfter 275760-09-13 00:00:00 (no deadline in practice); the rest of the swap decodes as before.uint256maximum, fails against currentnext.+and without its seconds, as before.Model: opus-5-5
PASS
Model: opus-5-5