I'm developing a dapps that uses web3.eth.personal.sign
to sign data from users. The problem is, when I use Gnosis Safe with WalletConnect, the value received from the function is just "0x" instead of the full signature.
Are there any ways to get the data from the web3.eth.personal.sign
with Gnosis Safe WalletConnect
Best Answer
As the Safe is a smart contract based wallet you will not get a ECDSA signature that can be recovered to a Safe address. The Safe uses EIP-1271 to support message signing.
In the current implementation the Safe confirms the message on-chain. Therefore it only returns
0x
as the signature. To check if the message was successfully signed you would useisValidSignature
(as defined in EIP-1271) to check with the Safe if your specific message/signature combination is valid.