greymass / anchor

EOSIO Desktop Wallet and Authenticator
https://greymass.com/anchor/
MIT License
565 stars 218 forks source link

Account based authority with ledger with locked wallet can't unlock wallet #1334

Open Vyryn opened 1 year ago

Vyryn commented 1 year ago

Description

Account based authorities appear to work correctly when beginning the import with your wallet fully unlocked. Importing an account based authority with a partially or fully locked wallet appears to import successfully. However, when using such an authority, the final signing step requests and always rejects the wallet password.

Platform

Desktop (Windows)

Steps To Reproduce

Steps to reproduce:

  1. Create an account with ledger
  2. Delegate an account based authority to that account with a different account [abc's active perm (1) = +1 xyz@active]
  3. Turn on Advanced User Options in Anchor settings
  4. Lock your wallet
  5. Import the delegated account as an account based authority
  6. Attempt to sign a transaction with the account based authority

Expected result: The transaction prompts for wallet unlock. After entering the correct password, the wallet unlocks and the transaction can be signed.

Actual result: The transaction prompts for wallet unlock. After entering the correct password, the password dialogue is dismissed as though the password were accepted, but the wallet fails to unlock and incorrectly displays the blue locked symbol instead of the green sign symbol.

Relevant log output

No response

Contact Details

vyryn@protonmail.com

Anything else?

No response

openventures commented 1 year ago

Same is happening on macOS.

wallets in account-based authority mode do work if the "backing" account is a hot wallet with the key managed by anchor.

with ledger "backed" accounts, it's not working to unlock the wallet, regardless of the state of the Ledger Service (established connection or disabled).

Clicking the unlock button which usually unlocks all wallets, also hangs, if and only if the account based authority wallet has been selected before hand using the green "Use Wallet" button

aaroncox commented 1 year ago

Thanks for the detailed reports on this, we know there are some pretty annoying issues with account-based authorities. They unfortunately have never been really well supported. We will need to probably do a full pass over account-based authorities to get this all working properly.

Vyryn commented 1 year ago

Hi @aaroncox, This issue has become un-circumventable recently with the removal of the "unlock all" button in the top right. In my experience, it seems it is no longer possible to sign any account based authority in Anchor, because it is now impossible to

There exist no friendly UI alternatives for this in other wallets, and my team is currently discussing building a UI ourselves to handle it as this is an important functionality for using account-based authorities in multisigs for decentralized business operation on wax.

aaroncox commented 1 year ago

The "Unlock All" button is still in the same place it's always been, in the top right. It only shows when you have one or more "hot" wallets (ones using private keys) imported into the app. If the lock icon is not showing, then just make sure you have at least one account imported using a private key, and the control will be there.

You are welcome to contribute to and improve this functionality within Anchor if you really need it. We'd welcome the contribution, as most of our efforts are focused on SDKs in the @wharfkit project right now.