-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Hardware wallets don't support signing arbitrary messages: "Unknown binary data" #6083
Comments
Just to make sure, is contract support enabled on your ledger? Does your ledger show up in accounts list as colored identicon or gray? |
Yes contract support is enabled. Ledger shows up as a colored icon. |
Correct. Placing an order on EtherDelta involves signing a message, whereas
trading against an existing order involves sending a transaction.
…On Wed, Jul 19, 2017 at 6:17 AM Romain Barissat ***@***.***> wrote:
Yes contract support is enabled. Ledger shows up as a colored icon.
Food for thoughts: I believe Etherdelta handles placing a buy/sell order
differently than actually buying or selling into an existing order. It
seems like it's not doing a transaction but rather authorizing Etherdelta
to make this transaction later. @frenchhoudini
<https://github.com/frenchhoudini> @zackcoburn
<https://github.com/zackcoburn> could help understand this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#6083 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/APEqPWK7q0Ey8fGMkJFh7l-FPh-rCkOlks5sPdeegaJpZM4ObonT>
.
|
I also have the same problem using Parity 1.7.0 and EtherDelta. |
Looks like hardware support for signatures is missing, somewhere over here: I'll have a look. |
Since the hardware wallets don't support signing arbitrary messages yet it's not possible to implement that. |
It should support personal signing (see https://github.com/LedgerHQ/ledger-node-js-api/blob/master/src/ledger-eth.js#L113) - is this what you're looking for ? |
@btchip Interesting, this could use some documentation at https://raw.githubusercontent.com/LedgerHQ/blue-app-eth/master/doc/ethapp.asc What is the minimum required eth app version that supports this? Is the message presented on the device display hex-encoded? |
that's right, I'll update the documentation. This message has been added into version 1.0.8 - the device displays a sha256 hash of the message sent to be signed (to handle the case where a long binary message is sent) |
This is crucial to support using EtherDelta with Ledger Nano through Parity (I don't think there is any other alternative right now to use ED with a hardware wallet)! 👍 @arkpar |
@tomusdrw This isn't implemented on the client side yet right? I don't believe we necessarily want to do any UI changes, but we should probably have this ability on node-side. If it's not done then maybe @niklasad1 can pick it up? |
Update, I got it working but it will take some time to get it |
I'm using Parity/1.6.8/1.17.0/ma
I'm using the latest Parity Chrome extension
I'm using a Nano Ledger S with Ethereum app v1.0.8
I'm browsing the Dapp https://etherdelta.github.io
If I try to place a buy or a sell order on a pair, I get the following error and I cannot confirm request (it doesn't even come up on the nano like it should do)
When I go to my parity UI, I can see in the signer this request and when I try to confirm it from there, it throws the error "[-32021] Account password is invalid or account does not exist." while the expected behaviour is to prompt on my hardware wallet to confirm transaction.
To be noted that I can fill existing buy or sell orders, but cannot place them. It works like a charm with the default parity wallet without using a hardware wallet.
The text was updated successfully, but these errors were encountered: