I'm trying to support Argent wallet signing (contract wallet / compatible EIP-1271) through Wallet-Connect.
Let's say I have a Gnosis-Safe with the following setup: (owners: [argent-contract-addr], threshold: 1)
.
I'm able to obtain a signature of my transaction's txhash
from Argent via Wallet-Connect, but this signature is signed by argent-eoa-addr
controlling argent-contract-addr
. Given Gnosis-Safe is compatible with EIP-1271 as well as Argent wallet that provides isValidSignature
, it should be possible.
How can adjust this signature to be understood by the Safe as a contract signature?
From the safe's code, it looks like I should modify v -> 0x00
but it seems that's not just it when I look at the contract code.
I'm also trying to understand this test but it's not yet clear. Is there any documentation on how to build contract signatures compatible with Safe?
Invalid owner provided