Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question: Is there a workflow to sign the safe tx using a ledger based account? #4

Closed
jo-tud opened this issue Mar 21, 2021 · 6 comments

Comments

@jo-tud
Copy link

jo-tud commented Mar 21, 2021

Considering the security focus of Gnosis Safes it seems counterproductive to require the private key to reside on the machine where the ape-safe tools are used.

@banteg
Copy link
Owner

banteg commented Mar 21, 2021

It would be possible if Ledger support was added to eth-account. It actually has a ledger branch since a few years ago which is working, but it was never merged and released.

Maybe we can backport this to Brownie so it supports Ledger accounts natively.

Alternatively you can generate a tx and just sign a safe tx hash, more details here.

@jo-tud
Copy link
Author

jo-tud commented Mar 22, 2021

It would be great to have that integrated in Brownie, many other projects would also profit.
Currently I'm planning on just copying the generated safe_tx.data, value, etc... and pasting it into the Gnosis safe browser UI for a new custom Tx. Should work, shouldn't it?

@jo-tud
Copy link
Author

jo-tud commented Apr 7, 2021

Work around: Use Metamask in a browser to create the signature with a ledger and then paste it into the safe-ape script. Just copy the safeTxHash and use the below script. It will create the necessary signature with the help of Metamask:

// Can be executed in the console of the Gnosis safe site
// Metamask must be unlocked and site must have the sender address connected through Metamask

// UPDATE THIS!
safeTxHash = '';
sender = '';

params = [sender, safeTxHash]
ethereum
  .request({
    method: 'eth_sign',
    params,
  })
  .then((result) => {
    console.log("The signature:" + result)
  })
  .catch((error) => {
    console.log(error)
  });

@banteg
Copy link
Owner

banteg commented Jul 22, 2021

Now that brownie has added clef support, I think hw wallet signing workflow can be explored.

@BitcoinLixin
Copy link

Now that brownie has added clef support, I think hw wallet signing workflow can be explored.

Quick question - do you have any plan to add QR code based hardware wallet which can also add ABI to the device to decode the tx to get it fully verified? Would love to hear your comments.

Demo #1:
https://twitter.com/KeystoneWallet/status/1409465608643641347
Demo #2:
https://twitter.com/KeystoneWallet/status/1415316932954255362

@banteg
Copy link
Owner

banteg commented Nov 10, 2021

Added hardware wallet support in #17.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants