Incorrect fees will be charged
If user has provided transferAmount which is greater than all lien.amount combined then initiatorPayment will be incorrect since it is charged on full amount when only partial was used as shown in poc\\nObserve the _handleIncomingPayment function\\nLets say transferAmount was 1000\\ninitiatorPayment is calculated on this full transferAmount\\n```\\nuint256 initiatorPayment = transferAmount.mulDivDown(\\n      auction.initiatorFee,\\n      100\\n    ); \\n```\\n\\nNow all lien are iterated and lien.amount is kept on deducting from transferAmount until all lien are navigated\\n```\\nif (transferAmount >= lien.amount) {\\n          payment = lien.amount;\\n          transferAmount -= payment;\\n        } else {\\n          payment = transferAmount;\\n          transferAmount = 0;\\n        }\\n\\n        if (payment > 0) {\\n          LIEN_TOKEN.makePayment(tokenId, payment, lien.position, payer);\\n        }\\n      }\\n```\\n\\nLets say after loop completes the transferAmount is still left as 100\\nThis means only 400 transferAmount was used but fees was deducted on full amount 500
Calculate the exact amount of transfer amount required for the transaction and calculate the initiator fee based on this amount
Excess initiator fees will be deducted which was not required
```\\nuint256 initiatorPayment = transferAmount.mulDivDown(\\n      auction.initiatorFee,\\n      100\\n    ); \\n```\\n