How transfer multiple assets to contract via one transaction

So basically I want to transfer multiple assets to contract but I cant use batch transfer method as it only support wallet to wallet transfer and not wallet to contract , so is there any other way to transfer multiple asset to contract by approving one transaction on wallet

Hey @div-lync have you tried the multicall to execute multiple transfers?