extension icon indicating copy to clipboard operation
extension copied to clipboard

Unable to Sign Transactions from Injected Ethereum-Style Accounts

Open themacexpert opened this issue 3 years ago • 6 comments

I am unable to successfully sign any transactions in Polkadot Js Apps using an injected Ethereum-style account from the extension.

Steps to Re-Create:

  • Create a new Account in the Polkadot Js extension that uses an Ethereum-style address. Moonbase Alpha or Moonriver for Example.
  • To avoid using real funds, you can get Moonbase Alpha tokens in the #moonbase-faucet channel of our discord here: https://discord.gg/moonbeam. You can request funds using the format !faucet send <your address>
  • Go to Polkadot Js Apps and update the Metadata for the Extension.
  • Try to send funds from the injected account to any address including itself. You'll get the below error. Screen Shot 2021-12-06 at 2 51 46 PM

Looking at the console I see the following messages: Screen Shot 2021-12-06 at 2 54 46 PM

This issue has been replicated by several individuals with the same results.

themacexpert avatar Dec 06 '21 22:12 themacexpert

Would need to look at the Moonbeam transaction signature type, e.g. MultiSignature or AnySignature, my guess is that is where it would break down. (But would then apply to all, not really "only extension accounts")

So generally the above is either -

  • signing payload incorrect
  • signature is in the wrong format (e.g. MultiSignature is the signature + a single leading byte)
  • ... other?

There are tricky. If it only happens on extension accounts, it would mean that the extension does something weird. (Well, could also be in the apps UI signer where it uses the signature from the extension)

TL;DR Only ramblings above... this is not something that is clear in what may be the issue.

jacogr avatar Dec 07 '21 15:12 jacogr

@jacogr Any news on this?

signing payload incorrect

I added a test to the extension repo to make sure that is not the problem

signature is in the wrong format

How do we test that? Unfortunately this is hidden in the .sign function

joelamouche avatar Dec 14 '21 17:12 joelamouche

@jacogr Any news on this? This is still a problem

joelamouche avatar Jan 14 '22 16:01 joelamouche

I havent been able to find the solution to this but it is pretty important to allow new users to join in. I would love to get on a pair programming session

joelamouche avatar Jan 26 '22 15:01 joelamouche

Hello guys, I'm encountering the same problem with Ethereum-style chains. Those accounts I import using PolkadotJS-app UI work fine, except for this extension. It's very weird that last week I was still doing extrinsic calls, now all submitted extrinsics are returning bad signature errors. I installed both versions from the chrome store and the latest version from this repository.

hoale58-vl avatar Apr 07 '22 06:04 hoale58-vl

I have manually updated the ExtrinsicSignature to EthereumSignature and work fine. Looks like the extensions cannot update the metadata from Ethereum chains

hoale58-vl avatar Apr 07 '22 09:04 hoale58-vl

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue if you think you have a related problem or query.

polkadot-js-bot avatar Oct 27 '22 08:10 polkadot-js-bot