I want to know if there is there a way to have a shared wallet where 2 users both have to agree before calling "transfer". Any problem with this logic in the transfer method?
User A wants to transfer tokens to User B so user A calls the Transfer method. However, the tokens are not actually transferred but it is added to a map of "pending" transfers.
User C now has to call Transfer to User B as well and if the exact match is found in pending map (matching toAddress and amount), then the transfer of the token is actually made.
Alternatively I can make User C have to call the Approve method instead of Transfer. However that seems to go against what it is designed for looking at its signature - approve(address _spender, uint _value). So _spender would actually have to be used for the receiver.
Are both these options possible and are there any problems with them?