Assuming the following super simple code, how can I withdraw ERC20 tokens that are owned by a gnosis safe to my contract?
I set up a spending limit in my gnosis safe allowing the bellow contract to withdraw tokens (USDC) however, this fails as whilst the limit is set in gnosis safe and the contract is allowed to withdraw, in actuality no allowance exists on the USDC contract to withdraw from the gnosis safe wallet.
from vyper.interfaces import ERC20
admin: address
@external
def __init__():
self.admin = msg.sender
@external
def deposit(tokenIn: address, amountIn: uint256):
ERC20(tokenIn).transferFrom(msg.sender, self, amountIn)