const e=require(`../../types/external-action.types.cjs`),t=require(`../../types/offscreen.types.cjs`);require(`../../types/index.cjs`);const n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../utils/caseInsensitive.utils.cjs`),i=require(`../../error-handling/logger.cjs`);require(`../../error-handling/index.cjs`);const a=require(`../pre-transaction/getFeeStructure.cjs`);require(`../pre-transaction/index.cjs`);const o=require(`../utils/convertEmporiumOpToCallInfo.cjs`),s=require(`../utils/postToOffscreen.cjs`);require(`../utils/index.cjs`);var c=async(c,l,u,d,f,p,m,h,g)=>{try{if(!((p.find(({erc20Token:e})=>r.caseInsensitiveEqual(e.erc20TokenAddress,c))?.totalUsdBalance??0)>=l)){let i=p.find(e=>e.totalUsdBalance<=l?!1:d.find(({erc20TokenAddress:t})=>r.caseInsensitiveEqual(t,e.erc20Token.erc20TokenAddress))?e.publicUsdBalance>l:!0);if(!i){s.postToOffscreen(t.MessagesFromOffscreen.AutoShieldTxStatus,{message:n.transactionErrorCodes.AUTO_SHIELD_INSUFFICIENT_GAS});return}c=i.erc20Token.erc20TokenAddress,m=await a.getFeeStructure(u,c,h,e.ExternalActionId.Emporium,f.map(e=>o.convertEmporiumOpToCallInfo(e,g,u)))}return{feeToken:c,feeStructure:m}}catch(e){i.Logger.error(`selectGasToken error`,{error:e});return}};exports.selectGasToken=c;