I am trying to make a transaction of DAI tokens from user wallet 0xDAIUserWallet to some random token contract say 0xRandomContractAddress. In this scenario I am using the private key of DAI User to sign the transaction as well as to pay gas fee, as he the owner of tokens.
What I am looking for, is to sign the transaction using the DAI user private key, but the gas fee should be paid by some other wallet.
I am using standard ERC20 Ethereum smart contract designed using solidity, and using ethers.js to interact with the smart contract.