const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../utils/amounts.utils.cjs`),r=require(`../private-wallet/emporium.helpers.cjs`),i=require(`./merge-with-fee-structure.cjs`),a=require(`../web3/getPublicAddressBalance.cjs`);var o=async(o,s,c,l,u,d,f,p)=>{let m=0n,h=p<0n?p:0n,g=await a.getPublicAddressBalance(o,s,f.feeToken,c)+h;m=g<0?f.flatFee:n.maxBigInt(f.flatFee-g,0n),m!==0n&&(i.mergeWithFeeStructure(s,u,d,{...f,flatFee:m}),l.push(r.createTransferToEmporiumOp(f.feeToken===e.zeroAddress?void 0:o.getContractWithFetcher(s,t.ContractType.ERC20Contract,f.feeToken),c,m,!1)))};exports.mergeWithFeeStructureEmporium=o;