@opensea/seaport-js 1.0.0 → 1.0.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/lib/abi/ERC1155.d.ts +29 -29
  2. package/lib/abi/ERC20.d.ts +29 -29
  3. package/lib/abi/ERC721.d.ts +29 -29
  4. package/lib/abi/Seaport.d.ts +112 -112
  5. package/lib/constants.d.ts +49 -49
  6. package/lib/index.d.ts +2 -2
  7. package/lib/index.esm.mjs +2 -0
  8. package/lib/index.esm.mjs.map +1 -0
  9. package/lib/index.js +2 -6
  10. package/lib/index.js.map +1 -1
  11. package/lib/index.modern.mjs +2 -0
  12. package/lib/index.modern.mjs.map +1 -0
  13. package/lib/index.umd.js +2 -0
  14. package/lib/index.umd.js.map +1 -0
  15. package/lib/seaport.d.ts +181 -181
  16. package/lib/types.d.ts +207 -207
  17. package/lib/utils/approval.d.ts +9 -9
  18. package/lib/utils/balance.d.ts +4 -4
  19. package/lib/utils/balanceAndApprovalCheck.d.ts +108 -108
  20. package/lib/utils/criteria.d.ts +13 -14
  21. package/lib/utils/fulfill.d.ts +84 -84
  22. package/lib/utils/gcd.d.ts +3 -3
  23. package/lib/utils/item.d.ts +30 -29
  24. package/lib/utils/match.d.ts +49 -49
  25. package/lib/utils/merkletree.d.ts +11 -11
  26. package/lib/utils/order.d.ts +37 -37
  27. package/lib/utils/usecase.d.ts +4 -4
  28. package/package.json +4 -2
  29. package/lib/abi/ERC1155.js +0 -319
  30. package/lib/abi/ERC1155.js.map +0 -1
  31. package/lib/abi/ERC20.js +0 -317
  32. package/lib/abi/ERC20.js.map +0 -1
  33. package/lib/abi/ERC721.js +0 -337
  34. package/lib/abi/ERC721.js.map +0 -1
  35. package/lib/abi/Seaport.js +0 -2585
  36. package/lib/abi/Seaport.js.map +0 -1
  37. package/lib/constants.js +0 -73
  38. package/lib/constants.js.map +0 -1
  39. package/lib/seaport.js +0 -720
  40. package/lib/seaport.js.map +0 -1
  41. package/lib/typechain/ERC1155.d.ts +0 -189
  42. package/lib/typechain/ERC1155.js +0 -3
  43. package/lib/typechain/ERC1155.js.map +0 -1
  44. package/lib/typechain/ERC20.d.ts +0 -209
  45. package/lib/typechain/ERC20.js +0 -3
  46. package/lib/typechain/ERC20.js.map +0 -1
  47. package/lib/typechain/ERC721.d.ts +0 -220
  48. package/lib/typechain/ERC721.js +0 -3
  49. package/lib/typechain/ERC721.js.map +0 -1
  50. package/lib/typechain/Seaport.d.ts +0 -686
  51. package/lib/typechain/Seaport.js +0 -3
  52. package/lib/typechain/Seaport.js.map +0 -1
  53. package/lib/typechain/common.d.ts +0 -21
  54. package/lib/typechain/common.js +0 -3
  55. package/lib/typechain/common.js.map +0 -1
  56. package/lib/types.js +0 -3
  57. package/lib/types.js.map +0 -1
  58. package/lib/utils/approval.js +0 -108
  59. package/lib/utils/approval.js.map +0 -1
  60. package/lib/utils/balance.js +0 -86
  61. package/lib/utils/balance.js.map +0 -1
  62. package/lib/utils/balanceAndApprovalCheck.js +0 -322
  63. package/lib/utils/balanceAndApprovalCheck.js.map +0 -1
  64. package/lib/utils/criteria.js +0 -91
  65. package/lib/utils/criteria.js.map +0 -1
  66. package/lib/utils/fulfill.js +0 -573
  67. package/lib/utils/fulfill.js.map +0 -1
  68. package/lib/utils/gcd.js +0 -25
  69. package/lib/utils/gcd.js.map +0 -1
  70. package/lib/utils/item.js +0 -136
  71. package/lib/utils/item.js.map +0 -1
  72. package/lib/utils/match.js +0 -56
  73. package/lib/utils/match.js.map +0 -1
  74. package/lib/utils/merkletree.js +0 -32
  75. package/lib/utils/merkletree.js.map +0 -1
  76. package/lib/utils/order.js +0 -224
  77. package/lib/utils/order.js.map +0 -1
  78. package/lib/utils/usecase.js +0 -158
  79. package/lib/utils/usecase.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@0xsequence/multicall"),require("ethers"),require("ethers/lib/utils"),require("merkletreejs")):"function"==typeof define&&define.amd?define(["exports","@0xsequence/multicall","ethers","ethers/lib/utils","merkletreejs"],t):t((e||self).seaportJs={},e.multicall,e.ethers,e.utils,e.merkletreejs)}(this,function(e,t,n,r,i){function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=/*#__PURE__*/a(i);function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s.apply(this,arguments)}var p,u,d,l,m=[{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:"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:"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"},{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={OrderComponents:[{name:"offerer",type:"address"},{name:"zone",type:"address"},{name:"offer",type:"OfferItem[]"},{name:"consideration",type:"ConsiderationItem[]"},{name:"orderType",type:"uint8"},{name:"startTime",type:"uint256"},{name:"endTime",type:"uint256"},{name:"zoneHash",type:"bytes32"},{name:"salt",type:"uint256"},{name:"conduitKey",type:"bytes32"},{name:"counter",type:"uint256"}],OfferItem:[{name:"itemType",type:"uint8"},{name:"token",type:"address"},{name:"identifierOrCriteria",type:"uint256"},{name:"startAmount",type:"uint256"},{name:"endAmount",type:"uint256"}],ConsiderationItem:[{name:"itemType",type:"uint8"},{name:"token",type:"address"},{name:"identifierOrCriteria",type:"uint256"},{name:"startAmount",type:"uint256"},{name:"endAmount",type:"uint256"},{name:"recipient",type:"address"}]};!function(e){e[e.FULL_OPEN=0]="FULL_OPEN",e[e.PARTIAL_OPEN=1]="PARTIAL_OPEN",e[e.FULL_RESTRICTED=2]="FULL_RESTRICTED",e[e.PARTIAL_RESTRICTED=3]="PARTIAL_RESTRICTED"}(p||(p={})),function(e){e[e.NATIVE=0]="NATIVE",e[e.ERC20=1]="ERC20",e[e.ERC721=2]="ERC721",e[e.ERC1155=3]="ERC1155",e[e.ERC721_WITH_CRITERIA=4]="ERC721_WITH_CRITERIA",e[e.ERC1155_WITH_CRITERIA=5]="ERC1155_WITH_CRITERIA"}(u||(u={})),function(e){e[e.OFFER=0]="OFFER",e[e.CONSIDERATION=1]="CONSIDERATION"}(d||(d={})),function(e){e[e.ETH_TO_ERC721=0]="ETH_TO_ERC721",e[e.ETH_TO_ERC1155=1]="ETH_TO_ERC1155",e[e.ERC20_TO_ERC721=2]="ERC20_TO_ERC721",e[e.ERC20_TO_ERC1155=3]="ERC20_TO_ERC1155",e[e.ERC721_TO_ERC20=4]="ERC721_TO_ERC20",e[e.ERC1155_TO_ERC20=5]="ERC1155_TO_ERC20"}(l||(l={}));var f=n.BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),c=1e4,T="0x0000000000000000000000000000000000000000000000000000000000000000",v={},b=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"PERMIT_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{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:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}],A=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!0,internalType:"uint256",name:"id",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"id",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"id",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"id",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"id",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"pure",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"id",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"id",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"}],C=function e(t,r){var i=n.BigNumber.from(t),a=n.BigNumber.from(r);return i.eq(0)?a:e(a.mod(t),i)},h=function(e){return[u.NATIVE,u.ERC20].includes(e.itemType)},g=function(e){return e===u.ERC20},O=function(e){return[u.ERC721,u.ERC721_WITH_CRITERIA].includes(e)},I=function(e){return[u.ERC1155,u.ERC1155_WITH_CRITERIA].includes(e)},E=function(e){return[u.ERC721_WITH_CRITERIA,u.ERC1155_WITH_CRITERIA].includes(e)},R=function(e){var t=e.items,r=e.timeBasedItemParams,i=P(t,e.criterias),a=t.reduce(function(e,t){var a,o,p,u,d,l,m=null!=(a=null==(o=i.get(t))?void 0:o.identifier)?a:t.identifierOrCriteria;return s({},e,((l={})[t.token]=s({},e[t.token],((d={})[m]=(null!=(p=null==(u=e[t.token])?void 0:u[m])?p:n.BigNumber.from(0)).add(function(e){var t=e.startAmount,r=e.endAmount,i=e.timeBasedItemParams,a=n.BigNumber.from(t),o=n.BigNumber.from(r);if(!i)return a.gt(o)?a:o;var s=i.isConsiderationItem,p=i.currentBlockTimestamp,u=i.ascendingAmountTimestampBuffer,d=i.startTime,l=i.endTime,m=n.BigNumber.from(l).sub(d),y=o.gt(t),f=n.BigNumber.from(y?p+u:p);if(f.lt(d))return a;var c=(f.gt(l)?n.BigNumber.from(l):f).sub(d),T=m.sub(c);return a.mul(T).add(o.mul(c)).add(s?m.sub(1):0).div(m)}({startAmount:t.startAmount,endAmount:t.endAmount,timeBasedItemParams:r})),d)),l))},{});return a},x=function(e){var t=e.parameters;return function(e){for(var t=n.BigNumber.from(e[0]),r=1;r<e.length;r++)if((t=C(e[r],t)).eq(1))return t;return t}([].concat(t.offer,t.consideration).flatMap(function(e){return[e.startAmount,e.endAmount]}))},P=function(e,t){var n=[].concat(t);return e.reduce(function(e,t){return E(t.itemType)&&e.set(t,n.shift()),e},new Map)};function B(e,t,n){if(!e.s){if(n instanceof k){if(!n.s)return void(n.o=B.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(B.bind(null,e,t),B.bind(null,e,2));e.s=t,e.v=n;const r=e.o;r&&r(e)}}var k=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,n){var r=new e,i=this.s;if(i){var a=1&i?t:n;if(a){try{B(r,1,a(this.v))}catch(e){B(r,2,e)}return r}return this}return this.o=function(e){try{var i=e.v;1&e.s?B(r,1,t?t(i):i):n?B(r,1,n(i)):B(r,2,i)}catch(e){B(r,2,e)}},r},e}();function S(e){return e instanceof k&&1&e.s}var w=function(e){try{var t=function(){var t=e[e.length-1];return Promise.resolve("create"===t.type?t.createOrder():t.transactionMethods.transact())},n=0,r=function(e,t,n){for(var r;;){var i=e();if(S(i)&&(i=i.v),!i)return a;if(i.then){r=0;break}var a=n();if(a&&a.then){if(!S(a)){r=1;break}a=a.s}if(t){var o=t();if(o&&o.then&&!S(o)){r=2;break}}}var s=new k,p=B.bind(null,s,2);return(0===r?i.then(d):1===r?a.then(u):o.then(l)).then(void 0,p),s;function u(r){a=r;do{if(t&&(o=t())&&o.then&&!S(o))return void o.then(l).then(void 0,p);if(!(i=e())||S(i)&&!i.v)return void B(s,1,a);if(i.then)return void i.then(d).then(void 0,p);S(a=n())&&(a=a.v)}while(!a||!a.then);a.then(u).then(void 0,p)}function d(e){e?(a=n())&&a.then?a.then(u).then(void 0,p):u(a):B(s,1,a)}function l(){(i=e())?i.then?i.then(d).then(void 0,p):d(i):B(s,1,a)}}(function(){return n<e.length-1},function(){return n++},function(){var t=e[n],r=function(){if("approval"===t.type)return Promise.resolve(t.transactionMethods.transact()).then(function(){})}();if(r&&r.then)return r.then(function(){})});return Promise.resolve(r&&r.then?r.then(t):t())}catch(e){return Promise.reject(e)}},F=function(e,t,n){var r,i,a,o=n[n.length-1];return a=["gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","nonce","type","accessList","customData","ccipReadEnabled","value","blockTag","CallOverrides"],(void 0===(i=o)||Object.keys(i).every(function(e){return a.includes(e)}))&&(r=o,n.pop()),{callStatic:function(i){var a,o=s({},r,i);return(a=e.callStatic)[t].apply(a,[].concat(n,[o]))},estimateGas:function(i){var a,o=s({},r,i);return(a=e.estimateGas)[t].apply(a,[].concat(n,[o]))},transact:function(i){var a=s({},r,i);return e[t].apply(e,n.concat([a]))},buildTransaction:function(i){var a,o=s({},r,i);return(a=e.populateTransaction)[t].apply(a,[].concat(n,[o]))}}};function _(e,t){return Promise.all(e.filter(function(t,n){return n===e.length-1||e[n+1].token!==t.token}).map(function(e){var r=e.token,i=e.operator,a=e.itemType,o=e.identifierOrCriteria;try{if(O(a)||I(a)){var s=new n.Contract(r,A,t);return Promise.resolve({type:"approval",token:r,identifierOrCriteria:o,itemType:a,operator:i,transactionMethods:F(s.connect(t),"setApprovalForAll",[i,!0])})}var p=new n.Contract(r,b,t);return Promise.resolve({type:"approval",token:r,identifierOrCriteria:o,itemType:a,transactionMethods:F(p.connect(t),"approve",[i,f]),operator:i})}catch(e){return Promise.reject(e)}}))}var M,N,H,K,z=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256[]",name:"ids",type:"uint256[]"},{indexed:!1,internalType:"uint256[]",name:"amounts",type:"uint256[]"}],name:"TransferBatch",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"id",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TransferSingle",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"value",type:"string"},{indexed:!0,internalType:"uint256",name:"id",type:"uint256"}],name:"URI",type:"event"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"owners",type:"address[]"},{internalType:"uint256[]",name:"ids",type:"uint256[]"}],name:"balanceOfBatch",outputs:[{internalType:"uint256[]",name:"balances",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"bytes",name:"data",type:"bytes"}],name:"safeBatchTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"id",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"id",type:"uint256"}],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}],j=function(e,t,n){var r=e.find(function(e){var r=e.token,i=e.identifierOrCriteria;return t.toLowerCase()===r.toLowerCase()&&i.toLowerCase()===n.toLowerCase()});if(!r)throw new Error("Balances and approvals didn't contain all tokens and identifiers");return r},D=function(e){var t=e.owner,r=e.items,i=e.criterias,a=e.operator,o=e.multicallProvider;try{var s=P(r,i);return Promise.all(r.map(function(e){try{var r,i,p=Promise.resolve(n.BigNumber.from(0));p=O(e.itemType)||I(e.itemType)||g(e.itemType)?function(e,t,r,i){try{if(O(t.itemType)||I(t.itemType)){var a=new n.Contract(t.token,A,i);return Promise.resolve(a.isApprovedForAll(e,r).then(function(e){return e?f:n.BigNumber.from(0)}))}if(t.itemType===u.ERC20){var o=new n.Contract(t.token,b,i);return Promise.resolve(o.allowance(e,r))}return Promise.resolve(f)}catch(e){return Promise.reject(e)}}(t,e,a,o):Promise.resolve(f);var d=null!=(r=null==(i=s.get(e))?void 0:i.identifier)?r:e.identifierOrCriteria,l=e.token;return Promise.resolve(function(e,t,r,i){try{if(O(t.itemType)){var a=new n.Contract(t.token,A,r);return Promise.resolve(t.itemType===u.ERC721_WITH_CRITERIA?i?a.ownerOf(i.identifier).then(function(t){return n.BigNumber.from(Number(t.toLowerCase()===e.toLowerCase()))}):a.balanceOf(e):a.ownerOf(t.identifierOrCriteria).then(function(t){return n.BigNumber.from(Number(t.toLowerCase()===e.toLowerCase()))}))}if(I(t.itemType)){var o=new n.Contract(t.token,z,r);if(t.itemType===u.ERC1155_WITH_CRITERIA){if(!i){var s=n.BigNumber.from(t.startAmount),p=n.BigNumber.from(t.endAmount);return Promise.resolve(s.gt(p)?s:p)}return Promise.resolve(o.balanceOf(e,i.identifier))}return Promise.resolve(o.balanceOf(e,t.identifierOrCriteria))}if(g(t.itemType)){var d=new n.Contract(t.token,b,r);return Promise.resolve(d.balanceOf(e))}return Promise.resolve(r.getBalance(e))}catch(e){return Promise.reject(e)}}(t,e,o,s.get(e))).then(function(t){return Promise.resolve(p).then(function(n){return{token:l,identifierOrCriteria:d,balance:t,approvedAmount:n,itemType:e.itemType}})})}catch(e){return Promise.reject(e)}}))}catch(e){return Promise.reject(e)}},L=function(e){var t=e.balancesAndApprovals,n=e.operator,r=[].concat(Object.entries(e.tokenAndIdentifierAmounts).map(function(e){var t=e[0];return Object.entries(e[1]).map(function(e){return[t,e[0],e[1]]})})).flat(),i=function(e){return r.filter(function(n){var r=n[2];return j(t,n[0],n[1])[e].lt(r)}).map(function(n){var r=n[0],i=n[1],a=n[2],o=j(t,r,i);return{token:r,identifierOrCriteria:i,requiredAmount:a,amountHave:o[e],itemType:o.itemType}})},a=[i("balance"),i("approvedAmount").map(function(e){return{token:e.token,identifierOrCriteria:e.identifierOrCriteria,approvedAmount:e.amountHave,requiredApprovedAmount:e.requiredAmount,itemType:e.itemType,operator:n}})];return{insufficientBalances:a[0],insufficientApprovals:a[1]}},q=function(e){var t=e.timeBasedItemParams,n=e.throwOnInsufficientBalances,r=void 0===n||n,i=e.throwOnInsufficientApprovals,a=e.operator,o=L({balancesAndApprovals:e.balancesAndApprovals,tokenAndIdentifierAmounts:R({items:e.offer,criterias:e.criterias,timeBasedItemParams:t?s({},t,{isConsiderationItem:!1}):void 0}),operator:a}),p=o.insufficientApprovals;if(r&&o.insufficientBalances.length>0)throw new Error("The offerer does not have the amount needed to create or fulfill.");if(i&&p.length>0)throw new Error("The offerer does not have the sufficient approvals.");return p},V=function(e){var t=e.offer,n=e.consideration,r=e.offerCriteria,i=e.considerationCriteria,a=e.fulfillerBalancesAndApprovals,o=e.timeBasedItemParams,p=e.fulfillerOperator;q({offer:t,criterias:r,balancesAndApprovals:e.offererBalancesAndApprovals,timeBasedItemParams:o,throwOnInsufficientApprovals:!0,operator:e.offererOperator});var u=Z({items:t,criterias:r,balancesAndApprovals:a,timeBasedItemParams:o}),d=L({balancesAndApprovals:u,tokenAndIdentifierAmounts:R({items:n,criterias:i,timeBasedItemParams:s({},o,{isConsiderationItem:!0})}),operator:p}),l=d.insufficientApprovals;if(d.insufficientBalances.length>0)throw new Error("The fulfiller does not have the balances needed to fulfill.");return l},Z=function(e){var t=e.balancesAndApprovals,n=R({items:e.items,criterias:e.criterias,timeBasedItemParams:s({},e.timeBasedItemParams,{isConsiderationItem:!1})}),r=t.map(function(e){return s({},e)});return Object.entries(n).forEach(function(e){var t=e[0];return Object.entries(e[1]).forEach(function(e){var n=e[1],i=j(r,t,e[0]),a=r.indexOf(i);r[a].balance=r[a].balance.add(n)})}),r},U=function(e){var t=e.orders,n=e.offerCriterias,r=void 0===n?[[]]:n,i=e.considerationCriterias,a=void 0===i?[[]]:i,o=t.flatMap(function(e,t){return e.parameters.offer.map(function(e,n){return{orderIndex:t,item:e,index:n,side:d.OFFER}}).filter(function(e){return E(e.item.itemType)})}),s=t.flatMap(function(e,t){return e.parameters.consideration.map(function(e,n){return{orderIndex:t,item:e,index:n,side:d.CONSIDERATION}}).filter(function(e){return E(e.item.itemType)})}),p=function(e,t){return e.map(function(e,n){var r=e.orderIndex,i=t[r][n];return{orderIndex:r,index:e.index,side:e.side,identifier:i.identifier,criteriaProof:"0"===(e.item.identifierOrCriteria||"0")?[]:i.proof}})};return[].concat(p(o,r),p(s,a))},W=function(e){return r.keccak256(Buffer.from(n.BigNumber.from(e).toHexString().slice(2).padStart(64,"0"),"hex"))},G=/*#__PURE__*/function(){function e(e){this.tree=void 0,this.tree=new o.default(e.map(W),r.keccak256,{sort:!0})}var t=e.prototype;return t.getProof=function(e){return this.tree.getHexProof(W(e))},t.getRoot=function(){return this.tree.getRoot().toString("hex")?this.tree.getHexRoot():"0"},e}(),Y=function(e,t){return n.BigNumber.from(e).mul(n.BigNumber.from(t)).div(c)},J=function(e){var t,r;if("itemType"in e){if("identifiers"in e){var i,a,o,s=new G(e.identifiers);return{itemType:e.itemType===u.ERC721?u.ERC721_WITH_CRITERIA:u.ERC1155_WITH_CRITERIA,token:e.token,identifierOrCriteria:s.getRoot(),startAmount:null!=(i=e.amount)?i:"1",endAmount:null!=(a=null!=(o=e.endAmount)?o:e.amount)?a:"1"}}var p,d;return"amount"in e||"endAmount"in e?{itemType:e.itemType,token:e.token,identifierOrCriteria:e.identifier,startAmount:e.amount,endAmount:null!=(p=null!=(d=e.endAmount)?d:e.amount)?p:"1"}:{itemType:e.itemType,token:e.token,identifierOrCriteria:e.identifier,startAmount:"1",endAmount:"1"}}return{itemType:e.token&&e.token!==n.ethers.constants.AddressZero?u.ERC20:u.NATIVE,token:null!=(t=e.token)?t:n.ethers.constants.AddressZero,identifierOrCriteria:"0",startAmount:e.amount,endAmount:null!=(r=e.endAmount)?r:e.amount}},Q=function(e){var t=[].concat(e.offer,e.consideration).filter(h);return t.every(function(e){return e.itemType===t[0].itemType&&e.token.toLowerCase()===t[0].token.toLowerCase()})},X=function(e){return n.BigNumber.from(0),n.BigNumber.from(0),e.map(function(e){return{startAmount:e.startAmount,endAmount:e.endAmount}}).reduce(function(e,t){var n=e.endAmount,r=t.endAmount;return{startAmount:e.startAmount.add(t.startAmount),endAmount:n.add(r)}},{startAmount:n.BigNumber.from(0),endAmount:n.BigNumber.from(0)})},$=function(e,t){var n=t.totalFilled,r=t.totalSize;if(n.eq(0)||r.eq(0))return e;var i=r.sub(n).mul(c).div(r);return{parameters:s({},e.parameters,{offer:e.parameters.offer.map(function(e){return s({},e,{startAmount:Y(e.startAmount,i).toString(),endAmount:Y(e.endAmount,i).toString()})}),consideration:e.parameters.consideration.map(function(e){return s({},e,{startAmount:Y(e.startAmount,i).toString(),endAmount:Y(e.endAmount,i).toString()})})}),signature:e.signature}},ee=function(e,t){var r=t.totalFilled,i=t.totalSize,a=n.BigNumber.from(t.unitsToFill);if(a.lte(0))throw new Error("Units to fill must be greater than 1");var o=x(e);i.eq(0)&&(i=o);var p=i.sub(r).mul(c).div(i),u=a.mul(c).div(o),d=p.gt(u)?u:p;return{parameters:s({},e.parameters,{offer:e.parameters.offer.map(function(e){return s({},e,{startAmount:Y(e.startAmount,d).toString(),endAmount:Y(e.endAmount,d).toString()})}),consideration:e.parameters.consideration.map(function(e){return s({},e,{startAmount:Y(e.startAmount,d).toString(),endAmount:Y(e.endAmount,d).toString()})})}),signature:e.signature}},te=((K={})[u.ERC20]=((M={})[u.ERC721]=l.ERC721_TO_ERC20,M[u.ERC1155]=l.ERC1155_TO_ERC20,M),K[u.ERC721]=((N={})[u.NATIVE]=l.ETH_TO_ERC721,N[u.ERC20]=l.ERC20_TO_ERC721,N),K[u.ERC1155]=((H={})[u.NATIVE]=l.ETH_TO_ERC1155,H[u.ERC20]=l.ERC20_TO_ERC1155,H),K);function ne(e,t){var n=t.isValidated,r=t.isCancelled,i=t.totalFilled,a=t.totalSize;if(a.gt(0)&&i.div(a).eq(1))throw new Error("The order you are trying to fulfill is already filled");if(r)throw new Error("The order you are trying to fulfill is cancelled");return n?{parameters:s({},e.parameters),signature:"0x"}:e}var re=function(e,t){var r=x(e),i=n.BigNumber.from(t),a=C(i,r);return{numerator:t?i.div(a):n.BigNumber.from(1),denominator:t?r.div(a):n.BigNumber.from(1)}};e.Seaport=/*#__PURE__*/function(){function e(e,r){var i,a,o,p=void 0===r?{}:r,u=p.overrides,d=p.ascendingAmountFulfillmentBuffer,l=void 0===d?300:d,y=p.balanceAndApprovalChecksOnOrderCreation,f=void 0===y||y,c=p.conduitKeyToConduit;this.contract=void 0,this.provider=void 0,this.multicallProvider=void 0,this.config=void 0,this.defaultConduitKey=void 0,this.getOrderHash=function(e){var t=n.ethers.utils.keccak256(n.ethers.utils.toUtf8Bytes("OfferItem(uint8 itemType,address token,uint256 identifierOrCriteria,uint256 startAmount,uint256 endAmount)")),r=n.ethers.utils.keccak256(n.ethers.utils.toUtf8Bytes("ConsiderationItem(uint8 itemType,address token,uint256 identifierOrCriteria,uint256 startAmount,uint256 endAmount,address recipient)")),i=n.ethers.utils.keccak256(n.ethers.utils.toUtf8Bytes("OrderComponents(address offerer,address zone,OfferItem[] offer,ConsiderationItem[] consideration,uint8 orderType,uint256 startTime,uint256 endTime,bytes32 zoneHash,uint256 salt,bytes32 conduitKey,uint256 counter)ConsiderationItem(uint8 itemType,address token,uint256 identifierOrCriteria,uint256 startAmount,uint256 endAmount,address recipient)OfferItem(uint8 itemType,address token,uint256 identifierOrCriteria,uint256 startAmount,uint256 endAmount)")),a=n.ethers.utils.keccak256("0x"+e.offer.map(function(e){return n.ethers.utils.keccak256("0x"+[t.slice(2),e.itemType.toString().padStart(64,"0"),e.token.slice(2).padStart(64,"0"),n.ethers.BigNumber.from(e.identifierOrCriteria).toHexString().slice(2).padStart(64,"0"),n.ethers.BigNumber.from(e.startAmount).toHexString().slice(2).padStart(64,"0"),n.ethers.BigNumber.from(e.endAmount).toHexString().slice(2).padStart(64,"0")].join("")).slice(2)}).join("")),o=n.ethers.utils.keccak256("0x"+e.consideration.map(function(e){return n.ethers.utils.keccak256("0x"+[r.slice(2),e.itemType.toString().padStart(64,"0"),e.token.slice(2).padStart(64,"0"),n.ethers.BigNumber.from(e.identifierOrCriteria).toHexString().slice(2).padStart(64,"0"),n.ethers.BigNumber.from(e.startAmount).toHexString().slice(2).padStart(64,"0"),n.ethers.BigNumber.from(e.endAmount).toHexString().slice(2).padStart(64,"0"),e.recipient.slice(2).padStart(64,"0")].join("")).slice(2)}).join(""));return n.ethers.utils.keccak256("0x"+[i.slice(2),e.offerer.slice(2).padStart(64,"0"),e.zone.slice(2).padStart(64,"0"),a.slice(2),o.slice(2),e.orderType.toString().padStart(64,"0"),n.ethers.BigNumber.from(e.startTime).toHexString().slice(2).padStart(64,"0"),n.ethers.BigNumber.from(e.endTime).toHexString().slice(2).padStart(64,"0"),e.zoneHash.slice(2),e.salt.slice(2).padStart(64,"0"),e.conduitKey.slice(2).padStart(64,"0"),n.ethers.BigNumber.from(e.counter).toHexString().slice(2).padStart(64,"0")].join(""))},this.provider=e,this.multicallProvider=new t.providers.MulticallProvider(e),this.contract=new n.Contract(null!=(i=null==u?void 0:u.contractAddress)?i:"0x00000000006c3852cbef3e08e8df289169ede581",m,this.multicallProvider),this.config={ascendingAmountFulfillmentBuffer:l,balanceAndApprovalChecksOnOrderCreation:f,conduitKeyToConduit:s({},v,(a={},a[T]=this.contract.address,a),c)},this.defaultConduitKey=null!=(o=null==u?void 0:u.defaultConduitKey)?o:T}var i=e.prototype;return i._getOrderTypeFromOrderOptions=function(e){var t=e.restrictedByZone;return e.allowPartialFills?t?p.PARTIAL_RESTRICTED:p.PARTIAL_OPEN:t?p.FULL_RESTRICTED:p.FULL_OPEN},i.createOrder=function(e,t){var i=e.conduitKey,a=void 0===i?_this.defaultConduitKey:i,o=e.zone,p=void 0===o?n.ethers.constants.AddressZero:o,d=e.startTime,l=void 0===d?Math.floor(Date.now()/1e3).toString():d,m=e.endTime,y=void 0===m?f.toString():m,c=e.offer,T=e.consideration,v=e.counter,b=e.allowPartialFills,A=e.restrictedByZone,C=e.fees,g=e.salt,O=void 0===g?"0x"+Buffer.from(n.ethers.utils.randomBytes(16)).toString("hex"):g;try{var I=this;return Promise.resolve(I.provider.getSigner(t)).then(function(e){return Promise.resolve(e.getAddress()).then(function(t){var i=c.map(J),o=[].concat(T.map(function(e){var n;return s({},J(e),{recipient:null!=(n=e.recipient)?n:t})}));if(!Q({offer:i,consideration:o}))throw new Error("All currency tokens in the order must be the same token");var d=[].concat(i,o).filter(h),m=X(d),f=I.config.conduitKeyToConduit[a];return Promise.resolve(Promise.all([null!=v?v:I.getCounter(t),D({owner:t,items:i,criterias:[],multicallProvider:I.multicallProvider,operator:f})])).then(function(c){var T,v=c[0],g=c[1];function E(e){var n=[].concat(e,[{type:"create",getMessageToSign:function(){return I._getMessageToSign(P,v)},createOrder:function(){try{return Promise.resolve(I.signOrder(P,v,t)).then(function(e){return{parameters:s({},P,{counter:v}),signature:e}})}catch(e){return Promise.reject(e)}}}]);return{actions:n,executeAllActions:function(){return w(n)}}}var R=I._getOrderTypeFromOrderOptions({allowPartialFills:b,restrictedByZone:A}),x=[].concat(function(e,t){if(!t)return e;var r=t.reduce(function(e,t){return e+t.basisPoints},0);return e.map(function(e){return s({},e,{startAmount:h(e)?n.BigNumber.from(e.startAmount).sub(Y(e.startAmount,r)).toString():e.startAmount,endAmount:h(e)?n.BigNumber.from(e.endAmount).sub(Y(e.endAmount,r)).toString():e.endAmount})})}(o,C),d.length&&null!=(T=null==C?void 0:C.map(function(e){return function(e){var t=e.fee,r=e.token,i=e.baseAmount,a=e.baseEndAmount,o=void 0===a?i:a;return{itemType:r===n.ethers.constants.AddressZero?u.NATIVE:u.ERC20,token:r,identifierOrCriteria:"0",startAmount:Y(i,t.basisPoints).toString(),endAmount:Y(o,t.basisPoints).toString(),recipient:t.recipient}}({fee:e,token:d[0].token,baseAmount:m.startAmount,baseEndAmount:m.endAmount})}))?T:[]),P={offerer:t,zone:p,zoneHash:r.formatBytes32String(v.toString()),startTime:l,endTime:y,orderType:R,offer:i,consideration:x,totalOriginalConsiderationItems:x.length,salt:O,conduitKey:a},B=I.config.balanceAndApprovalChecksOnOrderCreation,k=B?q({offer:i,criterias:[],balancesAndApprovals:g,throwOnInsufficientBalances:B,operator:f}):[];return B?Promise.resolve(_(k,e)).then(E):E([])})})})}catch(e){return Promise.reject(e)}},i._getDomainData=function(){try{var e=this;return Promise.resolve(e.provider.getNetwork()).then(function(t){return{name:"Seaport",version:"1.1",chainId:t.chainId,verifyingContract:e.contract.address}})}catch(e){return Promise.reject(e)}},i._getMessageToSign=function(e,t){try{return Promise.resolve(this._getDomainData()).then(function(n){var i=s({},e,{counter:t});return JSON.stringify(r._TypedDataEncoder.getPayload(n,y,i))})}catch(e){return Promise.reject(e)}},i.signOrder=function(e,t,r){try{var i=this.provider.getSigner(r);return Promise.resolve(this._getDomainData()).then(function(r){var a=s({},e,{counter:t});return Promise.resolve(i._signTypedData(r,y,a)).then(function(e){return n.ethers.utils.splitSignature(e).compact})})}catch(e){return Promise.reject(e)}},i.cancelOrders=function(e,t){var n=this.provider.getSigner(t);return F(this.contract.connect(n),"cancel",[e])},i.bulkCancelOrders=function(e){var t=this.provider.getSigner(e);return F(this.contract.connect(t),"incrementCounter",[])},i.validate=function(e,t){var n=this.provider.getSigner(t);return F(this.contract.connect(n),"validate",[e])},i.getOrderStatus=function(e){return this.contract.getOrderStatus(e)},i.getCounter=function(e){return this.contract.getCounter(e).then(function(e){return e.toNumber()})},i.fulfillOrder=function(e){var t=e.order,r=e.unitsToFill,i=e.offerCriteria,a=void 0===i?[]:i,o=e.considerationCriteria,p=void 0===o?[]:o,d=e.tips,l=void 0===d?[]:d,m=e.extraData,y=void 0===m?"0x":m,f=e.accountAddress,c=e.conduitKey,v=void 0===c?_this9.defaultConduitKey:c,b=e.recipientAddress,A=void 0===b?n.ethers.constants.AddressZero:b;try{var C=this,g=t.parameters,O=g.offerer,I=g.offer,P=g.consideration;return Promise.resolve(C.provider.getSigner(f)).then(function(e){return Promise.resolve(e.getAddress()).then(function(i){var o=C.config.conduitKeyToConduit[g.conduitKey],d=C.config.conduitKeyToConduit[v];return Promise.resolve(Promise.all([D({owner:O,items:I,criterias:a,multicallProvider:C.multicallProvider,operator:o}),D({owner:i,items:[].concat(I,P),criterias:[].concat(a,p),multicallProvider:C.multicallProvider,operator:d}),C.multicallProvider.getBlock("latest"),C.getOrderStatus(C.getOrderHash(g))])).then(function(i){var m=i[0],f=i[1],c=i[3],b=i[2].timestamp,g=c.totalFilled,O=c.totalSize,I=ne(t,c),P={startTime:I.parameters.startTime,endTime:I.parameters.endTime,currentBlockTimestamp:b,ascendingAmountTimestampBuffer:C.config.ascendingAmountFulfillmentBuffer},B=l.map(function(e){return s({},J(e),{recipient:e.recipient})});return!r&&A===n.ethers.constants.AddressZero&&function(e,t){var r=e.offer,i=e.consideration,a=e.offerer;if(!t.eq(0))return!1;if(r.length>1||0===i.length)return!1;var o=[].concat(r,i),s=o.filter(function(e){return[u.ERC721,u.ERC1155].includes(e.itemType)}),p=o.filter(function(e){return E(e.itemType)});if(r[0].itemType===u.NATIVE)return!1;if(1!==s.length||0!==p.length)return!1;if(!Q({offer:r,consideration:i}))return!1;if(o.some(function(e){return e.startAmount!==e.endAmount}))return!1;var d=i[0],l=i.slice(1);if(d.recipient.toLowerCase()!==a.toLowerCase())return!1;if(i.length>1&&l.every(function(e){return e.itemType===r[0].itemType})&&X(l).endAmount.gt(r[0].endAmount))return!1;var m=o.filter(h),y=m.filter(function(e){return e.itemType===u.NATIVE}).every(function(e){return e.token===n.ethers.constants.AddressZero}),f=m.every(function(e){return n.BigNumber.from(e.identifierOrCriteria).eq(0)}),c=s.filter(function(e){return e.itemType===u.ERC721}).every(function(e){return"1"===e.endAmount});return y&&f&&c}(I.parameters,g)?function(e){var t=e.order,r=e.seaportContract,i=e.offererBalancesAndApprovals,a=e.fulfillerBalancesAndApprovals,o=e.timeBasedItemParams,p=e.offererOperator,u=e.fulfillerOperator,d=e.signer,l=e.tips,m=void 0===l?[]:l,y=e.conduitKey,f=void 0===y?T:y;try{var c,v,b=t.parameters,A=b.offer,C=[].concat(b.consideration,m),h=A[0],g=C[0],O=C.slice(1),I=null==(c=te[h.itemType])?void 0:c[g.itemType];if(void 0===I)throw new Error("Order parameters did not result in a valid basic fulfillment");var E=O.map(function(e){return{amount:e.startAmount,recipient:e.recipient}}),x=C.filter(function(e){return e.itemType!==A[0].itemType}),P=null==(v=R({items:x,criterias:[],timeBasedItemParams:s({},o,{isConsiderationItem:!0})})[n.ethers.constants.AddressZero])?void 0:v[0],B=function(e){var t=e.offer,n=e.consideration,r=e.fulfillerBalancesAndApprovals,i=e.timeBasedItemParams,a=e.fulfillerOperator;q({offer:t,criterias:[],balancesAndApprovals:e.offererBalancesAndApprovals,timeBasedItemParams:i,throwOnInsufficientApprovals:!0,operator:e.offererOperator});var o=n.filter(function(e){return e.itemType!==t[0].itemType}),p=L({balancesAndApprovals:r,tokenAndIdentifierAmounts:R({items:o,criterias:[],timeBasedItemParams:s({},i,{isConsiderationItem:!0})}),operator:a}),u=p.insufficientApprovals;if(p.insufficientBalances.length>0)throw new Error("The fulfiller does not have the balances needed to fulfill.");return u}({offer:A,consideration:C,offererBalancesAndApprovals:i,fulfillerBalancesAndApprovals:a,timeBasedItemParams:o,offererOperator:p,fulfillerOperator:u}),k={offerer:t.parameters.offerer,offererConduitKey:t.parameters.conduitKey,zone:t.parameters.zone,basicOrderType:t.parameters.orderType+4*I,offerToken:h.token,offerIdentifier:h.identifierOrCriteria,offerAmount:h.endAmount,considerationToken:g.token,considerationIdentifier:g.identifierOrCriteria,considerationAmount:g.endAmount,startTime:t.parameters.startTime,endTime:t.parameters.endTime,salt:t.parameters.salt,totalOriginalAdditionalRecipients:t.parameters.consideration.length-1,signature:t.signature,fulfillerConduitKey:f,additionalRecipients:E,zoneHash:t.parameters.zoneHash},S={value:P};return Promise.resolve(_(B,d)).then(function(e){var t={type:"exchange",transactionMethods:F(r.connect(d),"fulfillBasicOrder",[k,S])},n=[].concat(e,[t]);return{actions:n,executeAllActions:function(){return w(n)}}})}catch(e){return Promise.reject(e)}}({order:I,seaportContract:C.contract,offererBalancesAndApprovals:m,fulfillerBalancesAndApprovals:f,timeBasedItemParams:P,conduitKey:v,offererOperator:o,fulfillerOperator:d,signer:e,tips:B}):function(e){var t=e.order,r=e.unitsToFill,i=void 0===r?0:r,a=e.totalSize,o=e.totalFilled,p=e.offerCriteria,u=e.considerationCriteria,d=e.tips,l=void 0===d?[]:d,m=e.extraData,y=e.seaportContract,f=e.offererBalancesAndApprovals,c=e.fulfillerBalancesAndApprovals,T=e.offererOperator,v=e.fulfillerOperator,b=e.timeBasedItemParams,A=e.conduitKey,C=e.recipientAddress,h=e.signer;try{var g,O=(i?ee(t,{unitsToFill:i,totalFilled:o,totalSize:a}):$(t,{totalFilled:o,totalSize:a})).parameters,I=O.offer,x=O.consideration,P=[].concat(x,l),B=I.filter(function(e){return E(e.itemType)}),k=P.filter(function(e){return E(e.itemType)}),S=B.length>0||k.length>0;if(B.length!==p.length||k.length!==u.length)throw new Error("You must supply the appropriate criterias for criteria based items");var M=null==(g=R({items:P,criterias:u,timeBasedItemParams:s({},b,{isConsiderationItem:!0})})[n.ethers.constants.AddressZero])?void 0:g[0],N=V({offer:I,consideration:P,offerCriteria:p,considerationCriteria:u,offererBalancesAndApprovals:f,fulfillerBalancesAndApprovals:c,timeBasedItemParams:b,offererOperator:T,fulfillerOperator:v}),H={value:M};return Promise.resolve(_(N,h)).then(function(e){var r=C!==n.ethers.constants.AddressZero,a=Boolean(i)||S||r,o=s({},t,{parameters:s({},t.parameters,{consideration:[].concat(t.parameters.consideration,l),totalOriginalConsiderationItems:x.length})}),d=re(t,i),f=d.numerator,c=d.denominator,T={type:"exchange",transactionMethods:a?F(y.connect(h),"fulfillAdvancedOrder",[s({},o,{numerator:f,denominator:c,extraData:null!=m?m:"0x"}),S?U({orders:[t],offerCriterias:[p],considerationCriterias:[u]}):[],A,C,H]):F(y.connect(h),"fulfillOrder",[o,A,H])},v=[].concat(e,[T]);return{actions:v,executeAllActions:function(){return w(v)}}})}catch(e){return Promise.reject(e)}}({order:I,unitsToFill:r,totalFilled:g,totalSize:O.eq(0)?x(I):O,offerCriteria:a,considerationCriteria:p,tips:B,extraData:y,seaportContract:C.contract,offererBalancesAndApprovals:m,fulfillerBalancesAndApprovals:f,timeBasedItemParams:P,conduitKey:v,signer:e,offererOperator:o,fulfillerOperator:d,recipientAddress:A})})})})}catch(e){return Promise.reject(e)}},i.fulfillOrders=function(e){var t=e.fulfillOrderDetails,r=e.accountAddress,i=e.conduitKey,a=void 0===i?_this11.defaultConduitKey:i,o=e.recipientAddress,p=void 0===o?n.ethers.constants.AddressZero:o;try{var u=this;return Promise.resolve(u.provider.getSigner(r)).then(function(e){return Promise.resolve(e.getAddress()).then(function(r){var i=t.map(function(e){return u.config.conduitKeyToConduit[e.order.parameters.conduitKey]}),o=u.config.conduitKeyToConduit[a],d=t.flatMap(function(e){return e.order.parameters.offer}),l=t.flatMap(function(e){return e.order.parameters.consideration}),m=t.flatMap(function(e){var t=e.offerCriteria;return void 0===t?[]:t}),y=t.flatMap(function(e){var t=e.considerationCriteria;return void 0===t?[]:t});return Promise.resolve(Promise.all([Promise.all(t.map(function(e,t){var n=e.order,r=e.offerCriteria;return D({owner:n.parameters.offerer,items:n.parameters.offer,criterias:void 0===r?[]:r,operator:i[t],multicallProvider:u.multicallProvider})})),D({owner:r,items:[].concat(d,l),criterias:[].concat(m,y),operator:o,multicallProvider:u.multicallProvider}),u.multicallProvider.getBlock("latest"),Promise.all(t.map(function(e){return u.getOrderStatus(u.getOrderHash(e.order.parameters))}))])).then(function(r){var d=r[0],l=r[1],m=r[2],y=r[3];return function(e){var t=e.ordersMetadata,r=e.seaportContract,i=e.fulfillerBalancesAndApprovals,a=e.fulfillerOperator,o=e.currentBlockTimestamp,p=e.ascendingAmountTimestampBuffer,u=e.conduitKey,d=e.signer,l=e.recipientAddress;try{var m=t.map(function(e){return s({},e,{order:ne(e.order,e.orderStatus)})}),y=m.map(function(e){return s({},e,{order:e.unitsToFill?ee(e.order,{unitsToFill:e.unitsToFill,totalFilled:e.orderStatus.totalFilled,totalSize:e.orderStatus.totalSize}):$(e.order,{totalFilled:e.orderStatus.totalFilled,totalSize:e.orderStatus.totalSize})})}),f=n.BigNumber.from(0),c=[];y.forEach(function(e){var t,r,s=e.order,u=e.offerCriteria,d=e.considerationCriteria,l=e.offererBalancesAndApprovals,m=e.offererOperator,y=[].concat(s.parameters.consideration,e.tips),T={startTime:s.parameters.startTime,endTime:s.parameters.endTime,currentBlockTimestamp:o,ascendingAmountTimestampBuffer:p,isConsiderationItem:!0};f=f.add(null!=(t=null==(r=R({items:y,criterias:d,timeBasedItemParams:T})[n.ethers.constants.AddressZero])?void 0:r[0])?t:n.BigNumber.from(0));var v=V({offer:s.parameters.offer,consideration:y,offerCriteria:u,considerationCriteria:d,offererBalancesAndApprovals:l,fulfillerBalancesAndApprovals:i,timeBasedItemParams:T,offererOperator:m,fulfillerOperator:a}),b=s.parameters.offer.filter(function(e){return E(e.itemType)}),A=y.filter(function(e){return E(e.itemType)});if(b.length!==u.length||A.length!==d.length)throw new Error("You must supply the appropriate criterias for criteria based items");v.forEach(function(e){c.find(function(t){return t.token===e.token})||c.push(e)})});var T={value:f};return Promise.resolve(_(c,d)).then(function(e){var n=m.map(function(e){var t=e.order,n=e.unitsToFill,r=e.tips,i=e.extraData,a=re(t,void 0===n?0:n),o=a.numerator,p=a.denominator,u=[].concat(t.parameters.consideration,r);return s({},t,{parameters:s({},t.parameters,{consideration:u,totalOriginalConsiderationItems:t.parameters.consideration.length}),numerator:o,denominator:p,extraData:i})}),i=function(e){var t=function(e){var t=e.operator;return e.sourceOrDestination+"-"+(void 0===t?"":t)+"-"+e.token+"-"+e.identifier},n={},r={};return e.forEach(function(e,r){var i=e.order,a=e.offererOperator,o=P(i.parameters.offer,e.offerCriteria);return i.parameters.offer.forEach(function(e,s){var p,u,d,l=""+t({sourceOrDestination:i.parameters.offerer,operator:a,token:e.token,identifier:null!=(p=null==(u=o.get(e))?void 0:u.identifier)?p:e.identifierOrCriteria})+(O(e.itemType)?s:"");n[l]=[].concat(null!=(d=n[l])?d:[],[{orderIndex:r,itemIndex:s}])})}),e.forEach(function(e,n){var i=e.order,a=e.tips,o=P(i.parameters.consideration,e.considerationCriteria);return[].concat(i.parameters.consideration,a).forEach(function(e,i){var a,s,p,u=""+t({sourceOrDestination:e.recipient,token:e.token,identifier:null!=(a=null==(s=o.get(e))?void 0:s.identifier)?a:e.identifierOrCriteria})+(O(e.itemType)?i:"");r[u]=[].concat(null!=(p=r[u])?p:[],[{orderIndex:n,itemIndex:i}])})}),{offerFulfillments:Object.values(n),considerationFulfillments:Object.values(r)}}(t),a=i.offerFulfillments,o=i.considerationFulfillments,p={type:"exchange",transactionMethods:F(r.connect(d),"fulfillAvailableAdvancedOrders",[n,[],a,o,u,l,n.length,T])},y=[].concat(e,[p]);return{actions:y,executeAllActions:function(){return w(y)}}})}catch(e){return Promise.reject(e)}}({ordersMetadata:t.map(function(e,t){var n,r,a,o,p;return{order:e.order,unitsToFill:e.unitsToFill,orderStatus:y[t],offerCriteria:null!=(n=e.offerCriteria)?n:[],considerationCriteria:null!=(r=e.considerationCriteria)?r:[],tips:null!=(a=null==(o=e.tips)?void 0:o.map(function(e){return s({},J(e),{recipient:e.recipient})}))?a:[],extraData:null!=(p=e.extraData)?p:"0x",offererBalancesAndApprovals:d[t],offererOperator:i[t]}}),seaportContract:u.contract,fulfillerBalancesAndApprovals:l,currentBlockTimestamp:m.timestamp,ascendingAmountTimestampBuffer:u.config.ascendingAmountFulfillmentBuffer,fulfillerOperator:o,signer:e,conduitKey:a,recipientAddress:p})})})})}catch(e){return Promise.reject(e)}},i.matchOrders=function(e){var t=e.orders,n=e.fulfillments,r=e.overrides,i=this.provider.getSigner(e.accountAddress);return F(this.contract.connect(i),"matchOrders",[t,n,r])},e}()});
2
+ //# sourceMappingURL=index.umd.js.map