How could this work?
Basically the same way as the MetaMask extension:
- Add/Create EOA to the wallet.
- Add/Create SAFE contract address (with the Owner from the previous step).
- On any website, which supports connecting MetaMask, the user can select SAFE as the connected account. Basically, the
eth_requestAccounts
would return the address of the SAFE. - Later, when a transaction should be sent to any contract from the website, the extension wraps the Tx Input Data and creates the Tx Proposal, and after all participants have confirmed the Tx, it will be sent directly to the SAFE (
execTransaction
).
The team could fork MetaMask to add those features, or maybe try to collaborate with the MetaMask team, or any other wallet, like Rabby Wallet.
Then the gnosis-safe.io/apps would be redundant, as the user could go directly to the websites, like 1inch Network
, and execute transactions from the original sites.
Will this work?
Yes, I already use this approach for the 2FA transactions, but with the CLI tool. I’ve written an article about this: Ethereum: 2FA or Multi-Factor Authentication for transactions
With the CLI tool, I install any validated contract in etherscan locally and call WRITE methods with the SAFE account, and the tool performs exactly the 4th step - creates the Tx Proposal, waits until I confirm the Tx in Gnosis Safe App, and then sends the Tx to the SAFE (execTransaction
).
I know WalletConnect supports Gnosis Safe, but they are also limited to whitelisted applications.
So, it would be great to see the Safe Wallet Extension for browsers someday. Do the Team and the Community have any considerations and thoughts regarding this topic?