@uniswap/universal-router-sdk 3.0.3 → 3.1.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.
- package/README.md +3 -77
- package/dist/entities/Command.d.ts +2 -3
- package/dist/entities/actions/index.d.ts +2 -0
- package/dist/entities/{protocols → actions}/uniswap.d.ts +2 -2
- package/dist/entities/{protocols → actions}/unwrapWETH.d.ts +2 -2
- package/dist/entities/index.d.ts +1 -2
- package/dist/swapRouter.d.ts +2 -20
- package/dist/universal-router-sdk.cjs.development.js +15 -10077
- package/dist/universal-router-sdk.cjs.development.js.map +1 -1
- package/dist/universal-router-sdk.cjs.production.min.js +1 -1
- package/dist/universal-router-sdk.cjs.production.min.js.map +1 -1
- package/dist/universal-router-sdk.esm.js +17 -10072
- package/dist/universal-router-sdk.esm.js.map +1 -1
- package/dist/utils/constants.d.ts +0 -2
- package/dist/utils/inputTokens.d.ts +0 -1
- package/dist/utils/routerCommands.d.ts +4 -17
- package/package.json +7 -5
- package/dist/entities/NFTTrade.d.ts +0 -44
- package/dist/entities/protocols/cryptopunk.d.ts +0 -16
- package/dist/entities/protocols/element-market.d.ts +0 -44
- package/dist/entities/protocols/foundation.d.ts +0 -19
- package/dist/entities/protocols/index.d.ts +0 -10
- package/dist/entities/protocols/looksRareV2.d.ts +0 -56
- package/dist/entities/protocols/nft20.d.ts +0 -21
- package/dist/entities/protocols/nftx.d.ts +0 -20
- package/dist/entities/protocols/seaport.d.ts +0 -69
- package/dist/entities/protocols/sudoswap.d.ts +0 -27
- package/dist/entities/protocols/x2y2.d.ts +0 -28
- package/dist/test/orders/element.d.ts +0 -7
- package/dist/test/orders/looksRareV2.d.ts +0 -2
- package/dist/test/orders/seaportV1_4.d.ts +0 -4
- package/dist/test/orders/seaportV1_5.d.ts +0 -4
- package/dist/test/orders/x2y2.d.ts +0 -6
- package/dist/utils/getNativeCurrencyValue.d.ts +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t,n=(e=require("tiny-invariant"))&&"object"==typeof e&&"default"in e?e.default:e,a=require("@uniswap/universal-router/artifacts/contracts/UniversalRouter.sol/UniversalRouter.json"),r=require("@ethersproject/abi"),i=require("ethers"),p=require("ethers/lib/utils"),s=require("@uniswap/v2-sdk"),y=require("@uniswap/v3-sdk"),o=require("@uniswap/router-sdk"),u=require("@uniswap/sdk-core");function d(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,"string");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}function m(){return(m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(this,arguments)}function l(e,t){var n,a;e.prototype=Object.create(t.prototype),e.prototype.constructor=e,n=e,a=t,(Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(n,a)}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}function c(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return T(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?T(e,void 0):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}require("jsbi"),require("bignumber.js"),(t=exports.RouterTradeType||(exports.RouterTradeType={})).UniswapTrade="UniswapTrade",t.NFTTrade="NFTTrade",t.UnwrapWETH="UnwrapWETH";var f,b,C,v,x=function(e,t){this.tradeType=exports.RouterTradeType.NFTTrade,t.length>0||n(!1),this.market=e,this.orders=t};(f=exports.Market||(exports.Market={})).Foundation="foundation",f.LooksRareV2="looksrareV2",f.NFT20="nft20",f.NFTX="nftx",f.Seaport="seaport",f.Sudoswap="Sudoswap",f.Cryptopunks="cryptopunks",f.X2Y2="x2y2",f.Element="element",(b=exports.TokenType||(exports.TokenType={})).ERC721="ERC721",b.ERC1155="ERC1155",b.Cryptopunk="Cryptopunk",(v=exports.CommandType||(exports.CommandType={}))[v.V3_SWAP_EXACT_IN=0]="V3_SWAP_EXACT_IN",v[v.V3_SWAP_EXACT_OUT=1]="V3_SWAP_EXACT_OUT",v[v.PERMIT2_TRANSFER_FROM=2]="PERMIT2_TRANSFER_FROM",v[v.PERMIT2_PERMIT_BATCH=3]="PERMIT2_PERMIT_BATCH",v[v.SWEEP=4]="SWEEP",v[v.TRANSFER=5]="TRANSFER",v[v.PAY_PORTION=6]="PAY_PORTION",v[v.V2_SWAP_EXACT_IN=8]="V2_SWAP_EXACT_IN",v[v.V2_SWAP_EXACT_OUT=9]="V2_SWAP_EXACT_OUT",v[v.PERMIT2_PERMIT=10]="PERMIT2_PERMIT",v[v.WRAP_ETH=11]="WRAP_ETH",v[v.UNWRAP_WETH=12]="UNWRAP_WETH",v[v.PERMIT2_TRANSFER_FROM_BATCH=13]="PERMIT2_TRANSFER_FROM_BATCH",v[v.BALANCE_CHECK_ERC20=14]="BALANCE_CHECK_ERC20",v[v.SEAPORT_V1_5=16]="SEAPORT_V1_5",v[v.LOOKS_RARE_V2=17]="LOOKS_RARE_V2",v[v.NFTX=18]="NFTX",v[v.CRYPTOPUNKS=19]="CRYPTOPUNKS",v[v.OWNER_CHECK_721=21]="OWNER_CHECK_721",v[v.OWNER_CHECK_1155=22]="OWNER_CHECK_1155",v[v.SWEEP_ERC721=23]="SWEEP_ERC721",v[v.X2Y2_721=24]="X2Y2_721",v[v.SUDOSWAP=25]="SUDOSWAP",v[v.NFT20=26]="NFT20",v[v.X2Y2_1155=27]="X2Y2_1155",v[v.FOUNDATION=28]="FOUNDATION",v[v.SWEEP_ERC1155=29]="SWEEP_ERC1155",v[v.ELEMENT_MARKET=30]="ELEMENT_MARKET",v[v.SEAPORT_V1_4=32]="SEAPORT_V1_4",v[v.EXECUTE_SUB_PLAN=33]="EXECUTE_SUB_PLAN",v[v.APPROVE_ERC20=34]="APPROVE_ERC20";var A,R,I,_,S,k,M,w,E,P,F,h,O,g,N,V,B,U,D,L,H=new Set([exports.CommandType.SEAPORT_V1_5,exports.CommandType.SEAPORT_V1_4,exports.CommandType.NFTX,exports.CommandType.LOOKS_RARE_V2,exports.CommandType.X2Y2_721,exports.CommandType.X2Y2_1155,exports.CommandType.FOUNDATION,exports.CommandType.SUDOSWAP,exports.CommandType.NFT20,exports.CommandType.EXECUTE_SUB_PLAN,exports.CommandType.CRYPTOPUNKS,exports.CommandType.ELEMENT_MARKET]),W=((C={})[exports.CommandType.EXECUTE_SUB_PLAN]=["bytes","bytes[]"],C[exports.CommandType.PERMIT2_PERMIT]=["((address token,uint160 amount,uint48 expiration,uint48 nonce) details,address spender,uint256 sigDeadline)","bytes"],C[exports.CommandType.PERMIT2_PERMIT_BATCH]=["((address token,uint160 amount,uint48 expiration,uint48 nonce)[] details,address spender,uint256 sigDeadline)","bytes"],C[exports.CommandType.PERMIT2_TRANSFER_FROM]=["address","address","uint160"],C[exports.CommandType.PERMIT2_TRANSFER_FROM_BATCH]=["(address from,address to,uint160 amount,address token)[]"],C[exports.CommandType.V3_SWAP_EXACT_IN]=["address","uint256","uint256","bytes","bool"],C[exports.CommandType.V3_SWAP_EXACT_OUT]=["address","uint256","uint256","bytes","bool"],C[exports.CommandType.V2_SWAP_EXACT_IN]=["address","uint256","uint256","address[]","bool"],C[exports.CommandType.V2_SWAP_EXACT_OUT]=["address","uint256","uint256","address[]","bool"],C[exports.CommandType.WRAP_ETH]=["address","uint256"],C[exports.CommandType.UNWRAP_WETH]=["address","uint256"],C[exports.CommandType.SWEEP]=["address","address","uint256"],C[exports.CommandType.SWEEP_ERC721]=["address","address","uint256"],C[exports.CommandType.SWEEP_ERC1155]=["address","address","uint256","uint256"],C[exports.CommandType.TRANSFER]=["address","address","uint256"],C[exports.CommandType.PAY_PORTION]=["address","address","uint256"],C[exports.CommandType.BALANCE_CHECK_ERC20]=["address","address","uint256"],C[exports.CommandType.OWNER_CHECK_721]=["address","address","uint256"],C[exports.CommandType.OWNER_CHECK_1155]=["address","address","uint256","uint256"],C[exports.CommandType.APPROVE_ERC20]=["address","uint256"],C[exports.CommandType.SEAPORT_V1_5]=["uint256","bytes"],C[exports.CommandType.SEAPORT_V1_4]=["uint256","bytes"],C[exports.CommandType.NFTX]=["uint256","bytes"],C[exports.CommandType.LOOKS_RARE_V2]=["uint256","bytes"],C[exports.CommandType.X2Y2_721]=["uint256","bytes","address","address","uint256"],C[exports.CommandType.X2Y2_1155]=["uint256","bytes","address","address","uint256","uint256"],C[exports.CommandType.FOUNDATION]=["uint256","bytes","address","address","uint256"],C[exports.CommandType.SUDOSWAP]=["uint256","bytes"],C[exports.CommandType.NFT20]=["uint256","bytes"],C[exports.CommandType.CRYPTOPUNKS]=["uint256","address","uint256"],C[exports.CommandType.ELEMENT_MARKET]=["uint256","bytes"],C),X=function(){function e(){this.commands="0x",this.inputs=[]}var t=e.prototype;return t.addSubPlan=function(e){this.addCommand(exports.CommandType.EXECUTE_SUB_PLAN,[e.commands,e.inputs],!0)},t.addCommand=function(e,t,n){void 0===n&&(n=!1);var a=function(e,t){return{type:e,encodedInput:p.defaultAbiCoder.encode(W[e],t)}}(e,t);if(this.inputs.push(a.encodedInput),n){if(!H.has(a.type))throw new Error("command type: "+a.type+" cannot be allowed to revert");a.type=128|a.type}this.commands=this.commands.concat(a.type.toString(16).padStart(2,"0"))},e}();(L=exports.UniversalRouterVersion||(exports.UniversalRouterVersion={})).V1_2="1.2",L.V2_0="2.0";var K=((D={})[1]={weth:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",routerConfigs:(A={},A[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:17143817},A[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:17143817},A)},D[5]={weth:"0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6",routerConfigs:(R={},R[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:8940568},R[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:8940568},R)},D[11155111]={weth:"0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14",routerConfigs:(I={},I[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:3543575},I[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:3543575},I)},D[137]={weth:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",routerConfigs:(_={},_[exports.UniversalRouterVersion.V1_2]={address:"0xec7BE89e9d109e7e3Fec59c222CF297125FEFda2",creationBlock:52210153},_[exports.UniversalRouterVersion.V2_0]={address:"0xec7BE89e9d109e7e3Fec59c222CF297125FEFda2",creationBlock:52210153},_)},D[80001]={weth:"0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889",routerConfigs:(S={},S[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:35176052},S[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:35176052},S)},D[10]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(k={},k[exports.UniversalRouterVersion.V1_2]={address:"0xCb1355ff08Ab38bBCE60111F1bb2B784bE25D7e8",creationBlock:114702266},k[exports.UniversalRouterVersion.V2_0]={address:"0xCb1355ff08Ab38bBCE60111F1bb2B784bE25D7e8",creationBlock:114702266},k)},D[420]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(M={},M[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:8887728},M[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:8887728},M)},D[42161]={weth:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",routerConfigs:(w={},w[exports.UniversalRouterVersion.V1_2]={address:"0x5E325eDA8064b456f4781070C0738d849c824258",creationBlock:169472836},w[exports.UniversalRouterVersion.V2_0]={address:"0x5E325eDA8064b456f4781070C0738d849c824258",creationBlock:169472836},w)},D[421613]={weth:"0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3",routerConfigs:(E={},E[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:18815277},E[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:18815277},E)},D[42220]={weth:"0x0000000000000000000000000000000000000000",routerConfigs:(P={},P[exports.UniversalRouterVersion.V1_2]={address:"0x643770e279d5d0733f21d6dc03a8efbabf3255b4",creationBlock:21407637},P[exports.UniversalRouterVersion.V2_0]={address:"0x643770e279d5d0733f21d6dc03a8efbabf3255b4",creationBlock:21407637},P)},D[44787]={weth:"0x0000000000000000000000000000000000000000",routerConfigs:(F={},F[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:17566658},F[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:17566658},F)},D[56]={weth:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",routerConfigs:(h={},h[exports.UniversalRouterVersion.V1_2]={address:"0x4Dae2f939ACf50408e13d58534Ff8c2776d45265",creationBlock:35160263},h[exports.UniversalRouterVersion.V2_0]={address:"0x4Dae2f939ACf50408e13d58534Ff8c2776d45265",creationBlock:35160263},h)},D[43114]={weth:"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",routerConfigs:(O={},O[exports.UniversalRouterVersion.V1_2]={address:"0x4Dae2f939ACf50408e13d58534Ff8c2776d45265",creationBlock:40237257},O[exports.UniversalRouterVersion.V2_0]={address:"0x4Dae2f939ACf50408e13d58534Ff8c2776d45265",creationBlock:40237257},O)},D[84531]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(g={},g[exports.UniversalRouterVersion.V1_2]={address:"0xd0872d928672ae2ff74bdb2f5130ac12229cafaf",creationBlock:6915289},g[exports.UniversalRouterVersion.V2_0]={address:"0xd0872d928672ae2ff74bdb2f5130ac12229cafaf",creationBlock:6915289},g)},D[8453]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(N={},N[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:9107268},N[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:9107268},N)},D[81457]={weth:"0x4300000000000000000000000000000000000004",routerConfigs:(V={},V[exports.UniversalRouterVersion.V1_2]={address:"0x643770E279d5D0733F21d6DC03A8efbABf3255B4",creationBlock:1116444},V[exports.UniversalRouterVersion.V2_0]={address:"0x643770E279d5D0733F21d6DC03A8efbABf3255B4",creationBlock:1116444},V)},D[7777777]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(B={},B[exports.UniversalRouterVersion.V1_2]={address:"0x2986d9721A49838ab4297b695858aF7F17f38014",creationBlock:11832155},B[exports.UniversalRouterVersion.V2_0]={address:"0x2986d9721A49838ab4297b695858aF7F17f38014",creationBlock:11832155},B)},D[324]={weth:"0x5aea5775959fbc2557cc8789bc1bf90a239d9a91",routerConfigs:(U={},U[exports.UniversalRouterVersion.V1_2]={address:"0x28731BCC616B5f51dD52CF2e4dF0E78dD1136C06",creationBlock:12640979},U[exports.UniversalRouterVersion.V2_0]={address:"0x28731BCC616B5f51dD52CF2e4dF0E78dD1136C06",creationBlock:12640979},U)},D),q=function(e){if(!(e in K))throw new Error("Universal Router not deployed on chain "+e);if("0x0000000000000000000000000000000000000000"==K[e].weth)throw new Error("Chain "+e+" does not have WETH");return K[e].weth},z=i.BigNumber.from(2).pow(255),Y="0x0000000000000000000000000000000000000000",j="0x0000000000000000000000000000000000000000",G="0x0000000000000000000000000000000000000001",Q="0x0000000000000000000000000000000000000002",Z=new u.Percent(50,100),$=function(){function e(e,t){if(this.trade=e,this.options=t,this.tradeType=exports.RouterTradeType.UniswapTrade,t.fee&&t.flatFee)throw new Error("Only one fee option permitted");this.payerIsUser=!this.inputRequiresWrap&&!this.options.useRouterBalance}var t,n;return e.prototype.encode=function(e,t){var n;this.inputRequiresWrap&&e.addCommand(exports.CommandType.WRAP_ETH,[Q,this.trade.maximumAmountIn(this.options.slippageTolerance).quotient.toString()]),this.options.recipient=null!=(n=this.options.recipient)?n:G;for(var a,r,p=this.trade.outputAmount.currency.isNative,s=this.trade.tradeType===u.TradeType.EXACT_INPUT&&this.trade.routes.length>2||p||!!(a=this.options).fee||!!a.flatFee,d=c(this.trade.swaps);!(r=d()).done;){var m=r.value;switch(m.route.protocol){case o.Protocol.V2:J(e,m,this.trade.tradeType,this.options,this.payerIsUser,s);break;case o.Protocol.V3:ee(e,m,this.trade.tradeType,this.options,this.payerIsUser,s);break;case o.Protocol.MIXED:te(e,m,this.trade.tradeType,this.options,this.payerIsUser,s);break;default:throw new Error("UNSUPPORTED_TRADE_PROTOCOL")}}var l=i.BigNumber.from(this.trade.minimumAmountOut(this.options.slippageTolerance).quotient.toString());if(s){if(this.options.fee){var T=y.toHex(this.options.fee.fee.multiply(1e4).quotient);e.addCommand(exports.CommandType.PAY_PORTION,[this.trade.outputAmount.currency.wrapped.address,this.options.fee.recipient,T]),this.trade.tradeType===u.TradeType.EXACT_OUTPUT&&(l=l.sub(l.mul(T).div(1e4)))}if(this.options.flatFee){var f=this.options.flatFee.amount;if(l.lt(f))throw new Error("Flat fee amount greater than minimumAmountOut");e.addCommand(exports.CommandType.TRANSFER,[this.trade.outputAmount.currency.wrapped.address,this.options.flatFee.recipient,f]),this.trade.tradeType===u.TradeType.EXACT_OUTPUT&&(l=l.sub(f))}p?e.addCommand(exports.CommandType.UNWRAP_WETH,[this.options.recipient,l]):e.addCommand(exports.CommandType.SWEEP,[this.trade.outputAmount.currency.wrapped.address,this.options.recipient,l])}this.inputRequiresWrap&&(this.trade.tradeType===u.TradeType.EXACT_OUTPUT||this.trade.priceImpact.greaterThan(Z))&&e.addCommand(exports.CommandType.UNWRAP_WETH,[this.options.recipient,0]),this.options.safeMode&&e.addCommand(exports.CommandType.SWEEP,[Y,this.options.recipient,0])},t=e,(n=[{key:"inputRequiresWrap",get:function(){return this.trade.inputAmount.currency.isNative}}])&&function(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,d(a.key),a)}}(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function J(e,t,n,a,r,i){var p=t.route,y=new s.Trade(p,n==u.TradeType.EXACT_INPUT?t.inputAmount:t.outputAmount,n);n==u.TradeType.EXACT_INPUT?e.addCommand(exports.CommandType.V2_SWAP_EXACT_IN,[i?Q:a.recipient,y.maximumAmountIn(a.slippageTolerance).quotient.toString(),i?0:y.minimumAmountOut(a.slippageTolerance).quotient.toString(),p.path.map((function(e){return e.wrapped.address})),r]):n==u.TradeType.EXACT_OUTPUT&&e.addCommand(exports.CommandType.V2_SWAP_EXACT_OUT,[i?Q:a.recipient,y.minimumAmountOut(a.slippageTolerance).quotient.toString(),y.maximumAmountIn(a.slippageTolerance).quotient.toString(),p.path.map((function(e){return e.wrapped.address})),r])}function ee(e,t,n,a,r,i){var p=t.route,s=y.Trade.createUncheckedTrade({route:p,inputAmount:t.inputAmount,outputAmount:t.outputAmount,tradeType:n}),o=y.encodeRouteToPath(p,s.tradeType===u.TradeType.EXACT_OUTPUT);n==u.TradeType.EXACT_INPUT?e.addCommand(exports.CommandType.V3_SWAP_EXACT_IN,[i?Q:a.recipient,s.maximumAmountIn(a.slippageTolerance).quotient.toString(),i?0:s.minimumAmountOut(a.slippageTolerance).quotient.toString(),o,r]):n==u.TradeType.EXACT_OUTPUT&&e.addCommand(exports.CommandType.V3_SWAP_EXACT_OUT,[i?Q:a.recipient,s.minimumAmountOut(a.slippageTolerance).quotient.toString(),s.maximumAmountIn(a.slippageTolerance).quotient.toString(),o,r])}function te(e,t,n,a,r,i){var p=t.route,u=t.inputAmount,d=t.outputAmount,m=i?Q:a.recipient;if(1===p.pools.length){if(p.pools[0]instanceof y.Pool)return ee(e,t,n,a,r,i);if(p.pools[0]instanceof s.Pair)return J(e,t,n,a,r,i);throw new Error("Invalid route type")}for(var l,T=o.MixedRouteTrade.createUncheckedTrade({route:p,inputAmount:u,outputAmount:d,tradeType:n}),c=T.maximumAmountIn(a.slippageTolerance,u).quotient.toString(),f=i?0:T.minimumAmountOut(a.slippageTolerance,d).quotient.toString(),b=o.partitionMixedRouteByProtocol(p),C=function(e){return e===b.length-1},v=p.input.wrapped,x=0;x<b.length;x++){var A=b[x];l=o.getOutputOfPools(A,v);var R=new o.MixedRouteSDK([].concat(A),A[0].token0.equals(v)?A[0].token0:A[0].token1,l),I=new o.MixedRoute(R);if(v=l.wrapped,function(e){return e.pools.every((function(e){return e instanceof y.Pool}))}(I)){var _=o.encodeMixedRouteToPath(I);e.addCommand(exports.CommandType.V3_SWAP_EXACT_IN,[C(x)?m:b[x+1][0].liquidityToken.address,0==x?c:z,C(x)?f:0,_,r&&0===x])}else e.addCommand(exports.CommandType.V2_SWAP_EXACT_IN,[C(x)?m:Q,0===x?c:z,C(x)?f:0,I.path.map((function(e){return e.wrapped.address})),r&&0===x])}}function ne(e,t){var n=t.signature,a=i.ethers.utils.arrayify(t.signature).length;65!==a&&64!==a||(n=i.ethers.utils.joinSignature(i.ethers.utils.splitSignature(t.signature))),e.addCommand(exports.CommandType.PERMIT2_PERMIT,[t,n])}function ae(e,t){t.approval&&t.permit2Permit&&t.approval.token!==t.permit2Permit.details.token&&n(!1),t.approval&&t.permit2TransferFrom&&t.approval.token!==t.permit2TransferFrom.token&&n(!1),t.permit2TransferFrom&&t.permit2Permit&&t.permit2TransferFrom.token!==t.permit2Permit.details.token&&n(!1),t.approval&&e.addCommand(exports.CommandType.APPROVE_ERC20,[t.approval.token,re(t.approval.protocol)]),t.permit2Permit&&ne(e,t.permit2Permit),t.permit2TransferFrom&&e.addCommand(exports.CommandType.PERMIT2_TRANSFER_FROM,[t.permit2TransferFrom.token,t.permit2TransferFrom.recipient?t.permit2TransferFrom.recipient:Q,t.permit2TransferFrom.amount])}function re(e){switch(e.toLowerCase()){case"0x00000000000000adc04c56bf30ac9d3c0aaf14dc":case"0x00000000000001ad428e4906ae43d8f9852d0dd6":return 0;case"0x2b2e8cda09bba9660dca5cb6233787738ad68329":return 1;default:throw new Error("unsupported protocol address")}}var ie=function(){function e(){}return e.swapCallParameters=function(t,a){void 0===a&&(a={}),Array.isArray(t)||(t=[t]);for(var r,p=t.filter((function(e,t,n){return e.hasOwnProperty("market")})),s=1!=p.length||1!=p[0].orders.length,y=new X,o=i.BigNumber.from(0),u=i.BigNumber.from(0),d=new Set,m=c(t);!(r=m()).done;){var l=r.value;if(l.tradeType==exports.RouterTradeType.NFTTrade){var T=l;T.encode(y,{allowRevert:s});var f=T.getTotalPrice();T.market==exports.Market.Seaport?T.getInputTokens().forEach((function(e){d.add(e)})):d.add(Y),o.lt(f)?(u=u.add(f.sub(o)),o=i.BigNumber.from(0)):o=o.sub(f)}else if(l.tradeType==exports.RouterTradeType.UniswapTrade){var b=l,C=b.trade.inputAmount.currency.isNative,v=b.trade.outputAmount.currency.isNative,x=b.options;C&&x.inputTokenPermit&&n(!1),x.inputTokenPermit&&ne(y,x.inputTokenPermit),C&&(u=u.add(i.BigNumber.from(b.trade.maximumAmountIn(x.slippageTolerance).quotient.toString()))),v&&x.recipient==Q&&(o=o.add(i.BigNumber.from(b.trade.minimumAmountOut(x.slippageTolerance).quotient.toString()))),b.encode(y,{allowRevert:!1})}else{if(l.tradeType!=exports.RouterTradeType.UnwrapWETH)throw"trade must be of instance: UniswapTrade or NFTTrade";var A=l;l.encode(y,{allowRevert:!1}),o=o.add(A.amount)}}return d.forEach((function(e){y.addCommand(exports.CommandType.SWEEP,[e,G,0])})),e.encodePlan(y,u,a)},e.swapNFTCallParameters=function(t,n){void 0===n&&(n={});for(var a,r=new X,p=i.BigNumber.from(0),s=1!=t.length||1!=t[0].orders.length,y=c(t);!(a=y()).done;){var o=a.value;o.encode(r,{allowRevert:s}),p=p.add(o.getTotalPrice())}return r.addCommand(exports.CommandType.SWEEP,[Y,G,0]),e.encodePlan(r,p,n)},e.swapERC20CallParameters=function(t,a){var r=new X,p=new $(t,a),s=p.trade.inputAmount.currency;s.isNative&&a.inputTokenPermit&&n(!1),a.inputTokenPermit&&ne(r,a.inputTokenPermit);var y=i.BigNumber.from(s.isNative?p.trade.maximumAmountIn(a.slippageTolerance).quotient.toString():0);return p.encode(r,{allowRevert:!1}),e.encodePlan(r,y,{deadline:a.deadlineOrPreviousBlockhash?i.BigNumber.from(a.deadlineOrPreviousBlockhash):void 0})},e.encodePlan=function(t,n,a){void 0===a&&(a={});var r=t.commands,i=t.inputs;return{calldata:e.INTERFACE.encodeFunctionData(a.deadline?"execute(bytes,bytes[],uint256)":"execute(bytes,bytes[])",a.deadline?[r,i,a.deadline]:[r,i]),value:n.toHexString()}},e}();ie.INTERFACE=new r.Interface(a.abi);var pe=function(e){function t(t){return e.call(this,exports.Market.Cryptopunks,t)||this}l(t,e);var n=t.prototype;return n.encode=function(e,t){for(var n,a=c(this.orders);!(n=a()).done;){var r=n.value;e.addCommand(exports.CommandType.CRYPTOPUNKS,[r.tokenId,r.recipient,r.value],t.allowRevert)}},n.getBuyItems=function(){for(var e,n=[],a=c(this.orders);!(e=a()).done;)n.push({tokenAddress:t.CRYPTOPUNK_ADDRESS,tokenId:e.value.tokenId,tokenType:exports.TokenType.Cryptopunk});return n},n.getTotalPrice=function(){for(var e,t=i.BigNumber.from(0),n=c(this.orders);!(e=n()).done;)t=t.add(e.value.value);return t},t}(x);pe.CRYPTOPUNK_ADDRESS="0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb";var se=[{inputs:[{internalType:"address payable",name:"treasury",type:"address"},{internalType:"address",name:"feth",type:"address"},{internalType:"address",name:"royaltyRegistry",type:"address"},{internalType:"uint256",name:"duration",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"FoundationTreasuryNode_Address_Is_Not_A_Contract",type:"error"},{inputs:[],name:"FoundationTreasuryNode_Caller_Not_Admin",type:"error"},{inputs:[{internalType:"uint256",name:"buyPrice",type:"uint256"}],name:"NFTMarketBuyPrice_Cannot_Buy_At_Lower_Price",type:"error"},{inputs:[],name:"NFTMarketBuyPrice_Cannot_Buy_Unset_Price",type:"error"},{inputs:[],name:"NFTMarketBuyPrice_Cannot_Cancel_Unset_Price",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"NFTMarketBuyPrice_Only_Owner_Can_Cancel_Price",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"NFTMarketBuyPrice_Only_Owner_Can_Set_Price",type:"error"},{inputs:[],name:"NFTMarketBuyPrice_Price_Already_Set",type:"error"},{inputs:[],name:"NFTMarketBuyPrice_Price_Too_High",type:"error"},{inputs:[{internalType:"address",name:"seller",type:"address"}],name:"NFTMarketBuyPrice_Seller_Mismatch",type:"error"},{inputs:[],name:"NFTMarketCore_FETH_Address_Is_Not_A_Contract",type:"error"},{inputs:[],name:"NFTMarketCore_Only_FETH_Can_Transfer_ETH",type:"error"},{inputs:[],name:"NFTMarketCore_Seller_Not_Found",type:"error"},{inputs:[],name:"NFTMarketFees_Address_Does_Not_Support_IRoyaltyRegistry",type:"error"},{inputs:[],name:"NFTMarketOffer_Cannot_Be_Made_While_In_Auction",type:"error"},{inputs:[{internalType:"uint256",name:"currentOfferAmount",type:"uint256"}],name:"NFTMarketOffer_Offer_Below_Min_Amount",type:"error"},{inputs:[{internalType:"uint256",name:"expiry",type:"uint256"}],name:"NFTMarketOffer_Offer_Expired",type:"error"},{inputs:[{internalType:"address",name:"currentOfferFrom",type:"address"}],name:"NFTMarketOffer_Offer_From_Does_Not_Match",type:"error"},{inputs:[{internalType:"uint256",name:"minOfferAmount",type:"uint256"}],name:"NFTMarketOffer_Offer_Must_Be_At_Least_Min_Amount",type:"error"},{inputs:[],name:"NFTMarketOffer_Provided_Contract_And_TokenId_Count_Must_Match",type:"error"},{inputs:[],name:"NFTMarketOffer_Reason_Required",type:"error"},{inputs:[{internalType:"uint256",name:"auctionId",type:"uint256"}],name:"NFTMarketReserveAuction_Already_Listed",type:"error"},{inputs:[{internalType:"uint256",name:"minAmount",type:"uint256"}],name:"NFTMarketReserveAuction_Bid_Must_Be_At_Least_Min_Amount",type:"error"},{inputs:[],name:"NFTMarketReserveAuction_Cannot_Admin_Cancel_Without_Reason",type:"error"},{inputs:[{internalType:"uint256",name:"reservePrice",type:"uint256"}],name:"NFTMarketReserveAuction_Cannot_Bid_Lower_Than_Reserve_Price",type:"error"},{inputs:[{internalType:"uint256",name:"endTime",type:"uint256"}],name:"NFTMarketReserveAuction_Cannot_Bid_On_Ended_Auction",type:"error"},{inputs:[],name:"NFTMarketReserveAuction_Cannot_Bid_On_Nonexistent_Auction",type:"error"},{inputs:[],name:"NFTMarketReserveAuction_Cannot_Cancel_Nonexistent_Auction",type:"error"},{inputs:[],name:"NFTMarketReserveAuction_Cannot_Finalize_Already_Settled_Auction",type:"error"},{inputs:[{internalType:"uint256",name:"endTime",type:"uint256"}],name:"NFTMarketReserveAuction_Cannot_Finalize_Auction_In_Progress",type:"error"},{inputs:[],name:"NFTMarketReserveAuction_Cannot_Rebid_Over_Outstanding_Bid",type:"error"},{inputs:[],name:"NFTMarketReserveAuction_Cannot_Update_Auction_In_Progress",type:"error"},{inputs:[{internalType:"uint256",name:"maxDuration",type:"uint256"}],name:"NFTMarketReserveAuction_Exceeds_Max_Duration",type:"error"},{inputs:[{internalType:"uint256",name:"extensionDuration",type:"uint256"}],name:"NFTMarketReserveAuction_Less_Than_Extension_Duration",type:"error"},{inputs:[],name:"NFTMarketReserveAuction_Must_Set_Non_Zero_Reserve_Price",type:"error"},{inputs:[{internalType:"address",name:"seller",type:"address"}],name:"NFTMarketReserveAuction_Not_Matching_Seller",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"NFTMarketReserveAuction_Only_Owner_Can_Update_Auction",type:"error"},{inputs:[],name:"NFTMarketReserveAuction_Price_Already_Set",type:"error"},{inputs:[],name:"NFTMarketReserveAuction_Too_Much_Value_Provided",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"nftContract",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!0,internalType:"address",name:"seller",type:"address"},{indexed:!1,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"protocolFee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"creatorFee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"sellerRev",type:"uint256"}],name:"BuyPriceAccepted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"nftContract",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"BuyPriceCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"nftContract",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"BuyPriceInvalidated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"nftContract",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!0,internalType:"address",name:"seller",type:"address"},{indexed:!1,internalType:"uint256",name:"price",type:"uint256"}],name:"BuyPriceSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"nftContract",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"address",name:"buyReferrer",type:"address"},{indexed:!1,internalType:"uint256",name:"buyReferrerProtocolFee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"buyReferrerSellerFee",type:"uint256"}],name:"BuyReferralPaid",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"nftContract",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!0,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"address",name:"seller",type:"address"},{indexed:!1,internalType:"uint256",name:"protocolFee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"creatorFee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"sellerRev",type:"uint256"}],name:"OfferAccepted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"nftContract",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"string",name:"reason",type:"string"}],name:"OfferCanceledByAdmin",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"nftContract",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"OfferInvalidated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"nftContract",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!0,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"expiration",type:"uint256"}],name:"OfferMade",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"auctionId",type:"uint256"},{indexed:!0,internalType:"address",name:"bidder",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"endTime",type:"uint256"}],name:"ReserveAuctionBidPlaced",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"auctionId",type:"uint256"}],name:"ReserveAuctionCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"auctionId",type:"uint256"},{indexed:!1,internalType:"string",name:"reason",type:"string"}],name:"ReserveAuctionCanceledByAdmin",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"seller",type:"address"},{indexed:!0,internalType:"address",name:"nftContract",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"duration",type:"uint256"},{indexed:!1,internalType:"uint256",name:"extensionDuration",type:"uint256"},{indexed:!1,internalType:"uint256",name:"reservePrice",type:"uint256"},{indexed:!1,internalType:"uint256",name:"auctionId",type:"uint256"}],name:"ReserveAuctionCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"auctionId",type:"uint256"},{indexed:!0,internalType:"address",name:"seller",type:"address"},{indexed:!0,internalType:"address",name:"bidder",type:"address"},{indexed:!1,internalType:"uint256",name:"protocolFee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"creatorFee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"sellerRev",type:"uint256"}],name:"ReserveAuctionFinalized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"auctionId",type:"uint256"}],name:"ReserveAuctionInvalidated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"auctionId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"reservePrice",type:"uint256"}],name:"ReserveAuctionUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawalToFETH",type:"event"},{inputs:[{internalType:"address",name:"nftContract",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"address",name:"offerFrom",type:"address"},{internalType:"uint256",name:"minAmount",type:"uint256"}],name:"acceptOffer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"nftContracts",type:"address[]"},{internalType:"uint256[]",name:"tokenIds",type:"uint256[]"},{internalType:"string",name:"reason",type:"string"}],name:"adminCancelOffers",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"auctionId",type:"uint256"},{internalType:"string",name:"reason",type:"string"}],name:"adminCancelReserveAuction",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"nftContract",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"maxPrice",type:"uint256"}],name:"buy",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"nftContract",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"maxPrice",type:"uint256"},{internalType:"address payable",name:"referrer",type:"address"}],name:"buyV2",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"nftContract",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"cancelBuyPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"auctionId",type:"uint256"}],name:"cancelReserveAuction",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"nftContract",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"reservePrice",type:"uint256"}],name:"createReserveAuction",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"auctionId",type:"uint256"}],name:"finalizeReserveAuction",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"nftContract",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getBuyPrice",outputs:[{internalType:"address",name:"seller",type:"address"},{internalType:"uint256",name:"price",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"nftContract",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"price",type:"uint256"}],name:"getFeesAndRecipients",outputs:[{internalType:"uint256",name:"protocolFee",type:"uint256"},{internalType:"uint256",name:"creatorRev",type:"uint256"},{internalType:"address payable[]",name:"creatorRecipients",type:"address[]"},{internalType:"uint256[]",name:"creatorShares",type:"uint256[]"},{internalType:"uint256",name:"sellerRev",type:"uint256"},{internalType:"address payable",name:"owner",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFethAddress",outputs:[{internalType:"address",name:"fethAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFoundationTreasury",outputs:[{internalType:"address payable",name:"treasuryAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"nftContract",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getImmutableRoyalties",outputs:[{internalType:"address payable[]",name:"recipients",type:"address[]"},{internalType:"uint256[]",name:"splitPerRecipientInBasisPoints",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"auctionId",type:"uint256"}],name:"getMinBidAmount",outputs:[{internalType:"uint256",name:"minimum",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"nftContract",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getMinOfferAmount",outputs:[{internalType:"uint256",name:"minimum",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"nftContract",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"address payable",name:"creator",type:"address"}],name:"getMutableRoyalties",outputs:[{internalType:"address payable[]",name:"recipients",type:"address[]"},{internalType:"uint256[]",name:"splitPerRecipientInBasisPoints",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"nftContract",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getOffer",outputs:[{internalType:"address",name:"buyer",type:"address"},{internalType:"uint256",name:"expiration",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"nftContract",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getOfferReferrer",outputs:[{internalType:"address payable",name:"referrer",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"auctionId",type:"uint256"}],name:"getReserveAuction",outputs:[{components:[{internalType:"address",name:"nftContract",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"address payable",name:"seller",type:"address"},{internalType:"uint256",name:"duration",type:"uint256"},{internalType:"uint256",name:"extensionDuration",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"address payable",name:"bidder",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct NFTMarketReserveAuction.ReserveAuction",name:"auction",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"auctionId",type:"uint256"}],name:"getReserveAuctionBidReferrer",outputs:[{internalType:"address payable",name:"referrer",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"nftContract",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getReserveAuctionIdFor",outputs:[{internalType:"uint256",name:"auctionId",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getRoyaltyRegistry",outputs:[{internalType:"address",name:"registry",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"nftContract",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getTokenCreator",outputs:[{internalType:"address payable",name:"creator",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"nftContract",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"makeOffer",outputs:[{internalType:"uint256",name:"expiration",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"nftContract",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address payable",name:"referrer",type:"address"}],name:"makeOfferV2",outputs:[{internalType:"uint256",name:"expiration",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"auctionId",type:"uint256"}],name:"placeBid",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"auctionId",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address payable",name:"referrer",type:"address"}],name:"placeBidV2",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"nftContract",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"price",type:"uint256"}],name:"setBuyPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"auctionId",type:"uint256"},{internalType:"uint256",name:"reservePrice",type:"uint256"}],name:"updateReserveAuction",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],ye=function(e){function t(t){return e.call(this,exports.Market.Foundation,t)||this}l(t,e);var n=t.prototype;return n.encode=function(e,n){for(var a,r=c(this.orders);!(a=r()).done;){var i=a.value,p=t.INTERFACE.encodeFunctionData("buyV2",[i.tokenAddress,i.tokenId,i.price,i.referrer]);e.addCommand(exports.CommandType.FOUNDATION,[i.price,p,i.recipient,i.tokenAddress,i.tokenId],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=c(this.orders);!(e=n()).done;){var a=e.value;t.push({tokenAddress:a.tokenAddress,tokenId:a.tokenId,tokenType:exports.TokenType.ERC721})}return t},n.getTotalPrice=function(){for(var e,t=i.BigNumber.from(0),n=c(this.orders);!(e=n()).done;)t=t.add(e.value.price);return t},t}(x);ye.INTERFACE=new r.Interface(se);var oe=[{inputs:[{internalType:"address",name:"_owner",type:"address"},{internalType:"address",name:"_protocolFeeRecipient",type:"address"},{internalType:"address",name:"_transferManager",type:"address"},{internalType:"address",name:"_weth",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CallerInvalid",type:"error"},{inputs:[],name:"ChainIdInvalid",type:"error"},{inputs:[],name:"CreatorFeeBpTooHigh",type:"error"},{inputs:[],name:"CurrencyInvalid",type:"error"},{inputs:[],name:"ERC20TransferFromFail",type:"error"},{inputs:[],name:"LengthsInvalid",type:"error"},{inputs:[],name:"MerkleProofInvalid",type:"error"},{inputs:[{internalType:"uint256",name:"length",type:"uint256"}],name:"MerkleProofTooLarge",type:"error"},{inputs:[],name:"NewGasLimitETHTransferTooLow",type:"error"},{inputs:[],name:"NewProtocolFeeRecipientCannotBeNullAddress",type:"error"},{inputs:[],name:"NoOngoingTransferInProgress",type:"error"},{inputs:[],name:"NoSelectorForStrategy",type:"error"},{inputs:[],name:"NoncesInvalid",type:"error"},{inputs:[],name:"NotAContract",type:"error"},{inputs:[],name:"NotAffiliateController",type:"error"},{inputs:[],name:"NotOwner",type:"error"},{inputs:[],name:"NotV2Strategy",type:"error"},{inputs:[],name:"NullSignerAddress",type:"error"},{inputs:[],name:"OutsideOfTimeRange",type:"error"},{inputs:[],name:"PercentageTooHigh",type:"error"},{inputs:[],name:"QuoteTypeInvalid",type:"error"},{inputs:[],name:"ReentrancyFail",type:"error"},{inputs:[],name:"RenouncementNotInProgress",type:"error"},{inputs:[],name:"SameDomainSeparator",type:"error"},{inputs:[],name:"SignatureEOAInvalid",type:"error"},{inputs:[],name:"SignatureERC1271Invalid",type:"error"},{inputs:[{internalType:"uint256",name:"length",type:"uint256"}],name:"SignatureLengthInvalid",type:"error"},{inputs:[],name:"SignatureParameterSInvalid",type:"error"},{inputs:[{internalType:"uint8",name:"v",type:"uint8"}],name:"SignatureParameterVInvalid",type:"error"},{inputs:[],name:"StrategyHasNoSelector",type:"error"},{inputs:[{internalType:"uint256",name:"strategyId",type:"uint256"}],name:"StrategyNotAvailable",type:"error"},{inputs:[],name:"StrategyNotUsed",type:"error"},{inputs:[],name:"StrategyProtocolFeeTooHigh",type:"error"},{inputs:[],name:"TransferAlreadyInProgress",type:"error"},{inputs:[],name:"TransferNotInProgress",type:"error"},{inputs:[],name:"WrongPotentialOwner",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"affiliate",type:"address"},{indexed:!1,internalType:"address",name:"currency",type:"address"},{indexed:!1,internalType:"uint256",name:"affiliateFee",type:"uint256"}],name:"AffiliatePayment",type:"event"},{anonymous:!1,inputs:[],name:"CancelOwnershipTransfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"currency",type:"address"},{indexed:!1,internalType:"bool",name:"isAllowed",type:"bool"}],name:"CurrencyStatusUpdated",type:"event"},{anonymous:!1,inputs:[],name:"InitiateOwnershipRenouncement",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"previousOwner",type:"address"},{indexed:!1,internalType:"address",name:"potentialOwner",type:"address"}],name:"InitiateOwnershipTransfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"affiliateController",type:"address"}],name:"NewAffiliateController",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"isActive",type:"bool"}],name:"NewAffiliateProgramStatus",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"affiliate",type:"address"},{indexed:!1,internalType:"uint256",name:"rate",type:"uint256"}],name:"NewAffiliateRate",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"bidNonce",type:"uint256"},{indexed:!1,internalType:"uint256",name:"askNonce",type:"uint256"}],name:"NewBidAskNonces",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"creatorFeeManager",type:"address"}],name:"NewCreatorFeeManager",type:"event"},{anonymous:!1,inputs:[],name:"NewDomainSeparator",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"gasLimitETHTransfer",type:"uint256"}],name:"NewGasLimitETHTransfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"maxCreatorFeeBp",type:"uint256"}],name:"NewMaxCreatorFeeBp",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"NewOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"protocolFeeRecipient",type:"address"}],name:"NewProtocolFeeRecipient",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"strategyId",type:"uint256"},{indexed:!1,internalType:"uint16",name:"standardProtocolFeeBp",type:"uint16"},{indexed:!1,internalType:"uint16",name:"minTotalFeeBp",type:"uint16"},{indexed:!1,internalType:"uint16",name:"maxProtocolFeeBp",type:"uint16"},{indexed:!1,internalType:"bytes4",name:"selector",type:"bytes4"},{indexed:!1,internalType:"bool",name:"isMakerBid",type:"bool"},{indexed:!1,internalType:"address",name:"implementation",type:"address"}],name:"NewStrategy",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256[]",name:"orderNonces",type:"uint256[]"}],name:"OrderNoncesCancelled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"strategyId",type:"uint256"},{indexed:!1,internalType:"bool",name:"isActive",type:"bool"},{indexed:!1,internalType:"uint16",name:"standardProtocolFeeBp",type:"uint16"},{indexed:!1,internalType:"uint16",name:"minTotalFeeBp",type:"uint16"}],name:"StrategyUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256[]",name:"subsetNonces",type:"uint256[]"}],name:"SubsetNoncesCancelled",type:"event"},{anonymous:!1,inputs:[{components:[{internalType:"bytes32",name:"orderHash",type:"bytes32"},{internalType:"uint256",name:"orderNonce",type:"uint256"},{internalType:"bool",name:"isNonceInvalidated",type:"bool"}],indexed:!1,internalType:"struct ILooksRareProtocol.NonceInvalidationParameters",name:"nonceInvalidationParameters",type:"tuple"},{indexed:!1,internalType:"address",name:"askUser",type:"address"},{indexed:!1,internalType:"address",name:"bidUser",type:"address"},{indexed:!1,internalType:"uint256",name:"strategyId",type:"uint256"},{indexed:!1,internalType:"address",name:"currency",type:"address"},{indexed:!1,internalType:"address",name:"collection",type:"address"},{indexed:!1,internalType:"uint256[]",name:"itemIds",type:"uint256[]"},{indexed:!1,internalType:"uint256[]",name:"amounts",type:"uint256[]"},{indexed:!1,internalType:"address[2]",name:"feeRecipients",type:"address[2]"},{indexed:!1,internalType:"uint256[3]",name:"feeAmounts",type:"uint256[3]"}],name:"TakerAsk",type:"event"},{anonymous:!1,inputs:[{components:[{internalType:"bytes32",name:"orderHash",type:"bytes32"},{internalType:"uint256",name:"orderNonce",type:"uint256"},{internalType:"bool",name:"isNonceInvalidated",type:"bool"}],indexed:!1,internalType:"struct ILooksRareProtocol.NonceInvalidationParameters",name:"nonceInvalidationParameters",type:"tuple"},{indexed:!1,internalType:"address",name:"bidUser",type:"address"},{indexed:!1,internalType:"address",name:"bidRecipient",type:"address"},{indexed:!1,internalType:"uint256",name:"strategyId",type:"uint256"},{indexed:!1,internalType:"address",name:"currency",type:"address"},{indexed:!1,internalType:"address",name:"collection",type:"address"},{indexed:!1,internalType:"uint256[]",name:"itemIds",type:"uint256[]"},{indexed:!1,internalType:"uint256[]",name:"amounts",type:"uint256[]"},{indexed:!1,internalType:"address[2]",name:"feeRecipients",type:"address[2]"},{indexed:!1,internalType:"uint256[3]",name:"feeAmounts",type:"uint256[3]"}],name:"TakerBid",type:"event"},{inputs:[],name:"MAGIC_VALUE_ORDER_NONCE_EXECUTED",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"standardProtocolFeeBp",type:"uint16"},{internalType:"uint16",name:"minTotalFeeBp",type:"uint16"},{internalType:"uint16",name:"maxProtocolFeeBp",type:"uint16"},{internalType:"bytes4",name:"selector",type:"bytes4"},{internalType:"bool",name:"isMakerBid",type:"bool"},{internalType:"address",name:"implementation",type:"address"}],name:"addStrategy",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"affiliateController",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"affiliateRates",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256[]",name:"orderNonces",type:"uint256[]"}],name:"cancelOrderNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"cancelOwnershipTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256[]",name:"subsetNonces",type:"uint256[]"}],name:"cancelSubsetNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"chainId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"confirmOwnershipRenouncement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"confirmOwnershipTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"creatorFeeManager",outputs:[{internalType:"contract ICreatorFeeManager",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"domainSeparator",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"bytes",name:"additionalParameters",type:"bytes"}],internalType:"struct OrderStructs.Taker[]",name:"takerBids",type:"tuple[]"},{components:[{internalType:"enum QuoteType",name:"quoteType",type:"uint8"},{internalType:"uint256",name:"globalNonce",type:"uint256"},{internalType:"uint256",name:"subsetNonce",type:"uint256"},{internalType:"uint256",name:"orderNonce",type:"uint256"},{internalType:"uint256",name:"strategyId",type:"uint256"},{internalType:"enum CollectionType",name:"collectionType",type:"uint8"},{internalType:"address",name:"collection",type:"address"},{internalType:"address",name:"currency",type:"address"},{internalType:"address",name:"signer",type:"address"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256[]",name:"itemIds",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"bytes",name:"additionalParameters",type:"bytes"}],internalType:"struct OrderStructs.Maker[]",name:"makerAsks",type:"tuple[]"},{internalType:"bytes[]",name:"makerSignatures",type:"bytes[]"},{components:[{internalType:"bytes32",name:"root",type:"bytes32"},{components:[{internalType:"bytes32",name:"value",type:"bytes32"},{internalType:"enum OrderStructs.MerkleTreeNodePosition",name:"position",type:"uint8"}],internalType:"struct OrderStructs.MerkleTreeNode[]",name:"proof",type:"tuple[]"}],internalType:"struct OrderStructs.MerkleTree[]",name:"merkleTrees",type:"tuple[]"},{internalType:"address",name:"affiliate",type:"address"},{internalType:"bool",name:"isAtomic",type:"bool"}],name:"executeMultipleTakerBids",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"bytes",name:"additionalParameters",type:"bytes"}],internalType:"struct OrderStructs.Taker",name:"takerAsk",type:"tuple"},{components:[{internalType:"enum QuoteType",name:"quoteType",type:"uint8"},{internalType:"uint256",name:"globalNonce",type:"uint256"},{internalType:"uint256",name:"subsetNonce",type:"uint256"},{internalType:"uint256",name:"orderNonce",type:"uint256"},{internalType:"uint256",name:"strategyId",type:"uint256"},{internalType:"enum CollectionType",name:"collectionType",type:"uint8"},{internalType:"address",name:"collection",type:"address"},{internalType:"address",name:"currency",type:"address"},{internalType:"address",name:"signer",type:"address"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256[]",name:"itemIds",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"bytes",name:"additionalParameters",type:"bytes"}],internalType:"struct OrderStructs.Maker",name:"makerBid",type:"tuple"},{internalType:"bytes",name:"makerSignature",type:"bytes"},{components:[{internalType:"bytes32",name:"root",type:"bytes32"},{components:[{internalType:"bytes32",name:"value",type:"bytes32"},{internalType:"enum OrderStructs.MerkleTreeNodePosition",name:"position",type:"uint8"}],internalType:"struct OrderStructs.MerkleTreeNode[]",name:"proof",type:"tuple[]"}],internalType:"struct OrderStructs.MerkleTree",name:"merkleTree",type:"tuple"},{internalType:"address",name:"affiliate",type:"address"}],name:"executeTakerAsk",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"bytes",name:"additionalParameters",type:"bytes"}],internalType:"struct OrderStructs.Taker",name:"takerBid",type:"tuple"},{components:[{internalType:"enum QuoteType",name:"quoteType",type:"uint8"},{internalType:"uint256",name:"globalNonce",type:"uint256"},{internalType:"uint256",name:"subsetNonce",type:"uint256"},{internalType:"uint256",name:"orderNonce",type:"uint256"},{internalType:"uint256",name:"strategyId",type:"uint256"},{internalType:"enum CollectionType",name:"collectionType",type:"uint8"},{internalType:"address",name:"collection",type:"address"},{internalType:"address",name:"currency",type:"address"},{internalType:"address",name:"signer",type:"address"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256[]",name:"itemIds",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"bytes",name:"additionalParameters",type:"bytes"}],internalType:"struct OrderStructs.Maker",name:"makerAsk",type:"tuple"},{internalType:"bytes",name:"makerSignature",type:"bytes"},{components:[{internalType:"bytes32",name:"root",type:"bytes32"},{components:[{internalType:"bytes32",name:"value",type:"bytes32"},{internalType:"enum OrderStructs.MerkleTreeNodePosition",name:"position",type:"uint8"}],internalType:"struct OrderStructs.MerkleTreeNode[]",name:"proof",type:"tuple[]"}],internalType:"struct OrderStructs.MerkleTree",name:"merkleTree",type:"tuple"},{internalType:"address",name:"affiliate",type:"address"}],name:"executeTakerBid",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"root",type:"bytes32"},{internalType:"uint256",name:"proofLength",type:"uint256"}],name:"hashBatchOrder",outputs:[{internalType:"bytes32",name:"batchOrderHash",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bool",name:"bid",type:"bool"},{internalType:"bool",name:"ask",type:"bool"}],name:"incrementBidAskNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initiateOwnershipRenouncement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newPotentialOwner",type:"address"}],name:"initiateOwnershipTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"isAffiliateProgramActive",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isCurrencyAllowed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxCreatorFeeBp",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"ownershipStatus",outputs:[{internalType:"enum IOwnableTwoSteps.Status",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"potentialOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"protocolFeeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"bytes",name:"additionalParameters",type:"bytes"}],internalType:"struct OrderStructs.Taker",name:"takerBid",type:"tuple"},{components:[{internalType:"enum QuoteType",name:"quoteType",type:"uint8"},{internalType:"uint256",name:"globalNonce",type:"uint256"},{internalType:"uint256",name:"subsetNonce",type:"uint256"},{internalType:"uint256",name:"orderNonce",type:"uint256"},{internalType:"uint256",name:"strategyId",type:"uint256"},{internalType:"enum CollectionType",name:"collectionType",type:"uint8"},{internalType:"address",name:"collection",type:"address"},{internalType:"address",name:"currency",type:"address"},{internalType:"address",name:"signer",type:"address"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256[]",name:"itemIds",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"bytes",name:"additionalParameters",type:"bytes"}],internalType:"struct OrderStructs.Maker",name:"makerAsk",type:"tuple"},{internalType:"address",name:"sender",type:"address"},{internalType:"bytes32",name:"orderHash",type:"bytes32"}],name:"restrictedExecuteTakerBid",outputs:[{internalType:"uint256",name:"protocolFeeAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"strategyInfo",outputs:[{internalType:"bool",name:"isActive",type:"bool"},{internalType:"uint16",name:"standardProtocolFeeBp",type:"uint16"},{internalType:"uint16",name:"minTotalFeeBp",type:"uint16"},{internalType:"uint16",name:"maxProtocolFeeBp",type:"uint16"},{internalType:"bytes4",name:"selector",type:"bytes4"},{internalType:"bool",name:"isMakerBid",type:"bool"},{internalType:"address",name:"implementation",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"transferManager",outputs:[{internalType:"contract TransferManager",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newAffiliateController",type:"address"}],name:"updateAffiliateController",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"isActive",type:"bool"}],name:"updateAffiliateProgramStatus",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"affiliate",type:"address"},{internalType:"uint256",name:"bp",type:"uint256"}],name:"updateAffiliateRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newCreatorFeeManager",type:"address"}],name:"updateCreatorFeeManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"currency",type:"address"},{internalType:"bool",name:"isAllowed",type:"bool"}],name:"updateCurrencyStatus",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"updateDomainSeparator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"newGasLimitETHTransfer",type:"uint256"}],name:"updateETHGasLimitForTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"newMaxCreatorFeeBp",type:"uint16"}],name:"updateMaxCreatorFeeBp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newProtocolFeeRecipient",type:"address"}],name:"updateProtocolFeeRecipient",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"strategyId",type:"uint256"},{internalType:"bool",name:"isActive",type:"bool"},{internalType:"uint16",name:"newStandardProtocolFee",type:"uint16"},{internalType:"uint16",name:"newMinTotalFee",type:"uint16"}],name:"updateStrategy",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"userBidAskNonces",outputs:[{internalType:"uint256",name:"bidNonce",type:"uint256"},{internalType:"uint256",name:"askNonce",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"userOrderNonce",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"userSubsetNonce",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],ue=function(e){function t(t){return e.call(this,exports.Market.LooksRareV2,t)||this}l(t,e);var n=t.prototype;return n.encode=function(e,n){var a,r=this.refactorAPIData(this.orders),i=r.takerBids,p=r.makerOrders,s=r.makerSignatures,y=r.totalValue,o=r.merkleTrees;a=1==this.orders.length?t.INTERFACE.encodeFunctionData("executeTakerBid",[i[0],p[0],s[0],o[0],j]):t.INTERFACE.encodeFunctionData("executeMultipleTakerBids",[i,p,s,o,j,!1]),e.addCommand(exports.CommandType.LOOKS_RARE_V2,[y,a],n.allowRevert)},n.getBuyItems=function(){for(var e,n=[],a=c(this.orders);!(e=a()).done;)for(var r,i=e.value,p=i.apiOrder.collection,s=i.apiOrder.collectionType==t.ERC721_ORDER?exports.TokenType.ERC721:exports.TokenType.ERC1155,y=c(i.apiOrder.itemIds);!(r=y()).done;)n.push({tokenAddress:p,tokenId:r.value,tokenType:s});return n},n.getTotalPrice=function(){for(var e,t=i.BigNumber.from(0),n=c(this.orders);!(e=n()).done;)t=t.add(e.value.apiOrder.price);return t},n.refactorAPIData=function(e){var t=[],n=[],a=[],r=i.BigNumber.from(0),p=[];return e.forEach((function(e){var s,y;n.push(m({},e.apiOrder)),a.push(e.apiOrder.signature),t.push({recipient:e.taker,additionalParameters:"0x"}),r=r.add(i.BigNumber.from(e.apiOrder.price)),p.push({root:null!=(s=e.apiOrder.merkleRoot)?s:"0x0000000000000000000000000000000000000000000000000000000000000000",proof:null!=(y=e.apiOrder.merkleProof)?y:[]})})),{takerBids:t,makerOrders:n,makerSignatures:a,totalValue:r,merkleTrees:p}},t}(x);ue.INTERFACE=new r.Interface(oe),ue.ERC721_ORDER=0;var de=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{inputs:[],name:"ETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"NFT20",outputs:[{internalType:"contract INFT20Factory",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"UNIV2",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"UNIV3",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_nft",type:"address"},{internalType:"uint256[]",name:"_toIds",type:"uint256[]"},{internalType:"uint256[]",name:"_toAmounts",type:"uint256[]"},{internalType:"address",name:"_receipient",type:"address"},{internalType:"uint24",name:"_fee",type:"uint24"},{internalType:"bool",name:"isV3",type:"bool"}],name:"ethForNft",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_nft",type:"address"},{internalType:"uint256[]",name:"_ids",type:"uint256[]"},{internalType:"uint256[]",name:"_amounts",type:"uint256[]"},{internalType:"bool",name:"isErc721",type:"bool"},{internalType:"uint24",name:"_fee",type:"uint24"},{internalType:"bool",name:"isV3",type:"bool"}],name:"nftForEth",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenAddress",type:"address"},{internalType:"uint256",name:"tokenAmount",type:"uint256"},{internalType:"address",name:"sendTo",type:"address"}],name:"recoverERC20",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_registry",type:"address"}],name:"setNFT20",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"withdrawEth",outputs:[],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}],me=function(e){function t(t){return e.call(this,exports.Market.NFT20,t)||this}l(t,e);var n=t.prototype;return n.encode=function(e,n){for(var a,r=c(this.orders);!(a=r()).done;){var i=a.value,p=t.INTERFACE.encodeFunctionData("ethForNft",[i.tokenAddress,i.tokenIds,i.tokenAmounts,i.recipient,i.fee,i.isV3]);e.addCommand(exports.CommandType.NFT20,[i.value,p],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=c(this.orders);!(e=n()).done;)for(var a,r=e.value,i=c(r.tokenIds);!(a=i()).done;)t.push({tokenAddress:r.tokenAddress,tokenId:a.value,tokenType:exports.TokenType.ERC721});return t},n.getTotalPrice=function(){for(var e,t=i.BigNumber.from(0),n=c(this.orders);!(e=n()).done;)t=t.add(e.value.value);return t},t}(x);me.INTERFACE=new r.Interface(de);var le=[{inputs:[{internalType:"address",name:"_nftxFactory",type:"address"},{internalType:"address",name:"_WETH",type:"address"},{internalType:"address payable",name:"_swapTarget",type:"address"},{internalType:"uint256",name:"_dustThreshold",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"count",type:"uint256"},{indexed:!1,internalType:"uint256",name:"ethSpent",type:"uint256"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"Buy",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"ethAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vTokenAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"DustReturned",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"count",type:"uint256"},{indexed:!1,internalType:"uint256",name:"ethReceived",type:"uint256"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"Sell",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"count",type:"uint256"},{indexed:!1,internalType:"uint256",name:"ethSpent",type:"uint256"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"Swap",type:"event"},{inputs:[],name:"WETH",outputs:[{internalType:"contract IWETH",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256[]",name:"specificIds",type:"uint256[]"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"address payable",name:"to",type:"address"}],name:"buyAndRedeem",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"uint256[]",name:"idsIn",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"uint256[]",name:"specificIds",type:"uint256[]"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"address payable",name:"to",type:"address"}],name:"buyAndSwap1155",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"uint256[]",name:"idsIn",type:"uint256[]"},{internalType:"uint256[]",name:"specificIds",type:"uint256[]"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"address payable",name:"to",type:"address"}],name:"buyAndSwap721",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"dustThreshold",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeDistributor",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"address payable",name:"to",type:"address"}],name:"mintAndSell1155",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"address payable",name:"to",type:"address"}],name:"mintAndSell721",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"nftxFactory",outputs:[{internalType:"contract INFTXVaultFactory",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"nftxVaultAddresses",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155BatchReceived",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"_paused",type:"bool"}],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"rescue",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_dustThreshold",type:"uint256"}],name:"setDustThreshold",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],Te=function(e){function t(t){return e.call(this,exports.Market.NFTX,t)||this}l(t,e);var n=t.prototype;return n.encode=function(e,n){for(var a,r=c(this.orders);!(a=r()).done;){var i=a.value,p=t.INTERFACE.encodeFunctionData("buyAndRedeem",[i.vaultId,i.tokenIds.length,i.tokenIds,i.swapCalldata,i.recipient]);e.addCommand(exports.CommandType.NFTX,[i.value,p],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=c(this.orders);!(e=n()).done;)for(var a,r=e.value,i=c(r.tokenIds);!(a=i()).done;)t.push({tokenAddress:r.tokenAddress,tokenId:a.value,tokenType:exports.TokenType.ERC721});return t},n.getTotalPrice=function(){for(var e,t=i.BigNumber.from(0),n=c(this.orders);!(e=n()).done;)t=t.add(e.value.value);return t},t}(x);Te.INTERFACE=new r.Interface(le);var ce=[{inputs:[{internalType:"address",name:"conduitController",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"BadContractSignature",type:"error"},{inputs:[],name:"BadFraction",type:"error"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"BadReturnValueFromERC20OnTransfer",type:"error"},{inputs:[{internalType:"uint8",name:"v",type:"uint8"}],name:"BadSignatureV",type:"error"},{inputs:[],name:"ConsiderationCriteriaResolverOutOfRange",type:"error"},{inputs:[{internalType:"uint256",name:"orderIndex",type:"uint256"},{internalType:"uint256",name:"considerationIndex",type:"uint256"},{internalType:"uint256",name:"shortfallAmount",type:"uint256"}],name:"ConsiderationNotMet",type:"error"},{inputs:[],name:"CriteriaNotEnabledForItem",type:"error"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256[]",name:"identifiers",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],name:"ERC1155BatchTransferGenericFailure",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"EtherTransferGenericFailure",type:"error"},{inputs:[],name:"InexactFraction",type:"error"},{inputs:[],name:"InsufficientEtherSupplied",type:"error"},{inputs:[],name:"Invalid1155BatchTransferEncoding",type:"error"},{inputs:[],name:"InvalidBasicOrderParameterEncoding",type:"error"},{inputs:[{internalType:"address",name:"conduit",type:"address"}],name:"InvalidCallToConduit",type:"error"},{inputs:[],name:"InvalidCanceller",type:"error"},{inputs:[{internalType:"bytes32",name:"conduitKey",type:"bytes32"},{internalType:"address",name:"conduit",type:"address"}],name:"InvalidConduit",type:"error"},{inputs:[],name:"InvalidERC721TransferAmount",type:"error"},{inputs:[],name:"InvalidFulfillmentComponentData",type:"error"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"}],name:"InvalidMsgValue",type:"error"},{inputs:[],name:"InvalidNativeOfferItem",type:"error"},{inputs:[],name:"InvalidProof",type:"error"},{inputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],name:"InvalidRestrictedOrder",type:"error"},{inputs:[],name:"InvalidSignature",type:"error"},{inputs:[],name:"InvalidSigner",type:"error"},{inputs:[],name:"InvalidTime",type:"error"},{inputs:[],name:"MismatchedFulfillmentOfferAndConsiderationComponents",type:"error"},{inputs:[{internalType:"enum Side",name:"side",type:"uint8"}],name:"MissingFulfillmentComponentOnAggregation",type:"error"},{inputs:[],name:"MissingItemAmount",type:"error"},{inputs:[],name:"MissingOriginalConsiderationItems",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"NoContract",type:"error"},{inputs:[],name:"NoReentrantCalls",type:"error"},{inputs:[],name:"NoSpecifiedOrdersAvailable",type:"error"},{inputs:[],name:"OfferAndConsiderationRequiredOnFulfillment",type:"error"},{inputs:[],name:"OfferCriteriaResolverOutOfRange",type:"error"},{inputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],name:"OrderAlreadyFilled",type:"error"},{inputs:[],name:"OrderCriteriaResolverOutOfRange",type:"error"},{inputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],name:"OrderIsCancelled",type:"error"},{inputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],name:"OrderPartiallyFilled",type:"error"},{inputs:[],name:"PartialFillsNotEnabledForOrder",type:"error"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"identifier",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenTransferGenericFailure",type:"error"},{inputs:[],name:"UnresolvedConsiderationCriteria",type:"error"},{inputs:[],name:"UnresolvedOfferCriteria",type:"error"},{inputs:[],name:"UnusedItemParameters",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newCounter",type:"uint256"},{indexed:!0,internalType:"address",name:"offerer",type:"address"}],name:"CounterIncremented",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"orderHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"offerer",type:"address"},{indexed:!0,internalType:"address",name:"zone",type:"address"}],name:"OrderCancelled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"orderHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"offerer",type:"address"},{indexed:!0,internalType:"address",name:"zone",type:"address"},{indexed:!1,internalType:"address",name:"recipient",type:"address"},{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifier",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct SpentItem[]",name:"offer",type:"tuple[]"},{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifier",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address payable",name:"recipient",type:"address"}],indexed:!1,internalType:"struct ReceivedItem[]",name:"consideration",type:"tuple[]"}],name:"OrderFulfilled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"orderHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"offerer",type:"address"},{indexed:!0,internalType:"address",name:"zone",type:"address"}],name:"OrderValidated",type:"event"},{inputs:[{components:[{internalType:"address",name:"offerer",type:"address"},{internalType:"address",name:"zone",type:"address"},{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifierOrCriteria",type:"uint256"},{internalType:"uint256",name:"startAmount",type:"uint256"},{internalType:"uint256",name:"endAmount",type:"uint256"}],internalType:"struct OfferItem[]",name:"offer",type:"tuple[]"},{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifierOrCriteria",type:"uint256"},{internalType:"uint256",name:"startAmount",type:"uint256"},{internalType:"uint256",name:"endAmount",type:"uint256"},{internalType:"address payable",name:"recipient",type:"address"}],internalType:"struct ConsiderationItem[]",name:"consideration",type:"tuple[]"},{internalType:"enum OrderType",name:"orderType",type:"uint8"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"bytes32",name:"zoneHash",type:"bytes32"},{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"bytes32",name:"conduitKey",type:"bytes32"},{internalType:"uint256",name:"counter",type:"uint256"}],internalType:"struct OrderComponents[]",name:"orders",type:"tuple[]"}],name:"cancel",outputs:[{internalType:"bool",name:"cancelled",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"offerer",type:"address"},{internalType:"address",name:"zone",type:"address"},{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifierOrCriteria",type:"uint256"},{internalType:"uint256",name:"startAmount",type:"uint256"},{internalType:"uint256",name:"endAmount",type:"uint256"}],internalType:"struct OfferItem[]",name:"offer",type:"tuple[]"},{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifierOrCriteria",type:"uint256"},{internalType:"uint256",name:"startAmount",type:"uint256"},{internalType:"uint256",name:"endAmount",type:"uint256"},{internalType:"address payable",name:"recipient",type:"address"}],internalType:"struct ConsiderationItem[]",name:"consideration",type:"tuple[]"},{internalType:"enum OrderType",name:"orderType",type:"uint8"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"bytes32",name:"zoneHash",type:"bytes32"},{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"bytes32",name:"conduitKey",type:"bytes32"},{internalType:"uint256",name:"totalOriginalConsiderationItems",type:"uint256"}],internalType:"struct OrderParameters",name:"parameters",type:"tuple"},{internalType:"uint120",name:"numerator",type:"uint120"},{internalType:"uint120",name:"denominator",type:"uint120"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"bytes",name:"extraData",type:"bytes"}],internalType:"struct AdvancedOrder",name:"advancedOrder",type:"tuple"},{components:[{internalType:"uint256",name:"orderIndex",type:"uint256"},{internalType:"enum Side",name:"side",type:"uint8"},{internalType:"uint256",name:"index",type:"uint256"},{internalType:"uint256",name:"identifier",type:"uint256"},{internalType:"bytes32[]",name:"criteriaProof",type:"bytes32[]"}],internalType:"struct CriteriaResolver[]",name:"criteriaResolvers",type:"tuple[]"},{internalType:"bytes32",name:"fulfillerConduitKey",type:"bytes32"},{internalType:"address",name:"recipient",type:"address"}],name:"fulfillAdvancedOrder",outputs:[{internalType:"bool",name:"fulfilled",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"offerer",type:"address"},{internalType:"address",name:"zone",type:"address"},{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifierOrCriteria",type:"uint256"},{internalType:"uint256",name:"startAmount",type:"uint256"},{internalType:"uint256",name:"endAmount",type:"uint256"}],internalType:"struct OfferItem[]",name:"offer",type:"tuple[]"},{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifierOrCriteria",type:"uint256"},{internalType:"uint256",name:"startAmount",type:"uint256"},{internalType:"uint256",name:"endAmount",type:"uint256"},{internalType:"address payable",name:"recipient",type:"address"}],internalType:"struct ConsiderationItem[]",name:"consideration",type:"tuple[]"},{internalType:"enum OrderType",name:"orderType",type:"uint8"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"bytes32",name:"zoneHash",type:"bytes32"},{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"bytes32",name:"conduitKey",type:"bytes32"},{internalType:"uint256",name:"totalOriginalConsiderationItems",type:"uint256"}],internalType:"struct OrderParameters",name:"parameters",type:"tuple"},{internalType:"uint120",name:"numerator",type:"uint120"},{internalType:"uint120",name:"denominator",type:"uint120"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"bytes",name:"extraData",type:"bytes"}],internalType:"struct AdvancedOrder[]",name:"advancedOrders",type:"tuple[]"},{components:[{internalType:"uint256",name:"orderIndex",type:"uint256"},{internalType:"enum Side",name:"side",type:"uint8"},{internalType:"uint256",name:"index",type:"uint256"},{internalType:"uint256",name:"identifier",type:"uint256"},{internalType:"bytes32[]",name:"criteriaProof",type:"bytes32[]"}],internalType:"struct CriteriaResolver[]",name:"criteriaResolvers",type:"tuple[]"},{components:[{internalType:"uint256",name:"orderIndex",type:"uint256"},{internalType:"uint256",name:"itemIndex",type:"uint256"}],internalType:"struct FulfillmentComponent[][]",name:"offerFulfillments",type:"tuple[][]"},{components:[{internalType:"uint256",name:"orderIndex",type:"uint256"},{internalType:"uint256",name:"itemIndex",type:"uint256"}],internalType:"struct FulfillmentComponent[][]",name:"considerationFulfillments",type:"tuple[][]"},{internalType:"bytes32",name:"fulfillerConduitKey",type:"bytes32"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"maximumFulfilled",type:"uint256"}],name:"fulfillAvailableAdvancedOrders",outputs:[{internalType:"bool[]",name:"availableOrders",type:"bool[]"},{components:[{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifier",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address payable",name:"recipient",type:"address"}],internalType:"struct ReceivedItem",name:"item",type:"tuple"},{internalType:"address",name:"offerer",type:"address"},{internalType:"bytes32",name:"conduitKey",type:"bytes32"}],internalType:"struct Execution[]",name:"executions",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"offerer",type:"address"},{internalType:"address",name:"zone",type:"address"},{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifierOrCriteria",type:"uint256"},{internalType:"uint256",name:"startAmount",type:"uint256"},{internalType:"uint256",name:"endAmount",type:"uint256"}],internalType:"struct OfferItem[]",name:"offer",type:"tuple[]"},{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifierOrCriteria",type:"uint256"},{internalType:"uint256",name:"startAmount",type:"uint256"},{internalType:"uint256",name:"endAmount",type:"uint256"},{internalType:"address payable",name:"recipient",type:"address"}],internalType:"struct ConsiderationItem[]",name:"consideration",type:"tuple[]"},{internalType:"enum OrderType",name:"orderType",type:"uint8"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"bytes32",name:"zoneHash",type:"bytes32"},{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"bytes32",name:"conduitKey",type:"bytes32"},{internalType:"uint256",name:"totalOriginalConsiderationItems",type:"uint256"}],internalType:"struct OrderParameters",name:"parameters",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct Order[]",name:"orders",type:"tuple[]"},{components:[{internalType:"uint256",name:"orderIndex",type:"uint256"},{internalType:"uint256",name:"itemIndex",type:"uint256"}],internalType:"struct FulfillmentComponent[][]",name:"offerFulfillments",type:"tuple[][]"},{components:[{internalType:"uint256",name:"orderIndex",type:"uint256"},{internalType:"uint256",name:"itemIndex",type:"uint256"}],internalType:"struct FulfillmentComponent[][]",name:"considerationFulfillments",type:"tuple[][]"},{internalType:"bytes32",name:"fulfillerConduitKey",type:"bytes32"},{internalType:"uint256",name:"maximumFulfilled",type:"uint256"}],name:"fulfillAvailableOrders",outputs:[{internalType:"bool[]",name:"availableOrders",type:"bool[]"},{components:[{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifier",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address payable",name:"recipient",type:"address"}],internalType:"struct ReceivedItem",name:"item",type:"tuple"},{internalType:"address",name:"offerer",type:"address"},{internalType:"bytes32",name:"conduitKey",type:"bytes32"}],internalType:"struct Execution[]",name:"executions",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"considerationToken",type:"address"},{internalType:"uint256",name:"considerationIdentifier",type:"uint256"},{internalType:"uint256",name:"considerationAmount",type:"uint256"},{internalType:"address payable",name:"offerer",type:"address"},{internalType:"address",name:"zone",type:"address"},{internalType:"address",name:"offerToken",type:"address"},{internalType:"uint256",name:"offerIdentifier",type:"uint256"},{internalType:"uint256",name:"offerAmount",type:"uint256"},{internalType:"enum BasicOrderType",name:"basicOrderType",type:"uint8"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"bytes32",name:"zoneHash",type:"bytes32"},{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"bytes32",name:"offererConduitKey",type:"bytes32"},{internalType:"bytes32",name:"fulfillerConduitKey",type:"bytes32"},{internalType:"uint256",name:"totalOriginalAdditionalRecipients",type:"uint256"},{components:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address payable",name:"recipient",type:"address"}],internalType:"struct AdditionalRecipient[]",name:"additionalRecipients",type:"tuple[]"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct BasicOrderParameters",name:"parameters",type:"tuple"}],name:"fulfillBasicOrder",outputs:[{internalType:"bool",name:"fulfilled",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"offerer",type:"address"},{internalType:"address",name:"zone",type:"address"},{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifierOrCriteria",type:"uint256"},{internalType:"uint256",name:"startAmount",type:"uint256"},{internalType:"uint256",name:"endAmount",type:"uint256"}],internalType:"struct OfferItem[]",name:"offer",type:"tuple[]"},{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifierOrCriteria",type:"uint256"},{internalType:"uint256",name:"startAmount",type:"uint256"},{internalType:"uint256",name:"endAmount",type:"uint256"},{internalType:"address payable",name:"recipient",type:"address"}],internalType:"struct ConsiderationItem[]",name:"consideration",type:"tuple[]"},{internalType:"enum OrderType",name:"orderType",type:"uint8"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"bytes32",name:"zoneHash",type:"bytes32"},{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"bytes32",name:"conduitKey",type:"bytes32"},{internalType:"uint256",name:"totalOriginalConsiderationItems",type:"uint256"}],internalType:"struct OrderParameters",name:"parameters",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct Order",name:"order",type:"tuple"},{internalType:"bytes32",name:"fulfillerConduitKey",type:"bytes32"}],name:"fulfillOrder",outputs:[{internalType:"bool",name:"fulfilled",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"offerer",type:"address"}],name:"getCounter",outputs:[{internalType:"uint256",name:"counter",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"offerer",type:"address"},{internalType:"address",name:"zone",type:"address"},{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifierOrCriteria",type:"uint256"},{internalType:"uint256",name:"startAmount",type:"uint256"},{internalType:"uint256",name:"endAmount",type:"uint256"}],internalType:"struct OfferItem[]",name:"offer",type:"tuple[]"},{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifierOrCriteria",type:"uint256"},{internalType:"uint256",name:"startAmount",type:"uint256"},{internalType:"uint256",name:"endAmount",type:"uint256"},{internalType:"address payable",name:"recipient",type:"address"}],internalType:"struct ConsiderationItem[]",name:"consideration",type:"tuple[]"},{internalType:"enum OrderType",name:"orderType",type:"uint8"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"bytes32",name:"zoneHash",type:"bytes32"},{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"bytes32",name:"conduitKey",type:"bytes32"},{internalType:"uint256",name:"counter",type:"uint256"}],internalType:"struct OrderComponents",name:"order",type:"tuple"}],name:"getOrderHash",outputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],name:"getOrderStatus",outputs:[{internalType:"bool",name:"isValidated",type:"bool"},{internalType:"bool",name:"isCancelled",type:"bool"},{internalType:"uint256",name:"totalFilled",type:"uint256"},{internalType:"uint256",name:"totalSize",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"incrementCounter",outputs:[{internalType:"uint256",name:"newCounter",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"information",outputs:[{internalType:"string",name:"version",type:"string"},{internalType:"bytes32",name:"domainSeparator",type:"bytes32"},{internalType:"address",name:"conduitController",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"offerer",type:"address"},{internalType:"address",name:"zone",type:"address"},{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifierOrCriteria",type:"uint256"},{internalType:"uint256",name:"startAmount",type:"uint256"},{internalType:"uint256",name:"endAmount",type:"uint256"}],internalType:"struct OfferItem[]",name:"offer",type:"tuple[]"},{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifierOrCriteria",type:"uint256"},{internalType:"uint256",name:"startAmount",type:"uint256"},{internalType:"uint256",name:"endAmount",type:"uint256"},{internalType:"address payable",name:"recipient",type:"address"}],internalType:"struct ConsiderationItem[]",name:"consideration",type:"tuple[]"},{internalType:"enum OrderType",name:"orderType",type:"uint8"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"bytes32",name:"zoneHash",type:"bytes32"},{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"bytes32",name:"conduitKey",type:"bytes32"},{internalType:"uint256",name:"totalOriginalConsiderationItems",type:"uint256"}],internalType:"struct OrderParameters",name:"parameters",type:"tuple"},{internalType:"uint120",name:"numerator",type:"uint120"},{internalType:"uint120",name:"denominator",type:"uint120"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"bytes",name:"extraData",type:"bytes"}],internalType:"struct AdvancedOrder[]",name:"advancedOrders",type:"tuple[]"},{components:[{internalType:"uint256",name:"orderIndex",type:"uint256"},{internalType:"enum Side",name:"side",type:"uint8"},{internalType:"uint256",name:"index",type:"uint256"},{internalType:"uint256",name:"identifier",type:"uint256"},{internalType:"bytes32[]",name:"criteriaProof",type:"bytes32[]"}],internalType:"struct CriteriaResolver[]",name:"criteriaResolvers",type:"tuple[]"},{components:[{components:[{internalType:"uint256",name:"orderIndex",type:"uint256"},{internalType:"uint256",name:"itemIndex",type:"uint256"}],internalType:"struct FulfillmentComponent[]",name:"offerComponents",type:"tuple[]"},{components:[{internalType:"uint256",name:"orderIndex",type:"uint256"},{internalType:"uint256",name:"itemIndex",type:"uint256"}],internalType:"struct FulfillmentComponent[]",name:"considerationComponents",type:"tuple[]"}],internalType:"struct Fulfillment[]",name:"fulfillments",type:"tuple[]"}],name:"matchAdvancedOrders",outputs:[{components:[{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifier",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address payable",name:"recipient",type:"address"}],internalType:"struct ReceivedItem",name:"item",type:"tuple"},{internalType:"address",name:"offerer",type:"address"},{internalType:"bytes32",name:"conduitKey",type:"bytes32"}],internalType:"struct Execution[]",name:"executions",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"offerer",type:"address"},{internalType:"address",name:"zone",type:"address"},{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifierOrCriteria",type:"uint256"},{internalType:"uint256",name:"startAmount",type:"uint256"},{internalType:"uint256",name:"endAmount",type:"uint256"}],internalType:"struct OfferItem[]",name:"offer",type:"tuple[]"},{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifierOrCriteria",type:"uint256"},{internalType:"uint256",name:"startAmount",type:"uint256"},{internalType:"uint256",name:"endAmount",type:"uint256"},{internalType:"address payable",name:"recipient",type:"address"}],internalType:"struct ConsiderationItem[]",name:"consideration",type:"tuple[]"},{internalType:"enum OrderType",name:"orderType",type:"uint8"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"bytes32",name:"zoneHash",type:"bytes32"},{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"bytes32",name:"conduitKey",type:"bytes32"},{internalType:"uint256",name:"totalOriginalConsiderationItems",type:"uint256"}],internalType:"struct OrderParameters",name:"parameters",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct Order[]",name:"orders",type:"tuple[]"},{components:[{components:[{internalType:"uint256",name:"orderIndex",type:"uint256"},{internalType:"uint256",name:"itemIndex",type:"uint256"}],internalType:"struct FulfillmentComponent[]",name:"offerComponents",type:"tuple[]"},{components:[{internalType:"uint256",name:"orderIndex",type:"uint256"},{internalType:"uint256",name:"itemIndex",type:"uint256"}],internalType:"struct FulfillmentComponent[]",name:"considerationComponents",type:"tuple[]"}],internalType:"struct Fulfillment[]",name:"fulfillments",type:"tuple[]"}],name:"matchOrders",outputs:[{components:[{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifier",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address payable",name:"recipient",type:"address"}],internalType:"struct ReceivedItem",name:"item",type:"tuple"},{internalType:"address",name:"offerer",type:"address"},{internalType:"bytes32",name:"conduitKey",type:"bytes32"}],internalType:"struct Execution[]",name:"executions",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"contractName",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{components:[{internalType:"address",name:"offerer",type:"address"},{internalType:"address",name:"zone",type:"address"},{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifierOrCriteria",type:"uint256"},{internalType:"uint256",name:"startAmount",type:"uint256"},{internalType:"uint256",name:"endAmount",type:"uint256"}],internalType:"struct OfferItem[]",name:"offer",type:"tuple[]"},{components:[{internalType:"enum ItemType",name:"itemType",type:"uint8"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"identifierOrCriteria",type:"uint256"},{internalType:"uint256",name:"startAmount",type:"uint256"},{internalType:"uint256",name:"endAmount",type:"uint256"},{internalType:"address payable",name:"recipient",type:"address"}],internalType:"struct ConsiderationItem[]",name:"consideration",type:"tuple[]"},{internalType:"enum OrderType",name:"orderType",type:"uint8"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"bytes32",name:"zoneHash",type:"bytes32"},{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"bytes32",name:"conduitKey",type:"bytes32"},{internalType:"uint256",name:"totalOriginalConsiderationItems",type:"uint256"}],internalType:"struct OrderParameters",name:"parameters",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct Order[]",name:"orders",type:"tuple[]"}],name:"validate",outputs:[{internalType:"bool",name:"validated",type:"bool"}],stateMutability:"nonpayable",type:"function"}],fe=function(e){function t(t){return e.call(this,exports.Market.Seaport,t)||this}l(t,e);var n=t.prototype;return n.encode=function(e,n){for(var a,r=c(this.orders);!(a=r()).done;){for(var i,p=a.value,s=[],y=p.items.map((function(e,t){return[{orderIndex:t,itemIndex:0}]})),o=this.getConsiderationFulfillments(p.items),u=c(p.items);!(i=u()).done;){var d=this.getAdvancedOrderParams(i.value);s.push(d.advancedOrder)}var m;if(m=1==s.length?t.INTERFACE.encodeFunctionData("fulfillAdvancedOrder",[s[0],[],t.OPENSEA_CONDUIT_KEY,p.recipient]):t.INTERFACE.encodeFunctionData("fulfillAvailableAdvancedOrders",[s,[],y,o,t.OPENSEA_CONDUIT_KEY,p.recipient,100]),p.inputTokenProcessing)for(var l,T=c(p.inputTokenProcessing);!(l=T()).done;){var f=l.value;ae(e,{approval:f.protocolApproval?{token:f.token,protocol:p.protocolAddress}:void 0,permit2Permit:f.permit2Permit,permit2TransferFrom:f.permit2TransferFrom?{token:f.token,amount:this.getTotalOrderPrice(p,f.token).toString()}:void 0})}e.addCommand(this.commandMap(p.protocolAddress),[this.getTotalOrderPrice(p,Y).toString(),m],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=c(this.orders);!(e=n()).done;)for(var a,r=c(e.value.items);!(a=r()).done;)for(var i,p=c(a.value.parameters.offer);!(i=p()).done;){var s=i.value;t.push({tokenAddress:s.token,tokenId:s.identifierOrCriteria,tokenType:exports.TokenType.ERC721})}return t},n.getInputTokens=function(){for(var e,t=new Set,n=c(this.orders);!(e=n()).done;)for(var a,r=c(e.value.items);!(a=r()).done;)for(var i,p=c(a.value.parameters.consideration);!(i=p()).done;){var s=i.value.token.toLowerCase();t.add(s)}return t},n.getTotalOrderPrice=function(e,t){void 0===t&&(t=Y);for(var n,a=i.BigNumber.from(0),r=c(e.items);!(n=r()).done;)a=a.add(this.calculateValue(n.value.parameters.consideration,t));return a},n.getTotalPrice=function(e){void 0===e&&(e=Y);for(var t,n=i.BigNumber.from(0),a=c(this.orders);!(t=a()).done;)for(var r,p=c(t.value.items);!(r=p()).done;)n=n.add(this.calculateValue(r.value.parameters.consideration,e));return n},n.commandMap=function(e){switch(e.toLowerCase()){case"0x00000000000000adc04c56bf30ac9d3c0aaf14dc":return exports.CommandType.SEAPORT_V1_5;case"0x00000000000001ad428e4906ae43d8f9852d0dd6":return exports.CommandType.SEAPORT_V1_4;default:throw new Error("unsupported Seaport address")}},n.getConsiderationFulfillments=function(e){var t=[],n=[];for(var a in e){var r=e[a],i=function(){var e=r.parameters.consideration[p];-1===n.findIndex((function(t){return t===e.recipient}))&&n.push(e.recipient);var i=n.findIndex((function(t){return t===e.recipient}));t[i]?t[i].push({orderIndex:a,itemIndex:p}):t.push([{orderIndex:a,itemIndex:p}])};for(var p in r.parameters.consideration)i()}return t},n.getAdvancedOrderParams=function(e){return{advancedOrder:{parameters:e.parameters,numerator:i.BigNumber.from("1"),denominator:i.BigNumber.from("1"),signature:e.signature,extraData:"0x00"}}},n.calculateValue=function(e,t){return e.reduce((function(e,n){return n.token.toLowerCase()==t.toLowerCase()?e.add(n.startAmount):e}),i.BigNumber.from(0))},t}(x);fe.INTERFACE=new r.Interface(ce),fe.OPENSEA_CONDUIT_KEY="0x0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000";var be=[{inputs:[{internalType:"contract ILSSVMPairFactoryLike",name:"_factory",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"factory",outputs:[{internalType:"contract ILSSVMPairFactoryLike",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ERC20",name:"token",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"enum ILSSVMPairFactoryLike.PairVariant",name:"variant",type:"uint8"}],name:"pairTransferERC20From",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC721",name:"nft",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"id",type:"uint256"},{internalType:"enum ILSSVMPairFactoryLike.PairVariant",name:"variant",type:"uint8"}],name:"pairTransferNFTFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256",name:"numItems",type:"uint256"}],internalType:"struct LSSVMRouter.PairSwapAny",name:"swapInfo",type:"tuple"},{internalType:"uint256",name:"maxCost",type:"uint256"}],internalType:"struct LSSVMRouter.RobustPairSwapAny[]",name:"swapList",type:"tuple[]"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"address",name:"nftRecipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"robustSwapERC20ForAnyNFTs",outputs:[{internalType:"uint256",name:"remainingValue",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256[]",name:"nftIds",type:"uint256[]"}],internalType:"struct LSSVMRouter.PairSwapSpecific",name:"swapInfo",type:"tuple"},{internalType:"uint256",name:"maxCost",type:"uint256"}],internalType:"struct LSSVMRouter.RobustPairSwapSpecific[]",name:"swapList",type:"tuple[]"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"address",name:"nftRecipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"robustSwapERC20ForSpecificNFTs",outputs:[{internalType:"uint256",name:"remainingValue",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{components:[{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256[]",name:"nftIds",type:"uint256[]"}],internalType:"struct LSSVMRouter.PairSwapSpecific",name:"swapInfo",type:"tuple"},{internalType:"uint256",name:"maxCost",type:"uint256"}],internalType:"struct LSSVMRouter.RobustPairSwapSpecific[]",name:"tokenToNFTTrades",type:"tuple[]"},{components:[{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256[]",name:"nftIds",type:"uint256[]"}],internalType:"struct LSSVMRouter.PairSwapSpecific",name:"swapInfo",type:"tuple"},{internalType:"uint256",name:"minOutput",type:"uint256"}],internalType:"struct LSSVMRouter.RobustPairSwapSpecificForToken[]",name:"nftToTokenTrades",type:"tuple[]"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"address payable",name:"tokenRecipient",type:"address"},{internalType:"address",name:"nftRecipient",type:"address"}],internalType:"struct LSSVMRouter.RobustPairNFTsFoTokenAndTokenforNFTsTrade",name:"params",type:"tuple"}],name:"robustSwapERC20ForSpecificNFTsAndNFTsToToken",outputs:[{internalType:"uint256",name:"remainingValue",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256",name:"numItems",type:"uint256"}],internalType:"struct LSSVMRouter.PairSwapAny",name:"swapInfo",type:"tuple"},{internalType:"uint256",name:"maxCost",type:"uint256"}],internalType:"struct LSSVMRouter.RobustPairSwapAny[]",name:"swapList",type:"tuple[]"},{internalType:"address payable",name:"ethRecipient",type:"address"},{internalType:"address",name:"nftRecipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"robustSwapETHForAnyNFTs",outputs:[{internalType:"uint256",name:"remainingValue",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256[]",name:"nftIds",type:"uint256[]"}],internalType:"struct LSSVMRouter.PairSwapSpecific",name:"swapInfo",type:"tuple"},{internalType:"uint256",name:"maxCost",type:"uint256"}],internalType:"struct LSSVMRouter.RobustPairSwapSpecific[]",name:"swapList",type:"tuple[]"},{internalType:"address payable",name:"ethRecipient",type:"address"},{internalType:"address",name:"nftRecipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"robustSwapETHForSpecificNFTs",outputs:[{internalType:"uint256",name:"remainingValue",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{components:[{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256[]",name:"nftIds",type:"uint256[]"}],internalType:"struct LSSVMRouter.PairSwapSpecific",name:"swapInfo",type:"tuple"},{internalType:"uint256",name:"maxCost",type:"uint256"}],internalType:"struct LSSVMRouter.RobustPairSwapSpecific[]",name:"tokenToNFTTrades",type:"tuple[]"},{components:[{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256[]",name:"nftIds",type:"uint256[]"}],internalType:"struct LSSVMRouter.PairSwapSpecific",name:"swapInfo",type:"tuple"},{internalType:"uint256",name:"minOutput",type:"uint256"}],internalType:"struct LSSVMRouter.RobustPairSwapSpecificForToken[]",name:"nftToTokenTrades",type:"tuple[]"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"address payable",name:"tokenRecipient",type:"address"},{internalType:"address",name:"nftRecipient",type:"address"}],internalType:"struct LSSVMRouter.RobustPairNFTsFoTokenAndTokenforNFTsTrade",name:"params",type:"tuple"}],name:"robustSwapETHForSpecificNFTsAndNFTsToToken",outputs:[{internalType:"uint256",name:"remainingValue",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256[]",name:"nftIds",type:"uint256[]"}],internalType:"struct LSSVMRouter.PairSwapSpecific",name:"swapInfo",type:"tuple"},{internalType:"uint256",name:"minOutput",type:"uint256"}],internalType:"struct LSSVMRouter.RobustPairSwapSpecificForToken[]",name:"swapList",type:"tuple[]"},{internalType:"address payable",name:"tokenRecipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"robustSwapNFTsForToken",outputs:[{internalType:"uint256",name:"outputAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256",name:"numItems",type:"uint256"}],internalType:"struct LSSVMRouter.PairSwapAny[]",name:"swapList",type:"tuple[]"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"address",name:"nftRecipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapERC20ForAnyNFTs",outputs:[{internalType:"uint256",name:"remainingValue",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256[]",name:"nftIds",type:"uint256[]"}],internalType:"struct LSSVMRouter.PairSwapSpecific[]",name:"swapList",type:"tuple[]"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"address",name:"nftRecipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapERC20ForSpecificNFTs",outputs:[{internalType:"uint256",name:"remainingValue",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256",name:"numItems",type:"uint256"}],internalType:"struct LSSVMRouter.PairSwapAny[]",name:"swapList",type:"tuple[]"},{internalType:"address payable",name:"ethRecipient",type:"address"},{internalType:"address",name:"nftRecipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapETHForAnyNFTs",outputs:[{internalType:"uint256",name:"remainingValue",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256[]",name:"nftIds",type:"uint256[]"}],internalType:"struct LSSVMRouter.PairSwapSpecific[]",name:"swapList",type:"tuple[]"},{internalType:"address payable",name:"ethRecipient",type:"address"},{internalType:"address",name:"nftRecipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapETHForSpecificNFTs",outputs:[{internalType:"uint256",name:"remainingValue",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256[]",name:"nftIds",type:"uint256[]"}],internalType:"struct LSSVMRouter.PairSwapSpecific[]",name:"nftToTokenTrades",type:"tuple[]"},{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256",name:"numItems",type:"uint256"}],internalType:"struct LSSVMRouter.PairSwapAny[]",name:"tokenToNFTTrades",type:"tuple[]"}],internalType:"struct LSSVMRouter.NFTsForAnyNFTsTrade",name:"trade",type:"tuple"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"minOutput",type:"uint256"},{internalType:"address",name:"nftRecipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapNFTsForAnyNFTsThroughERC20",outputs:[{internalType:"uint256",name:"outputAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256[]",name:"nftIds",type:"uint256[]"}],internalType:"struct LSSVMRouter.PairSwapSpecific[]",name:"nftToTokenTrades",type:"tuple[]"},{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256",name:"numItems",type:"uint256"}],internalType:"struct LSSVMRouter.PairSwapAny[]",name:"tokenToNFTTrades",type:"tuple[]"}],internalType:"struct LSSVMRouter.NFTsForAnyNFTsTrade",name:"trade",type:"tuple"},{internalType:"uint256",name:"minOutput",type:"uint256"},{internalType:"address payable",name:"ethRecipient",type:"address"},{internalType:"address",name:"nftRecipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapNFTsForAnyNFTsThroughETH",outputs:[{internalType:"uint256",name:"outputAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256[]",name:"nftIds",type:"uint256[]"}],internalType:"struct LSSVMRouter.PairSwapSpecific[]",name:"nftToTokenTrades",type:"tuple[]"},{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256[]",name:"nftIds",type:"uint256[]"}],internalType:"struct LSSVMRouter.PairSwapSpecific[]",name:"tokenToNFTTrades",type:"tuple[]"}],internalType:"struct LSSVMRouter.NFTsForSpecificNFTsTrade",name:"trade",type:"tuple"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"minOutput",type:"uint256"},{internalType:"address",name:"nftRecipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapNFTsForSpecificNFTsThroughERC20",outputs:[{internalType:"uint256",name:"outputAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256[]",name:"nftIds",type:"uint256[]"}],internalType:"struct LSSVMRouter.PairSwapSpecific[]",name:"nftToTokenTrades",type:"tuple[]"},{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256[]",name:"nftIds",type:"uint256[]"}],internalType:"struct LSSVMRouter.PairSwapSpecific[]",name:"tokenToNFTTrades",type:"tuple[]"}],internalType:"struct LSSVMRouter.NFTsForSpecificNFTsTrade",name:"trade",type:"tuple"},{internalType:"uint256",name:"minOutput",type:"uint256"},{internalType:"address payable",name:"ethRecipient",type:"address"},{internalType:"address",name:"nftRecipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapNFTsForSpecificNFTsThroughETH",outputs:[{internalType:"uint256",name:"outputAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"contract LSSVMPair",name:"pair",type:"address"},{internalType:"uint256[]",name:"nftIds",type:"uint256[]"}],internalType:"struct LSSVMRouter.PairSwapSpecific[]",name:"swapList",type:"tuple[]"},{internalType:"uint256",name:"minOutput",type:"uint256"},{internalType:"address",name:"tokenRecipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapNFTsForToken",outputs:[{internalType:"uint256",name:"outputAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],Ce=function(e){function t(t){return e.call(this,exports.Market.Sudoswap,t)||this}l(t,e);var n=t.prototype;return n.encode=function(e,n){for(var a,r=c(this.orders);!(a=r()).done;){var p=a.value,s=t.INTERFACE.encodeFunctionData("robustSwapETHForSpecificNFTs",[p.swaps.map((function(e){return{swapInfo:e.swapInfo,maxCost:e.maxCost}})),p.ethRecipient,p.nftRecipient,p.deadline]),y=p.swaps.reduce((function(e,t){return e.add(t.maxCost)}),i.BigNumber.from(0));e.addCommand(exports.CommandType.SUDOSWAP,[y,s],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=c(this.orders);!(e=n()).done;)for(var a,r=c(e.value.swaps);!(a=r()).done;)for(var i,p=a.value,s=c(p.swapInfo.nftIds);!(i=s()).done;)t.push({tokenAddress:p.tokenAddress,tokenId:i.value,tokenType:exports.TokenType.ERC721});return t},n.getTotalPrice=function(){for(var e,t=i.BigNumber.from(0),n=c(this.orders);!(e=n()).done;)for(var a,r=c(e.value.swaps);!(a=r()).done;)t=t.add(a.value.maxCost);return t},t}(x);Ce.INTERFACE=new r.Interface(be);var ve=[{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"itemHash",type:"bytes32"},{indexed:!1,internalType:"address",name:"currency",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"incentive",type:"uint256"}],name:"EvAuctionRefund",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"itemHash",type:"bytes32"}],name:"EvCancel",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"delegate",type:"address"},{indexed:!1,internalType:"bool",name:"isRemoval",type:"bool"}],name:"EvDelegate",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"index",type:"uint256"},{indexed:!1,internalType:"bytes",name:"error",type:"bytes"}],name:"EvFailure",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"newValue",type:"uint256"}],name:"EvFeeCapUpdate",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"itemHash",type:"bytes32"},{indexed:!1,internalType:"address",name:"maker",type:"address"},{indexed:!1,internalType:"address",name:"taker",type:"address"},{indexed:!1,internalType:"uint256",name:"orderSalt",type:"uint256"},{indexed:!1,internalType:"uint256",name:"settleSalt",type:"uint256"},{indexed:!1,internalType:"uint256",name:"intent",type:"uint256"},{indexed:!1,internalType:"uint256",name:"delegateType",type:"uint256"},{indexed:!1,internalType:"uint256",name:"deadline",type:"uint256"},{indexed:!1,internalType:"contract IERC20Upgradeable",name:"currency",type:"address"},{indexed:!1,internalType:"bytes",name:"dataMask",type:"bytes"},{components:[{internalType:"uint256",name:"price",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],indexed:!1,internalType:"struct Market.OrderItem",name:"item",type:"tuple"},{components:[{internalType:"enum Market.Op",name:"op",type:"uint8"},{internalType:"uint256",name:"orderIdx",type:"uint256"},{internalType:"uint256",name:"itemIdx",type:"uint256"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"bytes32",name:"itemHash",type:"bytes32"},{internalType:"contract IDelegate",name:"executionDelegate",type:"address"},{internalType:"bytes",name:"dataReplacement",type:"bytes"},{internalType:"uint256",name:"bidIncentivePct",type:"uint256"},{internalType:"uint256",name:"aucMinIncrementPct",type:"uint256"},{internalType:"uint256",name:"aucIncDurationSecs",type:"uint256"},{components:[{internalType:"uint256",name:"percentage",type:"uint256"},{internalType:"address",name:"to",type:"address"}],internalType:"struct Market.Fee[]",name:"fees",type:"tuple[]"}],indexed:!1,internalType:"struct Market.SettleDetail",name:"detail",type:"tuple"}],name:"EvInventory",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"itemHash",type:"bytes32"},{indexed:!1,internalType:"address",name:"currency",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"EvProfit",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"signer",type:"address"},{indexed:!1,internalType:"bool",name:"isRemoval",type:"bool"}],name:"EvSigner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[],name:"RATE_BASE",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32[]",name:"itemHashes",type:"bytes32[]"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"cancel",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"delegates",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeCapPct",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"feeCapPct_",type:"uint256"},{internalType:"address",name:"weth_",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"inventoryStatus",outputs:[{internalType:"enum Market.InvStatus",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"ongoingAuctions",outputs:[{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256",name:"netPrice",type:"uint256"},{internalType:"uint256",name:"endAt",type:"uint256"},{internalType:"address",name:"bidder",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"address",name:"user",type:"address"},{internalType:"uint256",name:"network",type:"uint256"},{internalType:"uint256",name:"intent",type:"uint256"},{internalType:"uint256",name:"delegateType",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"contract IERC20Upgradeable",name:"currency",type:"address"},{internalType:"bytes",name:"dataMask",type:"bytes"},{components:[{internalType:"uint256",name:"price",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct Market.OrderItem[]",name:"items",type:"tuple[]"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"uint8",name:"signVersion",type:"uint8"}],internalType:"struct Market.Order[]",name:"orders",type:"tuple[]"},{components:[{internalType:"enum Market.Op",name:"op",type:"uint8"},{internalType:"uint256",name:"orderIdx",type:"uint256"},{internalType:"uint256",name:"itemIdx",type:"uint256"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"bytes32",name:"itemHash",type:"bytes32"},{internalType:"contract IDelegate",name:"executionDelegate",type:"address"},{internalType:"bytes",name:"dataReplacement",type:"bytes"},{internalType:"uint256",name:"bidIncentivePct",type:"uint256"},{internalType:"uint256",name:"aucMinIncrementPct",type:"uint256"},{internalType:"uint256",name:"aucIncDurationSecs",type:"uint256"},{components:[{internalType:"uint256",name:"percentage",type:"uint256"},{internalType:"address",name:"to",type:"address"}],internalType:"struct Market.Fee[]",name:"fees",type:"tuple[]"}],internalType:"struct Market.SettleDetail[]",name:"details",type:"tuple[]"},{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountToEth",type:"uint256"},{internalType:"uint256",name:"amountToWeth",type:"uint256"},{internalType:"address",name:"user",type:"address"},{internalType:"bool",name:"canFail",type:"bool"}],internalType:"struct Market.SettleShared",name:"shared",type:"tuple"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"}],internalType:"struct Market.RunInput",name:"input",type:"tuple"}],name:"run",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"address",name:"user",type:"address"},{internalType:"uint256",name:"network",type:"uint256"},{internalType:"uint256",name:"intent",type:"uint256"},{internalType:"uint256",name:"delegateType",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"contract IERC20Upgradeable",name:"currency",type:"address"},{internalType:"bytes",name:"dataMask",type:"bytes"},{components:[{internalType:"uint256",name:"price",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct Market.OrderItem[]",name:"items",type:"tuple[]"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"uint8",name:"signVersion",type:"uint8"}],internalType:"struct Market.Order",name:"order",type:"tuple"},{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountToEth",type:"uint256"},{internalType:"uint256",name:"amountToWeth",type:"uint256"},{internalType:"address",name:"user",type:"address"},{internalType:"bool",name:"canFail",type:"bool"}],internalType:"struct Market.SettleShared",name:"shared",type:"tuple"},{components:[{internalType:"enum Market.Op",name:"op",type:"uint8"},{internalType:"uint256",name:"orderIdx",type:"uint256"},{internalType:"uint256",name:"itemIdx",type:"uint256"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"bytes32",name:"itemHash",type:"bytes32"},{internalType:"contract IDelegate",name:"executionDelegate",type:"address"},{internalType:"bytes",name:"dataReplacement",type:"bytes"},{internalType:"uint256",name:"bidIncentivePct",type:"uint256"},{internalType:"uint256",name:"aucMinIncrementPct",type:"uint256"},{internalType:"uint256",name:"aucIncDurationSecs",type:"uint256"},{components:[{internalType:"uint256",name:"percentage",type:"uint256"},{internalType:"address",name:"to",type:"address"}],internalType:"struct Market.Fee[]",name:"fees",type:"tuple[]"}],internalType:"struct Market.SettleDetail",name:"detail",type:"tuple"}],name:"run1",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"signers",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"toAdd",type:"address[]"},{internalType:"address[]",name:"toRemove",type:"address[]"}],name:"updateDelegates",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"val",type:"uint256"}],name:"updateFeeCap",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"toAdd",type:"address[]"},{internalType:"address[]",name:"toRemove",type:"address[]"}],name:"updateSigners",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"contract IWETHUpgradable",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],xe=function(e){function t(t){return e.call(this,exports.Market.X2Y2,t)||this}l(t,e);var n=t.prototype;return n.encode=function(e,n){for(var a,r=c(this.orders);!(a=r()).done;){var i=a.value,p=t.INTERFACE.getSighash(t.INTERFACE.getFunction("run"))+i.signedInput.slice(2);i.tokenType==exports.TokenType.ERC721?e.addCommand(exports.CommandType.X2Y2_721,[i.price,p,i.recipient,i.tokenAddress,i.tokenId],n.allowRevert):i.tokenType==exports.TokenType.ERC1155&&e.addCommand(exports.CommandType.X2Y2_1155,[i.price,p,i.recipient,i.tokenAddress,i.tokenId,i.tokenAmount],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=c(this.orders);!(e=n()).done;){var a=e.value;t.push({tokenAddress:a.tokenAddress,tokenId:a.tokenId,tokenType:a.tokenType})}return t},n.getTotalPrice=function(){for(var e,t=i.BigNumber.from(0),n=c(this.orders);!(e=n()).done;)t=t.add(e.value.price);return t},t}(x);xe.INTERFACE=new r.Interface(ve);var Ae,Re=function(){function e(e,t,a){this.tradeType=exports.RouterTradeType.UnwrapWETH,this.wethAddress=q(t),this.amount=e,a&&(a.details.token.toLowerCase()!==this.wethAddress.toLowerCase()&&n(!1),a.details.amount>=e||n(!1),this.permit2Data=a)}return e.prototype.encode=function(e,t){ae(e,{permit2Permit:this.permit2Data,permit2TransferFrom:{token:this.wethAddress,amount:this.amount.toString()}}),e.addCommand(exports.CommandType.UNWRAP_WETH,[Q,this.amount])},e}();(Ae=exports.PoolType||(exports.PoolType={})).V2Pool="v2-pool",Ae.V3Pool="v3-pool";var Ie=function(e){return e.toLowerCase()===Y.toLowerCase()||e.toLowerCase()==="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee".toLowerCase()},_e=function(){function e(){}return e.fromClassicQuote=function(t){var n=t.route,a=t.tokenIn,r=t.tokenOut;if(!n)throw new Error("Expected route to be present");if(!n.length)throw new Error("Expected there to be at least one route");if(n.some((function(e){return!e.length})))throw new Error("Expected all routes to have at least one pool");var i=n[0],p=i[0].tokenIn,d=i[i.length-1].tokenOut;if(!p||!d)throw new Error("Expected both tokenIn and tokenOut to be present");if(p.chainId!==d.chainId)throw new Error("Expected tokenIn and tokenOut to be have same chainId");var m=e.toCurrency(Ie(a),p),l=e.toCurrency(Ie(r),d),T=n.map((function(t){var n=t[0].amountIn,a=t[t.length-1].amountOut;if(!n||!a)throw new Error("Expected both raw amountIn and raw amountOut to be present");var r=u.CurrencyAmount.fromRawAmount(m,n),i=u.CurrencyAmount.fromRawAmount(l,a),p=e.isVersionedRoute(exports.PoolType.V2Pool,t),d=e.isVersionedRoute(exports.PoolType.V3Pool,t);return{routev3:d?new y.Route(t.map(e.toPool),m,l):null,routev2:p?new s.Route(t.map(e.toPair),m,l):null,mixedRoute:d||p?null:new o.MixedRouteSDK(t.map(e.toPoolOrPair),m,l),inputAmount:r,outputAmount:i}}));return new o.Trade({v2Routes:T.filter((function(e){return e.routev2})).map((function(e){return{routev2:e.routev2,inputAmount:e.inputAmount,outputAmount:e.outputAmount}})),v3Routes:T.filter((function(e){return e.routev3})).map((function(e){return{routev3:e.routev3,inputAmount:e.inputAmount,outputAmount:e.outputAmount}})),v4Routes:[],mixedRoutes:T.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?u.Ether.onChain(t.chainId):this.toToken(t)},e.toToken=function(e){var t=e.symbol,n=e.buyFeeBps,a=e.sellFeeBps;return new u.Token(e.chainId,e.address,parseInt(e.decimals.toString()),t,void 0,!1,n?i.BigNumber.from(n):void 0,a?i.BigNumber.from(a):void 0)},e.toPool=function(t){var n=t.fee,a=t.sqrtRatioX96,r=t.liquidity,i=t.tickCurrent,p=t.tokenOut;return new y.Pool(e.toToken(t.tokenIn),e.toToken(p),parseInt(n),a,r,parseInt(i))},e.isVersionedRoute=function(e,t){return t.every((function(t){return t.type===e}))},e}();_e.toPoolOrPair=function(e){return e.type===exports.PoolType.V3Pool?_e.toPool(e):_e.toPair(e)},_e.toPair=function(e){var t=e.reserve0,n=e.reserve1;return new s.Pair(u.CurrencyAmount.fromRawAmount(_e.toToken(t.token),t.quotient),u.CurrencyAmount.fromRawAmount(_e.toToken(n.token),n.quotient))},exports.CryptopunkTrade=pe,exports.FoundationTrade=ye,exports.LooksRareV2Trade=ue,exports.NFT20Trade=me,exports.NFTTrade=x,exports.NFTXTrade=Te,exports.PERMIT2_ADDRESS="0x000000000022D473030F116dDEE9F6B43aC78BA3",exports.ROUTER_AS_RECIPIENT=Q,exports.RoutePlanner=X,exports.RouterTradeAdapter=_e,exports.SeaportTrade=fe,exports.SudoswapTrade=Ce,exports.SwapRouter=ie,exports.UNIVERSAL_ROUTER_ADDRESS=function(e,t){if(!(t in K))throw new Error("Universal Router not deployed on chain "+t);return K[t].routerConfigs[e].address},exports.UNIVERSAL_ROUTER_CREATION_BLOCK=function(e,t){if(!(t in K))throw new Error("Universal Router not deployed on chain "+t);return K[t].routerConfigs[e].creationBlock},exports.UniswapTrade=$,exports.UnwrapWETH=Re,exports.WETH_ADDRESS=q,exports.X2Y2Trade=xe,exports.isNativeCurrency=Ie;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t,r,o=(e=require("tiny-invariant"))&&"object"==typeof e&&"default"in e?e.default:e,n=require("@uniswap/universal-router/artifacts/contracts/UniversalRouter.sol/UniversalRouter.json"),a=require("@ethersproject/abi"),i=require("ethers"),s=require("ethers/lib/utils"),d=require("@uniswap/v2-sdk"),u=require("@uniswap/v3-sdk"),p=require("@uniswap/router-sdk"),m=require("@uniswap/sdk-core");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:String(t)}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}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.V3_POSITION_MANAGER_PERMIT=17]="V3_POSITION_MANAGER_PERMIT",r[r.V3_POSITION_MANAGER_CALL=18]="V3_POSITION_MANAGER_CALL",r[r.V4_POSITION_CALL=19]="V4_POSITION_CALL",r[r.EXECUTE_SUB_PLAN=33]="EXECUTE_SUB_PLAN";var T,l,f,A,_,x,E,R,h,y,P,v,b,w,V,B,U,I,S,g,F,k=new Set([exports.CommandType.EXECUTE_SUB_PLAN]),O=((t={})[exports.CommandType.EXECUTE_SUB_PLAN]=["bytes","bytes[]"],t[exports.CommandType.PERMIT2_PERMIT]=["((address token,uint160 amount,uint48 expiration,uint48 nonce) details,address spender,uint256 sigDeadline)","bytes"],t[exports.CommandType.PERMIT2_PERMIT_BATCH]=["((address token,uint160 amount,uint48 expiration,uint48 nonce)[] details,address spender,uint256 sigDeadline)","bytes"],t[exports.CommandType.PERMIT2_TRANSFER_FROM]=["address","address","uint160"],t[exports.CommandType.PERMIT2_TRANSFER_FROM_BATCH]=["(address from,address to,uint160 amount,address token)[]"],t[exports.CommandType.V3_SWAP_EXACT_IN]=["address","uint256","uint256","bytes","bool"],t[exports.CommandType.V3_SWAP_EXACT_OUT]=["address","uint256","uint256","bytes","bool"],t[exports.CommandType.V2_SWAP_EXACT_IN]=["address","uint256","uint256","address[]","bool"],t[exports.CommandType.V2_SWAP_EXACT_OUT]=["address","uint256","uint256","address[]","bool"],t[exports.CommandType.WRAP_ETH]=["address","uint256"],t[exports.CommandType.UNWRAP_WETH]=["address","uint256"],t[exports.CommandType.SWEEP]=["address","address","uint256"],t[exports.CommandType.TRANSFER]=["address","address","uint256"],t[exports.CommandType.PAY_PORTION]=["address","address","uint256"],t[exports.CommandType.BALANCE_CHECK_ERC20]=["address","address","uint256"],t[exports.CommandType.V3_POSITION_MANAGER_PERMIT]=["bytes"],t[exports.CommandType.V3_POSITION_MANAGER_CALL]=["bytes"],t[exports.CommandType.V4_POSITION_CALL]=["bytes"],t),D=function(){function e(){this.commands="0x",this.inputs=[]}var t=e.prototype;return t.addSubPlan=function(e){this.addCommand(exports.CommandType.EXECUTE_SUB_PLAN,[e.commands,e.inputs],!0)},t.addCommand=function(e,t,r){void 0===r&&(r=!1);var o=function(e,t){return{type:e,encodedInput:s.defaultAbiCoder.encode(O[e],t)}}(e,t);if(this.inputs.push(o.encodedInput),r){if(!k.has(o.type))throw new Error("command type: "+o.type+" cannot be allowed to revert");o.type=128|o.type}this.commands=this.commands.concat(o.type.toString(16).padStart(2,"0"))},e}();(T=exports.RouterActionType||(exports.RouterActionType={})).UniswapTrade="UniswapTrade",T.UnwrapWETH="UnwrapWETH",(F=exports.UniversalRouterVersion||(exports.UniversalRouterVersion={})).V1_2="1.2",F.V2_0="2.0";var N=((g={})[1]={weth:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",routerConfigs:(l={},l[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:17143817},l[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:17143817},l)},g[5]={weth:"0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6",routerConfigs:(f={},f[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:8940568},f[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:8940568},f)},g[11155111]={weth:"0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14",routerConfigs:(A={},A[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:3543575},A[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:3543575},A)},g[137]={weth:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",routerConfigs:(_={},_[exports.UniversalRouterVersion.V1_2]={address:"0xec7BE89e9d109e7e3Fec59c222CF297125FEFda2",creationBlock:52210153},_[exports.UniversalRouterVersion.V2_0]={address:"0xec7BE89e9d109e7e3Fec59c222CF297125FEFda2",creationBlock:52210153},_)},g[80001]={weth:"0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889",routerConfigs:(x={},x[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:35176052},x[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:35176052},x)},g[10]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(E={},E[exports.UniversalRouterVersion.V1_2]={address:"0xCb1355ff08Ab38bBCE60111F1bb2B784bE25D7e8",creationBlock:114702266},E[exports.UniversalRouterVersion.V2_0]={address:"0xCb1355ff08Ab38bBCE60111F1bb2B784bE25D7e8",creationBlock:114702266},E)},g[420]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(R={},R[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:8887728},R[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:8887728},R)},g[42161]={weth:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",routerConfigs:(h={},h[exports.UniversalRouterVersion.V1_2]={address:"0x5E325eDA8064b456f4781070C0738d849c824258",creationBlock:169472836},h[exports.UniversalRouterVersion.V2_0]={address:"0x5E325eDA8064b456f4781070C0738d849c824258",creationBlock:169472836},h)},g[421613]={weth:"0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3",routerConfigs:(y={},y[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:18815277},y[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:18815277},y)},g[42220]={weth:"0x0000000000000000000000000000000000000000",routerConfigs:(P={},P[exports.UniversalRouterVersion.V1_2]={address:"0x643770e279d5d0733f21d6dc03a8efbabf3255b4",creationBlock:21407637},P[exports.UniversalRouterVersion.V2_0]={address:"0x643770e279d5d0733f21d6dc03a8efbabf3255b4",creationBlock:21407637},P)},g[44787]={weth:"0x0000000000000000000000000000000000000000",routerConfigs:(v={},v[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:17566658},v[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:17566658},v)},g[56]={weth:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",routerConfigs:(b={},b[exports.UniversalRouterVersion.V1_2]={address:"0x4Dae2f939ACf50408e13d58534Ff8c2776d45265",creationBlock:35160263},b[exports.UniversalRouterVersion.V2_0]={address:"0x4Dae2f939ACf50408e13d58534Ff8c2776d45265",creationBlock:35160263},b)},g[43114]={weth:"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",routerConfigs:(w={},w[exports.UniversalRouterVersion.V1_2]={address:"0x4Dae2f939ACf50408e13d58534Ff8c2776d45265",creationBlock:40237257},w[exports.UniversalRouterVersion.V2_0]={address:"0x4Dae2f939ACf50408e13d58534Ff8c2776d45265",creationBlock:40237257},w)},g[84531]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(V={},V[exports.UniversalRouterVersion.V1_2]={address:"0xd0872d928672ae2ff74bdb2f5130ac12229cafaf",creationBlock:6915289},V[exports.UniversalRouterVersion.V2_0]={address:"0xd0872d928672ae2ff74bdb2f5130ac12229cafaf",creationBlock:6915289},V)},g[8453]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(B={},B[exports.UniversalRouterVersion.V1_2]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:9107268},B[exports.UniversalRouterVersion.V2_0]={address:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",creationBlock:9107268},B)},g[81457]={weth:"0x4300000000000000000000000000000000000004",routerConfigs:(U={},U[exports.UniversalRouterVersion.V1_2]={address:"0x643770E279d5D0733F21d6DC03A8efbABf3255B4",creationBlock:1116444},U[exports.UniversalRouterVersion.V2_0]={address:"0x643770E279d5D0733F21d6DC03A8efbABf3255B4",creationBlock:1116444},U)},g[7777777]={weth:"0x4200000000000000000000000000000000000006",routerConfigs:(I={},I[exports.UniversalRouterVersion.V1_2]={address:"0x2986d9721A49838ab4297b695858aF7F17f38014",creationBlock:11832155},I[exports.UniversalRouterVersion.V2_0]={address:"0x2986d9721A49838ab4297b695858aF7F17f38014",creationBlock:11832155},I)},g[324]={weth:"0x5aea5775959fbc2557cc8789bc1bf90a239d9a91",routerConfigs:(S={},S[exports.UniversalRouterVersion.V1_2]={address:"0x28731BCC616B5f51dD52CF2e4dF0E78dD1136C06",creationBlock:12640979},S[exports.UniversalRouterVersion.V2_0]={address:"0x28731BCC616B5f51dD52CF2e4dF0E78dD1136C06",creationBlock:12640979},S)},g),W=function(e){if(!(e in N))throw new Error("Universal Router not deployed on chain "+e);if("0x0000000000000000000000000000000000000000"==N[e].weth)throw new Error("Chain "+e+" does not have WETH");return N[e].weth},M=i.BigNumber.from(2).pow(255),q="0x0000000000000000000000000000000000000000",X="0x0000000000000000000000000000000000000002",L=new m.Percent(50,100),H=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.options.useRouterBalance}var t,r;return e.prototype.encode=function(e,t){var r;this.inputRequiresWrap&&e.addCommand(exports.CommandType.WRAP_ETH,[X,this.trade.maximumAmountIn(this.options.slippageTolerance).quotient.toString()]),this.options.recipient=null!=(r=this.options.recipient)?r:"0x0000000000000000000000000000000000000001";for(var o,n,a=this.trade.outputAmount.currency.isNative,s=this.trade.tradeType===m.TradeType.EXACT_INPUT&&this.trade.routes.length>2||a||!!(o=this.options).fee||!!o.flatFee,d=function(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 C(e,void 0);var r=Object.prototype.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)?C(e,void 0):void 0}}(e))){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.")}(this.trade.swaps);!(n=d()).done;){var c=n.value;switch(c.route.protocol){case p.Protocol.V2:j(e,c,this.trade.tradeType,this.options,this.payerIsUser,s);break;case p.Protocol.V3:G(e,c,this.trade.tradeType,this.options,this.payerIsUser,s);break;case p.Protocol.MIXED:K(e,c,this.trade.tradeType,this.options,this.payerIsUser,s);break;default:throw new Error("UNSUPPORTED_TRADE_PROTOCOL")}}var T=i.BigNumber.from(this.trade.minimumAmountOut(this.options.slippageTolerance).quotient.toString());if(s){if(this.options.fee){var l=u.toHex(this.options.fee.fee.multiply(1e4).quotient);e.addCommand(exports.CommandType.PAY_PORTION,[this.trade.outputAmount.currency.wrapped.address,this.options.fee.recipient,l]),this.trade.tradeType===m.TradeType.EXACT_OUTPUT&&(T=T.sub(T.mul(l).div(1e4)))}if(this.options.flatFee){var f=this.options.flatFee.amount;if(T.lt(f))throw new Error("Flat fee amount greater than minimumAmountOut");e.addCommand(exports.CommandType.TRANSFER,[this.trade.outputAmount.currency.wrapped.address,this.options.flatFee.recipient,f]),this.trade.tradeType===m.TradeType.EXACT_OUTPUT&&(T=T.sub(f))}a?e.addCommand(exports.CommandType.UNWRAP_WETH,[this.options.recipient,T]):e.addCommand(exports.CommandType.SWEEP,[this.trade.outputAmount.currency.wrapped.address,this.options.recipient,T])}this.inputRequiresWrap&&(this.trade.tradeType===m.TradeType.EXACT_OUTPUT||this.trade.priceImpact.greaterThan(L))&&e.addCommand(exports.CommandType.UNWRAP_WETH,[this.options.recipient,0]),this.options.safeMode&&e.addCommand(exports.CommandType.SWEEP,[q,this.options.recipient,0])},t=e,(r=[{key:"inputRequiresWrap",get:function(){return this.trade.inputAmount.currency.isNative}}])&&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}),e}();function j(e,t,r,o,n,a){var i=t.route,s=new d.Trade(i,r==m.TradeType.EXACT_INPUT?t.inputAmount:t.outputAmount,r);r==m.TradeType.EXACT_INPUT?e.addCommand(exports.CommandType.V2_SWAP_EXACT_IN,[a?X:o.recipient,s.maximumAmountIn(o.slippageTolerance).quotient.toString(),a?0:s.minimumAmountOut(o.slippageTolerance).quotient.toString(),i.path.map((function(e){return e.wrapped.address})),n]):r==m.TradeType.EXACT_OUTPUT&&e.addCommand(exports.CommandType.V2_SWAP_EXACT_OUT,[a?X:o.recipient,s.minimumAmountOut(o.slippageTolerance).quotient.toString(),s.maximumAmountIn(o.slippageTolerance).quotient.toString(),i.path.map((function(e){return e.wrapped.address})),n])}function G(e,t,r,o,n,a){var i=t.route,s=u.Trade.createUncheckedTrade({route:i,inputAmount:t.inputAmount,outputAmount:t.outputAmount,tradeType:r}),d=u.encodeRouteToPath(i,s.tradeType===m.TradeType.EXACT_OUTPUT);r==m.TradeType.EXACT_INPUT?e.addCommand(exports.CommandType.V3_SWAP_EXACT_IN,[a?X:o.recipient,s.maximumAmountIn(o.slippageTolerance).quotient.toString(),a?0:s.minimumAmountOut(o.slippageTolerance).quotient.toString(),d,n]):r==m.TradeType.EXACT_OUTPUT&&e.addCommand(exports.CommandType.V3_SWAP_EXACT_OUT,[a?X:o.recipient,s.minimumAmountOut(o.slippageTolerance).quotient.toString(),s.maximumAmountIn(o.slippageTolerance).quotient.toString(),d,n])}function K(e,t,r,o,n,a){var i=t.route,s=t.inputAmount,m=t.outputAmount,c=a?X:o.recipient;if(1===i.pools.length){if(i.pools[0]instanceof u.Pool)return G(e,t,r,o,n,a);if(i.pools[0]instanceof d.Pair)return j(e,t,r,o,n,a);throw new Error("Invalid route type")}for(var C,T=p.MixedRouteTrade.createUncheckedTrade({route:i,inputAmount:s,outputAmount:m,tradeType:r}),l=T.maximumAmountIn(o.slippageTolerance,s).quotient.toString(),f=a?0:T.minimumAmountOut(o.slippageTolerance,m).quotient.toString(),A=p.partitionMixedRouteByProtocol(i),_=function(e){return e===A.length-1},x=i.input.wrapped,E=0;E<A.length;E++){var R=A[E];C=p.getOutputOfPools(R,x);var h=new p.MixedRouteSDK([].concat(R),R[0].token0.equals(x)?R[0].token0:R[0].token1,C),y=new p.MixedRoute(h);if(x=C.wrapped,function(e){return e.pools.every((function(e){return e instanceof u.Pool}))}(y)){var P=p.encodeMixedRouteToPath(y);e.addCommand(exports.CommandType.V3_SWAP_EXACT_IN,[_(E)?c:A[E+1][0].liquidityToken.address,0==E?l:M,_(E)?f:0,P,n&&0===E])}else e.addCommand(exports.CommandType.V2_SWAP_EXACT_IN,[_(E)?c:X,0===E?l:M,_(E)?f:0,y.path.map((function(e){return e.wrapped.address})),n&&0===E])}}function Y(e,t){var r=t.signature,o=i.ethers.utils.arrayify(t.signature).length;65!==o&&64!==o||(r=i.ethers.utils.joinSignature(i.ethers.utils.splitSignature(t.signature))),e.addCommand(exports.CommandType.PERMIT2_PERMIT,[t,r])}var Q=function(){function e(){}return e.swapCallParameters=function(t,r){var n=new D,a=new H(t,r),s=a.trade.inputAmount.currency;s.isNative&&r.inputTokenPermit&&o(!1),r.inputTokenPermit&&Y(n,r.inputTokenPermit);var d=i.BigNumber.from(s.isNative?a.trade.maximumAmountIn(r.slippageTolerance).quotient.toString():0);return a.encode(n,{allowRevert:!1}),e.encodePlan(n,d,{deadline:r.deadlineOrPreviousBlockhash?i.BigNumber.from(r.deadlineOrPreviousBlockhash):void 0})},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}();Q.INTERFACE=new a.Interface(n.abi);var $,z=function(){function e(e,t,r){this.tradeType=exports.RouterActionType.UnwrapWETH,this.wethAddress=W(t),this.amount=e,r&&(r.details.token.toLowerCase()!==this.wethAddress.toLowerCase()&&o(!1),r.details.amount>=e||o(!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&&o(!1),t.permit2Permit&&Y(e,t.permit2Permit),t.permit2TransferFrom&&e.addCommand(exports.CommandType.PERMIT2_TRANSFER_FROM,[t.permit2TransferFrom.token,t.permit2TransferFrom.recipient?t.permit2TransferFrom.recipient:X,t.permit2TransferFrom.amount])}(e,{permit2Permit:this.permit2Data,permit2TransferFrom:{token:this.wethAddress,amount:this.amount.toString()}}),e.addCommand(exports.CommandType.UNWRAP_WETH,[X,this.amount])},e}();($=exports.PoolType||(exports.PoolType={})).V2Pool="v2-pool",$.V3Pool="v3-pool";var J=function(e){return e.toLowerCase()===q.toLowerCase()||e.toLowerCase()==="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee".toLowerCase()},Z=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],i=a[0].tokenIn,s=a[a.length-1].tokenOut;if(!i||!s)throw new Error("Expected both tokenIn and tokenOut to be present");if(i.chainId!==s.chainId)throw new Error("Expected tokenIn and tokenOut to be have same chainId");var c=e.toCurrency(J(o),i),C=e.toCurrency(J(n),s),T=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=m.CurrencyAmount.fromRawAmount(c,r),a=m.CurrencyAmount.fromRawAmount(C,o),i=e.isVersionedRoute(exports.PoolType.V2Pool,t),s=e.isVersionedRoute(exports.PoolType.V3Pool,t);return{routev3:s?new u.Route(t.map(e.toPool),c,C):null,routev2:i?new d.Route(t.map(e.toPair),c,C):null,mixedRoute:s||i?null:new p.MixedRouteSDK(t.map(e.toPoolOrPair),c,C),inputAmount:n,outputAmount:a}}));return new p.Trade({v2Routes:T.filter((function(e){return e.routev2})).map((function(e){return{routev2:e.routev2,inputAmount:e.inputAmount,outputAmount:e.outputAmount}})),v3Routes:T.filter((function(e){return e.routev3})).map((function(e){return{routev3:e.routev3,inputAmount:e.inputAmount,outputAmount:e.outputAmount}})),v4Routes:[],mixedRoutes:T.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?m.Ether.onChain(t.chainId):this.toToken(t)},e.toToken=function(e){var t=e.symbol,r=e.buyFeeBps,o=e.sellFeeBps;return new m.Token(e.chainId,e.address,parseInt(e.decimals.toString()),t,void 0,!1,r?i.BigNumber.from(r):void 0,o?i.BigNumber.from(o):void 0)},e.toPool=function(t){var r=t.fee,o=t.sqrtRatioX96,n=t.liquidity,a=t.tickCurrent,i=t.tokenOut;return new u.Pool(e.toToken(t.tokenIn),e.toToken(i),parseInt(r),o,n,parseInt(a))},e.isVersionedRoute=function(e,t){return t.every((function(t){return t.type===e}))},e}();Z.toPoolOrPair=function(e){return e.type===exports.PoolType.V3Pool?Z.toPool(e):Z.toPair(e)},Z.toPair=function(e){var t=e.reserve0,r=e.reserve1;return new d.Pair(m.CurrencyAmount.fromRawAmount(Z.toToken(t.token),t.quotient),m.CurrencyAmount.fromRawAmount(Z.toToken(r.token),r.quotient))},exports.PERMIT2_ADDRESS="0x000000000022D473030F116dDEE9F6B43aC78BA3",exports.ROUTER_AS_RECIPIENT=X,exports.RoutePlanner=D,exports.RouterTradeAdapter=Z,exports.SwapRouter=Q,exports.UNIVERSAL_ROUTER_ADDRESS=function(e,t){if(!(t in N))throw new Error("Universal Router not deployed on chain "+t);return N[t].routerConfigs[e].address},exports.UNIVERSAL_ROUTER_CREATION_BLOCK=function(e,t){if(!(t in N))throw new Error("Universal Router not deployed on chain "+t);return N[t].routerConfigs[e].creationBlock},exports.UniswapTrade=H,exports.UnwrapWETH=z,exports.WETH_ADDRESS=W,exports.isNativeCurrency=J;
|
|
2
2
|
//# sourceMappingURL=universal-router-sdk.cjs.production.min.js.map
|