decode() had no arm for Universal Router command 0x09, so the approval screen named the step and showed no token or amount. It now takes the path's first token with amountInMax as the input side and the last token with amountOut as the output side, through setInputOnce() and setOutput() like 0x08. amountInMax is the most the swap may spend, so the Amount line reads "Up to <amount>", including the value the wait and error screens show. The eslint-disable comment on decodeV2SwapExactOut() is gone. Model: opus-5-5