PageSourceSearch

https://pancakeswap.finance/_next/static/chunks/7626-539e591aa4f8ce05.js

js pancakeswap.finance collected 2026-10-01 10:12:24 UTC 167,359 bytes, 1 lines download raw bytes

1try{let e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fa8ef679-3b38-46a8-9b33-aec9be5f72d2",e._sentryDebugIdIdentifier="sentry-dbid-fa8ef679-3b38-46a8-9b33-aec9be5f72d2")}catch(e){}"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7626],{1176:(e,t,n)=>{n.d(t,{z:()=>o});var r=n(862373),a=n(400287),i=n(667988);let o=()=>{let e=(0,i.JI)(a.n8.SpeedQuote),[t,n]=(0,r.zd)();return[!!(null!=t?t:e),n]}},16713:(e,t,n)=>{n.d(t,{A:()=>a});var r=n(530957);let a=e=>{let t=new URL(window.location.href);Object.entries(e).forEach(e=>{let[n,a]=e;(0,r.A)(a)?t.searchParams.delete(n):t.searchParams.set(n,String(a))});let n=t.toString();window.history.replaceState({...window.history.state,as:n,url:n},"",t),window.dispatchEvent(new Event("popstate#pcs"))}},41811:(e,t,n)=>{n.d(t,{A:()=>i});var r=n(350979);n(25963);var a=n(257057);let i=e=>(0,r.jsx)(a.A,{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M17 4C18.5 4 19 4.5 19 6L19 8C20.1046 8 21 8.89543 21 10L21 17C21 19 20 20 17.999 20H6C4 20 3 19 3 17L3 7C3 5.5 4.5 4 6 4L17 4ZM5 7C5 6.44772 5.44772 6 6 6L19 6L19 8L6 8C5.44772 8 5 7.55229 5 7ZM17 16C18 16 19.001 15 19 14C18.999 13 18 12 17 12C16 12 15 13 15 14C15 15 16 16 17 16Z"})})},45621:(e,t,n)=>{n.d(t,{Yc:()=>l,v8:()=>p,wi:()=>c});var r=n(734658),a=n(273523),i=n(987212),o=n(603485),u=n(745765),s={univ2:{name:"univ2",displayName:"UniV2",legacyPoolType:o.J1.V2,legacyRouteType:o.Y0.V2,showFee:!1},univ3:{name:"univ3",displayName:"UniV3",legacyPoolType:o.J1.V3,legacyRouteType:o.Y0.V3,showFee:!0},univ4:{name:"univ4",displayName:"UniV4",legacyPoolType:o.J1.V3,legacyRouteType:o.Y0.V3,showFee:!0},fluid_dex:{name:"fluid_dex",displayName:"Fluid",legacyPoolType:o.J1.V3,legacyRouteType:o.Y0.V3,showFee:!0},native:{name:"native",displayName:"Native",legacyPoolType:o.J1.V3,legacyRouteType:o.Y0.V3,showFee:!1},propamm:{name:"propamm",displayName:"PropAMM",legacyPoolType:o.J1.V3,legacyRouteType:o.Y0.V3,showFee:!0},propamm_pcs:{name:"propamm_pcs",displayName:"PropAMM",legacyPoolType:o.J1.V3,legacyRouteType:o.Y0.V3,showFee:!0},propamm_rfq:{name:"propamm_rfq",displayName:"PropAMM RFQ",legacyPoolType:o.J1.V3,legacyRouteType:o.Y0.V3,showFee:!1},pcsv2:{name:"pcsv2",displayName:"PCS V2",legacyPoolType:o.J1.V2,legacyRouteType:o.Y0.V2,showFee:!1},pcsv3:{name:"pcsv3",displayName:"PCS V3",legacyPoolType:o.J1.V3,legacyRouteType:o.Y0.V3,showFee:!0},v2:{name:"v2",displayName:"V2",legacyPoolType:o.J1.V2,legacyRouteType:o.Y0.V2,showFee:!1},v3:{name:"v3",displayName:"V3",legacyPoolType:o.J1.V3,legacyRouteType:o.Y0.V3,showFee:!0},fluid:{name:"fluid",displayName:"Fluid",legacyPoolType:o.J1.V3,legacyRouteType:o.Y0.V3,showFee:!0},infinityCl:{name:"infinityCl",displayName:"Infinity CL",legacyPoolType:o.J1.InfinityCL,legacyRouteType:o.Y0.InfinityCL,showFee:!0},infinityBin:{name:"infinityBin",displayName:"Infinity Bin",legacyPoolType:o.J1.InfinityBIN,legacyRouteType:o.Y0.InfinityBIN,showFee:!0},stableswap:{name:"stableswap",displayName:"StableSwap",legacyPoolType:o.J1.STABLE,legacyRouteType:o.Y0.STABLE,showFee:!0},tessera:{name:"tessera",displayName:"Tessera",legacyPoolType:o.J1.V3,legacyRouteType:o.Y0.V3,showFee:!1},bebop:{name:"bebop",displayName:"Bebop",legacyPoolType:o.J1.V3,legacyRouteType:o.Y0.V3,showFee:!1}};function l(e){return e?s[e]:void 0}var p=class{get headers(){let e={Accept:"application/json"};return this.apiKey&&(e["PCS-API-KEY"]=this.apiKey),e}async getQuote(e,t,n){var s;let p=new URLSearchParams({chainId:String(e.chainId),inputToken:e.tokenIn,outputToken:e.tokenOut,amount:e.amount,tradeType:e.tradeType===r.nP.EXACT_INPUT?"exactIn":"exactOut",maxSplits:String(null!=(s=e.maxSplits)?s:10)});e.protocol&&p.set("protocol",e.protocol),e.provider&&p.set("provider",e.provider),e.nativePairFilter&&p.set("nativePairFilter",e.nativePairFilter);let c=await fetch(`${this.baseUrl}/v2/quote?${p}`,{method:"GET",signal:t,headers:this.headers});if(!c.ok)throw Error(`Aggregator error: ${c.status}`);let d=await c.json();if(0!==d.code)throw Error(`Aggregator: ${d.msg}`);let y=function(e,t,n,s,p){var c,d,y;if(!(null==(d=e.data)||null==(c=d.routes)?void 0:c.length))return;let{data:m}=e;for(let e of m.routes)if(e.path.length<2||e.pools.length!==e.path.length-1)return;let f=m.routes[0],h=f.path[0],g=f.path[f.path.length-1],T=null!=s?s:new r.ou(t,h.address,h.decimals,h.symbol),v=null!=p?p:new r.ou(t,g.address,g.decimals,g.symbol),b=r.eF.fromRawAmount(T,m.inputAmount),I=r.eF.fromRawAmount(v,m.outputAmount),A={tradeType:n,inputAmount:b,outputAmount:I,routes:m.routes.map(e=>{var n,i,s,p,c;let d=e.path.map(e=>new r.ou(t,e.address,e.decimals,e.symbol)),y=d[0],m=d[d.length-1],f=r.eF.fromRawAmount(y,e.inputAmount),h=r.eF.fromRawAmount(m,e.outputAmount);return{type:0===(n=e.pools).length?o.Y0.V3:1===n.length?null!=(p=null==(i=l(n[0].type))?void 0:i.legacyRouteType)?p:o.Y0.V3:1===new Set(n.map(e=>e.type)).size?null!=(c=null==(s=l(n[0].type))?void 0:s.legacyRouteType)?c:o.Y0.V3:o.Y0.MIXED,pools:e.pools.map((e,t)=>(function(e,t,n){var i,s,p,c,d,y,m,f,h;let g=null!=(h=null==(f=l(e.type))?void 0:f.legacyPoolType)?h:o.J1.V3,T=null!=(i=e.address)?i:e.id,v=null!=(s=e.fee)?s:0,b=null!=(c=null!=(p=e.resolvedFee)?p:e.protocolFee)?c:e.fee,I=null!=(d=e.token0)?d:e.currency0,A=null!=(y=e.token1)?y:e.currency1,w={aggregatorPoolType:e.type,...e.provider?{aggregatorProvider:e.provider}:{}};if(void 0===I||void 0===A)throw Error(`Aggregator pool ${T} missing required token0/token1`);let[C,E]=t.address.toLowerCase()===I.toLowerCase()?[t,n]:[n,t];if(g===o.J1.V2)return{address:T,type:g,...w,fee:v,...void 0!==b?{displayFee:b}:{},token0:C,token1:E,reserve0:r.eF.fromRawAmount(C,0),reserve1:r.eF.fromRawAmount(E,0)};if(g===o.J1.STABLE)return{address:T,type:g,...w,fee:new r.QE(v,u.j0),...void 0!==b?{displayFee:b}:{},token0:C,token1:E,balances:[r.eF.fromRawAmount(C,0),r.eF.fromRawAmount(E,0)],amplifier:0n};if(g===o.J1.InfinityCL||g===o.J1.InfinityBIN){let t=null!=(m=e.hooks)?m:"0x0000000000000000000000000000000000000000";if("string"!=typeof e.poolManager||0===e.poolManager.length)throw Error(`Aggregator pool ${T} missing required poolManager`);let n=e.poolManager,r=v===a._u;r&&(v=a._u);let i={id:T,address:T,type:g,...w,fee:v,dynamic:r,...void 0!==b?{displayFee:b}:{},token0:C,token1:E,currency0:C,currency1:E,hooks:t,poolManager:n},u=function(e){if(e)return`0x${e.slice(-4)}`}
1(e.parameters),s=void 0!==u?{...i,hooksRegistrationBitmap:u}:i;if(g===o.J1.InfinityBIN){let t=function(e){if(e)try{return(0,a.Uu)(e).binStep}catch{return}}(e.parameters);return void 0!==t?{...s,binStep:t}:s}let l=function(e){if(e)try{return(0,a.wA)(e).tickSpacing}catch{return}}(e.parameters);return void 0!==l?{...s,tickSpacing:l}:s}return{address:T,type:g,...w,fee:v,...void 0!==b?{displayFee:b}:{},token0:C,token1:E}})(e,d[t],d[t+1])),path:d,percent:e.percent,inputAmount:f,outputAmount:h,gasUseEstimate:0n,gasUseEstimateBase:r.eF.fromRawAmount(y,0),gasUseEstimateQuote:r.eF.fromRawAmount(m,0),inputAmountWithGasAdjusted:f,outputAmountWithGasAdjusted:h}}),gasUseEstimate:BigInt(null!=(y=m.gasUseEstimate)?y:"0"),gasUseEstimateBase:r.eF.fromRawAmount(T,0),gasUseEstimateQuote:r.eF.fromRawAmount(v,0),inputAmountWithGasAdjusted:b,outputAmountWithGasAdjusted:I,priceImpactBps:m.priceImpactBps};return{type:i.ZN.PCS_CLASSIC,trade:A}}(d,e.chainId,e.tradeType,null==n?void 0:n.input,null==n?void 0:n.output);if(y)return{order:y,quoteData:d.data}}async prime(e,t){let n=new URLSearchParams({chainId:String(e.chainId),inputToken:e.tokenIn,outputToken:e.tokenOut}),r=await fetch(`${this.baseUrl}/v2/prime?${n}`,{method:"GET",signal:t,headers:this.headers});if(!r.ok)throw Error(`Aggregator prime error: ${r.status}`)}async getCalldata(e){let{chainId:t,quoteData:n,recipient:r,slippageBps:a,deadline:i}=e,o=await fetch(`${this.baseUrl}/v1/calldata`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},body:JSON.stringify({chainId:t,...null!=n.requestId?{requestId:n.requestId}:{},srcToken:n.srcToken,dstToken:n.dstToken,tradeType:n.tradeType,inputAmount:n.inputAmount,outputAmount:n.outputAmount,gasUseEstimate:n.gasUseEstimate,routes:n.routes,...null!=n.swapFeeBps?{swapFeeBps:n.swapFeeBps}:{},...null!=n.swapFee?{swapFee:n.swapFee}:{},recipient:r,slippageTolerance:a/1e4,...null!=i?{deadline:i}:{}})});if(!o.ok)throw Error(`Aggregator calldata error: ${o.status}`);let u=await o.json();if(0!==u.code)throw Error(`Aggregator calldata: ${u.msg}`);return u.data}constructor(e,t){this.baseUrl=e,this.apiKey=t}},c=[{inputs:[{internalType:"address",name:"_uniV3Factory",type:"address"},{internalType:"bytes32",name:"_uniV3PoolInitCodeHash",type:"bytes32"},{internalType:"address",name:"_pcsV3Deployer",type:"address"},{internalType:"bytes32",name:"_pcsV3PoolInitCodeHash",type:"bytes32"},{internalType:"address",name:"_infinityVault",type:"address"},{internalType:"address",name:"_infinityCLPoolManager",type:"address"},{internalType:"address",name:"_infinityBinPoolManager",type:"address"},{internalType:"address",name:"_uniV4PoolManager",type:"address"},{internalType:"address",name:"_slipstreamPoolFactory",type:"address"},{internalType:"bytes32",name:"_slipstreamPoolInitCodeHash",type:"bytes32"},{internalType:"contract IWETH9",name:"_weth9",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AdapterNotWhitelisted",type:"error"},{inputs:[],name:"AmountMisMatch",type:"error"},{inputs:[],name:"BothDeltaNonPositive",type:"error"},{inputs:[],name:"ContractLocked",type:"error"},{inputs:[],name:"EnforcedPause",type:"error"},{inputs:[],name:"ExpectedPause",type:"error"},{inputs:[],name:"InputTokenNotMatchRouteFromToken",type:"error"},{inputs:[],name:"InsufficientETH",type:"error"},{inputs:[],name:"InsufficientToken",type:"error"},{inputs:[],name:"InsufficientWETH",type:"error"},{inputs:[],name:"InvalidFeePercentage",type:"error"},{inputs:[],name:"InvalidFeeReceiver",type:"error"},{inputs:[],name:"InvalidInitCodeHash",type:"error"},{inputs:[],name:"InvalidPoolManager",type:"error"},{inputs:[],name:"MinReturnNotReached",type:"error"},{inputs:[],name:"NonZeroNativeToken",type:"error"},{inputs:[],name:"NotPoolManager",type:"error"},{inputs:[],name:"NotVault",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"OwnableInvalidOwner",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"OwnableUnauthorizedAccount",type:"error"},{inputs:[],name:"PathWeightInvalid",type:"error"},{inputs:[],name:"RoutesLengthNotMatchRoutesAmountLength",type:"error"},{inputs:[],name:"SafeCastOverflow",type:"error"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"}],name:"SafeCastOverflowedUintToInt",type:"error"},{inputs:[],name:"TransactionDeadlinePassed",type:"error"},{inputs:[],name:"UNIV2_STYLED_ADAPTER_INSUFFICIENT_LIQUIDITY",type:"error"},{inputs:[],name:"V3InvalidCaller",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{inputs:[],name:"ZeroAmount",type:"error"},{inputs:[],name:"ZeroNativeToken",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"adapter",type:"address"},{indexed:!1,internalType:"bool",name:"whitelisted",type:"bool"}],name:"AdapterWhitelisted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newFeeReceiver",type:"address"}],name:"FeeReceiverUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"feeAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"recipient",type:"address"}],name:"FeeRecord",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"inputToken",type:"address"},{indexed:!1,internalType:"address",name:"outputToken",type:"address"},{indexed:!1,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"inputAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"outputAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"recipient",type:"address"}],name:"OrderRecord",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferStarted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"id",type:"uint256"}],name:"SwapOrderId",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[],name:"WETH9",outputs:[{internalType:"contract IWETH9",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"feeReceiver",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isAdapterWhitelisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"}],name:"lockAcquired",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"pancakeV3SwapCallback",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"pendingOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_feeReceiver",type:"address"}],name:"setFeeReceiver",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"orderId",type:"uint256"},{components:[{internalType:"address",name:"inputToken",type:"address"},{internalType:"address",name:"outputToken",type:"address"},{internalType:"uint256",name:"minOutputAmount",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],internalType:"struct IAggregator.BaseExactInRequest",name:"request",type:"tuple"},{internalType:"uint256[]",name:"routesAmount",type:"uint256[]"},{components:[{internalType:"uint256[]",name:"mixAdapters",type:"uint256[]"},{internalType:"address[]",name:"assetTo",type:"address[]"},{internalType:"uint256[]",name:"rawData",type:"uint256[]"},{internalType:"bytes[]",name:"extraData",type:"bytes[]"},{internalType:"address",name:"fromToken",type:"address"}],internalType:"struct IAggregator.RouterPath[][]",name:"routes",type:"tuple[][]"},{internalType:"uint256",name:"feeConfig",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"swapExactIn",outputs:[{internalType:"uint256",name:"outputAmtReceived",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"orderId",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bool",name:"isWrap",type:"bool"},{internalType:"uint256",name:"feeConfig",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"swapWrap",outputs:[{internalType:"uint256",name:"outputAmtReceived",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"}],name:"sweep",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"uniswapV3SwapCallback",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"}],name:"unlockCallback",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"adapter",type:"address"},{internalType:"bool",name:"whitelisted",type:"bool"}],name:"whitelistAdapter",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}]},96203:(e,t,n)=>{n.d(t,{wZ:()=>s});var r=n(985148),a=n(656862),i=n(484305),o=n.n(i),u=n(792118);let s=(0,r.eU)(""),l=(0,a.Iz)(e=>(0,r.eU)(new AbortController));(0,r.eU)(null,(e,t,n)=>{e(l(n)).abort()}),(0,a.Iz)(e=>(0,r.eU)(t=>{let n=t(l(e));return(0,u.RV)({transportSignal:n.signal})}),o())}
1,109498:(e,t,n)=>{n.d(t,{Ay:()=>I,Ih:()=>w,Yi:()=>A});var r=n(769932),a=n(25963),i=n(733775),o=n(189346),u=n(868491),s=n(663257),l=n(545416),p=n(528523),c=n(236088),d=n(987212),y=n(909114),m=n(633571),f=n(81697),h=n(792118),g=n(505339),T=n(560549);class v extends Error{}let b=e=>e.isToken?e.address.toLowerCase():e.symbol;function I(e,t,n){let p=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],I=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"V3SmartSwap",A=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"swap",{t:w}=(0,r.A)(),{sendTransactionAsync:C}=(0,c.s)(),E=h.e7[t],S=(0,g.A)(t,e,A),{isPaymasterAvailable:P,isPaymasterTokenActive:x,sendPaymasterTransaction:k}=(0,m.E)(),{maxFeePerGas:N,maxPriorityFeePerGas:U}=(0,y.N)(t);return(0,a.useMemo)(()=>n&&C&&e&&t&&E?{callback:async function(){let r=await Promise.all(p.map(r=>{let{address:a,calldata:i,value:o}=r;if("getCall"in r)return{call:r,gasEstimate:void 0};let l=!o||(0,T.b)(o)?{account:e,to:a,data:i,value:0n}:{account:e,to:a,data:i,value:(0,s.uU)(o)};return E.estimateGas(l).then(e=>({call:r,gasEstimate:e})).catch(s=>(console.debug("Gas estimate failed, trying to extract error",r,s),(0,f.h)({action:"swap",account:e,chainId:t,target:a,calldata:i,value:o,error:s,context:{type:I,txTarget:"AMM",phase:"estimateGas",tradeType:n.tradeType,inputAddress:b(n.inputAmount.currency),outputAddress:b(n.outputAmount.currency),quotedInputAmountRaw:n.inputAmount.toExact(),quotedOutputAmountRaw:n.outputAmount.toExact()}}
1),{call:r,error:(0,u.w)(s,w)}))})),a=r.find((e,t,n)=>"gasEstimate"in e&&(t===n.length-1||"gasEstimate"in n[t+1]));if(!a){let e=r.filter(e=>"error"in e);if(e.length>0)throw e[e.length-1].error;let t=r.find(e=>!("error"in e));if(!t)throw Error(w("Unexpected error. Could not estimate gas for the swap."));a=t}let c="getCall"in a.call?await a.call.getCall():a.call;if("error"in c)throw Error("Route lost. Need to restart.");return"gas"in c&&c.gas?c.gas=BigInt(c.gas):c.gas="gasEstimate"in a&&a.gasEstimate?(0,i.KL)(a.gasEstimate,(0,i.aU)(t)):void 0,(P&&x?k(c,e):C({account:e,chainId:t,to:c.address,data:c.calldata,value:c.value&&!(0,T.b)(c.value)?(0,s.uU)(c.value):0n,gas:c.gas,maxFeePerGas:N,maxPriorityFeePerGas:U})).then(e=>(S({order:{type:d.ZN.PCS_CLASSIC,trade:n},hash:e,type:I}),{hash:e})).catch(r=>{if((0,o.U)(r))throw new v(w("Transaction rejected"));if((0,f.h)({action:"swap",account:e,chainId:t,target:c.address,calldata:c.calldata,value:c.value,error:r,context:{type:I,txTarget:"AMM",tradeType:n.tradeType,inputAddress:b(n.inputAmount.currency),outputAddress:b(n.outputAmount.currency),quotedInputAmountRaw:n.inputAmount.toExact(),quotedOutputAmountRaw:n.outputAmount.toExact(),cause:r instanceof l.$s?r.cause:void 0}}),P&&x)throw Error(`Swap failed: ${w("Try again with more gas token balance.")} ${(0,u.w)(r,w)}`);throw Error(`Swap failed: ${(0,u.w)(r,w)}`)})}}:{callback:null},[n,C,e,t,E,p,w,S,I,k,P,x,N,U])}let A=e=>e instanceof p.vx||e instanceof v||"string"!=typeof e&&(0,o.U)(e),w=e=>e instanceof l.$s&&e.message.includes("user rejected the upgrade")},111639:(e,t,n)=>{n.d(t,{G:()=>i,s:()=>a});var r=n(987212);function a(e){if(e&&e.type===r.ZN.PCS_CLASSIC)return e.aggregatorQuoteData}function i(e){return void 0!==a(e)}},204121:(e,t,n)=>{n.d(t,{GA:()=>T,Kh:()=>g});var r,a,i,o,u=n(228876),s=n(273523);let l=["v2","v3","stableswap","infinityCl","infinityBin"],p=["univ2","univ3","univ4"],c=["univ4"],d=["univ2","univ3","univ4"],y={[u.nU.ETHEREUM]:["univ2","univ3","univ4","native","tessera"],[u.nU.BASE]:["propamm_pcs","native","dexv1","tessera"],[u.nU.BSC]:["propamm_pcs","propamm_rfq","native","tessera"],[u.nU.ROBINHOOD]:["native","tessera"]},m={[u.nU.ETHEREUM]:["pcsv2","pcsv3","infinityCl","infinityBin","stableswap",...null!=(r=y[u.nU.ETHEREUM])?r:[]],[u.nU.BASE]:["v2","v3","infinityCl","infinityBin","stableswap",...null!=(a=y[u.nU.BASE])?a:[]],[u.nU.BSC]:[...l,...null!=(i=y[u.nU.BSC])?i:[]],[u.nU.ROBINHOOD]:["pcsv2","pcsv3",...(0,s.El)(u.nU.ROBINHOOD),...null!=(o=y[u.nU.ROBINHOOD])?o:[]]},f={[u.nU.ETHEREUM]:{v2:"pcsv2",v3:"pcsv3"},[u.nU.BASE]:{v2:"v2",v3:"v3"},[u.nU.BSC]:{v2:"v2",v3:"v3"},[u.nU.ROBINHOOD]:{v2:"pcsv2",v3:"pcsv3"}};function h(e){var t,n,r,a,i,o,s,h;let g=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},T=null!=(o=null!=(i=null==(n=e.amount)||null==(t=n.currency)?void 0:t.chainId)?i:null==(r=e.currency)?void 0:r.chainId)?o:null==(a=e.baseCurrency)?void 0:a.chainId,v=null!=(s=g.vercelEnv)?s:"production",b=T===u.nU.BSC&&("production"!==v||!0===g.bscUniSupportEnabled),I=T===u.nU.BASE&&("production"!==v||!0===g.baseUniSupportEnabled),A=T===u.nU.ROBINHOOD&&("production"!==v||!0===g.robinhoodUniSupportEnabled),w=((e,t)=>{var n,r,a;let{useBscUniProtocols:i,useBaseUniProtocols:o,useRobinhoodUniProtocols:s}=t;return i?[...l,...null!=(n=y[u.nU.BSC])?n:[],...p]:o?[...null!=(r=m[u.nU.BASE])?r:[],...c]:s?[...null!=(a=m[u.nU.ROBINHOOD])?a:[],...d]:e?m[e]:void 0})(T,{useBscUniProtocols:b,useBaseUniProtocols:I,useRobinhoodUniProtocols:A});if(!w||0===w.length)return;let C=b?{v2:"v2",v3:"v3"}:T?f[T]:void 0;if(!C)return;let E=new Set;e.v2Swap||E.add(C.v2),e.v3Swap||E.add(C.v3),e.infinitySwap||(E.add("infinityCl"),E.add("infinityBin")),e.stableSwap||E.add("stableswap");let S=new Set(null!=(h=e.disabledAggregatorProtocols)?h:[]);return{protocols:w.filter(e=>!E.has(e)&&!S.has(e)),supportedProtocols:w,useExplicitList:T===u.nU.BSC||T===u.nU.BASE||T===u.nU.ROBINHOOD||b}}function g(e){var t;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=h(e,n);if(!r)return;let{protocols:a,supportedProtocols:i,useExplicitList:o}=r;if(o)return a.join(",");let u=new Set(null!=(t=e.disabledAggregatorProtocols)?t:[]);if(a.length!==i.length||0!==u.size)return a.join(",")}function T(e){var t;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=h(e,n);return null!=(t=null==r?void 0:r.protocols.includes("native"))&&t}},235225:(e,t,n)=>{n.d(t,{c8:()=>l,pd:()=>p});var r=n(228876),a=n(107723),i=n(733775);let o=(0,a.b)("0x2f68417A18dA681589F4eA64B9Cc9839209acfF7"),u=(0,a.b)("0x6AF306Cd8Be7CEfd38edf4cB7D6FE83A6E29661B"),s={[r.nU.ETHEREUM]:[o],[r.nU.BASE]:[o],[r.nU.BSC]:[o],[r.nU.ROBINHOOD
1]:[u]},l=Object.entries(s).filter(e=>{var t;let[,n]=e;return(null!=(t=null==n?void 0:n.length)?t:0)>0}).map(e=>{let[t]=e;return Number(t)});function p(e,t){let n;if(!e||!t)return!1;let r=s[e];if(!r||0===r.length)return!1;try{n=(0,a.b)(t)}catch{return!1}return r.some(e=>(0,i.ho)(e,n))}},247821:(e,t,n)=>{n.d(t,{H:()=>r.H9});var r=n(559180)},253294:(e,t,n)=>{n.d(t,{Ay:()=>f,NG:()=>y,hz:()=>g,s9:()=>h});var r=n(769932),a=n(311560),i=n(608135),o=n(53670),u=n(25963),s=n(306411),l=n(569019),p=n(623895),c=n(555967),d=n(276389),y=function(e){return e[e.NOT_APPLICABLE=0]="NOT_APPLICABLE",e[e.WRAP=1]="WRAP",e[e.UNWRAP=2]="UNWRAP",e}({});let m={wrapType:0};function f(e,t,n){let{t:y}=(0,r.A)(),{account:f,chainId:h}=(0,o.W7)(),{callWithGasPrice:g}=(0,p.M)(),T=(0,c.W_)(),v=(0,l.rL)(null!=f?f:void 0,e),b=(0,u.useMemo)(()=>(0,i.A)(n,e),[e,n]),I=(0,s.OQ)(),A=(0,d.i)();return(0,u.useMemo)(()=>{var n,r;if(!T||!h||!e||!t||e.chainId!==t.chainId)return m;let i=b&&v&&!v.lessThan(b);return(null==e?void 0:e.isNative)&&(null==(n=a.xQ[h])?void 0:n.equals(t))?{wrapType:1,execute:i&&b?async()=>{try{let t=await g(T,"deposit",void 0,{value:b.quotient}),n=b.toSignificant(6),r=e.symbol,i=a.xQ[h].symbol;return I(t,{summary:`Wrap ${n} ${r} to ${i}`,translatableSummary:{text:"Wrap %amount% %native% to %wrap%",data:{amount:n,native:r,wrap:i}},type:"wrap"}),{hash:null==t?void 0:t.hash}}catch(e){console.error("Could not deposit",e)}}:void 0,inputError:i?void 0:y("Insufficient %symbol% balance",{symbol:e.symbol})}:(null==(r=a.xQ[h])?void 0:r.equals(e))&&(null==t?void 0:t.isNative)?{wrapType:2,execute:i&&b?async()=>{try{let e=await g(T,"withdraw",[b.quotient],{skipSimulate:A}),n=b.toSignificant(6),r=a.xQ[h].symbol,i=t.symbol;return I(e,{summary:`Unwrap ${n} ${r} to ${i}`,translatableSummary:{text:"Unwrap %amount% %wrap% to %native%",data:{amount:n,wrap:r,native:i}}}),{hash:null==e?void 0:e.hash}}catch(e){console.error("Could not withdraw",e)}}:void 0,inputError:i?void 0:y("Insufficient %symbol% balance",{symbol:e.symbol})}:m},[T,h,e,t,y,b,v,I,g,A])}function h(e,t,n){let{wrapType:r}=f(e,t,n);return 0!==r}function g(e,t,n){var r,i;return!!n&&!!e&&!!t&&!!((null==e?void 0:e.isNative)&&(null==(r=a.xQ[n])?void 0:r.equals(t))||(null==(i=a.xQ[n])?void 0:i.equals(e))&&(null==t?void 0:t.isNative))}},263924:(e,t,n)=>{n.d(t,{j:()=>d});var r=n(539502),a=n(765853),i=n(734658),o=n(985148),u=n(656862);class s{async getLogger(){return(await Promise.resolve().then(n.bind(n,781649))).getLogger(this.topic)}track(e){this.records.push([e,Date.now()-this.start])}getRecords(){let e={};return this.records.forEach(t=>{let[n,r]=t;e[n]=r}),e}addFlag(e,t){this.trace.flags[e]=t}success(e){this.track("success")}fail(e){e instanceof Error?this.trace.error=e.message:this.trace.error=String(e),this.track("fail")}async report(e){let t=this.getRecords();this.trace.perf=t;let n=this.trace.perf.success||this.trace.perf.fail,r=this.trace.perf.start;this.trace.perf.duration=n-r,(await this.getLogger()).log(e,this.trace)}constructor(e,t,n){this.topic=e,this.records=[],this.trace=t,this.start=n}}var l=n(53670);let p=[{regex:/MetaMask/i,app:"mm"},{regex:/Trust Wallet/i,app:"trust"},{regex:/CoinbaseWallet/i,app:"coinbase"}];class c extends s{success(e){super.success(),e.trade.tradeType===i.nP.EXACT_INPUT?this.trace.quote=e.trade.outputAmount.toExact():this.trace.quote=e.trade.inputAmount.toExact()}async report(e){this.trace.route}}let d=(0,u.Iz)(e=>(0,o.eU)(t=>{var n,o;let{account:u}=t(l.sY),s=t(l.de),d=t(l.kf),y=t(a.yY),m={quoteHash:e.hash,createAt:Date.now(),currencyA:e.baseCurrency?(0,i.eG)(e.baseCurrency):"",currencyB:e.currency?(0,i.eG)(e.currency):"",tradeType:e.tradeType||i.nP.EXACT_INPUT,amount:`${(null==(n=e.amount)?void 0:n.quotient)||0}`,v2Swap:!!e.v2Swap,v3Swap:!!e.v3Swap,infinitySwap:e.infinitySwap,infinityStableSwap:!!e.infinityStableSwap,xSwap:e.xEnabled,chainId:null==(o=e.currency)?void 0:o.chainId,account:u,route:e.routeKey,perf:{start:0,pool_success:0,pool_error:0,success:0,fail:0,duration:0},flags:{},app:function(){if((0,r.YN)())return"bn";let e=navigator.userAgent;for(let{regex:t,app:n}of p)if(t.test(e))return n;return(0,r.Ny)()?/Android/i.test(e)?"android":/iPhone|iPad|iPod/i.test(e)?"ios":"mobile":"web"}()||"web",env:s.env,wallet:s.wallet,connectorId:null==d?void 0:d.id,selectedWalletId:null==y?void 0:y.id,quote:"",error:""},f=new c("quote",m,e.createTime);return{trace:m,tracker:f}}),(e,t)=>e.hash===t.hash&&e.routeKey===t.routeKey)}
1,265449:(e,t,n)=>{n.d(t,{A:()=>i});var r=n(350979);n(25963);var a=n(257057);let i=e=>(0,r.jsx)(a.A,{viewBox:"0 0 24 24",...e,children:(0,r.jsx)("path",{d:"M17.65 6.35C16.02 4.72 13.71 3.78 11.17 4.04C7.50002 4.41 4.48002 7.39 4.07002 11.06C3.52002 15.91 7.27002 20 12 20C15.19 20 17.93 18.13 19.21 15.44C19.53 14.77 19.05 14 18.31 14C17.94 14 17.59 14.2 17.43 14.53C16.3 16.96 13.59 18.5 10.63 17.84C8.41002 17.35 6.62002 15.54 6.15002 13.32C5.31002 9.44 8.26002 6 12 6C13.66 6 15.14 6.69 16.22 7.78L14.71 9.29C14.08 9.92 14.52 11 15.41 11H19C19.55 11 20 10.55 20 10V6.41C20 5.52 18.92 5.07 18.29 5.7L17.65 6.35Z"})})},295839:(e,t,n)=>{n.d(t,{j:()=>a});var r=n(198559);function a(e){let{result:t,placeholder:n,placeholderHash:a}=e;if(!t.isPending()||!n)throw Error("to call handlePlaceholderForPendingResult, result must be pending and placeholder must exist");return(n instanceof Error?r.x_.Fail(n):r.x_.Just(n)).setFlag("placeholder").setExtra("placeholderHash",a)}},356870:(e,t,n)=>{n.d(t,{B$:()=>o,Z$:()=>s});var r=n(734658),a=n(975726),i=n(541375);class o{static hashCurrenciesWithSort(e,t){let n=[];e&&n.push(e),t&&!u(e,t)&&n.push(t);let i=((null==e?void 0:e.chainId)!==(null==t?void 0:t.chainId)?n:(0,r.Uy)(n)).map(e=>`${(0,r.eG)(e)}_${e.chainId}`).join(",");return(0,a.S)(`0x${i}`)}static hashCurrencies(e,t){let n=[];e&&n.push(e),t&&!u(e,t)&&n.push(t);let i=n.map(e=>`${(0,r.eG)(e)}_${e.chainId}`).join(",");return(0,a.S)(`0x${i}`)}}o.hashPoolQuery=e=>{let{currencyA:t,currencyB:n,blockNumber:r,...u}=e;try{let e=o.hashCurrenciesWithSort(t,n),r=(0,a.S)(`0x${(0,i.A)(u)}`);return(0,a.S)(`${e}-$${r}`)}catch(t){throw console.error(t,"error: with query",e),t}},o.hashQuoteQuery=e=>{var t,n;let{slippage:r,blockNumber:u,gasLimit:s,provider:l,createTime:p,destinationBlockNumber:c,gasLimitDestinationChain:d,hash:y,placeholderHash:m,routeKey:f,amount:h,currency:g,...T}=e,v=null==(t=e.baseCurrency)?void 0:t.chainId,b=null==(n=e.currency)?void 0:n.chainId,I=(0,a.S)(`0x${(0,i.A)(T)}:${v}:${b}`),A=o.hashCurrencies(null==h?void 0:h.currency,g||void 0),w=[null==h?void 0:h.toExact(),A,I];return(0,a.S)(`0x${w.join(":")}`)},o.hashPlaceHolderQuoteQuery=e=>{var t,n;let{amount:r,currency:u,nonce:s,infinitySwap:l,infinityStableSwap:p,v2Swap:c,v3Swap:d,stableSwap:y}=e,m=null==(t=e.baseCurrency)?void 0:t.chainId,f=null==(n=e.currency)?void 0:n.chainId,h=(0,a.S)(`0x${(0,i.A)({nonce:s,infinitySwap:l,infinityStableSwap:p,v2Swap:c,v3Swap:d,stableSwap:y})}:${m}:${f}`),g=o.hashCurrencies(null==r?void 0:r.currency,u||void 0),T=[null==r?void 0:r.toExact(),g,h];return(0,a.S)(`0x${T.join(":")}`)},o.hashStrategyQuery=e=>{let{baseCurrency:t,quoteCurrency:n,...r}=e,u=o.hashCurrencies(t,n),s=(0,a.S)(`0x${(0,i.A)(r)}`);return(0,a.S)(`${u}-$${s}`)};let u=(e,t)=>e===t||!!e&&!!t&&(0,r.eG)(e)===(0,r.eG)(t)&&e.chainId===t.chainId,s=(e,t)=>e.hash===t.hash},383977:(e,t,n)=>{n.d(t,{Q:()=>s,t:()=>u});var r=n(734658),a=n(367142),i=n(781649),o=n(459247);let u=e=>{let{account:t,hash:n,chainId:r}=e;fetch(`/api/_log/${t}/${r}/${n}`)},s=e=>{let{input:t,output:n,inputAmount:u,outputAmount:s,quotedInputAmountRaw:l,maximumAmountInRaw:p,quotedOutputAmountRaw:c,minimumAmountOutRaw:d,chainId:y,account:m,hash:f,type:h,tradeType:g,isMultisig:T=!1,env:v,wallet:b,source:I="swap",quoteHash:A,quoteSource:w,providerQuoteId:C,rwaFamily:E,rwaUnderlyingSymbol:S}=e;try{var P,x;i.logger.info(h,{tradeType:g,inputAddress:t.isToken?t.address.toLowerCase():t.symbol,outputAddress:n.isToken?n.address.toLowerCase():n.symbol,inputAmount:u,outputAmount:s,quotedInputAmountRaw:l,maximumAmountInRaw:p,quotedOutputAmountRaw:c,minimumAmountOutRaw:d,account:m,hash:f,chainId:y,isMultisig:T,env:v,wallet:b,source:I,quoteHash:A,quoteSource:w,providerQuoteId:C}),(0,o.Dt)("swap_succeeded",{...(0,o.bD)({account:m,chainId:y}),type:h,tradeType:void 0!==g?r.nP[g]:null,inputAddress:t.isToken?t.address.toLowerCase():null!=(P=t.symbol)?P:null,outputAddress:n.isToken?n.address.toLowerCase():null!=(x=n.symbol)?x:null,inputAmount:u,outputAmount:s,quotedInputAmountRaw:l,maximumAmountInRaw:p,quotedOutputAmountRaw:c,minimumAmountOutRaw:d,hash:f,isMultisig:T,env:null!=v?v:null,wallet:null!=b?b:a.c.Unknown,source:I,quoteHash:null!=A?A:null,quoteSource:null!=w?w:null,providerQuoteId:null!=C?C:null,rwa_family:null!=E?E:null,rwa_underlying_symbol:null!=S?S:null,is_rwa_swap:!!E})}catch(e){}}}
1,387272:(e,t,n)=>{n.d(t,{B:()=>p,p:()=>l});var r=n(273523),a=n(792118),i=n(121480),o=n(356870);let u=new Map,s={hash:"",version:0};function l(e){let t=o.B$.hashQuoteQuery(e),n=Math.floor(Date.now()/12e4),r=o.B$.hashPlaceHolderQuoteQuery({...e,nonce:n});if(s.hash===r&&u.has(t))return u.get(t);s.hash!==r&&(s.version++,s.hash=r);let i={...e,ver:s.version};return i.hash=t,i.createTime=Date.now(),i.provider=e=>{let{chainId:t}=e;return a.e7[t]},i.placeholderHash=r,u.set(t,i),i}let p=(e,t)=>{let{baseCurrency:n,currency:a}=e;return{poolQuery:{currencyA:n,currencyB:a,chainId:a.chainId,blockNumber:e.blockNumber},poolOptions:{infinity:e.infinitySwap&&r.Di.includes(a.chainId),infinityStable:!!e.infinityStableSwap&&(0,i.E3)(a.chainId),v2Pools:!!e.v2Swap,v3Pools:!!e.v3Swap,stableSwap:!!e.stableSwap,provider:e.provider,for:e.for,gasLimit:e.gasLimit,signal:null==t?void 0:t.signal}}}},409534:(e,t,n)=>{n.d(t,{A:()=>i,h:()=>a});var r=n(985148);let a=(0,r.eU)(0),i=(0,r.eU)(0)},420377:(e,t,n)=>{n.d(t,{$e:()=>H,qx:()=>j});var r=n(734658),a=n(198559),i=n(806562),o=n(253294),u=n(985148),s=n(656862),l=n(356870),p=n(520899);let c=new Set;var d=n(603485),y=n(111639),m=n(277363),f=n(387165);let h={[d.J1.V2]:"v2",[d.J1.V3]:"v3",[d.J1.STABLE]:"stableswap",[d.J1.InfinityCL]:"infinityCl",[d.J1.InfinityBIN]:"infinityBin",[d.J1.InfinityStable]:"infinityStable",[d.J1.SVM]:"svm"};function g(e){if(null!=e)return String(e)}function T(e){var t;if(e)return{chainId:e.chainId,symbol:e.symbol,address:null!=(t=(0,r.eG)(e))?t:void 0,isNative:e.isNative}}function v(e){if(e)return{currency:T(e.currency),raw:g(e.quotient),display:function(e){if(e)try{if("function"==typeof e.toExact)return e.toExact();if("function"==typeof e.toSignificant)return e.toSignificant(6)}catch{}}(e)}}function b(e){return{type:g(null==e?void 0:e.type),fee:null==e?void 0:e.fee,address:g(null==e?void 0:e.address),aggregatorPoolType:g(null==e?void 0:e.aggregatorPoolType)}}function I(e){var t,n;return{percent:null==e?void 0:e.percent,inputAmount:g(null==e||null==(t=e.inputAmount)?void 0:t.quotient),outputAmount:g(null==e||null==(n=e.outputAmount)?void 0:n.quotient),path:Array.isArray(null==e?void 0:e.path)?e.path.map(e=>T(e)).filter(Boolean):[],pools:Array.isArray(null==e?void 0:e.pools)?e.pools.map(b):[]}}function A(e){if(!Array.isArray(e))return{};let t={};for(let n of e)if(Array.isArray(null==n?void 0:n.pools))for(let e of n.pools){let n=function(e){let t=g(null==e?void 0:e.aggregatorPoolType);if(t)return t;let n="number"==typeof(null==e?void 0:e.type)?e.type:"string"==typeof(null==e?void 0:e.type)?Number(e.type):void 0;if("number"==typeof n&&Number.isInteger(n)){let e=h[n];if(e)return e}return g(null==e?void 0:e.type)}(e);n&&(t[n]=!0)}return t}var w=n(781649),C=n(459247),E=n(425576);let S=(0,w.getLogger)("quote-session");function P(e){if(!e)return"0";try{return e.toSignificant?e.toSignificant(6):String(e)}catch{return String(e)}}async function x(e,t,n,a){try{var i;let e=void 0!==n?t[n].result.unwrapOr(void 0):void 0,o=null==e?void 0:e.trade;if(!o||!(!(!(i=a.hash)||c.has(i))&&(c.add(i),1)))return;let u=o.tradeType===r.nP.EXACT_INPUT,s=u?P(o.outputAmount):P(o.inputAmount),l=void 0!==n?t[n].key:"unknown",p=[],d={},h=[];t.forEach((e,t)=>{let r,a,i,o=e.result.unwrapOr(void 0),l=null==o?void 0:o.trade,c="success";if(e.result.isPending()&&(c="pending"),e.result.isFail()&&(c=e.isShadow?"shadow-fail":"fail"),l&&(r=u?P(l.outputAmount):P(l.inputAmount)),e.result.isFail()){let t=e.result.error;a=(null==t?void 0:t.message)||String(t)}if(p.push({Strategy:e.key,Status:c,Amount:r||a||"-"}),t!==n&&l){let t=u?P(l.outputAmount):P(l.inputAmount),{percent:n}=function(e,t){try{let n=parseFloat(e),r=parseFloat(t);if(Number.isNaN(n)||Number.isNaN(r)||0===n)return{diff:"0",percent:"0%"};let a=Math.abs(r-n),i=(a/n*100).toFixed(2);return{diff:a.toFixed(6),percent:`${i}%`}}catch{return{diff:"0",percent:"0%"}}}(s,t);i=n,d[e.key]={amount:t,diffPercent:n}}h.push({strategy:e.key,status:c,amount:r,diffPercent:i,error:a,order:function(e){if(!e)return null;if((0,f.x0)(e))return function(e){var t,n;let r=e.trade,a=(0,y.s)(e),i=(0,m.uf)(e);return{type:"PCS_CLASSIC",isAggregator:(0,y.G)(e),quoteSource:g(null==e?void 0:e.quoteSource),quoteQueryHash:g(null==r?void 0:r.quoteQueryHash),tradeType:null==r?void 0:r.tradeType,inputAmount:v(null==r?void 0:r.inputAmount),outputAmount:v(null==r?void 0:r.outputAmount),priceImpactBps:null==r?void 0:r.priceImpactBps,gasUseEstimate:g(null==r?void 0:r.gasUseEstimate),routeCount:Array.isArray(null==r?void 0:r.routes)?r.routes.length:0,routes:Array.isArray(null==r?void 0:r.routes)?r.routes.map(I):[],aggregatorQuoteData:a?{inputAmount:a.inputAmount,outputAmount:a.outputAmount,aggregatorAddress:a.aggregatorAddress,routeCount:null==(t=a.routes)?void 0:t.length}:void 0,liquidMeshQuoteData:i?{chainId:i.chainId,inputAmount:i.inputAmount,outputAmount:i.outputAmount,priceImpactPct:i.priceImpactPct,estimatedGas:i.estimatedGas,routeCount:null==(n=i.routePlans)?void 0:n.length}:void 0}}(e);if((0,f.mI)(e)){let t=e.trade;return{type:"PCS_BRIDGE",quoteQueryHash:g(null==t?void 0:t.quoteQueryHash),tradeType:null==t?void 0:t.tradeType,inputAmount:v(null==t?void 0:t.inputAmount),outputAmount:v(null==t?void 0:t.outputAmount),routeCount:Array.isArray(null==t?void 0:t.routes)?t.routes.length:0}}if((0,f.tI)(e)){let t=e.trade;return{type:"PCS_SVM",quoteQueryHash:g(null==t?void 0:t.quoteQueryHash),tradeType:null==t?void 0:t.tradeType,requestId:g(null==t?void 0:t.requestId),inputAmount:v(null==t?void 0:t.inputAmount),outputAmount:v(null==t?void 0:t.outputAmount),priceImpactPct:g(null==t?void 0:t.priceImpactPct),routeCount:Array.isArray(null==t?void 0:t.routes)?t.routes.length:0}}if((0,f.j7)(e)){let t=e.trade;return{type:"DUTCH_LIMIT",quoteQueryHash:g(null==t?void 0:t.quoteQueryHash),tradeType:null==t?void 0:t.tradeType,inputAmount:v(null==t?void 0:t.inputAmount),outputAmount:v(null==t?void 0:t.outputAmount)}}return null}(o)})});let b=function(e){var t;let{option:n,selectedStrategy:r,selectedAmount:a,selectedOrder:i,allStrategies:o}=e,u=Date.now();return{event:"quote.session.completed",version:1,quoteHash:n.hash,createdAt:n.createTime,completedAt:u,totalLatencyMs:Math.max(0,u-n.createTime),selectedStrategy:r,selectedAmount:a,selectedPoolTypes:function(e){var t;if((0,m.me)(e))return{liquidmesh:!0};if(!(0,f.x0)(e))return{};let n=(0,y.s)(e),r=A(null==n?void 0:n.routes);return Object.keys(r).length>0?r:A(null==(t=e.trade)?void 0:t.routes)}(i),tradeType:i.trade.tradeType,amount:g(null==(t=n.amount)?void 0:t.quotient),inputCurrency:T(n.baseCurrency),outputCurrency:T(n.currency),strategyCount:o.length,successCount:o.filter(e=>"success"===e.status).length,failedCount:o.filter(e=>"fail"===e.status||"shadow-fail"===e.status).length,pendingCount:o.filter(e=>"pending"===e.status).length,allStrategies:o}}({option:a,selectedStrategy:l,selectedAmount:s,selectedOrder:e,allStrategies:h});console.log("[quote-session]",b),S.log("quote.session.completed",b),(0,C.Dt)(b.event,{...b}),(0,C.yU)("swap_quote_ready",()=>({duration_ms:b.totalLatencyMs,selected_strategy:b.selectedStrategy,strategy_count:b.strategyCount,failed_count:b.failedCount,pending_count:b.pendingCount,outcome:"success",measurement_scope:"quote_ready"}),void 0,(0,E.Td)(a.createTime-performance.timeOrigin))}catch(e){}}var k=n(63635),N=n(96203),U=n(956611),_=n(862373),B=n(138310),O=n(987212);function R(e,t,n){return new r.xx({address:e,chainId:t,programId:n,decimals:0,symbol:"MOCK_INFO",name:"MOCK_INFO",logoURI:""})}var q=n(228876),F=n(678931),M=n(581513);let D=(0,s.Iz)(e=>(0,M.Q)(async t=>{let{baseCurrency:n,currency:o,amount:u,tradeType:s,address:l}=e,p=t(_.mz),c=t(_.Qe);if(!n||!o||!u||void 0===s)return a.x_.Nothing();let y=new AbortController;try{let t,m=(0,i.w)(async()=>{let[e,t]=s===r.nP.EXACT_INPUT?[n,o]:[o,n];return await (0,U.nr)({inputCurrency:e,outputCurrency:t,amount:u,tradeType:s,slippageBps:p,account:l,priorityFeeLamports:c,signal:y.signal})},{ms:B.Z1[q.Cb.SOLANA],abort:()=>{y.abort()}}),f=await m();if(f&&(t=function(e,t){let n=function(e){let t=[],n=[],a=new Set;for(let t=0;t<e.routes.length;t++){let n=e.routes[t];if(100===n.percent){let r=0;for(let a=0;a<t;a++)e.routes[a].swapInfo.outputMint===n.swapInfo.inputMint&&r++;r>=2&&a.add(t)}}for(let i=0;i<e.routes.length;i++){let o=e.routes[i];n.push(o);let u=i===e.routes.length-1,s=u?null:e.routes[i+1],l=s&&a.has(i+1),p=s&&!u&&o.swapInfo.outputMint===s.swapInfo.inputMint;if(u||s&&s.percent<100||l||!p&&s&&100===s.percent){let a=function(e,t){let n,a,i=e.map(e=>{var t,n;
1let r=BigInt(e.swapInfo.inAmount),a=BigInt(null!=(n=e.swapInfo.feeAmount)?n:0),i=Number(r>0?1000000n*a/r:0n)/Number(1000000n)*100;return{type:d.J1.SVM,id:e.swapInfo.ammKey.toString(),fee:Math.round(1e5*i)/1e5,feeAmount:e.swapInfo.feeAmount,feeMintAddress:null==(t=e.swapInfo.feeMint)?void 0:t.toString(),label:e.swapInfo.label}}),o=[],u=e[0],s=u.swapInfo.inputMint;n=s===t.inputAmount.currency.wrapped.address?t.inputAmount.currency:s===t.outputAmount.currency.wrapped.address?t.outputAmount.currency:R(s,t.inputAmount.currency.chainId,t.inputAmount.currency.programId),o.push(n);for(let n=0;n<e.length-1;n++){let r,a=e[n].swapInfo.outputMint;r=a===t.inputAmount.currency.wrapped.address?t.inputAmount.currency:a===t.outputAmount.currency.wrapped.address?t.outputAmount.currency:R(a,t.inputAmount.currency.chainId,t.inputAmount.currency.programId),o.push(r)}let l=e[e.length-1],p=l.swapInfo.outputMint;a=p===t.inputAmount.currency.wrapped.address?t.inputAmount.currency:p===t.outputAmount.currency.wrapped.address?t.outputAmount.currency:R(p,t.inputAmount.currency.chainId,t.inputAmount.currency.programId),o.push(a);let c=r.C3.fromRawAmount(n,u.swapInfo.inAmount),y=r.C3.fromRawAmount(a,l.swapInfo.outAmount);return{type:d.Y0.SVM,pools:i,path:o,inputAmount:c,outputAmount:y,percent:u.percent}}(n,e);t.push(a),n=[]}}return t}(e),a=Math.trunc(1e6*Math.abs(Number(e.priceImpactPct))),i={tradeType:t.tradeType||e.tradeType,inputAmount:e.inputAmount,outputAmount:e.outputAmount,priceImpactPct:a>0?new r.QE(a,1e6):new r.QE(0,1e4),routes:n,requestId:e.requestId,quoteQueryHash:t.hash,transaction:e.transaction,maximumAmountIn:r.C3.fromRawAmount(e.inputAmount.currency,e.otherAmountThreshold),minimumAmountOut:r.C3.fromRawAmount(e.outputAmount.currency,e.otherAmountThreshold),platformFeeBps:e.feeBps,platformFeeMint:e.feeMint,inUsdValue:e.inUsdValue,outUsdValue:e.outUsdValue};return{type:O.ZN.PCS_SVM,trade:i}}(f,e)),!t)return a.x_.Nothing();return a.x_.Just(t)}catch(e){if(e instanceof U.zs&&e.status>=400&&e.status<500&&429!==e.status&&e.message)return(0,F.qt)(e.message)||console.warn("[jupiter] unmapped /order rejection:",e.status,e.message),a.x_.Fail(new k.Ot(e.message));return a.x_.Fail(new k.$p("No valid swap quotes"))}finally{}}),l.Z$);var Q=n(586276),L=n(409534),$=n(619402),G=n(295839);function V(e){let t=e.find(e=>e instanceof i.M),n=e.find(e=>e instanceof k.BT);return t||n||(e.length>0&&e.every(e=>e instanceof k.Mt)?e[0]:new k.$p)}let j=(0,s.Iz)(e=>(0,u.eU)(t=>{if(!t(N.wZ))return a.x_.Pending();let n={enabled:!0,type:"quoter",tradeType:r.nP.EXACT_INPUT,...e};try{var u,s,l,c,d;let e=null==(u=n.amount)?void 0:u.currency;if(n.baseCurrency&&n.currency&&r.xx.isSPLToken(n.baseCurrency)&&r.xx.isSPLToken(n.currency)&&e&&r.xx.isSPLToken(e))return t(D(n));if(!n.currency||!e||r.xx.isSPLToken(e)||r.xx.isSPLToken(n.currency)||(0,o.hz)(e,n.currency,null==(s=n.currency)?void 0:s.chainId)||!n.enabled||!n.baseCurrency||!n.currency||(null==(l=n.baseCurrency)?void 0:l.equals(n.currency))||!(null==(c=n.amount)?void 0:c.quotient))return a.x_.Nothing();let y=t((0,$.XR)(n)),m=[...new Set(y.map(e=>{var t;return null!=(t=e.priority)?t:1}))].sort((e,t)=>e-t).map(e=>y.filter(t=>{var n;return(null!=(n=t.priority)?n:1)===e}));for(let e=0;e<m.length;e++){let r=m[e];if(0===r.length)return a.x_.Fail(new k.$p);let{quote:o,anyShadowFail:u,anyTimeout:s,key:l}=function(e,n){try{let r=t(L.A),o=e.map(e=>{let a={...n,...e.overrides,routeKey:e.key};return("x"===e.key||"liquidmesh"===e.key)&&(a.hash=`${n.hash}:x:${r}`),{result:t(e.query(a)),isShadow:e.isShadow,key:e.key}}),u=o.some(e=>e.result.isPending()),s=o.some(e=>e.result.isFail()),l=o.filter(e=>e.result.isFail()).map(e=>e.result.error),c=(0,p.G)(...o.map(e=>e.result)),d=o.some(e=>e.isShadow&&e.result.isFail()),y=l.some(e=>e instanceof i.M);if(!c){if(u)return{quote:a.x_.Pending(),anyShadowFail:d,anyTimeout:y};return{quote:s?a.x_.Fail(V(l)):a.x_.Nothing(),anyShadowFail:d,anyTimeout:y}}let[m,f]=c;if(m){if(!u)return x(e,o,f,n).catch(()=>{}),{quote:a.x_.Just(m),anyShadowFail:d,anyTimeout:y,key:o[f].key};if(e.some(e=>"aggregator"===e.key))return{quote:a.x_.Just(m),anyShadowFail:d,anyTimeout:y,key:o[f].key};return{quote:a.x_.Pending(m),anyShadowFail:d,anyTimeout:y}}return{quote:s?a.x_.Fail(V(l)):a.x_.Nothing(),anyShadowFail:d,anyTimeout:y}}catch(e){return{quote:a.x_.Fail(V([e]))}}}(r,n);if(o.isJust()){let e=o.unwrap();if((0,f.mI)(e)||(0,f.tI)(e))continue;if(!u){return d=l,console.log(`%c[quote] with ${d}`,"color: green; font-weight: bold;"),o}}if(s)return o;if(!(o.isNothing()||o.isFail()&&e!==m.length-1)&&(!o.isJust()||!u))return o}return a.x_.Nothing()}catch(e){return console.error("[quote] Error getting quote:",e),a.x_.Fail(e)}}),l.Z$),H=(0,s.Iz)(e=>(0,u.eU)(t=>{let n=t(j(e));if(n.isPending()){let r=t((0,Q.l)(e.placeholderHash||""));
1if(void 0!==r)return(0,G.j)({result:n,placeholder:r,placeholderHash:e.placeholderHash})}return n.setExtra("placeholderHash",e.placeholderHash)}),l.Z$)},455983:(e,t,n)=>{n.d(t,{PR:()=>s,Ud:()=>i,We:()=>u});var r=n(479388);async function a(e){return(await e.publicClient.readContract({address:e.entry,abi:r.vy,functionName:"getSupportedPairs"})).map(e=>({tokenA:e.tokenA,tokenB:e.tokenB}))}async function i(e){return a(e)}function o(e,t){let[n,r]=[e.toLowerCase(),t.toLowerCase()].sort();return`${n}:${r}`}function u(e){return new Set(e.map(e=>o(e.tokenA,e.tokenB)))}function s(e,t,n){let r=o(t,n);return e instanceof Set?e.has(r):e.some(e=>o(e.tokenA,e.tokenB)===r)}},479388:(e,t,n)=>{n.d(t,{vy:()=>a,wi:()=>i,xw:()=>r});let r=[{type:"function",name:"decimals",stateMutability:"view",inputs:[],outputs:[{name:"",type:"uint8"}]},{type:"function",name:"symbol",stateMutability:"view",inputs:[],outputs:[{name:"",type:"string"}]},{type:"function",name:"allowance",stateMutability:"view",inputs:[{name:"owner",type:"address"},{name:"spender",type:"address"}],outputs:[{name:"",type:"uint256"}]},{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]}],a=[{type:"function",name:"quoteExactInput",stateMutability:"view",inputs:[{name:"fromToken",type:"address"},{name:"toToken",type:"address"},{name:"fromAmount",type:"uint256"}],outputs:[{name:"toAmount",type:"uint256"}]},{type:"function",name:"quoteExactOutput",stateMutability:"view",inputs:[{name:"fromToken",type:"address"},{name:"toToken",type:"address"},{name:"toAmount",type:"uint256"}],outputs:[{name:"fromAmount",type:"uint256"}]},{type:"function",name:"getAmountOut",stateMutability:"view",inputs:[{name:"fromToken",type:"address"},{name:"toToken",type:"address"},{name:"fromAmount",type:"uint256"}],outputs:[{name:"toAmount",type:"uint256"}]},{type:"function",name:"getAmountIn",stateMutability:"view",inputs:[{name:"fromToken",type:"address"},{name:"toToken",type:"address"},{name:"toAmount",type:"uint256"}],outputs:[{name:"fromAmount",type:"uint256"}]},{type:"function",name:"getSupportedPairs",stateMutability:"view",inputs:[],outputs:[{name:"",type:"tuple[]",components:[{name:"tokenA",type:"address"},{name:"tokenB",type:"address"}]}]},{type:"function",name:"pricing",stateMutability:"view",inputs:[],outputs:[{name:"",type:"address"}]},{type:"function",name:"vault",stateMutability:"view",inputs:[],outputs:[{name:"",type:"address"}]},{type:"function",name:"swap",stateMutability:"nonpayable",inputs:[{name:"fromToken",type:"address"},{name:"toToken",type:"address"},{name:"specifiedAmount",type:"int256"},{name:"limitAmount",type:"uint256"},{name:"receiver",type:"address"}],outputs:[{name:"fromAmount",type:"uint256"},{name:"toAmount",type:"uint256"}]}],i=[{type:"function",name:"swapExactIn",stateMutability:"payable",inputs:[{name:"orderId",type:"uint256"},{name:"request",type:"tuple",components:[{name:"inputToken",type:"address"},{name:"outputToken",type:"address"},{name:"minOutputAmount",type:"uint256"},{name:"deadline",type:"uint256"}]},{name:"routesAmount",type:"uint256[]"},{name:"routes",type:"tuple[][]",components:[{name:"mixAdapters",type:"uint256[]"},{name:"assetTo",type:"address[]"},{name:"rawData",type:"uint256[]"},{name:"extraData",type:"bytes[]"},{name:"fromToken",type:"address"}]},{name:"feeConfig",type:"uint256"},{name:"recipient",type:"address"}],outputs:[{name:"outputAmtReceived",type:"uint256"}]}]},505339:(e,t,n)=>{n.d(t,{A:()=>I});var r=n(311560),a=n(603485),i=n(721745),o=n(25963),u=n(893573),s=n(306411),l=n(733775),p=n(178852),c=n(383977),d=n(131619),y=n(775517),m=n(687287),f=n(862373),h=n(118708),g=n(228876),T=n(882318),v=n(743818),b=n(740396);function I(e,t){var n,I,A,w;let C=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"swap",E=(0,s.OQ)(),{env:S,wallet:P}=(0,v.j6)(),x=(0,u.mU)(),{recipient:k}=x,N=null===k?t:k,{slippageTolerance:U}=(0,y.Az)(),_=(0,h.md)(f.mz),B=(0,d.H2)(null==(n=x[T.D0.INPUT])?void 0:n.currencyId,null==(I=x[T.D0.INPUT])?void 0:I.chainId),O=(0,d.H2)(null==(A=x[T.D0.OUTPUT])?void 0:A.currencyId,null==(w=x[T.D0.OUTPUT])?void 0:w.chainId),R=(0,m.wG)(B),q=(0,m.wG)(O),{rwaFamily:F,rwaUnderlyingSymbol:M}=(0,b.p)(B,O);return(0,o.useCallback)(n=>{let o,u,{order:s,hash:d,type:y,receipt:m,isMultisig:f=!1,quoteHash:h,quoteSource:T,providerQuoteId:v}=n,b=null==s?void 0:s.trade;if(!b||!t||!e)return;let I=(0,p.aW)((0,g.fT)(e)?_:U),A=b.inputAmount.currency.symbol,w=b.outputAmount.currency.symbol;(0,g.fT)(e)?(o=R(b.inputAmount,3),u=q(b.outputAmount,3)):(o=b.tradeType===r.nP.EXACT_INPUT?R(b.inputAmount,3):R(a.tj.maximumAmountIn(b,I),3),u=b.tradeType===r.nP.EXACT_OUTPUT?q(b.outputAmount,3):q(a.tj.minimumAmountOut(b,I),3));
1let x=b.inputAmount.toExact(),k=b.tradeType===r.nP.EXACT_INPUT?x:a.tj.maximumAmountIn(b,I).toExact(),B=b.outputAmount.toExact(),O=b.tradeType===r.nP.EXACT_OUTPUT?B:a.tj.minimumAmountOut(b,I).toExact(),D=`Swap ${b.tradeType===r.nP.EXACT_OUTPUT?"max.":""} ${o} ${A} for ${b.tradeType===r.nP.EXACT_INPUT?"min.":""} ${u} ${w}`,Q=N&&(0,l.QR)(N)?(0,i.A)(N):N,L=N===t?D:`${D} to ${Q}`,$=b.tradeType===r.nP.EXACT_OUTPUT?N===t?"Swap max. %inputAmount% %inputSymbol% for %outputAmount% %outputSymbol%":"Swap max. %inputAmount% %inputSymbol% for %outputAmount% %outputSymbol% to %recipientAddress%":N===t?"Swap %inputAmount% %inputSymbol% for min. %outputAmount% %outputSymbol%":"Swap %inputAmount% %inputSymbol% for min. %outputAmount% %outputSymbol% to %recipientAddress%";if(!f){var G,V;E({hash:d},{summary:L,translatableSummary:{text:$,data:{inputAmount:o,inputSymbol:A,outputAmount:u,outputSymbol:w,...N!==t&&{recipientAddress:Q}}},type:"swap",source:y,receipt:m,swapTokens:{input:{isNative:b.inputAmount.currency.isNative,address:b.inputAmount.currency.isToken?b.inputAmount.currency.address:void 0,chainId:b.inputAmount.currency.chainId,symbol:null!=(G=b.inputAmount.currency.symbol)?G:"",decimals:b.inputAmount.currency.decimals,name:b.inputAmount.currency.name},output:{isNative:b.outputAmount.currency.isNative,address:b.outputAmount.currency.isToken?b.outputAmount.currency.address:void 0,chainId:b.outputAmount.currency.chainId,symbol:null!=(V=b.outputAmount.currency.symbol)?V:"",decimals:b.outputAmount.currency.decimals,name:b.outputAmount.currency.name}}})}(0,c.Q)({tradeType:b.tradeType,account:t,chainId:e,hash:d,inputAmount:o,outputAmount:u,quotedInputAmountRaw:x,maximumAmountInRaw:k,quotedOutputAmountRaw:B,minimumAmountOutRaw:O,input:b.inputAmount.currency,output:b.outputAmount.currency,type:y,isMultisig:f,env:S,wallet:P,source:C,quoteHash:h,quoteSource:T,providerQuoteId:v,rwaFamily:F,rwaUnderlyingSymbol:M}),(0,c.t)({account:t,chainId:e,hash:d})},[t,e,U,_,N,E,S,P,C,R,q,F,M])}},511889:(e,t,n)=>{n.d(t,{I:()=>c});var r=n(228876),a=n(899188),i=n(53670),o=n(25963),u=n(601769);let s=a.rY.filter(e=>{var t;return(null==e?void 0:e.contracts)&&(null==(t=e.contracts)?void 0:t.ensUniversalResolver)}).map(e=>e.id),l=/^[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&/=]*)?$/,p=/^0x[a-fA-F0-9]{40}$/,c=e=>{let{chainId:t}=(0,i.ax)(),n=(0,o.useMemo)(()=>!!(t&&s.includes(t)),[t]),{data:a}=(0,u.S)({name:e,chainId:t,query:{enabled:void 0!==e&&(l.test(e)||p.test(e))&&t!==r.nU.BSC&&t!==r.nU.BSC_TESTNET&&n}});return a}},520899:(e,t,n)=>{n.d(t,{G:()=>a});var r=n(734658);function a(){let e;for(var t=arguments.length,n=Array(t),a=0;a<t;a++)n[a]=arguments[a];let i=n.map(e=>e.unwrapOr(void 0)),o=-1;for(let t=0;t<i.length;t++){let n=i[t];if(n&&(null==n?void 0:n.trade)){if(!e){e=n,o=t;continue}(function(e,t,n){var a,i,o,u;let{factorGasCost:s=!1}={};if(e.tradeType===r.nP.EXACT_INPUT){let n=s&&null!=(a=t.outputAmountWithGasAdjusted)?a:t.outputAmount,r=s&&null!=(i=e.outputAmountWithGasAdjusted)?i:e.outputAmount;return n.greaterThan(r)}let l=s&&null!=(o=t.inputAmountWithGasAdjusted)?o:t.inputAmount,p=s&&null!=(u=e.inputAmountWithGasAdjusted)?u:e.inputAmount;return l.lessThan(p)})(e.trade,n.trade)&&(e=n,o=t)}}return e?[e,o]:void 0}},548606:(e,t,n)=>{n.d(t,{E:()=>u});var r=n(118708),a=n(25963),i=n(11549),o=n(882318);function u(){let[,e]=(0,r.fp)(i.H),t=(0,a.useCallback)(()=>{e((0,o.e3)())},[]),n=(0,a.useCallback)((t,n)=>{e((0,o.yl)({field:t,currencyId:(null==n?void 0:n.isToken)?n.address:(null==n?void 0:n.isNative)?n.symbol:"",chainId:null==n?void 0:n.chainId}))},[]);return{onSwitchTokens:t,onCurrencySelection:n,onUserInput:(0,a.useCallback)((t,n)=>{e((0,o.$M)({field:t,typedValue:n}))},[]),onChangeRecipient:(0,a.useCallback)(t=>{e((0,o.WF)({recipient:t}))},[])}}},556848:(e,t,n)=>{n.d(t,{Oz:()=>a});let r={56:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",8453:"0x4200000000000000000000000000000000000006"},a={56:{entry:"0x12B76204f5A1b390002A73e3d869196F0e6e8b1C",wrappedNative:r[56],aggregatorRouter:"0x40A1Fe393A7F566F27dF6acE18e6773be844dAfc",propammAdapter:"0x6A83FB3D4462755E4483954F5E974e085A0E1102"},8453:{entry:"0x12B76204f5A1b390002A73e3d869196F0e6e8b1C",wrappedNative:r[8453],aggregatorRouter:"0x40A1Fe393A7F566F27dF6acE18e6773be844dAfc",propammAdapter:"0x6A83FB3D4462755E4483954F5E974e085A0E1102"}}},560430:(e,t,n)=>{n.d(t,{A:()=>i});var r=n(172958),a=n(734658);function i(e,t,n){if(e&&t)try{let i=(0,r.X)(e,t.decimals).toString();if("0"!==i){let e=(0,a.BO)(BigInt(i),null!=n?n:a.pi);if(0n!==e)return a.eF.fromRawAmount(t,e)}}catch(t){console.debug(`Failed to parse input amount: "${e}"`,t)}}}
1,560549:(e,t,n)=>{n.d(t,{b:()=>r});function r(e){return/^0x0*$/.test(e)}},586276:(e,t,n)=>{n.d(t,{S:()=>i,l:()=>a});var r=n(985148);let a=(0,n(656862).Iz)(e=>(0,r.eU)(void 0)),i=(0,r.eU)(null,(e,t,n,r)=>{t(a(n),r)})},619402:(e,t,n)=>{n.d(t,{XR:()=>tM,un:()=>tF});var r=n(556848),a=n(538471),i=n(734658),o=n(235225),u=n(985148),s=n(656862),l=n(726053),p=n(841601),c=n(532415),d=n(581513),y=n(925448),m=n(228876),f=n(987212),h=n(603485),g=n(745765),T=n(459587),v=n(419041),b=n(792118),I=n(956611),A=n(806562),w=n(138310),C=n(263924),E=n(387272),S=n(993084);function P(e,t,n,r,a){return r&&r.sellFeeBps>0n?null==e?void 0:e.filter(e=>!(e.type===h.J1.V3&&t&&(e.token0.equals(t)||e.token1.equals(t)))):a&&a.buyFeeBps>0n?null==e?void 0:e.filter(e=>!(e.type===h.J1.V3&&n&&(e.token0.equals(n)||e.token1.equals(n)))):e}var x=n(899188),k=n(209208),N=n(608998),U=n(617921),_=n(680116),B=n(524099);let O=x.rY.reduce((e,t)=>{let n=t.id===m.nU.BSC?(0,_.L)("https://bsc-dataseed.bnbchain.org",{timeout:15e3}):(0,U.v)(k.I[t.id].map(e=>(0,_.L)(e,{timeout:15e3})));return e[t.id]=(0,B.l)({chain:t,transport:n}),e},{}),R=(0,s.Iz)(e=>(0,N.w)({asyncFn:async()=>{if(e)return O[e].getGasPrice()},fallbackValue:()=>(0,b.Rt)({chainId:e}).getGasPrice()}));var q=n(273523),F=n(310899);function M(e){var t,n,r,a,i;let{infinitySwap:o,infinityStableSwap:u,v2Swap:s,v3Swap:l,stableSwap:p}=e,c=[],d=null!=(i=null!=(a=null==(t=e.amount)?void 0:t.currency.chainId)?a:null==(n=e.currency)?void 0:n.chainId)?i:null==(r=e.baseCurrency)?void 0:r.chainId;return o&&((0,q.IP)(d)&&c.push(h.J1.InfinityBIN),c.push(h.J1.InfinityCL)),u&&c.push(h.J1.InfinityStable),s&&c.push(h.J1.V2),l&&c.push(h.J1.V3),p&&(0,F.jP)(d)&&c.push(h.J1.STABLE),c}var D=n(356870),Q=n(659197),L=n(585809),$=n(468317),G=n(673384);let V={[m.nU.BSC_TESTNET]:1e4,[m.nU.BSC]:1e4,[m.nU.ETHEREUM]:2e4,[m.nU.GOERLI]:2e4,[m.nU.ARBITRUM_ONE]:1e4,[m.nU.ARBITRUM_GOERLI]:1e4,[m.nU.ZKSYNC]:15e3,[m.nU.ZKSYNC_TESTNET]:15e3,[m.nU.LINEA]:2e4,[m.nU.LINEA_TESTNET]:2e4,[m.nU.OPBNB]:1e4,[m.nU.OPBNB_TESTNET]:1e4,[m.nU.BASE]:1e4,[m.nU.BASE_TESTNET]:1e4,[m.nU.SCROLL_SEPOLIA]:1e4,[m.nU.SEPOLIA]:2e4,[m.nU.ARBITRUM_SEPOLIA]:1e4,[m.nU.BASE_SEPOLIA]:1e4,[m.nU.MONAD_MAINNET]:1e4,[m.nU.MONAD_TESTNET]:1e4,[m.nU.ROBINHOOD]:1e4,[m.nU.ARC]:1e4};m.nU.BSC_TESTNET,m.nU.BSC,m.nU.ETHEREUM,m.nU.GOERLI,m.nU.ARBITRUM_ONE,m.nU.ARBITRUM_GOERLI,m.nU.ZKSYNC,m.nU.ZKSYNC_TESTNET,m.nU.LINEA,m.nU.LINEA_TESTNET,m.nU.OPBNB,m.nU.OPBNB_TESTNET,m.nU.BASE,m.nU.BASE_TESTNET,m.nU.SCROLL_SEPOLIA,m.nU.SEPOLIA,m.nU.ARBITRUM_SEPOLIA,m.nU.BASE_SEPOLIA,m.nU.MONAD_MAINNET,m.nU.MONAD_TESTNET,m.nU.ROBINHOOD,m.nU.ARC;var j=n(992842),H=n(760013),X=n.n(H),W=n(82850),z=n(381033),Y=n(743225),K=n(810516),Z=n.n(K),J=n(923727);let ee=async function(e,t,n,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"full",o=arguments.length>5?arguments[5]:void 0,u=(0,i.eG)(e),s=(0,i.eG)(t),l=Z().stringify({addressA:u,addressB:s,chainId:n,protocol:r.join(","),type:a}),p=async()=>{let e=`${J.env.NEXT_PUBLIC_EDGE_ENDPOINT||""}/api/pools/candidates?${l}`,t=await fetch(e,{method:"GET",headers:{"Content-Type":"application/json"},signal:o});if(!t.ok)throw Error(`Failed to fetch pools: ${await t.text()}`);return t.json()};return(await p()).data},et=(0,L.Tr)(ee,{ttl:3e3,key:e=>{let[t,n,r,a,i]=e,o=D.B$.hashCurrenciesWithSort(t,n);return`${o}-${r}-${a.join(",")}-${i}`},usingStaleValue:!1}),en={getAllCandidates:async function(e,t,n,r,a){let i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"full",o=arguments.length>6?arguments[6]:void 0;return(await et(e,t,n,a,i,o)).map(e=>h.tj.Transformer.parsePool(n,e))}},er=(e,t)=>{let n=[];return e.stableSwap&&(0,F.jP)(t)&&n.push("stable"),e.v2Pools&&n.push("v2"),e.v3Pools&&n.push("v3"),e.infinity&&n.push(...(0,q.El)(t)),e.infinityStable&&n.push("infinityStable"),n};var ea=n(923727);let ei=X()(e=>{let t=V[e]||1e4,n={ttl:t,key:function(e){return D.B$.hashPoolQuery(e[0])},isValid:function(e){return e&&e.length>0},maxAge:3e4,requestTimeout:w.lO},r=(0,L.Tr)(async(e,t)=>{let{currencyA:n,currencyB:r}=e;return(async()=>{var e;let a=null!=(e=t.provider)?e:b.Qr;return await h.tj.getV2CandidatePools({currencyA:n,currencyB:r,v3SubgraphProvider:e=>{let{chainId:t}=e;return t?W.Wv[t]:void 0},onChainProvider:a})})()},n),a=(0,L.Tr)(async(e,t)=>(async()=>u(await i(e,t)))(),n),i=(0,L.Tr)(async(e,t)=>{let{currencyA:n,currencyB:r,blockNumber:a}=e;return(async()=>{var e;let i=null!=(e=t.provider)?e:b.Qr;return h.tj.getV3CandidatePools({currencyA:n,currencyB:r,subgraphProvider:e=>{let{chainId:t}=e;return t?W.Wv[t]:void 0},onChainProvider:i,blockNumber:a})})()},n),o=(0,L.Tr)(async(e,t)=>(async()=>{var n;let r=null!=(n=t.provider)?n:b.Qr;return await h.QD.getV3CandidatePools({currencyA:e.currencyA,currencyB:e.currencyB,clientProvider:r,gasLimit:null==t?void 0:t.gasLimit})})(),n),u=async e=>{let t=await Promise.all(e.map(async e=>(await (0,j.Ny)({chainId:e.token0.chainId,poolAddress:h.tj.getPoolAddress(e),protocol:Q.Zs.V3})).map(e=>{let{tick:t,liquidityNet:n,liquidityGross:r}=e;return new G.gr({index:Number(t),liquidityNet:n,liquidityGross:r})})));return null==e?void 0:e.map((e,n)=>({...e,ticks:t[n]}))},s=(0,L.Tr)(async(e,t)=>
1{let n=`${ea.env.NEXT_PUBLIC_EDGE_ENDPOINT||""}/api/pools/tvlref?protocol=${e.join(",")}&chainId=${t}`,r=await fetch(n,{method:"GET",headers:{"Content-Type":"application/json"}});if(!r.ok)throw Error(`Failed to fetch tvl ref: ${await r.text()}`);return r.json()},{ttl:6e4}),l=(0,L.Tr)(async(e,t)=>{let{currencyA:n,currencyB:r}=e;return(async()=>{var a;let i=null!=(a=t.provider)?a:b.Qr,o=await s((0,q.El)(e.chainId),e.chainId),u=await (0,Y.IG)().catch(()=>[]);return await h.QD.getInfinityCandidatePoolsLite({currencyA:n,currencyB:r,clientProvider:i,tvlRefMap:o,hooks:u})})()},n),p=(0,L.Tr)(async(e,t)=>{let{currencyA:n,currencyB:r}=e;return(async()=>{var e;let a=null!=(e=t.provider)?e:b.Qr,i=await (0,Y.IG)().catch(()=>[]);return await h.QD.getInfinityCandidatePools({currencyA:n,currencyB:r,clientProvider:a,hooks:i})})()},n),c=(0,L.Tr)(async(e,t)=>{let{currencyA:n,currencyB:r,blockNumber:a}=e;return(async()=>{var e;let i=null!=(e=t.provider)?e:b.Qr,o=await h.tj.getPairCombinations(n,r);return await h.tj.getStablePoolsOnChain(null!=o?o:[],i,a)})()},n),d={resolver:e=>{let n=Math.floor(Date.now()/t),r=D.B$.hashPoolQuery(e);return`${n}:${r}`}};return{getV2CandidatePools:r,getV3CandidatePools:a,getV3CandidatePoolsWithoutTicks:i,getV3PoolsWithTicksOnChain:o,getInfinityCandidatePoolsLight:l,getInfinityCandidatePools:p,getStableSwapPools:c,getCandidatePools:(0,z.T)(async(e,t)=>{let{chainId:n,currencyA:r,currencyB:a,blockNumber:i}=e;if(!r||!a||!n||!i)return[];let o=er(t,n);return en.getAllCandidates(r,a,n,i,o,"full",t.signal)},d),getCandidatePoolsLight:(0,z.T)(async(e,t)=>{let{chainId:n,currencyA:r,currencyB:a,blockNumber:i}=e;if(!r||!a||!n||!i)return[];let o=er(t,n);return en.getAllCandidates(r,a,n,i,o,"light")},d)}}),eo=async(e,t)=>{var n,r;let{chainId:a,currencyA:i,currencyB:o,blockNumber:u}=e,s=ei(a);if(!i||!o||!a||!u)return[];let l=async()=>{var n;let r=null!=(n=t.provider)?n:b.Qr,a=await h.tj.getPairCombinations(i,o);return(await Promise.all([t.stableSwap?s.getStableSwapPools(e,t):[],t.v2Pools?h.tj.getV2PoolsOnChain(null!=a?a:[],r,u):[],t.v3Pools?s.getV3PoolsWithTicksOnChain(e,t):[],t.infinity?s.getInfinityCandidatePools(e,t):[]])).flat()},p=async()=>(await Promise.all([t.stableSwap?s.getStableSwapPools(e,t):[],t.v2Pools?s.getV2CandidatePools(e,t):[],t.v3Pools?s.getV3PoolsWithTicksOnChain(e,t):[],t.infinity?s.getInfinityCandidatePools(e,t):[]])).flat(),c=async()=>s.getCandidatePools(e,t);return(null==(r=(0,m.aD)(a))||null==(n=r.routing)?void 0:n.poolDiscovery)==="onChainOnly"?l():(0,m.Ws)(a)?p():(0,$.K)(c,{fallbacks:[p],fallbackTimeout:w.lO})()},eu=async(e,t)=>{var n,r;let{chainId:a,currencyA:i,currencyB:o,blockNumber:u}=e,s=ei(a);if(!i||!o||!a||!u)return[];let l=async()=>{var n;let r=null!=(n=t.provider)?n:b.Qr,a=await h.tj.getPairCombinations(i,o);return(await Promise.all([t.stableSwap?s.getStableSwapPools(e,t):[],t.v2Pools?h.tj.getV2PoolsOnChain(null!=a?a:[],r,u):[],t.v3Pools?h.tj.getV3PoolsWithoutTicksOnChain(null!=a?a:[],r,u):[],t.infinity?s.getInfinityCandidatePoolsLight(e,t):[]])).flat()},p=async()=>(await Promise.all([t.stableSwap?s.getStableSwapPools(e,t):[],t.v2Pools?s.getV2CandidatePools(e,t):[],t.v3Pools?s.getV3CandidatePoolsWithoutTicks(e,t):[],t.infinity?s.getInfinityCandidatePoolsLight(e,t):[]])).flat(),c=async()=>s.getCandidatePoolsLight(e,t);return(null==(r=(0,m.aD)(a))||null==(n=r.routing)?void 0:n.poolDiscovery)==="onChainOnly"?l():(0,$.K)(c,{fallbacks:[p],fallbackTimeout:w.lO})()};var es=n(53670),el=n(63635);let ep=(0,s.Iz)(e=>{let{amount:t,currency:n,tradeType:r,maxSplits:a,gasLimit:o}=e;return(0,d.Q)(async u=>{if(!t||!t.currency||!n)return;let{account:s}=u(es.sY),l=u((0,C.j)(e)),p=function(e){let{gasLimit:t,signal:n}=e,r=(0,b.RV)({transportSignal:n});return h.tj.createQuoteProvider({onChainProvider:r,gasLimit:t,multicallConfigs:{...g.jl,[m.nU.BSC]:{...g.jl[m.nU.BSC],defaultConfig:{gasLimitPerCall:1e6}}}})}({gasLimit:o}),c=await u(S.xE);if(!c)throw Error("Quote worker not initialized");let{chainId:d}=n,y=new AbortController;if(n.chainId===m.Cb.SOLANA){let e=(0,A.w)(async()=>await (0,I.nr)({inputCurrency:t.currency,outputCurrency:n,tradeType:r||i.nP.EXACT_INPUT,amount:t,slippageBps:50,account:s,signal:y.signal}),{ms:w.Z1[d],abort:()=>{null==y||y.abort()}});try{return await e()}catch(e){null==y||y.abort()}}let x=(0,A.w)(async()=>{var o,s;l.tracker.track("start");let{poolQuery:d,poolOptions:m}=(0,E.B)(e,y),g=await eu(d,m);if(l.tracker.track("pool_success"),0===g.length)throw new el.Mt;let b=P(g),I=await u((0,T.ci)(n)),A=u((0,v.QB)(n.chainId)),w=await u((0,T.ci)(A)),C=await u(R(null==n?void 0:n.chainId)),S=null==p||null==(o=p.getConfig)?void 0:o.call(p),x=await c.getBestTrade({chainId:n.chainId,currency:h.tj.Transformer.serializeCurrency(n),tradeType:r||i.nP.EXACT_INPUT,amount:{currency:h.tj.Transformer.serializeCurrency(t.currency),value:t.quotient.toString()},gasPriceWei:"function"!=typeof C?null==C?void 0:C.toString():void 0,maxHops:e.maxHops,maxSplits:a,poolTypes:M(e),candidatePools:b.map(h.tj.Transformer.serializePool),onChainQuoterGasLim
1it:null==S||null==(s=S.gasLimit)?void 0:s.toString(),quoteCurrencyUsdPrice:I,nativeCurrencyUsdPrice:w,signal:y.signal}),k=h.tj.Transformer.parseTrade(n.chainId,x);k&&(k.quoteQueryHash=e.hash);let N={type:f.ZN.PCS_CLASSIC,trade:k};return l.tracker.success(N),N},{ms:w.Z1[d],abort:()=>{null==y||y.abort()}});try{return await x()}catch(e){throw l.tracker.fail(e),y.abort(),e}finally{l.tracker.report()}})},D.Z$),ec=(0,s.Iz)(e=>{let{amount:t,currency:n,tradeType:r,maxSplits:a,gasLimit:o}=e;return(0,d.Q)(async u=>{let{account:s}=u(es.sY);if(!t||!t.currency||!n)return;let l=function(e){let{gasLimit:t,signal:n}=e,r=(0,b.RV)({transportSignal:n});return h.tj.createQuoteProvider({onChainProvider:r,gasLimit:t})}({gasLimit:o}),p=await u(S.xE);if(!p)throw Error("Quote worker not initialized");let c=new AbortController,d=u((0,C.j)(e));d.tracker.track("start");let{chainId:y}=n,m=(0,A.w)(async()=>{var o,y;let{poolQuery:m,poolOptions:g}=(0,E.B)(e,c),b=await eu(m,g);if(d.tracker.track("pool_success"),0===b.length)throw new el.Mt;let I=P(b),A=await u((0,T.ci)(n)),w=u((0,v.QB)(n.chainId)),C=await u((0,T.ci)(w)),S=await u(R(null==n?void 0:n.chainId)),x=null==l||null==(o=l.getConfig)?void 0:o.call(l),k=await p.getBestTrade({chainId:n.chainId,currency:h.tj.Transformer.serializeCurrency(n),tradeType:r||i.nP.EXACT_INPUT,amount:{currency:h.tj.Transformer.serializeCurrency(t.currency),value:t.quotient.toString()},gasPriceWei:"function"!=typeof S?null==S?void 0:S.toString():void 0,maxHops:3,maxSplits:a,poolTypes:M(e),candidatePools:I.map(h.tj.Transformer.serializePool),onChainQuoterGasLimit:null==x||null==(y=x.gasLimit)?void 0:y.toString(),quoteCurrencyUsdPrice:A,nativeCurrencyUsdPrice:C,signal:c.signal,account:s}),N=h.tj.Transformer.parseTrade(n.chainId,k);N.quoteQueryHash=e.hash;let U={type:f.ZN.PCS_CLASSIC,trade:N};return d.tracker.success(U),U},{ms:w.Z1[y],abort:()=>{null==c||c.abort()}});try{return await m()}catch(e){throw d.tracker.fail(e),null==c||c.abort(),e}finally{d.tracker.report()}})},D.Z$);var ed=n(25299),ey=n(198559),em=n(520899),ef=n(277363),eh=n(387165),eg=n(82500);let eT=(0,s.Iz)(e=>(0,d.Q)(async t=>{let{amount:n,tradeType:r=i.nP.EXACT_INPUT}=e,{inputCurrency:a,outputCurrency:o}=function(e){var t;let n=null!=(t=e.tradeType)?t:i.nP.EXACT_INPUT;return{inputCurrency:n===i.nP.EXACT_OUTPUT?e.currency:e.baseCurrency,outputCurrency:n===i.nP.EXACT_OUTPUT?e.baseCurrency:e.currency}}(e);if(!n||!a||!o||r!==i.nP.EXACT_INPUT||a.chainId!==o.chainId||a.chainId!==m.nU.BSC||a.equals(o))return;let u=(0,i.eG)(a),s=(0,i.eG)(o);if(!u||!s)return;let p=t(l.yp);if(!((0,l.OL)(p,{chainId:a.chainId,address:u})||(0,l.OL)(p,{chainId:o.chainId,address:s})))return;let c=new URLSearchParams;c.set("chainId",String(a.chainId)),c.set("inputToken",u),c.set("outputToken",s),c.set("amount",n.quotient.toString()),e.address&&c.set("userAddress",e.address);let d=new AbortController,y=(0,A.w)(async()=>{let e=await fetch(`/api/liquidmesh/quote?${c.toString()}`,{signal:d.signal});if(!e.ok)throw Error(`LiquidMesh quote failed (${e.status})`);let t=await e.json();if(0!==t.code||!t.data)throw Error(t.msg||"LiquidMesh quote failed");return t.data},{ms:w.Oq,abort:()=>d.abort()});return(0,ef.ow)({query:e,inputCurrency:a,outputCurrency:o,quote:await y()})}),D.Z$);var ev=n(833438),eb=n(178852),eI=n(844889);let eA=e=>(null==e?void 0:e.status)==="upcoming"||!!(null==e?void 0:e.code),ew=(0,s.Iz)(e=>(0,d.Q)(async t=>{let{xEnabled:n,enabled:r,slippage:o,address:u,isAutoSlippage:s}=e;if(!r)return;let{amount:p,currency:c,tradeType:d=i.nP.EXACT_INPUT,maxHops:y,maxSplits:m}=e;if(!p||!p.currency||!c||!o)throw Error("Invalid amount or currency");let g=[e.baseCurrency,c].filter(Boolean),T=t(eI.zk),v=new Set,b=await Promise.all(g.map(async e=>{var t;let n=null==(t=(0,i.eG)(e))?void 0:t.toLowerCase();if(!n)return;let r=`${e.chainId}:${n}`;if(!v.has(r))return v.add(r),(0,eI.Cb)(T,e.chainId,n)})),I=b.find(eA);if(I)throw new el.BT("RWA token is paused",I.code);if(!n){if(!b.some(e=>!!e))return;throw Error("X is needed for RWA token trade")}let E=new AbortController,S=t((0,C.j)(e));S.tracker.track("start");let P=(0,A.w)(async()=>{let n=function(e){let{v2Swap:t,v3Swap:n,stableSwap:r}=e,a=[];return t&&a.push(h.J1.V2),n&&a.push(h.J1.V3),r&&a.push(h.J1.STABLE),a}(e),r=await t(R(c.chainId)),g=(0,f.gj)({amount:p,quoteCurrency:c,tradeType:d||i.nP.EXACT_INPUT,slippage:(0,eb.aW)(s?10:o),amm:{maxHops:y,maxSplits:m,poolTypes:n,gasPriceWei:r},x:{useSyntheticQuotes:!0,swapper:u}}),T=await fetch(`${ev.h5}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(g),signal:E.signal}),v=await T.json();if(v.messageType===f.yl.ERROR){var b,I,A,w;if((null!=(I=null==(b=v.message)?void 0:b.error)?I:"").includes("No OrderBook Found")){let n=t(l.yp),r=e.baseCurrency?null==(A=(0,i.eG)(e.baseCurrency))?void 0:A.toLowerCase():void 0,o=null==(w=(0,i.eG)(c))?void 0:w.toLowerCase(),u=e.baseCurrency&&r?{chainId:e.baseCurrency.chainId,address:r}:void 0,s=o?{chainId:c.chainId,address:o}:void 0;if(a.pq.requiresRwaRouting(u,s,n))throw new el.BT("Minimum amount required for PancakeSwap X","MIN_AMOUNT")}}let C=d===i.nP.EXACT_INPUT,P=(0,f.Nv)(v,{chainId:c.chainId,currencyIn:C?p.currency:c,currencyOut:C?c:p.currency,tradeType:d});return P.trade.quoteQueryHash=e.hash,S.tracker.success(P),P},{ms:w.Oq,abort:()=>{E.abort()}});try{return await P()}catch(e){throw S.tracker.fail(e),e}finally{S.tracker.report()}}),D.Z$);var eC=n(923727);let eE=new i.QE(10,100),eS=eC.env.NEXT_PUBLIC_RWA_FEED_ENDPOINT||"https://stock-terminal-ws.pancakeswap.com",eP=`${eS.replace(/\/+$/,"")}/api/v3/tokens`,ex=new Map,ek=new Map;async function eN(e){let t=(0,i.eG)(e);if(!t)return i.pi;let n=`${e.chainId}:${t.toLowerCase()}`,r=ek.get(n);if(r&&r.expiresAt>Date.now())return r.value;let a=(0,b.Rt)({chainId:e.chainId}),o=(0,ed.qn)(a,t,e.chainId).then(e=>e.enabled?e.multiplier:i.pi).catch(()=>i.pi);return ek.set(n,{expiresAt:Date.now()+3e4,value:o}),o}function eU(e){return"number"==typeof e&&Number.isFinite(e)&&e>0?e:void 0}async function e_(e){let t=(0,i.eG)(e);if(!t)return;let n=`${e.chainId}:${t.toLowerCase()}`,r=ex.get(n);if(r&&r.expiresAt>Date.now())return r.value;let a=fetch(`${eP}/${e.chainId}/${encodeURIComponent(t)}/info`).then(async e=>{var t,n,r,a,i;if(!e.ok)return;let o=await e.json();return null!=(i=null!=(a=null!=(r=eU(o.refPrice))?r:eU(o.marketPrice))?a:eU(null==(t=o.price)?void 0:t.refPrice))?i:eU(null==(n=o.price)?void 0:n.marketPrice)}).catch(()=>void 0);return ex.set(n,{expiresAt:Date.now()+3e4,value:a}),a}function eB(e,t){var n,r;let a=e?null==(n=(0,i.eG)(e))?void 0:n.toLowerCase():void 0,o=t?null==(r=(0,i.eG)(t))?void 0:r.toLowerCase():void 0;return!!(e&&t&&e.chainId===t.chainId&&a&&o&&a===o)}function eO(e){var t;return/^(usdt|usdc|usdce|usde|dai)$/i.test(null!=(t=null==e?void 0:e.symbol)?t:"")}
1async function eR(e,t){let n=await eN(t),r=function(e,t,n){let r=e.trade;if(!r)return;let{inputAmount:a}=r,{outputAmount:o}=r,u=eB(a.currency,t),s=eB(o.currency,t),l=u?Number((0,i.WI)(a.quotient,n))/10**a.currency.decimals:Number(a.toExact()),p=s?Number((0,i.WI)(o.quotient,n))/10**o.currency.decimals:Number(o.toExact());if(Number.isFinite(l)&&Number.isFinite(p)&&!(l<=0)&&!(p<=0)){if(u&&eO(o.currency))return p/l;if(s&&eO(a.currency))return l/p}}(e,t,n);if(!r)return!1;let a=await e_(t);return!!a&&Math.abs(r-a)/a>.1}function eq(e,t){return{...e,hash:`${e.hash}:rwa:${t}`,routeKey:t}}let eF=(0,s.Iz)(e=>(0,d.Q)(async t=>{var n,r;let{amount:a,currency:o,tradeType:u=i.nP.EXACT_INPUT}=e;if(!a||!a.currency||!o||u!==i.nP.EXACT_INPUT)return;let s=function(e,t){return[e.baseCurrency,e.currency].filter(Boolean).find(e=>{let n=(0,i.eG)(e);return(0,l.OL)(t,n?{chainId:e.chainId,address:n}:void 0)})}(e,t(l.yp));if(!s)return;let p=[];e.xEnabled&&p.push(t(ew(eq(e,"x")))),e.excludeAggregator||p.push(t((0,y.z)(eq(e,"aggregator"))));let c=null==(n=(0,em.G)(...p))?void 0:n[0];if(c&&!(function(e){let t=function(e){if((0,ef.me)(e))return(0,ef.pU)(e);let t=(0,eh.Uy)(e);if(t)return t;if(e.type===f.ZN.DUTCH_LIMIT)return e.ammTrade?(0,eg.sx)(e.ammTrade).priceImpactWithoutFee:void 0;let n=e.trade;if(n)return(0,eg.sx)(n).priceImpactWithoutFee}(e);return!!(null==t?void 0:t.greaterThan(eE))}(c)||await eR(c,s)))return c;let d=p.some(e=>e.isPending()),m=p.some(e=>e.isJust());if(!c&&d)return ey.x_.Pending();let h=[t(eT(eq(e,"liquidmesh"))),t(ec(eq(e,"full")))],g=null==(r=(0,em.G)(...p,...h))?void 0:r[0];return g?h.some(e=>e.isPending())&&c?ey.x_.Pending(c):g:h.some(e=>e.isPending())?ey.x_.Pending(c):m?c:ey.x_.Fail(function(e){var t,n;return null!=(n=null==(t=e.find(e=>e.isFail()))?void 0:t.error)?n:Error("No valid RWA quote")}([...p,...h]))}),D.Z$);var eM=n(605065),eD=n(217992),eQ=n(811081),eL=n(452652),e$=n(62776),eG=n(213527),eV=n(60507),ej=n(658255),eH=n(121480),eX="InfinityCL",eW="InfinityBIN",ez="InfinityStable",eY=BigInt(-1),eK=(2n**96n)**2n;function eZ(e,t){var n;let r=(0,q.SP)(t);return e+(null!=(n=null==r?void 0:r[0])?n:0)}function eJ(e){return e.type===eW}function e0(e){return e.type===ez}function e1(e){return e.type===eX}new i.QE("1"),new i.QE("0");var e2=H(e=>{let{currency0:t,currency1:n,sqrtRatioX96:r}=e;return new i.gm(t,n,eK,r*r)},e=>{let{currency0:t,currency1:n,sqrtRatioX96:r}=e;return`${(0,eV.St)(t)}_${(0,eV.St)(n)}_${r}`}),e5=H(e=>{let{currency0:t,currency1:n,sqrtRatioX96:r}=e;return new i.gm(n,t,r*r,eK)},e=>{let{currency0:t,currency1:n,sqrtRatioX96:r}=e;return`${(0,eV.St)(t)}_${(0,eV.St)(n)}_${r}`});function e6(e,t){return t.wrapped.equals(e.currency0.wrapped)||t.wrapped.equals(e.currency1.wrapped)}function e3(e){let{fee:t,tickSpacing:n,ticks:r,tick:a,liquidity:o,sqrtRatioX96:u,zeroForOne:s,amountSpecified:l,sqrtPriceLimitX96:p}=e;(0,ej.A)(void 0!==r,"[Swap]: No valid tick list found"),p||(p=s?G.gy.MIN_SQRT_RATIO+i.xr:G.gy.MAX_SQRT_RATIO-i.xr),s?((0,ej.A)(p>G.gy.MIN_SQRT_RATIO,"RATIO_MIN"),(0,ej.A)(p<u,"RATIO_CURRENT")):((0,ej.A)(p<G.gy.MAX_SQRT_RATIO,"RATIO_MAX"),(0,ej.A)(p>u,"RATIO_CURRENT"));let c=l>=i.f2,d={amountSpecifiedRemaining:l,amountCalculated:i.f2,sqrtPriceX96:u,tick:a,liquidity:o};for(;d.amountSpecifiedRemaining!==i.f2&&d.sqrtPriceX96!==p;){let e={};if(e.sqrtPriceStartX96=d.sqrtPriceX96,[e.tickNext,e.initialized]=G.gv.nextInitializedTickWithinOneWord(r,d.tick,s,n),e.tickNext<G.gy.MIN_TICK?e.tickNext=G.gy.MIN_TICK:e.tickNext>G.gy.MAX_TICK&&(e.tickNext=G.gy.MAX_TICK),e.sqrtPriceNextX96=G.gy.getSqrtRatioAtTick(e.tickNext),[d.sqrtPriceX96,e.amountIn,e.amountOut,e.feeAmount]=G.yU.computeSwapStep(d.sqrtPriceX96,(s?e.sqrtPriceNextX96<p:e.sqrtPriceNextX96>p)?p:e.sqrtPriceNextX96,d.liquidity,d.amountSpecifiedRemaining,t),c?(d.amountSpecifiedRemaining-=e.amountIn+e.feeAmount,d.amountC
1alculated=d.amountCalculated-e.amountOut):(d.amountSpecifiedRemaining=d.amountSpecifiedRemaining+e.amountOut,d.amountCalculated=d.amountCalculated+(e.amountIn+e.feeAmount)),d.sqrtPriceX96===e.sqrtPriceNextX96){if(e.initialized){let t=BigInt(G.gv.getTick(r,e.tickNext).liquidityNet);s&&(t*=eY),d.liquidity=G.Rw.addDelta(d.liquidity,t)}d.tick=s?e.tickNext-1:e.tickNext}else d.sqrtPriceX96!==e.sqrtPriceStartX96&&(d.tick=G.gy.getTickAtSqrtRatio(d.sqrtPriceX96))}return{amountSpecifiedRemaining:d.amountSpecifiedRemaining,amountCalculated:d.amountCalculated,sqrtRatioX96:d.sqrtPriceX96,liquidity:d.liquidity,tickCurrent:d.tick}}var e7=function(e,t,n){if(e&&t)try{let r=(function(e,t){let[n,r="0"]=e.split("."),a=n.startsWith("-");if(a&&(n=n.slice(1)),r=r.replace(/(0+)$/,""),0===t)1===Math.round(Number(`.${r}`))&&(n=`${BigInt(n)+1n}`),r="";else if(r.length>t){let[e,a,i]=[r.slice(0,t-1),r.slice(t-1,t),r.slice(t)],o=Math.round(Number(`${a}.${i}`));(r=o>9?`${BigInt(e)+BigInt(1)}0`.padStart(e.length+1,"0"):`${e}${o}`).length>t&&(r=r.slice(1),n=`${BigInt(n)+1n}`),r=r.slice(0,t)}else r=r.padEnd(t,"0");return BigInt(`${a?"-":""}${n}${r}`)})(e,t.decimals).toString(),a=(0,i.BO)(BigInt(r),null!=n?n:i.pi);if(0n!==a){if("chainId"in t&&!("programId"in t))return i.eF.fromRawAmount(t,a);return i.C3.fromRawAmount(t,a)}}catch(t){console.debug(`Failed to parse input amount: "${e}"`,t)}},e8="STABLE",e9=function(e,t,n){if(e&&t)try{let r=(function(e,t){let[n,r="0"]=e.split("."),a=n.startsWith("-");if(a&&(n=n.slice(1)),r=r.replace(/(0+)$/,""),0===t)1===Math.round(Number(`.${r}`))&&(n=`${BigInt(n)+1n}`),r="";else if(r.length>t){let[e,a,i]=[r.slice(0,t-1),r.slice(t-1,t),r.slice(t)],o=Math.round(Number(`${a}.${i}`));(r=o>9?`${BigInt(e)+BigInt(1)}0`.padStart(e.length+1,"0"):`${e}${o}`).length>t&&(r=r.slice(1),n=`${BigInt(n)+1n}`),r=r.slice(0,t)}else r=r.padEnd(t,"0");return BigInt(`${a?"-":""}${n}${r}`)})(e,t.decimals).toString(),a=(0,i.BO)(BigInt(r),null!=n?n:i.pi);if(0n!==a){if("chainId"in t&&!("programId"in t))return i.eF.fromRawAmount(t,a);return i.C3.fromRawAmount(t,a)}}catch(t){console.debug(`Failed to parse input amount: "${e}"`,t)}};function e4(e){return e.type===e8}var te=n(716519);function tt(e){return"V2"===e.type}var tn=(e=>(e[e.SS_2_EXACT_INPUT_SINGLE=0]="SS_2_EXACT_INPUT_SINGLE",e[e.SS_3_EXACT_INPUT_SINGLE=1]="SS_3_EXACT_INPUT_SINGLE",e[e.V2_EXACT_INPUT_SINGLE=2]="V2_EXACT_INPUT_SINGLE",e[e.V3_EXACT_INPUT_SINGLE=3]="V3_EXACT_INPUT_SINGLE",e[e.INFI_CL_EXACT_INPUT_SINGLE=4]="INFI_CL_EXACT_INPUT_SINGLE",e[e.INFI_BIN_EXACT_INPUT_SINGLE=5]="INFI_BIN_EXACT_INPUT_SINGLE",e))(tn||{}),tr={[m.nU.ETHEREUM]:"0x678Aa4bF4E210cf2166753e054d5b7c31cc7fa86",[m.nU.GOERLI]:"0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997",[m.nU.BSC]:"0x678Aa4bF4E210cf2166753e054d5b7c31cc7fa86",[m.nU.BSC_TESTNET]:"0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997",[m.nU.ARBITRUM_ONE]:"0x5457fa0318753E9eaC2d17DFfdb6383da207d705",[m.nU.ARBITRUM_GOERLI]:"0x805e03325116Da555Babf012C7bd490Bdd6EEa95",[m.nU.ZKSYNC]:"0x9B1edFB3848660402E4f1DC25733764e80aA627A",[m.nU.ZKSYNC_TESTNET]:"0x7931c270f59Cb1c2617e87976689bD6803afF50a",[m.nU.LINEA]:"0x4c650FB471fe4e0f476fD3437C3411B1122c4e3B",[m.nU.LINEA_TESTNET]:"0x7d3ed219e45637Cfa77b1a634d0489a2950d1B7F",[m.nU.OPBNB]:"0x4c650FB471fe4e0f476fD3437C3411B1122c4e3B",[m.nU.OPBNB_TESTNET]:"0x118F080BF268aa7De4bE6d5e579D926903E7d6Cb",[m.nU.BASE]:"0x4c650FB471fe4e0f476fD3437C3411B1122c4e3B",[m.nU.BASE_TESTNET]:"0x9d4277f1D41CCB30C0e91f7d1bBA2A739E19032C",[m.nU.SCROLL_SEPOLIA]:"0x9d4277f1D41CCB30C0e91f7d1bBA2A739E19032C",[m.nU.SEPOLIA]:"0x4c650FB471fe4e0f476fD3437C3411B1122c4e3B",[m.nU.ARBITRUM_SEPOLIA]:"0x4c650FB471fe4e0f476fD3437C3411B1122c4e3B",[m.nU.BASE_SEPOLIA]:"0x4c650FB471fe4e0f476fD3437C3411B1122c4e3B",[m.nU.MONAD_MAINNET]:"0x678Aa4bF4E210cf2166753e054d5b7c31cc7fa86",[m.nU.MONAD_TESTNET]:"0x7f988126C2c5d4967Bb5E70bDeB7e26DB6BD5C28",[m.nU.ROBINHOOD]:m.WY.contracts.mixedRouteQuoter,[m.nU.ARC]:"0x"},ta={[m.nU.ETHEREUM]:"0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997",[m.nU.GOERLI]:"0xbC203d7f83677c7ed3F7acEc959963E7F4ECC5C2",[m.nU.BSC]:"0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997",[m.nU.BSC_TESTNET]:"0xbC203d7f83677c7ed3F7acEc959963E7F4ECC5C2",[m.nU.ARBITRUM_ONE]:"0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997",[m.nU.ARBITRUM_GOERLI]:"0xC0F9488345ed89105b3bd135150905F718Bb254E",[m.nU.ZKSYNC]:"0x3d146FcE6c1006857750cBe8aF44f76a28041CCc",[m.nU.ZKSYNC_TESTNET]:"0x43e273b4Ffd6bC9d6Be1a862D19893549c3b9b46",[m.nU.LINEA]:"0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997",[m.nU.LINEA_TESTNET]:"0x669254936caE83bE34008BdFdeeA63C902497B31",[m.nU.OPBNB]:"0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997",[m.nU.OPBNB_TESTNET]:"0x052a99849Ef2e13a5CB28275862991671D4b6fF5",[m.nU.BASE]:"0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997",[m.nU.BASE_TESTNET]:"0x6cc56b20bf8C4FfD58050D15AbA2978A745CC691",[m.nU.SCROLL_SEPOLIA]:"0x6cc56b20bf8C4FfD58050D15AbA2978A745CC691",[m.nU.SEPOLIA]:"0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997",[m.nU.ARBITRUM_SEPOLIA]:"0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997",[m.nU.BASE_SEPO
1LIA]:"0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997",[m.nU.MONAD_MAINNET]:"0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997",[m.nU.MONAD_TESTNET]:"0x74b06eFA24F39C60AA7F61BD516a3eaf39613D57",[m.nU.ROBINHOOD]:m.WY.contracts.v3Quoter,[m.nU.ARC]:"0x"};function ti(e,t){let n=e.path[0].wrapped,{path:r,types:a}=e.pools.reduce((t,n,r)=>{let{inputToken:a,path:i,types:o}=t,u=e.path[r+1].wrapped,s=(0,eG.Y3)(n)?n.getPoolData().fee:8388608;return 0===r?{inputToken:u,types:["address","uint24","address"],path:[a.address,s,u.address]}:{inputToken:u,types:[...o,"uint24","address"],path:[...i,s,u.address]}},{inputToken:n,path:[],types:[]});return t?(0,eM.P)(a.reverse(),r.reverse()):(0,eM.P)(a,r)}var to=[{inputs:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"uint256",name:"amountIn",type:"uint256"}],name:"quoteExactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint160[]",name:"sqrtPriceX96AfterList",type:"uint160[]"},{internalType:"uint32[]",name:"initializedTicksCrossedList",type:"uint32[]"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"uint256",name:"amountOut",type:"uint256"}],name:"quoteExactOutput",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint160[]",name:"sqrtPriceX96AfterList",type:"uint160[]"},{internalType:"uint32[]",name:"initializedTicksCrossedList",type:"uint32[]"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"}],tu=[{inputs:[{internalType:"address",name:"_poolManager",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"PoolId",name:"poolId",type:"bytes32"}],name:"NotEnoughLiquidity",type:"error"},{inputs:[],name:"NotSelf",type:"error"},{inputs:[],name:"NotVault",type:"error"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"QuoteSwap",type:"error"},{inputs:[],name:"UnexpectedCallSuccess",type:"error"},{inputs:[{internalType:"bytes",name:"revertData",type:"bytes"}],name:"UnexpectedRevertBytes",type:"error"},{inputs:[{components:[{internalType:"Currency",name:"exactCurrency",type:"address"},{components:[{internalType:"Currency",name:"intermediateCurrency",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"contract IHooks",name:"hooks",type:"address"},{internalType:"contract IPoolManager",name:"poolManager",type:"address"},{internalType:"bytes",name:"hookData",type:"bytes"},{internalType:"bytes32",name:"parameters",type:"bytes32"}],internalType:"struct PathKey[]",name:"path",type:"tuple[]"},{internalType:"uint128",name:"exactAmount",type:"uint128"}],internalType:"struct IQuoter.QuoteExactParams",name:"params",type:"tuple"}],name:"_quoteExactInput",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"Currency",name:"currency0",type:"address"},{internalType:"Currency",name:"currency1",type:"address"},{internalType:"contract IHooks",name:"hooks",type:"address"},{internalType:"contract IPoolManager",name:"poolManager",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"bytes32",name:"parameters",type:"bytes32"}],internalType:"struct PoolKey",name:"poolKey",type:"tuple"},{internalType:"bool",name:"zeroForOne",type:"bool"},{internalType:"uint128",name:"exactAmount",type:"uint128"},{internalType:"bytes",name:"hookData",type:"bytes"}],internalType:"struct IQuoter.QuoteExactSingleParams",name:"params",type:"tuple"}],name:"_quoteExactInputSingle",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"Currency",name:"exactCurrency",type:"address"},{components:[{internalType:"Currency",name:"intermediateCurrency",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"contract IHooks",name:"hooks",type:"address"},{internalType:"contract IPoolManager",name:"poolManager",type:"address"},{internalType:"bytes",name:"hookData",type:"bytes"},{internalType:"bytes32",name:"parameters",type:"bytes32"}],internalType:"struct PathKey[]",name:"path",type:"tuple[]"},{internalType:"uint128",name:"exactAmount",type:"uint128"}],internalType:"struct IQuoter.QuoteExactParams",name:"params",type:"tuple"}],name:"_quoteExactOutput",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"Currency",name:"currency0",type:"address"},{internalType:"Currency",name:"currency1",type:"address"},{internalType:"contract IHooks",name:"hooks",type:"address"}
1,{internalType:"contract IPoolManager",name:"poolManager",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"bytes32",name:"parameters",type:"bytes32"}],internalType:"struct PoolKey",name:"poolKey",type:"tuple"},{internalType:"bool",name:"zeroForOne",type:"bool"},{internalType:"uint128",name:"exactAmount",type:"uint128"},{internalType:"bytes",name:"hookData",type:"bytes"}],internalType:"struct IQuoter.QuoteExactSingleParams",name:"params",type:"tuple"}],name:"_quoteExactOutputSingle",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"}],name:"lockAcquired",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"poolManager",outputs:[{internalType:"contract IBinPoolManager",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"Currency",name:"exactCurrency",type:"address"},{components:[{internalType:"Currency",name:"intermediateCurrency",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"contract IHooks",name:"hooks",type:"address"},{internalType:"contract IPoolManager",name:"poolManager",type:"address"},{internalType:"bytes",name:"hookData",type:"bytes"},{internalType:"bytes32",name:"parameters",type:"bytes32"}],internalType:"struct PathKey[]",name:"path",type:"tuple[]"},{internalType:"uint128",name:"exactAmount",type:"uint128"}],internalType:"struct IQuoter.QuoteExactParams",name:"params",type:"tuple"}],name:"quoteExactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"Currency",name:"currency0",type:"address"},{internalType:"Currency",name:"currency1",type:"address"},{internalType:"contract IHooks",name:"hooks",type:"address"},{internalType:"contract IPoolManager",name:"poolManager",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"bytes32",name:"parameters",type:"bytes32"}],internalType:"struct PoolKey",name:"poolKey",type:"tuple"},{internalType:"bool",name:"zeroForOne",type:"bool"},{internalType:"uint128",name:"exactAmount",type:"uint128"},{internalType:"bytes",name:"hookData",type:"bytes"}],internalType:"struct IQuoter.QuoteExactSingleParams",name:"params",type:"tuple"}],name:"quoteExactInputSingle",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"Currency",name:"exactCurrency",type:"address"},{components:[{internalType:"Currency",name:"intermediateCurrency",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"contract IHooks",name:"hooks",type:"address"},{internalType:"contract IPoolManager",name:"poolManager",type:"address"},{internalType:"bytes",name:"hookData",type:"bytes"},{internalType:"bytes32",name:"parameters",type:"bytes32"}],internalType:"struct PathKey[]",name:"path",type:"tuple[]"},{internalType:"uint128",name:"exactAmount",type:"uint128"}],internalType:"struct IQuoter.QuoteExactParams",name:"params",type:"tuple"}],name:"quoteExactOutput",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"Currency",name:"currency0",type:"address"},{internalType:"Currency",name:"currency1",type:"address"},{internalType:"contract IHooks",name:"hooks",type:"address"},{internalType:"contract IPoolManager",name:"poolManager",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"bytes32",name:"parameters",type:"bytes32"}],internalType:"struct PoolKey",name:"poolKey",type:"tuple"},{internalType:"bool",name:"zeroForOne",type:"bool"},{internalType:"uint128",name:"exactAmount",type:"uint128"},{internalType:"bytes",name:"hookData",type:"bytes"}],internalType:"struct IQuoter.QuoteExactSingleParams",name:"params",type:"tuple"}],name:"quoteExactOutputSingle",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"vault",outputs:[{internalType:"contract IVault",name:"",type:"address"}],stateMutability:"view",type:"function"}],ts=[{inputs:[{internalType:"address",name:"_poolManager",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"PoolId",name:"poolId",type:"bytes32"}],name:"NotEnoughLiquidity",type:"error"},{inputs:[],name:"NotSelf",type:"error"},{inputs:[],name:"NotVault",type:"error"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"QuoteSwap",type:"error"},{inputs:[],name:"UnexpectedCallSuccess",type:"error"},{inputs:[{internalType:"bytes",name:"revertData",type:"bytes"}],name:"UnexpectedRevertBytes",type:"error"},{inputs:[{components:[{internalType:"Currency",name:"exactCurrency",type:"address"},{components:[{internalType:"Currency",name:"intermediateCurrency",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"contract IHooks",name:"hooks",type:"address"}
1,{internalType:"contract IPoolManager",name:"poolManager",type:"address"},{internalType:"bytes",name:"hookData",type:"bytes"},{internalType:"bytes32",name:"parameters",type:"bytes32"}],internalType:"struct PathKey[]",name:"path",type:"tuple[]"},{internalType:"uint128",name:"exactAmount",type:"uint128"}],internalType:"struct IQuoter.QuoteExactParams",name:"params",type:"tuple"}],name:"_quoteExactInput",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"Currency",name:"currency0",type:"address"},{internalType:"Currency",name:"currency1",type:"address"},{internalType:"contract IHooks",name:"hooks",type:"address"},{internalType:"contract IPoolManager",name:"poolManager",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"bytes32",name:"parameters",type:"bytes32"}],internalType:"struct PoolKey",name:"poolKey",type:"tuple"},{internalType:"bool",name:"zeroForOne",type:"bool"},{internalType:"uint128",name:"exactAmount",type:"uint128"},{internalType:"bytes",name:"hookData",type:"bytes"}],internalType:"struct IQuoter.QuoteExactSingleParams",name:"params",type:"tuple"}],name:"_quoteExactInputSingle",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"Currency",name:"exactCurrency",type:"address"},{components:[{internalType:"Currency",name:"intermediateCurrency",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"contract IHooks",name:"hooks",type:"address"},{internalType:"contract IPoolManager",name:"poolManager",type:"address"},{internalType:"bytes",name:"hookData",type:"bytes"},{internalType:"bytes32",name:"parameters",type:"bytes32"}],internalType:"struct PathKey[]",name:"path",type:"tuple[]"},{internalType:"uint128",name:"exactAmount",type:"uint128"}],internalType:"struct IQuoter.QuoteExactParams",name:"params",type:"tuple"}],name:"_quoteExactOutput",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"Currency",name:"currency0",type:"address"},{internalType:"Currency",name:"currency1",type:"address"},{internalType:"contract IHooks",name:"hooks",type:"address"},{internalType:"contract IPoolManager",name:"poolManager",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"bytes32",name:"parameters",type:"bytes32"}],internalType:"struct PoolKey",name:"poolKey",type:"tuple"},{internalType:"bool",name:"zeroForOne",type:"bool"},{internalType:"uint128",name:"exactAmount",type:"uint128"},{internalType:"bytes",name:"hookData",type:"bytes"}],internalType:"struct IQuoter.QuoteExactSingleParams",name:"params",type:"tuple"}],name:"_quoteExactOutputSingle",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"}],name:"lockAcquired",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"poolManager",outputs:[{internalType:"contract ICLPoolManager",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"Currency",name:"exactCurrency",type:"address"},{components:[{internalType:"Currency",name:"intermediateCurrency",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"contract IHooks",name:"hooks",type:"address"},{internalType:"contract IPoolManager",name:"poolManager",type:"address"},{internalType:"bytes",name:"hookData",type:"bytes"},{internalType:"bytes32",name:"parameters",type:"bytes32"}],internalType:"struct PathKey[]",name:"path",type:"tuple[]"},{internalType:"uint128",name:"exactAmount",type:"uint128"}],internalType:"struct IQuoter.QuoteExactParams",name:"params",type:"tuple"}],name:"quoteExactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"Currency",name:"currency0",type:"address"},{internalType:"Currency",name:"currency1",type:"address"},{internalType:"contract IHooks",name:"hooks",type:"address"}
1,{internalType:"contract IPoolManager",name:"poolManager",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"bytes32",name:"parameters",type:"bytes32"}],internalType:"struct PoolKey",name:"poolKey",type:"tuple"},{internalType:"bool",name:"zeroForOne",type:"bool"},{internalType:"uint128",name:"exactAmount",type:"uint128"},{internalType:"bytes",name:"hookData",type:"bytes"}],internalType:"struct IQuoter.QuoteExactSingleParams",name:"params",type:"tuple"}],name:"quoteExactInputSingle",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"Currency",name:"exactCurrency",type:"address"},{components:[{internalType:"Currency",name:"intermediateCurrency",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"contract IHooks",name:"hooks",type:"address"},{internalType:"contract IPoolManager",name:"poolManager",type:"address"},{internalType:"bytes",name:"hookData",type:"bytes"},{internalType:"bytes32",name:"parameters",type:"bytes32"}],internalType:"struct PathKey[]",name:"path",type:"tuple[]"},{internalType:"uint128",name:"exactAmount",type:"uint128"}],internalType:"struct IQuoter.QuoteExactParams",name:"params",type:"tuple"}],name:"quoteExactOutput",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"Currency",name:"currency0",type:"address"},{internalType:"Currency",name:"currency1",type:"address"},{internalType:"contract IHooks",name:"hooks",type:"address"},{internalType:"contract IPoolManager",name:"poolManager",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"bytes32",name:"parameters",type:"bytes32"}],internalType:"struct PoolKey",name:"poolKey",type:"tuple"},{internalType:"bool",name:"zeroForOne",type:"bool"},{internalType:"uint128",name:"exactAmount",type:"uint128"},{internalType:"bytes",name:"hookData",type:"bytes"}],internalType:"struct IQuoter.QuoteExactSingleParams",name:"params",type:"tuple"}],name:"quoteExactOutputSingle",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"vault",outputs:[{internalType:"contract IVault",name:"",type:"address"}],stateMutability:"view",type:"function"}],tl=[{type:"constructor",inputs:[{name:"_factoryV3",type:"address",internalType:"address"},{name:"_factoryV2",type:"address",internalType:"address"},{name:"_factoryStable",type:"address",internalType:"address"},{name:"_WETH9",type:"address",internalType:"address"},{name:"_clQuoter",type:"address",internalType:"contract ICLQuoter"},{name:"_binQuoter",type:"address",internalType:"contract IBinQuoter"}],stateMutability:"nonpayable"},{type:"function",name:"WETH9",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"binQuoter",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IBinQuoter"}],stateMutability:"view"},{type:"function",name:"clQuoter",inputs:[],outputs:[{name:"",type:"address",internalType:"contract ICLQuoter"}],stateMutability:"view"},{type:"function",name:"factoryStable",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"factoryV2",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"factoryV3",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"multicall",inputs:[{name:"data",type:"bytes[]",internalType:"bytes[]"}],outputs:[{name:"results",type:"bytes[]",internalType:"bytes[]"}],stateMutability:"payable"},{type:"function",name:"pancakeV3SwapCallback",inputs:[{name:"amount0Delta",type:"int256",internalType:"int256"},{name:"amount1Delta",type:"int256",internalType:"int256"},{name:"data",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"view"},{type:"function",name:"quoteExactInputSingleStable",inputs:[{name:"params",type:"tuple",internalType:"struct IMixedQuoter.QuoteExactInputSingleStableParams",components:[{name:"tokenIn",type:"address",internalType:"address"},{name:"tokenOut",type:"address",internalType:"address"},{name:"amountIn",type:"uint256",internalType:"uint256"},{name:"flag",type:"uint256",internalType:"uint256"}]}],outputs:[{name:"amountOut",type:"uint256",internalType:"uint256"},{name:"gasEstimate",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"quoteExactInputSingleV2",inputs:[{name:"params",type:"tuple",internalType:"struct IMixedQuoter.QuoteExactInputSingleV2Params",components:[{name:"tokenIn",type:"address",internalType:"address"},{name:"tokenOut",type:"address",internalType:"address"},{name:"amountIn",type:"uint256",internalType:"uint256"}]}],outputs:[{name:"amountOut",type:"uint256",internalType:"uint256"},{name:"gasEstimate",type:"uint256",internalType:"uint256"}],stateMutability:"view"}
1,{type:"function",name:"quoteExactInputSingleV3",inputs:[{name:"params",type:"tuple",internalType:"struct IMixedQuoter.QuoteExactInputSingleV3Params",components:[{name:"tokenIn",type:"address",internalType:"address"},{name:"tokenOut",type:"address",internalType:"address"},{name:"amountIn",type:"uint256",internalType:"uint256"},{name:"fee",type:"uint24",internalType:"uint24"},{name:"sqrtPriceLimitX96",type:"uint160",internalType:"uint160"}]}],outputs:[{name:"amountOut",type:"uint256",internalType:"uint256"},{name:"sqrtPriceX96After",type:"uint160",internalType:"uint160"},{name:"initializedTicksCrossed",type:"uint32",internalType:"uint32"},{name:"gasEstimate",type:"uint256",internalType:"uint256"}],stateMutability:"nonpayable"},{type:"function",name:"quoteMixedExactInput",inputs:[{name:"paths",type:"address[]",internalType:"address[]"},{name:"actions",type:"bytes",internalType:"bytes"},{name:"params",type:"bytes[]",internalType:"bytes[]"},{name:"amountIn",type:"uint256",internalType:"uint256"}],outputs:[{name:"amountOut",type:"uint256",internalType:"uint256"},{name:"gasEstimate",type:"uint256",internalType:"uint256"}],stateMutability:"nonpayable"},{type:"function",name:"quoteMixedExactInputSharedContext",inputs:[{name:"paths",type:"address[]",internalType:"address[]"},{name:"actions",type:"bytes",internalType:"bytes"},{name:"params",type:"bytes[]",internalType:"bytes[]"},{name:"amountIn",type:"uint256",internalType:"uint256"}],outputs:[{name:"amountOut",type:"uint256",internalType:"uint256"},{name:"gasEstimate",type:"uint256",internalType:"uint256"}],stateMutability:"nonpayable"},{type:"error",name:"INVALID_ADDRESS",inputs:[]},{type:"error",name:"INVALID_SWAP_DIRECTION",inputs:[]},{type:"error",name:"InputLengthMismatch",inputs:[]},{type:"error",name:"InvalidPath",inputs:[]},{type:"error",name:"InvalidPoolKeyCurrency",inputs:[]},{type:"error",name:"NoActions",inputs:[]},{type:"error",name:"SafeCastOverflowedUintDowncast",inputs:[{name:"bits",type:"uint8",internalType:"uint8"},{name:"value",type:"uint256",internalType:"uint256"}]},{type:"error",name:"SafeCastOverflowedUintToInt",inputs:[{name:"value",type:"uint256",internalType:"uint256"}]},{type:"error",name:"UnsupportedAction",inputs:[{name:"action",type:"uint256",internalType:"uint256"}]}];function tp(e,t){let n=t.wrapped;if(tt(e)){let{reserve0:t,reserve1:r}=e.getPoolData();return t.currency.equals(n)?r.currency:t.currency}if((0,eG.Y3)(e)){let{token0:t,token1:r}=e.getPoolData();return t.equals(n)?r:t}if(e4(e)){let{balances:t}=e.getPoolData();return t[0].currency.equals(n)?t[1].currency:t[0].currency}if(e1(e)||eJ(e)||e0(e)){let{currency0:t,currency1:r}=e.getPoolData();return t.wrapped.equals(n)?r:t}throw Error("Cannot get output currency by invalid pool")}var tc=[{components:[{components:[{name:"currency0",type:"address"},{name:"currency1",type:"address"},{name:"hooks",type:"address"},{name:"poolManager",type:"address"},{name:"fee",type:"uint24"},{name:"parameters",type:"bytes32"}],name:"poolKey",type:"tuple"},{name:"hookData",type:"bytes"}],name:"params",type:"tuple"}];function td(e,t){if(e.pools.some(e=>!e1(e)&&!eJ(e)&&!e0(e)))throw Error("Failed to encode path keys. Invalid infinity pool found in route.");let n=t?e.path[e.path.length-1]:e.path[0],{path:r}=(t?[...e.pools].reverse():e.pools).reduce((e,t)=>{var n;let{baseCurrency:r,path:a}=e,o=e1(t),u=eJ(t),s=e0(t);if(!o&&!u&&!s)throw Error(`Invalid Infinity pool ${t}`);let l=tp(t,r),p=t.getPoolData(),c=void 0!==p.hooksRegistrationBitmap?(0,q.A7)(p.hooksRegistrationBitmap):void 0,d=(0,q.v9)(o||s?{tickSpacing:t.getPoolData().tickSpacing,hooksRegistration:c}:{binStep:t.getPoolData().binStep,hooksRegistration:c});return{baseCurrency:l,path:[...a,{intermediateCurrency:(0,i.eG)(l),fee:p.dynamic?q._u:p.fee,hooks:null!=(n=p.hooks)?n:e$.Xd,poolManager:p.poolManager,hookData:"0x",parameters:d}]}},{baseCurrency:n,path:[]});return t?r.reverse():r}function ty(e){let{amount:t}=e,{currency:{chainId:n}}=t;return{address:q.Fm[n],abi:tl,functionName:"quoteMixedExactInput",args:[function(e){let{pools:t}=e,n=e.path[0],r=(0,i.wu)(n,t[0].getTradingPairs()[0]);if(!r)throw Error("Failed to encode path keys. Invalid start currency.");let{path:a}=t.reduce((e,t)=>
1{let{baseCurrency:n,path:r}=e,a=tp(t,n);return{baseCurrency:a,path:[...r,(0,i.eG)(a)]}},{baseCurrency:r,path:[(0,i.eG)(r)]});return a}(e),(0,eD.My)(new Uint8Array(e.pools.map(e=>{if(tt(e))return 2;if((0,eG.Y3)(e))return 3;if(e4(e))return 0;if(e1(e)||e0(e))return 4;if(eJ(e))return 5;throw Error(`Unrecognized pool type ${e}`)}))),e.pools.map(e=>{if(tt(e)||e4(e))return"0x";if((0,eG.Y3)(e))return(0,eQ.h)((0,eL.m)("uint24"),[e.getPoolData().fee]);if(e1(e)||e0(e)){let t=e.getPoolData(),n={currency0:(0,i.eG)(t.currency0),currency1:(0,i.eG)(t.currency1),fee:t.dynamic?q._u:t.fee,hooks:t.hooks,poolManager:t.poolManager,parameters:{tickSpacing:t.tickSpacing,hooksRegistration:void 0!==t.hooksRegistrationBitmap?(0,q.A7)(t.hooksRegistrationBitmap):void 0}};return(0,eQ.h)(tc,[{poolKey:(0,q.WI)(n),hookData:"0x"}])}if(eJ(e)){let t=e.getPoolData(),n={currency0:(0,i.eG)(t.currency0),currency1:(0,i.eG)(t.currency1),fee:t.dynamic?q._u:t.fee,hooks:t.hooks,poolManager:t.poolManager,parameters:{binStep:Number(t.binStep),hooksRegistration:void 0!==t.hooksRegistrationBitmap?(0,q.A7)(t.hooksRegistrationBitmap):void 0}};return(0,eQ.h)(tc,[{poolKey:(0,q.WI)(n),hookData:"0x"}])}throw Error(`Invalid pool type ${e}`)}),e.amount.quotient]}}var tm=[{inputs:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"uint256[]",name:"flag",type:"uint256[]"},{internalType:"uint256",name:"amountIn",type:"uint256"}],name:"quoteExactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint160[]",name:"v3SqrtPriceX96AfterList",type:"uint160[]"},{internalType:"uint32[]",name:"v3InitializedTicksCrossedList",type:"uint32[]"},{internalType:"uint256",name:"v3SwapGasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"}],tf=async e=>{let{routes:t,client:n}=e,[r]=t,{amount:a,path:o}=r,u=o[o.length-1].wrapped.equals(a.currency.wrapped),s=t.map(e=>!function(e){let{pools:t}=e;return t.every(e=>(0,eG.Y3)(e))}(e)?!function(e){let{pools:t}=e;return t.every(e=>e1(e))}(e)?!function(e){let{pools:t}=e;return t.every(e=>eJ(e))}(e)?function(e){let{pools:t}=e;return t.every(e=>e0(e))}(e)||function(e){let t,{pools:n}=e;if(!n.some(e=>e1(e)||eJ(e)||e0(e)))return!1;for(let e of n){if(void 0===t){t=e.type;continue}if(t!==e.type)return!0}return!1}(e)?ty(e):function(e){let{path:t,amount:n}=e,{currency:{chainId:r}}=n,a=t[t.length-1].wrapped.equals(n.currency.wrapped);return(0,ej.A)(!a,"EXACT_OUT_NOT_SUPPORTED"),{address:tr[r],abi:tm,functionName:"quoteExactInput",args:[ti(e,!1),e.pools.map(e=>{if((0,eG.Y3)(e))return 0n;if(tt(e))return 1n;if(e4(e)){let t=e.getPoolData();if(2===t.balances.length)return 2n;if(3===t.balances.length)return 3n}return-1n}).filter(e=>e>=0),n.quotient]}}(e):u?function(e){let{path:t,amount:n}=e,{currency:{chainId:r}}=n,a=t[t.length-1].wrapped.equals(n.currency.wrapped),o=e.pools[a?e.pools.length-1:0],u=(0,i.wu)(e.amount.currency,o.getTradingPairs()[0]);if(!u)throw Error("ROUTING_SDK_ADDON_INFINITY_BIN_QUOTER_CALL_INPUTS: INVALID_POOL");let s=(0,i.eG)(u);return{address:q.He[r],abi:tu,functionName:a?"quoteExactOutput":"quoteExactInput",args:[{exactCurrency:s,path:td(e,a),exactAmount:`0x${e.amount.quotient.toString(16)}`}]}}(e):ty(e):u?function(e){let{path:t,amount:n}=e,{currency:{chainId:r}}=n,a=t[t.length-1].wrapped.equals(n.currency.wrapped),o=e.pools[a?e.pools.length-1:0],u=(0,i.wu)(e.amount.currency,o.getTradingPairs()[0]);if(!u)throw Error("ROUTING_SDK_ADDON_INFINITY_CL_QUOTER_CALL_INPUTS: INVALID_POOL");let s=(0,i.eG)(u);return{address:q.v7[r],abi:ts,functionName:a?"quoteExactOutput":"quoteExactInput",args:[{exactCurrency:s,path:td(e,a),exactAmount:`0x${e.amount.quotient.toString(16)}`}]}}(e):ty(e):function(e){let{path:t,amount:n}=e,{currency:{chainId:r}}=n,a=t[t.length-1].wrapped.equals(n.currency.wrapped);return{address:ta[r],abi:to,functionName:a?"quoteExactOutput":"quoteExactInput",args:[ti(e,a),n.quotient]}}(e));return(await n.multicall({contracts:s})).map((e,n)=>{if("failure"===e.status){console.warn("[routing-sdk][QUOTER]: fail to get quote",e.error),console.warn("failed route & call ",t[n],s[n]);return}let{path:r}=t[n],a=u?r[0]:r[r.length-1];if(2===e.result.length){let[t,n]=e.result;return{quote:i.eF.fromRawAmount(a,t),gasUseEstimate:n}}let[o,,,l]=e.result;return{quote:i.eF.fromRawAmount(a,o),gasUseEstimate:l}})};function th(e){if(h.tj.isV3Pool(e))return(0,eG.GU)(e);if(h.tj.isV2Pool(e))return function e(t){let n={...t,type:"V2"},r=e=>te.Rm.getAddress(e.reserve0.currency.wrapped,e.reserve1.currency.wrapped),a=r(n),o={type:"V2",getReserve:e=>n.reserve0.currency.wrapped.equals(e.wrapped)?n.reserve0:n.reserve1,getCurrentPrice:e=>{let t=new te.Rm(n.reserve0.wrapped,n.reserve1.wrapped).priceOf(e.wrapped),[r,a]=t.baseCurrency.wrapped.equals(n.reserve0.currency.wrapped)?[n.reserve0.currency,n.reserve1.currency]:[n.reserve1.currency,n.reserve0.currency];return new i.gm(r,a,t.denominator,t.numerator)},getTradingPairs:()=>[[n.reserve0.currency,n.reserve1.currency]],getId:()=>a,update:e=>{a=r(n={...n,...e})},log:()=>`V2 ${n.reserve0.currency.symbol} - ${n.reserve1.currency.symbol} (${a} - price ${o.getCurrentPrice(n.reserve0.currency,n.reserve1.currency).toSignificant(6)} ${n.reserve1.currency.symbol}/${n.reserve0.currency.symbol}`,getPoolData:()=>n,getQuote:t=>{let{amount:r,isExactIn:a}=t,u=new te.Rm(n.reserve0.wrapped,n.reserve1.wrapped),s=r.currency.wrapped.equals(n.reserve0.currency.wrapped)?n.reserve1.currency:n.reserve0.currency,[l,p]=a?u.getOutputAmount(r.wrapped):u.getInputAmount(r.wrapped);return{quote:i.eF.fromRawAmount(s,l.quotient),poolAfter:e({...n,reserve0:i.eF.fromRawAmount(n.reserve0.currency,p.reserve0.quotient),reserve1:i.eF.fromRawAmount(n.reserve1.currency,p.reserve1.quotient)}),pool:o}},estimateGasCostForQuote:()=>135000n+50000n};return o}(e);if(h.tj.isStablePool(e))return function e(t){let n={...t,type:e8},r={type:e8,getReserve:e=>{let t=n.balances.find(t=>t.currency.wrapped.equals(e.wrapped));return(0,ej.A)(void 0!==t,"NO_RESERVE_FOUND"),t},getCurrentPrice:(e,t)=>{let{amplifier:r,balances:a,fee:o}=n,u=e9("1",e);if(!u)throw Error(`Cannot parse amount for ${e.symbol}`);let s=(0,F.Rs)({amplifier:r,balances:a,fee:o,outputCurrency:t,amount:u});
1return new i.gm({baseAmount:u,quoteAmount:s})},getTradingPairs:()=>{let e=[],t=n.balances.length;for(let r=0;r<t-1;r+=1)for(let a=r+1;a<t;a+=1)e.push([n.balances[r].currency,n.balances[a].currency]);return e},getId:()=>n.address,update:e=>{n={...n,...e}},log:()=>`Stable Swap ${n.balances.map(e=>e.currency.symbol).join(" - ")} (${n.address}`,getPoolData:()=>n,getQuote:t=>{let{amount:a,isExactIn:i,quoteCurrency:o}=t,u=i?F.B3:F.q2,{amplifier:s,balances:l,fee:p}=n,[c,{balances:d}]=u({amount:a,balances:l,amplifier:s,outputCurrency:o,fee:p});return{poolAfter:e({...n,balances:d}),quote:c,pool:r}},estimateGasCostForQuote:()=>180000n+70000n};return r}(e);if(h.tj.isInfinityClPool(e))return function e(t){var n;let r={...t,type:eX},a=null!=(n=r.tickSpacing)?n:G.D6[eZ(r.fee,r.protocolFee)];(0,ej.A)(!0==!!a,"Invalid fee for v3 pool");let o={type:eX,getReserve:e=>{var t,n;return r.currency0.wrapped.equals(e.wrapped)?null!=(t=r.reserve0)?t:i.eF.fromRawAmount(r.currency0,0n):null!=(n=r.reserve1)?n:i.eF.fromRawAmount(r.currency1,0n)},getCurrentPrice:e=>{var t,n;return t=r,n=e.wrapped,(0,ej.A)(e6(t,n),"TOKEN"),n.wrapped.equals(t.currency0.wrapped)?e2(t):e5(t)},getTradingPairs:()=>[[r.currency0,r.currency1]],getId:()=>r.id,update:e=>{r={...r,...e}},log:()=>`Infinity CL ${r.currency0.symbol} - ${r.currency1.symbol} (${eZ(r.fee,r.protocolFee)}) - ${r.id} - price ${e2(r).toSignificant(6)} ${r.currency0.symbol}/${r.currency1.symbol}`,getPoolData:()=>r,getQuote:t=>{let{amount:n,isExactIn:a}=t,{ticks:u}=r;if(null==u?void 0:u.length)try{let[t,u]=a?function(e,t){var n;let{sqrtPriceLimitX96:r,...a}=t;(0,ej.A)(e6(a,e.currency),"TOKEN");let o=eZ(a.fee,a.protocolFee),u=null!=(n=a.tickSpacing)?n:G.D6[o];(0,ej.A)(!!u,"Invalid tick spacing");
1let s=e.currency.equals(a.currency0.wrapped),{amountCalculated:l,sqrtRatioX96:p,liquidity:c,tickCurrent:d}=e3({...a,fee:o,tickSpacing:u,amountSpecified:e.quotient,zeroForOne:s,sqrtPriceLimitX96:r}),y=s?a.currency1:a.currency0;return[i.eF.fromRawAmount(y,l*eY),{...a,sqrtRatioX96:p,liquidity:c,tick:d}]}(n.wrapped,r):function(e,t){var n,r;let{sqrtPriceLimitX96:a,exactOut:o,...u}=t;(0,ej.A)(e.currency.isToken&&e6(u,e.currency),"TOKEN");let s=(0,q.SP)(u.protocolFee),l=u.fee+(null!=(n=null==s?void 0:s[0])?n:0),p=null!=(r=u.tickSpacing)?r:G.D6[l];(0,ej.A)(!!p,"Invalid tick spacing");let c=e.currency.equals(u.currency1.wrapped),{amountSpecifiedRemaining:d,amountCalculated:y,sqrtRatioX96:m,liquidity:f,tickCurrent:h}=e3({...u,fee:l,tickSpacing:p,amountSpecified:e.quotient*eY,zeroForOne:c,sqrtPriceLimitX96:a});o&&(0,ej.A)(0n===d,"INSUFFICIENT_LIQUIDITY_EXACT_OUT");let g=c?u.currency0:u.currency1;return[i.eF.fromRawAmount(g,y),{...u,sqrtRatioX96:m,liquidity:f,tick:h}]}(n.wrapped,{...r,exactOut:!0});if(t.quotient<=0n)return;let{tick:s}=u,l={...r,tick:s,sqrtRatioX96:u.sqrtRatioX96,liquidity:u.liquidity};return{poolAfter:e(l),quote:t,pool:o}}catch(e){return}},estimateGasCostForQuote:e=>{let{poolAfter:t}=e,{tick:n,ticks:a,currency0:i}=r,{chainId:o}=i,{tick:u}=t.getPoolData();(0,ej.A)(void 0!==a,"[Estimate gas]: No valid tick list found");let s=G.gv.countInitializedTicksCrossed(a,n,u),l=(e=>{switch(e){case m.nU.BSC:case m.nU.BSC_TESTNET:case m.nU.ETHEREUM:case m.nU.GOERLI:case m.nU.ZKSYNC:case m.nU.ZKSYNC_TESTNET:case m.nU.ARBITRUM_ONE:case m.nU.OPBNB:case m.nU.OPBNB_TESTNET:return 31000n;default:return 0n}})(o)*BigInt(s);return(e=>{switch(e){case m.nU.BSC:case m.nU.BSC_TESTNET:case m.nU.ETHEREUM:case m.nU.GOERLI:case m.nU.ZKSYNC:case m.nU.ZKSYNC_TESTNET:case m.nU.ARBITRUM_ONE:case m.nU.OPBNB:case m.nU.OPBNB_TESTNET:return 2000n;default:return 0n}})(o)+(e=>{switch(e){case m.nU.BSC:case m.nU.BSC_TESTNET:case m.nU.ETHEREUM:case m.nU.GOERLI:case m.nU.ZKSYNC:case m.nU.ZKSYNC_TESTNET:case m.nU.ARBITRUM_ONE:case m.nU.OPBNB:case m.nU.OPBNB_TESTNET:return 80000n;default:return 0n}})(o)+l}};return o}(e);if(h.tj.isInfinityBinPool(e))return function e(t){let n={...t,type:eW},r={type:eW,getReserve:e=>{var t,r;return n.currency0.wrapped.equals(e.wrapped)?null!=(t=n.reserve0)?t:i.eF.fromRawAmount(n.currency0,0n):null!=(r=n.reserve1)?r:i.eF.fromRawAmount(n.currency1,0n)},getCurrentPrice:e=>(0,q.yG)({currencyX:n.currency0,currencyY:n.currency1,activeId:BigInt(n.activeId),binStep:BigInt(n.binStep)},e),getTradingPairs:()=>[[n.currency0,n.currency1]],getId:()=>n.id,update:e=>{n={...n,...e}},log:()=>`Infinity Bin ${n.currency0.symbol} - ${n.currency1.symbol} (${eZ(n.fee,n.protocolFee)}) - ${n.id} - price ${(0,q.yG)({currencyX:n.currency0,currencyY:n.currency1,activeId:BigInt(n.activeId),binStep:BigInt(n.binStep)},n.currency0).toSignificant(6)} ${n.currency0.symbol}/${n.currency1.symbol}`,getPoolData:()=>n,getQuote:t=>{let{amount:a,isExactIn:o}=t,{reserveOfBin:u}=n;if(u)try{let{currency0:t,currency1:s,binStep:l,activeId:p,fee:c,protocolFee:d}=n,y=(0,q.kp)({currencyA:t,currencyB:s,binStep:l,activeId:p,reserveOfBin:u,lpFee:c,protocolFees:(0,q.SP)(d)}),m=o?(0,q.QZ)(y,a.quotient,a.currency.wrapped.equals(t.wrapped)):(0,q.lt)(y,a.quotient,a.currency.wrapped.equals(s.wrapped)),f=o?m.amountOut:m.amountIn;if(f<=0n)return;let h=a.currency.wrapped.equals(t.wrapped)?s:t,g=i.eF.fromRawAmount(h,f),T={...n};return{poolAfter:e(T),quote:g,pool:r}}catch(e){return}},estimateGasCostForQuote:()=>0n};return r}(e);if(h.tj.isInfinityStablePool(e))return function e(t){let n={...t,type:ez},r={type:ez,getReserve:e=>{var t,r;return n.currency0.wrapped.equals(e.wrapped)?null!=(t=n.reserve0)?t:i.eF.fromRawAmount(n.currency0,0n):null!=(r=n.reserve1)?r:i.eF.fromRawAmount(n.currency1,0n)},getCurrentPrice:(e,t)=>{var r,a;let{amplifier:o,stableFee:u}=n,s=e7("1",e);if(!s)throw Error(`Cannot parse amount for ${e.symbol}`);let l=null!=(r=n.reserve0)?r:i.eF.fromRawAmount(n.currency0,0n),p=null!=(a=n.reserve1)?a:i.eF.fromRawAmount(n.currency1,0n),c=(0,F.Rs)({amplifier:BigInt(o),balances:[l,p],fee:new i.QE(BigInt(u),eH.kz),outputCurrency:t,amount:s});
1return new i.gm({baseAmount:s,quoteAmount:c})},getTradingPairs:()=>[[n.currency0,n.currency1]],getId:()=>n.id,update:e=>{n={...n,...e}},log:()=>`Infinity Stable ${n.currency0.symbol} - ${n.currency1.symbol} (${n.stableFee}) - ${n.id}`,getPoolData:()=>n,getQuote:t=>{var a,o;let{amount:u,isExactIn:s,quoteCurrency:l}=t,{amplifier:p,stableFee:c}=n,d=null!=(a=n.reserve0)?a:i.eF.fromRawAmount(n.currency0,0n),y=null!=(o=n.reserve1)?o:i.eF.fromRawAmount(n.currency1,0n),[m,{balances:f}]=(s?F.B3:F.q2)({amount:u,balances:[d,y],amplifier:BigInt(p),outputCurrency:l,fee:new i.QE(BigInt(c),eH.kz)}),h=f.find(e=>e.currency.wrapped.equals(n.currency0.wrapped)),g=f.find(e=>e.currency.wrapped.equals(n.currency1.wrapped));return(0,ej.A)(void 0!==h&&void 0!==g,"NO_RESERVE_FOUND"),{poolAfter:e({...n,reserve0:h,reserve1:g}),quote:m,pool:r}},estimateGasCostForQuote:()=>180000n+70000n};return r}(e);throw Error(`Unsupported pool type: ${e}`)}function tg(e){return!!e&&(e.type===h.J1.InfinityCL||e.type===h.J1.InfinityStable?Number.isFinite(e.tickSpacing)&&"string"==typeof e.poolManager&&e.poolManager.length>0:e.type!==h.J1.InfinityBIN||Number.isFinite(e.binStep)&&"string"==typeof e.poolManager&&e.poolManager.length>0)}function tT(e){return e.pools.every(tg)}async function tv(e){let t=e.tradeType===i.nP.EXACT_INPUT,n=t?e.outputAmount.currency:e.inputAmount.currency,r=t?e.routes.reduce((e,t,n)=>tT(t)?[...e,n]:e,[]):e.routes.reduce((e,t,n)=>t.type!==h.Y0.V2&&t.type!==h.Y0.STABLE&&tT(t)?[...e,n]:e,[]);if(!r.length)return null;let a=({...e,routes:e.routes.map(e=>({...e,pools:e.pools.map(th)}))}).routes.filter((e,t)=>r.includes(t)).map(e=>({...e,amount:t?e.inputAmount:e.outputAmount})),o=await tf({routes:a,client:(0,b.Qr)({chainId:e.inputAmount.currency.chainId})});if(o.some(e=>void 0===e))throw Error("Fail to validate");return{quotes:o,indexesOfRoutesToVerify:r,isExactIn:t,quoteCurrency:n}}async function tb(e){if(!e)throw Error(`Invalid trade ${e} to verify`);let t=await tv(e);if(!t)return e;let{quotes:n,indexesOfRoutesToVerify:r,isExactIn:a,quoteCurrency:o}=t,u=e=>r.findIndex(t=>t===e),{quote:s,gasUseEstimate:l}=e.routes.reduce((e,t,r)=>{let s=u(r),l=-1!==s?n[s]:{quote:a?t.outputAmount:t.inputAmount,gasUseEstimate:t.gasUseEstimate};return{quote:e.quote.add(i.eF.fromRawAmount(o,l.quote.quotient)),gasUseEstimate:e.gasUseEstimate+l.gasUseEstimate}},{quote:i.eF.fromRawAmount(o,0n),gasUseEstimate:0n});return{...e,routes:e.routes.map((t,r)=>{let i=u(r),o=-1!==i?n[i]:void 0;return{...t,inputAmount:a||!o?t.inputAmount:o.quote,outputAmount:a&&o?o.quote:t.outputAmount,...o?tI(e.tradeType,t,o.gasUseEstimate):{}}}),inputAmount:a?e.inputAmount:s,outputAmount:a?s:e.outputAmount,...tI(e.tradeType,e,l)}}function tI(e,t,n){let r=e===i.nP.EXACT_INPUT,a=new i.fw(n,t.gasUseEstimate),o=a.denominator>0n?t.gasUseEstimateBase.multiply(a):i.eF.fromRawAmount(t.gasUseEstimateQuote.currency,0n),u=a.denominator>0n?t.gasUseEstimateQuote.multiply(a):i.eF.fromRawAmount(t.gasUseEstimateQuote.currency,0n),s=r?t.inputAmountWithGasAdjusted:t.inputAmountWithGasAdjusted.subtract(t.gasUseEstimateQuote).add(u),l=r?t.outputAmountWithGasAdjusted.add(t.gasUseEstimateQuote).subtract(u):t.outputAmountWithGasAdjusted;return{gasUseEstimateBase:o,gasUseEstimateQuote:u,inputAmountWithGasAdjusted:s,outputAmountWithGasAdjusted:l,gasUseEstimate:n}}let tA=(0,s.Iz)(e=>{let{amount:t,currency:n,tradeType:r,maxSplits:a}=e;return(0,d.Q)(async o=>{if(!t||!t.currency||!n)return;let u=await o(S.xE);if(!u)throw Error("Quote worker not initialized");let s=new AbortController,l=o((0,C.j)(e));l.tracker.track("start");let{chainId:p}=n,c=(0,A.w)(async()=>{var p;let{poolQuery:c,poolOptions:d}=(0,E.B)(e,s),[y,m]=await Promise.all([eo(c,d),o(R(null==n?void 0:n.chainId))]);if(l.tracker.track("pool_success"),0===y.length)throw new el.Mt;let g=await u.getBestTradeOffchain({chainId:n.chainId,currency:h.tj.Transformer.serializeCurrency(n),tradeType:r||i.nP.EXACT_INPUT,amount:{currency:h.tj.Transformer.serializeCurrency(t.currency),value:t.quotient.toString()},gasPriceWei:(null==m?void 0:m.toString())||"",maxHops:e.maxHops,maxSplits:a,candidatePools:y.map(h.tj.Transformer.serializePool),signal:s.signal}),T=null!=(p=h.QD.Transformer.parseTrade(n.chainId,g))?p:null,v=await tb(T);v&&(v.quoteQueryHash=e.hash);let b={type:f.ZN.PCS_CLASSIC,trade:v||void 0};return l.tracker.success(b),b},{ms:w.Z1[p],abort:()=>{s.abort()}});try{return await c()}catch(e){throw l.tracker.fail(e),s.abort(),e}finally{l.tracker.report()}})},D.Z$);var tw=n(455983),tC=n(479388);async function tE(e,t){var n,r;let a=null!=(n=t.side)?n:"exact-in",i=null!=(r=t.account)?r:"0x0000000000000000000000000000000000000000";if("exact-in"===a){let n=await e.publicClient.readContract({address:e.entry,abi:tC.vy,functionName:"quoteExactInput",args:[t.fromToken,t.toToken,t.amount],account:i});return{side:a,fromToken:t.fromToken,toToken:t.toToken,amountIn:t.amount,amountOut:n,entry:e.entry}}let o=await e.publicClient.readContract({address:e.entry,abi:tC.vy,functionName:"quoteExactOutput",args:[t.fromToken,t.toToken,t.amount],account:i});return{side:a,fromToken:t.fromToken,toToken:t.toToken,amountIn:o,amountOut:t.amount,entry:e.entry}}var tS=n(660512);function tP(e){return Object.entries(e).map(e=>{let[t,n]=e;return`${t}=${String(n)}`}).join(", ")}function tx(e,t,n){console[e](`[propamm] ${t}: ${tP(n)}`)}function tk(e){var t;let n=null!=(t=e.tradeType)?t:i.nP.EXACT_INPUT;return{inputCurrency:n===i.nP.EXACT_OUTPUT?e.currency:e.baseCurrency,outputCurrency:n===i.nP.EXACT_OUTPUT?e.baseCurrency:e.currency}}async function tN(e,t){var n,a,o,u;let s,{amount:l,tradeType:p,provider:c}=e,{inputCurrency:d,outputCurrency:y}=tk(e),m={chainId:null==d?void 0:d.chainId,tradeType:p,amount:null==l||null==(n=l.quotient)?void 0:n.toString(),amountCurrency:null==l?void 0:l.currency.symbol,inputCurrency:null==d?void 0:d.symbol,outputCurrency:null==y?void 0:y.symbol,recipient:null!=(o=e.recipient)?o:"self"};if(!l||!d||!y)return void tx("warn","quote skipped (missing amount or currency)",m);
1if(d.chainId!==y.chainId)return void tx("warn","quote skipped (cross-chain)",m);if(d.equals(y))return void tx("warn","quote skipped (same token)",m);let g=null==(a=r.Oz[d.chainId])?void 0:a.entry;if(!g)return void tx("warn","quote skipped (entry missing)",m);let T=null==c?void 0:c({chainId:d.chainId}),v=d.wrapped,I=y.wrapped,A=(0,tw.PR)(t,v.address,I.address),w={chainId:d.chainId,entry:g,rpcUrl:"",publicClient:null!=T?T:(0,b.Rt)({chainId:d.chainId})};if(!A)return void tx("warn","quote skipped (pair unsupported)",{...m,entry:g,inputWrapped:v.address,outputWrapped:I.address,pairSupported:A});let C=p===i.nP.EXACT_OUTPUT?"exact-out":"exact-in",E={...m,chainId:d.chainId,entry:g,side:C,inputIsNative:d.isNative,outputIsNative:y.isNative,inputWrapped:v.address,outputWrapped:I.address,pairSupported:A};if(p===i.nP.EXACT_OUTPUT&&(d.isNative||y.isNative))return void tx("warn","quote skipped (native exact-out unsupported)",E);try{tx("info","quote start",E),s=await tE(w,{fromToken:v.address,toToken:I.address,amount:l.quotient,side:C}),tx("info","quote success",{...E,amountIn:s.amountIn.toString(),amountOut:s.amountOut.toString()})}catch(t){let e=t instanceof Error?t.message:String(t);throw tx("error","quote failed",{...E,reason:e}),Error(`PropAMM quote failed (${tP({...E,reason:e})})`)}return s.amountIn<=0n||s.amountOut<=0n?void tx("warn","quote skipped (zero quote amount)",{...E,amountIn:s.amountIn.toString(),amountOut:s.amountOut.toString()}):(u={query:e,inputCurrency:d,outputCurrency:y,quote:s},{type:f.ZN.PCS_CLASSIC,quoteSource:"propamm",trade:function(e){var t;let{query:n,inputCurrency:r,outputCurrency:a,quote:o}=e,u=i.eF.fromRawAmount(r,o.amountIn.toString()),s=i.eF.fromRawAmount(a,o.amountOut.toString()),l=i.eF.fromRawAmount(r,0n),p=i.eF.fromRawAmount(a,0n),c={type:h.J1.MM,id:`${o.entry}:${r.wrapped.address}:${a.wrapped.address}`,quoteSource:"propamm",currency0:r,currency1:a,inputAmount:u,outputAmount:s};return{tradeType:null!=(t=n.tradeType)?t:i.nP.EXACT_INPUT,inputAmount:u,outputAmount:s,quoteQueryHash:n.hash,routes:[{type:h.Y0.MM,path:[r,a],pools:[c],inputAmount:u,outputAmount:s,percent:100,gasUseEstimate:0n,gasUseEstimateBase:l,gasUseEstimateQuote:p,inputAmountWithGasAdjusted:u,outputAmountWithGasAdjusted:s}],gasUseEstimate:0n,gasUseEstimateBase:l,gasUseEstimateQuote:p,inputAmountWithGasAdjusted:u,outputAmountWithGasAdjusted:s}}(u),executionPrice:new i.gm(u.inputCurrency,u.outputCurrency,u.quote.amountIn.toString(),u.quote.amountOut.toString()),rawQuote:u.quote})}let tU=(0,s.Iz)(e=>(0,d.Q)(async t=>{let{inputCurrency:n}=tk(e),r=t((0,tS.z)(null==n?void 0:n.chainId));if(r.isJust())return tN(e,r.unwrap())}),D.Z$),t_={aggregator:{query:y.z,overrides:{}},propamm:{query:tU,overrides:{}},single:{query:ep,overrides:{maxHops:1,maxSplits:0}},"routing-sdk":{query:tA,overrides:{}},x:{query:ew,overrides:{}},rwa:{query:eF,overrides:{}},full:{query:ec,overrides:{}}},tB=new Set(["single","routing-sdk"]),tO=[{key:"rwa",priority:1}],tR=[{key:"aggregator",priority:1},{key:"single",priority:1},{key:"routing-sdk",priority:1},{key:"x",priority:1},{key:"full",priority:2}],tq=async()=>{try{let e=await fetch("https://proofs.pancakeswap.com/cms-config/tokens-routing-config.json");if(!e.ok)return{};return e.json()}catch(e){return{}}},tF=(0,d.Q)(async()=>{try{return await tq()}catch(e){return{}}}),tM=(0,s.Iz)(e=>(0,u.eU)(t=>{var n,u,s,d,y;let m=t(tF);if(!m.isJust())throw Error("Routing config not loaded");let{baseCurrency:f}=e,h=e.currency,g=f?null==(n=(0,i.eG)(f))?void 0:n.toLowerCase():void 0,T=h?null==(u=(0,i.eG)(h))?void 0:u.toLowerCase():void 0,v=t(l.yp),b=t(c.Pk),I=a.pq.requiresRwaRouting(f&&g?{chainId:f.chainId,address:g}:void 0,h&&T?{chainId:h.chainId,address:T}:void 0,v),A=(0,p.nJ)(t(p.pq)),w=function(e,t,n){if(n)return!0;let r=e?c.gY[e]:void 0;return!!r&&!0===t[r]}(null!=(d=null==f?void 0:f.chainId)?d:null==h?void 0:h.chainId,b,A),C=!0===b[c.ZZ.LAYER01_FE_QUOTE_OFF];((null==f?void 0:f.chainId)||(null==h?void 0:h.chainId))&&c.gY[null!=(y=null==f?void 0:f.chainId)?y:null==h?void 0:h.chainId];let E=e.tradeType===i.nP.EXACT_OUTPUT?h:f,S=e.tradeType===i.nP.EXACT_OUTPUT?f:h,P=!!((null==E?void 0:E.isNative)||(null==S?void 0:S.isNative)),x=!!(e.tradeType===i.nP.EXACT_OUTPUT&&P),k=!!(E&&S&&!x&&E.chainId===S.chainId&&(null==(s=r.Oz[E.chainId])?void 0:s.entry));return function(e,t,n,r,a){var u,s;arguments.length>5&&void 0!==arguments[5]&&arguments[5];let l=arguments.length>6&&void 0!==arguments[6]&&arguments[6];if(n)return tO.map(e=>({...t_[e.key],...e}));let p=e.baseCurrency,c=e.currency,{chainId:d}=p,y=(0,i.eG)(p),m=(0,i.eG)(c);e.aggregatorOnly;let f=(null==(u=t[d])?void 0:u[y])||(null==(s=t[d])?void 0:s[m])||tR,h=o.c8.includes(d)&&a&&!e.excludeAggregator,g=h&&l&&e.tradeType!==i.nP.EXACT_OUTPUT,T=f.filter(e=>!(!h&&"aggregator"===e.key||g&&tB.has(e.key)));return(r&&!e.excludePropAMM?[{key:"propamm",priority:1},...T]:T).map(e=>{let t=t_[e.key];if(!t)throw Error(`Routing strategy ${e.key} not found`);return{...t,...e}})}(e,m.unwrap(),I,k,w,A,C)}),(e,t)=>e.hash===t.hash)}
1,660512:(e,t,n)=>{n.d(t,{z:()=>s});var r=n(556848),a=n(455983),i=n(656862),o=n(792118),u=n(581513);let s=(0,i.Iz)(e=>(0,u.Q)(async()=>{var t;if(!e)return;let n=null==(t=r.Oz[e])?void 0:t.entry;if(!n)return;let i={chainId:e,entry:n,rpcUrl:"",publicClient:(0,o.Rt)({chainId:e})},u=await (0,a.Ud)(i);return(0,a.We)(u)}))},670030:(e,t,n)=>{n.d(t,{P:()=>E});var r=n(556848),a=n(541269),i=n(557437),o=n(811081),u=n(479388);let s=1n<<255n,l="0x0000000000000000000000000000000000000000";function p(e,t,n){if(t<=0)return e;let r=BigInt(t);return"min-out"===n?e*(10000n-r)/10000n:(e*(10000n+r)+10000n-1n)/10000n}function c(e){return"native"===e}function d(e,t){return e.toLowerCase()===t.toLowerCase()}function y(e,t,n){let r=t.rawQuote;if(!d(r.entry,e.entry))throw Error(`Invalid PropAMM order: quote entry ${r.entry} does not match config entry ${e.entry}`);let a="native"===n.tokenIn?e.wrappedNative:n.tokenIn,i="native"===n.tokenOut?e.wrappedNative:n.tokenOut;if(!a||!d(r.fromToken,a))throw Error("Invalid PropAMM order: quote fromToken does not match execution context");if(!i||!d(r.toToken,i))throw Error("Invalid PropAMM order: quote toToken does not match execution context")}var m=n(512928),f=n(52794),h=n(25963),g=n(228876),T=n(511889),v=n(53670),b=n(733775),I=n(878314),A=n(757927);let w=/^[\x21-\x7E]+$/;var C=n(391121);function E(e,t,n,E,S,P){let{account:x,chainId:k}=(0,v.W7)(),{data:N}=(0,C.B)(),U=(0,T.I)(null!=n?n:void 0),_=null==n?x:(0,b.QR)(n)?n:(0,b.QR)(U)?U:null;return(0,h.useMemo)(()=>{var n,h,T,v,b;let C=e&&"object"==typeof e&&"trade"in e&&"type"in e?e:void 0,U=null!=(n=null==C?void 0:C.trade)?n:e;if(!U||!_||!x||!k||!(k in g.nU))return[];let B=(0,m.lB)(U,k,N);if("unsupported"===B.status)return console.warn("[hook-sdk] unsupported hook swap execution:",B.reason),[];if("ready"===B.status)return _.toLowerCase()!==x.toLowerCase()?(console.warn("[hook-sdk] custom recipient is not supported by the hook swap router"),[]):[{address:B.plan.routerAddress,calldata:B.plan.calldata,value:(0,I.nj)(B.plan.value)}];if((null==C?void 0:C.quoteSource)==="propamm"&&C.rawQuote){let e,n=r.Oz[k];if(!(null==n?void 0:n.entry))return[];try{h={entry:n.entry,wrappedNative:n.wrappedNative,aggregatorRouter:n.aggregatorRouter,propammAdapter:n.propammAdapter},T={quoteSource:"propamm",rawQuote:C.rawQuote},v={tokenIn:U.inputAmount.currency.isNative?"native":U.inputAmount.currency.wrapped.address,tokenOut:U.outputAmount.currency.isNative?"native":U.outputAmount.currency.wrapped.address,recipient:_,slippageBps:Math.floor(Number(t.numerator.toString())/Number(t.denominator.toString())*1e4),includeApprove:!1,deadline:S},e=function(e,t,n){var r,m,f;if(!(null==t?void 0:t.rawQuote))throw Error("Invalid PropAMM order: missing rawQuote");let{rawQuote:h}=t;if(h.amountIn<=0n||h.amountOut<=0n)throw Error("Invalid PropAMM order: quote amounts must be greater than zero");if(!n.recipient)throw Error("Invalid PropAMM execution context: missing recipient");if("native"!==n.tokenIn&&"native"!==n.tokenOut&&d(n.tokenIn,n.tokenOut))throw Error("Invalid PropAMM execution context: tokenIn and tokenOut cannot be the same");let g=t.rawQuote,T=null==(r=n.includeApprove)||r,v=null!=(m=n.slippageBps)?m:50,b=c(n.tokenIn),I=c(n.tokenOut),A="exact-in"===t.rawQuote.side?p(t.rawQuote.amountOut,v,"min-out"):p(t.rawQuote.amountIn,v,"max-in");if(b||I)return function(e,t,n,r){var p,m,f,h;let g=t.rawQuote,T=c(n.tokenIn),v=c(n.tokenOut);if("exact-in"!==g.side)throw Error("Native PropAMM execution only supports exact-in via Aggregator Router");let b=[];if(e.aggregatorRouter||b.push("aggregatorRouter"),e.propammAdapter||b.push("propammAdapter"),e.wrappedNative||b.push("wrappedNative"),b.length>0)throw Error(`Native PropAMM execution missing config: ${b.join(", ")}`);let I=e.aggregatorRouter,A=e.propammAdapter,w=e.wrappedNative;y(e,t,n);let[C,E]=[g.fromToken,g.toToken].sort((e,t)=>e.toLowerCase().localeCompare(t.toLowerCase())),S=d(g.fromToken,E),P=BigInt(A),x=T||!1===n.includeApprove?void 0:{to:g.fromToken,data:(0,a.p)({abi:u.xw,functionName:"approve",args:[I,null!=(p=n.approveAmount)?p:i.Ao]}),value:0n};return{kind:"router",spender:I,approveTx:x,minAmountOut:r,swapTx:{to:I,value:T?g.amountIn:0n,data:(0,a.p)({abi:u.wi,functionName:"swapExactIn",args:[null!=(m=n.orderId)?m:0n,{inputToken:T?l:g.fromToken,outputToken:v?l:g.toToken,minOutputAmount:r,deadline:null!=(f=n.deadline)?f:i.Ao},[g.amountIn],[[{mixAdapters:[P],assetTo:[A],rawData:[(S?s:0n)|10000n<<160n|BigInt(e.entry)],extraData:[(0,o.h)([{name:"token0",type:"address"},{name:"token1",type:"address"}],[C,E])],fromToken:T?w:g.fromToken}]],null!=(h=n.feeConfig)?h:0n,n.recipient]})}}}(e,t,{...n,includeApprove:T},A);y(e,t,n);let w="exact-in"===g.side?g.amountIn:-g.amountOut,C={to:e.entry,data:(0,a.p)({abi:u.vy,functionName:"swap",args:[g.fromToken,g.toToken,BigInt(w),A,n.recipient]}),value:0n},E=T&&g.fromToken?{to:g.fromToken,data:(0,a.p)({abi:u.xw,functionName:"approve",args:[e.entry,null!=(f=n.approveAmount)?f:i.Ao]}),value:0n}:void 0;return{kind:"direct",spender:e.entry,approveTx:E,swapTx:C,minAmountOut:"exact-in"===g.side?A:void 0,maxAmountIn:"exact-out"===g.side?A:void 0}}(h,T,v)}catch(e){return console.warn("[propamm] build execution failed, skipping swap call:",e),[]}return[{address:e.swapTx.to,calldata:e.swapTx.data,value:(0,I.nj)(e.swapTx.value)}]}let O={fee:P,recipient:_,inputTokenPermit:E,slippageTolerance:t,deadlineOrPreviousBlockhash:null==S?void 0:S.toString()},R=f.hQ.swapERC20CallParameters(U,O),q=(0,f.Pm)(k);if(!q)return[];let F=R.calldata;if(k===g.nU.BASE){let e="bc_l4vqaa9e";if(e)try{let t=function(e){if(e.length<1||e.length>32)throw Error("Builder code must be 1-32 characters");if(!w.test(e))throw Error("Builder code must be printable ASCII without spaces");return A.p8({codes:[e]})}(e);b=F,F=t&&"0x"!==t?`${b}${t.slice(2)}`:b}catch(e){console.warn("[BuilderCode] Invalid builder code, skipping suffix:",e)}}return[{address:q,calldata:F,value:R.value}]},[x,t,k,S,P,N,_,E,e])}},678931:(e,t,n)=>{n.d(t,{a9:()=>i,qt:()=>o});let r=[{match:/outside of market hours/i,label:e=>e("Market closed or below minimum size.")},{match:/minimum trade size/i,label:e=>e("Below the minimum trade size.")},{match:/market (is )?closed|market hours/i,label:e=>e("Market is closed.")},{match:/failed to get quotes/i,label:e=>e("Insufficient liquidity for this trade.")},{match:/insufficient funds/i,label:e=>e("Insufficient balance for this trade.")},{match:/invalid taker/i,label:e=>e("Unable to get a quote. Please try again.")}],a=e=>e("Unable to get a quote. Please try again.");function i(e,t){if(!e)return a(t);let n=r.find(t=>t.match.test(e));return n?n.label(t):a(t)}function o(e){return!!(e&&r.some(t=>t.match.test(e)))}},740396:(e,t,n)=>{n.d(t,{p:()=>l});var r=n(538471),a=n(118708),i=n(25963),o=n(711074),u=n(726053);let s=(e,t)=>{var n,a;let i=null==e||null==(n=e.wrapped)?void 0:n.address;if(!e||!i||!e.symbol)return;let u=null==(a=r.pq.getFamilyByToken(e.chainId,i,t))?void 0:a.type;
1if(u)return{rwaFamily:u,rwaUnderlyingSymbol:(0,o.s)({symbol:e.symbol},u)}};function l(e,t){let n=(0,a.md)(u.yp);return(0,i.useMemo)(()=>{var r,a;return null!=(a=null!=(r=s(t,n))?r:s(e,n))?a:{rwaFamily:null,rwaUnderlyingSymbol:null}},[e,t,n])}},761519:(e,t,n)=>{n.d(t,{m:()=>U});var r=n(769932),a=n(25963),i=n(893573),o=n(178852),u=n(53670),s=n(775517),l=n(228876),p=n(111639),c=n(277363),d=n(387165),y=n(109498),m=n(670030),f=n(987212),h=n(909114),g=n(663257),T=n(236088),v=n(733775),b=n(81697),I=n(189346),A=n(792118),w=n(925448),C=n(107723),E=n(235225),S=n(781649),P=n(45621),x=n(745671),k=n(560549),N=n(505339);function U(e){let{order:t,deadline:n,permitSignature:U,feeOptions:_,source:B="swap"}=e,{t:O}=(0,r.A)(),{account:R,chainId:q}=(0,u.W7)(),{slippageTolerance:F}=(0,s.Az)(),{recipient:M}=(0,i.mU)(),D=null===M?R:M,Q=(0,d.x0)(t)?t.trade:void 0,L=!!(t&&(0,d.x0)(t)&&"quoteSource"in t&&"propamm"===t.quoteSource),$=(0,p.s)(t),G=(0,c.me)(t)?t:void 0,{callback:V}=function(e){let{trade:t,quoteData:n,recipient:r,chainId:i,account:o,slippageBps:u,deadline:s,source:l="swap"}=e,{sendTransactionAsync:p}=(0,T.s)(),c=(0,N.A)(i,o,l),{maxFeePerGas:d,maxPriorityFeePerGas:y}=(0,h.N)(i);return{callback:(0,a.useCallback)(async()=>{let e,a,l,m;try{m=await w.H.getCalldata({chainId:i,quoteData:n,recipient:r,slippageBps:u,...null!=s?{deadline:Number(s)}:{}});let{txTo:h,txData:T}=function(e){let{chainId:t,quoteData:n,recipient:r,calldataResult:a}=e,i=a.to,o=a.calldata;if(!(0,E.pd)(t,i))throw S.logger.warn("aggregator.calldata.rejected",{reason:"not-allowlisted",chainId:t,txTo:i}),Error(`Aggregator router ${i} is not allowlisted for chain ${t}`);let u=n.aggregatorAddress;if(!u||!(0,v.ho)((0,C.b)(u),i))throw S.logger.warn("aggregator.calldata.rejected",{reason:"spender-target-mismatch",chainId:t,txTo:i,approvedSpender:u}),Error(`Aggregator calldata target ${i} does not match approved spender ${u}`);let s=function(e){let t=(0,x.J)({abi:P.wi,data:e});if("swapExactIn"===t.functionName){let[,,,,,e]=t.args;return e}if("swapWrap"===t.functionName){let[,,,,e]=t.args;return e}throw Error(`Unexpected aggregator calldata function: ${t.functionName}`)}(o);if(!(0,v.ho)(s,(0,C.b)(r)))throw S.logger.warn("aggregator.calldata.rejected",{reason:"recipient-mismatch",chainId:t,onchainRecipient:s,feRecipient:r}),Error(`Aggregator calldata recipient ${s} does not match frontend recipient ${r}`);return{txTo:i,txData:o}}({chainId:i,quoteData:n,recipient:r,calldataResult:m});e=h,a=T,l=m.value&&!(0,k.b)(m.value)?(0,g.uU)(m.value):0n;let b=A.e7[i],I=await b.estimateGas({account:o,to:e,data:a,value:l}),N=await p({account:o,chainId:i,to:e,data:a,value:l,gas:(0,v.KL)(I,(0,v.aU)(i)),maxFeePerGas:d,maxPriorityFeePerGas:y});return c({order:{type:f.ZN.PCS_CLASSIC,trade:t},hash:N,type:"Aggregator"}),{hash:N}}catch(t){throw(0,I.U)(t)||(0,b.h)({action:"swap",account:o,chainId:i,target:e,calldata:a,value:l,error:t,context:{type:"Aggregator",txTarget:"Aggregator",tradeType:n.tradeType,inputAddress:n.srcToken,outputAddress:n.dstToken,quotedInputAmountRaw:n.inputAmount,quotedOutputAmountRaw:n.outputAmount,aggregatorAddress:n.aggregatorAddress,slippageBps:u,quoteResponse:n,calldataResponse:m}}),t}},[t,n,r,i,o,u,s,p,c,d,y])}}({trade:Q,quoteData:$,recipient:null!=D?D:"",chainId:null!=q?q:0,account:R,slippageBps:F,deadline:n,source:B}),{callback:j}=function(e){let{order:t,recipient:n,chainId:r,account:i,slippageBps:o,source:u="swap"}=e,{sendTransactionAsync:s}=(0,T.s)(),p=(0,N.A)(r,i,u),{maxFeePerGas:d,maxPriorityFeePerGas:y}=(0,h.N)(r);return{callback:(0,a.useCallback)(async()=>{let e,a,u,m;if(!t)throw Error("Missing LiquidMesh order");if(r!==l.nU.BSC||String(r)!==t.liquidMeshQuoteData.chainId)throw Error("LiquidMesh swap must run on the quoted BSC chain");try{var f,h;let{liquidMeshQuoteData:l}=t,T=await fetch("/api/liquidmesh/swap",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...l,chainId:r,inputAmount:l.inputAmount,inputToken:l.inputToken,outputToken:l.outputToken,userAddress:i,receiver:n,slippageBps:o})}),b=null==(f=(m=await T.json()).data)?void 0:f.callMsg;if(!T.ok||0!==m.code||!(null==b?void 0:b.to)||!(null==b?void 0:b.data))throw Error(m.msg||"LiquidMesh swap failed");if(!(0,v.ho)(b.to,c.o9))throw Error("LiquidMesh swap target is not the expected router");e=b.to,a=b.data,u=b.value&&!(0,k.b)(b.value)?(0,g.uU)(b.value):0n;let I=A.e7[r],w=await I.estimateGas({account:i,to:e,data:a,value:u}),C=await s({account:i,chainId:r,to:e,data:a,value:u,gas:(0,v.KL)(w,(0,v.aU)(r)),maxFeePerGas:d,maxPriorityFeePerGas:y});return p({order:t,hash:C,type:"LiquidMesh",quoteHash:t.trade.quoteQueryHash,quoteSource:t.quoteSource,providerQuoteId:null==(h=m.data)?void 0:h.orderId}),{hash:C}}catch(n){throw(0,I.U)(n)||(0,b.h)({action:"swap",account:i,chainId:r,target:e,calldata:a,value:u,error:n,context:{type:"LiquidMesh",txTarget:"LiquidMesh",tradeType:null==t?void 0:t.trade.tradeType,quoteHash:null==t?void 0:t.trade.quoteQueryHash,quoteResponse:null==t?void 0:t.liquidMeshQuoteData,swapResponse:m}}),n}},[t,n,r,i,o,s,p,d,y])}}({order:G,recipient:null!=D?D:"",chainId:null!=q?q:0,account:R,slippageBps:F,source:B}),H=(0,m.P)($||G?null:L?t:Q,(0,o.aW)(F),M,U,n,_),{callback:X}=(0,y.Ay)(R,q,null!=Q?Q:void 0,H,"UniversalRouter",B),W=$?V:G?j:null!=X?X:void 0;return(0,a.useMemo)(()=>Q&&R&&q&&W&&q in l.nU?D?$||G||0!==H.length?{state:2,callback:W,swapCalls:H}:{state:0,error:O("Swap unavailable")}:null!==M?{state:0,error:O("Invalid recipient")}:{state:1}:{state:0,error:O("Missing dependencies")},[H,Q,R,q,W,D,M,$,G,O])}},823837:(e,t,n)=>{n.d(t,{F:()=>h,x:()=>g});var r=n(350979),a=n(228876),i=n(862373),o=n(53670),u=n(4738),s=n(1176),l=n(118708),p=n(660512),c=n(619402),d=n(25963),y=n(118373),m=n(264078);let f=(0,d.createContext)({multicallGasLimit:void 0,singleHopOnly:!1,split:!1,v2Swap:!0,v3Swap:!0,xEnabled:!1,infinitySwap:!0,infinityStableSwap:!0,stableSwap:!0,maxHops:3,chainId:a.nU.BSC,speedQuoteEnabled:!1}),h=e=>{let{children:t,forceXEnabled:n=!1}=e,{chainId:d}=(0,o.ax)(),h=(0,m.rB)(),[g]=(0,s.z)(),[T]=(0,u.Qm)(),v=(0,u.H)(d),[b]=(0,i.aw)(),[I]=(0,y.bX)(),[A]=(0,y.xB)(),[w]=(0,y.Sm)(),[C]=(0,y.Xk)(),[E]=((0,y.wT)(),(0,y.Yt)()),[S]=(0,y.IX)(),[P]=(0,y.fK)(),x=(0,l.md)(c.un),k=(0,l.md)((0,p.z)(d));return x.loading||x.error||d===a.nU.BSC&&k.loading?null:(0,r.jsx)(f.Provider,{value:{multicallGasLimit:h,singleHopOnly:b,split:I,v2Swap:A,v3Swap:w,infinitySwap:C,infinityStableSwap:!1,stableSwap:E,maxHops:3,chainId:d,speedQuoteEnabled:g,xEnabled:!!((n||T)&&v),aggregatorOnly:S,disabledAggregatorProtocols:P},children:t},d)},g=()=>{let e=(0,d.useContext)(f);if(!e)throw Error("useQuoteContext must be used within a QuoteProvider");return e}},907535:(e,t,n)=>{n.d(t,{sr:()=>c,s9:()=>p,U6:()=>y,E9:()=>g,BO:()=>T.B});var r=n(862373),a=n(53670),i=n(228876),o=n(131619),u=n(253294),s=n(882318),l=n(893573);function p(){let{[s.D0.INPUT]:{currencyId:e,chainId:t},[s.D0.OUTPUT]:{currencyId:n,chainId:r}}=(0,l.mU)(),{typedValue:a}=(0,l.mU)(),i=(0,o.H2)(e,t),p=(0,o.H2)(n,r);return(0,u.s9)(i,p,a)}function c(){let[e]=(0,r.lB)(),{chainId:t}=(0,a.W7)(),n=p();return e&&!n&&(0,i.F8)(t)}var d=n(608135);function y(e,t,n){var r,a;let{independentField:i,typedValue:o}=(0,l.mU)(),u=null==(r=t[s.D0.INPUT])?void 0:r.currency,p=null==(a=t[s.D0.OUTPUT])?void 0:a.currency,c=i===s.D0.INPUT?u:p,y=(0,d.A)(o,null!=c?c:void 0);return n?{[s.D0.INPUT]:y,[s.D0.OUTPUT]:y}:{[s.D0.INPUT]:i===s.D0.INPUT?y:null==e?void 0:e.inputAmount,[s.D0.OUTPUT]:i===s.D0.OUTPUT?y:null==e?void 0:e.outputAmount}}n(970645);var m=n(775517),f=n(25963),h=n(82500);function g(e){let{slippageTolerance:t}=(0,m.Az)();return(0,f.useMemo)(()=>(0,h.Wb)(e,t),[t,e])}n(761519);var T=n(952086)}
1,925448:(e,t,n)=>{n.d(t,{H:()=>h,z:()=>g});var r=n(734658),a=n(45621),i=n(806562),o=n(235225),u=n(833438),s=n(656862),l=n(138310),p=n(263924),c=n(204121),d=n(532415),y=n(401368),m=n(732170),f=n(581513);u.DY||console.warn("[aggregator] NEXT_PUBLIC_AGGREGATOR_API is not set — aggregator quotes will fail");let h=new a.v8(null!==u.DY&&void 0!==u.DY?u.DY:"",u.db),g=(0,s.Iz)(e=>{let{amount:t,currency:n,tradeType:a}=e;return(0,f.Q)(async u=>{var s;if(!t||!t.currency||!n)return;let f=new AbortController,g=u(d.Pk),T=u((0,p.j)(e));T.tracker.track("start");let{chainId:v}=n;return(0,i.w)(async()=>{let i=a||r.nP.EXACT_INPUT;if(i===r.nP.EXACT_OUTPUT)return;let u=t.currency,s=u.isNative?m.Xd:(0,y.QR)(u.wrapped.address),l=n.isNative?m.Xd:(0,y.QR)(n.wrapped.address);if(!s||!l)throw Error("Invalid token pair for aggregator");let p={bscUniSupportEnabled:!0===g[d.ZZ.BSC_UNI_SUPPORT],baseUniSupportEnabled:!0===g[d.ZZ.BASE_UNI_SUPPORT],robinhoodUniSupportEnabled:!0===g[d.ZZ.ROBINHOOD_UNI_SUPPORT]},b=(0,c.Kh)(e,p);if(""===b)return;let I=(0,c.GA)(e,p)?"tokenizedStock":void 0,A=await h.getQuote({chainId:v,tokenIn:s,tokenOut:l,amount:t.quotient.toString(),tradeType:i,...void 0!==b?{protocol:b}:{},...void 0!==I?{nativePairFilter:I}:{}},f.signal,{input:u,output:n});if(!A)throw Error("No valid trade from aggregator");if(!(0,o.pd)(v,A.quoteData.aggregatorAddress))throw Error(`Aggregator returned non-allowlisted router for chain ${v}`);let w={...A.order,aggregatorQuoteData:A.quoteData};return w.trade.quoteQueryHash=e.hash,T.tracker.success(w),w},{ms:null!=(s=l.Z1[v])?s:12e3,abort:()=>{null==f||f.abort()}})().catch(e=>{throw T.tracker.fail(e),null==f||f.abort(),e}).finally(()=>{T.tracker.report()})})},function(e,t){return e.hash===t.hash})},952086:(e,t,n)=>{n.d(t,{B:()=>c});var r=n(769932),a=n(608135),i=n(882318),o=n(893573),u=n(733775),s=n(387165),l=n(53670);let p=["0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f","0xf164fC0Ec4E93095b804a4795bBe1e041497b92a","0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D"];function c(e,t,n,c){var d,y,m,f;let h,{t:g}=(0,r.A)(),{unifiedAccount:T,chainId:v}=(0,l.W7)(),b=null!=(y=null==c?void 0:c.account)?y:T,I=null!=(m=null==c?void 0:c.chainId)?m:v,{independentField:A,typedValue:w}=(0,o.mU)(),[C,E]=n,S=b||null,P=A===i.D0.INPUT?C:E,x=(0,a.A)(w,null!=P?P:void 0);b||(h=g("Connect Wallet")),x||(h=null!=h?h:g("Enter an amount")),C&&E||(h=null!=h?h:g("Select a token"));let k=(0,u.Sf)(I,S);S&&k?(-1!==p.indexOf(k)||(0,s.x0)(e)&&e.trade&&(f=e.trade,f.routes.some(e=>e.path.some(e=>e.isToken&&(0,u.ho)(e.address,k)))))&&(h=null!=h?h:g("Invalid recipient")):h=null!=h?h:g("Enter a recipient");let N=t[i.D0.INPUT],U=null==e||null==(d=e.trade)?void 0:d.inputAmount;return N&&U&&N.lessThan(U)&&(h=g("Insufficient %symbol% balance",{symbol:U.currency.symbol})),h||""}},958817:(e,t,n)=>{n.d(t,{_:()=>eI});var r=n(350979),a=n(993084),i=n(25963),o=n(823837),u=n(179087),s=n(734658),l=n(131619),p=n(687287),c=n(775517),d=n(118708),y=n(96203),m=n(198559),f=n(985148),h=n(656862),g=n(263924),T=n(63635),v=n(356870),b=n(420377),I=n(586276),A=n(295839),w=n(228876),C=n(987212),E=n(603485),S=n(164811),P=n.n(S),x=n(888491),k=n.n(x),N=n(178852),U=n(387165),_=n(259248);class B{constructFinalQuote(e,t){let n=e.map(e=>e.type===C.ZN.PCS_BRIDGE?e:this.constructSwapOrderRoutes(e)),r=n.find(e=>e.type===C.ZN.PCS_BRIDGE);if(!r)throw new T.C6("No bridge quote found");let a=null==t?void 0:t.map(e=>(0,U.j7)(e)?[]:e.trade.routes).flat();return{bridgeTransactionData:r.bridgeTransactionData,type:C.ZN.PCS_BRIDGE,bridgeFee:r.bridgeFee,expectedFillTimeSec:"expectedFillTimeSec"in r?r.expectedFillTimeSec:0,trade:{inputAmount:P()(e).trade.inputAmount,outputAmount:k()(t).trade.outputAmount,tradeType:s.nP.EXACT_INPUT,routes:a},noSlippageCommands:t,commands:n}}static validateQuoteResult(e,t){let n=e.unwrapOr(void 0);if(!n||(0,U.tI)(n)||!n.trade.outputAmount.greaterThan(0))throw new T.C6(t);return n}constructSwapOrderRoutes(e){if((0,U.tI)(e))throw Error("SVM order not supported for cross chain");if(!("routes"in e.trade))return e;let t=e.trade.routes||[],n=(0,N.aW)(this.context.userSlippage),r=t.map(t=>({...t,outputAmount:E.tj.minimumAmountOut(e.trade,n,t.outputAmount)}));return{...e,trade:{...e.trade,outputAmount:E.tj.minimumAmountOut(e.trade,n,e.trade.outputAmount),routes:r}}}getBridgeDestinationCurrency(e){let t=null!=e?e:this.context.baseCurrencyAmount.currency.wrapped.address,n=this.context.routes.find(e=>e.originToken===t);if(!n)throw Error("Destination bridge route not found");let r=(0,l.xQ)(this.context.tokenMap,n.destinationChainId)[n.destinationToken];if(!r)throw Error("Destination token not supported for bridge");return(0,l.zM)(r)}getBridgeOriginCurrency(){let e=this.context.quoteCurrency,t=this.context.routes.find(t=>t.destinationToken===e.wrapped.address);if(!t)throw Error("Origin bridge route not found");let n=(0,l.xQ)(this.context.tokenMap,t.originChainId)[t.originToken];if(!n)throw Error("Origin Token not supported for bridge");return(0,l.zM)(n)}getWhitelistedOriginBridgeCurrencies(){let{chainId:e}=this.context.baseCurrencyAmount.currency,t=(0,l.xQ)(this.context.tokenMap,e),n=_.VG[e]||[];return this.context.routes.filter(t=>t.originChainId===e&&n.includes(t.originToken)).reduce((e,n)=>{let r=t[n.originToken];if(!r)return e;let a=(0,l.zM)(r);return!a||e.some(e=>e.wrapped.address===a.wrapped.address)||e.push(a),e},[])}constructor(e){if(this.contextInstance=e,!e)throw Error("Context is required");this.context=e}}class O extends B{executeQuote(){let e=this.context.atomGetters.getBridgeQuote({inputAmount:this.context.baseCurrencyAmount,outputCurrency:this.context.quoteCurrency});if(e.isPending())return m.x_.Pending();if(e.isFail())return m.x_.Fail(e.error);let t=B.validateQuoteResult(e,"No bridge quote"),n=this.constructFinalQuote([t],[t]);
1return m.x_.Just(n)}}var R=n(560430),q=n(269251);class F extends B{executeQuote(){let e=this.getBridgeDestinationCurrency(),t=this.context.atomGetters.getSwapQuote({baseCurrency:e,amount:(0,R.A)(this.context.baseCurrencyAmount.toExact(),e)});if(t.isPending())return m.x_.Pending();if(t.isFail())return m.x_.Fail(t.error);let n=B.validateQuoteResult(t,"No swap order"),r=this.constructSwapOrderRoutes(n),a=(0,q.XS)({trade:r.trade,allowedSlippage:this.context.userSlippage}),i=this.context.atomGetters.getBridgeQuote({inputAmount:this.context.baseCurrencyAmount,outputCurrency:e,commands:[a]});if(i.isPending())return m.x_.Pending();if(i.isFail())return m.x_.Fail(i.error);let o=B.validateQuoteResult(i,"No final bridge quote found"),u=this.context.atomGetters.getSwapQuote({baseCurrency:o.trade.outputAmount.currency,amount:o.trade.outputAmount});if(u.isPending())return m.x_.Pending();if(u.isFail())return m.x_.Fail(u.error);let s=B.validateQuoteResult(u,"No final swap order"),l=this.constructFinalQuote([o,s],[o,s]);return m.x_.Just(l)}}var M=n(882318),D=n(82500);class Q extends B{executeQuote(){let e=this.getBridgeOriginCurrency(),t=this.context.atomGetters.getSwapQuote({currency:e});if(t.isPending())return m.x_.Pending();if(t.isFail())return m.x_.Fail(t.error);let n=B.validateQuoteResult(t,"No swap order"),r=this.context.atomGetters.getBridgeQuote({inputAmount:n.trade.outputAmount,outputCurrency:this.context.quoteCurrency});if(r.isPending())return m.x_.Pending();if(r.isFail())return m.x_.Fail(r.error);let a=B.validateQuoteResult(r,"No bridge quote"),i=(0,D.Wb)(n,this.context.userSlippage)[M.D0.OUTPUT]||n.trade.outputAmount,o=this.context.atomGetters.getBridgeQuote({inputAmount:i,outputCurrency:this.context.quoteCurrency});if(o.isPending())return m.x_.Pending();if(o.isFail())return m.x_.Fail(o.error);let u=B.validateQuoteResult(o,"No bridge quote"),s=this.constructFinalQuote([n,u],[n,a]);return m.x_.Just(s)}}class L extends B{executeQuote(){let e=this.getOriginSwapOrders();if(e.some(e=>e.isPending()))return m.x_.Pending();let t=e.filter(e=>!e.isNothing()&&!e.isFail()).map(e=>e.unwrapOr(void 0)).filter(e=>void 0!==e);if(0===t.length)return m.x_.Fail(new T.$p("No valid origin swap quotes"));let n=this.getDestinationSwapQuotes(t);if(n.some(e=>e.isPending()))return m.x_.Pending();let r=n.filter(e=>!e.isNothing()&&!e.isFail()).map(e=>e.unwrapOr(void 0)).filter(e=>void 0!==e);if(0===r.length)return m.x_.Fail(new T.C6("No valid destination swap quotes"));let{originSwapOrder:a,destinationSwapOrder:i}=L.selectBestPath(r),o=this.constructSwapOrderRoutes(i),u=(0,q.XS)({trade:o.trade,allowedSlippage:this.context.userSlippage});if((0,U.tI)(a)||(0,U.tI)(i))throw Error("SVM order not supported for cross chain");let s=E.tj.minimumAmountOut(a.trade,(0,N.aW)(this.context.userSlippage)),l=this.context.atomGetters.getBridgeQuote({inputAmount:a.trade.outputAmount,outputCurrency:i.trade.inputAmount.currency,commands:[u]});if(l.isPending())return m.x_.Pending();if(l.isFail())return m.x_.Fail(l.error);let p=B.validateQuoteResult(l,"No bridge quote"),c=this.context.atomGetters.getBridgeQuote({inputAmount:s,outputCurrency:i.trade.inputAmount.currency,commands:[u]});if(c.isPending())return m.x_.Pending();let d=B.validateQuoteResult(c,"No final bridge quote found"),y=this.context.atomGetters.getSwapQuote({baseCurrency:p.trade.outputAmount.currency,amount:p.trade.outputAmount});if(y.isPending())return m.x_.Pending();let f=B.validateQuoteResult(y,"No final swap order"),h=this.context.atomGetters.getSwapQuote({baseCurrency:d.trade.outputAmount.currency,amount:d.trade.outputAmount});if(h.isPending())return m.x_.Pending();let g=B.validateQuoteResult(h,"No final swap order"),v=this.constructFinalQuote([a,d,g],[a,p,f]);return m.x_.Just(v)}getOriginSwapOrders(){return this.getWhitelistedOriginBridgeCurrencies().map(e=>{let t=this.context.atomGetters.getSwapQuote({currency:e});if(t.isPending())return m.x_.Pending();if(t.isFail())return m.x_.Fail(t.error);try{let e=B.validateQuoteResult(t,"No swap order");return m.x_.Just(e)}catch(e){return m.x_.Fail(e)}})}getDestinationSwapQuotes(e){return e.map(e=>{let t=this.getBridgeDestinationCurrency(e.trade.outputAmount.currency.wrapped.address),n=this.context.atomGetters.getSwapQuote({baseCurrency:t,amount:(0,R.A)(e.trade.outputAmount.toExact(),t)});if(n.isPending())return m.x_.Pending();if(n.isFail())return m.x_.Fail(n.error);try{let t=B.validateQuoteResult(n,"No final swap order");
1return m.x_.Just({destinationSwapOrder:t,originSwapOrder:e})}catch(e){return m.x_.Fail(e)}})}static selectBestPath(e){let t=e[0];for(let n=1;n<e.length;n++){let r=e[n];r.destinationSwapOrder.trade.outputAmount.greaterThan(t.destinationSwapOrder.trade.outputAmount)&&(t=r)}return t}}var $=function(e){return e.BRIDGE_ONLY="BRIDGE_ONLY",e.BRIDGE_TO_SWAP="BRIDGE_TO_SWAP",e.SWAP_TO_BRIDGE="SWAP_TO_BRIDGE",e.SWAP_TO_BRIDGE_TO_SWAP="SWAP_TO_BRIDGE_TO_SWAP",e.BRIDGE_SOLANA_EVM="BRIDGE_SOLANA_EVM",e}({});class G{static classifyTokenSupport(e,t,n){return{isOriginTokenSupported:e.find(e=>e.originChainId===t.chainId&&e.originToken===t.wrapped.address),isDestinationTokenSupported:e.find(e=>e.destinationChainId===n.chainId&&e.destinationToken===n.wrapped.address)}}static determinePattern(e,t,n){if((0,w.fT)(t.chainId)||(0,w.fT)(n.chainId))return $.BRIDGE_SOLANA_EVM;let{isOriginTokenSupported:r,isDestinationTokenSupported:a}=this.classifyTokenSupport(e,t,n);if(r&&a&&r.originToken===a.originToken)return $.BRIDGE_ONLY;if(r)return $.BRIDGE_TO_SWAP;if(a)return $.SWAP_TO_BRIDGE;if(!r&&!a)return $.SWAP_TO_BRIDGE_TO_SWAP;throw new T.C6("Unable to determine bridge type")}}class V extends O{}let j={[$.BRIDGE_ONLY]:O,[$.BRIDGE_TO_SWAP]:F,[$.SWAP_TO_BRIDGE]:Q,[$.SWAP_TO_BRIDGE_TO_SWAP]:L,[$.BRIDGE_SOLANA_EVM]:V};class H{static determinePattern(e,t,n){if(!((0,w.fT)(t.chainId)||(0,w.fT)(n.chainId))&&0===e.length)throw new T.C6("No available routes");return G.determinePattern(e,t,n)}static createStrategy(e,t){let n=j[e];if(!n)throw new T.C6(`No strategy found for pattern: ${e}`);return new n(t)}static createStrategyForContext(e){let t=this.determinePattern(e.routes,e.baseCurrencyAmount.currency,e.quoteCurrency);return this.createStrategy(t,e)}}var X=n(114824),W=n(387272),z=n(735872),Y=n(11549),K=n(53670),Z=n(670420),J=n(862373),ee=n(214687),et=n(581513);let en=(0,h.Iz)(e=>(0,et.Q)(async t=>{let{inputAmount:n,outputCurrency:r,recipientOnDestChain:a}=e,i=t(J.aH),o=t(J.mz),{account:u,solanaAccount:l}=t(K.sY);if(a&&(0,w.fT)(r.chainId)&&!(0,ee.T)(a))throw new T.C6("Invalid recipient");let p=a||((0,w.fT)(r.chainId)?l:u),c=await (0,q.VN)({inputToken:(0,q.SE)(n.currency),originChainId:n.currency.chainId,outputToken:(0,q.SE)(r),destinationChainId:r.chainId,amount:n.quotient.toString(),user:(0,w.fT)(n.currency.chainId)?l:u,recipientOnDestChain:p,slippageTolerance:(0,w.fT)(n.currency.chainId)?o.toString():i.toString()});if(!c.supported){var d;throw new T.C6((null==c?void 0:c.reason)||(null==c||null==(d=c.error)?void 0:d.message)||"Unknown error")}let y=s.C3.fromRawAmount(r,c.bridgeTransactionData.outputAmount),m=(0,w.fT)(n.currency.chainId)?Z.DO.usdc:Z.is[n.currency.chainId],f=s.eF.fromRawAmount(m,((e,t)=>{let n=Number(e);if(Number.isNaN(n)||!Number.isFinite(n)||t<0)return 0;let r=Math.abs(n)*10**t;return Number.isFinite(r)?Math.floor(r):0})(c.bridgeTransactionData.totalRelayFee,m.decimals));return{bridgeTransactionData:c.bridgeTransactionData,bridgeFee:f,expectedFillTimeSec:c.expectedFillTimeSec?Number.parseInt(c.expectedFillTimeSec):0,type:C.ZN.PCS_BRIDGE,trade:{inputAmount:n,outputAmount:y,routes:[{path:[n.currency,y.currency],inputAmount:n,outputAmount:y,type:E.Y0.BRIDGE}],tradeType:s.nP.EXACT_INPUT}}}),(e,t)=>e.inputAmount.quotient.toString()===t.inputAmount.quotient.toString()&&e.outputCurrency.wrapped.address===t.outputCurrency.wrapped.address&&e.outputCurrency.symbol===t.outputCurrency.symbol&&e.inputAmount.currency.symbol===t.inputAmount.currency.symbol&&e.inputAmount.currency.chainId===t.inputAmount.currency.chainId&&e.outputCurrency.chainId===t.outputCurrency.chainId&&e.nonce===t.nonce&&e.recipientOnDestChain===t.recipientOnDestChain),er=(0,h.Iz)(e=>(0,et.Q)(async()=>{if(!e.baseCurrency||!e.currency||e.baseCurrency.chainId===e.currency.chainId||(0,w.fT)(e.baseCurrency.chainId)||(0,w.fT)(e.currency.chainId))return[];try{return await (0,q.r6)({originChainId:e.baseCurrency.chainId,destinationChainId:e.currency.chainId})||[]}catch(e){return console.error("Failed to fetch bridge routes:",e),[]}}),(e,t)=>{var n,r,a,i;return(null==e||null==(n=e.baseCurrency)?void 0:n.chainId)===(null==t||null==(r=t.baseCurrency)?void 0:r.chainId)&&(null==e||null==(a=e.currency)?void 0:a.chainId)===(null==t||null==(i=t.currency)?void 0:i.chainId)}),ea=(0,h.Iz)(e=>(0,et.Q)(async t=>{let{inputAmount:n,outputCurrency:r}=e,a=e.recipientOnDestChain&&e.commands?{recipientOnDestChain:e.recipientOnDestChain,commands:e.commands}:{},i=await (0,q.GD)({inputToken:(0,q.me)(n.currency),originChainId:n.currency.chainId,outputToken:(0,q.me)(r),destinationChainId:r.chainId,amount:n.quotient.toString(),commands:a.commands,recipientOnDestChain:a.recipientOnDestChain});if(!i.supported){var o;throw new T.C6((null==i?void 0:i.reason)||(null==i||null==(o=i.error)?void 0:o.message)||"Unknown error")}let u=s.C3.fromRawAmount(r,i.bridgeTransactionData.outputAmount),l=s.eF.fromRawAmount(n.currency,i.bridgeTransactionData.totalRelayFee);return{bridgeTransactionData:i.bridgeTransactionData,bridgeFee:l,expectedFillTimeSec:i.expectedFillTimeSec?Number.parseInt(i.expectedFillTimeSec):0,type:C.ZN.PCS_BRIDGE,trade:{inputAmount:n,outputAmount:u,routes:[{path:[n.currency,u.currency],inputAmount:n,outputAmount:u,type:E.Y0.BRIDGE}],tradeType:s.nP.EXACT_INPUT}}
1}),(e,t)=>e.inputAmount.quotient.toString()===t.inputAmount.quotient.toString()&&e.outputCurrency.wrapped.address===t.outputCurrency.wrapped.address&&e.nonce===t.nonce&&e.recipientOnDestChain===t.recipientOnDestChain);class ei{static getAvailableRoutes(e,t){let n=t(er(e));return n.isPending()?m.x_.Pending():n.isFail()?m.x_.Fail(n.error):n}static build(e,t,n){var r;let{destinationBlockNumber:a,gasLimitDestinationChain:i,infinitySwap:o,infinityStableSwap:u,...s}=e,l=n(Y.H),{account:p,solanaAccount:c}=n(K.sY),d=(0,w.fT)(null==(r=s.currency)?void 0:r.chainId)?c:p,y=(null===l.recipient?d:l.recipient)||void 0;if(!s.amount||!s.currency)throw Error("Missing required amount or currency in option");let m=n(X.aH),f=s.amount,h=s.currency;return{routes:t,userSlippage:m,baseCurrencyAmount:f,quoteCurrency:h,tokenMap:n(z.wQ),atomGetters:{getBridgeQuote:e=>n((0,w.fT)(e.inputAmount.currency.chainId)||(0,w.fT)(e.outputCurrency.chainId)?en({inputAmount:e.inputAmount,outputCurrency:e.outputCurrency,nonce:s.nonce,commands:e.commands,recipientOnDestChain:y}):ea({inputAmount:e.inputAmount,outputCurrency:e.outputCurrency,nonce:s.nonce,commands:e.commands,recipientOnDestChain:y})),getSwapQuote:e=>{var t,r,l,p,c;let d=h.chainId===(null==(t=e.baseCurrency)?void 0:t.chainId),y={...s,blockNumber:d&&a?a:s.blockNumber,gasLimit:d&&i?i:s.gasLimit,hash:"",placeholderHash:"",infinitySwap:o,infinityStableSwap:u,xEnabled:!1,excludeAggregator:!0,...e,excludePropAMM:!0};y.infinitySwap&&(null==(r=y.baseCurrency)?void 0:r.chainId)&&!_.tv.includes(null==(l=y.baseCurrency)?void 0:l.chainId)&&(y.infinitySwap=!1),y.infinityStableSwap&&(null==(p=y.baseCurrency)?void 0:p.chainId)&&!_.tv.includes(null==(c=y.baseCurrency)?void 0:c.chainId)&&(y.infinityStableSwap=!1);let m=(0,W.p)(y);return n((0,b.qx)(m))}}}}}let eo=(0,h.Iz)(e=>(0,f.eU)(t=>{if(e.amount&&e.currency)try{var n,r;if((null==(n=e.baseCurrency)?void 0:n.chainId)===(null==(r=e.currency)?void 0:r.chainId))throw new T.C6("Same chain is not supported");let a=ei.getAvailableRoutes(e,t);if(a.isPending())return m.x_.Pending();if(a.isFail())return m.x_.Fail(a.error);let i=a.unwrapOr(void 0)||[],o=ei.build(e,i,t);return H.createStrategyForContext(o).executeQuote()}catch(e){return m.x_.Fail(e)}return m.x_.Nothing()}),v.Z$),eu=(0,h.Iz)(e=>(0,f.eU)(async t=>{var n,r;if(!(e.baseCurrency&&e.currency&&(null==(n=e.baseCurrency)?void 0:n.chainId)!==(null==(r=e.currency)?void 0:r.chainId)))return t((0,b.$e)(e));{let n=t((0,g.j)({...e,routeKey:"cross-chain"}));n.tracker.track("start");try{let r=await t(eo(e));if(r.isPending()){let n=t((0,I.l)(e.placeholderHash||""));if(n)return(0,A.j)({result:r,placeholder:n,placeholderHash:e.placeholderHash})}return r.isFail()?n.tracker.fail(r.error):r.isJust()&&n.tracker.success(r.value),r.setExtra("placeholderHash",e.placeholderHash)}finally{n.tracker.report()}}}),v.Z$);var es=n(157852),el=n(138310),ep=n(45705),ec=n(893573),ed=n(409534),ey=n(235225),em=n(833438),ef=n(401368),eh=n(732170),eg=n(925448);let eT=[w.nU.BSC];function ev(e){if(e){if(e.isNative)return eh.Xd;if("wrapped"in e&&"address"in e.wrapped)return(0,ef.QR)(e.wrapped.address)}}var eb=n(264078);let eI=e=>{let{children:t,forceXEnabled:n=!1}=e;return(0,a.VI)(),(0,r.jsxs)(o.F,{forceXEnabled:n,children:[t,(0,r.jsx)(i.Suspense,{fallback:null,children:(0,r.jsx)(eA,{})})]})},eA=()=>((()=>{var e,t;let n=(0,ec.mU)(),{independentField:r,typedValue:a,[M.D0.INPUT]:{currencyId:m,chainId:f},[M.D0.OUTPUT]:{currencyId:h,chainId:g}}=(0,u.d7)(n,300),{account:T,solanaAccount:v,chainId:b}=(0,K.W7)(),A=(0,l.Jg)(m,f),C=(0,l.Jg)(h,g),E=r===M.D0.INPUT,S=E?A:C,P=E?C:A,x=E?s.nP.EXACT_INPUT:s.nP.EXACT_OUTPUT,k=(0,p.dm)(a,null!=S?S:void 0),N=function(e){let{independentCurrency:t,dependentCurrency:n,currentChain:r,evmAccount:a,solanaAccount:i}=e;return s.xx.isSPLToken(null!=t?t:void 0)&&s.xx.isSPLToken(null!=n?n:void 0)?i:t&&n?a:r===w.Cb.SOLANA?i:a}({independentCurrency:S,dependentCurrency:P,currentChain:b,evmAccount:T,solanaAccount:null!=v?v:void 0}),{singleHopOnly:U,split:_,v2Swap:B,v3Swap:O,infinitySwap:R,infinityStableSwap:q,stableSwap:F,maxHops:D,chainId:Q,speed
1QuoteEnabled:L,xEnabled:$,aggregatorOnly:G,disabledAggregatorProtocols:V}=(0,o.x)(),j=(0,d.Xr)(es.UT),H=(0,d.Xr)(es.Qv),[X,z]=(0,d.fp)(es.aO),{slippageTolerance:Y,isAuto:Z}=(0,c.jw)(k),J=(0,ep.KT)(),ee=(0,ep.KT)(g),et=(0,d.Xr)(y.wZ),[en,er]=(0,d.fp)(ed.h),ea=(0,d.md)((0,eb.fW)(Q)),ei=(0,d.md)((0,eb.fW)(g)),eo={amount:k,currency:P,baseCurrency:S,tradeType:x,maxHops:U?1:D,maxSplits:_?void 0:0,v2Swap:B,v3Swap:O,infinitySwap:!!R,infinityStableSwap:!!q,stableSwap:F,speedQuoteEnabled:L,xEnabled:$,aggregatorOnly:G,disabledAggregatorProtocols:V,slippage:Y,isAutoSlippage:Z,address:N,recipient:n.recipient,blockNumber:J,destinationBlockNumber:ee,gasLimitDestinationChain:ei,nonce:en,for:"main",gasLimit:ea},ef=(0,W.p)(eo);!function(e){let{inputCurrency:t,outputCurrency:n}=e,r=(0,i.useRef)(),a=(0,ep.KT)(null==t?void 0:t.chainId);(0,i.useEffect)(()=>{var e;if(!em.DY||!t||!n)return;let{chainId:i}=t;if(i!==n.chainId||!ey.c8.includes(i)||eT.includes(i))return;let o=ev(t),u=ev(n);if(!o||!u)return;let s=a?Math.floor(a/Math.max(1,Math.ceil(5/(null!=(e=w.vf[i])?e:5)))):0,l=`${i}:${o}:${u}:${s}`;if(r.current===l)return;r.current=l;let p=new AbortController;return eg.H.prime({chainId:i,tokenIn:o,tokenOut:u},p.signal).catch(()=>{}),()=>{p.abort()}},[a,t,n])}({inputCurrency:A,outputCurrency:C});let eh=(0,d.Xr)(I.S),{t:eI,schedule:eA,clear:ew}=(e=>{let[t,n]=(0,i.useState)(0),r=(0,i.useRef)([]);return(0,i.useEffect)(()=>{let t=setInterval(()=>{n(e=>e+1)},e);return()=>clearInterval(t)},[e,n]),(0,i.useEffect)(()=>{for(let e of r.current)e.t<=t&&(e.fn(),r.current=r.current.filter(t=>t!==e))},[t]),{t:t,schedule:(0,i.useCallback)((e,t)=>0===r.current.length&&(r.current.push({t:e,fn:t}),!0),[]),clear:(0,i.useCallback)(()=>{r.current=[]},[])}})(1e3),eC=null!=(e=el.WK[Q])?e:15,eE=null!=(t=el.Or[Q])?t:3;(0,i.useEffect)(()=>{et(ef.hash)},[ef.hash,et]),(0,i.useEffect)(()=>{ew()},[ef.placeholderHash]),(0,i.useEffect)(()=>{H(!0)},[a,H]);let eS=(0,d.md)(eu(ef)),eP=eS.isPending(),ex=(0,i.useRef)(void 0),ek=(0,i.useRef)(eI);(0,i.useEffect)(()=>{ek.current=eI},[eI]);let eN=(0,i.useCallback)(()=>{er(e=>e+1)},[er]),eU=(0,i.useCallback)(()=>{z(!0)},[z]),e_=(0,i.useCallback)(()=>{z(!1)},[z]);(0,i.useEffect)(()=>{if(eI>0&&!X){if(eS.isJust()&&!eS.hasFlag("placeholder")){let e=eI+eC;eA(e,()=>{ex.current=void 0,er(e=>e+1)})&&(ex.current=e);return}if(eS.isFail()){let e=eI+eE;eA(e,()=>{ex.current=void 0,er(e=>e+1)})&&(ex.current=e)}}},[eI,eS,X,eA,eC,eE,er]),(e=>{let{paused:t,xEnabled:n,quoteResultPending:r,quoteResultValue:a,quoteResultLoading:o,quoteResultError:u,mainRefreshAtRef:s,timerTickRef:l}=e,p=(0,d.Xr)(ed.A);(0,i.useEffect)(()=>{if(t||!n||r)return;let e=setTimeout(()=>{let e=s.current;"number"==typeof e&&e-l.current<=el.wm||p(e=>e+1)},1e3*el.wm);return()=>clearTimeout(e)},[t,n,r,a,o,u,p,s,l])})({paused:X,xEnabled:$,quoteResultPending:eP,quoteResultValue:eS.value,quoteResultLoading:eS.loading,quoteResultError:eS.error,mainRefreshAtRef:ex,timerTickRef:ek}),(0,i.useEffect)(()=>{(eS.isJust()||eS.isFail())&&!eS.hasFlag("placeholder")&&eh(eS.getExtra("placeholderHash"),eS.isFail()?eS.error:eS.unwrap()),X||(j({bestOrder:eS.unwrapOr(void 0),tradeLoaded:!eS.isPending(),tradeError:eS.error,refreshDisabled:!1,refreshOrder:eN,refreshTrade:eN,pauseQuoting:eU,resumeQuoting:e_}),H(!1))},[eS.value,eS.loading,eS.error,z,j,H,er,X,eh,eS,eN,eU,e_])})(),null)},992842:(e,t,n)=>{n.d(t,{Ay:()=>p,Ny:()=>d});var r=n(228876),a=n(659197),i=n(530957),o=n(662928),u=n(295485),s=n(25963),l=n(774900);function p(e){let{chainId:t,poolAddress:n,interval:r,enabled:i=!0,protocol:l,activeTick:p}=e,{data:y,isLoading:m,error:f}=(0,o.I)({queryKey:["useAllTicksQuery",n,t,l],queryFn:async e=>{let{signal:r}=e;if(t&&n&&l&&[...u.d,a.Zs.V3].includes(l))return l===a.Zs.InfinityBIN?c(t,n,r):d({activeTick:p,chainId:t,poolAddress:n,protocol:l,signal:r})},enabled:!!(i&&n&&t&&l),refetchInterval:r,refetchOnMount:!1,refetchOnReconnect:!1,refetchOnWindowFocus:!1});return(0,s.useMemo)(()=>({error:f,isLoading:m,data:y}),[y,f,m])}let c=async(e,t,n)=>{var r;let a=(0,l.uP)(e);return a&&null!=(r=(await l.D$.GET("/cached/pools/infinityBin/{chainName}/liquidity/{pool}",{signal:n,params:{path:{chainName:a,pool:t.toLowerCase()}}})).data)?r:[]};async function d(e){let t,{chainId:n,poolAddress:a,protocol:o,signal:u,activeTick:s}=e,p=(0,l.uP)(n);if(!p)return[];let c=(0,r.fT)(n)?a:a.toLowerCase(),d=10,y=[];for(;t||!(d<10);){if(d<=0)if((0,i.A)(s))break;else{let e=y.length>0?y[y.length-1]:void 0;if(e&&Number(e.tick)<s)d+=3;else break}d--;let e=await l.D$.GET("/cached/pools/ticks/{protocol}/{chainName}/{pool}",{signal:u,params:{path:{protocol:o,chainName:p,pool:c},query:{after:t}}});if(!e.data||0===e.data.rows.length)break;t=e.data.hasNextPage&&e.data.endCursor?e.data.endCursor:void 0,e.data.rows.forEach(e
1=>{y.push({tick:e.tickIdx.toString(),liquidityNet:e.liquidityNet,liquidityGross:e.liquidityGross})})}return y}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.