const e=require(`../utils/caseInsensitive.utils.cjs`),t=require(`../utils/erc20tokenFunctions.cjs`),n=require(`../../error-handling/customErrors/FeeOverTransactionValueError.cjs`),r=require(`../../error-handling/logger.cjs`);var i=(i,a,o,s)=>{r.Logger.log(`amount changes before merge`,{amountChanges:o});let c=a.findIndex(t=>e.caseInsensitiveEqual(t,s.feeToken));if(c===-1){a.push(s.feeToken),o.push(-1n*s.flatFee),r.Logger.log(`amount changes after merge`,{amountChanges:o});return}if(o[c]>0&&o[c]<s.flatFee)throw new n.FeeOverTransactionValueError({totalFeeWEI:s.flatFee,feeUnit:t.getERC20Token(s.feeToken,i)});o[c]-=s.flatFee,r.Logger.log(`amount changes after merge`,{amountChanges:o})};exports.mergeWithFeeStructure=i;