diff --git a/packages/smart-contracts/src/contracts/BatchConversionPayments.sol b/packages/smart-contracts/src/contracts/BatchConversionPayments.sol index a207c7b33..fccfaa55f 100644 --- a/packages/smart-contracts/src/contracts/BatchConversionPayments.sol +++ b/packages/smart-contracts/src/contracts/BatchConversionPayments.sol @@ -309,7 +309,10 @@ contract BatchConversionPayments is BatchNoConversionPayments { } require(address(this).balance >= batchFeeToPay, 'Not enough funds for batch conversion fees'); - feeAddress.transfer(batchFeeToPay); + if (batchFeeToPay > 0) { + (bool feePaymentSuccess, ) = payable(feeAddress).call{value: batchFeeToPay}(''); + require(feePaymentSuccess, 'Could not pay fees'); + } // Batch contract transfers the remaining native tokens to the payer (bool sendBackSuccess, ) = payable(msg.sender).call{value: address(this).balance}(''); diff --git a/packages/smart-contracts/src/contracts/BatchNoConversionPayments.sol b/packages/smart-contracts/src/contracts/BatchNoConversionPayments.sol index 4ef0eb04e..61c21e20c 100644 --- a/packages/smart-contracts/src/contracts/BatchNoConversionPayments.sol +++ b/packages/smart-contracts/src/contracts/BatchNoConversionPayments.sol @@ -200,7 +200,10 @@ contract BatchNoConversionPayments is Ownable { // Check that batch contract has enough funds to pay batch fee require(address(this).balance >= amount, 'Not enough funds for batch fee'); // Batch pays batch fee - feeAddress.transfer(amount); + if (amount > 0) { + (bool feePaymentSuccess, ) = payable(feeAddress).call{value: amount}(''); + require(feePaymentSuccess, 'Could not pay fees'); + } // Batch contract transfers the remaining Native tokens to the payer if (transferBackRemainingNativeTokens && address(this).balance > 0) {