@uniswap/universal-router-sdk 1.4.3 → 1.5.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/entities/NFTTrade.d.ts +5 -3
- package/dist/entities/protocols/element-market.d.ts +44 -0
- package/dist/entities/protocols/seaport.d.ts +11 -7
- package/dist/entities/protocols/uniswap.d.ts +1 -1
- package/dist/entities/protocols/unwrapWETH.d.ts +1 -2
- package/dist/test/orders/element.d.ts +7 -0
- package/dist/test/orders/seaport.d.ts +4 -3
- package/dist/test/orders/seaportV1_4.d.ts +2 -2
- package/dist/test/utils/addresses.d.ts +5 -0
- package/dist/test/utils/permit2.d.ts +1 -1
- package/dist/test/utils/uniswapData.d.ts +0 -1
- package/dist/universal-router-sdk.cjs.development.js +120 -45
- package/dist/universal-router-sdk.cjs.development.js.map +1 -1
- package/dist/universal-router-sdk.cjs.production.min.js +1 -1
- package/dist/universal-router-sdk.cjs.production.min.js.map +1 -1
- package/dist/universal-router-sdk.esm.js +121 -47
- package/dist/universal-router-sdk.esm.js.map +1 -1
- package/dist/utils/constants.d.ts +5 -0
- package/dist/utils/inputTokens.d.ts +21 -0
- package/dist/utils/routerCommands.d.ts +10 -3
- package/package.json +4 -2
- package/dist/utils/permit2.d.ts +0 -6
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t,n,a,i=e(require("tiny-invariant")),r=require("@uniswap/universal-router/artifacts/contracts/UniversalRouter.sol/UniversalRouter.json"),p=require("@ethersproject/abi"),s=require("ethers"),y=e(require("jsbi")),u=require("ethers/lib/utils"),d=require("@uniswap/v2-sdk"),o=require("@uniswap/v3-sdk"),m=require("@uniswap/router-sdk"),l=require("@uniswap/sdk-core");function T(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 c(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 f(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 c(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)?c(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.")}(t=exports.RouterTradeType||(exports.RouterTradeType={})).UniswapTrade="UniswapTrade",t.NFTTrade="NFTTrade",t.UnwrapWETH="UnwrapWETH",function(e){e[e.V3_SWAP_EXACT_IN=0]="V3_SWAP_EXACT_IN",e[e.V3_SWAP_EXACT_OUT=1]="V3_SWAP_EXACT_OUT",e[e.PERMIT2_TRANSFER_FROM=2]="PERMIT2_TRANSFER_FROM",e[e.PERMIT2_PERMIT_BATCH=3]="PERMIT2_PERMIT_BATCH",e[e.SWEEP=4]="SWEEP",e[e.TRANSFER=5]="TRANSFER",e[e.PAY_PORTION=6]="PAY_PORTION",e[e.V2_SWAP_EXACT_IN=8]="V2_SWAP_EXACT_IN",e[e.V2_SWAP_EXACT_OUT=9]="V2_SWAP_EXACT_OUT",e[e.PERMIT=10]="PERMIT",e[e.WRAP_ETH=11]="WRAP_ETH",e[e.UNWRAP_WETH=12]="UNWRAP_WETH",e[e.PERMIT2_TRANSFER_FROM_BATCH=13]="PERMIT2_TRANSFER_FROM_BATCH",e[e.SEAPORT_V1_4=14]="SEAPORT_V1_4",e[e.SEAPORT=16]="SEAPORT",e[e.LOOKS_RARE_721=17]="LOOKS_RARE_721",e[e.NFTX=18]="NFTX",e[e.CRYPTOPUNKS=19]="CRYPTOPUNKS",e[e.LOOKS_RARE_1155=20]="LOOKS_RARE_1155",e[e.OWNER_CHECK_721=21]="OWNER_CHECK_721",e[e.OWNER_CHECK_1155=22]="OWNER_CHECK_1155",e[e.X2Y2_721=24]="X2Y2_721",e[e.SUDOSWAP=25]="SUDOSWAP",e[e.NFT20=26]="NFT20",e[e.X2Y2_1155=27]="X2Y2_1155",e[e.FOUNDATION=28]="FOUNDATION"}(a||(a={}));var b=new Set([a.SEAPORT,a.SEAPORT_V1_4,a.NFTX,a.LOOKS_RARE_721,a.LOOKS_RARE_1155,a.X2Y2_721,a.X2Y2_1155,a.FOUNDATION,a.SUDOSWAP,a.NFT20,a.CRYPTOPUNKS]),v=((n={})[a.PERMIT]=["((address token,uint160 amount,uint48 expiration,uint48 nonce) details, address spender, uint256 sigDeadline)","bytes"],n[a.PERMIT2_PERMIT_BATCH]=["((address token,uint160 amount,uint48 expiration,uint48 nonce)[] details, address spender, uint256 sigDeadline)","bytes"],n[a.PERMIT2_TRANSFER_FROM]=["address","address","uint160"],n[a.PERMIT2_TRANSFER_FROM_BATCH]=["bytes"],n[a.TRANSFER]=["address","address","uint256"],n[a.V3_SWAP_EXACT_IN]=["address","uint256","uint256","bytes","bool"],n[a.V3_SWAP_EXACT_OUT]=["address","uint256","uint256","bytes","bool"],n[a.V2_SWAP_EXACT_IN]=["address","uint256","uint256","address[]","bool"],n[a.V2_SWAP_EXACT_OUT]=["address","uint256","uint256","address[]","bool"],n[a.SEAPORT]=["uint256","bytes"],n[a.SEAPORT_V1_4]=["uint256","bytes"],n[a.WRAP_ETH]=["address","uint256"],n[a.UNWRAP_WETH]=["address","uint256"],n[a.SWEEP]=["address","address","uint256"],n[a.NFTX]=["uint256","bytes"],n[a.LOOKS_RARE_721]=["uint256","bytes","address","address","uint256"],n[a.LOOKS_RARE_1155]=["uint256","bytes","address","address","uint256","uint256"],n[a.X2Y2_721]=["uint256","bytes","address","address","uint256"],n[a.X2Y2_1155]=["uint256","bytes","address","address","uint256","uint256"],n[a.FOUNDATION]=["uint256","bytes","address","address","uint256"],n[a.PAY_PORTION]=["address","address","uint256"],n[a.SUDOSWAP]=["uint256","bytes"],n[a.OWNER_CHECK_721]=["address","address","uint256"],n[a.OWNER_CHECK_1155]=["address","address","uint256","uint256"],n[a.NFT20]=["uint256","bytes"],n[a.CRYPTOPUNKS]=["uint256","address","uint256"],n),A=function(){function e(){this.commands="0x",this.inputs=[]}return e.prototype.addCommand=function(e,t,n){void 0===n&&(n=!1);var a=function(e,t){return{type:e,encodedInput:u.defaultAbiCoder.encode(v[e],t)}}(e,t);if(this.inputs.push(a.encodedInput),n){if(!b.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=function(e){switch(e){case 1:return"0x4C60051384bd2d3C01bfc845Cf5F4b44bcbE9de5";case 5:return"0x4648a43B2C14Da09FdF82B161150d3F634f40491";case 137:return"0x4C60051384bd2d3C01bfc845Cf5F4b44bcbE9de5";case 80001:return"0x4648a43B2C14Da09FdF82B161150d3F634f40491";case 10:return"0xb555edF5dcF85f42cEeF1f3630a52A108E55A654";case 420:return"0x4648a43B2C14Da09FdF82B161150d3F634f40491";case 42161:return"0x4C60051384bd2d3C01bfc845Cf5F4b44bcbE9de5";case 421613:return"0x4648a43B2C14Da09FdF82B161150d3F634f40491";case 42220:return"0xC73d61d192FB994157168Fb56730FdEc64C9Cb8F";case 44787:return"0x4648a43B2C14Da09FdF82B161150d3F634f40491";case 56:return"0x5Dc88340E1c5c6366864Ee415d6034cadd1A9897";default:throw new Error("Universal Router not deployed on chain "+e)}},R=function(e){switch(e){case 1:return"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2";case 5:return"0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6";case 137:return"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270";case 80001:return"0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889";case 10:case 420:return"0x4200000000000000000000000000000000000006";case 42161:return"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1";case 421613:return"0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3";case 56:return"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";default:throw new Error("WETH9 or UniversalRouter not deployed on chain "+e)}},S=s.BigNumber.from(2).pow(255),_="0x0000000000000000000000000000000000000000",M="0x0000000000000000000000000000000000000001",x="0x0000000000000000000000000000000000000002",C=new l.Percent(y.BigInt(50),y.BigInt(100)),k=function(){function e(e,t){this.trade=e,this.options=t,this.tradeType=exports.RouterTradeType.UniswapTrade}return e.prototype.encode=function(e,t){var n,i=!0;this.trade.inputAmount.currency.isNative&&(e.addCommand(a.WRAP_ETH,[x,this.trade.maximumAmountIn(this.options.slippageTolerance).quotient.toString()]),i=!1),this.options.recipient=null!=(n=this.options.recipient)?n:M;for(var r,p=this.trade.outputAmount.currency.isNative,s=this.trade.inputAmount.currency.isNative,y=this.trade.tradeType===l.TradeType.EXACT_INPUT&&this.trade.routes.length>2||p,u=f(this.trade.swaps);!(r=u()).done;){var d=r.value;switch(d.route.protocol){case m.Protocol.V2:O(e,d,this.trade.tradeType,this.options,i,y);break;case m.Protocol.V3:F(e,d,this.trade.tradeType,this.options,i,y);break;case m.Protocol.MIXED:h(e,d,this.trade.tradeType,this.options,i,y);break;default:throw new Error("UNSUPPORTED_TRADE_PROTOCOL")}}y&&(p?e.addCommand(a.UNWRAP_WETH,[this.options.recipient,this.trade.minimumAmountOut(this.options.slippageTolerance).quotient.toString()]):e.addCommand(a.SWEEP,[this.trade.outputAmount.currency.wrapped.address,this.options.recipient,this.trade.minimumAmountOut(this.options.slippageTolerance).quotient.toString()])),s&&(this.trade.tradeType===l.TradeType.EXACT_OUTPUT||this.trade.priceImpact.greaterThan(C))&&e.addCommand(a.UNWRAP_WETH,[this.options.recipient,0])},e}();function O(e,t,n,i,r,p){var s=t.route,y=new d.Trade(s,n==l.TradeType.EXACT_INPUT?t.inputAmount:t.outputAmount,n);n==l.TradeType.EXACT_INPUT?e.addCommand(a.V2_SWAP_EXACT_IN,[p?x:i.recipient,y.maximumAmountIn(i.slippageTolerance).quotient.toString(),y.minimumAmountOut(i.slippageTolerance).quotient.toString(),s.path.map((function(e){return e.address})),r]):n==l.TradeType.EXACT_OUTPUT&&e.addCommand(a.V2_SWAP_EXACT_OUT,[p?x:i.recipient,y.minimumAmountOut(i.slippageTolerance).quotient.toString(),y.maximumAmountIn(i.slippageTolerance).quotient.toString(),s.path.map((function(e){return e.address})),r])}function F(e,t,n,i,r,p){var s=t.route,y=o.Trade.createUncheckedTrade({route:s,inputAmount:t.inputAmount,outputAmount:t.outputAmount,tradeType:n}),u=o.encodeRouteToPath(s,y.tradeType===l.TradeType.EXACT_OUTPUT);n==l.TradeType.EXACT_INPUT?e.addCommand(a.V3_SWAP_EXACT_IN,[p?x:i.recipient,y.maximumAmountIn(i.slippageTolerance).quotient.toString(),y.minimumAmountOut(i.slippageTolerance).quotient.toString(),u,r]):n==l.TradeType.EXACT_OUTPUT&&e.addCommand(a.V3_SWAP_EXACT_OUT,[p?x:i.recipient,y.minimumAmountOut(i.slippageTolerance).quotient.toString(),y.maximumAmountIn(i.slippageTolerance).quotient.toString(),u,r])}function h(e,t,n,i,r,p){var s=t.route,y=t.inputAmount,u=t.outputAmount,l=p?x:i.recipient;if(1===s.pools.length){if(s.pools[0]instanceof o.Pool)return F(e,t,n,i,r,p);if(s.pools[0]instanceof d.Pair)return O(e,t,n,i,r,p);throw new Error("Invalid route type")}for(var T,c=m.MixedRouteTrade.createUncheckedTrade({route:s,inputAmount:y,outputAmount:u,tradeType:n}),f=c.maximumAmountIn(i.slippageTolerance,y).quotient.toString(),b=c.minimumAmountOut(i.slippageTolerance,u).quotient.toString(),v=m.partitionMixedRouteByProtocol(s),A=function(e){return e===v.length-1},I=s.input.wrapped,R=0;R<v.length;R++){var _=v[R];T=m.getOutputOfPools(_,I);var M=new m.MixedRouteSDK([].concat(_),_[0].token0.equals(I)?_[0].token0:_[0].token1,T),C=new m.MixedRoute(M);if(I=T,function(e){return e.pools.every((function(e){return e instanceof o.Pool}))}(C)){var k=m.encodeMixedRouteToPath(C);e.addCommand(a.V3_SWAP_EXACT_IN,[A(R)?l:v[R+1][0].liquidityToken.address,0==R?f:S,A(R)?b:0,k,r&&0===R])}else e.addCommand(a.V2_SWAP_EXACT_IN,[A(R)?l:x,0===R?f:S,A(R)?b:0,C.path.map((function(e){return e.address})),r&&0===R])}}function E(e,t){var n=t.signature,i=s.ethers.utils.arrayify(t.signature).length;65!==i&&64!==i||(n=s.ethers.utils.joinSignature(s.ethers.utils.splitSignature(t.signature))),e.addCommand(a.PERMIT,[t,n])}var P=function(){function e(){}return e.swapCallParameters=function(t,n){void 0===n&&(n={}),Array.isArray(t)||(t=[t]);for(var r,p=t.filter((function(e,t,n){return e.hasOwnProperty("market")})),y=1!=p.length||1!=p[0].orders.length,u=new A,d=s.BigNumber.from(0),o=s.BigNumber.from(0),m=f(t);!(r=m()).done;){var l=r.value;if(l.tradeType==exports.RouterTradeType.NFTTrade){var T=l;T.encode(u,{allowRevert:y});var c=T.getTotalPrice();d.lt(c)?(o=o.add(c.sub(d)),d=s.BigNumber.from(0)):d=d.sub(c)}else if(l.tradeType==exports.RouterTradeType.UniswapTrade){var b=l,v=b.trade.inputAmount.currency.isNative,I=b.trade.outputAmount.currency.isNative,R=b.options;v&&R.inputTokenPermit&&i(!1),R.inputTokenPermit&&E(u,R.inputTokenPermit),v&&(o=o.add(s.BigNumber.from(b.trade.maximumAmountIn(R.slippageTolerance).quotient.toString()))),I&&R.recipient==x&&(d=d.add(s.BigNumber.from(b.trade.minimumAmountOut(R.slippageTolerance).quotient.toString()))),b.encode(u,{allowRevert:!1})}else{if(l.tradeType!=exports.RouterTradeType.UnwrapWETH)throw"trade must be of instance: UniswapTrade or NFTTrade";var S=l;l.encode(u,{allowRevert:!1}),d=d.add(S.amount)}}return p.length>0&&u.addCommand(a.SWEEP,[_,M,0]),e.encodePlan(u,o,n)},e.swapNFTCallParameters=function(t,n){void 0===n&&(n={});for(var i,r=new A,p=s.BigNumber.from(0),y=1!=t.length||1!=t[0].orders.length,u=f(t);!(i=u()).done;){var d=i.value;d.encode(r,{allowRevert:y}),p=p.add(d.getTotalPrice())}return r.addCommand(a.SWEEP,[_,M,0]),e.encodePlan(r,p,n)},e.swapERC20CallParameters=function(t,n){var a=new A,r=new k(t,n),p=r.trade.inputAmount.currency;p.isNative&&n.inputTokenPermit&&i(!1),n.inputTokenPermit&&E(a,n.inputTokenPermit);var y=s.BigNumber.from(p.isNative?r.trade.maximumAmountIn(n.slippageTolerance).quotient.toString():0);return r.encode(a,{allowRevert:!1}),e.encodePlan(a,y,{deadline:n.deadlineOrPreviousBlockhash?s.BigNumber.from(n.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}();P.INTERFACE=new p.Interface(r.abi);var w,g,N=function(e,t){this.tradeType=exports.RouterTradeType.NFTTrade,t.length>0||i(!1),this.market=e,this.orders=t};(w=exports.Market||(exports.Market={})).Foundation="foundation",w.LooksRare="looksrare",w.NFT20="nft20",w.NFTX="nftx",w.Seaport="seaport",w.Sudoswap="Sudoswap",w.Cryptopunks="cryptopunks",w.X2Y2="x2y2",(g=exports.TokenType||(exports.TokenType={})).ERC721="ERC721",g.ERC1155="ERC1155",g.Cryptopunk="Cryptopunk";var V=function(e){function t(t){return e.call(this,exports.Market.Cryptopunks,t)||this}T(t,e);var n=t.prototype;return n.encode=function(e,t){for(var n,i=f(this.orders);!(n=i()).done;){var r=n.value;e.addCommand(a.CRYPTOPUNKS,[r.tokenId,r.recipient,r.value],t.allowRevert)}},n.getBuyItems=function(){for(var e,n=[],a=f(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=s.BigNumber.from(0),n=f(this.orders);!(e=n()).done;)t=t.add(e.value.value);return t},t}(N);V.CRYPTOPUNK_ADDRESS="0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb";var B=[{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"}],L=function(e){function t(t){return e.call(this,exports.Market.Foundation,t)||this}T(t,e);var n=t.prototype;return n.encode=function(e,n){for(var i,r=f(this.orders);!(i=r()).done;){var p=i.value,s=t.INTERFACE.encodeFunctionData("buyV2",[p.tokenAddress,p.tokenId,p.price,p.referrer]);e.addCommand(a.FOUNDATION,[p.price,s,p.recipient,p.tokenAddress,p.tokenId],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=f(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=s.BigNumber.from(0),n=f(this.orders);!(e=n()).done;)t=t.add(e.value.price);return t},t}(N);L.INTERFACE=new p.Interface(B);var H=[{inputs:[{internalType:"address",name:"_currencyManager",type:"address"},{internalType:"address",name:"_executionManager",type:"address"},{internalType:"address",name:"_royaltyFeeManager",type:"address"},{internalType:"address",name:"_WETH",type:"address"},{internalType:"address",name:"_protocolFeeRecipient",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"newMinNonce",type:"uint256"}],name:"CancelAllOrders",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256[]",name:"orderNonces",type:"uint256[]"}],name:"CancelMultipleOrders",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"currencyManager",type:"address"}],name:"NewCurrencyManager",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"executionManager",type:"address"}],name:"NewExecutionManager",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"protocolFeeRecipient",type:"address"}],name:"NewProtocolFeeRecipient",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"royaltyFeeManager",type:"address"}],name:"NewRoyaltyFeeManager",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"transferSelectorNFT",type:"address"}],name:"NewTransferSelectorNFT",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:!0,internalType:"address",name:"collection",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!0,internalType:"address",name:"royaltyRecipient",type:"address"},{indexed:!1,internalType:"address",name:"currency",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"RoyaltyPayment",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"orderHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"orderNonce",type:"uint256"},{indexed:!0,internalType:"address",name:"taker",type:"address"},{indexed:!0,internalType:"address",name:"maker",type:"address"},{indexed:!0,internalType:"address",name:"strategy",type:"address"},{indexed:!1,internalType:"address",name:"currency",type:"address"},{indexed:!1,internalType:"address",name:"collection",type:"address"},{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"price",type:"uint256"}],name:"TakerAsk",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"orderHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"orderNonce",type:"uint256"},{indexed:!0,internalType:"address",name:"taker",type:"address"},{indexed:!0,internalType:"address",name:"maker",type:"address"},{indexed:!0,internalType:"address",name:"strategy",type:"address"},{indexed:!1,internalType:"address",name:"currency",type:"address"},{indexed:!1,internalType:"address",name:"collection",type:"address"},{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"price",type:"uint256"}],name:"TakerBid",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",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:"uint256",name:"minNonce",type:"uint256"}],name:"cancelAllOrdersForSender",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256[]",name:"orderNonces",type:"uint256[]"}],name:"cancelMultipleMakerOrders",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"currencyManager",outputs:[{internalType:"contract ICurrencyManager",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"executionManager",outputs:[{internalType:"contract IExecutionManager",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"uint256",name:"orderNonce",type:"uint256"}],name:"isUserOrderNonceExecutedOrCancelled",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"bool",name:"isOrderAsk",type:"bool"},{internalType:"address",name:"taker",type:"address"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"minPercentageToAsk",type:"uint256"},{internalType:"bytes",name:"params",type:"bytes"}],internalType:"struct OrderTypes.TakerOrder",name:"takerBid",type:"tuple"},{components:[{internalType:"bool",name:"isOrderAsk",type:"bool"},{internalType:"address",name:"signer",type:"address"},{internalType:"address",name:"collection",type:"address"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"strategy",type:"address"},{internalType:"address",name:"currency",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"uint256",name:"minPercentageToAsk",type:"uint256"},{internalType:"bytes",name:"params",type:"bytes"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],internalType:"struct OrderTypes.MakerOrder",name:"makerAsk",type:"tuple"}],name:"matchAskWithTakerBid",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bool",name:"isOrderAsk",type:"bool"},{internalType:"address",name:"taker",type:"address"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"minPercentageToAsk",type:"uint256"},{internalType:"bytes",name:"params",type:"bytes"}],internalType:"struct OrderTypes.TakerOrder",name:"takerBid",type:"tuple"},{components:[{internalType:"bool",name:"isOrderAsk",type:"bool"},{internalType:"address",name:"signer",type:"address"},{internalType:"address",name:"collection",type:"address"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"strategy",type:"address"},{internalType:"address",name:"currency",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"uint256",name:"minPercentageToAsk",type:"uint256"},{internalType:"bytes",name:"params",type:"bytes"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],internalType:"struct OrderTypes.MakerOrder",name:"makerAsk",type:"tuple"}],name:"matchAskWithTakerBidUsingETHAndWETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"bool",name:"isOrderAsk",type:"bool"},{internalType:"address",name:"taker",type:"address"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"minPercentageToAsk",type:"uint256"},{internalType:"bytes",name:"params",type:"bytes"}],internalType:"struct OrderTypes.TakerOrder",name:"takerAsk",type:"tuple"},{components:[{internalType:"bool",name:"isOrderAsk",type:"bool"},{internalType:"address",name:"signer",type:"address"},{internalType:"address",name:"collection",type:"address"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"strategy",type:"address"},{internalType:"address",name:"currency",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"uint256",name:"minPercentageToAsk",type:"uint256"},{internalType:"bytes",name:"params",type:"bytes"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],internalType:"struct OrderTypes.MakerOrder",name:"makerBid",type:"tuple"}],name:"matchBidWithTakerAsk",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"protocolFeeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"royaltyFeeManager",outputs:[{internalType:"contract IRoyaltyFeeManager",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"transferSelectorNFT",outputs:[{internalType:"contract ITransferSelectorNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_currencyManager",type:"address"}],name:"updateCurrencyManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_executionManager",type:"address"}],name:"updateExecutionManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_protocolFeeRecipient",type:"address"}],name:"updateProtocolFeeRecipient",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_royaltyFeeManager",type:"address"}],name:"updateRoyaltyFeeManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_transferSelectorNFT",type:"address"}],name:"updateTransferSelectorNFT",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"userMinOrderNonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],U=function(e){function t(t){return e.call(this,exports.Market.LooksRare,t)||this}T(t,e);var n=t.prototype;return n.encode=function(e,n){for(var r,p=f(this.orders);!(r=p()).done;){var s=r.value,y=t.INTERFACE.encodeFunctionData("matchAskWithTakerBidUsingETHAndWETH",[s.takerOrder,s.makerOrder]);s.tokenType==exports.TokenType.ERC721?(1!=s.makerOrder.amount&&i(!1),e.addCommand(a.LOOKS_RARE_721,[s.makerOrder.price,y,s.recipient,s.makerOrder.collection,s.makerOrder.tokenId],n.allowRevert)):s.tokenType==exports.TokenType.ERC1155&&e.addCommand(a.LOOKS_RARE_1155,[s.makerOrder.price,y,s.recipient,s.makerOrder.collection,s.makerOrder.tokenId,s.makerOrder.amount],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=f(this.orders);!(e=n()).done;){var a=e.value;t.push({tokenAddress:a.makerOrder.collection,tokenId:a.makerOrder.tokenId,tokenType:a.tokenType})}return t},n.getTotalPrice=function(){for(var e,t=s.BigNumber.from(0),n=f(this.orders);!(e=n()).done;)t=t.add(e.value.makerOrder.price);return t},t}(N);U.INTERFACE=new p.Interface(H);var D=[{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"}],W=function(e){function t(t){return e.call(this,exports.Market.NFT20,t)||this}T(t,e);var n=t.prototype;return n.encode=function(e,n){for(var i,r=f(this.orders);!(i=r()).done;){var p=i.value,s=t.INTERFACE.encodeFunctionData("ethForNft",[p.tokenAddress,p.tokenIds,p.tokenAmounts,p.recipient,p.fee,p.isV3]);e.addCommand(a.NFT20,[p.value,s],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=f(this.orders);!(e=n()).done;)for(var a,i=e.value,r=f(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=s.BigNumber.from(0),n=f(this.orders);!(e=n()).done;)t=t.add(e.value.value);return t},t}(N);W.INTERFACE=new p.Interface(D);var X=[{inputs:[{internalType:"address",name:"_nftxFactory",type:"address"},{internalType:"address",name:"_sushiRouter",type:"address"}],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:!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:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"buyAndRedeem",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256[]",name:"specificIds",type:"uint256[]"},{internalType:"uint256",name:"maxWethIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"buyAndRedeemWETH",outputs:[],stateMutability:"nonpayable",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:"address[]",name:"path",type:"address[]"},{internalType:"address",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:"amounts",type:"uint256[]"},{internalType:"uint256[]",name:"specificIds",type:"uint256[]"},{internalType:"uint256",name:"maxWethIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"buyAndSwap1155WETH",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:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"buyAndSwap721",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:"uint256",name:"maxWethIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"buyAndSwap721WETH",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"lpStaking",outputs:[{internalType:"contract INFTXLPStaking",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:"uint256",name:"minWethOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",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:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"uint256",name:"minWethOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"mintAndSell1155WETH",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"uint256",name:"minEthOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"mintAndSell721",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"uint256",name:"minWethOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"mintAndSell721WETH",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"nftxFactory",outputs:[{internalType:"contract INFTXVaultFactory",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:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"rescue",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:[],name:"sushiRouter",outputs:[{internalType:"contract IUniswapV2Router01",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],K=function(e){function t(t){return e.call(this,exports.Market.NFTX,t)||this}T(t,e);var n=t.prototype;return n.encode=function(e,n){for(var i,r=f(this.orders);!(i=r()).done;){var p=i.value,s=t.INTERFACE.encodeFunctionData("buyAndRedeem",[p.vaultId,p.tokenIds.length,p.tokenIds,[l.Ether.onChain(1).wrapped.address,p.vaultAddress],p.recipient]);e.addCommand(a.NFTX,[p.value,s],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=f(this.orders);!(e=n()).done;)for(var a,i=e.value,r=f(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=s.BigNumber.from(0),n=f(this.orders);!(e=n()).done;)t=t.add(e.value.value);return t},t}(N);K.INTERFACE=new p.Interface(X);var z,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=exports.SeaportVersion||(exports.SeaportVersion={}))[z.V1_1=0]="V1_1",z[z.V1_4=1]="V1_4";var Y=function(e){function t(t){return e.call(this,exports.Market.Seaport,t)||this}T(t,e);var n=t.prototype;return n.encode=function(e,n){for(var a,i=f(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),d=f(p.items);!(r=d()).done;){var o=this.getAdvancedOrderParams(r.value);s.push(o.advancedOrder)}var m;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]),e.addCommand(this.commandMap(p.version),[this.getTotalOrderPrice(p).toString(),m],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=f(this.orders);!(e=n()).done;)for(var a,i=f(e.value.items);!(a=i()).done;)for(var r,p=f(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.getTotalOrderPrice=function(e){for(var t,n=s.BigNumber.from(0),a=f(e.items);!(t=a()).done;)n=n.add(this.calculateValue(t.value.parameters.consideration));return n},n.getTotalPrice=function(){for(var e,t=s.BigNumber.from(0),n=f(this.orders);!(e=n()).done;)for(var a,i=f(e.value.items);!(a=i()).done;)t=t.add(this.calculateValue(a.value.parameters.consideration));return t},n.commandMap=function(e){switch(e){case exports.SeaportVersion.V1_1:return a.SEAPORT;case exports.SeaportVersion.V1_4:return a.SEAPORT_V1_4}},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:s.BigNumber.from("1"),denominator:s.BigNumber.from("1"),signature:e.signature,extraData:"0x00"},value:this.calculateValue(e.parameters.consideration)}},n.calculateValue=function(e){return e.reduce((function(e,t){return e.add(t.startAmount)}),s.BigNumber.from(0))},t}(N);Y.INTERFACE=new p.Interface(q),Y.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"}],G=function(e){function t(t){return e.call(this,exports.Market.Sudoswap,t)||this}T(t,e);var n=t.prototype;return n.encode=function(e,n){for(var i,r=f(this.orders);!(i=r()).done;){var p=i.value,y=t.INTERFACE.encodeFunctionData("robustSwapETHForSpecificNFTs",[p.swaps.map((function(e){return{swapInfo:e.swapInfo,maxCost:e.maxCost}})),p.ethRecipient,p.nftRecipient,p.deadline]),u=p.swaps.reduce((function(e,t){return e.add(t.maxCost)}),s.BigNumber.from(0));e.addCommand(a.SUDOSWAP,[u,y],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=f(this.orders);!(e=n()).done;)for(var a,i=f(e.value.swaps);!(a=i()).done;)for(var r,p=a.value,s=f(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=s.BigNumber.from(0),n=f(this.orders);!(e=n()).done;)for(var a,i=f(e.value.swaps);!(a=i()).done;)t=t.add(a.value.maxCost);return t},t}(N);G.INTERFACE=new p.Interface(j);var Z=[{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"}],$=function(e){function t(t){return e.call(this,exports.Market.X2Y2,t)||this}T(t,e);var n=t.prototype;return n.encode=function(e,n){for(var i,r=f(this.orders);!(i=r()).done;){var p=i.value,s=t.INTERFACE.getSighash(t.INTERFACE.getFunction("run"))+p.signedInput.slice(2);p.tokenType==exports.TokenType.ERC721?e.addCommand(a.X2Y2_721,[p.price,s,p.recipient,p.tokenAddress,p.tokenId],n.allowRevert):p.tokenType==exports.TokenType.ERC1155&&e.addCommand(a.X2Y2_1155,[p.price,s,p.recipient,p.tokenAddress,p.tokenId,p.tokenAmount],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=f(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=s.BigNumber.from(0),n=f(this.orders);!(e=n()).done;)t=t.add(e.value.price);return t},t}(N);$.INTERFACE=new p.Interface(Z);var J=function(){function e(e,t,n){this.tradeType=exports.RouterTradeType.UnwrapWETH,this.wethAddress=R(t),this.routerAddress=I(t),this.amount=e,n&&(n.details.token!==this.wethAddress&&i(!1),n.details.amount>=e||i(!1),this.permit2Data=n)}return e.prototype.encode=function(e,t){this.permit2Data&&E(e,this.permit2Data),e.addCommand(a.PERMIT2_TRANSFER_FROM,[this.wethAddress,this.routerAddress,this.amount]),e.addCommand(a.UNWRAP_WETH,[x,this.amount])},e}();exports.CryptopunkTrade=V,exports.FoundationTrade=L,exports.LooksRareTrade=U,exports.NFT20Trade=W,exports.NFTTrade=N,exports.NFTXTrade=K,exports.PERMIT2_ADDRESS="0x000000000022D473030F116dDEE9F6B43aC78BA3",exports.ROUTER_AS_RECIPIENT=x,exports.SeaportTrade=Y,exports.SudoswapTrade=G,exports.SwapRouter=P,exports.UNIVERSAL_ROUTER_ADDRESS=I,exports.UniswapTrade=k,exports.UnwrapWETH=J,exports.WETH_ADDRESS=R,exports.X2Y2Trade=$;
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t,n,a,i=e(require("tiny-invariant")),r=require("@uniswap/universal-router/artifacts/contracts/UniversalRouter.sol/UniversalRouter.json"),p=require("@ethersproject/abi"),s=require("ethers"),y=e(require("jsbi")),u=require("ethers/lib/utils"),d=require("@uniswap/v2-sdk"),o=require("@uniswap/v3-sdk"),m=require("@uniswap/router-sdk"),l=require("@uniswap/sdk-core");function T(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 c(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 f(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 c(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)?c(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.")}(t=exports.RouterTradeType||(exports.RouterTradeType={})).UniswapTrade="UniswapTrade",t.NFTTrade="NFTTrade",t.UnwrapWETH="UnwrapWETH",function(e){e[e.V3_SWAP_EXACT_IN=0]="V3_SWAP_EXACT_IN",e[e.V3_SWAP_EXACT_OUT=1]="V3_SWAP_EXACT_OUT",e[e.PERMIT2_TRANSFER_FROM=2]="PERMIT2_TRANSFER_FROM",e[e.PERMIT2_PERMIT_BATCH=3]="PERMIT2_PERMIT_BATCH",e[e.SWEEP=4]="SWEEP",e[e.TRANSFER=5]="TRANSFER",e[e.PAY_PORTION=6]="PAY_PORTION",e[e.V2_SWAP_EXACT_IN=8]="V2_SWAP_EXACT_IN",e[e.V2_SWAP_EXACT_OUT=9]="V2_SWAP_EXACT_OUT",e[e.PERMIT2_PERMIT=10]="PERMIT2_PERMIT",e[e.WRAP_ETH=11]="WRAP_ETH",e[e.UNWRAP_WETH=12]="UNWRAP_WETH",e[e.PERMIT2_TRANSFER_FROM_BATCH=13]="PERMIT2_TRANSFER_FROM_BATCH",e[e.BALANCE_CHECK_ERC20=14]="BALANCE_CHECK_ERC20",e[e.SEAPORT=16]="SEAPORT",e[e.LOOKS_RARE_721=17]="LOOKS_RARE_721",e[e.NFTX=18]="NFTX",e[e.CRYPTOPUNKS=19]="CRYPTOPUNKS",e[e.LOOKS_RARE_1155=20]="LOOKS_RARE_1155",e[e.OWNER_CHECK_721=21]="OWNER_CHECK_721",e[e.OWNER_CHECK_1155=22]="OWNER_CHECK_1155",e[e.SWEEP_ERC721=23]="SWEEP_ERC721",e[e.X2Y2_721=24]="X2Y2_721",e[e.SUDOSWAP=25]="SUDOSWAP",e[e.NFT20=26]="NFT20",e[e.X2Y2_1155=27]="X2Y2_1155",e[e.FOUNDATION=28]="FOUNDATION",e[e.SWEEP_ERC1155=29]="SWEEP_ERC1155",e[e.ELEMENT_MARKET=30]="ELEMENT_MARKET",e[e.EXECUTE_SUB_PLAN=32]="EXECUTE_SUB_PLAN",e[e.SEAPORT_V1_4=33]="SEAPORT_V1_4",e[e.APPROVE_ERC20=34]="APPROVE_ERC20"}(a||(a={}));var b=new Set([a.SEAPORT,a.SEAPORT_V1_4,a.NFTX,a.LOOKS_RARE_721,a.LOOKS_RARE_1155,a.X2Y2_721,a.X2Y2_1155,a.FOUNDATION,a.SUDOSWAP,a.NFT20,a.EXECUTE_SUB_PLAN,a.CRYPTOPUNKS,a.ELEMENT_MARKET]),v=((n={})[a.EXECUTE_SUB_PLAN]=["bytes","bytes[]"],n[a.PERMIT2_PERMIT]=["((address token,uint160 amount,uint48 expiration,uint48 nonce) details,address spender,uint256 sigDeadline)","bytes"],n[a.PERMIT2_PERMIT_BATCH]=["((address token,uint160 amount,uint48 expiration,uint48 nonce)[] details,address spender,uint256 sigDeadline)","bytes"],n[a.PERMIT2_TRANSFER_FROM]=["address","address","uint160"],n[a.PERMIT2_TRANSFER_FROM_BATCH]=["(address from,address to,uint160 amount,address token)[]"],n[a.V3_SWAP_EXACT_IN]=["address","uint256","uint256","bytes","bool"],n[a.V3_SWAP_EXACT_OUT]=["address","uint256","uint256","bytes","bool"],n[a.V2_SWAP_EXACT_IN]=["address","uint256","uint256","address[]","bool"],n[a.V2_SWAP_EXACT_OUT]=["address","uint256","uint256","address[]","bool"],n[a.WRAP_ETH]=["address","uint256"],n[a.UNWRAP_WETH]=["address","uint256"],n[a.SWEEP]=["address","address","uint256"],n[a.SWEEP_ERC721]=["address","address","uint256"],n[a.SWEEP_ERC1155]=["address","address","uint256","uint256"],n[a.TRANSFER]=["address","address","uint256"],n[a.PAY_PORTION]=["address","address","uint256"],n[a.BALANCE_CHECK_ERC20]=["address","address","uint256"],n[a.OWNER_CHECK_721]=["address","address","uint256"],n[a.OWNER_CHECK_1155]=["address","address","uint256","uint256"],n[a.APPROVE_ERC20]=["address","uint256"],n[a.SEAPORT]=["uint256","bytes"],n[a.SEAPORT_V1_4]=["uint256","bytes"],n[a.NFTX]=["uint256","bytes"],n[a.LOOKS_RARE_721]=["uint256","bytes","address","address","uint256"],n[a.LOOKS_RARE_1155]=["uint256","bytes","address","address","uint256","uint256"],n[a.X2Y2_721]=["uint256","bytes","address","address","uint256"],n[a.X2Y2_1155]=["uint256","bytes","address","address","uint256","uint256"],n[a.FOUNDATION]=["uint256","bytes","address","address","uint256"],n[a.SUDOSWAP]=["uint256","bytes"],n[a.NFT20]=["uint256","bytes"],n[a.CRYPTOPUNKS]=["uint256","address","uint256"],n[a.ELEMENT_MARKET]=["uint256","bytes"],n),A=function(){function e(){this.commands="0x",this.inputs=[]}var t=e.prototype;return t.addSubPlan=function(e){this.addCommand(a.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:u.defaultAbiCoder.encode(v[e],t)}}(e,t);if(this.inputs.push(a.encodedInput),n){if(!b.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}(),R=function(e){switch(e){case 1:return"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2";case 5:return"0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6";case 137:return"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270";case 80001:return"0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889";case 10:case 420:return"0x4200000000000000000000000000000000000006";case 42161:return"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1";case 421613:return"0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3";case 56:return"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";default:throw new Error("WETH9 or UniversalRouter not deployed on chain "+e)}},I=s.BigNumber.from(2).pow(255),_="0x0000000000000000000000000000000000000000",S="0x0000000000000000000000000000000000000001",M="0x0000000000000000000000000000000000000002",C=new l.Percent(y.BigInt(50),y.BigInt(100)),k=function(){function e(e,t){this.trade=e,this.options=t,this.tradeType=exports.RouterTradeType.UniswapTrade}return e.prototype.encode=function(e,t){var n,i=!0;this.trade.inputAmount.currency.isNative&&(e.addCommand(a.WRAP_ETH,[M,this.trade.maximumAmountIn(this.options.slippageTolerance).quotient.toString()]),i=!1),this.options.recipient=null!=(n=this.options.recipient)?n:S;for(var r,p=this.trade.outputAmount.currency.isNative,s=this.trade.inputAmount.currency.isNative,y=this.trade.tradeType===l.TradeType.EXACT_INPUT&&this.trade.routes.length>2||p,u=f(this.trade.swaps);!(r=u()).done;){var d=r.value;switch(d.route.protocol){case m.Protocol.V2:E(e,d,this.trade.tradeType,this.options,i,y);break;case m.Protocol.V3:x(e,d,this.trade.tradeType,this.options,i,y);break;case m.Protocol.MIXED:O(e,d,this.trade.tradeType,this.options,i,y);break;default:throw new Error("UNSUPPORTED_TRADE_PROTOCOL")}}y&&(p?e.addCommand(a.UNWRAP_WETH,[this.options.recipient,this.trade.minimumAmountOut(this.options.slippageTolerance).quotient.toString()]):e.addCommand(a.SWEEP,[this.trade.outputAmount.currency.wrapped.address,this.options.recipient,this.trade.minimumAmountOut(this.options.slippageTolerance).quotient.toString()])),s&&(this.trade.tradeType===l.TradeType.EXACT_OUTPUT||this.trade.priceImpact.greaterThan(C))&&e.addCommand(a.UNWRAP_WETH,[this.options.recipient,0])},e}();function E(e,t,n,i,r,p){var s=t.route,y=new d.Trade(s,n==l.TradeType.EXACT_INPUT?t.inputAmount:t.outputAmount,n);n==l.TradeType.EXACT_INPUT?e.addCommand(a.V2_SWAP_EXACT_IN,[p?M:i.recipient,y.maximumAmountIn(i.slippageTolerance).quotient.toString(),y.minimumAmountOut(i.slippageTolerance).quotient.toString(),s.path.map((function(e){return e.address})),r]):n==l.TradeType.EXACT_OUTPUT&&e.addCommand(a.V2_SWAP_EXACT_OUT,[p?M:i.recipient,y.minimumAmountOut(i.slippageTolerance).quotient.toString(),y.maximumAmountIn(i.slippageTolerance).quotient.toString(),s.path.map((function(e){return e.address})),r])}function x(e,t,n,i,r,p){var s=t.route,y=o.Trade.createUncheckedTrade({route:s,inputAmount:t.inputAmount,outputAmount:t.outputAmount,tradeType:n}),u=o.encodeRouteToPath(s,y.tradeType===l.TradeType.EXACT_OUTPUT);n==l.TradeType.EXACT_INPUT?e.addCommand(a.V3_SWAP_EXACT_IN,[p?M:i.recipient,y.maximumAmountIn(i.slippageTolerance).quotient.toString(),y.minimumAmountOut(i.slippageTolerance).quotient.toString(),u,r]):n==l.TradeType.EXACT_OUTPUT&&e.addCommand(a.V3_SWAP_EXACT_OUT,[p?M:i.recipient,y.minimumAmountOut(i.slippageTolerance).quotient.toString(),y.maximumAmountIn(i.slippageTolerance).quotient.toString(),u,r])}function O(e,t,n,i,r,p){var s=t.route,y=t.inputAmount,u=t.outputAmount,l=p?M:i.recipient;if(1===s.pools.length){if(s.pools[0]instanceof o.Pool)return x(e,t,n,i,r,p);if(s.pools[0]instanceof d.Pair)return E(e,t,n,i,r,p);throw new Error("Invalid route type")}for(var T,c=m.MixedRouteTrade.createUncheckedTrade({route:s,inputAmount:y,outputAmount:u,tradeType:n}),f=c.maximumAmountIn(i.slippageTolerance,y).quotient.toString(),b=c.minimumAmountOut(i.slippageTolerance,u).quotient.toString(),v=m.partitionMixedRouteByProtocol(s),A=function(e){return e===v.length-1},R=s.input.wrapped,_=0;_<v.length;_++){var S=v[_];T=m.getOutputOfPools(S,R);var C=new m.MixedRouteSDK([].concat(S),S[0].token0.equals(R)?S[0].token0:S[0].token1,T),k=new m.MixedRoute(C);if(R=T,function(e){return e.pools.every((function(e){return e instanceof o.Pool}))}(k)){var O=m.encodeMixedRouteToPath(k);e.addCommand(a.V3_SWAP_EXACT_IN,[A(_)?l:v[_+1][0].liquidityToken.address,0==_?f:I,A(_)?b:0,O,r&&0===_])}else e.addCommand(a.V2_SWAP_EXACT_IN,[A(_)?l:M,0===_?f:I,A(_)?b:0,k.path.map((function(e){return e.address})),r&&0===_])}}function F(e,t){var n=t.signature,i=s.ethers.utils.arrayify(t.signature).length;65!==i&&64!==i||(n=s.ethers.utils.joinSignature(s.ethers.utils.splitSignature(t.signature))),e.addCommand(a.PERMIT2_PERMIT,[t,n])}function P(e,t){t.approval&&t.permit2Permit&&t.approval.token!==t.permit2Permit.details.token&&i(!1),t.approval&&t.permit2TransferFrom&&t.approval.token!==t.permit2TransferFrom.token&&i(!1),t.permit2TransferFrom&&t.permit2Permit&&t.permit2TransferFrom.token!==t.permit2Permit.details.token&&i(!1),t.approval&&e.addCommand(a.APPROVE_ERC20,[t.approval.token,h(t.approval.protocol)]),t.permit2Permit&&F(e,t.permit2Permit),t.permit2TransferFrom&&e.addCommand(a.PERMIT2_TRANSFER_FROM,[t.permit2TransferFrom.token,t.permit2TransferFrom.recipient?t.permit2TransferFrom.recipient:M,t.permit2TransferFrom.amount])}function h(e){switch(e.toLowerCase()){case"0x00000000006c3852cbef3e08e8df289169ede581":case"0x00000000000001ad428e4906ae43d8f9852d0dd6":return 0;case"0x2b2e8cda09bba9660dca5cb6233787738ad68329":return 1;default:throw new Error("unsupported protocol address")}}var w=function(){function e(){}return e.swapCallParameters=function(t,n){void 0===n&&(n={}),Array.isArray(t)||(t=[t]);for(var r,p=t.filter((function(e,t,n){return e.hasOwnProperty("market")})),y=1!=p.length||1!=p[0].orders.length,u=new A,d=s.BigNumber.from(0),o=s.BigNumber.from(0),m=f(t);!(r=m()).done;){var l=r.value;if(l.tradeType==exports.RouterTradeType.NFTTrade){var T=l;T.encode(u,{allowRevert:y});var c=T.getTotalPrice();d.lt(c)?(o=o.add(c.sub(d)),d=s.BigNumber.from(0)):d=d.sub(c)}else if(l.tradeType==exports.RouterTradeType.UniswapTrade){var b=l,v=b.trade.inputAmount.currency.isNative,R=b.trade.outputAmount.currency.isNative,I=b.options;v&&I.inputTokenPermit&&i(!1),I.inputTokenPermit&&F(u,I.inputTokenPermit),v&&(o=o.add(s.BigNumber.from(b.trade.maximumAmountIn(I.slippageTolerance).quotient.toString()))),R&&I.recipient==M&&(d=d.add(s.BigNumber.from(b.trade.minimumAmountOut(I.slippageTolerance).quotient.toString()))),b.encode(u,{allowRevert:!1})}else{if(l.tradeType!=exports.RouterTradeType.UnwrapWETH)throw"trade must be of instance: UniswapTrade or NFTTrade";var C=l;l.encode(u,{allowRevert:!1}),d=d.add(C.amount)}}return p.length>0&&u.addCommand(a.SWEEP,[_,S,0]),e.encodePlan(u,o,n)},e.swapNFTCallParameters=function(t,n){void 0===n&&(n={});for(var i,r=new A,p=s.BigNumber.from(0),y=1!=t.length||1!=t[0].orders.length,u=f(t);!(i=u()).done;){var d=i.value;d.encode(r,{allowRevert:y}),p=p.add(d.getTotalPrice())}return r.addCommand(a.SWEEP,[_,S,0]),e.encodePlan(r,p,n)},e.swapERC20CallParameters=function(t,n){var a=new A,r=new k(t,n),p=r.trade.inputAmount.currency;p.isNative&&n.inputTokenPermit&&i(!1),n.inputTokenPermit&&F(a,n.inputTokenPermit);var y=s.BigNumber.from(p.isNative?r.trade.maximumAmountIn(n.slippageTolerance).quotient.toString():0);return r.encode(a,{allowRevert:!1}),e.encodePlan(a,y,{deadline:n.deadlineOrPreviousBlockhash?s.BigNumber.from(n.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}();w.INTERFACE=new p.Interface(r.abi);var g,N,B=function(e,t){this.tradeType=exports.RouterTradeType.NFTTrade,t.length>0||i(!1),this.market=e,this.orders=t};(g=exports.Market||(exports.Market={})).Foundation="foundation",g.LooksRare="looksrare",g.NFT20="nft20",g.NFTX="nftx",g.Seaport="seaport",g.Sudoswap="Sudoswap",g.Cryptopunks="cryptopunks",g.X2Y2="x2y2",g.Element="element",(N=exports.TokenType||(exports.TokenType={})).ERC721="ERC721",N.ERC1155="ERC1155",N.Cryptopunk="Cryptopunk";var V=function(e){function t(t){return e.call(this,exports.Market.Cryptopunks,t)||this}T(t,e);var n=t.prototype;return n.encode=function(e,t){for(var n,i=f(this.orders);!(n=i()).done;){var r=n.value;e.addCommand(a.CRYPTOPUNKS,[r.tokenId,r.recipient,r.value],t.allowRevert)}},n.getBuyItems=function(){for(var e,n=[],a=f(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=s.BigNumber.from(0),n=f(this.orders);!(e=n()).done;)t=t.add(e.value.value);return t},t}(B);V.CRYPTOPUNK_ADDRESS="0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb";var L=[{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"}],U=function(e){function t(t){return e.call(this,exports.Market.Foundation,t)||this}T(t,e);var n=t.prototype;return n.encode=function(e,n){for(var i,r=f(this.orders);!(i=r()).done;){var p=i.value,s=t.INTERFACE.encodeFunctionData("buyV2",[p.tokenAddress,p.tokenId,p.price,p.referrer]);e.addCommand(a.FOUNDATION,[p.price,s,p.recipient,p.tokenAddress,p.tokenId],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=f(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=s.BigNumber.from(0),n=f(this.orders);!(e=n()).done;)t=t.add(e.value.price);return t},t}(B);U.INTERFACE=new p.Interface(L);var H=[{inputs:[{internalType:"address",name:"_currencyManager",type:"address"},{internalType:"address",name:"_executionManager",type:"address"},{internalType:"address",name:"_royaltyFeeManager",type:"address"},{internalType:"address",name:"_WETH",type:"address"},{internalType:"address",name:"_protocolFeeRecipient",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"newMinNonce",type:"uint256"}],name:"CancelAllOrders",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256[]",name:"orderNonces",type:"uint256[]"}],name:"CancelMultipleOrders",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"currencyManager",type:"address"}],name:"NewCurrencyManager",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"executionManager",type:"address"}],name:"NewExecutionManager",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"protocolFeeRecipient",type:"address"}],name:"NewProtocolFeeRecipient",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"royaltyFeeManager",type:"address"}],name:"NewRoyaltyFeeManager",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"transferSelectorNFT",type:"address"}],name:"NewTransferSelectorNFT",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:!0,internalType:"address",name:"collection",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!0,internalType:"address",name:"royaltyRecipient",type:"address"},{indexed:!1,internalType:"address",name:"currency",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"RoyaltyPayment",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"orderHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"orderNonce",type:"uint256"},{indexed:!0,internalType:"address",name:"taker",type:"address"},{indexed:!0,internalType:"address",name:"maker",type:"address"},{indexed:!0,internalType:"address",name:"strategy",type:"address"},{indexed:!1,internalType:"address",name:"currency",type:"address"},{indexed:!1,internalType:"address",name:"collection",type:"address"},{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"price",type:"uint256"}],name:"TakerAsk",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"orderHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"orderNonce",type:"uint256"},{indexed:!0,internalType:"address",name:"taker",type:"address"},{indexed:!0,internalType:"address",name:"maker",type:"address"},{indexed:!0,internalType:"address",name:"strategy",type:"address"},{indexed:!1,internalType:"address",name:"currency",type:"address"},{indexed:!1,internalType:"address",name:"collection",type:"address"},{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"price",type:"uint256"}],name:"TakerBid",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",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:"uint256",name:"minNonce",type:"uint256"}],name:"cancelAllOrdersForSender",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256[]",name:"orderNonces",type:"uint256[]"}],name:"cancelMultipleMakerOrders",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"currencyManager",outputs:[{internalType:"contract ICurrencyManager",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"executionManager",outputs:[{internalType:"contract IExecutionManager",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"uint256",name:"orderNonce",type:"uint256"}],name:"isUserOrderNonceExecutedOrCancelled",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"bool",name:"isOrderAsk",type:"bool"},{internalType:"address",name:"taker",type:"address"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"minPercentageToAsk",type:"uint256"},{internalType:"bytes",name:"params",type:"bytes"}],internalType:"struct OrderTypes.TakerOrder",name:"takerBid",type:"tuple"},{components:[{internalType:"bool",name:"isOrderAsk",type:"bool"},{internalType:"address",name:"signer",type:"address"},{internalType:"address",name:"collection",type:"address"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"strategy",type:"address"},{internalType:"address",name:"currency",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"uint256",name:"minPercentageToAsk",type:"uint256"},{internalType:"bytes",name:"params",type:"bytes"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],internalType:"struct OrderTypes.MakerOrder",name:"makerAsk",type:"tuple"}],name:"matchAskWithTakerBid",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bool",name:"isOrderAsk",type:"bool"},{internalType:"address",name:"taker",type:"address"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"minPercentageToAsk",type:"uint256"},{internalType:"bytes",name:"params",type:"bytes"}],internalType:"struct OrderTypes.TakerOrder",name:"takerBid",type:"tuple"},{components:[{internalType:"bool",name:"isOrderAsk",type:"bool"},{internalType:"address",name:"signer",type:"address"},{internalType:"address",name:"collection",type:"address"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"strategy",type:"address"},{internalType:"address",name:"currency",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"uint256",name:"minPercentageToAsk",type:"uint256"},{internalType:"bytes",name:"params",type:"bytes"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],internalType:"struct OrderTypes.MakerOrder",name:"makerAsk",type:"tuple"}],name:"matchAskWithTakerBidUsingETHAndWETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"bool",name:"isOrderAsk",type:"bool"},{internalType:"address",name:"taker",type:"address"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"minPercentageToAsk",type:"uint256"},{internalType:"bytes",name:"params",type:"bytes"}],internalType:"struct OrderTypes.TakerOrder",name:"takerAsk",type:"tuple"},{components:[{internalType:"bool",name:"isOrderAsk",type:"bool"},{internalType:"address",name:"signer",type:"address"},{internalType:"address",name:"collection",type:"address"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"strategy",type:"address"},{internalType:"address",name:"currency",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"uint256",name:"minPercentageToAsk",type:"uint256"},{internalType:"bytes",name:"params",type:"bytes"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],internalType:"struct OrderTypes.MakerOrder",name:"makerBid",type:"tuple"}],name:"matchBidWithTakerAsk",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"protocolFeeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"royaltyFeeManager",outputs:[{internalType:"contract IRoyaltyFeeManager",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"transferSelectorNFT",outputs:[{internalType:"contract ITransferSelectorNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_currencyManager",type:"address"}],name:"updateCurrencyManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_executionManager",type:"address"}],name:"updateExecutionManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_protocolFeeRecipient",type:"address"}],name:"updateProtocolFeeRecipient",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_royaltyFeeManager",type:"address"}],name:"updateRoyaltyFeeManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_transferSelectorNFT",type:"address"}],name:"updateTransferSelectorNFT",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"userMinOrderNonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],W=function(e){function t(t){return e.call(this,exports.Market.LooksRare,t)||this}T(t,e);var n=t.prototype;return n.encode=function(e,n){for(var r,p=f(this.orders);!(r=p()).done;){var s=r.value,y=t.INTERFACE.encodeFunctionData("matchAskWithTakerBidUsingETHAndWETH",[s.takerOrder,s.makerOrder]);s.tokenType==exports.TokenType.ERC721?(1!=s.makerOrder.amount&&i(!1),e.addCommand(a.LOOKS_RARE_721,[s.makerOrder.price,y,s.recipient,s.makerOrder.collection,s.makerOrder.tokenId],n.allowRevert)):s.tokenType==exports.TokenType.ERC1155&&e.addCommand(a.LOOKS_RARE_1155,[s.makerOrder.price,y,s.recipient,s.makerOrder.collection,s.makerOrder.tokenId,s.makerOrder.amount],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=f(this.orders);!(e=n()).done;){var a=e.value;t.push({tokenAddress:a.makerOrder.collection,tokenId:a.makerOrder.tokenId,tokenType:a.tokenType})}return t},n.getTotalPrice=function(){for(var e,t=s.BigNumber.from(0),n=f(this.orders);!(e=n()).done;)t=t.add(e.value.makerOrder.price);return t},t}(B);W.INTERFACE=new p.Interface(H);var D=[{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"}],X=function(e){function t(t){return e.call(this,exports.Market.NFT20,t)||this}T(t,e);var n=t.prototype;return n.encode=function(e,n){for(var i,r=f(this.orders);!(i=r()).done;){var p=i.value,s=t.INTERFACE.encodeFunctionData("ethForNft",[p.tokenAddress,p.tokenIds,p.tokenAmounts,p.recipient,p.fee,p.isV3]);e.addCommand(a.NFT20,[p.value,s],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=f(this.orders);!(e=n()).done;)for(var a,i=e.value,r=f(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=s.BigNumber.from(0),n=f(this.orders);!(e=n()).done;)t=t.add(e.value.value);return t},t}(B);X.INTERFACE=new p.Interface(D);var K=[{inputs:[{internalType:"address",name:"_nftxFactory",type:"address"},{internalType:"address",name:"_sushiRouter",type:"address"}],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:!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:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"buyAndRedeem",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256[]",name:"specificIds",type:"uint256[]"},{internalType:"uint256",name:"maxWethIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"buyAndRedeemWETH",outputs:[],stateMutability:"nonpayable",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:"address[]",name:"path",type:"address[]"},{internalType:"address",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:"amounts",type:"uint256[]"},{internalType:"uint256[]",name:"specificIds",type:"uint256[]"},{internalType:"uint256",name:"maxWethIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"buyAndSwap1155WETH",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:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"buyAndSwap721",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:"uint256",name:"maxWethIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"buyAndSwap721WETH",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"lpStaking",outputs:[{internalType:"contract INFTXLPStaking",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:"uint256",name:"minWethOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",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:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"uint256",name:"minWethOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"mintAndSell1155WETH",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"uint256",name:"minEthOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"mintAndSell721",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"uint256",name:"minWethOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"}],name:"mintAndSell721WETH",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"nftxFactory",outputs:[{internalType:"contract INFTXVaultFactory",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:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"rescue",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:[],name:"sushiRouter",outputs:[{internalType:"contract IUniswapV2Router01",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],z=function(e){function t(t){return e.call(this,exports.Market.NFTX,t)||this}T(t,e);var n=t.prototype;return n.encode=function(e,n){for(var i,r=f(this.orders);!(i=r()).done;){var p=i.value,s=t.INTERFACE.encodeFunctionData("buyAndRedeem",[p.vaultId,p.tokenIds.length,p.tokenIds,[l.Ether.onChain(1).wrapped.address,p.vaultAddress],p.recipient]);e.addCommand(a.NFTX,[p.value,s],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=f(this.orders);!(e=n()).done;)for(var a,i=e.value,r=f(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=s.BigNumber.from(0),n=f(this.orders);!(e=n()).done;)t=t.add(e.value.value);return t},t}(B);z.INTERFACE=new p.Interface(K);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"}],Y=function(e){function t(t){return e.call(this,exports.Market.Seaport,t)||this}T(t,e);var n=t.prototype;return n.encode=function(e,n){for(var a,i=f(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),d=f(p.items);!(r=d()).done;){var o=this.getAdvancedOrderParams(r.value);s.push(o.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=f(p.inputTokenProcessing);!(l=T()).done;){var c=l.value;P(e,{approval:c.protocolApproval?{token:c.token,protocol:p.protocolAddress}:void 0,permit2Permit:c.permit2Permit,permit2TransferFrom:c.permit2TransferFrom?{token:c.token,amount:this.getTotalOrderPrice(p,c.token).toString()}:void 0})}e.addCommand(this.commandMap(p.protocolAddress),[this.getTotalOrderPrice(p,_).toString(),m],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=f(this.orders);!(e=n()).done;)for(var a,i=f(e.value.items);!(a=i()).done;)for(var r,p=f(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.getTotalOrderPrice=function(e,t){void 0===t&&(t=_);for(var n,a=s.BigNumber.from(0),i=f(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=_);for(var t,n=s.BigNumber.from(0),a=f(this.orders);!(t=a()).done;)for(var i,r=f(t.value.items);!(i=r()).done;)n=n.add(this.calculateValue(i.value.parameters.consideration,e));return n},n.commandMap=function(e){switch(e.toLowerCase()){case"0x00000000006c3852cbef3e08e8df289169ede581":return a.SEAPORT;case"0x00000000000001ad428e4906ae43d8f9852d0dd6":return a.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:s.BigNumber.from("1"),denominator:s.BigNumber.from("1"),signature:e.signature,extraData:"0x00"}}},n.calculateValue=function(e,t){return e.reduce((function(e,n){return n.token==t?e.add(n.startAmount):e}),s.BigNumber.from(0))},t}(B);Y.INTERFACE=new p.Interface(q),Y.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"}],G=function(e){function t(t){return e.call(this,exports.Market.Sudoswap,t)||this}T(t,e);var n=t.prototype;return n.encode=function(e,n){for(var i,r=f(this.orders);!(i=r()).done;){var p=i.value,y=t.INTERFACE.encodeFunctionData("robustSwapETHForSpecificNFTs",[p.swaps.map((function(e){return{swapInfo:e.swapInfo,maxCost:e.maxCost}})),p.ethRecipient,p.nftRecipient,p.deadline]),u=p.swaps.reduce((function(e,t){return e.add(t.maxCost)}),s.BigNumber.from(0));e.addCommand(a.SUDOSWAP,[u,y],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=f(this.orders);!(e=n()).done;)for(var a,i=f(e.value.swaps);!(a=i()).done;)for(var r,p=a.value,s=f(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=s.BigNumber.from(0),n=f(this.orders);!(e=n()).done;)for(var a,i=f(e.value.swaps);!(a=i()).done;)t=t.add(a.value.maxCost);return t},t}(B);G.INTERFACE=new p.Interface(j);var Z=[{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"}],$=function(e){function t(t){return e.call(this,exports.Market.X2Y2,t)||this}T(t,e);var n=t.prototype;return n.encode=function(e,n){for(var i,r=f(this.orders);!(i=r()).done;){var p=i.value,s=t.INTERFACE.getSighash(t.INTERFACE.getFunction("run"))+p.signedInput.slice(2);p.tokenType==exports.TokenType.ERC721?e.addCommand(a.X2Y2_721,[p.price,s,p.recipient,p.tokenAddress,p.tokenId],n.allowRevert):p.tokenType==exports.TokenType.ERC1155&&e.addCommand(a.X2Y2_1155,[p.price,s,p.recipient,p.tokenAddress,p.tokenId,p.tokenAmount],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=f(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=s.BigNumber.from(0),n=f(this.orders);!(e=n()).done;)t=t.add(e.value.price);return t},t}(B);$.INTERFACE=new p.Interface(Z);var J=function(){function e(e,t,n){this.tradeType=exports.RouterTradeType.UnwrapWETH,this.wethAddress=R(t),this.amount=e,n&&(n.details.token!==this.wethAddress&&i(!1),n.details.amount>=e||i(!1),this.permit2Data=n)}return e.prototype.encode=function(e,t){P(e,{permit2Permit:this.permit2Data,permit2TransferFrom:{token:this.wethAddress,amount:this.amount.toString()}}),e.addCommand(a.UNWRAP_WETH,[M,this.amount])},e}();exports.CryptopunkTrade=V,exports.FoundationTrade=U,exports.LooksRareTrade=W,exports.NFT20Trade=X,exports.NFTTrade=B,exports.NFTXTrade=z,exports.PERMIT2_ADDRESS="0x000000000022D473030F116dDEE9F6B43aC78BA3",exports.ROUTER_AS_RECIPIENT=M,exports.SeaportTrade=Y,exports.SudoswapTrade=G,exports.SwapRouter=w,exports.UNIVERSAL_ROUTER_ADDRESS=function(e){switch(e){case 1:return"0x4C60051384bd2d3C01bfc845Cf5F4b44bcbE9de5";case 5:return"0x4648a43B2C14Da09FdF82B161150d3F634f40491";case 137:return"0x4C60051384bd2d3C01bfc845Cf5F4b44bcbE9de5";case 80001:return"0x4648a43B2C14Da09FdF82B161150d3F634f40491";case 10:return"0xb555edF5dcF85f42cEeF1f3630a52A108E55A654";case 420:return"0x4648a43B2C14Da09FdF82B161150d3F634f40491";case 42161:return"0x4C60051384bd2d3C01bfc845Cf5F4b44bcbE9de5";case 421613:return"0x4648a43B2C14Da09FdF82B161150d3F634f40491";case 42220:return"0xC73d61d192FB994157168Fb56730FdEc64C9Cb8F";case 44787:return"0x4648a43B2C14Da09FdF82B161150d3F634f40491";case 56:return"0x5Dc88340E1c5c6366864Ee415d6034cadd1A9897";default:throw new Error("Universal Router not deployed on chain "+e)}},exports.UniswapTrade=k,exports.UnwrapWETH=J,exports.WETH_ADDRESS=R,exports.X2Y2Trade=$;
|
|
2
2
|
//# sourceMappingURL=universal-router-sdk.cjs.production.min.js.map
|