LiskHQ / lisk-desktop

🖥 Lisk graphical user interface for desktop
https://lisk.com/wallet
GNU General Public License v3.0
580 stars 95 forks source link

Remove second passphrase support #2893

Closed sridharmeganathan closed 3 years ago

sridharmeganathan commented 4 years ago

After the addition of multi-signature support in #2891, we need to remove the second passphrase support, consisting of secondary transaction signing for every transaction type, and second passphrase registration in the advanced settings page.

Users with existing second passphrase registrations can now sign their transactions as a normal multi-signature transactions. Users wishing to add a second layer of security can instead register a 2-2 multisignature account.

Motivation

Refer https://github.com/LiskHQ/lips/blob/master/proposals/lip-0017.md

Once LIP 0017 has been implemented in Lisk SDK v5 and Lisk Core v3, It will not be possible to distinguish the following two cases in the UI:

This will be especially confusing to users if a multisignature account is suddenly shown as a 2nd passphrase account to a user. Additionally, it can be that a user has a 2-2 multisig account with two public keys publicKeyA, publicKeyB which are both different from the original public key of the account. Then this 2-2 multisig is different from a 2nd passphrase in the sense that the original public key is not needed.

Removing second passphrase support as currently implemented will avoid this problem.

Acceptance criteria

Related issues

reyraa commented 4 years ago

In additions to the following files, all the corresponding unit tests have to be updated too.

Actions src/actions/account.js Remove secondPassphraseRegistered function.

src/actions/transaction.js Remove seccondpassphrase from transactionCreated and transactionBroadcasted.

Utils src/utils/api/lsk/account.js Remove setSecondPassphrase. And remove it from src/utils/api/account.js

src/utils/api/delegates.js Remove the param and logic from registerDelegate.

Components src/components/shared/transactionSummary
 Remove all second passphrase logic.

src/components/screens/secondPassphrase 
Remove the component. Also remove it from the routes.js. And from constants/urls.js.

src/components/screens/setttings Remove SecondPassphraseSetting.js file. And the usage of it in the settings component.

src/shared/searchBar Remove from the selectTransactionType.

src/toolbox/illustrations Remove second passphrase illustrations.

src/toolbox/passphraseInput Remove the second passphrase logic.

Constants src/constants/transactionTypes Remove second passphrase tx type.

test/constants/accounts.js Remove second_passphrase_account.

test/constants/selectors.js Clean up all second passphrase references.

Test test/cypress/features/common Remove it from Given I am on (.*?) page.

test/cypress/utils/enterSecondPassphrase Remove the file.