The Vader._transfer function burns the transfer fee on msg.sender but this address might not be involved in the transfer at all due to transferFrom.
Smart contracts that simply relay transfers like aggregators have their Vader balance burned or the transaction fails because these accounts dont have any balance to burn, breaking the functionality.
Recommend that It should first increase the balance of recipient by the full amount and then burn the fee on the recipient.
strictly-scarce (vader) confirmed:
Mervyn853 commented:
