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]="7987e925-772e-445a-8116-af4471893da3",e._sentryDebugIdIdentifier="sentry-dbid-7987e925-772e-445a-8116-af4471893da3")}catch(e){}"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9508],{52794:(e,t,n)=>{n.d(t,{Pm:()=>h,hQ:()=>F});var a=n(228876),i=n(311560),r=n(603485),s=n(422510),o=n(273523),u=n(164811),d=n(888491),p=n(318911),l=n(341343),m=n(571758),y=n(565456),c=n(374886),I=n(801075),T=n(784776),A=n(218453),f=n(658255),E={[a.nU.ETHEREUM]:"0x65b382653f7C31bC0Af67f188122035461ec9C76",[a.nU.GOERLI]:"0xC46abF8B66Df4B9Eb0cC0cf6eba24226AC6E6285",[a.nU.SEPOLIA]:"0x6A3d58cc25a92d90Fa3a8f0f5d5e75AD01ccd7a6",[a.nU.BSC]:"0xd9C500DfF816a1Da21A48A732d3498Bf09dc9AEB",[a.nU.BSC_TESTNET]:"0x87FD5305E6a40F378da124864B2D479c2028BD86",[a.nU.SCROLL_SEPOLIA]:"0xB89a6778D1efE7a5b7096757A21b810CC2886fa1",[a.nU.ARBITRUM_ONE]:"0xFE6508f0015C778Bdcc1fB5465bA5ebE224C9912",[a.nU.ARBITRUM_GOERLI]:"0xa8EEA7aa6620712524d18D742821848e55E773B5",[a.nU.ARBITRUM_SEPOLIA]:"0xFE6508f0015C778Bdcc1fB5465bA5ebE224C9912",[a.nU.BASE]:"0xd9C500DfF816a1Da21A48A732d3498Bf09dc9AEB",[a.nU.BASE_TESTNET]:"0xa8EEA7aa6620712524d18D742821848e55E773B5",[a.nU.BASE_SEPOLIA]:"0xFE6508f0015C778Bdcc1fB5465bA5ebE224C9912",[a.nU.LINEA]:"0xFE6508f0015C778Bdcc1fB5465bA5ebE224C9912",[a.nU.LINEA_TESTNET]:"0x9f3Cb8251492a069dBF0634C24e9De305d6946B8",[a.nU.ZKSYNC]:"0xdAee41E335322C85ff2c5a6745c98e1351806e98",[a.nU.ZKSYNC_TESTNET]:"0xCa97D1FAFCEa54EFc68d66eA914AB2F8Fbfe93c5",[a.nU.OPBNB]:"0xB89a6778D1efE7a5b7096757A21b810CC2886fa1",[a.nU.OPBNB_TESTNET]:"0xa8EEA7aa6620712524d18D742821848e55E773B5",[a.nU.MONAD_MAINNET]:"0x23682a588CF2601ACa977dF200938634c9F7d552",[a.nU.MONAD_TESTNET]:"0x94D220C58A23AE0c2eE29344b00A30D1c2d9F1bc",[a.nU.ROBINHOOD]:a.WY.contracts.universalRouter},h=e=>{if(!(e in E))throw Error(`Universal Router not deployed on chain ${e}`);return E[e]},_={OPEN_DELTA:0n,CONTRACT_BALANCE:"0x8000000000000000000000000000000000000000000000000000000000000000"},C=(e=>(e[e.ALLOW_REVERT_FLAG=128]="ALLOW_REVERT_FLAG",e[e.COMMAND_TYPE_MASK=63]="COMMAND_TYPE_MASK",e[e.V3_SWAP_EXACT_IN=0]="V3_SWAP_EXACT_IN",e[e.V3_SWAP_EXACT_OUT=1]="V3_SWAP_EXACT_OUT",e[e.PERMIT2_TRANSFER_FROM=2]="PERMIT2_TRANSFER_FROM",e[e.PERMIT2_PERMIT_BATCH=3]="PERMIT2_PERMIT_BATCH",e[e.SWEEP=4]="SWEEP",e[e.TRANSFER=5]="TRANSFER",e[e.PAY_PORTION=6]="PAY_PORTION",e[e.V2_SWAP_EXACT_IN=8]="V2_SWAP_EXACT_IN",e[e.V2_SWAP_EXACT_OUT=9]="V2_SWAP_EXACT_OUT",e[e.PERMIT2_PERMIT=10]="PERMIT2_PERMIT",e[e.WRAP_ETH=11]="WRAP_ETH",e[e.UNWRAP_WETH=12]="UNWRAP_WETH",e[e.PERMIT2_TRANSFER_FROM_BATCH=13]="PERMIT2_TRANSFER_FROM_BATCH",e[e.BALANCE_CHECK_ERC20=14]="BALANCE_CHECK_ERC20",e[e.INFI_SWAP=16]="INFI_SWAP",e[e.V3_POSITION_MANAGER_PERMIT=17]="V3_POSITION_MANAGER_PERMIT",e[e.V3_POSITION_MANAGER_CALL=18]="V3_POSITION_MANAGER_CALL",e[e.INFI_CL_INITIALIZE_POOL=19]="INFI_CL_INITIALIZE_POOL",e[e.INFI_BIN_INITIALIZE_POOL=20]="INFI_BIN_INITIALIZE_POOL",e[e.INFI_CL_POSITION_CALL=21]="INFI_CL_POSITION_CALL",e[e.INFI_BIN_POSITION_CALL=22]="INFI_BIN_POSITION_CALL",e[e.EXECUTE_SUB_PLAN=32]="EXECUTE_SUB_PLAN",e[e.STABLE_SWAP_EXACT_IN=34]="STABLE_SWAP_EXACT_IN",e[e.STABLE_SWAP_EXACT_OUT=35]="STABLE_SWAP_EXACT_OUT",e))(C||{});function P(e){return e.isNative?i.cF:e.wrapped.address}function b(e,t){let n=N(e),a=n.find(e=>e.wrapped.equals(t.wrapped));if(!a)throw Error(`Cannot get input currency by invalid pool: pool=${n[0].symbol}-${n[1].symbol}, curIn=${t.symbol}`);return a}function N(e){if(r.tj.isV2Pool(e)){let{reserve0:t,reserve1:n}=e;return[t.currency,n.currency]}if(r.tj.isV3Pool(e)){let{token0:t,token1:n}=e;return[t,n]}if(r.tj.isStablePool(e)){let{balances:t}=e;return t.map(e=>e.currency)}if(r.tj.isInfinityClPool(e)||r.tj.isInfinityBinPool(e)||r.tj.isInfinityStablePool(e)){let{currency0:t,currency1:n}=e;return[t,n]}throw Error("Cannot get tokens by invalid pool")}var w=` 2struct PermitDetails { 3 address token; 4 uint160 amount; 5 uint48 expiration; 6 uint48 nonce; 7}`.replaceAll("\n",""),S=` 8struct PermitSingle { 9 PermitDetails details; 10 address spender; 11 uint256 sigDeadline; 12} 13`.replaceAll("\n",""),O=` 14struct PermitBatch { 15 PermitSingle[] details; 16 address spender; 17 uint256 sigDeadline; 18} 19`.replaceAll("\n",""),g=` 20struct AllowanceTransferDetails { 21 address from; 22 address to; 23 uint160 amount; 24 address token; 25} 26`.replaceAll("\n",""),v={32:(0,l.m)("bytes _commands, bytes[] _inputs"),10:(0,l.m)(["PermitSingle permitSingle, bytes data",S,w]),3:(0,l.m)(["PermitBatch permitBatch, bytes data",O,S,w]),2:(0,l.m)("address token, address recipient, uint160 amount"),13:(0,l.m)(["AllowanceTransferDetails[] batchDetails",g]),0:(0,l.m)("address recipient, uint256 amountIn, uint256 amountOutMin, bytes path, bool payerIsUser"),1:(0,l.m)("address recipient, uint256 amountOut, uint256 amountInMax, bytes path, bool payerIsUser"),8:(0,l.m)("address recipient, uint256 amountIn, uint256 amountOutMin, address[] path, bool payerIsUser"),9:(0,l.m)("address recipient, uint256 amountOut, uint256 amountInMax, address[] path, bool payerIsUser"),34:(0,l.m)("address recipient, uint256 amountIn, uint256 amountOutMin, address[] path, uint256[] flag, bool payerIsUser"),35:(0,l.m)("address recipient, uint256 amountOut, uint256 amountInMax, address[] path, uint256[] flag, bool payerIsUser"),11:(0,l.m)("address recipient, uint256 amountMin"),12:(0,l.m)("address recipient, uint256 amountMin"),4:(0,l.m)("address token, address recipient, uint256 amountMin"),5:(0,l.m)("address token, address recipient, uint256 value"),6:(0,l.m)("address token, address recipient, uint256 bips"),14:(0,l.m)("address owner, address token, uint256 minBalance"),16:(0,l.m)("bytes actions, bytes[] params")},B=class{addCommand(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=function(e,t){let n=(0,m.h)(v[e],t);return{type:e,encodedInput:n}}(e,t);if(this.inputs.push(a.encodedInput),n){if(!M.has(a.type))throw Error(`command type: ${a.type} cannot be allowed to revert`);a.type|=x}this.commands=this.commands.concat(a.type.toString(16).padStart(2,"0"))}size(){return this.inputs.length}constructor(){this.commands="0x",this.inputs=[]}},x=128,M=new Set([32]),R=class extends B{encode(){for(let e of(this.addMergedWrapBeforeTrade(),this.context.routes)){for(let t of e.sections)this.addWrapBeforeSwap(e,t),this.addSwapCommand(e,t);this.addWrapAfterRoute(e)}this.payFee(),this.returnChanges()}
26addMergedWrapBeforeTrade(){if(this.context.mergedWrapBeforeTrade){let{wrap:e}=this.context.mergedWrapBeforeTrade,t=s._A,n=r.tj.maximumAmountIn(this.trade,this.options.slippageTolerance).quotient;if(e)this.addCommand(11,[t,n]);else{let{trade:e}=this.context;this.context.options.payerIsUser&&this.addCommand(2,[e.inputAmount.currency.wrapped.address,s._A,n]),this.addCommand(12,[t,n])}}}addSwapCommand(e,t){let{isFirstSection:n,isLastSection:a,payerIsUser:u,route:p,nextSection:l}=t,{tradeType:m}=this.context.trade,y=d(e.sections),c=y.unwrapOutput||y.wrapOutput||(null==l?void 0:l.wrapInput),I=this.context.mustCustody||!a||c,T=L(!!(l&&l.type===r.Y0.V2),l?l.pools[0]:null),A=(null==l?void 0:l.wrapInput)||(null==l?void 0:l.unwrapInput)?s._A:T,f=I?A:this.context.user,E=a?e.minimumAmountOut.quotient:0n;switch(t.type){case r.Y0.V2:{let t=n?e.maximumAmountIn.quotient:BigInt(_.CONTRACT_BALANCE),a=p.path.map(e=>e.wrapped.address);if(m===i.nP.EXACT_INPUT)return void this.addCommand(8,[f,t,E,a,u]);this.addCommand(9,[f,E,t,a,u]);break}case r.Y0.V3:{let t=n?e.maximumAmountIn.quotient:BigInt(_.CONTRACT_BALANCE),a=r.tj.encodeMixedRouteToPath({...p,input:p.input,output:p.output},m===i.nP.EXACT_OUTPUT);if(m===i.nP.EXACT_INPUT){let e=[f,t,E,a,u];this.addCommand(0,e)}else{let e=[f,E,t,a,u];this.addCommand(1,e)}break}case r.Y0.STABLE:{let t=n?e.maximumAmountIn.quotient:BigInt(_.CONTRACT_BALANCE),a=p.pools.map(e=>BigInt(e.balances.length)),r=p.path.map(e=>e.wrapped.address);if(m===i.nP.EXACT_INPUT){let e=[f,t,E,r,a,u];this.addCommand(34,e)}else{let e=[f,E,t,r,a,u];this.addCommand(35,e)}break}case r.Y0.InfinityBIN:case r.Y0.InfinityCL:{this.context.reusedActionPlaner||(this.context.reusedActionPlaner=new o.QL);let a=this.context.reusedActionPlaner,i=n?e.maximumAmountIn.quotient:_.OPEN_DELTA;this.initializeInfinitySwap(a,t,e),this.addInfinityCommand(a,t,i,E),this.finalizeInfinitySwap(a,t,f,i);break}default:throw Error("Invalid route type")}}addInfinityCommand(e,t,n,a){if(1===t.pools.length)return void this.addInfinitySingleHop(e,t,n,a);this.addInfinityMultiHop(e,t,n,a)}addInfinityMultiHop(e,t,n,a){let{tradeType:s}=this.context.trade,u=t.pools[0],d=r.tj.isInfinityClPool(u)||r.tj.isInfinityStablePool(u);if(s===i.nP.EXACT_INPUT){let i={currencyIn:P(t.poolIn),path:r.tj.encodeInfinityRouteToPath(t.route,!1),amountIn:n,amountOutMinimum:a};e.add(d?o.kl.CL_SWAP_EXACT_IN:o.kl.BIN_SWAP_EXACT_IN,[i])}else{let i={currencyOut:P(t.poolOut),path:r.tj.encodeInfinityRouteToPath(t.route,!0),amountOut:a,amountInMaximum:n};e.add(d?o.kl.CL_SWAP_EXACT_OUT:o.kl.BIN_SWAP_EXACT_OUT,[i])}}addInfinitySingleHop(e,t,n,a){var s,u;let d=t.pools[0],l=(e=>{let t={currency0:P(e.currency0),currency1:P(e.currency1),hooks:e.hooks||p.Xd,poolManager:e.poolManager,fee:e.fee},{chainId:n}=e.currency0;(0,o.d4)(n,e.hooks)&&(t.fee=o._u);let a=void 0!==e.hooksRegistrationBitmap?(0,o.A7)(e.hooksRegistrationBitmap):void 0;if(r.tj.isInfinityClPool(e)||r.tj.isInfinityStablePool(e)){let n={tickSpacing:e.tickSpacing,hooksRegistration:a};return{...t,parameters:n}}if(r.tj.isInfinityBinPool(e)){let n={binStep:e.binStep,hooksRegistration:a};return{...t,parameters:n}}throw Error("Invalid pool type")})(d),m=(0,o.WI)(l),{tradeType:y}=this.context.trade,c={poolKey:m,zeroForOne:(s=t.pools[0],u=t.poolIn,N(s)[0].wrapped.equals(u.wrapped)),hookData:"0x"},I=r.tj.isInfinityClPool(d)||r.tj.isInfinityStablePool(d);if(y===i.nP.EXACT_INPUT){let t={...c,amountIn:n,amountOutMinimum:a};e.add(I?o.kl.CL_SWAP_EXACT_IN_SINGLE:o.kl.BIN_SWAP_EXACT_IN_SINGLE,[t])}else{let t={...c,amountOut:a,amountInMaximum:n};e.add(I?o.kl.CL_SWAP_EXACT_OUT_SINGLE:o.kl.BIN_SWAP_EXACT_OUT_SINGLE,[t])}}addWrapBeforeSwap(e,t){if(this.context.mergedWrapBeforeTrade&&t.isFirstSection||!t.wrapInput&&!t.unwrapInput)return;let{nextSection:n}=t,a=L(!t.isFirstSection&&!!(n&&n.type===r.Y0.V2),n?n.pools[0]:null);if(t.wrapInput){let n=t.isFirstSection?e.maximumAmountIn.quotient:BigInt(_.CONTRACT_BALANCE);this.addCommand(11,[a,n])}if(t.unwrapInput){let n=t.isFirstSection?e.maximumAmountIn.quotient:0n;t.payerIsUser&&this.addCommand(2,[t.route.input.wrapped.address,s._A,n]),this.addCommand(12,[a,n])}}addWrapAfterRoute(e){let{sections:t}=e,n=d(t),a=u(t),{mustCustody:r,trade:o}=this.context,{tradeType:p}=o;if(null===this.context.returnChanges&&p===i.nP.EXACT_OUTPUT&&(a.wrapInput||a.unwrapInput)&&(this.context.returnChanges={wrap:!a.wrapInput}),!n.wrapOutput&&!n.unwrapOutput)return;let l=r?s._A:this.context.user,m=r?BigInt(_.CONTRACT_BALANCE):e.minimumAmountOut.quotient;if(this.context.mustCustody&&1===this.context.routes.length)this.context.takeOverWrapSweep={wrap:n.wrapOutput};else{if(n.wrapOutput)return void this.addWrapOut(l,m,n.poolOut);this.addUnwrapOut(l,m)}}addWrapOut(e,t,n){this.addCommand(11,[s._A,BigInt(_.CONTRACT_BALANCE)]),this.addSweepCommand(n.wrapped,e,t)}addUnwrapOut(e,t){this.addCommand(12,[e,t])}
26addSweepCommand(e,t,n){this.addCommand(4,[P(e),t,n])}payFee(){let e=r.tj.minimumAmountOut(this.trade,this.context.options.slippageTolerance),{tradeType:t}=this.context.trade;if(this.context.takeOverWrapSweep){let t=this.context.routes[0],n=t.sections[t.sections.length-1].poolOut;e=i.eF.fromRawAmount(n,e.quotient)}let{fee:n,flatFee:a}=this.options;if(n){let a=BigInt(n.fee.multiply(1e4).quotient.toString());this.addCommand(6,[P(e.currency),n.recipient,a]),t===i.nP.EXACT_OUTPUT&&(e=e.subtract(e.multiply(a).divide(1e4)))}if(a){let n=BigInt(a.amount.toString());if(n>e.quotient)throw Error("Flat fee can't be greater than minimum amount out");this.addCommand(5,[P(e.currency),a.recipient,n]),t===i.nP.EXACT_OUTPUT&&(e=e.subtract(n))}if(this.context.mustCustody)if(this.context.takeOverWrapSweep){let{wrap:t}=this.context.takeOverWrapSweep;t?this.addWrapOut(this.context.user,e.quotient,e.currency):this.addUnwrapOut(this.context.user,e.quotient)}else this.addCommand(4,[P(e.currency),this.context.user,e.quotient])}returnChanges(){let{returnChanges:e,user:t}=this.context;if(e){let{wrap:n}=e;n?this.addCommand(11,[t,BigInt(_.CONTRACT_BALANCE)]):this.addCommand(12,[t,0n])}}initializeInfinitySwap(e,t,n){let{prevSection:a,wrapInput:i,unwrapInput:r,payerIsUser:s,isFirstSection:u}=t;if(a&&a.isInfinity&&!(i||r)||s)return;let d=n.maximumAmountIn.quotient;e.add(o.kl.SETTLE,[P(t.poolIn),u?d:BigInt(_.CONTRACT_BALANCE),!1])}finalizeInfinitySwap(e,t,n,a){let{prevSection:r,nextSection:s,wrapInput:u,unwrapInput:d,payerIsUser:p}=t,l=r&&r.isInfinity&&!(u||d),m=!!(s&&s.isInfinity&&!s.wrapInput&&!s.unwrapInput);!l&&p&&e.add(o.kl.SETTLE,[P(t.poolIn),a,!0]),m||(e.add(o.kl.TAKE,[P(t.poolOut),n,_.OPEN_DELTA]),this.trade.tradeType===i.nP.EXACT_OUTPUT&&e.add(o.kl.TAKE,[P(t.poolIn),n,_.OPEN_DELTA])),m||(this.addCommand(16,[e.encodeActions(),e.encodePlans()]),this.context.reusedActionPlaner=null)}constructor(e,t){if(super(),this.trade=e,this.options=t,t.fee&&t.flatFee)throw Error("Cannot specify both fee and flatFee");this.context=((e,t)=>{let n={trade:e,options:t,routes:[],mustCustody:!!(t.fee||t.flatFee),user:t.recipient||s.kM,returnChanges:null,takeOverWrapSweep:null,mergedWrapBeforeTrade:null,reusedActionPlaner:null};for(let a=0;a<e.routes.length;a++){let i=e.routes[a],s=function(e){let t=[],n=[],a=e.inputAmount.currency;for(let s of e.pools){var i;let e=r.tj.getOutputCurrency(s,a),o=n[n.length-1],u=b(s,a);o&&(o.type!==s.type||(!(i=a).isNative||!u.isNative)&&(i.isNative||u.isNative))?(t.push(n),n=[s]):n.push(s),a=e}return n.length>0&&t.push(n),t}(i),o={sections:[],maximumAmountIn:r.tj.maximumAmountIn(e,t.slippageTolerance,i.inputAmount),minimumAmountOut:r.tj.minimumAmountOut(e,t.slippageTolerance,i.outputAmount)},u=e.inputAmount.currency;for(let t=0;t<s.length;t++){let a=s[t];(0,f.A)(a.length,"EMPTY_SECTION");let i=function(e){switch(e){case r.J1.V2:return r.Y0.V2;case r.J1.V3:return r.Y0.V3;case r.J1.STABLE:return r.Y0.STABLE;case r.J1.InfinityBIN:return r.Y0.InfinityBIN;case r.J1.InfinityCL:case r.J1.InfinityStable:return r.Y0.InfinityCL;default:throw Error("Invalid pool type")}}(a[0].type);(0,f.A)(i===r.Y0.V2||i===r.Y0.V3||i===r.Y0.InfinityBIN||i===r.Y0.InfinityCL||i===r.Y0.STABLE,"INVALID_ROUTE_TYPE");let d=0===t,p=t===s.length-1,l=b(a[0],u),m=r.tj.getOutputOfPools(a,l),y=p?e.outputAmount.currency:m,c=r.tj.buildBaseRoute([...a],l,m),I={type:i,poolIn:l,poolOut:m,isFirstSection:d,isLastSection:p,nextSection:null,prevSection:null,wrapInput:u.isNative&&!l.isNative,unwrapInput:!u.isNative&&l.isNative,wrapOutput:!y.isNative&&m.isNative,unwrapOutput:y.isNative&&!m.isNative,payerIsUser:!1,pools:a,route:c,isInfinity:a[0].type===r.J1.InfinityBIN||a[0].type===r.J1.InfinityCL||a[0].type===r.J1.InfinityStable};I.payerIsUser=!!n.options.payerIsUser&&I.isFirstSection&&!(I.wrapInput||I.unwrapInput),u=m,o.sections.push(I)}n.routes.push(o)}for(let e=0;e<n.routes.length;e++){let t=n.routes[e];for(let e=0;e<t.sections.length;e++)e<t.sections.length-1&&(t.sections[e].nextSection=t.sections[e+1]),e>0&&(t.sections[e].prevSection=t.sections[e-1])}let a=n.routes.map(e=>e.sections[0]),i=a.every(e=>e.wrapInput),o=a.every(e=>e.unwrapInput);return(i||o)&&(n.mergedWrapBeforeTrade={wrap:i}),n})(e,t)}};function L(e,t){let n=e?(0,r.vk)(t):s._A;if(!n)throw Error("unknown v2 pool address");return n}var U=(e=>(e.PancakeSwapTrade="PancakeSwapTrade",e.UnwrapWETH="UnwrapWETH",e))(U||{}),k=[{type:"constructor",inputs:[{name:"params",type:"tuple",internalType:"struct RouterParameters",components:[{name:"permit2",type:"address",internalType:"address"},{name:"weth9",type:"address",internalType:"address"},{name:"v2Factory",type:"address",internalType:"address"},{name:"v3Factory",type:"address",internalType:"address"},{name:"v3Deployer",type:"address",internalType:"address"},{name:"v2InitCodeHash",type:"bytes32",internalType:"bytes32"},{name:"v3InitCodeHash",type:"bytes32",internalType:"bytes32"},{name:"stableFactory",type:"address",internalType:"address"},{name:"stableInfo",type:"address",internalType:"address"},{name:"infiVault",type:"address",internalType:"address"},{name:"infiClPoolManager",type:"address",internalType:"address"},{name:"infiBinPoolManager",type:"address",internalType:"address"},{name:"v3NFTPositionManager",type:"address",internalType:"address"},{name:"infiClPositionManager",type:"address",internalType:"address"},{name:"infiBinPositionManager",type:"address",internalType:"address"}]}],stateMutability:"nonpayable"},{type:"receive",stateMutability:"payable"},{type:"function",name:"INFI_BIN_POSITION_MANAGER",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IPositionManager"}],stateMutability:"view"},{type:"function",name:"INFI_CL_POSITION_MANAGER",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IPositionManager"}],stateMutability:"view"},{type:"function",name:"V3_POSITION_MANAGER",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IV3NonfungiblePositionManager"}],stateMutability:"view"},{type:"function",name:"acceptOwnership",inputs:[],outputs:[],stateMutability:"nonpayable"}
26,{type:"function",name:"binPoolManager",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IBinPoolManager"}],stateMutability:"view"},{type:"function",name:"clPoolManager",inputs:[],outputs:[{name:"",type:"address",internalType:"contract ICLPoolManager"}],stateMutability:"view"},{type:"function",name:"execute",inputs:[{name:"commands",type:"bytes",internalType:"bytes"},{name:"inputs",type:"bytes[]",internalType:"bytes[]"}],outputs:[],stateMutability:"payable"},{type:"function",name:"execute",inputs:[{name:"commands",type:"bytes",internalType:"bytes"},{name:"inputs",type:"bytes[]",internalType:"bytes[]"},{name:"deadline",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"payable"},{type:"function",name:"lockAcquired",inputs:[{name:"data",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"bytes",internalType:"bytes"}],stateMutability:"nonpayable"},{type:"function",name:"msgSender",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"owner",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{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:"nonpayable"},{type:"function",name:"pause",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"paused",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"pendingOwner",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"renounceOwnership",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setStableSwap",inputs:[{name:"_factory",type:"address",internalType:"address"},{name:"_info",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"stableSwapFactory",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"stableSwapInfo",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"transferOwnership",inputs:[{name:"newOwner",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"unpause",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"vault",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IVault"}],stateMutability:"view"},{type:"event",name:"OwnershipTransferStarted",inputs:[{name:"previousOwner",type:"address",indexed:!0,internalType:"address"},{name:"newOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"OwnershipTransferred",inputs:[{name:"previousOwner",type:"address",indexed:!0,internalType:"address"},{name:"newOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"Paused",inputs:[{name:"account",type:"address",indexed:!1,internalType:"address"}],anonymous:!1},{type:"event",name:"SetStableSwap",inputs:[{name:"factory",type:"address",indexed:!0,internalType:"address"},{name:"info",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"Unpaused",inputs:[{name:"account",type:"address",indexed:!1,internalType:"address"}],anonymous:!1},{type:"error",name:"BalanceTooLow",inputs:[]},{type:"error",name:"ContractLocked",inputs:[]},{type:"error",name:"DeltaNotNegative",inputs:[{name:"currency",type:"address",internalType:"Currency"}]},{type:"error",name:"DeltaNotPositive",inputs:[{name:"currency",type:"address",internalType:"Currency"}]},{type:"error",name:"ETHNotAccepted",inputs:[]},{type:"error",name:"EnforcedPause",inputs:[]},{type:"error",name:"ExecutionFailed",inputs:[{name:"commandIndex",type:"uint256",internalType:"uint256"},{name:"message",type:"bytes",internalType:"bytes"}]},{type:"error",name:"ExpectedPause",inputs:[]}
26,{type:"error",name:"FromAddressIsNotOwner",inputs:[]},{type:"error",name:"InputLengthMismatch",inputs:[]},{type:"error",name:"InsufficientBalance",inputs:[]},{type:"error",name:"InsufficientETH",inputs:[]},{type:"error",name:"InsufficientToken",inputs:[]},{type:"error",name:"InvalidAction",inputs:[{name:"action",type:"bytes4",internalType:"bytes4"}]},{type:"error",name:"InvalidBips",inputs:[]},{type:"error",name:"InvalidCommandType",inputs:[{name:"commandType",type:"uint256",internalType:"uint256"}]},{type:"error",name:"InvalidEthSender",inputs:[]},{type:"error",name:"InvalidPath",inputs:[]},{type:"error",name:"InvalidPoolAddress",inputs:[]},{type:"error",name:"InvalidPoolLength",inputs:[]},{type:"error",name:"InvalidReserves",inputs:[]},{type:"error",name:"LengthMismatch",inputs:[]},{type:"error",name:"NotAuthorizedForToken",inputs:[{name:"tokenId",type:"uint256",internalType:"uint256"}]},{type:"error",name:"NotVault",inputs:[]},{type:"error",name:"OnlyAddLiqudityAllowed",inputs:[]},{type:"error",name:"OnlyMintAllowed",inputs:[]},{type:"error",name:"OwnableInvalidOwner",inputs:[{name:"owner",type:"address",internalType:"address"}]},{type:"error",name:"OwnableUnauthorizedAccount",inputs:[{name:"account",type:"address",internalType:"address"}]},{type:"error",name:"SafeCastOverflow",inputs:[]},{type:"error",name:"SliceOutOfBounds",inputs:[]},{type:"error",name:"StableInvalidPath",inputs:[]},{type:"error",name:"StableTooLittleReceived",inputs:[]},{type:"error",name:"StableTooMuchRequested",inputs:[]},{type:"error",name:"TooLittleReceived",inputs:[{name:"minAmountOutReceived",type:"uint256",internalType:"uint256"},{name:"amountReceived",type:"uint256",internalType:"uint256"}]},{type:"error",name:"TooMuchRequested",inputs:[{name:"maxAmountInRequested",type:"uint256",internalType:"uint256"},{name:"amountRequested",type:"uint256",internalType:"uint256"}]},{type:"error",name:"TransactionDeadlinePassed",inputs:[]},{type:"error",name:"UnsafeCast",inputs:[]},{type:"error",name:"UnsupportedAction",inputs:[{name:"action",type:"uint256",internalType:"uint256"}]},{type:"error",name:"V2InvalidPath",inputs:[]},{type:"error",name:"V2TooLittleReceived",inputs:[]},{type:"error",name:"V2TooMuchRequested",inputs:[]},{type:"error",name:"V3InvalidAmountOut",inputs:[]},{type:"error",name:"V3InvalidCaller",inputs:[]},{type:"error",name:"V3InvalidSwap",inputs:[]},{type:"error",name:"V3TooLittleReceived",inputs:[]},{type:"error",name:"V3TooMuchRequested",inputs:[]}],F=class{static swapERC20CallParameters(e,t){var n;let a={payerIsUser:!0,...t},i=new R(e,a),s=i.trade.inputAmount.currency;a.payerIsUser&&(0,f.A)(!(s.isNative&&a.inputTokenPermit),"NATIVE_INPUT_PERMIT"),a.inputTokenPermit&&"object"==typeof a.inputTokenPermit&&(n=a.inputTokenPermit,i.addCommand(10,[n,n.signature]));let o=a.payerIsUser&&s.isNative?r.tj.maximumAmountIn(i.trade,a.slippageTolerance,i.trade.inputAmount).quotient:0n;return i.encode(),F.encodePlan(i,o,{deadline:a.deadlineOrPreviousBlockhash?BigInt(a.deadlineOrPreviousBlockhash.toString()):void 0})}static decodeCallData(e){return function(e){var t,n;let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:v,{functionName:i,args:r}=(0,y.J)({abi:k,data:e});if("execute"!==i)throw RangeError(`Invalid function called: ${i}, support 'execute' only`);let s=null!=(n=null==(t=r[0].toString().match(/../g))?void 0:t.splice(1).map(e=>BigInt(`0x${e}`).toString()))?n:[],u=[];for(let[e,t]of Object.entries(s)){let n=a[t],i=C[parseInt(t)],s=(0,c.n)(n,r[1][Number(e)]),d=[];for(let[e,t]of Object.entries(n))d.push({type:t.type,name:t.name,value:s[Number(e)]});if("INFI_SWAP"===i){let e=function(e,t){let n=Array.from((0,I.ZJ)(e)),a=[];for(let[e,i]of Object.entries(n)){let n=o.kl[i],r=o.D3[i],s=(0,c.n)(r,t[Number(e)]),u=[];for(let[e,t]of Object.entries(r))u.push({type:t.type,name:t.name,value:s[Number(e)]});a.push({action:n,args:u})}return a}(d[0].value,d[1].value);u.push({command:i,args:[],actions:e})}else u.push({command:i,args:d})}return u}(e)}static encodePlan(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{commands:a,inputs:i}=e;return{calldata:n.deadline?(0,T.p)({abi:k,args:[a,i,BigInt(n.deadline)],functionName:"execute"}):(0,T.p)({abi:k,args:[a,i],functionName:"execute"}),value:(0,A.nj)(t)}}}},210526:(e,t,n)=>{n.d(t,{AA:()=>m,Nz:()=>d,Rk:()=>y,Zf:()=>l,f$:()=>p});var a=n(670420),i=n(228876),r=n(311560),s=n(52794),o=n(548881),u=n(207014);let d=r.we.onChain(i.nU.ZKSYNC),p=[d,a.ne.zk,a.ne.cake,a.ne.wbtc,a.ne.dai,a.ne.usdc,a.ne.usdcNative,a.ne.usdt,a.ne.grai,a.ne.tes,a.ne.busd,a.ne.reth,a.ne.wstETH,a.ne.meow,a.ne.weth,a.ne.wethe,a.ne.hold],l={[a.ne.zk.address]:{discount:"-40%"},[a.ne.wbtc.address]:{discount:"-20%"},[a.ne.dai.address]:{discount:"-20%"},[a.ne.usdc.address]:{discount:"-20%"},[a.ne.usdcNative.address]:{discount:"-20%"},[a.ne.usdt.address]:{discount:"-20%"},[a.ne.grai.address]:{discount:"-20%"},[a.ne.tes.address]:{discount:"-20%"},[a.ne.busd.address]:{discount:"-20%"},[a.ne.reth.address]:{discount:"-20%"},[a.ne.wstETH.address]:{discount:"-20%"},[a.ne.meow.address]:{discount:"-20%"},[a.ne.weth.address]:{discount:"-20%"},[a.ne.wethe.address]:{discount:"-20%"},[a.ne.hold.address]:{discount:"-20%"},[a.ne.cake.address]:{discount:"-20%"}};[(0,s.Pm)(i.nU.ZKSYNC),(0,u.rB)(o.A.zkSyncAirDrop,i.nU.ZKSYNC)].map(e=>e.toLowerCase()),Object.values(a.ne).map(e=>e.address.toLowerCase());let m="0x32faBA244AB815A5cb3E09D55c941464DBe31496",y="0xf8d936A86a3844084Eb82b57E2107B1fEDFb1DD7"},571045:(e,t,n)=>{n.d(t,{A:()=>a});function a(e){return/^0x0*$/.test(e)}},633571:(e,t,n)=>{n.d(t,{E:()=>c});var a=n(571045),i=n(968349),r=n(25963),s=n(2889),o=n(541375),u=n(663257),d=n(228876),p=n(792118),l=n(744104),m=n(495964),y=n(760115);let c=()=>{let e=(0,i.ax)(),{data:t}=(0,m.G)(),[n]=(0,y.S)(),c=(0,r.useMemo)(()=>e&&e.chainId===d.nU.ZKSYNC,[e]),I=(0,r.useMemo)(()=>n.isToken&&n.address&&(0,s.P)(n.address),[n]);async function T(e,i){if(!i)throw Error("An active wallet connection is required to send paymaster transaction");
26if(!n.isToken)throw Error("Selected gas token is not an ERC20 token. Unsupported by Paymaster.");if(!c||!I)throw Error("Paymaster is not available or active.");let r=await fetch("/api/paymaster",{method:"POST",headers:{"Content-Type":"application/json"},body:(0,o.A)({call:e,account:i,gasTokenAddress:n.address})});if(!r.ok)throw Error("Failed to send paymaster transaction");let s=await r.json(),m=(0,p.Rt)({chainId:d.nU.ZKSYNC}),y=await m.getTransactionCount({address:i}),T={account:i,nonce:y,to:s.txData.to,value:s.txData.value&&!(0,a.A)(s.txData.value)?(0,u.uU)(s.txData.value):0n,chainId:d.nU.ZKSYNC,gas:BigInt(s.gasLimit),maxFeePerGas:BigInt(s.txData.maxFeePerGas),maxPriorityFeePerGas:BigInt(0),data:e.calldata,gasPerPubdata:BigInt(s.txData.customData.gasPerPubdata),paymaster:s.txData.customData.paymasterParams.paymaster,paymasterInput:s.txData.customData.paymasterParams.paymasterInput};if(!t)throw Error("Failed to execute paymaster transaction");let A=t.extend((0,l.P)()),f=await A.prepareTransactionRequest(T),E=await A.signTransaction(f);return await m.sendRawTransaction({serializedTransaction:E})}return{isPaymasterAvailable:c,isPaymasterTokenActive:I,sendPaymasterTransaction:T}}},661742:(e,t,n)=>{n.d(t,{Xj:()=>o,rM:()=>r,rV:()=>s});var a=n(120319),i=n(528523);function r(e){return e instanceof a.C?e:"string"==typeof e?new i.MI(Error(e)):e instanceof Error?new i.MI(e):null}function s(e){let t=r(e);return t?t.details||t.shortMessage:String(e)}class o extends a.C{constructor({expectedData:e,actualData:t}){super("User initiated transaction with unexpected data",{metaMessages:["User initiated transaction with unexpected data","",` Expected data: ${e}`,` Actual data: ${t}`]}),this.name="UserUnexpectedTxError"}}},760115:(e,t,n)=>{n.d(t,{S:()=>o});var a=n(210526),i=n(985148),r=n(118708);let s=(0,i.eU)(a.Nz),o=()=>(0,r.fp)(s)}}]);
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.