safe-cli
safe-cli copied to clipboard
Add hardware wallet support
It would be nice if I could use the safe-cli with my ledger or trezor
Probably not possible until https://github.com/ethereum/web3.py/issues/847 is added
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
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?
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.
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?
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.
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.
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/
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.
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
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
👍
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
?
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
Superseded by #269 and #270