@uniswap/universal-router-sdk 1.5.0-beta.0 → 1.5.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -3
- package/dist/entities/NFTTrade.d.ts +3 -3
- package/dist/entities/protocols/index.d.ts +1 -1
- package/dist/entities/protocols/looksRareV2.d.ts +56 -0
- package/dist/entities/protocols/nftx.d.ts +1 -1
- package/dist/test/orders/looksRareV2.d.ts +2 -0
- package/dist/test/orders/seaportV1_4.d.ts +1 -2
- package/dist/universal-router-sdk.cjs.development.js +1635 -703
- 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 +1636 -704
- package/dist/universal-router-sdk.esm.js.map +1 -1
- package/dist/utils/routerCommands.d.ts +4 -5
- package/package.json +4 -4
- package/dist/entities/protocols/looksRare.d.ts +0 -44
- package/dist/test/orders/looksRare.d.ts +0 -12
|
@@ -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.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=$;
|
|
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"),o=require("@uniswap/v2-sdk"),d=require("@uniswap/v3-sdk"),l=require("@uniswap/router-sdk"),m=require("@uniswap/sdk-core");function T(){return(T=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e}).apply(this,arguments)}function c(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 f(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 b(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 f(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)?f(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_V1_5=16]="SEAPORT_V1_5",e[e.LOOKS_RARE_V2=17]="LOOKS_RARE_V2",e[e.NFTX=18]="NFTX",e[e.CRYPTOPUNKS=19]="CRYPTOPUNKS",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.SEAPORT_V1_4=32]="SEAPORT_V1_4",e[e.EXECUTE_SUB_PLAN=33]="EXECUTE_SUB_PLAN",e[e.APPROVE_ERC20=34]="APPROVE_ERC20"}(a||(a={}));var v=new Set([a.SEAPORT_V1_5,a.SEAPORT_V1_4,a.NFTX,a.LOOKS_RARE_V2,a.X2Y2_721,a.X2Y2_1155,a.FOUNDATION,a.SUDOSWAP,a.NFT20,a.EXECUTE_SUB_PLAN,a.CRYPTOPUNKS,a.ELEMENT_MARKET]),A=((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_V1_5]=["uint256","bytes"],n[a.SEAPORT_V1_4]=["uint256","bytes"],n[a.NFTX]=["uint256","bytes"],n[a.LOOKS_RARE_V2]=["uint256","bytes"],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),S=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(A[e],t)}}(e,t);if(this.inputs.push(a.encodedInput),n){if(!v.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"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)}},C=s.BigNumber.from(2).pow(255),R="0x0000000000000000000000000000000000000000",M="0x0000000000000000000000000000000000000001",_="0x0000000000000000000000000000000000000002",x=new m.Percent(y.BigInt(50),y.BigInt(100)),P=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,[_,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===m.TradeType.EXACT_INPUT&&this.trade.routes.length>2||p,u=b(this.trade.swaps);!(r=u()).done;){var o=r.value;switch(o.route.protocol){case l.Protocol.V2:k(e,o,this.trade.tradeType,this.options,i,y);break;case l.Protocol.V3:E(e,o,this.trade.tradeType,this.options,i,y);break;case l.Protocol.MIXED:O(e,o,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===m.TradeType.EXACT_OUTPUT||this.trade.priceImpact.greaterThan(x))&&e.addCommand(a.UNWRAP_WETH,[this.options.recipient,0])},e}();function k(e,t,n,i,r,p){var s=t.route,y=new o.Trade(s,n==m.TradeType.EXACT_INPUT?t.inputAmount:t.outputAmount,n);n==m.TradeType.EXACT_INPUT?e.addCommand(a.V2_SWAP_EXACT_IN,[p?_:i.recipient,y.maximumAmountIn(i.slippageTolerance).quotient.toString(),y.minimumAmountOut(i.slippageTolerance).quotient.toString(),s.path.map((function(e){return e.address})),r]):n==m.TradeType.EXACT_OUTPUT&&e.addCommand(a.V2_SWAP_EXACT_OUT,[p?_:i.recipient,y.minimumAmountOut(i.slippageTolerance).quotient.toString(),y.maximumAmountIn(i.slippageTolerance).quotient.toString(),s.path.map((function(e){return e.address})),r])}function E(e,t,n,i,r,p){var s=t.route,y=d.Trade.createUncheckedTrade({route:s,inputAmount:t.inputAmount,outputAmount:t.outputAmount,tradeType:n}),u=d.encodeRouteToPath(s,y.tradeType===m.TradeType.EXACT_OUTPUT);n==m.TradeType.EXACT_INPUT?e.addCommand(a.V3_SWAP_EXACT_IN,[p?_:i.recipient,y.maximumAmountIn(i.slippageTolerance).quotient.toString(),y.minimumAmountOut(i.slippageTolerance).quotient.toString(),u,r]):n==m.TradeType.EXACT_OUTPUT&&e.addCommand(a.V3_SWAP_EXACT_OUT,[p?_: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,m=p?_:i.recipient;if(1===s.pools.length){if(s.pools[0]instanceof d.Pool)return E(e,t,n,i,r,p);if(s.pools[0]instanceof o.Pair)return k(e,t,n,i,r,p);throw new Error("Invalid route type")}for(var T,c=l.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=l.partitionMixedRouteByProtocol(s),A=function(e){return e===v.length-1},S=s.input.wrapped,I=0;I<v.length;I++){var R=v[I];T=l.getOutputOfPools(R,S);var M=new l.MixedRouteSDK([].concat(R),R[0].token0.equals(S)?R[0].token0:R[0].token1,T),x=new l.MixedRoute(M);if(S=T,function(e){return e.pools.every((function(e){return e instanceof d.Pool}))}(x)){var P=l.encodeMixedRouteToPath(x);e.addCommand(a.V3_SWAP_EXACT_IN,[A(I)?m:v[I+1][0].liquidityToken.address,0==I?f:C,A(I)?b:0,P,r&&0===I])}else e.addCommand(a.V2_SWAP_EXACT_IN,[A(I)?m:_,0===I?f:C,A(I)?b:0,x.path.map((function(e){return e.address})),r&&0===I])}}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 w(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,N(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:_,t.permit2TransferFrom.amount])}function N(e){switch(e.toLowerCase()){case"0x00000000000000ADc04C56Bf30aC9d3c0aAF14dC":case"0x00000000000001ad428e4906ae43d8f9852d0dd6":return 0;case"0x2b2e8cda09bba9660dca5cb6233787738ad68329":return 1;default:throw new Error("unsupported protocol address")}}var g=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 S,o=s.BigNumber.from(0),d=s.BigNumber.from(0),l=b(t);!(r=l()).done;){var m=r.value;if(m.tradeType==exports.RouterTradeType.NFTTrade){var T=m;T.encode(u,{allowRevert:y});var c=T.getTotalPrice();o.lt(c)?(d=d.add(c.sub(o)),o=s.BigNumber.from(0)):o=o.sub(c)}else if(m.tradeType==exports.RouterTradeType.UniswapTrade){var f=m,v=f.trade.inputAmount.currency.isNative,A=f.trade.outputAmount.currency.isNative,I=f.options;v&&I.inputTokenPermit&&i(!1),I.inputTokenPermit&&F(u,I.inputTokenPermit),v&&(d=d.add(s.BigNumber.from(f.trade.maximumAmountIn(I.slippageTolerance).quotient.toString()))),A&&I.recipient==_&&(o=o.add(s.BigNumber.from(f.trade.minimumAmountOut(I.slippageTolerance).quotient.toString()))),f.encode(u,{allowRevert:!1})}else{if(m.tradeType!=exports.RouterTradeType.UnwrapWETH)throw"trade must be of instance: UniswapTrade or NFTTrade";var C=m;m.encode(u,{allowRevert:!1}),o=o.add(C.amount)}}return p.length>0&&u.addCommand(a.SWEEP,[R,M,0]),e.encodePlan(u,d,n)},e.swapNFTCallParameters=function(t,n){void 0===n&&(n={});for(var i,r=new S,p=s.BigNumber.from(0),y=1!=t.length||1!=t[0].orders.length,u=b(t);!(i=u()).done;){var o=i.value;o.encode(r,{allowRevert:y}),p=p.add(o.getTotalPrice())}return r.addCommand(a.SWEEP,[R,M,0]),e.encodePlan(r,p,n)},e.swapERC20CallParameters=function(t,n){var a=new S,r=new P(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}();g.INTERFACE=new p.Interface(r.abi);var h,B,V=function(e,t){this.tradeType=exports.RouterTradeType.NFTTrade,t.length>0||i(!1),this.market=e,this.orders=t};(h=exports.Market||(exports.Market={})).Foundation="foundation",h.LooksRareV2="looksrareV2",h.NFT20="nft20",h.NFTX="nftx",h.Seaport="seaport",h.Sudoswap="Sudoswap",h.Cryptopunks="cryptopunks",h.X2Y2="x2y2",h.Element="element",(B=exports.TokenType||(exports.TokenType={})).ERC721="ERC721",B.ERC1155="ERC1155",B.Cryptopunk="Cryptopunk";var L=function(e){function t(t){return e.call(this,exports.Market.Cryptopunks,t)||this}c(t,e);var n=t.prototype;return n.encode=function(e,t){for(var n,i=b(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=b(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=b(this.orders);!(e=n()).done;)t=t.add(e.value.value);return t},t}(V);L.CRYPTOPUNK_ADDRESS="0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb";var D=[{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}c(t,e);var n=t.prototype;return n.encode=function(e,n){for(var i,r=b(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=b(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=b(this.orders);!(e=n()).done;)t=t.add(e.value.price);return t},t}(V);U.INTERFACE=new p.Interface(D);var H=[{inputs:[{internalType:"address",name:"_owner",type:"address"},{internalType:"address",name:"_protocolFeeRecipient",type:"address"},{internalType:"address",name:"_transferManager",type:"address"},{internalType:"address",name:"_weth",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CallerInvalid",type:"error"},{inputs:[],name:"ChainIdInvalid",type:"error"},{inputs:[],name:"CreatorFeeBpTooHigh",type:"error"},{inputs:[],name:"CurrencyInvalid",type:"error"},{inputs:[],name:"ERC20TransferFromFail",type:"error"},{inputs:[],name:"LengthsInvalid",type:"error"},{inputs:[],name:"MerkleProofInvalid",type:"error"},{inputs:[{internalType:"uint256",name:"length",type:"uint256"}],name:"MerkleProofTooLarge",type:"error"},{inputs:[],name:"NewGasLimitETHTransferTooLow",type:"error"},{inputs:[],name:"NewProtocolFeeRecipientCannotBeNullAddress",type:"error"},{inputs:[],name:"NoOngoingTransferInProgress",type:"error"},{inputs:[],name:"NoSelectorForStrategy",type:"error"},{inputs:[],name:"NoncesInvalid",type:"error"},{inputs:[],name:"NotAContract",type:"error"},{inputs:[],name:"NotAffiliateController",type:"error"},{inputs:[],name:"NotOwner",type:"error"},{inputs:[],name:"NotV2Strategy",type:"error"},{inputs:[],name:"NullSignerAddress",type:"error"},{inputs:[],name:"OutsideOfTimeRange",type:"error"},{inputs:[],name:"PercentageTooHigh",type:"error"},{inputs:[],name:"QuoteTypeInvalid",type:"error"},{inputs:[],name:"ReentrancyFail",type:"error"},{inputs:[],name:"RenouncementNotInProgress",type:"error"},{inputs:[],name:"SameDomainSeparator",type:"error"},{inputs:[],name:"SignatureEOAInvalid",type:"error"},{inputs:[],name:"SignatureERC1271Invalid",type:"error"},{inputs:[{internalType:"uint256",name:"length",type:"uint256"}],name:"SignatureLengthInvalid",type:"error"},{inputs:[],name:"SignatureParameterSInvalid",type:"error"},{inputs:[{internalType:"uint8",name:"v",type:"uint8"}],name:"SignatureParameterVInvalid",type:"error"},{inputs:[],name:"StrategyHasNoSelector",type:"error"},{inputs:[{internalType:"uint256",name:"strategyId",type:"uint256"}],name:"StrategyNotAvailable",type:"error"},{inputs:[],name:"StrategyNotUsed",type:"error"},{inputs:[],name:"StrategyProtocolFeeTooHigh",type:"error"},{inputs:[],name:"TransferAlreadyInProgress",type:"error"},{inputs:[],name:"TransferNotInProgress",type:"error"},{inputs:[],name:"WrongPotentialOwner",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"affiliate",type:"address"},{indexed:!1,internalType:"address",name:"currency",type:"address"},{indexed:!1,internalType:"uint256",name:"affiliateFee",type:"uint256"}],name:"AffiliatePayment",type:"event"},{anonymous:!1,inputs:[],name:"CancelOwnershipTransfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"currency",type:"address"},{indexed:!1,internalType:"bool",name:"isAllowed",type:"bool"}],name:"CurrencyStatusUpdated",type:"event"},{anonymous:!1,inputs:[],name:"InitiateOwnershipRenouncement",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"previousOwner",type:"address"},{indexed:!1,internalType:"address",name:"potentialOwner",type:"address"}],name:"InitiateOwnershipTransfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"affiliateController",type:"address"}],name:"NewAffiliateController",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"isActive",type:"bool"}],name:"NewAffiliateProgramStatus",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"affiliate",type:"address"},{indexed:!1,internalType:"uint256",name:"rate",type:"uint256"}],name:"NewAffiliateRate",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"bidNonce",type:"uint256"},{indexed:!1,internalType:"uint256",name:"askNonce",type:"uint256"}],name:"NewBidAskNonces",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"creatorFeeManager",type:"address"}],name:"NewCreatorFeeManager",type:"event"},{anonymous:!1,inputs:[],name:"NewDomainSeparator",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"gasLimitETHTransfer",type:"uint256"}],name:"NewGasLimitETHTransfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"maxCreatorFeeBp",type:"uint256"}],name:"NewMaxCreatorFeeBp",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"NewOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"protocolFeeRecipient",type:"address"}],name:"NewProtocolFeeRecipient",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"strategyId",type:"uint256"},{indexed:!1,internalType:"uint16",name:"standardProtocolFeeBp",type:"uint16"},{indexed:!1,internalType:"uint16",name:"minTotalFeeBp",type:"uint16"},{indexed:!1,internalType:"uint16",name:"maxProtocolFeeBp",type:"uint16"},{indexed:!1,internalType:"bytes4",name:"selector",type:"bytes4"},{indexed:!1,internalType:"bool",name:"isMakerBid",type:"bool"},{indexed:!1,internalType:"address",name:"implementation",type:"address"}],name:"NewStrategy",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256[]",name:"orderNonces",type:"uint256[]"}],name:"OrderNoncesCancelled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"strategyId",type:"uint256"},{indexed:!1,internalType:"bool",name:"isActive",type:"bool"},{indexed:!1,internalType:"uint16",name:"standardProtocolFeeBp",type:"uint16"},{indexed:!1,internalType:"uint16",name:"minTotalFeeBp",type:"uint16"}],name:"StrategyUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256[]",name:"subsetNonces",type:"uint256[]"}],name:"SubsetNoncesCancelled",type:"event"},{anonymous:!1,inputs:[{components:[{internalType:"bytes32",name:"orderHash",type:"bytes32"},{internalType:"uint256",name:"orderNonce",type:"uint256"},{internalType:"bool",name:"isNonceInvalidated",type:"bool"}],indexed:!1,internalType:"struct ILooksRareProtocol.NonceInvalidationParameters",name:"nonceInvalidationParameters",type:"tuple"},{indexed:!1,internalType:"address",name:"askUser",type:"address"},{indexed:!1,internalType:"address",name:"bidUser",type:"address"},{indexed:!1,internalType:"uint256",name:"strategyId",type:"uint256"},{indexed:!1,internalType:"address",name:"currency",type:"address"},{indexed:!1,internalType:"address",name:"collection",type:"address"},{indexed:!1,internalType:"uint256[]",name:"itemIds",type:"uint256[]"},{indexed:!1,internalType:"uint256[]",name:"amounts",type:"uint256[]"},{indexed:!1,internalType:"address[2]",name:"feeRecipients",type:"address[2]"},{indexed:!1,internalType:"uint256[3]",name:"feeAmounts",type:"uint256[3]"}],name:"TakerAsk",type:"event"},{anonymous:!1,inputs:[{components:[{internalType:"bytes32",name:"orderHash",type:"bytes32"},{internalType:"uint256",name:"orderNonce",type:"uint256"},{internalType:"bool",name:"isNonceInvalidated",type:"bool"}],indexed:!1,internalType:"struct ILooksRareProtocol.NonceInvalidationParameters",name:"nonceInvalidationParameters",type:"tuple"},{indexed:!1,internalType:"address",name:"bidUser",type:"address"},{indexed:!1,internalType:"address",name:"bidRecipient",type:"address"},{indexed:!1,internalType:"uint256",name:"strategyId",type:"uint256"},{indexed:!1,internalType:"address",name:"currency",type:"address"},{indexed:!1,internalType:"address",name:"collection",type:"address"},{indexed:!1,internalType:"uint256[]",name:"itemIds",type:"uint256[]"},{indexed:!1,internalType:"uint256[]",name:"amounts",type:"uint256[]"},{indexed:!1,internalType:"address[2]",name:"feeRecipients",type:"address[2]"},{indexed:!1,internalType:"uint256[3]",name:"feeAmounts",type:"uint256[3]"}],name:"TakerBid",type:"event"},{inputs:[],name:"MAGIC_VALUE_ORDER_NONCE_EXECUTED",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"standardProtocolFeeBp",type:"uint16"},{internalType:"uint16",name:"minTotalFeeBp",type:"uint16"},{internalType:"uint16",name:"maxProtocolFeeBp",type:"uint16"},{internalType:"bytes4",name:"selector",type:"bytes4"},{internalType:"bool",name:"isMakerBid",type:"bool"},{internalType:"address",name:"implementation",type:"address"}],name:"addStrategy",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"affiliateController",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"affiliateRates",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256[]",name:"orderNonces",type:"uint256[]"}],name:"cancelOrderNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"cancelOwnershipTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256[]",name:"subsetNonces",type:"uint256[]"}],name:"cancelSubsetNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"chainId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"confirmOwnershipRenouncement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"confirmOwnershipTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"creatorFeeManager",outputs:[{internalType:"contract ICreatorFeeManager",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"domainSeparator",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"bytes",name:"additionalParameters",type:"bytes"}],internalType:"struct OrderStructs.Taker[]",name:"takerBids",type:"tuple[]"},{components:[{internalType:"enum QuoteType",name:"quoteType",type:"uint8"},{internalType:"uint256",name:"globalNonce",type:"uint256"},{internalType:"uint256",name:"subsetNonce",type:"uint256"},{internalType:"uint256",name:"orderNonce",type:"uint256"},{internalType:"uint256",name:"strategyId",type:"uint256"},{internalType:"enum CollectionType",name:"collectionType",type:"uint8"},{internalType:"address",name:"collection",type:"address"},{internalType:"address",name:"currency",type:"address"},{internalType:"address",name:"signer",type:"address"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256[]",name:"itemIds",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"bytes",name:"additionalParameters",type:"bytes"}],internalType:"struct OrderStructs.Maker[]",name:"makerAsks",type:"tuple[]"},{internalType:"bytes[]",name:"makerSignatures",type:"bytes[]"},{components:[{internalType:"bytes32",name:"root",type:"bytes32"},{components:[{internalType:"bytes32",name:"value",type:"bytes32"},{internalType:"enum OrderStructs.MerkleTreeNodePosition",name:"position",type:"uint8"}],internalType:"struct OrderStructs.MerkleTreeNode[]",name:"proof",type:"tuple[]"}],internalType:"struct OrderStructs.MerkleTree[]",name:"merkleTrees",type:"tuple[]"},{internalType:"address",name:"affiliate",type:"address"},{internalType:"bool",name:"isAtomic",type:"bool"}],name:"executeMultipleTakerBids",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"bytes",name:"additionalParameters",type:"bytes"}],internalType:"struct OrderStructs.Taker",name:"takerAsk",type:"tuple"},{components:[{internalType:"enum QuoteType",name:"quoteType",type:"uint8"},{internalType:"uint256",name:"globalNonce",type:"uint256"},{internalType:"uint256",name:"subsetNonce",type:"uint256"},{internalType:"uint256",name:"orderNonce",type:"uint256"},{internalType:"uint256",name:"strategyId",type:"uint256"},{internalType:"enum CollectionType",name:"collectionType",type:"uint8"},{internalType:"address",name:"collection",type:"address"},{internalType:"address",name:"currency",type:"address"},{internalType:"address",name:"signer",type:"address"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256[]",name:"itemIds",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"bytes",name:"additionalParameters",type:"bytes"}],internalType:"struct OrderStructs.Maker",name:"makerBid",type:"tuple"},{internalType:"bytes",name:"makerSignature",type:"bytes"},{components:[{internalType:"bytes32",name:"root",type:"bytes32"},{components:[{internalType:"bytes32",name:"value",type:"bytes32"},{internalType:"enum OrderStructs.MerkleTreeNodePosition",name:"position",type:"uint8"}],internalType:"struct OrderStructs.MerkleTreeNode[]",name:"proof",type:"tuple[]"}],internalType:"struct OrderStructs.MerkleTree",name:"merkleTree",type:"tuple"},{internalType:"address",name:"affiliate",type:"address"}],name:"executeTakerAsk",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"bytes",name:"additionalParameters",type:"bytes"}],internalType:"struct OrderStructs.Taker",name:"takerBid",type:"tuple"},{components:[{internalType:"enum QuoteType",name:"quoteType",type:"uint8"},{internalType:"uint256",name:"globalNonce",type:"uint256"},{internalType:"uint256",name:"subsetNonce",type:"uint256"},{internalType:"uint256",name:"orderNonce",type:"uint256"},{internalType:"uint256",name:"strategyId",type:"uint256"},{internalType:"enum CollectionType",name:"collectionType",type:"uint8"},{internalType:"address",name:"collection",type:"address"},{internalType:"address",name:"currency",type:"address"},{internalType:"address",name:"signer",type:"address"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256[]",name:"itemIds",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"bytes",name:"additionalParameters",type:"bytes"}],internalType:"struct OrderStructs.Maker",name:"makerAsk",type:"tuple"},{internalType:"bytes",name:"makerSignature",type:"bytes"},{components:[{internalType:"bytes32",name:"root",type:"bytes32"},{components:[{internalType:"bytes32",name:"value",type:"bytes32"},{internalType:"enum OrderStructs.MerkleTreeNodePosition",name:"position",type:"uint8"}],internalType:"struct OrderStructs.MerkleTreeNode[]",name:"proof",type:"tuple[]"}],internalType:"struct OrderStructs.MerkleTree",name:"merkleTree",type:"tuple"},{internalType:"address",name:"affiliate",type:"address"}],name:"executeTakerBid",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"root",type:"bytes32"},{internalType:"uint256",name:"proofLength",type:"uint256"}],name:"hashBatchOrder",outputs:[{internalType:"bytes32",name:"batchOrderHash",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bool",name:"bid",type:"bool"},{internalType:"bool",name:"ask",type:"bool"}],name:"incrementBidAskNonces",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initiateOwnershipRenouncement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newPotentialOwner",type:"address"}],name:"initiateOwnershipTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"isAffiliateProgramActive",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isCurrencyAllowed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxCreatorFeeBp",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"ownershipStatus",outputs:[{internalType:"enum IOwnableTwoSteps.Status",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"potentialOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"protocolFeeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"recipient",type:"address"},{internalType:"bytes",name:"additionalParameters",type:"bytes"}],internalType:"struct OrderStructs.Taker",name:"takerBid",type:"tuple"},{components:[{internalType:"enum QuoteType",name:"quoteType",type:"uint8"},{internalType:"uint256",name:"globalNonce",type:"uint256"},{internalType:"uint256",name:"subsetNonce",type:"uint256"},{internalType:"uint256",name:"orderNonce",type:"uint256"},{internalType:"uint256",name:"strategyId",type:"uint256"},{internalType:"enum CollectionType",name:"collectionType",type:"uint8"},{internalType:"address",name:"collection",type:"address"},{internalType:"address",name:"currency",type:"address"},{internalType:"address",name:"signer",type:"address"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"uint256",name:"price",type:"uint256"},{internalType:"uint256[]",name:"itemIds",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"bytes",name:"additionalParameters",type:"bytes"}],internalType:"struct OrderStructs.Maker",name:"makerAsk",type:"tuple"},{internalType:"address",name:"sender",type:"address"},{internalType:"bytes32",name:"orderHash",type:"bytes32"}],name:"restrictedExecuteTakerBid",outputs:[{internalType:"uint256",name:"protocolFeeAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"strategyInfo",outputs:[{internalType:"bool",name:"isActive",type:"bool"},{internalType:"uint16",name:"standardProtocolFeeBp",type:"uint16"},{internalType:"uint16",name:"minTotalFeeBp",type:"uint16"},{internalType:"uint16",name:"maxProtocolFeeBp",type:"uint16"},{internalType:"bytes4",name:"selector",type:"bytes4"},{internalType:"bool",name:"isMakerBid",type:"bool"},{internalType:"address",name:"implementation",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"transferManager",outputs:[{internalType:"contract TransferManager",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newAffiliateController",type:"address"}],name:"updateAffiliateController",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"isActive",type:"bool"}],name:"updateAffiliateProgramStatus",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"affiliate",type:"address"},{internalType:"uint256",name:"bp",type:"uint256"}],name:"updateAffiliateRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newCreatorFeeManager",type:"address"}],name:"updateCreatorFeeManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"currency",type:"address"},{internalType:"bool",name:"isAllowed",type:"bool"}],name:"updateCurrencyStatus",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"updateDomainSeparator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"newGasLimitETHTransfer",type:"uint256"}],name:"updateETHGasLimitForTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"newMaxCreatorFeeBp",type:"uint16"}],name:"updateMaxCreatorFeeBp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newProtocolFeeRecipient",type:"address"}],name:"updateProtocolFeeRecipient",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"strategyId",type:"uint256"},{internalType:"bool",name:"isActive",type:"bool"},{internalType:"uint16",name:"newStandardProtocolFee",type:"uint16"},{internalType:"uint16",name:"newMinTotalFee",type:"uint16"}],name:"updateStrategy",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"userBidAskNonces",outputs:[{internalType:"uint256",name:"bidNonce",type:"uint256"},{internalType:"uint256",name:"askNonce",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"userOrderNonce",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"userSubsetNonce",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],W=function(e){function t(t){return e.call(this,exports.Market.LooksRareV2,t)||this}c(t,e);var n=t.prototype;return n.encode=function(e,n){for(var i,r=b(this.orders);!(i=r()).done;){var p=this.refactorAPIData(i.value),s=p.value,y=t.INTERFACE.encodeFunctionData("executeTakerBid",[p.takerBid,p.makerOrder,p.makerSignature,p.merkleTree,"0x0000000000000000000000000000000000000000"]);e.addCommand(a.LOOKS_RARE_V2,[s,y],n.allowRevert)}},n.getBuyItems=function(){for(var e,n=[],a=b(this.orders);!(e=a()).done;)for(var i,r=e.value,p=r.apiOrder.collection,s=r.apiOrder.collectionType==t.ERC721_ORDER?exports.TokenType.ERC721:exports.TokenType.ERC1155,y=b(r.apiOrder.itemIds);!(i=y()).done;)n.push({tokenAddress:p,tokenId:i.value,tokenType:s});return n},n.getTotalPrice=function(){for(var e,t=s.BigNumber.from(0),n=b(this.orders);!(e=n()).done;)t=t.add(e.value.apiOrder.price);return t},n.refactorAPIData=function(e){var t=T({},e.apiOrder);return{takerBid:{recipient:e.taker,additionalParameters:"0x"},makerOrder:t,makerSignature:e.apiOrder.signature,value:s.BigNumber.from(e.apiOrder.price),merkleTree:{root:e.apiOrder.merkleRoot,proof:e.apiOrder.merkleProof}}},t}(V);W.INTERFACE=new p.Interface(H),W.ERC721_ORDER=0;var X=[{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"}],K=function(e){function t(t){return e.call(this,exports.Market.NFT20,t)||this}c(t,e);var n=t.prototype;return n.encode=function(e,n){for(var i,r=b(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=b(this.orders);!(e=n()).done;)for(var a,i=e.value,r=b(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=b(this.orders);!(e=n()).done;)t=t.add(e.value.value);return t},t}(V);K.INTERFACE=new p.Interface(X);var q=[{inputs:[{internalType:"address",name:"_nftxFactory",type:"address"},{internalType:"address",name:"_WETH",type:"address"},{internalType:"address payable",name:"_swapTarget",type:"address"},{internalType:"uint256",name:"_dustThreshold",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"count",type:"uint256"},{indexed:!1,internalType:"uint256",name:"ethSpent",type:"uint256"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"Buy",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"ethAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"vTokenAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"DustReturned",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"count",type:"uint256"},{indexed:!1,internalType:"uint256",name:"ethReceived",type:"uint256"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"Sell",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"count",type:"uint256"},{indexed:!1,internalType:"uint256",name:"ethSpent",type:"uint256"},{indexed:!1,internalType:"address",name:"to",type:"address"}],name:"Swap",type:"event"},{inputs:[],name:"WETH",outputs:[{internalType:"contract IWETH",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256[]",name:"specificIds",type:"uint256[]"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"address payable",name:"to",type:"address"}],name:"buyAndRedeem",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"uint256[]",name:"idsIn",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"uint256[]",name:"specificIds",type:"uint256[]"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"address payable",name:"to",type:"address"}],name:"buyAndSwap1155",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"uint256[]",name:"idsIn",type:"uint256[]"},{internalType:"uint256[]",name:"specificIds",type:"uint256[]"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"address payable",name:"to",type:"address"}],name:"buyAndSwap721",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"dustThreshold",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeDistributor",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"address payable",name:"to",type:"address"}],name:"mintAndSell1155",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"vaultId",type:"uint256"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"bytes",name:"swapCallData",type:"bytes"},{internalType:"address payable",name:"to",type:"address"}],name:"mintAndSell721",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"nftxFactory",outputs:[{internalType:"contract INFTXVaultFactory",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"nftxVaultAddresses",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155BatchReceived",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"_paused",type:"bool"}],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"rescue",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_dustThreshold",type:"uint256"}],name:"setDustThreshold",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],z=function(e){function t(t){return e.call(this,exports.Market.NFTX,t)||this}c(t,e);var n=t.prototype;return n.encode=function(e,n){for(var i,r=b(this.orders);!(i=r()).done;){var p=i.value,s=t.INTERFACE.encodeFunctionData("buyAndRedeem",[p.vaultId,p.tokenIds.length,p.tokenIds,p.swapCalldata,p.recipient]);e.addCommand(a.NFTX,[p.value,s],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=b(this.orders);!(e=n()).done;)for(var a,i=e.value,r=b(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=b(this.orders);!(e=n()).done;)t=t.add(e.value.value);return t},t}(V);z.INTERFACE=new p.Interface(q);var Y=[{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"}],j=function(e){function t(t){return e.call(this,exports.Market.Seaport,t)||this}c(t,e);var n=t.prototype;return n.encode=function(e,n){for(var a,i=b(this.orders);!(a=i()).done;){for(var r,p=a.value,s=[],y=p.items.map((function(e,t){return[{orderIndex:t,itemIndex:0}]})),u=this.getConsiderationFulfillments(p.items),o=b(p.items);!(r=o()).done;){var d=this.getAdvancedOrderParams(r.value);s.push(d.advancedOrder)}var l;if(l=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 m,T=b(p.inputTokenProcessing);!(m=T()).done;){var c=m.value;w(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,R).toString(),l],n.allowRevert)}},n.getBuyItems=function(){for(var e,t=[],n=b(this.orders);!(e=n()).done;)for(var a,i=b(e.value.items);!(a=i()).done;)for(var r,p=b(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=R);for(var n,a=s.BigNumber.from(0),i=b(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=R);for(var t,n=s.BigNumber.from(0),a=b(this.orders);!(t=a()).done;)for(var i,r=b(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"0x00000000000000ADc04C56Bf30aC9d3c0aAF14dC":return a.SEAPORT_V1_5;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}(V);j.INTERFACE=new p.Interface(Y),j.OPENSEA_CONDUIT_KEY="0x0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000";var G=[{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"}],Q=function(e){function t(t){return e.call(this,exports.Market.Sudoswap,t)||this}c(t,e);var n=t.prototype;return n.encode=function(e,n){for(var i,r=b(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=b(this.orders);!(e=n()).done;)for(var a,i=b(e.value.swaps);!(a=i()).done;)for(var r,p=a.value,s=b(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=b(this.orders);!(e=n()).done;)for(var a,i=b(e.value.swaps);!(a=i()).done;)t=t.add(a.value.maxCost);return t},t}(V);Q.INTERFACE=new p.Interface(G);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}c(t,e);var n=t.prototype;return n.encode=function(e,n){for(var i,r=b(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=b(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=b(this.orders);!(e=n()).done;)t=t.add(e.value.price);return t},t}(V);$.INTERFACE=new p.Interface(Z);var J=function(){function e(e,t,n){this.tradeType=exports.RouterTradeType.UnwrapWETH,this.wethAddress=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){w(e,{permit2Permit:this.permit2Data,permit2TransferFrom:{token:this.wethAddress,amount:this.amount.toString()}}),e.addCommand(a.UNWRAP_WETH,[_,this.amount])},e}();exports.CryptopunkTrade=L,exports.FoundationTrade=U,exports.LooksRareV2Trade=W,exports.NFT20Trade=K,exports.NFTTrade=V,exports.NFTXTrade=z,exports.PERMIT2_ADDRESS="0x000000000022D473030F116dDEE9F6B43aC78BA3",exports.ROUTER_AS_RECIPIENT=_,exports.SeaportTrade=j,exports.SudoswapTrade=Q,exports.SwapRouter=g,exports.UNIVERSAL_ROUTER_ADDRESS=function(e){switch(e){case 1:return"0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD";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=P,exports.UnwrapWETH=J,exports.WETH_ADDRESS=I,exports.X2Y2Trade=$;
|
|
2
2
|
//# sourceMappingURL=universal-router-sdk.cjs.production.min.js.map
|