@uniswap/universal-router-sdk 4.32.0 → 4.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t,r,o,n,a=e(require("tiny-invariant")),s=e(require("@uniswap/universal-router/artifacts/contracts/UniversalRouter.sol/UniversalRouter.json")),i=require("@ethersproject/abi"),u=require("ethers"),d=require("@uniswap/v3-sdk"),p=require("@uniswap/v4-sdk"),c=require("@uniswap/sdk-core"),m=require("ethers/lib/utils"),l=require("@uniswap/v2-sdk"),f=require("@uniswap/router-sdk");function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=Array(t);r<t;r++)o[r]=e[r];return o}function A(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return x(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?x(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function C(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,"string");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}require("jsbi"),require("bignumber.js"),(r=exports.CommandType||(exports.CommandType={}))[r.V3_SWAP_EXACT_IN=0]="V3_SWAP_EXACT_IN",r[r.V3_SWAP_EXACT_OUT=1]="V3_SWAP_EXACT_OUT",r[r.PERMIT2_TRANSFER_FROM=2]="PERMIT2_TRANSFER_FROM",r[r.PERMIT2_PERMIT_BATCH=3]="PERMIT2_PERMIT_BATCH",r[r.SWEEP=4]="SWEEP",r[r.TRANSFER=5]="TRANSFER",r[r.PAY_PORTION=6]="PAY_PORTION",r[r.V2_SWAP_EXACT_IN=8]="V2_SWAP_EXACT_IN",r[r.V2_SWAP_EXACT_OUT=9]="V2_SWAP_EXACT_OUT",r[r.PERMIT2_PERMIT=10]="PERMIT2_PERMIT",r[r.WRAP_ETH=11]="WRAP_ETH",r[r.UNWRAP_WETH=12]="UNWRAP_WETH",r[r.PERMIT2_TRANSFER_FROM_BATCH=13]="PERMIT2_TRANSFER_FROM_BATCH",r[r.BALANCE_CHECK_ERC20=14]="BALANCE_CHECK_ERC20",r[r.V4_SWAP=16]="V4_SWAP",r[r.V3_POSITION_MANAGER_PERMIT=17]="V3_POSITION_MANAGER_PERMIT",r[r.V3_POSITION_MANAGER_CALL=18]="V3_POSITION_MANAGER_CALL",r[r.V4_INITIALIZE_POOL=19]="V4_INITIALIZE_POOL",r[r.V4_POSITION_MANAGER_CALL=20]="V4_POSITION_MANAGER_CALL",r[r.EXECUTE_SUB_PLAN=33]="EXECUTE_SUB_PLAN",r[r.ACROSS_V4_DEPOSIT_V3=64]="ACROSS_V4_DEPOSIT_V3",(o=exports.Subparser||(exports.Subparser={}))[o.V3PathExactIn=0]="V3PathExactIn",o[o.V3PathExactOut=1]="V3PathExactOut",(n=exports.Parser||(exports.Parser={}))[n.Abi=0]="Abi",n[n.V4Actions=1]="V4Actions",n[n.V3Actions=2]="V3Actions";var y,T,v,_,b,R,h,E,P,V,g,I,k,U,w,B,N,S,O,D,F,q,M,W,L,X,H,j,G,K,Y=new Set([exports.CommandType.EXECUTE_SUB_PLAN]),Z=((t={})[exports.CommandType.EXECUTE_SUB_PLAN]={parser:exports.Parser.Abi,params:[{name:"commands",type:"bytes"},{name:"inputs",type:"bytes[]"}]},t[exports.CommandType.PERMIT2_PERMIT]={parser:exports.Parser.Abi,params:[{name:"permit",type:"((address token,uint160 amount,uint48 expiration,uint48 nonce) details,address spender,uint256 sigDeadline)"},{name:"signature",type:"bytes"}]},t[exports.CommandType.PERMIT2_PERMIT_BATCH]={parser:exports.Parser.Abi,params:[{name:"permit",type:"((address token,uint160 amount,uint48 expiration,uint48 nonce)[] details,address spender,uint256 sigDeadline)"},{name:"signature",type:"bytes"}]},t[exports.CommandType.PERMIT2_TRANSFER_FROM]={parser:exports.Parser.Abi,params:[{name:"token",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint160"}]},t[exports.CommandType.PERMIT2_TRANSFER_FROM_BATCH]={parser:exports.Parser.Abi,params:[{name:"transferFrom",type:"(address from,address to,uint160 amount,address token)[]"}]},t[exports.CommandType.V3_SWAP_EXACT_IN]={parser:exports.Parser.Abi,params:[{name:"recipient",type:"address"},{name:"amountIn",type:"uint256"},{name:"amountOutMin",type:"uint256"},{name:"path",subparser:exports.Subparser.V3PathExactIn,type:"bytes"},{name:"payerIsUser",type:"bool"}]},t[exports.CommandType.V3_SWAP_EXACT_OUT]={parser:exports.Parser.Abi,params:[{name:"recipient",type:"address"},{name:"amountOut",type:"uint256"},{name:"amountInMax",type:"uint256"},{name:"path",subparser:exports.Subparser.V3PathExactOut,type:"bytes"},{name:"payerIsUser",type:"bool"}]},t[exports.CommandType.V2_SWAP_EXACT_IN]={parser:exports.Parser.Abi,params:[{name:"recipient",type:"address"},{name:"amountIn",type:"uint256"},{name:"amountOutMin",type:"uint256"},{name:"path",type:"address[]"},{name:"payerIsUser",type:"bool"}]},t[exports.CommandType.V2_SWAP_EXACT_OUT]={parser:exports.Parser.Abi,params:[{name:"recipient",type:"address"},{name:"amountOut",type:"uint256"},{name:"amountInMax",type:"uint256"},{name:"path",type:"address[]"},{name:"payerIsUser",type:"bool"}]},t[exports.CommandType.V4_SWAP]={parser:exports.Parser.V4Actions},t[exports.CommandType.WRAP_ETH]={parser:exports.Parser.Abi,params:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}]},t[exports.CommandType.UNWRAP_WETH]={parser:exports.Parser.Abi,params:[{name:"recipient",type:"address"},{name:"amountMin",type:"uint256"}]},t[exports.CommandType.SWEEP]={parser:exports.Parser.Abi,params:[{name:"token",type:"address"},{name:"recipient",type:"address"},{name:"amountMin",type:"uint256"}]},t[exports.CommandType.TRANSFER]={parser:exports.Parser.Abi,params:[{name:"token",type:"address"},{name:"recipient",type:"address"},{name:"value",type:"uint256"}]},t[exports.CommandType.PAY_PORTION]={parser:exports.Parser.Abi,params:[{name:"token",type:"address"},{name:"recipient",type:"address"},{name:"bips",type:"uint256"}]},t[exports.CommandType.BALANCE_CHECK_ERC20]={parser:exports.Parser.Abi,params:[{name:"owner",type:"address"},{name:"token",type:"address"},{name:"minBalance",type:"uint256"}]},t[exports.CommandType.V4_INITIALIZE_POOL]={parser:exports.Parser.Abi,params:[{name:"poolKey",type:"(address currency0,address currency1,uint24 fee,int24 tickSpacing,address hooks)"},{name:"sqrtPriceX96",type:"uint160"}]},t[exports.CommandType.V3_POSITION_MANAGER_PERMIT]={parser:exports.Parser.V3Actions},t[exports.CommandType.V3_POSITION_MANAGER_CALL]={parser:exports.Parser.V3Actions},t[exports.CommandType.V4_POSITION_MANAGER_CALL]={parser:exports.Parser.V4Actions},t[exports.CommandType.ACROSS_V4_DEPOSIT_V3]={parser:exports.Parser.Abi,params:[{name:"depositor",type:"address"},{name:"recipient",type:"address"},{name:"inputToken",type:"address"},{name:"outputToken",type:"address"},{name:"inputAmount",type:"uint256"},{name:"outputAmount",type:"uint256"},{name:"destinationChainId",type:"uint256"},{name:"exclusiveRelayer",type:"address"},{name:"quoteTimestamp",type:"uint32"},{name:"fillDeadline",type:"uint32"},{name:"exclusivityDeadline",type:"uint32"},{name:"message",type:"bytes"},{name:"useNative",type:"bool"}]},t),z=function(){function e(){this.commands="0x",this.inputs=[]}var t=e.prototype;return t.addSubPlan=function(e){return this.addCommand(exports.CommandType.EXECUTE_SUB_PLAN,[e.commands,e.inputs],!0),this},t.addCommand=function(e,t,r){void 0===r&&(r=!1);var o=function(e,t){var r=Z[e];switch(r.parser){case exports.Parser.Abi:return{type:e,encodedInput:m.defaultAbiCoder.encode(r.params.map((function(e){return e.type})),t)};case exports.Parser.V4Actions:case exports.Parser.V3Actions:return{type:e,encodedInput:t[0]}}}(e,t);if(this.inputs.push(o.encodedInput),r){if(!Y.has(o.type))throw new Error("command type: "+o.type+" cannot be allowed to revert");o.type=128|o.type}return this.commands=this.commands.concat(o.type.toString(16).padStart(2,"0")),this},t.addAcrossBridge=function(e){return this.addCommand(exports.CommandType.ACROSS_V4_DEPOSIT_V3,[e.depositor,e.recipient,e.inputToken,e.outputToken,e.inputAmount,e.outputAmount,e.destinationChainId,e.exclusiveRelayer,e.quoteTimestamp,e.fillDeadline,e.exclusivityDeadline,e.message,e.useNative]),this},e}();function Q(e,t){if(t.involvesToken(e))return e;if(t.involvesToken(e.wrapped))return e.wrapped;if(t instanceof p.Pool&&t.token0.wrapped.equals(e))return t.token0;if(t instanceof p.Pool&&t.token1.wrapped.equals(e))return t.token1;throw new Error("Expected currency "+e.symbol+" to be either "+t.token0.symbol+" or "+t.token1.symbol)}(y=exports.RouterActionType||(exports.RouterActionType={})).UniswapTrade="UniswapTrade",y.UnwrapWETH="UnwrapWETH",(K=exports.UniversalRouterVersion||(exports.UniversalRouterVersion={})).V1_2="1.2",K.V2_0="2.0",K.V2_1="2.1";var $=((G={})[1]={weth:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",routerConfigs:(T={},T[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:17143817},T[exports.UniversalRouterVersion.V2_0]={address:"0x66a9893cc07d91d95644aedd05d03f95e1dba8af",creationBlock:21689092},T[exports.UniversalRouterVersion.V2_1]={address:"0xd92a36b0000531ef3063ded4de20a0783308446c",creationBlock:23836348},T)},G[5]={weth:"0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6",routerConfigs:(v={},v[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:8940568},v[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:8940568},v[exports.UniversalRouterVersion.V2_1]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},v)},G[11155111]={weth:"0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14",routerConfigs:(_={},_[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:3543575},_[exports.UniversalRouterVersion.V2_0]={address:"0x3a9d48ab9751398bbfa63ad67599bb04e4bdf98b",creationBlock:7259601},_[exports.UniversalRouterVersion.V2_1]={address:"0x470FFC67b1feEEC31D16C46AC7545C98716a194c",creationBlock:9664766},_)},G[137]={weth:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",routerConfigs:(b={},b[exports.UniversalRouterVersion.V1_2]={address:"0xec7BE89e9d109e7e3Fec59c222CF297125FEFda2",creationBlock:52210153},b[exports.UniversalRouterVersion.V2_0]={address:"0x1095692a6237d83c6a72f3f5efedb9a670c49223",creationBlock:66980401},b[exports.UniversalRouterVersion.V2_1]={address:"0xE27610fD9dD05FC061366bc9dA414CA6F948f204",creationBlock:79245524},b)},G[80001]={weth:"0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889",routerConfigs:(R={},R[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:35176052},R[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:35176052},R[exports.UniversalRouterVersion.V2_1]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},R)},G[10]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(h={},h[exports.UniversalRouterVersion.V1_2]={address:"0xCb1355ff08Ab38bBCE60111F1bb2B784bE25D7e8",creationBlock:114702266},h[exports.UniversalRouterVersion.V2_0]={address:"0x851116d9223fabed8e56c0e6b8ad0c31d98b3507",creationBlock:130947687},h[exports.UniversalRouterVersion.V2_1]={address:"0xde20EEE5398D3790a4D356e8925bD21Ea65D99Af",creationBlock:143998769},h)},G[420]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(E={},E[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:8887728},E[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:8887728},E[exports.UniversalRouterVersion.V2_1]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},E)},G[42161]={weth:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",routerConfigs:(P={},P[exports.UniversalRouterVersion.V1_2]={address:"0x5E325eDA8064b456f4781070C0738d849c824258",creationBlock:169472836},P[exports.UniversalRouterVersion.V2_0]={address:"0xa51afafe0263b40edaef0df8781ea9aa03e381a3",creationBlock:297842906},P[exports.UniversalRouterVersion.V2_1]={address:"0x96b2FD2F80e9428Daa65d859653117D453981AB4",creationBlock:402060097},P)},G[421613]={weth:"0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3",routerConfigs:(V={},V[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:18815277},V[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:18815277},V[exports.UniversalRouterVersion.V2_1]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},V)},G[42220]={weth:"0x0000000000000000000000000000000000000000",routerConfigs:(g={},g[exports.UniversalRouterVersion.V1_2]={address:"0x643770e279d5d0733f21d6dc03a8efbabf3255b4",creationBlock:21407637},g[exports.UniversalRouterVersion.V2_0]={address:"0xcb695bc5D3Aa22cAD1E6DF07801b061a05A0233A",creationBlock:47387857},g[exports.UniversalRouterVersion.V2_1]={address:"0xBB8Ed9bF0BFF210652AE5f473a849F82e990DDf6",creationBlock:51696199},g)},G[44787]={weth:"0x0000000000000000000000000000000000000000",routerConfigs:(I={},I[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:17566658},I[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:17566658},I[exports.UniversalRouterVersion.V2_1]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},I)},G[56]={weth:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",routerConfigs:(k={},k[exports.UniversalRouterVersion.V1_2]={address:"0x4Dae2f939ACf50408e13d58534Ff8c2776d45265",creationBlock:35160263},k[exports.UniversalRouterVersion.V2_0]={address:"0x1906c1d672b88cd1b9ac7593301ca990f94eae07",creationBlock:45970616},k[exports.UniversalRouterVersion.V2_1]={address:"0x91BF3bfAEf8D771A74E1A8fE460b3EE646b2e588",creationBlock:68794488},k)},G[43114]={weth:"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",routerConfigs:(U={},U[exports.UniversalRouterVersion.V1_2]={address:"0x4Dae2f939ACf50408e13d58534Ff8c2776d45265",creationBlock:40237257},U[exports.UniversalRouterVersion.V2_0]={address:"0x94b75331ae8d42c1b61065089b7d48fe14aa73b7",creationBlock:56195395},U[exports.UniversalRouterVersion.V2_1]={address:"0x0Cf1f86B331A03179646341D10A2A87515087221",creationBlock:72254439},U)},G[84531]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(w={},w[exports.UniversalRouterVersion.V1_2]={address:"0xd0872d928672ae2ff74bdb2f5130ac12229cafaf",creationBlock:6915289},w[exports.UniversalRouterVersion.V2_0]={address:"0xd0872d928672ae2ff74bdb2f5130ac12229cafaf",creationBlock:6915289},w[exports.UniversalRouterVersion.V2_1]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},w)},G[8453]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(B={},B[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:9107268},B[exports.UniversalRouterVersion.V2_0]={address:"0x6ff5693b99212da76ad316178a184ab56d299b43",creationBlock:25350999},B[exports.UniversalRouterVersion.V2_1]={address:"0xf3a4f4094bd2c6c06ca2f61789d8727b8d1e7259",creationBlock:38404211},B)},G[81457]={weth:"0x4300000000000000000000000000000000000004",routerConfigs:(N={},N[exports.UniversalRouterVersion.V1_2]={address:"0x643770E279d5D0733F21d6DC03A8efbABf3255B4",creationBlock:1116444},N[exports.UniversalRouterVersion.V2_0]={address:"0xeabbcb3e8e415306207ef514f660a3f820025be3",creationBlock:14377319},N[exports.UniversalRouterVersion.V2_1]={address:"0x77c0097c1acf6fd84878d3f7c0603e3f04e8bec7",creationBlock:27394047},N)},G[7777777]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(S={},S[exports.UniversalRouterVersion.V1_2]={address:"0x2986d9721A49838ab4297b695858aF7F17f38014",creationBlock:11832155},S[exports.UniversalRouterVersion.V2_0]={address:"0x3315ef7ca28db74abadc6c44570efdf06b04b020",creationBlock:25434544},S[exports.UniversalRouterVersion.V2_1]={address:"0x880853091b60f80301a0c1d2f9893c4993041295",creationBlock:38452170},S)},G[324]={weth:"0x5aea5775959fbc2557cc8789bc1bf90a239d9a91",routerConfigs:(O={},O[exports.UniversalRouterVersion.V1_2]={address:"0x28731BCC616B5f51dD52CF2e4dF0E78dD1136C06",creationBlock:12640979},O[exports.UniversalRouterVersion.V2_0]={address:"0x28731BCC616B5f51dD52CF2e4dF0E78dD1136C06",creationBlock:12640979},O[exports.UniversalRouterVersion.V2_1]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},O)},G[480]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(D={},D[exports.UniversalRouterVersion.V1_2]={address:"0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",creationBlock:4063979},D[exports.UniversalRouterVersion.V2_0]={address:"0x8ac7bee993bb44dab564ea4bc9ea67bf9eb5e743",creationBlock:9111895},D[exports.UniversalRouterVersion.V2_1]={address:"0x03c4f6b55733cdf3caa07c01e5b83ddee3381f60",creationBlock:22131418},D)},G[1301]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(F={},F[exports.UniversalRouterVersion.V1_2]={address:"0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6",creationBlock:1241811},F[exports.UniversalRouterVersion.V2_0]={address:"0xf70536b3bcc1bd1a972dc186a2cf84cc6da6be5d",creationBlock:7100543},F[exports.UniversalRouterVersion.V2_1]={address:"0x7F9B8D606E0F35E5073ABf93695814530b28a37b",creationBlock:36746405},F)},G[130]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(q={},q[exports.UniversalRouterVersion.V1_2]={address:"0x4D73A4411CA1c660035e4AECC8270E5DdDEC8C17",creationBlock:23678},q[exports.UniversalRouterVersion.V2_0]={address:"0xef740bf23acae26f6492b10de645d6b98dc8eaf3",creationBlock:6819690},q[exports.UniversalRouterVersion.V2_1]={address:"0xe6039ae5b44f90d56c6b029354fb22999861a9a0",creationBlock:32850661},q)},G[10143]={weth:"0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701",routerConfigs:(M={},M[exports.UniversalRouterVersion.V1_2]={address:"0x3ae6d8a282d67893e17aa70ebffb33ee5aa65893",creationBlock:23678},M[exports.UniversalRouterVersion.V2_0]={address:"0x3ae6d8a282d67893e17aa70ebffb33ee5aa65893",creationBlock:23678},M[exports.UniversalRouterVersion.V2_1]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},M)},G[84532]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(W={},W[exports.UniversalRouterVersion.V1_2]={address:"0x492e6456d9528771018deb9e87ef7750ef184104",creationBlock:20216585},W[exports.UniversalRouterVersion.V2_0]={address:"0x492e6456d9528771018deb9e87ef7750ef184104",creationBlock:20216585},W[exports.UniversalRouterVersion.V2_1]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},W)},G[1868]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(L={},L[exports.UniversalRouterVersion.V1_2]={address:"0x0e2850543f69f678257266e0907ff9a58b3f13de",creationBlock:3254782},L[exports.UniversalRouterVersion.V2_0]={address:"0x0e2850543f69f678257266e0907ff9a58b3f13de",creationBlock:3254782},L[exports.UniversalRouterVersion.V2_1]={address:"0xdb1d5986551c820bd0f3b1caca3e77ce03acb5ef",creationBlock:15232223},L)},G[143]={weth:"0x3bd359C1119dA7Da1D913D1C4D2B7c461115433A",routerConfigs:(X={},X[exports.UniversalRouterVersion.V1_2]={address:"0x0d97dc33264bfc1c226207428a79b26757fb9dc3",creationBlock:29255937},X[exports.UniversalRouterVersion.V2_0]={address:"0x0d97dc33264bfc1c226207428a79b26757fb9dc3",creationBlock:29255937},X[exports.UniversalRouterVersion.V2_1]={address:"0xBC2A036E5027b9AE57BbA847eF88E1b14823F7B1",creationBlock:36720825},X)},G[59144]={weth:"0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f",routerConfigs:(H={},H[exports.UniversalRouterVersion.V1_2]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},H[exports.UniversalRouterVersion.V2_0]={address:"0x661e93cca42afacb172121ef892830ca3b70f08d",creationBlock:1},H[exports.UniversalRouterVersion.V2_1]={address:"0xba548ce7a95f87bc66a0c7c6eab1e428735f8b57",creationBlock:1},H)},G[196]={weth:"0xe538905cf8410324e03A5A23C1c177a474D59b2b",routerConfigs:(j={},j[exports.UniversalRouterVersion.V1_2]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},j[exports.UniversalRouterVersion.V2_0]={address:"0x5507749f2c558bb3e162c6e90c314c092e7372ff",creationBlock:47680350},j[exports.UniversalRouterVersion.V2_1]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},j)},G),J=function(e,t){if(!(t in $))throw new Error("Universal Router not deployed on chain "+t);return $[t].routerConfigs[e].address},ee=function(e){if(!(e in $))throw new Error("Universal Router not deployed on chain "+e);if("0x0000000000000000000000000000000000000000"==$[e].weth)throw new Error("Chain "+e+" does not have WETH");return $[e].weth},te=u.BigNumber.from(2).pow(255),re="0x0000000000000000000000000000000000000000",oe="0x0000000000000000000000000000000000000001",ne="0x0000000000000000000000000000000000000002";function ae(e){return e.isNative?re:e.wrapped.address}var se=new c.Percent(50,100),ie=function(){function e(e,t){if(this.trade=e,this.options=t,this.tradeType=exports.RouterActionType.UniswapTrade,t.fee&&t.flatFee)throw new Error("Only one fee option permitted");this.payerIsUser=!(this.inputRequiresWrap||this.inputRequiresUnwrap||this.options.useRouterBalance)}var t,r;return e.prototype.encode=function(e,t){var r;this.inputRequiresWrap?e.addCommand(exports.CommandType.WRAP_ETH,[ne,this.trade.maximumAmountIn(this.options.slippageTolerance).quotient.toString()]):this.inputRequiresUnwrap&&(e.addCommand(exports.CommandType.PERMIT2_TRANSFER_FROM,[this.trade.inputAmount.currency.address,ne,this.trade.maximumAmountIn(this.options.slippageTolerance).quotient.toString()]),e.addCommand(exports.CommandType.UNWRAP_WETH,[ne,0])),this.options.recipient=null!=(r=this.options.recipient)?r:oe;for(var o,n,a=this.trade.tradeType===c.TradeType.EXACT_INPUT&&this.trade.routes.length>2||this.outputRequiresTransition||!!(o=this.options).fee||!!o.flatFee,s=A(this.trade.swaps);!(n=s()).done;){var i=n.value;switch(i.route.protocol){case f.Protocol.V2:ue(e,i,this.trade.tradeType,this.options,this.payerIsUser,a);break;case f.Protocol.V3:de(e,i,this.trade.tradeType,this.options,this.payerIsUser,a);break;case f.Protocol.V4:pe(e,i,this.trade.tradeType,this.options,this.payerIsUser,a);break;case f.Protocol.MIXED:ce(e,i,this.trade.tradeType,this.options,this.payerIsUser,a);break;default:throw new Error("UNSUPPORTED_TRADE_PROTOCOL")}}var p=u.BigNumber.from(this.trade.minimumAmountOut(this.options.slippageTolerance).quotient.toString());if(a){var m=this.trade.swaps[0].route.pools,l=ae(Q(this.trade.outputAmount.currency,m[m.length-1]));if(this.options.fee){var x=d.toHex(this.options.fee.fee.multiply(1e4).quotient);e.addCommand(exports.CommandType.PAY_PORTION,[l,this.options.fee.recipient,x]),this.trade.tradeType===c.TradeType.EXACT_OUTPUT&&(p=p.sub(p.mul(x).div(1e4)))}if(this.options.flatFee){var C=this.options.flatFee.amount;if(p.lt(C))throw new Error("Flat fee amount greater than minimumAmountOut");e.addCommand(exports.CommandType.TRANSFER,[l,this.options.flatFee.recipient,C]),this.trade.tradeType===c.TradeType.EXACT_OUTPUT&&(p=p.sub(C))}this.outputRequiresUnwrap?e.addCommand(exports.CommandType.UNWRAP_WETH,[this.options.recipient,p]):this.outputRequiresWrap?e.addCommand(exports.CommandType.WRAP_ETH,[this.options.recipient,te]):e.addCommand(exports.CommandType.SWEEP,[ae(this.trade.outputAmount.currency),this.options.recipient,p])}(this.trade.tradeType===c.TradeType.EXACT_OUTPUT||this.trade.priceImpact.greaterThan(se))&&(this.inputRequiresWrap?e.addCommand(exports.CommandType.UNWRAP_WETH,[this.options.recipient,0]):this.inputRequiresUnwrap?e.addCommand(exports.CommandType.WRAP_ETH,[this.options.recipient,te]):this.trade.inputAmount.currency.isNative&&e.addCommand(exports.CommandType.SWEEP,[re,this.options.recipient,0])),this.options.safeMode&&e.addCommand(exports.CommandType.SWEEP,[re,this.options.recipient,0])},t=e,(r=[{key:"isAllV4",get:function(){for(var e,t=!0,r=A(this.trade.swaps);!(e=r()).done;)t=t&&e.value.route.protocol==f.Protocol.V4;return t}},{key:"inputRequiresWrap",get:function(){return this.trade.swaps[0].route.pools[0]instanceof p.Pool?this.trade.inputAmount.currency.isNative&&!this.trade.swaps[0].route.pathInput.isNative:this.trade.inputAmount.currency.isNative}},{key:"inputRequiresUnwrap",get:function(){return this.trade.swaps[0].route.pools[0]instanceof p.Pool&&!this.trade.inputAmount.currency.isNative&&this.trade.swaps[0].route.pathInput.isNative}},{key:"outputRequiresWrap",get:function(){var e=this.trade.swaps[0].route,t=e.pools[e.pools.length-1];if(t instanceof p.Pool&&!this.trade.outputAmount.currency.isNative){if(e.pathOutput.isNative)return!0;if(t.currency1.equals(t.currency0.wrapped)&&e.pools.length>1){var r=e.pools[e.pools.length-2];if(r instanceof p.Pool&&(r.currency0.equals(t.currency1)||r.currency1.equals(t.currency1)))return!0;if(r.token0.equals(t.currency1)||r.token1.equals(t.currency1))return!0}}return!1}},{key:"outputRequiresUnwrap",get:function(){var e=this.trade.swaps[0].route,t=e.pools[e.pools.length-1];return t instanceof p.Pool&&this.trade.outputAmount.currency.isNative?!this.trade.swaps[0].route.pathOutput.isNative||!!(e.pools.length>1&&e.pools[e.pools.length-2]instanceof p.Pool&&e.pools[e.pools.length-2].currency0.isNative&&t.currency1.equals(t.currency0.wrapped)):this.trade.outputAmount.currency.isNative}},{key:"outputRequiresTransition",get:function(){return this.outputRequiresWrap||this.outputRequiresUnwrap}}])&&function(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,C(o.key),o)}}(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),t}();function ue(e,t,r,o,n,a){var s=t.route,i=new l.Trade(s,r==c.TradeType.EXACT_INPUT?t.inputAmount:t.outputAmount,r);r==c.TradeType.EXACT_INPUT?e.addCommand(exports.CommandType.V2_SWAP_EXACT_IN,[a?ne:o.recipient,i.maximumAmountIn(o.slippageTolerance).quotient.toString(),a?0:i.minimumAmountOut(o.slippageTolerance).quotient.toString(),s.path.map((function(e){return e.wrapped.address})),n]):r==c.TradeType.EXACT_OUTPUT&&e.addCommand(exports.CommandType.V2_SWAP_EXACT_OUT,[a?ne:o.recipient,i.minimumAmountOut(o.slippageTolerance).quotient.toString(),i.maximumAmountIn(o.slippageTolerance).quotient.toString(),s.path.map((function(e){return e.wrapped.address})),n])}function de(e,t,r,o,n,a){var s=t.route,i=d.Trade.createUncheckedTrade({route:s,inputAmount:t.inputAmount,outputAmount:t.outputAmount,tradeType:r}),u=d.encodeRouteToPath(s,i.tradeType===c.TradeType.EXACT_OUTPUT);r==c.TradeType.EXACT_INPUT?e.addCommand(exports.CommandType.V3_SWAP_EXACT_IN,[a?ne:o.recipient,i.maximumAmountIn(o.slippageTolerance).quotient.toString(),a?0:i.minimumAmountOut(o.slippageTolerance).quotient.toString(),u,n]):r==c.TradeType.EXACT_OUTPUT&&e.addCommand(exports.CommandType.V3_SWAP_EXACT_OUT,[a?ne:o.recipient,i.minimumAmountOut(o.slippageTolerance).quotient.toString(),i.maximumAmountIn(o.slippageTolerance).quotient.toString(),u,n])}function pe(e,t,r,o,n,a){var s,i=t.inputAmount,u=t.outputAmount,d=t.route.pools.map((function(e){return e})),m=new p.Route(d,i.currency,u.currency),l=p.Trade.createUncheckedTrade({route:m,inputAmount:i,outputAmount:u,tradeType:r}),f=a&&r==c.TradeType.EXACT_INPUT?void 0:o.slippageTolerance,x=new p.V4Planner;x.addTrade(l,f,o.maxHopSlippage,o.urVersion),x.addSettle(l.route.pathInput,n);var A=l.route.pathOutput,C=m.pools[m.pools.length-1];if(C.currency1.equals(C.currency0.wrapped)&&m.pools.length>1){var y=m.pools[m.pools.length-2];A.isNative&&y.currency0.isNative?A=A.wrapped:A.isNative||!y.currency0.equals(C.currency1)&&!y.currency1.equals(C.currency1)||(A=C.currency0)}x.addTake(A,a?ne:null!=(s=o.recipient)?s:oe),e.addCommand(exports.CommandType.V4_SWAP,[x.finalize()])}function ce(e,t,r,o,n,a){var s,i=t.route,u=t.inputAmount,c=t.outputAmount,m=a?ne:null!=(s=o.recipient)?s:oe;if(1===i.pools.length){if(i.pools[0]instanceof p.Pool)return pe(e,t,r,o,n,a);if(i.pools[0]instanceof d.Pool)return de(e,t,r,o,n,a);if(i.pools[0]instanceof l.Pair)return ue(e,t,r,o,n,a);throw new Error("Invalid route type")}for(var x=f.MixedRouteTrade.createUncheckedTrade({route:i,inputAmount:u,outputAmount:c,tradeType:r}),A=x.maximumAmountIn(o.slippageTolerance,u).quotient.toString(),C=a?0:x.minimumAmountOut(o.slippageTolerance,c).quotient.toString(),y=f.partitionMixedRouteByProtocol(i),T=function(e){return e===y.length-1},v=i.pathInput,_=0;_<y.length;_++){var b=y[_],R=b[0],h=f.getOutputOfPools(b,v),E=new f.MixedRoute(new f.MixedRouteSDK([].concat(b),v,h)),P=void 0,V=void 0;if(T(_))P=h,V=m;else{var g=y[_+1][0];P=Q(h,g),V=g instanceof l.Pair&&h.equals(P)?g.liquidityToken.address:ne}if(R instanceof p.Pool){var I=new p.V4Planner,k=new p.Route(b,E.input,E.output);I.addSettle(v,n&&0===_,0==_?A:te),I.addAction(p.Actions.SWAP_EXACT_IN,[{currencyIn:v.isNative?re:v.address,path:p.encodeRouteToPath(k),maxHopSlippage:o.maxHopSlippage||[],amountIn:0,amountOutMinimum:T(_)?C:0}],o.urVersion);var U=h;if(T(_)){var w=i.pools[i.pools.length-1],B=!!(w instanceof p.Pool)&&w.currency1.equals(w.currency0.wrapped),N=i.pools[i.pools.length-2];B&&(h.isNative&&N.token0.isNative?U=h.wrapped:h.isNative||!N.token0.equals(w.token1)&&!N.token1.equals(w.token1)||(U=w.token0))}I.addTake(U,V),e.addCommand(exports.CommandType.V4_SWAP,[I.finalize()])}else if(R instanceof d.Pool)e.addCommand(exports.CommandType.V3_SWAP_EXACT_IN,[V,0==_?A:te,T(_)?C:0,f.encodeMixedRouteToPath(E),n&&0===_]);else{if(!(R instanceof l.Pair))throw new Error("Unexpected Pool Type");e.addCommand(exports.CommandType.V2_SWAP_EXACT_IN,[V,0===_?A:te,T(_)?C:0,E.path.map((function(e){return e.wrapped.address})),n&&0===_])}T(_)||(h.isNative&&!P.isNative?e.addCommand(exports.CommandType.WRAP_ETH,[ne,te]):!h.isNative&&P.isNative&&e.addCommand(exports.CommandType.UNWRAP_WETH,[ne,0])),v=P}}function me(e,t){var r=t.signature,o=u.ethers.utils.arrayify(t.signature).length;65!==o&&64!==o||(r=u.ethers.utils.joinSignature(u.ethers.utils.splitSignature(t.signature))),e.addCommand(exports.CommandType.PERMIT2_PERMIT,[t,r])}var le={ExecuteSigned:[{name:"commands",type:"bytes"},{name:"inputs",type:"bytes[]"},{name:"intent",type:"bytes32"},{name:"data",type:"bytes32"},{name:"sender",type:"address"},{name:"nonce",type:"bytes32"},{name:"deadline",type:"uint256"}]};function fe(e,t){return{name:"UniversalRouter",version:"2",chainId:e,verifyingContract:t}}function xe(){var e=u.ethers.utils.randomBytes(32);return u.ethers.utils.hexlify(e)}var Ae="0x"+"f".repeat(64),Ce=function(){function e(){}return e.swapCallParameters=function(t,r,o){var n=new z,s=new ie(t,r),i=s.trade.inputAmount.currency;i.isNative&&r.inputTokenPermit&&a(!1),r.inputTokenPermit&&me(n,r.inputTokenPermit);var d=u.BigNumber.from(i.isNative?s.trade.maximumAmountIn(r.slippageTolerance).quotient.toString():0);if(s.encode(n,{allowRevert:!1}),o)for(var p,c=A(o);!(p=c()).done;)n.addAcrossBridge(p.value);return e.encodePlan(n,d,{deadline:r.deadlineOrPreviousBlockhash?u.BigNumber.from(r.deadlineOrPreviousBlockhash):void 0})},e.getExecuteSignedPayload=function(t,r,o,n,a){var s,i,d;try{i=(s=e.INTERFACE.decodeFunctionData("execute(bytes,bytes[],uint256)",t)).commands,d=s.inputs}catch(r){i=(s=e.INTERFACE.decodeFunctionData("execute(bytes,bytes[])",t)).commands,d=s.inputs}var p=r.nonce||xe(),c=r.sender,m=fe(n,a),l=r.intent,f=r.data,x=u.BigNumber.from(o).toString();return{domain:m,types:le,value:{commands:i,inputs:d,intent:l,data:f,sender:c,nonce:p,deadline:x}}},e.encodeExecuteSigned=function(t,r,o,n,a){var s,i,d;void 0===a&&(a=u.BigNumber.from(0));try{i=(s=e.INTERFACE.decodeFunctionData("execute(bytes,bytes[],uint256)",t)).commands,d=s.inputs}catch(r){i=(s=e.INTERFACE.decodeFunctionData("execute(bytes,bytes[])",t)).commands,d=s.inputs}if(!o.nonce)throw new Error("Nonce is required for encodeExecuteSigned - use the nonce from getExecuteSignedPayload");return{calldata:e.INTERFACE.encodeFunctionData("executeSigned",[i,d,o.intent,o.data,"0x0000000000000000000000000000000000000000"!==o.sender,o.nonce,r,n]),value:a.toHexString()}},e.migrateV3ToV4CallParameters=function(t,r){var o=t.outputPosition.pool,n=t.inputPosition.pool.token0,s=t.inputPosition.pool.token1,i=null!=r?r:c.CHAIN_TO_ADDRESSES_MAP[o.chainId].v4PositionManagerAddress;o.currency0.isNative?o.currency0.wrapped.equals(n)&&o.currency1.equals(s)||o.currency0.wrapped.equals(s)&&o.currency1.equals(n)||a(!1):(n!==o.token0&&a(!1),s!==o.token1&&a(!1)),t.v3RemoveLiquidityOptions.liquidityPercentage.equalTo(new c.Percent(100,100))||a(!1),1!=t.v3RemoveLiquidityOptions.burnToken&&a(!1),t.v3RemoveLiquidityOptions.collectOptions.recipient!==i&&a(!1),!function(e){return Object.keys(e).some((function(e){return"recipient"===e}))}(t.v4AddLiquidityOptions)&&a(!1),t.v4AddLiquidityOptions.migrate||a(!1);var m=new z;if(t.v4AddLiquidityOptions.createPool){var l=p.Pool.getPoolKey(o.currency0,o.currency1,o.fee,o.tickSpacing,o.hooks);m.addCommand(exports.CommandType.V4_INITIALIZE_POOL,[l,o.sqrtRatioX96.toString()]),delete t.v4AddLiquidityOptions.createPool}t.v3RemoveLiquidityOptions.permit&&(J(exports.UniversalRouterVersion.V2_0,t.inputPosition.pool.chainId)!=t.v3RemoveLiquidityOptions.permit.spender&&a(!1),function(e,t,r){var o=d.NonfungiblePositionManager.INTERFACE.encodeFunctionData("permit",[c.validateAndParseAddress(t.spender),r,t.deadline,t.v,t.r,t.s]);e.addCommand(exports.CommandType.V3_POSITION_MANAGER_PERMIT,[o])}(m,t.v3RemoveLiquidityOptions.permit,t.v3RemoveLiquidityOptions.tokenId),delete t.v3RemoveLiquidityOptions.permit);for(var f,x=d.NonfungiblePositionManager.removeCallParameters(t.inputPosition,t.v3RemoveLiquidityOptions),C=A(d.Multicall.decodeMulticall(x.calldata));!(f=C()).done;){var y=f.value,T=y.slice(0,10);T!=d.NonfungiblePositionManager.INTERFACE.getSighash("collect")&&T!=d.NonfungiblePositionManager.INTERFACE.getSighash("decreaseLiquidity")&&T!=d.NonfungiblePositionManager.INTERFACE.getSighash("burn")&&a(!1),m.addCommand(exports.CommandType.V3_POSITION_MANAGER_CALL,[y])}var v=p.V4PositionManager.addCallParameters(t.outputPosition,t.v4AddLiquidityOptions);return v.calldata.slice(0,10)!=p.V4PositionManager.INTERFACE.getSighash("modifyLiquidities")&&a(!1),m.addCommand(exports.CommandType.V4_POSITION_MANAGER_CALL,[v.calldata]),e.encodePlan(m,u.BigNumber.from(0),{deadline:u.BigNumber.from(t.v4AddLiquidityOptions.deadline)})},e.encodePlan=function(t,r,o){void 0===o&&(o={});var n=t.commands,a=t.inputs;return{calldata:e.INTERFACE.encodeFunctionData(o.deadline?"execute(bytes,bytes[],uint256)":"execute(bytes,bytes[])",o.deadline?[n,a,o.deadline]:[n,a]),value:r.toHexString()}},e}();Ce.INTERFACE=new i.Interface(s.abi);var ye,Te=function(){function e(e,t,r){this.tradeType=exports.RouterActionType.UnwrapWETH,this.wethAddress=ee(t),this.amount=e,r&&(r.details.token.toLowerCase()!==this.wethAddress.toLowerCase()&&a(!1),r.details.amount>=e||a(!1),this.permit2Data=r)}return e.prototype.encode=function(e,t){!function(e,t){t.permit2TransferFrom&&t.permit2Permit&&t.permit2TransferFrom.token!==t.permit2Permit.details.token&&a(!1),t.permit2Permit&&me(e,t.permit2Permit),t.permit2TransferFrom&&e.addCommand(exports.CommandType.PERMIT2_TRANSFER_FROM,[t.permit2TransferFrom.token,t.permit2TransferFrom.recipient?t.permit2TransferFrom.recipient:ne,t.permit2TransferFrom.amount])}(e,{permit2Permit:this.permit2Data,permit2TransferFrom:{token:this.wethAddress,amount:this.amount.toString()}}),e.addCommand(exports.CommandType.UNWRAP_WETH,[ne,this.amount])},e}();(ye=exports.PoolType||(exports.PoolType={})).V2Pool="v2-pool",ye.V3Pool="v3-pool",ye.V4Pool="v4-pool";var ve=function(e){return e.toLowerCase()===re.toLowerCase()||e.toLowerCase()==="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee".toLowerCase()},_e=function(){function e(){}return e.fromClassicQuote=function(t){var r=t.route,o=t.tokenIn,n=t.tokenOut;if(!r)throw new Error("Expected route to be present");if(!r.length)throw new Error("Expected there to be at least one route");if(r.some((function(e){return!e.length})))throw new Error("Expected all routes to have at least one pool");var a=r[0],s=a[0].tokenIn,i=a[a.length-1].tokenOut;if(!s||!i)throw new Error("Expected both tokenIn and tokenOut to be present");if(s.chainId!==i.chainId)throw new Error("Expected tokenIn and tokenOut to be have same chainId");var u=e.toCurrency(ve(o),s),m=e.toCurrency(ve(n),i),x=r.map((function(t){var r=t[0].amountIn,o=t[t.length-1].amountOut;if(!r||!o)throw new Error("Expected both raw amountIn and raw amountOut to be present");var n=c.CurrencyAmount.fromRawAmount(u,r),a=c.CurrencyAmount.fromRawAmount(m,o),s=e.isVersionedRoute(exports.PoolType.V2Pool,t),i=e.isVersionedRoute(exports.PoolType.V3Pool,t),x=e.isVersionedRoute(exports.PoolType.V4Pool,t);return{routev4:x?new p.Route(t.map(e.toV4Pool),u,m):null,routev3:i?new d.Route(t.map(e.toV3Pool),u,m):null,routev2:s?new l.Route(t.map(e.toPair),u,m):null,mixedRoute:x||i||s?null:new f.MixedRouteSDK(t.map(e.toPoolOrPair),u,m),inputAmount:n,outputAmount:a}}));return new f.Trade({v2Routes:x.filter((function(e){return e.routev2})).map((function(e){return{routev2:e.routev2,inputAmount:e.inputAmount,outputAmount:e.outputAmount}})),v3Routes:x.filter((function(e){return e.routev3})).map((function(e){return{routev3:e.routev3,inputAmount:e.inputAmount,outputAmount:e.outputAmount}})),v4Routes:x.filter((function(e){return e.routev4})).map((function(e){return{routev4:e.routev4,inputAmount:e.inputAmount,outputAmount:e.outputAmount}})),mixedRoutes:x.filter((function(e){return e.mixedRoute})).map((function(e){return{mixedRoute:e.mixedRoute,inputAmount:e.inputAmount,outputAmount:e.outputAmount}})),tradeType:t.tradeType})},e.toCurrency=function(e,t){return e?c.Ether.onChain(t.chainId):this.toToken(t)},e.toToken=function(e){var t=e.symbol,r=e.buyFeeBps,o=e.sellFeeBps;return new c.Token(e.chainId,e.address,parseInt(e.decimals.toString()),t,void 0,!1,r?u.BigNumber.from(r):void 0,o?u.BigNumber.from(o):void 0)},e.toV3Pool=function(t){var r=t.fee,o=t.sqrtRatioX96,n=t.liquidity,a=t.tickCurrent,s=t.tokenOut;return new d.Pool(e.toToken(t.tokenIn),e.toToken(s),parseInt(r),o,n,parseInt(a))},e.toV4Pool=function(t){var r=e.toCurrency(ve(t.tokenIn.address),t.tokenIn),o=e.toCurrency(ve(t.tokenOut.address),t.tokenOut);return new p.Pool(r,o,parseInt(t.fee),parseInt(t.tickSpacing),t.hooks,t.sqrtRatioX96,t.liquidity,parseInt(t.tickCurrent))},e.isVersionedRoute=function(e,t){return t.every((function(t){return t.type===e}))},e}();_e.toPoolOrPair=function(e){switch(e.type){case exports.PoolType.V4Pool:return _e.toV4Pool(e);case exports.PoolType.V3Pool:return _e.toV3Pool(e);case exports.PoolType.V2Pool:return _e.toPair(e);default:throw new Error("Invalid pool type")}},_e.toPair=function(e){var t=e.reserve0,r=e.reserve1;return new l.Pair(c.CurrencyAmount.fromRawAmount(_e.toToken(t.token),t.quotient),c.CurrencyAmount.fromRawAmount(_e.toToken(r.token),r.quotient))};var be=function(){function e(){}return e.parseCalldata=function(t){var r=new Re(Z),o=e.INTERFACE.parseTransaction({data:t}).args;return r.parse(o.commands,o.inputs)},e}();be.INTERFACE=new i.Interface(s.abi);var Re=function(){function e(e){this.commandDefinition=e}return e.prototype.parse=function(t,r){var o=this;return{commands:e.getCommands(t).map((function(e,t){var n,a=o.commandDefinition[e];if(a.parser===exports.Parser.V4Actions){var s=p.V4BaseActionsParser.parseCalldata(r[t]);return{commandName:exports.CommandType[e],commandType:e,params:(n=s.actions,n.map((function(e){return{name:e.actionName,value:e.params.map((function(e){return{name:e.name,value:e.value}}))}})))}}if(a.parser===exports.Parser.Abi){var i=a.params,d=u.ethers.utils.defaultAbiCoder.decode(i.map((function(e){return e.type})),r[t]).map((function(e,t){switch(i[t].subparser){case exports.Subparser.V3PathExactIn:return{name:i[t].name,value:he(e)};case exports.Subparser.V3PathExactOut:return{name:i[t].name,value:Ee(e)};default:return{name:i[t].name,value:e}}}));return{commandName:exports.CommandType[e],commandType:e,params:d}}if(a.parser===exports.Parser.V3Actions)return{commandName:exports.CommandType[e],commandType:e,params:r.map((function(e){return{name:"command",value:e}}))};throw new Error("Unsupported parser: "+a)}))}},e.getCommands=function(e){for(var t=[],r=2;r<e.length;r+=2){var o=e.substring(r,r+2);t.push(parseInt(o,16))}return t},e}();function he(e){for(var t=e.replace("0x",""),r=u.ethers.utils.getAddress(t.substring(0,40)),o=40,n=[];o<t.length;){var a=t.substring(o,o+46),s=parseInt(a.substring(0,6),16),i=u.ethers.utils.getAddress(a.substring(6,46));n.push({tokenIn:r,tokenOut:i,fee:s}),r=i,o+=46}return n}function Ee(e){for(var t=e.replace("0x",""),r=u.ethers.utils.getAddress(t.substring(t.length-40)),o=t.length-86,n=[];o>=0;){var a=t.substring(o,o+46),s=u.ethers.utils.getAddress(a.substring(0,40)),i=parseInt(a.substring(40,46),16);n.push({tokenIn:r,tokenOut:s,fee:i}),r=s,o-=46}return n}Object.defineProperty(exports,"URVersion",{enumerable:!0,get:function(){return p.URVersion}}),exports.COMMAND_DEFINITION=Z,exports.CONTRACT_BALANCE=te,exports.CommandParser=be,exports.EXECUTE_SIGNED_TYPES=le,exports.GenericCommandParser=Re,exports.NONCE_SKIP_CHECK=Ae,exports.ROUTER_AS_RECIPIENT=ne,exports.RoutePlanner=z,exports.RouterTradeAdapter=_e,exports.SwapRouter=Ce,exports.UNIVERSAL_ROUTER_ADDRESS=J,exports.UNIVERSAL_ROUTER_CREATION_BLOCK=function(e,t){if(!(t in $))throw new Error("Universal Router not deployed on chain "+t);return $[t].routerConfigs[e].creationBlock},exports.UniswapTrade=ie,exports.UnwrapWETH=Te,exports.WETH_ADDRESS=ee,exports.generateNonce=xe,exports.getUniversalRouterDomain=fe,exports.isNativeCurrency=ve;
1
+ "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var r,t,o,n,a=e(require("tiny-invariant")),s=e(require("@uniswap/universal-router/artifacts/contracts/UniversalRouter.sol/UniversalRouter.json")),i=require("@ethersproject/abi"),u=require("ethers"),d=require("@uniswap/v3-sdk"),p=require("@uniswap/v4-sdk"),c=require("@uniswap/sdk-core"),m=require("ethers/lib/utils"),l=require("@uniswap/v2-sdk"),f=require("@uniswap/router-sdk");function x(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,o=Array(r);t<r;t++)o[t]=e[t];return o}function y(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=function(e,r){if(e){if("string"==typeof e)return x(e,r);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?x(e,r):void 0}}(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function A(e){var r=function(e,r){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,"string");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof r?r:r+""}require("jsbi"),require("bignumber.js"),(t=exports.CommandType||(exports.CommandType={}))[t.V3_SWAP_EXACT_IN=0]="V3_SWAP_EXACT_IN",t[t.V3_SWAP_EXACT_OUT=1]="V3_SWAP_EXACT_OUT",t[t.PERMIT2_TRANSFER_FROM=2]="PERMIT2_TRANSFER_FROM",t[t.PERMIT2_PERMIT_BATCH=3]="PERMIT2_PERMIT_BATCH",t[t.SWEEP=4]="SWEEP",t[t.TRANSFER=5]="TRANSFER",t[t.PAY_PORTION=6]="PAY_PORTION",t[t.V2_SWAP_EXACT_IN=8]="V2_SWAP_EXACT_IN",t[t.V2_SWAP_EXACT_OUT=9]="V2_SWAP_EXACT_OUT",t[t.PERMIT2_PERMIT=10]="PERMIT2_PERMIT",t[t.WRAP_ETH=11]="WRAP_ETH",t[t.UNWRAP_WETH=12]="UNWRAP_WETH",t[t.PERMIT2_TRANSFER_FROM_BATCH=13]="PERMIT2_TRANSFER_FROM_BATCH",t[t.BALANCE_CHECK_ERC20=14]="BALANCE_CHECK_ERC20",t[t.V4_SWAP=16]="V4_SWAP",t[t.V3_POSITION_MANAGER_PERMIT=17]="V3_POSITION_MANAGER_PERMIT",t[t.V3_POSITION_MANAGER_CALL=18]="V3_POSITION_MANAGER_CALL",t[t.V4_INITIALIZE_POOL=19]="V4_INITIALIZE_POOL",t[t.V4_POSITION_MANAGER_CALL=20]="V4_POSITION_MANAGER_CALL",t[t.EXECUTE_SUB_PLAN=33]="EXECUTE_SUB_PLAN",t[t.ACROSS_V4_DEPOSIT_V3=64]="ACROSS_V4_DEPOSIT_V3",(o=exports.Subparser||(exports.Subparser={}))[o.V3PathExactIn=0]="V3PathExactIn",o[o.V3PathExactOut=1]="V3PathExactOut",(n=exports.Parser||(exports.Parser={}))[n.Abi=0]="Abi",n[n.V4Actions=1]="V4Actions",n[n.V3Actions=2]="V3Actions";var T,C,v,P,_,b,R,h,E,V,w,g,k,I,U,B,N,S,O,D,F,q,M,W,L,X,H,j,G,K,Y,Z=new Set([exports.CommandType.EXECUTE_SUB_PLAN]),z=((r={})[exports.CommandType.EXECUTE_SUB_PLAN]={parser:exports.Parser.Abi,params:[{name:"commands",type:"bytes"},{name:"inputs",type:"bytes[]"}]},r[exports.CommandType.PERMIT2_PERMIT]={parser:exports.Parser.Abi,params:[{name:"permit",type:"((address token,uint160 amount,uint48 expiration,uint48 nonce) details,address spender,uint256 sigDeadline)"},{name:"signature",type:"bytes"}]},r[exports.CommandType.PERMIT2_PERMIT_BATCH]={parser:exports.Parser.Abi,params:[{name:"permit",type:"((address token,uint160 amount,uint48 expiration,uint48 nonce)[] details,address spender,uint256 sigDeadline)"},{name:"signature",type:"bytes"}]},r[exports.CommandType.PERMIT2_TRANSFER_FROM]={parser:exports.Parser.Abi,params:[{name:"token",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint160"}]},r[exports.CommandType.PERMIT2_TRANSFER_FROM_BATCH]={parser:exports.Parser.Abi,params:[{name:"transferFrom",type:"(address from,address to,uint160 amount,address token)[]"}]},r[exports.CommandType.V3_SWAP_EXACT_IN]={parser:exports.Parser.Abi,params:[{name:"recipient",type:"address"},{name:"amountIn",type:"uint256"},{name:"amountOutMin",type:"uint256"},{name:"path",subparser:exports.Subparser.V3PathExactIn,type:"bytes"},{name:"payerIsUser",type:"bool"}]},r[exports.CommandType.V3_SWAP_EXACT_OUT]={parser:exports.Parser.Abi,params:[{name:"recipient",type:"address"},{name:"amountOut",type:"uint256"},{name:"amountInMax",type:"uint256"},{name:"path",subparser:exports.Subparser.V3PathExactOut,type:"bytes"},{name:"payerIsUser",type:"bool"}]},r[exports.CommandType.V2_SWAP_EXACT_IN]={parser:exports.Parser.Abi,params:[{name:"recipient",type:"address"},{name:"amountIn",type:"uint256"},{name:"amountOutMin",type:"uint256"},{name:"path",type:"address[]"},{name:"payerIsUser",type:"bool"}]},r[exports.CommandType.V2_SWAP_EXACT_OUT]={parser:exports.Parser.Abi,params:[{name:"recipient",type:"address"},{name:"amountOut",type:"uint256"},{name:"amountInMax",type:"uint256"},{name:"path",type:"address[]"},{name:"payerIsUser",type:"bool"}]},r[exports.CommandType.V4_SWAP]={parser:exports.Parser.V4Actions},r[exports.CommandType.WRAP_ETH]={parser:exports.Parser.Abi,params:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}]},r[exports.CommandType.UNWRAP_WETH]={parser:exports.Parser.Abi,params:[{name:"recipient",type:"address"},{name:"amountMin",type:"uint256"}]},r[exports.CommandType.SWEEP]={parser:exports.Parser.Abi,params:[{name:"token",type:"address"},{name:"recipient",type:"address"},{name:"amountMin",type:"uint256"}]},r[exports.CommandType.TRANSFER]={parser:exports.Parser.Abi,params:[{name:"token",type:"address"},{name:"recipient",type:"address"},{name:"value",type:"uint256"}]},r[exports.CommandType.PAY_PORTION]={parser:exports.Parser.Abi,params:[{name:"token",type:"address"},{name:"recipient",type:"address"},{name:"bips",type:"uint256"}]},r[exports.CommandType.BALANCE_CHECK_ERC20]={parser:exports.Parser.Abi,params:[{name:"owner",type:"address"},{name:"token",type:"address"},{name:"minBalance",type:"uint256"}]},r[exports.CommandType.V4_INITIALIZE_POOL]={parser:exports.Parser.Abi,params:[{name:"poolKey",type:"(address currency0,address currency1,uint24 fee,int24 tickSpacing,address hooks)"},{name:"sqrtPriceX96",type:"uint160"}]},r[exports.CommandType.V3_POSITION_MANAGER_PERMIT]={parser:exports.Parser.V3Actions},r[exports.CommandType.V3_POSITION_MANAGER_CALL]={parser:exports.Parser.V3Actions},r[exports.CommandType.V4_POSITION_MANAGER_CALL]={parser:exports.Parser.V4Actions},r[exports.CommandType.ACROSS_V4_DEPOSIT_V3]={parser:exports.Parser.Abi,params:[{name:"depositor",type:"address"},{name:"recipient",type:"address"},{name:"inputToken",type:"address"},{name:"outputToken",type:"address"},{name:"inputAmount",type:"uint256"},{name:"outputAmount",type:"uint256"},{name:"destinationChainId",type:"uint256"},{name:"exclusiveRelayer",type:"address"},{name:"quoteTimestamp",type:"uint32"},{name:"fillDeadline",type:"uint32"},{name:"exclusivityDeadline",type:"uint32"},{name:"message",type:"bytes"},{name:"useNative",type:"bool"}]},r),Q=function(){function e(){this.commands="0x",this.inputs=[]}var r=e.prototype;return r.addSubPlan=function(e){return this.addCommand(exports.CommandType.EXECUTE_SUB_PLAN,[e.commands,e.inputs],!0),this},r.addCommand=function(e,r,t){void 0===t&&(t=!1);var o=function(e,r){var t=z[e];switch(t.parser){case exports.Parser.Abi:return{type:e,encodedInput:m.defaultAbiCoder.encode(t.params.map((function(e){return e.type})),r)};case exports.Parser.V4Actions:case exports.Parser.V3Actions:return{type:e,encodedInput:r[0]}}}(e,r);if(this.inputs.push(o.encodedInput),t){if(!Z.has(o.type))throw new Error("command type: "+o.type+" cannot be allowed to revert");o.type=128|o.type}return this.commands=this.commands.concat(o.type.toString(16).padStart(2,"0")),this},r.addAcrossBridge=function(e){return this.addCommand(exports.CommandType.ACROSS_V4_DEPOSIT_V3,[e.depositor,e.recipient,e.inputToken,e.outputToken,e.inputAmount,e.outputAmount,e.destinationChainId,e.exclusiveRelayer,e.quoteTimestamp,e.fillDeadline,e.exclusivityDeadline,e.message,e.useNative]),this},e}();function $(e,r){if(r.involvesToken(e))return e;if(r.involvesToken(e.wrapped))return e.wrapped;if(r instanceof p.Pool&&r.token0.wrapped.equals(e))return r.token0;if(r instanceof p.Pool&&r.token1.wrapped.equals(e))return r.token1;throw new Error("Expected currency "+e.symbol+" to be either "+r.token0.symbol+" or "+r.token1.symbol)}(T=exports.RouterActionType||(exports.RouterActionType={})).UniswapTrade="UniswapTrade",T.UnwrapWETH="UnwrapWETH",(Y=exports.UniversalRouterVersion||(exports.UniversalRouterVersion={})).V1_2="1.2",Y.V2_0="2.0",Y.V2_1="2.1";var J,ee="0x02E5be68D46DAc0B524905bfF209cf47EE6dB2a9",re=((K={})[1]={weth:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",routerConfigs:(C={},C[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:17143817},C[exports.UniversalRouterVersion.V2_0]={address:"0x66a9893cc07d91d95644aedd05d03f95e1dba8af",creationBlock:21689092},C[exports.UniversalRouterVersion.V2_1]={address:"0xd92a36b0000531ef3063ded4de20a0783308446c",creationBlock:23836348},C),swapProxy:ee},K[5]={weth:"0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6",routerConfigs:(v={},v[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:8940568},v[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:8940568},v[exports.UniversalRouterVersion.V2_1]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},v)},K[11155111]={weth:"0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14",routerConfigs:(P={},P[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:3543575},P[exports.UniversalRouterVersion.V2_0]={address:"0x3a9d48ab9751398bbfa63ad67599bb04e4bdf98b",creationBlock:7259601},P[exports.UniversalRouterVersion.V2_1]={address:"0x470FFC67b1feEEC31D16C46AC7545C98716a194c",creationBlock:9664766},P),swapProxy:ee},K[137]={weth:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",routerConfigs:(_={},_[exports.UniversalRouterVersion.V1_2]={address:"0xec7BE89e9d109e7e3Fec59c222CF297125FEFda2",creationBlock:52210153},_[exports.UniversalRouterVersion.V2_0]={address:"0x1095692a6237d83c6a72f3f5efedb9a670c49223",creationBlock:66980401},_[exports.UniversalRouterVersion.V2_1]={address:"0xE27610fD9dD05FC061366bc9dA414CA6F948f204",creationBlock:79245524},_),swapProxy:ee},K[80001]={weth:"0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889",routerConfigs:(b={},b[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:35176052},b[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:35176052},b[exports.UniversalRouterVersion.V2_1]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},b)},K[10]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(R={},R[exports.UniversalRouterVersion.V1_2]={address:"0xCb1355ff08Ab38bBCE60111F1bb2B784bE25D7e8",creationBlock:114702266},R[exports.UniversalRouterVersion.V2_0]={address:"0x851116d9223fabed8e56c0e6b8ad0c31d98b3507",creationBlock:130947687},R[exports.UniversalRouterVersion.V2_1]={address:"0xde20EEE5398D3790a4D356e8925bD21Ea65D99Af",creationBlock:143998769},R),swapProxy:ee},K[420]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(h={},h[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:8887728},h[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:8887728},h[exports.UniversalRouterVersion.V2_1]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},h)},K[42161]={weth:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",routerConfigs:(E={},E[exports.UniversalRouterVersion.V1_2]={address:"0x5E325eDA8064b456f4781070C0738d849c824258",creationBlock:169472836},E[exports.UniversalRouterVersion.V2_0]={address:"0xa51afafe0263b40edaef0df8781ea9aa03e381a3",creationBlock:297842906},E[exports.UniversalRouterVersion.V2_1]={address:"0x96b2FD2F80e9428Daa65d859653117D453981AB4",creationBlock:402060097},E),swapProxy:ee},K[421613]={weth:"0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3",routerConfigs:(V={},V[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:18815277},V[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:18815277},V[exports.UniversalRouterVersion.V2_1]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},V)},K[42220]={weth:"0x0000000000000000000000000000000000000000",routerConfigs:(w={},w[exports.UniversalRouterVersion.V1_2]={address:"0x643770e279d5d0733f21d6dc03a8efbabf3255b4",creationBlock:21407637},w[exports.UniversalRouterVersion.V2_0]={address:"0xcb695bc5D3Aa22cAD1E6DF07801b061a05A0233A",creationBlock:47387857},w[exports.UniversalRouterVersion.V2_1]={address:"0xBB8Ed9bF0BFF210652AE5f473a849F82e990DDf6",creationBlock:51696199},w),swapProxy:ee},K[44787]={weth:"0x0000000000000000000000000000000000000000",routerConfigs:(g={},g[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:17566658},g[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:17566658},g[exports.UniversalRouterVersion.V2_1]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},g)},K[56]={weth:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",routerConfigs:(k={},k[exports.UniversalRouterVersion.V1_2]={address:"0x4Dae2f939ACf50408e13d58534Ff8c2776d45265",creationBlock:35160263},k[exports.UniversalRouterVersion.V2_0]={address:"0x1906c1d672b88cd1b9ac7593301ca990f94eae07",creationBlock:45970616},k[exports.UniversalRouterVersion.V2_1]={address:"0x91BF3bfAEf8D771A74E1A8fE460b3EE646b2e588",creationBlock:68794488},k),swapProxy:ee},K[43114]={weth:"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",routerConfigs:(I={},I[exports.UniversalRouterVersion.V1_2]={address:"0x4Dae2f939ACf50408e13d58534Ff8c2776d45265",creationBlock:40237257},I[exports.UniversalRouterVersion.V2_0]={address:"0x94b75331ae8d42c1b61065089b7d48fe14aa73b7",creationBlock:56195395},I[exports.UniversalRouterVersion.V2_1]={address:"0x0Cf1f86B331A03179646341D10A2A87515087221",creationBlock:72254439},I),swapProxy:ee},K[84531]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(U={},U[exports.UniversalRouterVersion.V1_2]={address:"0xd0872d928672ae2ff74bdb2f5130ac12229cafaf",creationBlock:6915289},U[exports.UniversalRouterVersion.V2_0]={address:"0xd0872d928672ae2ff74bdb2f5130ac12229cafaf",creationBlock:6915289},U[exports.UniversalRouterVersion.V2_1]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},U)},K[8453]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(B={},B[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:9107268},B[exports.UniversalRouterVersion.V2_0]={address:"0x6ff5693b99212da76ad316178a184ab56d299b43",creationBlock:25350999},B[exports.UniversalRouterVersion.V2_1]={address:"0xf3a4f4094bd2c6c06ca2f61789d8727b8d1e7259",creationBlock:38404211},B),swapProxy:ee},K[81457]={weth:"0x4300000000000000000000000000000000000004",routerConfigs:(N={},N[exports.UniversalRouterVersion.V1_2]={address:"0x643770E279d5D0733F21d6DC03A8efbABf3255B4",creationBlock:1116444},N[exports.UniversalRouterVersion.V2_0]={address:"0xeabbcb3e8e415306207ef514f660a3f820025be3",creationBlock:14377319},N[exports.UniversalRouterVersion.V2_1]={address:"0x77c0097c1acf6fd84878d3f7c0603e3f04e8bec7",creationBlock:27394047},N),swapProxy:ee},K[7777777]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(S={},S[exports.UniversalRouterVersion.V1_2]={address:"0x2986d9721A49838ab4297b695858aF7F17f38014",creationBlock:11832155},S[exports.UniversalRouterVersion.V2_0]={address:"0x3315ef7ca28db74abadc6c44570efdf06b04b020",creationBlock:25434544},S[exports.UniversalRouterVersion.V2_1]={address:"0x880853091b60f80301a0c1d2f9893c4993041295",creationBlock:38452170},S),swapProxy:ee},K[324]={weth:"0x5aea5775959fbc2557cc8789bc1bf90a239d9a91",routerConfigs:(O={},O[exports.UniversalRouterVersion.V1_2]={address:"0x28731BCC616B5f51dD52CF2e4dF0E78dD1136C06",creationBlock:12640979},O[exports.UniversalRouterVersion.V2_0]={address:"0x28731BCC616B5f51dD52CF2e4dF0E78dD1136C06",creationBlock:12640979},O[exports.UniversalRouterVersion.V2_1]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},O),swapProxy:ee},K[480]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(D={},D[exports.UniversalRouterVersion.V1_2]={address:"0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",creationBlock:4063979},D[exports.UniversalRouterVersion.V2_0]={address:"0x8ac7bee993bb44dab564ea4bc9ea67bf9eb5e743",creationBlock:9111895},D[exports.UniversalRouterVersion.V2_1]={address:"0x03c4f6b55733cdf3caa07c01e5b83ddee3381f60",creationBlock:22131418},D),swapProxy:ee},K[1301]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(F={},F[exports.UniversalRouterVersion.V1_2]={address:"0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6",creationBlock:1241811},F[exports.UniversalRouterVersion.V2_0]={address:"0xf70536b3bcc1bd1a972dc186a2cf84cc6da6be5d",creationBlock:7100543},F[exports.UniversalRouterVersion.V2_1]={address:"0x7F9B8D606E0F35E5073ABf93695814530b28a37b",creationBlock:36746405},F),swapProxy:ee},K[130]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(q={},q[exports.UniversalRouterVersion.V1_2]={address:"0x4D73A4411CA1c660035e4AECC8270E5DdDEC8C17",creationBlock:23678},q[exports.UniversalRouterVersion.V2_0]={address:"0xef740bf23acae26f6492b10de645d6b98dc8eaf3",creationBlock:6819690},q[exports.UniversalRouterVersion.V2_1]={address:"0xe6039ae5b44f90d56c6b029354fb22999861a9a0",creationBlock:32850661},q),swapProxy:ee},K[10143]={weth:"0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701",routerConfigs:(M={},M[exports.UniversalRouterVersion.V1_2]={address:"0x3ae6d8a282d67893e17aa70ebffb33ee5aa65893",creationBlock:23678},M[exports.UniversalRouterVersion.V2_0]={address:"0x3ae6d8a282d67893e17aa70ebffb33ee5aa65893",creationBlock:23678},M[exports.UniversalRouterVersion.V2_1]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},M),swapProxy:ee},K[84532]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(W={},W[exports.UniversalRouterVersion.V1_2]={address:"0x492e6456d9528771018deb9e87ef7750ef184104",creationBlock:20216585},W[exports.UniversalRouterVersion.V2_0]={address:"0x492e6456d9528771018deb9e87ef7750ef184104",creationBlock:20216585},W[exports.UniversalRouterVersion.V2_1]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},W),swapProxy:ee},K[1868]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(L={},L[exports.UniversalRouterVersion.V1_2]={address:"0x0e2850543f69f678257266e0907ff9a58b3f13de",creationBlock:3254782},L[exports.UniversalRouterVersion.V2_0]={address:"0x0e2850543f69f678257266e0907ff9a58b3f13de",creationBlock:3254782},L[exports.UniversalRouterVersion.V2_1]={address:"0xdb1d5986551c820bd0f3b1caca3e77ce03acb5ef",creationBlock:15232223},L),swapProxy:ee},K[143]={weth:"0x3bd359C1119dA7Da1D913D1C4D2B7c461115433A",routerConfigs:(X={},X[exports.UniversalRouterVersion.V1_2]={address:"0x0d97dc33264bfc1c226207428a79b26757fb9dc3",creationBlock:29255937},X[exports.UniversalRouterVersion.V2_0]={address:"0x0d97dc33264bfc1c226207428a79b26757fb9dc3",creationBlock:29255937},X[exports.UniversalRouterVersion.V2_1]={address:"0xBC2A036E5027b9AE57BbA847eF88E1b14823F7B1",creationBlock:36720825},X),swapProxy:ee},K[59144]={weth:"0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f",routerConfigs:(H={},H[exports.UniversalRouterVersion.V1_2]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},H[exports.UniversalRouterVersion.V2_0]={address:"0x661e93cca42afacb172121ef892830ca3b70f08d",creationBlock:1},H[exports.UniversalRouterVersion.V2_1]={address:"0xba548ce7a95f87bc66a0c7c6eab1e428735f8b57",creationBlock:1},H),swapProxy:ee},K[4217]={weth:"0x0000000000000000000000000000000000000000",routerConfigs:(j={},j[exports.UniversalRouterVersion.V1_2]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},j[exports.UniversalRouterVersion.V2_0]={address:"0x1febb76be10aaf3a1402f04e8e835f2c382f7914",creationBlock:1},j[exports.UniversalRouterVersion.V2_1]={address:"0xa2dc7d0266f0cc50b3eeaf36c9bfcecff1beea91",creationBlock:1},j),swapProxy:ee},K[196]={weth:"0xe538905cf8410324e03A5A23C1c177a474D59b2b",routerConfigs:(G={},G[exports.UniversalRouterVersion.V1_2]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},G[exports.UniversalRouterVersion.V2_0]={address:"0x5507749f2c558bb3e162c6e90c314c092e7372ff",creationBlock:47680350},G[exports.UniversalRouterVersion.V2_1]={address:"0x0000000000000000000000000000000000000000",creationBlock:1},G),swapProxy:ee},K),te=function(e,r){if(!(r in re))throw new Error("Universal Router not deployed on chain "+r);return re[r].routerConfigs[e].address},oe=function(e){if(!(e in re))throw new Error("Universal Router not deployed on chain "+e);if("0x0000000000000000000000000000000000000000"==re[e].weth)throw new Error("Chain "+e+" does not have WETH");return re[e].weth},ne=u.BigNumber.from(2).pow(255),ae="0x0000000000000000000000000000000000000000",se="0x0000000000000000000000000000000000000001",ie="0x0000000000000000000000000000000000000002";function ue(e){return e.isNative?ae:e.wrapped.address}(J=exports.TokenTransferMode||(exports.TokenTransferMode={})).Permit2="Permit2",J.ApproveProxy="ApproveProxy";var de=new c.Percent(50,100),pe=function(){function e(e,r){if(this.trade=e,this.options=r,this.tradeType=exports.RouterActionType.UniswapTrade,r.fee&&r.flatFee)throw new Error("Only one fee option permitted");if(r.tokenTransferMode===exports.TokenTransferMode.ApproveProxy){if(!r.recipient||r.recipient===se)throw new Error("Explicit recipient address required when using SwapProxy (SENDER_AS_RECIPIENT resolves to proxy)");this.payerIsUser=!1}else this.payerIsUser=!(this.inputRequiresWrap||this.inputRequiresUnwrap||this.options.useRouterBalance)}var r,t;return e.prototype.encode=function(e,r){var t;this.inputRequiresWrap?e.addCommand(exports.CommandType.WRAP_ETH,[ie,this.trade.maximumAmountIn(this.options.slippageTolerance).quotient.toString()]):this.inputRequiresUnwrap&&(this.options.tokenTransferMode!==exports.TokenTransferMode.ApproveProxy&&e.addCommand(exports.CommandType.PERMIT2_TRANSFER_FROM,[this.trade.inputAmount.currency.address,ie,this.trade.maximumAmountIn(this.options.slippageTolerance).quotient.toString()]),e.addCommand(exports.CommandType.UNWRAP_WETH,[ie,0])),this.options.recipient=null!=(t=this.options.recipient)?t:se;for(var o,n,a=this.trade.tradeType===c.TradeType.EXACT_INPUT&&this.trade.routes.length>2||this.outputRequiresTransition||!!(o=this.options).fee||!!o.flatFee,s=y(this.trade.swaps);!(n=s()).done;){var i=n.value;switch(i.route.protocol){case f.Protocol.V2:ce(e,i,this.trade.tradeType,this.options,this.payerIsUser,a);break;case f.Protocol.V3:me(e,i,this.trade.tradeType,this.options,this.payerIsUser,a);break;case f.Protocol.V4:le(e,i,this.trade.tradeType,this.options,this.payerIsUser,a);break;case f.Protocol.MIXED:fe(e,i,this.trade.tradeType,this.options,this.payerIsUser,a);break;default:throw new Error("UNSUPPORTED_TRADE_PROTOCOL")}}var p=u.BigNumber.from(this.trade.minimumAmountOut(this.options.slippageTolerance).quotient.toString());if(a){var m=this.trade.swaps[0].route.pools,l=ue($(this.trade.outputAmount.currency,m[m.length-1]));if(this.options.fee){var x=d.toHex(this.options.fee.fee.multiply(1e4).quotient);e.addCommand(exports.CommandType.PAY_PORTION,[l,this.options.fee.recipient,x]),this.trade.tradeType===c.TradeType.EXACT_OUTPUT&&(p=p.sub(p.mul(x).div(1e4)))}if(this.options.flatFee){var A=this.options.flatFee.amount;if(p.lt(A))throw new Error("Flat fee amount greater than minimumAmountOut");e.addCommand(exports.CommandType.TRANSFER,[l,this.options.flatFee.recipient,A]),this.trade.tradeType===c.TradeType.EXACT_OUTPUT&&(p=p.sub(A))}this.outputRequiresUnwrap?e.addCommand(exports.CommandType.UNWRAP_WETH,[this.options.recipient,p]):this.outputRequiresWrap?e.addCommand(exports.CommandType.WRAP_ETH,[this.options.recipient,ne]):e.addCommand(exports.CommandType.SWEEP,[ue(this.trade.outputAmount.currency),this.options.recipient,p])}(this.trade.tradeType===c.TradeType.EXACT_OUTPUT||this.trade.priceImpact.greaterThan(de))&&(this.inputRequiresWrap?e.addCommand(exports.CommandType.UNWRAP_WETH,[this.options.recipient,0]):this.inputRequiresUnwrap?e.addCommand(exports.CommandType.WRAP_ETH,[this.options.recipient,ne]):this.options.tokenTransferMode===exports.TokenTransferMode.ApproveProxy?e.addCommand(exports.CommandType.SWEEP,[ue(this.trade.inputAmount.currency),this.options.recipient,0]):this.trade.inputAmount.currency.isNative&&e.addCommand(exports.CommandType.SWEEP,[ae,this.options.recipient,0])),this.options.safeMode&&e.addCommand(exports.CommandType.SWEEP,[ae,this.options.recipient,0])},r=e,(t=[{key:"isAllV4",get:function(){for(var e,r=!0,t=y(this.trade.swaps);!(e=t()).done;)r=r&&e.value.route.protocol==f.Protocol.V4;return r}},{key:"inputRequiresWrap",get:function(){return this.trade.swaps[0].route.pools[0]instanceof p.Pool?this.trade.inputAmount.currency.isNative&&!this.trade.swaps[0].route.pathInput.isNative:this.trade.inputAmount.currency.isNative}},{key:"inputRequiresUnwrap",get:function(){return this.trade.swaps[0].route.pools[0]instanceof p.Pool&&!this.trade.inputAmount.currency.isNative&&this.trade.swaps[0].route.pathInput.isNative}},{key:"outputRequiresWrap",get:function(){var e=this.trade.swaps[0].route,r=e.pools[e.pools.length-1];if(r instanceof p.Pool&&!this.trade.outputAmount.currency.isNative){if(e.pathOutput.isNative)return!0;if(r.currency1.equals(r.currency0.wrapped)&&e.pools.length>1){var t=e.pools[e.pools.length-2];if(t instanceof p.Pool&&(t.currency0.equals(r.currency1)||t.currency1.equals(r.currency1)))return!0;if(t.token0.equals(r.currency1)||t.token1.equals(r.currency1))return!0}}return!1}},{key:"outputRequiresUnwrap",get:function(){var e=this.trade.swaps[0].route,r=e.pools[e.pools.length-1];return r instanceof p.Pool&&this.trade.outputAmount.currency.isNative?!this.trade.swaps[0].route.pathOutput.isNative||!!(e.pools.length>1&&e.pools[e.pools.length-2]instanceof p.Pool&&e.pools[e.pools.length-2].currency0.isNative&&r.currency1.equals(r.currency0.wrapped)):this.trade.outputAmount.currency.isNative}},{key:"outputRequiresTransition",get:function(){return this.outputRequiresWrap||this.outputRequiresUnwrap}}])&&function(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,A(o.key),o)}}(r.prototype,t),Object.defineProperty(r,"prototype",{writable:!1}),r}();function ce(e,r,t,o,n,a){var s=r.route,i=new l.Trade(s,t==c.TradeType.EXACT_INPUT?r.inputAmount:r.outputAmount,t);t==c.TradeType.EXACT_INPUT?e.addCommand(exports.CommandType.V2_SWAP_EXACT_IN,[a?ie:o.recipient,i.maximumAmountIn(o.slippageTolerance).quotient.toString(),a?0:i.minimumAmountOut(o.slippageTolerance).quotient.toString(),s.path.map((function(e){return e.wrapped.address})),n]):t==c.TradeType.EXACT_OUTPUT&&e.addCommand(exports.CommandType.V2_SWAP_EXACT_OUT,[a?ie:o.recipient,i.minimumAmountOut(o.slippageTolerance).quotient.toString(),i.maximumAmountIn(o.slippageTolerance).quotient.toString(),s.path.map((function(e){return e.wrapped.address})),n])}function me(e,r,t,o,n,a){var s=r.route,i=d.Trade.createUncheckedTrade({route:s,inputAmount:r.inputAmount,outputAmount:r.outputAmount,tradeType:t}),u=d.encodeRouteToPath(s,i.tradeType===c.TradeType.EXACT_OUTPUT);t==c.TradeType.EXACT_INPUT?e.addCommand(exports.CommandType.V3_SWAP_EXACT_IN,[a?ie:o.recipient,i.maximumAmountIn(o.slippageTolerance).quotient.toString(),a?0:i.minimumAmountOut(o.slippageTolerance).quotient.toString(),u,n]):t==c.TradeType.EXACT_OUTPUT&&e.addCommand(exports.CommandType.V3_SWAP_EXACT_OUT,[a?ie:o.recipient,i.minimumAmountOut(o.slippageTolerance).quotient.toString(),i.maximumAmountIn(o.slippageTolerance).quotient.toString(),u,n])}function le(e,r,t,o,n,a){var s,i=r.inputAmount,u=r.outputAmount,d=r.route.pools.map((function(e){return e})),m=new p.Route(d,i.currency,u.currency),l=p.Trade.createUncheckedTrade({route:m,inputAmount:i,outputAmount:u,tradeType:t}),f=a&&t==c.TradeType.EXACT_INPUT?void 0:o.slippageTolerance,x=new p.V4Planner;x.addTrade(l,f,o.maxHopSlippage,o.urVersion),x.addSettle(l.route.pathInput,n);var y=l.route.pathOutput,A=m.pools[m.pools.length-1];if(A.currency1.equals(A.currency0.wrapped)&&m.pools.length>1){var T=m.pools[m.pools.length-2];y.isNative&&T.currency0.isNative?y=y.wrapped:y.isNative||!T.currency0.equals(A.currency1)&&!T.currency1.equals(A.currency1)||(y=A.currency0)}x.addTake(y,a?ie:null!=(s=o.recipient)?s:se),e.addCommand(exports.CommandType.V4_SWAP,[x.finalize()])}function fe(e,r,t,o,n,a){var s,i=r.route,u=r.inputAmount,c=r.outputAmount,m=a?ie:null!=(s=o.recipient)?s:se;if(1===i.pools.length){if(i.pools[0]instanceof p.Pool)return le(e,r,t,o,n,a);if(i.pools[0]instanceof d.Pool)return me(e,r,t,o,n,a);if(i.pools[0]instanceof l.Pair)return ce(e,r,t,o,n,a);throw new Error("Invalid route type")}for(var x=f.MixedRouteTrade.createUncheckedTrade({route:i,inputAmount:u,outputAmount:c,tradeType:t}),y=x.maximumAmountIn(o.slippageTolerance,u).quotient.toString(),A=a?0:x.minimumAmountOut(o.slippageTolerance,c).quotient.toString(),T=f.partitionMixedRouteByProtocol(i),C=function(e){return e===T.length-1},v=i.pathInput,P=0;P<T.length;P++){var _=T[P],b=_[0],R=f.getOutputOfPools(_,v),h=new f.MixedRoute(new f.MixedRouteSDK([].concat(_),v,R)),E=void 0,V=void 0;if(C(P))E=R,V=m;else{var w=T[P+1][0];E=$(R,w),V=w instanceof l.Pair&&R.equals(E)?w.liquidityToken.address:ie}if(b instanceof p.Pool){var g=new p.V4Planner,k=new p.Route(_,h.input,h.output);g.addSettle(v,n&&0===P,0==P?y:ne),g.addAction(p.Actions.SWAP_EXACT_IN,[{currencyIn:v.isNative?ae:v.address,path:p.encodeRouteToPath(k),maxHopSlippage:o.maxHopSlippage||[],amountIn:0,amountOutMinimum:C(P)?A:0}],o.urVersion);var I=R;if(C(P)){var U=i.pools[i.pools.length-1],B=!!(U instanceof p.Pool)&&U.currency1.equals(U.currency0.wrapped),N=i.pools[i.pools.length-2];B&&(R.isNative&&N.token0.isNative?I=R.wrapped:R.isNative||!N.token0.equals(U.token1)&&!N.token1.equals(U.token1)||(I=U.token0))}g.addTake(I,V),e.addCommand(exports.CommandType.V4_SWAP,[g.finalize()])}else if(b instanceof d.Pool)e.addCommand(exports.CommandType.V3_SWAP_EXACT_IN,[V,0==P?y:ne,C(P)?A:0,f.encodeMixedRouteToPath(h),n&&0===P]);else{if(!(b instanceof l.Pair))throw new Error("Unexpected Pool Type");e.addCommand(exports.CommandType.V2_SWAP_EXACT_IN,[V,0===P?y:ne,C(P)?A:0,h.path.map((function(e){return e.wrapped.address})),n&&0===P])}C(P)||(R.isNative&&!E.isNative?e.addCommand(exports.CommandType.WRAP_ETH,[ie,ne]):!R.isNative&&E.isNative&&e.addCommand(exports.CommandType.UNWRAP_WETH,[ie,0])),v=E}}function xe(e,r){var t=r.signature,o=u.ethers.utils.arrayify(r.signature).length;65!==o&&64!==o||(t=u.ethers.utils.joinSignature(u.ethers.utils.splitSignature(r.signature))),e.addCommand(exports.CommandType.PERMIT2_PERMIT,[r,t])}var ye={ExecuteSigned:[{name:"commands",type:"bytes"},{name:"inputs",type:"bytes[]"},{name:"intent",type:"bytes32"},{name:"data",type:"bytes32"},{name:"sender",type:"address"},{name:"nonce",type:"bytes32"},{name:"deadline",type:"uint256"}]};function Ae(e,r){return{name:"UniversalRouter",version:"2",chainId:e,verifyingContract:r}}function Te(){var e=u.ethers.utils.randomBytes(32);return u.ethers.utils.hexlify(e)}var Ce,ve="0x"+"f".repeat(64),Pe=((Ce={})[p.URVersion.V2_0]=exports.UniversalRouterVersion.V2_0,Ce[p.URVersion.V2_1]=exports.UniversalRouterVersion.V2_1,Ce),_e=function(){function e(){}return e.swapCallParameters=function(r,t,o){var n=new Q,s=new pe(r,t),i=s.trade.inputAmount.currency;t.tokenTransferMode===exports.TokenTransferMode.ApproveProxy?(i.isNative&&a(!1),t.chainId||a(!1),t.inputTokenPermit&&a(!1)):(i.isNative&&t.inputTokenPermit&&a(!1),t.inputTokenPermit&&xe(n,t.inputTokenPermit));var d=u.BigNumber.from(i.isNative?s.trade.maximumAmountIn(t.slippageTolerance).quotient.toString():0);if(s.encode(n,{allowRevert:!1}),o)for(var p,c=y(o);!(p=c()).done;)n.addAcrossBridge(p.value);return t.tokenTransferMode===exports.TokenTransferMode.ApproveProxy?e.encodeProxyPlan(n,s,t):e.encodePlan(n,d,{deadline:t.deadlineOrPreviousBlockhash?u.BigNumber.from(t.deadlineOrPreviousBlockhash):void 0})},e.getExecuteSignedPayload=function(r,t,o,n,a){var s,i,d;try{i=(s=e.INTERFACE.decodeFunctionData("execute(bytes,bytes[],uint256)",r)).commands,d=s.inputs}catch(t){i=(s=e.INTERFACE.decodeFunctionData("execute(bytes,bytes[])",r)).commands,d=s.inputs}var p=t.nonce||Te(),c=t.sender,m=Ae(n,a),l=t.intent,f=t.data,x=u.BigNumber.from(o).toString();return{domain:m,types:ye,value:{commands:i,inputs:d,intent:l,data:f,sender:c,nonce:p,deadline:x}}},e.encodeExecuteSigned=function(r,t,o,n,a){var s,i,d;void 0===a&&(a=u.BigNumber.from(0));try{i=(s=e.INTERFACE.decodeFunctionData("execute(bytes,bytes[],uint256)",r)).commands,d=s.inputs}catch(t){i=(s=e.INTERFACE.decodeFunctionData("execute(bytes,bytes[])",r)).commands,d=s.inputs}if(!o.nonce)throw new Error("Nonce is required for encodeExecuteSigned - use the nonce from getExecuteSignedPayload");return{calldata:e.INTERFACE.encodeFunctionData("executeSigned",[i,d,o.intent,o.data,"0x0000000000000000000000000000000000000000"!==o.sender,o.nonce,t,n]),value:a.toHexString()}},e.migrateV3ToV4CallParameters=function(r,t){var o=r.outputPosition.pool,n=r.inputPosition.pool.token0,s=r.inputPosition.pool.token1,i=null!=t?t:c.CHAIN_TO_ADDRESSES_MAP[o.chainId].v4PositionManagerAddress;o.currency0.isNative?o.currency0.wrapped.equals(n)&&o.currency1.equals(s)||o.currency0.wrapped.equals(s)&&o.currency1.equals(n)||a(!1):(n!==o.token0&&a(!1),s!==o.token1&&a(!1)),r.v3RemoveLiquidityOptions.liquidityPercentage.equalTo(new c.Percent(100,100))||a(!1),1!=r.v3RemoveLiquidityOptions.burnToken&&a(!1),r.v3RemoveLiquidityOptions.collectOptions.recipient!==i&&a(!1),!function(e){return Object.keys(e).some((function(e){return"recipient"===e}))}(r.v4AddLiquidityOptions)&&a(!1),r.v4AddLiquidityOptions.migrate||a(!1);var m=new Q;if(r.v4AddLiquidityOptions.createPool){var l=p.Pool.getPoolKey(o.currency0,o.currency1,o.fee,o.tickSpacing,o.hooks);m.addCommand(exports.CommandType.V4_INITIALIZE_POOL,[l,o.sqrtRatioX96.toString()]),delete r.v4AddLiquidityOptions.createPool}r.v3RemoveLiquidityOptions.permit&&(te(exports.UniversalRouterVersion.V2_0,r.inputPosition.pool.chainId)!=r.v3RemoveLiquidityOptions.permit.spender&&a(!1),function(e,r,t){var o=d.NonfungiblePositionManager.INTERFACE.encodeFunctionData("permit",[c.validateAndParseAddress(r.spender),t,r.deadline,r.v,r.r,r.s]);e.addCommand(exports.CommandType.V3_POSITION_MANAGER_PERMIT,[o])}(m,r.v3RemoveLiquidityOptions.permit,r.v3RemoveLiquidityOptions.tokenId),delete r.v3RemoveLiquidityOptions.permit);for(var f,x=d.NonfungiblePositionManager.removeCallParameters(r.inputPosition,r.v3RemoveLiquidityOptions),A=y(d.Multicall.decodeMulticall(x.calldata));!(f=A()).done;){var T=f.value,C=T.slice(0,10);C!=d.NonfungiblePositionManager.INTERFACE.getSighash("collect")&&C!=d.NonfungiblePositionManager.INTERFACE.getSighash("decreaseLiquidity")&&C!=d.NonfungiblePositionManager.INTERFACE.getSighash("burn")&&a(!1),m.addCommand(exports.CommandType.V3_POSITION_MANAGER_CALL,[T])}var v=p.V4PositionManager.addCallParameters(r.outputPosition,r.v4AddLiquidityOptions);return v.calldata.slice(0,10)!=p.V4PositionManager.INTERFACE.getSighash("modifyLiquidities")&&a(!1),m.addCommand(exports.CommandType.V4_POSITION_MANAGER_CALL,[v.calldata]),e.encodePlan(m,u.BigNumber.from(0),{deadline:u.BigNumber.from(r.v4AddLiquidityOptions.deadline)})},e.encodePlan=function(r,t,o){void 0===o&&(o={});var n=r.commands,a=r.inputs;return{calldata:e.INTERFACE.encodeFunctionData(o.deadline?"execute(bytes,bytes[],uint256)":"execute(bytes,bytes[])",o.deadline?[n,a,o.deadline]:[n,a]),value:t.toHexString()}},e.encodeProxyPlan=function(r,t,o){var n,a=r.commands,s=r.inputs,i=null!=(n=function(e){if(void 0!==e){var r=Pe[e];if(!r)throw new Error("Unsupported URVersion: "+e);return r}}(o.urVersion))?n:exports.UniversalRouterVersion.V2_0,d=te(i,o.chainId),p=t.trade.inputAmount.currency.address,c=u.BigNumber.from(t.trade.maximumAmountIn(o.slippageTolerance).quotient.toString()),m=u.BigNumber.from(o.deadlineOrPreviousBlockhash?o.deadlineOrPreviousBlockhash:Math.floor(Date.now()/1e3)+1800);return{calldata:e.PROXY_INTERFACE.encodeFunctionData("execute",[d,p,c,a,s,m]),value:u.BigNumber.from(0).toHexString()}},e}();_e.INTERFACE=new i.Interface(s.abi),_e.PROXY_INTERFACE=new i.Interface(["function execute(address router, address token, uint256 amount, bytes calldata commands, bytes[] calldata inputs, uint256 deadline) external"]);var be,Re=function(){function e(e,r,t){this.tradeType=exports.RouterActionType.UnwrapWETH,this.wethAddress=oe(r),this.amount=e,t&&(t.details.token.toLowerCase()!==this.wethAddress.toLowerCase()&&a(!1),t.details.amount>=e||a(!1),this.permit2Data=t)}return e.prototype.encode=function(e,r){!function(e,r){r.permit2TransferFrom&&r.permit2Permit&&r.permit2TransferFrom.token!==r.permit2Permit.details.token&&a(!1),r.permit2Permit&&xe(e,r.permit2Permit),r.permit2TransferFrom&&e.addCommand(exports.CommandType.PERMIT2_TRANSFER_FROM,[r.permit2TransferFrom.token,r.permit2TransferFrom.recipient?r.permit2TransferFrom.recipient:ie,r.permit2TransferFrom.amount])}(e,{permit2Permit:this.permit2Data,permit2TransferFrom:{token:this.wethAddress,amount:this.amount.toString()}}),e.addCommand(exports.CommandType.UNWRAP_WETH,[ie,this.amount])},e}();(be=exports.PoolType||(exports.PoolType={})).V2Pool="v2-pool",be.V3Pool="v3-pool",be.V4Pool="v4-pool";var he=function(e){return e.toLowerCase()===ae.toLowerCase()||e.toLowerCase()==="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee".toLowerCase()},Ee=function(){function e(){}return e.fromClassicQuote=function(r){var t=r.route,o=r.tokenIn,n=r.tokenOut;if(!t)throw new Error("Expected route to be present");if(!t.length)throw new Error("Expected there to be at least one route");if(t.some((function(e){return!e.length})))throw new Error("Expected all routes to have at least one pool");var a=t[0],s=a[0].tokenIn,i=a[a.length-1].tokenOut;if(!s||!i)throw new Error("Expected both tokenIn and tokenOut to be present");if(s.chainId!==i.chainId)throw new Error("Expected tokenIn and tokenOut to be have same chainId");var u=e.toCurrency(he(o),s),m=e.toCurrency(he(n),i),x=t.map((function(r){var t=r[0].amountIn,o=r[r.length-1].amountOut;if(!t||!o)throw new Error("Expected both raw amountIn and raw amountOut to be present");var n=c.CurrencyAmount.fromRawAmount(u,t),a=c.CurrencyAmount.fromRawAmount(m,o),s=e.isVersionedRoute(exports.PoolType.V2Pool,r),i=e.isVersionedRoute(exports.PoolType.V3Pool,r),x=e.isVersionedRoute(exports.PoolType.V4Pool,r);return{routev4:x?new p.Route(r.map(e.toV4Pool),u,m):null,routev3:i?new d.Route(r.map(e.toV3Pool),u,m):null,routev2:s?new l.Route(r.map(e.toPair),u,m):null,mixedRoute:x||i||s?null:new f.MixedRouteSDK(r.map(e.toPoolOrPair),u,m),inputAmount:n,outputAmount:a}}));return new f.Trade({v2Routes:x.filter((function(e){return e.routev2})).map((function(e){return{routev2:e.routev2,inputAmount:e.inputAmount,outputAmount:e.outputAmount}})),v3Routes:x.filter((function(e){return e.routev3})).map((function(e){return{routev3:e.routev3,inputAmount:e.inputAmount,outputAmount:e.outputAmount}})),v4Routes:x.filter((function(e){return e.routev4})).map((function(e){return{routev4:e.routev4,inputAmount:e.inputAmount,outputAmount:e.outputAmount}})),mixedRoutes:x.filter((function(e){return e.mixedRoute})).map((function(e){return{mixedRoute:e.mixedRoute,inputAmount:e.inputAmount,outputAmount:e.outputAmount}})),tradeType:r.tradeType})},e.toCurrency=function(e,r){return e?c.Ether.onChain(r.chainId):this.toToken(r)},e.toToken=function(e){var r=e.symbol,t=e.buyFeeBps,o=e.sellFeeBps;return new c.Token(e.chainId,e.address,parseInt(e.decimals.toString()),r,void 0,!1,t?u.BigNumber.from(t):void 0,o?u.BigNumber.from(o):void 0)},e.toV3Pool=function(r){var t=r.fee,o=r.sqrtRatioX96,n=r.liquidity,a=r.tickCurrent,s=r.tokenOut;return new d.Pool(e.toToken(r.tokenIn),e.toToken(s),parseInt(t),o,n,parseInt(a))},e.toV4Pool=function(r){var t=e.toCurrency(he(r.tokenIn.address),r.tokenIn),o=e.toCurrency(he(r.tokenOut.address),r.tokenOut);return new p.Pool(t,o,parseInt(r.fee),parseInt(r.tickSpacing),r.hooks,r.sqrtRatioX96,r.liquidity,parseInt(r.tickCurrent))},e.isVersionedRoute=function(e,r){return r.every((function(r){return r.type===e}))},e}();Ee.toPoolOrPair=function(e){switch(e.type){case exports.PoolType.V4Pool:return Ee.toV4Pool(e);case exports.PoolType.V3Pool:return Ee.toV3Pool(e);case exports.PoolType.V2Pool:return Ee.toPair(e);default:throw new Error("Invalid pool type")}},Ee.toPair=function(e){var r=e.reserve0,t=e.reserve1;return new l.Pair(c.CurrencyAmount.fromRawAmount(Ee.toToken(r.token),r.quotient),c.CurrencyAmount.fromRawAmount(Ee.toToken(t.token),t.quotient))};var Ve=function(){function e(){}return e.parseCalldata=function(r){var t=new we(z),o=e.INTERFACE.parseTransaction({data:r}).args;return t.parse(o.commands,o.inputs)},e}();Ve.INTERFACE=new i.Interface(s.abi);var we=function(){function e(e){this.commandDefinition=e}return e.prototype.parse=function(r,t){var o=this;return{commands:e.getCommands(r).map((function(e,r){var n,a=o.commandDefinition[e];if(a.parser===exports.Parser.V4Actions){var s=p.V4BaseActionsParser.parseCalldata(t[r]);return{commandName:exports.CommandType[e],commandType:e,params:(n=s.actions,n.map((function(e){return{name:e.actionName,value:e.params.map((function(e){return{name:e.name,value:e.value}}))}})))}}if(a.parser===exports.Parser.Abi){var i=a.params,d=u.ethers.utils.defaultAbiCoder.decode(i.map((function(e){return e.type})),t[r]).map((function(e,r){switch(i[r].subparser){case exports.Subparser.V3PathExactIn:return{name:i[r].name,value:ge(e)};case exports.Subparser.V3PathExactOut:return{name:i[r].name,value:ke(e)};default:return{name:i[r].name,value:e}}}));return{commandName:exports.CommandType[e],commandType:e,params:d}}if(a.parser===exports.Parser.V3Actions)return{commandName:exports.CommandType[e],commandType:e,params:t.map((function(e){return{name:"command",value:e}}))};throw new Error("Unsupported parser: "+a)}))}},e.getCommands=function(e){for(var r=[],t=2;t<e.length;t+=2){var o=e.substring(t,t+2);r.push(parseInt(o,16))}return r},e}();function ge(e){for(var r=e.replace("0x",""),t=u.ethers.utils.getAddress(r.substring(0,40)),o=40,n=[];o<r.length;){var a=r.substring(o,o+46),s=parseInt(a.substring(0,6),16),i=u.ethers.utils.getAddress(a.substring(6,46));n.push({tokenIn:t,tokenOut:i,fee:s}),t=i,o+=46}return n}function ke(e){for(var r=e.replace("0x",""),t=u.ethers.utils.getAddress(r.substring(r.length-40)),o=r.length-86,n=[];o>=0;){var a=r.substring(o,o+46),s=u.ethers.utils.getAddress(a.substring(0,40)),i=parseInt(a.substring(40,46),16);n.push({tokenIn:t,tokenOut:s,fee:i}),t=s,o-=46}return n}Object.defineProperty(exports,"URVersion",{enumerable:!0,get:function(){return p.URVersion}}),exports.COMMAND_DEFINITION=z,exports.CONTRACT_BALANCE=ne,exports.CommandParser=Ve,exports.EXECUTE_SIGNED_TYPES=ye,exports.GenericCommandParser=we,exports.NONCE_SKIP_CHECK=ve,exports.ROUTER_AS_RECIPIENT=ie,exports.RoutePlanner=Q,exports.RouterTradeAdapter=Ee,exports.SWAP_PROXY_ADDRESS=function(e){if(!(e in re))throw new Error("SwapProxy not deployed on chain "+e);var r=re[e].swapProxy;if(!r)throw new Error("SwapProxy not configured for chain "+e);return r},exports.SwapRouter=_e,exports.UNIVERSAL_ROUTER_ADDRESS=te,exports.UNIVERSAL_ROUTER_CREATION_BLOCK=function(e,r){if(!(r in re))throw new Error("Universal Router not deployed on chain "+r);return re[r].routerConfigs[e].creationBlock},exports.UniswapTrade=pe,exports.UnwrapWETH=Re,exports.WETH_ADDRESS=oe,exports.generateNonce=Te,exports.getUniversalRouterDomain=Ae,exports.isNativeCurrency=he;
2
2
  //# sourceMappingURL=universal-router-sdk.cjs.production.min.js.map