I would like to transfer tokens to defi smart contracts on the behalf of a third-party. I see no option apart from (1) the third-party to transfer to me directly (2) the third-party to pre-sign transaction (sent to me) so that I can execute them later.
Most of the DeFi protocols make use of 'approve' + 'transferfrom' internally - but because of the use of msg.sender in the 'transferFrom', it only works if the third party interacts with the protocol directly - and not via me (the ERC20 allowance check fails).
Am I correct? Is there any other way to circumvent this restriction for protocols such as AAVE or UNISWAP - for ex.