greymass / anchor

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

Telos network: Error on signature #518

Open utilsites opened 5 years ago

utilsites commented 5 years ago

Using latest versions of eos-voter for windows and linux. When broadcasting a signed trx for TELOS network, I get the following error.

_500,"message"."Internal Service Error","error".{"code".3090003,"name"."unsatisfied_authorization","what"."Provided keys, permissions, and delays do not satisfy declared authorizations","details". [{"message"."transaction declares authority '{\"actor\".\"heeeeeeeeee\",\"permission\".\"active\"}', but does not have signatures for it under a provided delay of 0 ms, provided permissions [], provided keys [\"EOS4j3434N445M5jeo44f4j3434N445M5jeo44f4j3434N445M5jO\"], and a delay max limit of 3888000000 ms","file"."authorization_manager.cpp","line_number".517,"method"."checkauthorization"}]}}

The provide key in error message should be the public key? It does not match with the pair used to sign the trx (verified the pair inside eos-voter before the signing).

Note: changed actor and provided keys in the text above.

aaroncox commented 5 years ago

Does the key you have imported match that of what's on the account? A lot of times this happens when keys have been changed but not updated in the application.

An easy way to check is Tools -> Permissions, with this being an example:

image

The key highlighted in the red box is the currently loaded key, and the arrows point to the expected keys. If the key loaded in the red box in the example doesn't match any of the keys listed below, it's not the right key.

utilsites commented 5 years ago

I can not see that because I signed in other PC (cold wallet), amazing function by the way. Then I used the funcionality "broadcast signed transaction". I verified the key pairs in the cold wallet and where good.

EDITED: going to check the other pc.

aaroncox commented 5 years ago

Ahh yeah, you wouldn't be able to see that on the cold wallet would you.

If you're using one of the newer versions for your cold wallet, you can view the currently used public key like so:

cold-view-public-key

You can then compare that key (the one loaded in the cold wallet) to the permissions visible on the Tools -> Permissions of the "Watch Wallet" used to create transactions.

utilsites commented 5 years ago

I discovered the problem! It works now. The problem is that every time I close and open again the the eos-voter in the linux version it selects the EOS network and does not show that, so I didn't noticed that was not selecting the TELOS network, selected the first time, I think is losing that state of selection. When I open again it show this breadcrumb: Cold Wallet > Account > Authorize > Wallet If I press back 2 times it shows the network selection. Maybe this can be improved. Thanks @aaroncox

aaroncox commented 5 years ago

Oh good catch, yeah that doesn't seem like a good experience at all with the interface. I'll reopen this as a note to take a look to see if we can get it improved.

utilsites commented 5 years ago

Ahh yeah, you wouldn't be able to see that on the cold wallet would you.

If you're using one of the newer versions for your cold wallet, you can view the currently used public key like so:

cold-view-public-key

You can then compare that key (the one loaded in the cold wallet) to the permissions visible on the Tools -> Permissions of the "Watch Wallet" used to create transactions.

If you don't store the private key, that settings appear empty, maybe that can be improved too. Thanks.