greymass / anchor

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

Cannot Restore WAX Account #1324

Open raycardillo opened 1 year ago

raycardillo commented 1 year ago

Description

I am unable to restore my WAX paper backup certificate using "Import from key certificate". Everything seems to work fine and then I get a spinning wheel of death at the "Updating accounts..." display. I'm not doing anything especially strange, just following the prompts, and then it gets stuck at that spinner. See details the Steps to Reproduce section.

Platform

Desktop (MacOS)

Steps To Reproduce

Happens using desktop version 1.3.8 on macOS Ventura 13.1 (22C65).

Created an EOS and WAX account on mobile. Backed up to paper certificate so I could migrate to desktop and remove them from mobile. Could not import either from the launch screen after fresh install. Kept getting stuck after all verified with a spinning wheel of death at "Updating accounts..."

After multiple attempts, finally got the EOS account to import by adding the EOS blockchain and going to "Import from key certificate" instead. When it worked correctly, it gave me a timer countdown and eventually worked just fine.

Then I tried to do the same for WAX, added the blockchain, tried to use "Import from key certificate" and tried Option #1 and Option #2 (I really want Option #2) but I always get the spinning wheel of death at "Updating account..." and it doesn't go away after waiting a very long time. I am on a slow (tethered hotspot) at the moment, but nothing too crazy, I'm able to browse websites, etc.

Opened up the developer console and I only see some UI related warning that seem irrelevant, and in the network tab I see repeated calls to get_table_rows but nothing that looks like an error. When I close the "Updating account..." window then everything goes away, but no account added, and no progress. So I can't restore this account (must have tried over 20 times by now and same results each time).

Relevant log output

I don't see any errors in the developer tools.

Anything else?

I was able to hit this endpoint just fine: https://wax.greymass.com/

{
   "server_version":"12902721",
   "chain_id":"1064487b3cd1a897ce03ae5b6a865651747e2e152090f99c1d19d44e01aea5a4",
   "head_block_num":222827194,
   "last_irreversible_block_num":222826865,
   "last_irreversible_block_id":"0d48117112baad3c44cf03bcf887e4c227255a1c76a6ec86dc5594812ff2d4f1",
   "head_block_id":"0d4812ba91df59048a9da66bfbee81cfe9e2b9210934c140530275500606fe6f",
   "head_block_time":"2023-01-05T01:02:08.000",
   "head_block_producer":"sentnlagents",
   "virtual_block_cpu_limit":762817,
   "virtual_block_net_limit":1048576000,
   "block_cpu_limit":200000,
   "block_net_limit":1048576,
   "server_version_string":"v2.0.12wax02",
   "fork_db_head_block_num":222827194,
   "fork_db_head_block_id":"0d4812ba91df59048a9da66bfbee81cfe9e2b9210934c140530275500606fe6f",
   "server_full_version_string":"v2.0.12wax02-12902721dbd9c8a8d2734ede4f8978c1ce8c17b8"
}
aaroncox commented 1 year ago

What's happening during that step is it's performing a transaction against that account to update its active keys. It seems to be getting stuck there, likely due to the account's resources (probably RAM?). If an error occurs at that step, the UI gets stuck... so we'll look to address that in a future update.

To get your situation resolved, a few questions for you:

  1. Are you using the "Add key for this device" or "Reset all keys" options after importing the certificate?
  2. Does the account you're attempting to recover have available RAM? I'm happy to look at this using a block explorer if my question made no sense, and if you're comfortable sharing the account name (for more privacy, feel free to send to aaron@greymass.com).

I may have some extra ideas/questions, but figured I'd get those two out of the way first.

raycardillo commented 1 year ago

Thanks, I'll respond privately.

aaroncox commented 1 year ago

Thanks for the email 👍

I think I've isolated what's going on. The account does indeed lack the required RAM to update the permissions, which is why it's getting stuck. We have added an error handler in our dev build so that it'll at least display this error message.

Since this is a pretty common scenario - we have also updated one of Anchor's services to also provide this RAM in instances where this happens on accounts trying to recover.

I believe if you try again (no need to update Anchor), you should be able to recover the account now.

aaroncox commented 1 year ago

1.3.9 is also now released which actually displays an error instead of just getting stuck at this point in the process:

https://github.com/greymass/anchor/releases/tag/v1.3.9