safe-cli icon indicating copy to clipboard operation
safe-cli copied to clipboard

Add hardware wallet support

Open rmeissner opened this issue 4 years ago • 12 comments

It would be nice if I could use the safe-cli with my ledger or trezor

rmeissner avatar Jun 25 '20 12:06 rmeissner

Probably not possible until https://github.com/ethereum/web3.py/issues/847 is added

fubuloubu avatar Nov 09 '20 00:11 fubuloubu

Probably not possible until ethereum/web3.py#847 is added

It's not completely necessary, but it would be awesome if they support it, then it would be really easy to add support

Uxio0 avatar Nov 09 '20 09:11 Uxio0

Does this mean that if a user initiates a send transaction using the CLI, they will not be able to sign the transaction with a hardware wallet?

Or can a user still sign with a hardware wallet, it's just the CLI won't provide any feedback on the signature, thus requiring the user to check on Etherscan?

adam-hurwitz avatar May 06 '21 23:05 adam-hurwitz

Does this mean that if a user initiates a send transaction using the CLI, they will not be able to sign the transaction with a hardware wallet?

That's right, Cli does not have integration with hardware wallets, but if you use --tx-service in a network supported (mainnet or rinkeby) you will be able to sign the transaction with a hardware wallet in the web ui.

Uxio0 avatar May 07 '21 10:05 Uxio0

Thank you @Uxio0! To ensure I understand, when initiating a send transaction, the --tx-service parameter must provide either mainnet or rinkeby.

Taking the demo transaction as an example, in order to sign the tx with a hardware wallet in production, the command would look like this:

send_ether 0x5aC255889882aCd3da2aA939679E3f3d4cea221e 123 --tx-service mainnet

Then, a browser will launch with a Web UI or does the user need to run the Safe React UI in order to interact with the command?

adam-hurwitz avatar May 07 '21 18:05 adam-hurwitz

You are welcome! You got it right until this point:

Then, a browser will launch with a Web UI or does the user need to run the Safe React UI in order to interact with the command

You need to open the browser yourself and go to the Safe React UI.

One important note: You need at least one valid owner (key) imported on the Safe-cli, as Web UI only shows transactions with at least one signature.

Uxio0 avatar May 10 '21 09:05 Uxio0

You need at least one valid owner (key) imported on the Safe-cli

Does this mean if a user has all hardware wallets for signing it is currently impossible to confirm transactions with the CLI tool?

What is the best approach for an all hardware wallet configuration recovery?

  • Download a past release, presuming the smart contracts are still deployed.
  • If the smart contracts are not deployed, deploying GnosisSafe.sol and calling the methods to sign each hardware wallet directly with an IDE like Remix.

adam-hurwitz avatar May 10 '21 22:05 adam-hurwitz

Does this mean if a user has all hardware wallets for signing it is currently impossible to confirm transactions with the CLI tool?

That's right

What is the best approach for an all hardware wallet configuration recovery?

You can just use the Safe React UI https://gnosis-safe.io/

Uxio0 avatar May 11 '21 09:05 Uxio0

It's my fault for not specifying. I'm looking to test under the worst-case scenario where Gnosis is no longer able to host https://gnosis-safe.io.

Therefore, I'm looking to know if the Gnosis Safe React UI downloaded from a past release on GitHub will work with the smart contracts previously deployed on Ethereum mainnet?

Then, the user can recover with an all hardware wallet configuration as you mention above.

adam-hurwitz avatar May 11 '21 14:05 adam-hurwitz

Therefore, I'm looking to know if the Gnosis Safe React UI downloaded from a past release on GitHub will work with the smart contracts previously deployed on Ethereum mainnet?

Yes, and you also have the desktop apps: https://github.com/gnosis/safe-react/releases/tag/v3.2.1

Uxio0 avatar May 11 '21 15:05 Uxio0

I must say this is what I was looking for. besides this would be nice to have integration with eth-brownie framework. it already connects with clef to hw wallet. I just need safe operations available

RomanHiden avatar Nov 14 '21 22:11 RomanHiden

👍

danicuki avatar Jun 02 '22 16:06 danicuki

You are welcome! You got it right until this point:

Then, a browser will launch with a Web UI or does the user need to run the Safe React UI in order to interact with the command

You need to open the browser yourself and go to the Safe React UI.

One important note: You need at least one valid owner (key) imported on the Safe-cli, as Web UI only shows transactions with at least one signature.

Does the web UI only show pending transactions with signatures from one of the owners or can it be signed by any key? I ask this because I would like to generate a transaction from the CLI but the owner addresses are all hardware wallets. If I generate a message via the cli with some random private key, will it show in the web UI and have 0/n confirmations?

chrdevmar avatar Aug 25 '23 02:08 chrdevmar

Does the web UI only show pending transactions with signatures from one of the owners or can it be signed by any key? I ask this because I would like to generate a transaction from the CLI but the owner addresses are all hardware wallets. If I generate a message via the cli with some random private key, will it show in the web UI and have 0/n confirmations?

For transactions to show in the UI they need to be signed by at least one owner or delegate

Uxio0 avatar Aug 29 '23 09:08 Uxio0

Superseded by #269 and #270

Uxio0 avatar Oct 03 '23 09:10 Uxio0