New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DDW-491] Verify HW wallet receiving address - Ledger #2282
[DDW-491] Verify HW wallet receiving address - Ledger #2282
Conversation
@ManusMcCole can you please test this one? 🙏 |
@tomislavhoracek The first issue still reproduces on 17817 (check screenshot) but I think this is related to DDW-670, so not sure if that would be fixed on another task. Regarding this, is there any confirmation to implement it on this PR?
|
@gabriela-ponce Fix is merged into 4.1.0-FC1 release branch. It is still not in |
@gabriela-ponce you can test now. Fix is merged! |
@tomislavhoracek Looks good to me when tested with Nano X on build 17841. However, I am not sure what has been decided on @gabriela-ponce's suggestion about this "Can we avoid the dialog closing when clicking outside of it? "? |
@tomislavhoracek The first issue (HW not detected) no longer reproduces with the mentioned steps, but I'm still running some tests just to be sure. But I have found the reproduction steps for the second issue (dialog closes after exporting the key): On Windows and Linux: You'll see that the dialog closes. Check this video. After that, if you open the dialog again (no changes on the HW), Daedalus would ask to export the key, but nothing would be prompted on the device. It works after a second retry without changes on the HW (Cardano app still running). |
@gabriela-ponce Can you write what was the step before the issue, in what state the device was, did you restarted Daedalus, reconnected the device... @miorsufianiohk you tested only on Mac or...? |
@tomislavhoracek I'll try to clarify the steps for this issue: Platform: Windows 10 and Ubuntu 20.04 Given that I have connected and unlocked a Ledger Nano S device
When I open the "Share" dialog on the "Receive" screen for this wallet
And I run the Cardano app
And I export the public key
Then I can see that the dialog closes on Daedalus
And the Ledger device is waiting for commands
You can check the logs here. |
@gabriela-ponce thanks. P.S. in the previous message you wrote that Win and Linux are affected and in the last message Platform: macOS Big Sur 11.2.3. Did you found the issue on all platforms or it is a typo? |
@tomislavhoracek You can pair the device, close the Cardano app, and follow the steps to reproduce the issue. But also you can pair the device, unplug it, restart Daedalus, plug the device and follow the steps to reproduce the issue, I found no difference for these. Let me know if that's clear or if we can have a meeting to discuss it 👍 |
@gabriela-ponce thanks, it is much more clearer now <3 |
…e on outside click and radio buttons alignment improvement
@gabriela-ponce Issue should be fixed now. Can you please test again? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, nice job 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Flawless work @tomislavhoracek 🌟
This PR introduces Hardware Wallet receiving address verification for Ledger devices.
Todos
Copy update (https://docs.google.com/document/d/1ihb5n6n0wXOovyfuLYniC0cvrTY9MG8pifemGsn2-fs/edit?usp=sharing)
Edge case when sharing address dialog closed and another one is opened. Multiple device listeners trigger and cause errors.
Use
str_to_path
from utils instead cardano once develop branch is mergedDisplay the address on the device. Maybe we are using the wrong API call or correct call with incorrect arguments. @tomothespian
Since we are showing address path and staking path, we should display that for all of the wallets (hardware and software) on the Daedalus screen too @a-rukin @tomothespian
https://app.zeplin.io/project/57acfaa7436a750316161a8b/screen/5e440b4b8c02660b9a813555
Update Copy
Do not merge until "Force exporting pub key" improvement is done [DDW-553] Hardware Wallets - Force Public Key export #2342
Add "Support Request" link
Add missing Japanese translations
Double-check whole verification flow
Update PR screenshots
Apply latest LedgerJS 3.0.0. breaking changes related to
showAddress
andderiveAddress
Double-check code and prepare testing notes
- DO NOT MERGE - FIX from Fix transaction initialization issue on device reconnect #2541 needs to be merged here. included in 4.1.0-FC1 release - DONE
Testing Checklist
In-App testing
NOTES:
I added screenshots with titles / descriptions in the exact order on how the process is going so please check before you start with testing
There are multiple cases presented:
Test Cases
Scenario 1 - Access to share wallet address dialog with device
disconnected
Scenario 2 - Access to share wallet address dialog with the device connected
Scenario 3 - Access to share wallet address dialog with Cardano app running
Scenario 4 - Export public key
Scenario 5 - Verify the Address on the device
Scenario 6 - Answer that the address is correct
Scenario 7 - Answer that the address is incorrect
Scenario 8 - Recheck address
Scenario 9 - Confirm the address is not correct
Scenario 10 - Open form to submit a request
Scenario 10 - Reject exporting the Address on the device
Testing Summary
Screenshots
ENGLISH
1. Start Veifying
2. Answer to the question
2.1. Answer - YES
2.2. Answer - NO, reverify ( State after reverifying)
2.2.1 Answer NO after reverifying
2.2.2 Confirm wrong address
3. Rejected Verification
4. Default Regular and Trezor wallets
JAPANESE
1. Start Veifying
2. Answer to the question
2.1. Answer - YES
2.2. Answer - NO, reverify ( State after reverifying)
2.2.1 Answer NO after reverifying
2.2.2 Confirm wrong address
3. Rejected Verification
4. Default Regular and Trezor wallets
Review Checklist
Basics
feature
/bug
/chore
,release-x.x.x
)yarn test
)yarn dev
)yarn package
/ CI builds)yarn flow:test
)yarn lint
)yarn prettier:check
)yarn manage:translations
produces no changes)yarn storybook
)yarn.lock
file is updatedCode Quality
Testing
After Review
done
column on the YouTrack board