-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
[Bug]: ERC20 swap attempt does not succeed on Ledger account when token spending approval is required #8667
Description
Describe the bug
Attempted to swap an ERC20 and the approval tx was presented to the Ledger device, and was approved on device and then broadcast to mainnet as expected. However, the actual swap transaction was never presented to the Ledger device. This was observed both with the default Ethereum app v1.10.3 setting of blind signing off, as well as when blind signing was enabled.
- Initial attempt to swap Dai to Shib approval but the swap was never presented to Ledger.
- Then I came back and attempted to swap Dai for Shib a second time relying on that earlier approval, and was successful after enabling blind signing on the Ledger Ethereum app.
- Then I reproduced this dangling approval without the swap when I attempted to swap GRT to USDC.
Expected behavior
User attempting an ERC20 swap should have two approvals on the Ledger device. The first for the spending approval and the second for the actual swap.
Actual results: Approval is presented for signing, but swap itself is lost and never presented on Ledger
Screenshots/Recordings
Recording: https://recordit.co/Vg7MLtediW
Steps to reproduce
- Setup MMM with an existing SRP
- Add Ledger address to MMM
- check your address and make sure you do not have any preexisting token spending approvals for the MM swaps router
- Use etherscan to revoke any prior approvals for the token you are swapping from, if needed
- Attempt mainnet swap of an ERC20 that requires a token spending approval
- Note that approval tx is sent to Ledger, but the swap itself never appears at the Ledger device or in the MMM activity for the token being swapped out
Error messages or log output
No response
Version
Build type
None
Device
Iphone Xs running iOS 17.3.1
Operating system
iOS
Additional context
This occurs regardless of whether blind signing is enabled or disabled in the Ledger Ethereum app.
Tested with Ledger Nano X hardware v2.0, firmware 2.2.3, micro controller 2.30, bootloader 1.16
LNX Ethereum version 1.10.3
Severity
No response