const e=require(`../../constants/fees.constants.cjs`),t=require(`../utils/erc20tokenFunctions.cjs`),n=require(`../utils/caseInsensitive.utils.cjs`),r=require(`../../error-handling/logger.cjs`),i=require(`./process-gas-estimates.cjs`);var a=async(a,o,s,c,l=[],u=0n,d)=>{let f=t.getERC20Token(o??e.defaultFeeToken,a);if(!f)throw Error(`failed to find feeToken`);let{priceOfTransactionInToken:p}=await i.processGasEstimates(a,f,c,s.some(e=>n.caseInsensitiveEqual(e,o))?s.length+1:s.length,void 0,l,d);if(p===void 0)throw Error(`failed to process gas estimates`);let m={feeToken:f.erc20TokenAddress,flatFee:p,variableRate:u};return r.Logger.log(m),m};exports.getFeeStructure=a;