@uniswap/universal-router-sdk 2.0.1 → 2.0.4-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- "use strict";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"),i=require("@ethersproject/abi"),r=require("ethers"),p=require("ethers/lib/utils"),s=require("@uniswap/v2-sdk"),y=require("@uniswap/v3-sdk"),u=require("@uniswap/router-sdk"),o=require("@uniswap/sdk-core");function d(){return(d=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 m(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 l(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 T(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 l(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)?l(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",t.WrapSTETH="WrapSTETH",t.UnwrapSTETH="UnwrapSTETH";var c,f,b,v,C=function(e,t){this.tradeType=exports.RouterTradeType.NFTTrade,t.length>0||n(!1),this.market=e,this.orders=t};(c=exports.Market||(exports.Market={})).Foundation="foundation",c.LooksRareV2="looksrareV2",c.NFT20="nft20",c.NFTX="nftx",c.Seaport="seaport",c.Sudoswap="Sudoswap",c.Cryptopunks="cryptopunks",c.X2Y2="x2y2",c.Element="element",(f=exports.TokenType||(exports.TokenType={})).ERC721="ERC721",f.ERC1155="ERC1155",f.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",v[v.WRAP_STETH=35]="WRAP_STETH",v[v.UNWRAP_STETH=36]="UNWRAP_STETH";var A,x=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]),S=((b={})[exports.CommandType.EXECUTE_SUB_PLAN]=["bytes","bytes[]"],b[exports.CommandType.PERMIT2_PERMIT]=["((address token,uint160 amount,uint48 expiration,uint48 nonce) details,address spender,uint256 sigDeadline)","bytes"],b[exports.CommandType.PERMIT2_PERMIT_BATCH]=["((address token,uint160 amount,uint48 expiration,uint48 nonce)[] details,address spender,uint256 sigDeadline)","bytes"],b[exports.CommandType.PERMIT2_TRANSFER_FROM]=["address","address","uint160"],b[exports.CommandType.PERMIT2_TRANSFER_FROM_BATCH]=["(address from,address to,uint160 amount,address token)[]"],b[exports.CommandType.V3_SWAP_EXACT_IN]=["address","uint256","uint256","bytes","bool"],b[exports.CommandType.V3_SWAP_EXACT_OUT]=["address","uint256","uint256","bytes","bool"],b[exports.CommandType.V2_SWAP_EXACT_IN]=["address","uint256","uint256","address[]","bool"],b[exports.CommandType.V2_SWAP_EXACT_OUT]=["address","uint256","uint256","address[]","bool"],b[exports.CommandType.WRAP_ETH]=["address","uint256"],b[exports.CommandType.UNWRAP_WETH]=["address","uint256"],b[exports.CommandType.SWEEP]=["address","address","uint256"],b[exports.CommandType.SWEEP_ERC721]=["address","address","uint256"],b[exports.CommandType.SWEEP_ERC1155]=["address","address","uint256","uint256"],b[exports.CommandType.TRANSFER]=["address","address","uint256"],b[exports.CommandType.PAY_PORTION]=["address","address","uint256"],b[exports.CommandType.BALANCE_CHECK_ERC20]=["address","address","uint256"],b[exports.CommandType.OWNER_CHECK_721]=["address","address","uint256"],b[exports.CommandType.OWNER_CHECK_1155]=["address","address","uint256","uint256"],b[exports.CommandType.APPROVE_ERC20]=["address","uint256"],b[exports.CommandType.WRAP_STETH]=["address","uint256"],b[exports.CommandType.UNWRAP_STETH]=["address","uint256"],b[exports.CommandType.SEAPORT_V1_5]=["uint256","bytes"],b[exports.CommandType.SEAPORT_V1_4]=["uint256","bytes"],b[exports.CommandType.NFTX]=["uint256","bytes"],b[exports.CommandType.LOOKS_RARE_V2]=["uint256","bytes"],b[exports.CommandType.X2Y2_721]=["uint256","bytes","address","address","uint256"],b[exports.CommandType.X2Y2_1155]=["uint256","bytes","address","address","uint256","uint256"],b[exports.CommandType.FOUNDATION]=["uint256","bytes","address","address","uint256"],b[exports.CommandType.SUDOSWAP]=["uint256","bytes"],b[exports.CommandType.NFT20]=["uint256","bytes"],b[exports.CommandType.CRYPTOPUNKS]=["uint256","address","uint256"],b[exports.CommandType.ELEMENT_MARKET]=["uint256","bytes"],b),R=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(S[e],t)}}(e,t);if(this.inputs.push(a.encodedInput),n){if(!x.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}(),I="0x0000000000000000000000000000000000000000",_=((A={})[1]={router:"0x3F6328669a86bef431Dc6F9201A5B90F7975a023",weth:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",steth:"0xae7ab96520de3a18e5e111b5eaab095312d7fe84",wsteth:"0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0",creationBlock:17143817},A[5]={router:"0x3F6328669a86bef431Dc6F9201A5B90F7975a023",weth:"0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6",steth:"0x1643E812aE58766192Cf7D2Cf9567dF2C37e9B7F",wsteth:"0x6320cD32aA674d2898A68ec82e869385Fc5f7E2f",creationBlock:8940568},A[11155111]={router:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",weth:"0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14",steth:I,wsteth:I,creationBlock:3543575},A[137]={router:"0x643770E279d5D0733F21d6DC03A8efbABf3255B4",weth:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",steth:I,wsteth:I,creationBlock:46866777},A[80001]={router:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",weth:"0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889",steth:I,wsteth:I,creationBlock:35176052},A[10]={router:"0xeC8B0F7Ffe3ae75d7FfAb09429e3675bb63503e4",weth:"0x4200000000000000000000000000000000000006",steth:I,wsteth:I,creationBlock:108825869},A[420]={router:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",weth:"0x4200000000000000000000000000000000000006",steth:I,wsteth:I,creationBlock:8887728},A[42161]={router:"0xeC8B0F7Ffe3ae75d7FfAb09429e3675bb63503e4",weth:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",steth:I,wsteth:I,creationBlock:125861718},A[421613]={router:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",weth:"0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3",steth:I,wsteth:I,creationBlock:18815277},A[42220]={router:"0x88a3ED7F21A3fCF6adb86b6F878C5B7a02D20e9b",weth:I,steth:I,wsteth:I,creationBlock:21116361},A[44787]={router:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",weth:I,steth:I,wsteth:I,creationBlock:17566658},A[56]={router:"0xeC8B0F7Ffe3ae75d7FfAb09429e3675bb63503e4",weth:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",steth:I,wsteth:I,creationBlock:31254967},A[43114]={router:"0x82635AF6146972cD6601161c4472ffe97237D292",weth:"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",steth:I,wsteth:I,creationBlock:34491144},A[84531]={router:"0xd0872d928672ae2ff74bdb2f5130ac12229cafaf",weth:"0x4200000000000000000000000000000000000006",steth:I,wsteth:I,creationBlock:6915289},A[8453]={router:"0xeC8B0F7Ffe3ae75d7FfAb09429e3675bb63503e4",weth:"0x4200000000000000000000000000000000000006",steth:I,wsteth:I,creationBlock:3229053},A),M=function(e){if(!(e in _))throw new Error("Universal Router not deployed on chain "+e);if(_[e].weth==I)throw new Error("Chain "+e+" does not have WETH");return _[e].weth},h=function(e){if(!(e in _))throw new Error("Universal Router not deployed on chain "+e);if(_[e].steth==I)throw new Error("Chain "+e+" does not have STETH support");return _[e].steth},E=r.BigNumber.from(2).pow(255),w="0x0000000000000000000000000000000000000000",k="0x0000000000000000000000000000000000000000",P="0x0000000000000000000000000000000000000001",F="0x0000000000000000000000000000000000000002",O=new o.Percent(50,100),N=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")}return e.prototype.encode=function(e,t){var n,a=!this.options.payerIsRouter;this.trade.inputAmount.currency.isNative&&(e.addCommand(exports.CommandType.WRAP_ETH,[F,this.trade.maximumAmountIn(this.options.slippageTolerance).quotient.toString()]),a=!1),this.options.recipient=null!=(n=this.options.recipient)?n:P;for(var i,p,s=this.trade.outputAmount.currency.isNative,d=this.trade.inputAmount.currency.isNative,m=this.trade.tradeType===o.TradeType.EXACT_INPUT&&this.trade.routes.length>2||s||!!(i=this.options).fee||!!i.flatFee,l=T(this.trade.swaps);!(p=l()).done;){var c=p.value;switch(c.route.protocol){case u.Protocol.V2:g(e,c,this.trade.tradeType,this.options,a,m);break;case u.Protocol.V3:B(e,c,this.trade.tradeType,this.options,a,m);break;case u.Protocol.MIXED:V(e,c,this.trade.tradeType,this.options,a,m);break;default:throw new Error("UNSUPPORTED_TRADE_PROTOCOL")}}var f=r.BigNumber.from(this.trade.minimumAmountOut(this.options.slippageTolerance).quotient.toString());if(m){if(this.options.fee){var b=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,b]),this.trade.tradeType===o.TradeType.EXACT_OUTPUT&&(f=f.sub(f.mul(b).div(1e4)))}if(this.options.flatFee){var v=this.options.flatFee.amount;if(f.lt(v))throw new Error("Flat fee amount greater than minimumAmountOut");e.addCommand(exports.CommandType.TRANSFER,[this.trade.outputAmount.currency.wrapped.address,this.options.flatFee.recipient,v]),this.trade.tradeType===o.TradeType.EXACT_OUTPUT&&(f=f.sub(v))}s?e.addCommand(exports.CommandType.UNWRAP_WETH,[this.options.recipient,f]):e.addCommand(exports.CommandType.SWEEP,[this.trade.outputAmount.currency.wrapped.address,this.options.recipient,f])}d&&(this.trade.tradeType===o.TradeType.EXACT_OUTPUT||this.trade.priceImpact.greaterThan(O))&&e.addCommand(exports.CommandType.UNWRAP_WETH,[this.options.recipient,0])},e}();function g(e,t,n,a,i,r){var p=t.route,y=new s.Trade(p,n==o.TradeType.EXACT_INPUT?t.inputAmount:t.outputAmount,n);n==o.TradeType.EXACT_INPUT?e.addCommand(exports.CommandType.V2_SWAP_EXACT_IN,[r?F:a.recipient,y.maximumAmountIn(a.slippageTolerance).quotient.toString(),y.minimumAmountOut(a.slippageTolerance).quotient.toString(),p.path.map((function(e){return e.address})),i]):n==o.TradeType.EXACT_OUTPUT&&e.addCommand(exports.CommandType.V2_SWAP_EXACT_OUT,[r?F:a.recipient,y.minimumAmountOut(a.slippageTolerance).quotient.toString(),y.maximumAmountIn(a.slippageTolerance).quotient.toString(),p.path.map((function(e){return e.address})),i])}function B(e,t,n,a,i,r){var p=t.route,s=y.Trade.createUncheckedTrade({route:p,inputAmount:t.inputAmount,outputAmount:t.outputAmount,tradeType:n}),u=y.encodeRouteToPath(p,s.tradeType===o.TradeType.EXACT_OUTPUT);n==o.TradeType.EXACT_INPUT?e.addCommand(exports.CommandType.V3_SWAP_EXACT_IN,[r?F:a.recipient,s.maximumAmountIn(a.slippageTolerance).quotient.toString(),s.minimumAmountOut(a.slippageTolerance).quotient.toString(),u,i]):n==o.TradeType.EXACT_OUTPUT&&e.addCommand(exports.CommandType.V3_SWAP_EXACT_OUT,[r?F:a.recipient,s.minimumAmountOut(a.slippageTolerance).quotient.toString(),s.maximumAmountIn(a.slippageTolerance).quotient.toString(),u,i])}function V(e,t,n,a,i,r){var p=t.route,o=t.inputAmount,d=t.outputAmount,m=r?F:a.recipient;if(1===p.pools.length){if(p.pools[0]instanceof y.Pool)return B(e,t,n,a,i,r);if(p.pools[0]instanceof s.Pair)return g(e,t,n,a,i,r);throw new Error("Invalid route type")}for(var l,T=u.MixedRouteTrade.createUncheckedTrade({route:p,inputAmount:o,outputAmount:d,tradeType:n}),c=T.maximumAmountIn(a.slippageTolerance,o).quotient.toString(),f=T.minimumAmountOut(a.slippageTolerance,d).quotient.toString(),b=u.partitionMixedRouteByProtocol(p),v=function(e){return e===b.length-1},C=p.input.wrapped,A=0;A<b.length;A++){var x=b[A];l=u.getOutputOfPools(x,C);var S=new u.MixedRouteSDK([].concat(x),x[0].token0.equals(C)?x[0].token0:x[0].token1,l),R=new u.MixedRoute(S);if(C=l,function(e){return e.pools.every((function(e){return e instanceof y.Pool}))}(R)){var I=u.encodeMixedRouteToPath(R);e.addCommand(exports.CommandType.V3_SWAP_EXACT_IN,[v(A)?m:b[A+1][0].liquidityToken.address,0==A?c:E,v(A)?f:0,I,i&&0===A])}else e.addCommand(exports.CommandType.V2_SWAP_EXACT_IN,[v(A)?m:F,0===A?c:E,v(A)?f:0,R.path.map((function(e){return e.address})),i&&0===A])}}function L(e,t){var n=t.signature,a=r.ethers.utils.arrayify(t.signature).length;65!==a&&64!==a||(n=r.ethers.utils.joinSignature(r.ethers.utils.splitSignature(t.signature))),e.addCommand(exports.CommandType.PERMIT2_PERMIT,[t,n])}function D(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,U(t.approval.protocol)]),t.permit2Permit&&L(e,t.permit2Permit),t.permit2TransferFrom&&e.addCommand(exports.CommandType.PERMIT2_TRANSFER_FROM,[t.permit2TransferFrom.token,t.permit2TransferFrom.recipient?t.permit2TransferFrom.recipient:F,t.permit2TransferFrom.amount])}function U(e){switch(e.toLowerCase()){case"0x00000000000000adc04c56bf30ac9d3c0aaf14dc":case"0x00000000000001ad428e4906ae43d8f9852d0dd6":return 0;case"0x2b2e8cda09bba9660dca5cb6233787738ad68329":return 1;default:throw new Error("unsupported protocol address")}}var H=function(){function e(){}return e.swapCallParameters=function(t,a){void 0===a&&(a={}),Array.isArray(t)||(t=[t]);for(var i,p=t.filter((function(e,t,n){return e.hasOwnProperty("market")})),s=1!=p.length||1!=p[0].orders.length,y=new R,u=r.BigNumber.from(0),o=r.BigNumber.from(0),d=new Set,m=T(t);!(i=m()).done;){var l=i.value;if(l.tradeType==exports.RouterTradeType.NFTTrade){var c=l;c.encode(y,{allowRevert:s});var f=c.getTotalPrice();c.market==exports.Market.Seaport?c.getInputTokens().forEach((function(e){d.add(e)})):d.add(w),u.lt(f)?(o=o.add(f.sub(u)),u=r.BigNumber.from(0)):u=u.sub(f)}else if(l.tradeType==exports.RouterTradeType.UniswapTrade){var b=l,v=b.trade.inputAmount.currency.isNative,C=b.trade.outputAmount.currency.isNative,A=b.options;v&&A.inputTokenPermit&&n(!1),A.inputTokenPermit&&L(y,A.inputTokenPermit),v&&(o=o.add(r.BigNumber.from(b.trade.maximumAmountIn(A.slippageTolerance).quotient.toString()))),C&&A.recipient==F&&(u=u.add(r.BigNumber.from(b.trade.minimumAmountOut(A.slippageTolerance).quotient.toString()))),b.encode(y,{allowRevert:!1})}else if(l.tradeType==exports.RouterTradeType.UnwrapWETH){var x=l;l.encode(y,{allowRevert:!1}),u=u.add(x.amount)}else{if(l.tradeType!=exports.RouterTradeType.WrapSTETH&&l.tradeType!=exports.RouterTradeType.UnwrapSTETH)throw"trade must be of instance: UniswapTrade, NFTTrade, UnwrapWETH, WrapSTETH";l.encode(y,{allowRevert:!1})}}return d.forEach((function(e){y.addCommand(exports.CommandType.SWEEP,[e,P,0])})),e.encodePlan(y,o,a)},e.swapNFTCallParameters=function(t,n){void 0===n&&(n={});for(var a,i=new R,p=r.BigNumber.from(0),s=1!=t.length||1!=t[0].orders.length,y=T(t);!(a=y()).done;){var u=a.value;u.encode(i,{allowRevert:s}),p=p.add(u.getTotalPrice())}return i.addCommand(exports.CommandType.SWEEP,[w,P,0]),e.encodePlan(i,p,n)},e.swapERC20CallParameters=function(t,a){var i=new R,p=new N(t,a),s=p.trade.inputAmount.currency;s.isNative&&a.inputTokenPermit&&n(!1),a.inputTokenPermit&&L(i,a.inputTokenPermit);var y=r.BigNumber.from(s.isNative?p.trade.maximumAmountIn(a.slippageTolerance).quotient.toString():0);return p.encode(i,{allowRevert:!1}),e.encodePlan(i,y,{deadline:a.deadlineOrPreviousBlockhash?r.BigNumber.from(a.deadlineOrPreviousBlockhash):void 0})},e.encodePlan=function(t,n,a){void 0===a&&(a={});var i=t.commands,r=t.inputs;return{calldata:e.INTERFACE.encodeFunctionData(a.deadline?"execute(bytes,bytes[],uint256)":"execute(bytes,bytes[])",a.deadline?[i,r,a.deadline]:[i,r]),value:n.toHexString()}},e}();H.INTERFACE=new i.Interface(a.abi);var W=function(e){function t(t){return e.call(this,exports.Market.Cryptopunks,t)||this}m(t,e);var n=t.prototype;return n.encode=function(e,t){for(var n,a=T(this.orders);!(n=a()).done;){var i=n.value;e.addCommand(exports.CommandType.CRYPTOPUNKS,[i.tokenId,i.recipient,i.value],t.allowRevert)}},n.getBuyItems=function(){for(var e,n=[],a=T(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=r.BigNumber.from(0),n=T(this.orders);!(e=n()).done;)t=t.add(e.value.value);return t},t}(C);W.CRYPTOPUNK_ADDRESS="0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb";var X=[{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"}],K=function(e){function t(t){return e.call(this,exports.Market.Foundation,t)||this}m(t,e);var n=t.prototype;return n.encode=function(e,n){for(var a,i=T(this.orders);!(a=i()).done;){var r=a.value,p=t.INTERFACE.encodeFunctionData("buyV2",[r.tokenAddress,r.tokenId,r.price,r.referrer]);e.addCommand(exports.CommandType.FOUNDATION,[r.price,p,r.recipient,r.tokenAddress,r.tokenId],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=T(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=r.BigNumber.from(0),n=T(this.orders);!(e=n()).done;)t=t.add(e.value.price);return t},t}(C);K.INTERFACE=new i.Interface(X);var q=[{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"}],z=function(e){function t(t){return e.call(this,exports.Market.LooksRareV2,t)||this}m(t,e);var n=t.prototype;return n.encode=function(e,n){var a,i=this.refactorAPIData(this.orders),r=i.takerBids,p=i.makerOrders,s=i.makerSignatures,y=i.totalValue,u=i.merkleTrees;a=1==this.orders.length?t.INTERFACE.encodeFunctionData("executeTakerBid",[r[0],p[0],s[0],u[0],k]):t.INTERFACE.encodeFunctionData("executeMultipleTakerBids",[r,p,s,u,k,!1]),e.addCommand(exports.CommandType.LOOKS_RARE_V2,[y,a],n.allowRevert)},n.getBuyItems=function(){for(var e,n=[],a=T(this.orders);!(e=a()).done;)for(var i,r=e.value,p=r.apiOrder.collection,s=r.apiOrder.collectionType==t.ERC721_ORDER?exports.TokenType.ERC721:exports.TokenType.ERC1155,y=T(r.apiOrder.itemIds);!(i=y()).done;)n.push({tokenAddress:p,tokenId:i.value,tokenType:s});return n},n.getTotalPrice=function(){for(var e,t=r.BigNumber.from(0),n=T(this.orders);!(e=n()).done;)t=t.add(e.value.apiOrder.price);return t},n.refactorAPIData=function(e){var t=[],n=[],a=[],i=r.BigNumber.from(0),p=[];return e.forEach((function(e){var s,y;n.push(d({},e.apiOrder)),a.push(e.apiOrder.signature),t.push({recipient:e.taker,additionalParameters:"0x"}),i=i.add(r.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:i,merkleTrees:p}},t}(C);z.INTERFACE=new i.Interface(q),z.ERC721_ORDER=0;var Y=[{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"}],j=function(e){function t(t){return e.call(this,exports.Market.NFT20,t)||this}m(t,e);var n=t.prototype;return n.encode=function(e,n){for(var a,i=T(this.orders);!(a=i()).done;){var r=a.value,p=t.INTERFACE.encodeFunctionData("ethForNft",[r.tokenAddress,r.tokenIds,r.tokenAmounts,r.recipient,r.fee,r.isV3]);e.addCommand(exports.CommandType.NFT20,[r.value,p],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=T(this.orders);!(e=n()).done;)for(var a,i=e.value,r=T(i.tokenIds);!(a=r()).done;)t.push({tokenAddress:i.tokenAddress,tokenId:a.value,tokenType:exports.TokenType.ERC721});return t},n.getTotalPrice=function(){for(var e,t=r.BigNumber.from(0),n=T(this.orders);!(e=n()).done;)t=t.add(e.value.value);return t},t}(C);j.INTERFACE=new i.Interface(Y);var G=[{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"}],Q=function(e){function t(t){return e.call(this,exports.Market.NFTX,t)||this}m(t,e);var n=t.prototype;return n.encode=function(e,n){for(var a,i=T(this.orders);!(a=i()).done;){var r=a.value,p=t.INTERFACE.encodeFunctionData("buyAndRedeem",[r.vaultId,r.tokenIds.length,r.tokenIds,r.swapCalldata,r.recipient]);e.addCommand(exports.CommandType.NFTX,[r.value,p],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=T(this.orders);!(e=n()).done;)for(var a,i=e.value,r=T(i.tokenIds);!(a=r()).done;)t.push({tokenAddress:i.tokenAddress,tokenId:a.value,tokenType:exports.TokenType.ERC721});return t},n.getTotalPrice=function(){for(var e,t=r.BigNumber.from(0),n=T(this.orders);!(e=n()).done;)t=t.add(e.value.value);return t},t}(C);Q.INTERFACE=new i.Interface(G);var Z=[{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"}],$=function(e){function t(t){return e.call(this,exports.Market.Seaport,t)||this}m(t,e);var n=t.prototype;return n.encode=function(e,n){for(var a,i=T(this.orders);!(a=i()).done;){for(var r,p=a.value,s=[],y=p.items.map((function(e,t){return[{orderIndex:t,itemIndex:0}]})),u=this.getConsiderationFulfillments(p.items),o=T(p.items);!(r=o()).done;){var d=this.getAdvancedOrderParams(r.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,u,t.OPENSEA_CONDUIT_KEY,p.recipient,100]),p.inputTokenProcessing)for(var l,c=T(p.inputTokenProcessing);!(l=c()).done;){var f=l.value;D(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,w).toString(),m],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=T(this.orders);!(e=n()).done;)for(var a,i=T(e.value.items);!(a=i()).done;)for(var r,p=T(a.value.parameters.offer);!(r=p()).done;){var s=r.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=T(this.orders);!(e=n()).done;)for(var a,i=T(e.value.items);!(a=i()).done;)for(var r,p=T(a.value.parameters.consideration);!(r=p()).done;){var s=r.value.token.toLowerCase();t.add(s)}return t},n.getTotalOrderPrice=function(e,t){void 0===t&&(t=w);for(var n,a=r.BigNumber.from(0),i=T(e.items);!(n=i()).done;)a=a.add(this.calculateValue(n.value.parameters.consideration,t));return a},n.getTotalPrice=function(e){void 0===e&&(e=w);for(var t,n=r.BigNumber.from(0),a=T(this.orders);!(t=a()).done;)for(var i,p=T(t.value.items);!(i=p()).done;)n=n.add(this.calculateValue(i.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 i=e[a],r=function(e){var r=i.parameters.consideration[e];-1===n.findIndex((function(e){return e===r.recipient}))&&n.push(r.recipient);var p=n.findIndex((function(e){return e===r.recipient}));t[p]?t[p].push({orderIndex:a,itemIndex:e}):t.push([{orderIndex:a,itemIndex:e}])};for(var p in i.parameters.consideration)r(p)}return t},n.getAdvancedOrderParams=function(e){return{advancedOrder:{parameters:e.parameters,numerator:r.BigNumber.from("1"),denominator:r.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}),r.BigNumber.from(0))},t}(C);$.INTERFACE=new i.Interface(Z),$.OPENSEA_CONDUIT_KEY="0x0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000";var J=[{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"}],ee=function(e){function t(t){return e.call(this,exports.Market.Sudoswap,t)||this}m(t,e);var n=t.prototype;return n.encode=function(e,n){for(var a,i=T(this.orders);!(a=i()).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)}),r.BigNumber.from(0));e.addCommand(exports.CommandType.SUDOSWAP,[y,s],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=T(this.orders);!(e=n()).done;)for(var a,i=T(e.value.swaps);!(a=i()).done;)for(var r,p=a.value,s=T(p.swapInfo.nftIds);!(r=s()).done;)t.push({tokenAddress:p.tokenAddress,tokenId:r.value,tokenType:exports.TokenType.ERC721});return t},n.getTotalPrice=function(){for(var e,t=r.BigNumber.from(0),n=T(this.orders);!(e=n()).done;)for(var a,i=T(e.value.swaps);!(a=i()).done;)t=t.add(a.value.maxCost);return t},t}(C);ee.INTERFACE=new i.Interface(J);var te=[{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"}],ne=function(e){function t(t){return e.call(this,exports.Market.X2Y2,t)||this}m(t,e);var n=t.prototype;return n.encode=function(e,n){for(var a,i=T(this.orders);!(a=i()).done;){var r=a.value,p=t.INTERFACE.getSighash(t.INTERFACE.getFunction("run"))+r.signedInput.slice(2);r.tokenType==exports.TokenType.ERC721?e.addCommand(exports.CommandType.X2Y2_721,[r.price,p,r.recipient,r.tokenAddress,r.tokenId],n.allowRevert):r.tokenType==exports.TokenType.ERC1155&&e.addCommand(exports.CommandType.X2Y2_1155,[r.price,p,r.recipient,r.tokenAddress,r.tokenId,r.tokenAmount],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=T(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=r.BigNumber.from(0),n=T(this.orders);!(e=n()).done;)t=t.add(e.value.price);return t},t}(C);ne.INTERFACE=new i.Interface(te);var ae=function(){function e(e,t,a){this.tradeType=exports.RouterTradeType.UnwrapWETH,this.wethAddress=M(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){D(e,{permit2Permit:this.permit2Data,permit2TransferFrom:{token:this.wethAddress,amount:this.amount.toString()}}),e.addCommand(exports.CommandType.UNWRAP_WETH,[F,this.amount])},e}(),ie=function(){function e(e,t,a,i){this.tradeType=exports.RouterTradeType.WrapSTETH,this.stethAddress=h(t),this.amount=e,this.wrapAmount=null!=i?i:E,a&&(a.details.token.toLowerCase()!==this.stethAddress.toLowerCase()&&n(!1),a.details.amount>=e||n(!1),this.permit2Data=a)}return e.prototype.encode=function(e,t){D(e,{permit2Permit:this.permit2Data,permit2TransferFrom:{token:this.stethAddress,amount:this.amount.toString()}}),e.addCommand(exports.CommandType.WRAP_STETH,[F,this.wrapAmount])},e}(),re=function(){function e(e,t,a){this.tradeType=exports.RouterTradeType.UnwrapSTETH,this.recipient=e,this.amountMinimum=t,h(a)==I&&n(!1)}return e.prototype.encode=function(e,t){e.addCommand(exports.CommandType.UNWRAP_STETH,[this.recipient,this.amountMinimum])},e}();exports.CryptopunkTrade=W,exports.FoundationTrade=K,exports.LooksRareV2Trade=z,exports.NFT20Trade=j,exports.NFTTrade=C,exports.NFTXTrade=Q,exports.PERMIT2_ADDRESS="0x000000000022D473030F116dDEE9F6B43aC78BA3",exports.ROUTER_AS_RECIPIENT=F,exports.RoutePlanner=R,exports.SeaportTrade=$,exports.SudoswapTrade=ee,exports.SwapRouter=H,exports.UNIVERSAL_ROUTER_ADDRESS=function(e){if(!(e in _))throw new Error("Universal Router not deployed on chain "+e);return _[e].router},exports.UNIVERSAL_ROUTER_CREATION_BLOCK=function(e){if(!(e in _))throw new Error("Universal Router not deployed on chain "+e);return _[e].creationBlock},exports.UniswapTrade=N,exports.UnwrapSTETH=re,exports.UnwrapWETH=ae,exports.WETH_ADDRESS=M,exports.WrapSTETH=ie,exports.X2Y2Trade=ne;
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"),u=require("@uniswap/router-sdk"),o=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,v,C,A=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",(C=exports.CommandType||(exports.CommandType={}))[C.V3_SWAP_EXACT_IN=0]="V3_SWAP_EXACT_IN",C[C.V3_SWAP_EXACT_OUT=1]="V3_SWAP_EXACT_OUT",C[C.PERMIT2_TRANSFER_FROM=2]="PERMIT2_TRANSFER_FROM",C[C.PERMIT2_PERMIT_BATCH=3]="PERMIT2_PERMIT_BATCH",C[C.SWEEP=4]="SWEEP",C[C.TRANSFER=5]="TRANSFER",C[C.PAY_PORTION=6]="PAY_PORTION",C[C.V2_SWAP_EXACT_IN=8]="V2_SWAP_EXACT_IN",C[C.V2_SWAP_EXACT_OUT=9]="V2_SWAP_EXACT_OUT",C[C.PERMIT2_PERMIT=10]="PERMIT2_PERMIT",C[C.WRAP_ETH=11]="WRAP_ETH",C[C.UNWRAP_WETH=12]="UNWRAP_WETH",C[C.PERMIT2_TRANSFER_FROM_BATCH=13]="PERMIT2_TRANSFER_FROM_BATCH",C[C.BALANCE_CHECK_ERC20=14]="BALANCE_CHECK_ERC20",C[C.SEAPORT_V1_5=16]="SEAPORT_V1_5",C[C.LOOKS_RARE_V2=17]="LOOKS_RARE_V2",C[C.NFTX=18]="NFTX",C[C.CRYPTOPUNKS=19]="CRYPTOPUNKS",C[C.OWNER_CHECK_721=21]="OWNER_CHECK_721",C[C.OWNER_CHECK_1155=22]="OWNER_CHECK_1155",C[C.SWEEP_ERC721=23]="SWEEP_ERC721",C[C.X2Y2_721=24]="X2Y2_721",C[C.SUDOSWAP=25]="SUDOSWAP",C[C.NFT20=26]="NFT20",C[C.X2Y2_1155=27]="X2Y2_1155",C[C.FOUNDATION=28]="FOUNDATION",C[C.SWEEP_ERC1155=29]="SWEEP_ERC1155",C[C.ELEMENT_MARKET=30]="ELEMENT_MARKET",C[C.SEAPORT_V1_4=32]="SEAPORT_V1_4",C[C.EXECUTE_SUB_PLAN=33]="EXECUTE_SUB_PLAN",C[C.APPROVE_ERC20=34]="APPROVE_ERC20";var x,R=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]),I=((v={})[exports.CommandType.EXECUTE_SUB_PLAN]=["bytes","bytes[]"],v[exports.CommandType.PERMIT2_PERMIT]=["((address token,uint160 amount,uint48 expiration,uint48 nonce) details,address spender,uint256 sigDeadline)","bytes"],v[exports.CommandType.PERMIT2_PERMIT_BATCH]=["((address token,uint160 amount,uint48 expiration,uint48 nonce)[] details,address spender,uint256 sigDeadline)","bytes"],v[exports.CommandType.PERMIT2_TRANSFER_FROM]=["address","address","uint160"],v[exports.CommandType.PERMIT2_TRANSFER_FROM_BATCH]=["(address from,address to,uint160 amount,address token)[]"],v[exports.CommandType.V3_SWAP_EXACT_IN]=["address","uint256","uint256","bytes","bool"],v[exports.CommandType.V3_SWAP_EXACT_OUT]=["address","uint256","uint256","bytes","bool"],v[exports.CommandType.V2_SWAP_EXACT_IN]=["address","uint256","uint256","address[]","bool"],v[exports.CommandType.V2_SWAP_EXACT_OUT]=["address","uint256","uint256","address[]","bool"],v[exports.CommandType.WRAP_ETH]=["address","uint256"],v[exports.CommandType.UNWRAP_WETH]=["address","uint256"],v[exports.CommandType.SWEEP]=["address","address","uint256"],v[exports.CommandType.SWEEP_ERC721]=["address","address","uint256"],v[exports.CommandType.SWEEP_ERC1155]=["address","address","uint256","uint256"],v[exports.CommandType.TRANSFER]=["address","address","uint256"],v[exports.CommandType.PAY_PORTION]=["address","address","uint256"],v[exports.CommandType.BALANCE_CHECK_ERC20]=["address","address","uint256"],v[exports.CommandType.OWNER_CHECK_721]=["address","address","uint256"],v[exports.CommandType.OWNER_CHECK_1155]=["address","address","uint256","uint256"],v[exports.CommandType.APPROVE_ERC20]=["address","uint256"],v[exports.CommandType.SEAPORT_V1_5]=["uint256","bytes"],v[exports.CommandType.SEAPORT_V1_4]=["uint256","bytes"],v[exports.CommandType.NFTX]=["uint256","bytes"],v[exports.CommandType.LOOKS_RARE_V2]=["uint256","bytes"],v[exports.CommandType.X2Y2_721]=["uint256","bytes","address","address","uint256"],v[exports.CommandType.X2Y2_1155]=["uint256","bytes","address","address","uint256","uint256"],v[exports.CommandType.FOUNDATION]=["uint256","bytes","address","address","uint256"],v[exports.CommandType.SUDOSWAP]=["uint256","bytes"],v[exports.CommandType.NFT20]=["uint256","bytes"],v[exports.CommandType.CRYPTOPUNKS]=["uint256","address","uint256"],v[exports.CommandType.ELEMENT_MARKET]=["uint256","bytes"],v),S=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(I[e],t)}}(e,t);if(this.inputs.push(a.encodedInput),n){if(!R.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}(),M=((x={})[1]={router:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",weth:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",creationBlock:17143817},x[5]={router:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",weth:"0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6",creationBlock:8940568},x[11155111]={router:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",weth:"0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14",creationBlock:3543575},x[137]={router:"0xec7BE89e9d109e7e3Fec59c222CF297125FEFda2",weth:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",creationBlock:52210153},x[80001]={router:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",weth:"0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889",creationBlock:35176052},x[10]={router:"0xCb1355ff08Ab38bBCE60111F1bb2B784bE25D7e8",weth:"0x4200000000000000000000000000000000000006",creationBlock:114702266},x[420]={router:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",weth:"0x4200000000000000000000000000000000000006",creationBlock:8887728},x[42161]={router:"0x5E325eDA8064b456f4781070C0738d849c824258",weth:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",creationBlock:169472836},x[421613]={router:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",weth:"0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3",creationBlock:18815277},x[42220]={router:"0x643770e279d5d0733f21d6dc03a8efbabf3255b4",weth:"0x0000000000000000000000000000000000000000",creationBlock:21407637},x[44787]={router:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",weth:"0x0000000000000000000000000000000000000000",creationBlock:17566658},x[56]={router:"0x4Dae2f939ACf50408e13d58534Ff8c2776d45265",weth:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",creationBlock:35160263},x[43114]={router:"0x4Dae2f939ACf50408e13d58534Ff8c2776d45265",weth:"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",creationBlock:40237257},x[84531]={router:"0xd0872d928672ae2ff74bdb2f5130ac12229cafaf",weth:"0x4200000000000000000000000000000000000006",creationBlock:6915289},x[8453]={router:"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD",weth:"0x4200000000000000000000000000000000000006",creationBlock:9107268},x[81457]={router:"0x643770E279d5D0733F21d6DC03A8efbABf3255B4",weth:"0x4300000000000000000000000000000000000004",creationBlock:1116444},x),_=function(e){if(!(e in M))throw new Error("Universal Router not deployed on chain "+e);if("0x0000000000000000000000000000000000000000"==M[e].weth)throw new Error("Chain "+e+" does not have WETH");return M[e].weth},k=i.BigNumber.from(2).pow(255),w="0x0000000000000000000000000000000000000000",P="0x0000000000000000000000000000000000000000",E="0x0000000000000000000000000000000000000001",h="0x0000000000000000000000000000000000000002",O=new o.Percent(50,100),F=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,[h,this.trade.maximumAmountIn(this.options.slippageTolerance).quotient.toString()]),this.options.recipient=null!=(n=this.options.recipient)?n:E;for(var a,r,p=this.trade.outputAmount.currency.isNative,s=this.trade.tradeType===o.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 u.Protocol.V2:N(e,m,this.trade.tradeType,this.options,this.payerIsUser,s);break;case u.Protocol.V3:g(e,m,this.trade.tradeType,this.options,this.payerIsUser,s);break;case u.Protocol.MIXED:B(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===o.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===o.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===o.TradeType.EXACT_OUTPUT||this.trade.priceImpact.greaterThan(O))&&e.addCommand(exports.CommandType.UNWRAP_WETH,[this.options.recipient,0]),this.options.safeMode&&e.addCommand(exports.CommandType.SWEEP,[w,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 N(e,t,n,a,r,i){var p=t.route,y=new s.Trade(p,n==o.TradeType.EXACT_INPUT?t.inputAmount:t.outputAmount,n);n==o.TradeType.EXACT_INPUT?e.addCommand(exports.CommandType.V2_SWAP_EXACT_IN,[i?h:a.recipient,y.maximumAmountIn(a.slippageTolerance).quotient.toString(),y.minimumAmountOut(a.slippageTolerance).quotient.toString(),p.path.map((function(e){return e.address})),r]):n==o.TradeType.EXACT_OUTPUT&&e.addCommand(exports.CommandType.V2_SWAP_EXACT_OUT,[i?h:a.recipient,y.minimumAmountOut(a.slippageTolerance).quotient.toString(),y.maximumAmountIn(a.slippageTolerance).quotient.toString(),p.path.map((function(e){return e.address})),r])}function g(e,t,n,a,r,i){var p=t.route,s=y.Trade.createUncheckedTrade({route:p,inputAmount:t.inputAmount,outputAmount:t.outputAmount,tradeType:n}),u=y.encodeRouteToPath(p,s.tradeType===o.TradeType.EXACT_OUTPUT);n==o.TradeType.EXACT_INPUT?e.addCommand(exports.CommandType.V3_SWAP_EXACT_IN,[i?h:a.recipient,s.maximumAmountIn(a.slippageTolerance).quotient.toString(),s.minimumAmountOut(a.slippageTolerance).quotient.toString(),u,r]):n==o.TradeType.EXACT_OUTPUT&&e.addCommand(exports.CommandType.V3_SWAP_EXACT_OUT,[i?h:a.recipient,s.minimumAmountOut(a.slippageTolerance).quotient.toString(),s.maximumAmountIn(a.slippageTolerance).quotient.toString(),u,r])}function B(e,t,n,a,r,i){var p=t.route,o=t.inputAmount,d=t.outputAmount,m=i?h:a.recipient;if(1===p.pools.length){if(p.pools[0]instanceof y.Pool)return g(e,t,n,a,r,i);if(p.pools[0]instanceof s.Pair)return N(e,t,n,a,r,i);throw new Error("Invalid route type")}for(var l,T=u.MixedRouteTrade.createUncheckedTrade({route:p,inputAmount:o,outputAmount:d,tradeType:n}),c=T.maximumAmountIn(a.slippageTolerance,o).quotient.toString(),f=T.minimumAmountOut(a.slippageTolerance,d).quotient.toString(),b=u.partitionMixedRouteByProtocol(p),v=function(e){return e===b.length-1},C=p.input.wrapped,A=0;A<b.length;A++){var x=b[A];l=u.getOutputOfPools(x,C);var R=new u.MixedRouteSDK([].concat(x),x[0].token0.equals(C)?x[0].token0:x[0].token1,l),I=new u.MixedRoute(R);if(C=l,function(e){return e.pools.every((function(e){return e instanceof y.Pool}))}(I)){var S=u.encodeMixedRouteToPath(I);e.addCommand(exports.CommandType.V3_SWAP_EXACT_IN,[v(A)?m:b[A+1][0].liquidityToken.address,0==A?c:k,v(A)?f:0,S,r&&0===A])}else e.addCommand(exports.CommandType.V2_SWAP_EXACT_IN,[v(A)?m:h,0===A?c:k,v(A)?f:0,I.path.map((function(e){return e.address})),r&&0===A])}}function V(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 L(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,D(t.approval.protocol)]),t.permit2Permit&&V(e,t.permit2Permit),t.permit2TransferFrom&&e.addCommand(exports.CommandType.PERMIT2_TRANSFER_FROM,[t.permit2TransferFrom.token,t.permit2TransferFrom.recipient?t.permit2TransferFrom.recipient:h,t.permit2TransferFrom.amount])}function D(e){switch(e.toLowerCase()){case"0x00000000000000adc04c56bf30ac9d3c0aaf14dc":case"0x00000000000001ad428e4906ae43d8f9852d0dd6":return 0;case"0x2b2e8cda09bba9660dca5cb6233787738ad68329":return 1;default:throw new Error("unsupported protocol address")}}var U=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 S,u=i.BigNumber.from(0),o=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(w),u.lt(f)?(o=o.add(f.sub(u)),u=i.BigNumber.from(0)):u=u.sub(f)}else if(l.tradeType==exports.RouterTradeType.UniswapTrade){var b=l,v=b.trade.inputAmount.currency.isNative,C=b.trade.outputAmount.currency.isNative,A=b.options;v&&A.inputTokenPermit&&n(!1),A.inputTokenPermit&&V(y,A.inputTokenPermit),v&&(o=o.add(i.BigNumber.from(b.trade.maximumAmountIn(A.slippageTolerance).quotient.toString()))),C&&A.recipient==h&&(u=u.add(i.BigNumber.from(b.trade.minimumAmountOut(A.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 x=l;l.encode(y,{allowRevert:!1}),u=u.add(x.amount)}}return d.forEach((function(e){y.addCommand(exports.CommandType.SWEEP,[e,E,0])})),e.encodePlan(y,o,a)},e.swapNFTCallParameters=function(t,n){void 0===n&&(n={});for(var a,r=new S,p=i.BigNumber.from(0),s=1!=t.length||1!=t[0].orders.length,y=c(t);!(a=y()).done;){var u=a.value;u.encode(r,{allowRevert:s}),p=p.add(u.getTotalPrice())}return r.addCommand(exports.CommandType.SWEEP,[w,E,0]),e.encodePlan(r,p,n)},e.swapERC20CallParameters=function(t,a){var r=new S,p=new F(t,a),s=p.trade.inputAmount.currency;s.isNative&&a.inputTokenPermit&&n(!1),a.inputTokenPermit&&V(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}();U.INTERFACE=new r.Interface(a.abi);var H=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}(A);H.CRYPTOPUNK_ADDRESS="0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb";var W=[{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"}],X=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}(A);X.INTERFACE=new r.Interface(W);var K=[{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"}],q=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,u=r.merkleTrees;a=1==this.orders.length?t.INTERFACE.encodeFunctionData("executeTakerBid",[i[0],p[0],s[0],u[0],P]):t.INTERFACE.encodeFunctionData("executeMultipleTakerBids",[i,p,s,u,P,!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}(A);q.INTERFACE=new r.Interface(K),q.ERC721_ORDER=0;var z=[{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"}],Y=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}(A);Y.INTERFACE=new r.Interface(z);var j=[{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"}],G=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}(A);G.INTERFACE=new r.Interface(j);var Q=[{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"}],Z=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}]})),u=this.getConsiderationFulfillments(p.items),o=c(p.items);!(i=o()).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,u,t.OPENSEA_CONDUIT_KEY,p.recipient,100]),p.inputTokenProcessing)for(var l,T=c(p.inputTokenProcessing);!(l=T()).done;){var f=l.value;L(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,w).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=w);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=w);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}(A);Z.INTERFACE=new r.Interface(Q),Z.OPENSEA_CONDUIT_KEY="0x0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000";var $=[{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"}],J=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}(A);J.INTERFACE=new r.Interface($);var ee=[{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"}],te=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}(A);te.INTERFACE=new r.Interface(ee);var ne,ae=function(){function e(e,t,a){this.tradeType=exports.RouterTradeType.UnwrapWETH,this.wethAddress=_(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){L(e,{permit2Permit:this.permit2Data,permit2TransferFrom:{token:this.wethAddress,amount:this.amount.toString()}}),e.addCommand(exports.CommandType.UNWRAP_WETH,[h,this.amount])},e}();(ne=exports.PoolType||(exports.PoolType={})).V2Pool="v2-pool",ne.V3Pool="v3-pool";var re=function(e){return e.toLowerCase()===w.toLowerCase()||e.toLowerCase()==="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee".toLowerCase()},ie=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(re(a),p),l=e.toCurrency(re(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=o.CurrencyAmount.fromRawAmount(m,n),i=o.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 u.MixedRouteSDK(t.map(e.toPoolOrPair),m,l),inputAmount:r,outputAmount:i}}));return new u.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}})),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?o.Ether.onChain(t.chainId):this.toToken(t)},e.toToken=function(e){var t=e.symbol,n=e.buyFeeBps,a=e.sellFeeBps;return new o.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}();ie.toPoolOrPair=function(e){return e.type===exports.PoolType.V3Pool?ie.toPool(e):ie.toPair(e)},ie.toPair=function(e){var t=e.reserve0,n=e.reserve1;return new s.Pair(o.CurrencyAmount.fromRawAmount(ie.toToken(t.token),t.quotient),o.CurrencyAmount.fromRawAmount(ie.toToken(n.token),n.quotient))},exports.CryptopunkTrade=H,exports.FoundationTrade=X,exports.LooksRareV2Trade=q,exports.NFT20Trade=Y,exports.NFTTrade=A,exports.NFTXTrade=G,exports.PERMIT2_ADDRESS="0x000000000022D473030F116dDEE9F6B43aC78BA3",exports.ROUTER_AS_RECIPIENT=h,exports.RoutePlanner=S,exports.RouterTradeAdapter=ie,exports.SeaportTrade=Z,exports.SudoswapTrade=J,exports.SwapRouter=U,exports.UNIVERSAL_ROUTER_ADDRESS=function(e){if(!(e in M))throw new Error("Universal Router not deployed on chain "+e);return M[e].router},exports.UNIVERSAL_ROUTER_CREATION_BLOCK=function(e){if(!(e in M))throw new Error("Universal Router not deployed on chain "+e);return M[e].creationBlock},exports.UniswapTrade=F,exports.UnwrapWETH=ae,exports.WETH_ADDRESS=_,exports.X2Y2Trade=te,exports.isNativeCurrency=re;
2
2
  //# sourceMappingURL=universal-router-sdk.cjs.production.min.js.map