No, you just need to:
- Change
transfer(...)
totransferFrom(mag.sender, ...)
and redeploy your contract - Execute
token.approve(airdropContractAddress, sumOfAllAmounts)
using your wallet - Execute
airdropContract.batchTransferERC20(...)
using your wallet
As recommended in one of the answers above, consider using OpenZeppelin safeTransferFrom.