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

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 (81) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +141 -5
  3. package/lib/abi/ERC1155.d.ts +29 -29
  4. package/lib/abi/ERC1155.js +319 -0
  5. package/lib/abi/ERC1155.js.map +1 -0
  6. package/lib/abi/ERC20.d.ts +29 -29
  7. package/lib/abi/ERC20.js +317 -0
  8. package/lib/abi/ERC20.js.map +1 -0
  9. package/lib/abi/ERC721.d.ts +29 -29
  10. package/lib/abi/ERC721.js +337 -0
  11. package/lib/abi/ERC721.js.map +1 -0
  12. package/lib/abi/Seaport.d.ts +112 -112
  13. package/lib/abi/Seaport.js +2585 -0
  14. package/lib/abi/Seaport.js.map +1 -0
  15. package/lib/constants.d.ts +53 -49
  16. package/lib/constants.js +78 -0
  17. package/lib/constants.js.map +1 -0
  18. package/lib/index.d.ts +2 -2
  19. package/lib/index.js +6 -2
  20. package/lib/index.js.map +1 -1
  21. package/lib/seaport.d.ts +184 -181
  22. package/lib/seaport.js +732 -0
  23. package/lib/seaport.js.map +1 -0
  24. package/lib/typechain/ERC1155.d.ts +189 -0
  25. package/lib/typechain/ERC1155.js +3 -0
  26. package/lib/typechain/ERC1155.js.map +1 -0
  27. package/lib/typechain/ERC20.d.ts +209 -0
  28. package/lib/typechain/ERC20.js +3 -0
  29. package/lib/typechain/ERC20.js.map +1 -0
  30. package/lib/typechain/ERC721.d.ts +220 -0
  31. package/lib/typechain/ERC721.js +3 -0
  32. package/lib/typechain/ERC721.js.map +1 -0
  33. package/lib/typechain/Seaport.d.ts +686 -0
  34. package/lib/typechain/Seaport.js +3 -0
  35. package/lib/typechain/Seaport.js.map +1 -0
  36. package/lib/typechain/common.d.ts +21 -0
  37. package/lib/typechain/common.js +3 -0
  38. package/lib/typechain/common.js.map +1 -0
  39. package/lib/types.d.ts +221 -207
  40. package/lib/types.js +3 -0
  41. package/lib/types.js.map +1 -0
  42. package/lib/utils/approval.d.ts +9 -9
  43. package/lib/utils/approval.js +108 -0
  44. package/lib/utils/approval.js.map +1 -0
  45. package/lib/utils/balance.d.ts +4 -4
  46. package/lib/utils/balance.js +86 -0
  47. package/lib/utils/balance.js.map +1 -0
  48. package/lib/utils/balanceAndApprovalCheck.d.ts +108 -108
  49. package/lib/utils/balanceAndApprovalCheck.js +322 -0
  50. package/lib/utils/balanceAndApprovalCheck.js.map +1 -0
  51. package/lib/utils/criteria.d.ts +14 -13
  52. package/lib/utils/criteria.js +91 -0
  53. package/lib/utils/criteria.js.map +1 -0
  54. package/lib/utils/fulfill.d.ts +84 -84
  55. package/lib/utils/fulfill.js +573 -0
  56. package/lib/utils/fulfill.js.map +1 -0
  57. package/lib/utils/gcd.d.ts +3 -3
  58. package/lib/utils/gcd.js +25 -0
  59. package/lib/utils/gcd.js.map +1 -0
  60. package/lib/utils/item.d.ts +29 -30
  61. package/lib/utils/item.js +136 -0
  62. package/lib/utils/item.js.map +1 -0
  63. package/lib/utils/match.d.ts +49 -49
  64. package/lib/utils/match.js +56 -0
  65. package/lib/utils/match.js.map +1 -0
  66. package/lib/utils/merkletree.d.ts +11 -11
  67. package/lib/utils/merkletree.js +32 -0
  68. package/lib/utils/merkletree.js.map +1 -0
  69. package/lib/utils/order.d.ts +37 -37
  70. package/lib/utils/order.js +224 -0
  71. package/lib/utils/order.js.map +1 -0
  72. package/lib/utils/usecase.d.ts +4 -4
  73. package/lib/utils/usecase.js +158 -0
  74. package/lib/utils/usecase.js.map +1 -0
  75. package/package.json +43 -43
  76. package/lib/index.esm.mjs +0 -2
  77. package/lib/index.esm.mjs.map +0 -1
  78. package/lib/index.modern.mjs +0 -2
  79. package/lib/index.modern.mjs.map +0 -1
  80. package/lib/index.umd.js +0 -2
  81. package/lib/index.umd.js.map +0 -1
package/lib/index.esm.mjs DELETED
@@ -1,2 +0,0 @@
1
- import{providers as e}from"@0xsequence/multicall";import{BigNumber as t,Contract as n,ethers as r}from"ethers";import{keccak256 as i,formatBytes32String as a,_TypedDataEncoder as o}from"ethers/lib/utils";import s from"merkletreejs";function p(){return p=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},p.apply(this,arguments)}var u,d,l,y,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"}],f={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"}(u||(u={})),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"}(d||(d={})),function(e){e[e.OFFER=0]="OFFER",e[e.CONSIDERATION=1]="CONSIDERATION"}(l||(l={})),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"}(y||(y={}));var c=t.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),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(n,r){var i=t.from(n),a=t.from(r);return i.eq(0)?a:e(a.mod(n),i)},O=function(e){return[d.NATIVE,d.ERC20].includes(e.itemType)},h=function(e){return e===d.ERC20},g=function(e){return[d.ERC721,d.ERC721_WITH_CRITERIA].includes(e)},I=function(e){return[d.ERC1155,d.ERC1155_WITH_CRITERIA].includes(e)},E=function(e){return[d.ERC721_WITH_CRITERIA,d.ERC1155_WITH_CRITERIA].includes(e)},R=function(e){var n=e.items,r=e.timeBasedItemParams,i=x(n,e.criterias),a=n.reduce(function(e,n){var a,o,s,u,d,l,y=null!=(a=null==(o=i.get(n))?void 0:o.identifier)?a:n.identifierOrCriteria;return p({},e,((l={})[n.token]=p({},e[n.token],((d={})[y]=(null!=(s=null==(u=e[n.token])?void 0:u[y])?s:t.from(0)).add(function(e){var n=e.startAmount,r=e.endAmount,i=e.timeBasedItemParams,a=t.from(n),o=t.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,y=t.from(l).sub(d),m=o.gt(n),f=t.from(m?p+u:p);if(f.lt(d))return a;var c=(f.gt(l)?t.from(l):f).sub(d),T=y.sub(c);return a.mul(T).add(o.mul(c)).add(s?y.sub(1):0).div(y)}({startAmount:n.startAmount,endAmount:n.endAmount,timeBasedItemParams:r})),d)),l))},{});return a},P=function(e){var n=e.parameters;return function(e){for(var n=t.from(e[0]),r=1;r<e.length;r++)if((n=C(e[r],n)).eq(1))return n;return n}([].concat(n.offer,n.consideration).flatMap(function(e){return[e.startAmount,e.endAmount]}))},x=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 k(e,t,n){if(!e.s){if(n instanceof S){if(!n.s)return void(n.o=k.bind(null,e,t));1&t&&(t=n.s),n=n.v}if(n&&n.then)return void n.then(k.bind(null,e,t),k.bind(null,e,2));e.s=t,e.v=n;const r=e.o;r&&r(e)}}var S=/*#__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{k(r,1,a(this.v))}catch(e){k(r,2,e)}return r}return this}return this.o=function(e){try{var i=e.v;1&e.s?k(r,1,t?t(i):i):n?k(r,1,n(i)):k(r,2,i)}catch(e){k(r,2,e)}},r},e}();function w(e){return e instanceof S&&1&e.s}var B=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(w(i)&&(i=i.v),!i)return a;if(i.then){r=0;break}var a=n();if(a&&a.then){if(!w(a)){r=1;break}a=a.s}if(t){var o=t();if(o&&o.then&&!w(o)){r=2;break}}}var s=new S,p=k.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&&!w(o))return void o.then(l).then(void 0,p);if(!(i=e())||w(i)&&!i.v)return void k(s,1,a);if(i.then)return void i.then(d).then(void 0,p);w(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):k(s,1,a)}function l(){(i=e())?i.then?i.then(d).then(void 0,p):d(i):k(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=p({},r,i);return(a=e.callStatic)[t].apply(a,[].concat(n,[o]))},estimateGas:function(i){var a,o=p({},r,i);return(a=e.estimateGas)[t].apply(a,[].concat(n,[o]))},transact:function(i){var a=p({},r,i);return e[t].apply(e,n.concat([a]))},buildTransaction:function(i){var a,o=p({},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(g(a)||I(a)){var s=new n(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(r,b,t);return Promise.resolve({type:"approval",token:r,identifierOrCriteria:o,itemType:a,transactionMethods:F(p.connect(t),"approve",[i,c]),operator:i})}catch(e){return Promise.reject(e)}}))}var M,H,K,z,N=[{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"}],D=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},j=function(e){var r=e.owner,i=e.items,a=e.criterias,o=e.operator,s=e.multicallProvider;try{var p=x(i,a);return Promise.all(i.map(function(e){try{var i,a,u=Promise.resolve(t.from(0));u=g(e.itemType)||I(e.itemType)||h(e.itemType)?function(e,r,i,a){try{if(g(r.itemType)||I(r.itemType)){var o=new n(r.token,A,a);return Promise.resolve(o.isApprovedForAll(e,i).then(function(e){return e?c:t.from(0)}))}if(r.itemType===d.ERC20){var s=new n(r.token,b,a);return Promise.resolve(s.allowance(e,i))}return Promise.resolve(c)}catch(e){return Promise.reject(e)}}(r,e,o,s):Promise.resolve(c);var l=null!=(i=null==(a=p.get(e))?void 0:a.identifier)?i:e.identifierOrCriteria,y=e.token;return Promise.resolve(function(e,r,i,a){try{if(g(r.itemType)){var o=new n(r.token,A,i);return Promise.resolve(r.itemType===d.ERC721_WITH_CRITERIA?a?o.ownerOf(a.identifier).then(function(n){return t.from(Number(n.toLowerCase()===e.toLowerCase()))}):o.balanceOf(e):o.ownerOf(r.identifierOrCriteria).then(function(n){return t.from(Number(n.toLowerCase()===e.toLowerCase()))}))}if(I(r.itemType)){var s=new n(r.token,N,i);if(r.itemType===d.ERC1155_WITH_CRITERIA){if(!a){var p=t.from(r.startAmount),u=t.from(r.endAmount);return Promise.resolve(p.gt(u)?p:u)}return Promise.resolve(s.balanceOf(e,a.identifier))}return Promise.resolve(s.balanceOf(e,r.identifierOrCriteria))}if(h(r.itemType)){var l=new n(r.token,b,i);return Promise.resolve(l.balanceOf(e))}return Promise.resolve(i.getBalance(e))}catch(e){return Promise.reject(e)}}(r,e,s,p.get(e))).then(function(t){return Promise.resolve(u).then(function(n){return{token:y,identifierOrCriteria:l,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 D(t,n[0],n[1])[e].lt(r)}).map(function(n){var r=n[0],i=n[1],a=n[2],o=D(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]}},V=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?p({},t,{isConsiderationItem:!1}):void 0}),operator:a}),s=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&&s.length>0)throw new Error("The offerer does not have the sufficient approvals.");return s},Z=function(e){var t=e.offer,n=e.consideration,r=e.offerCriteria,i=e.considerationCriteria,a=e.fulfillerBalancesAndApprovals,o=e.timeBasedItemParams,s=e.fulfillerOperator;V({offer:t,criterias:r,balancesAndApprovals:e.offererBalancesAndApprovals,timeBasedItemParams:o,throwOnInsufficientApprovals:!0,operator:e.offererOperator});var u=q({items:t,criterias:r,balancesAndApprovals:a,timeBasedItemParams:o}),d=L({balancesAndApprovals:u,tokenAndIdentifierAmounts:R({items:n,criterias:i,timeBasedItemParams:p({},o,{isConsiderationItem:!0})}),operator:s}),l=d.insufficientApprovals;if(d.insufficientBalances.length>0)throw new Error("The fulfiller does not have the balances needed to fulfill.");return l},q=function(e){var t=e.balancesAndApprovals,n=R({items:e.items,criterias:e.criterias,timeBasedItemParams:p({},e.timeBasedItemParams,{isConsiderationItem:!1})}),r=t.map(function(e){return p({},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=D(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:l.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:l.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 i(Buffer.from(t.from(e).toHexString().slice(2).padStart(64,"0"),"hex"))},G=/*#__PURE__*/function(){function e(e){this.tree=void 0,this.tree=new s(e.map(W),i,{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,n){return t.from(e).mul(t.from(n)).div(1e4)},J=function(e){var t,n;if("itemType"in e){if("identifiers"in e){var i,a,o,s=new G(e.identifiers);return{itemType:e.itemType===d.ERC721?d.ERC721_WITH_CRITERIA:d.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,u;return"amount"in e||"endAmount"in e?{itemType:e.itemType,token:e.token,identifierOrCriteria:e.identifier,startAmount:e.amount,endAmount:null!=(p=null!=(u=e.endAmount)?u:e.amount)?p:"1"}:{itemType:e.itemType,token:e.token,identifierOrCriteria:e.identifier,startAmount:"1",endAmount:"1"}}return{itemType:e.token&&e.token!==r.constants.AddressZero?d.ERC20:d.NATIVE,token:null!=(t=e.token)?t:r.constants.AddressZero,identifierOrCriteria:"0",startAmount:e.amount,endAmount:null!=(n=e.endAmount)?n:e.amount}},Q=function(e){var t=[].concat(e.offer,e.consideration).filter(O);return t.every(function(e){return e.itemType===t[0].itemType&&e.token.toLowerCase()===t[0].token.toLowerCase()})},X=function(e){return t.from(0),t.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:t.from(0),endAmount:t.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(1e4).div(r);return{parameters:p({},e.parameters,{offer:e.parameters.offer.map(function(e){return p({},e,{startAmount:Y(e.startAmount,i).toString(),endAmount:Y(e.endAmount,i).toString()})}),consideration:e.parameters.consideration.map(function(e){return p({},e,{startAmount:Y(e.startAmount,i).toString(),endAmount:Y(e.endAmount,i).toString()})})}),signature:e.signature}},ee=function(e,n){var r=n.totalFilled,i=n.totalSize,a=t.from(n.unitsToFill);if(a.lte(0))throw new Error("Units to fill must be greater than 1");var o=P(e);i.eq(0)&&(i=o);var s=i.sub(r).mul(1e4).div(i),u=a.mul(1e4).div(o),d=s.gt(u)?u:s;return{parameters:p({},e.parameters,{offer:e.parameters.offer.map(function(e){return p({},e,{startAmount:Y(e.startAmount,d).toString(),endAmount:Y(e.endAmount,d).toString()})}),consideration:e.parameters.consideration.map(function(e){return p({},e,{startAmount:Y(e.startAmount,d).toString(),endAmount:Y(e.endAmount,d).toString()})})}),signature:e.signature}},te=((z={})[d.ERC20]=((M={})[d.ERC721]=y.ERC721_TO_ERC20,M[d.ERC1155]=y.ERC1155_TO_ERC20,M),z[d.ERC721]=((H={})[d.NATIVE]=y.ETH_TO_ERC721,H[d.ERC20]=y.ERC20_TO_ERC721,H),z[d.ERC1155]=((K={})[d.NATIVE]=y.ETH_TO_ERC1155,K[d.ERC20]=y.ERC20_TO_ERC1155,K),z);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:p({},e.parameters),signature:"0x"}:e}var re=function(e,n){var r=P(e),i=t.from(n),a=C(i,r);return{numerator:n?i.div(a):t.from(1),denominator:n?r.div(a):t.from(1)}},ie=/*#__PURE__*/function(){function i(t,i){var a,o,s,u=void 0===i?{}:i,d=u.overrides,l=u.ascendingAmountFulfillmentBuffer,y=void 0===l?300:l,f=u.balanceAndApprovalChecksOnOrderCreation,c=void 0===f||f,b=u.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=r.utils.keccak256(r.utils.toUtf8Bytes("OfferItem(uint8 itemType,address token,uint256 identifierOrCriteria,uint256 startAmount,uint256 endAmount)")),n=r.utils.keccak256(r.utils.toUtf8Bytes("ConsiderationItem(uint8 itemType,address token,uint256 identifierOrCriteria,uint256 startAmount,uint256 endAmount,address recipient)")),i=r.utils.keccak256(r.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=r.utils.keccak256("0x"+e.offer.map(function(e){return r.utils.keccak256("0x"+[t.slice(2),e.itemType.toString().padStart(64,"0"),e.token.slice(2).padStart(64,"0"),r.BigNumber.from(e.identifierOrCriteria).toHexString().slice(2).padStart(64,"0"),r.BigNumber.from(e.startAmount).toHexString().slice(2).padStart(64,"0"),r.BigNumber.from(e.endAmount).toHexString().slice(2).padStart(64,"0")].join("")).slice(2)}).join("")),o=r.utils.keccak256("0x"+e.consideration.map(function(e){return r.utils.keccak256("0x"+[n.slice(2),e.itemType.toString().padStart(64,"0"),e.token.slice(2).padStart(64,"0"),r.BigNumber.from(e.identifierOrCriteria).toHexString().slice(2).padStart(64,"0"),r.BigNumber.from(e.startAmount).toHexString().slice(2).padStart(64,"0"),r.BigNumber.from(e.endAmount).toHexString().slice(2).padStart(64,"0"),e.recipient.slice(2).padStart(64,"0")].join("")).slice(2)}).join(""));return r.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"),r.BigNumber.from(e.startTime).toHexString().slice(2).padStart(64,"0"),r.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"),r.BigNumber.from(e.counter).toHexString().slice(2).padStart(64,"0")].join(""))},this.provider=t,this.multicallProvider=new e.MulticallProvider(t),this.contract=new n(null!=(a=null==d?void 0:d.contractAddress)?a:"0x00000000006c3852cbef3e08e8df289169ede581",m,this.multicallProvider),this.config={ascendingAmountFulfillmentBuffer:y,balanceAndApprovalChecksOnOrderCreation:c,conduitKeyToConduit:p({},v,(o={},o[T]=this.contract.address,o),b)},this.defaultConduitKey=null!=(s=null==d?void 0:d.defaultConduitKey)?s:T}var s=i.prototype;return s._getOrderTypeFromOrderOptions=function(e){var t=e.restrictedByZone;return e.allowPartialFills?t?u.PARTIAL_RESTRICTED:u.PARTIAL_OPEN:t?u.FULL_RESTRICTED:u.FULL_OPEN},s.createOrder=function(e,n){var i=e.conduitKey,o=void 0===i?_this.defaultConduitKey:i,s=e.zone,u=void 0===s?r.constants.AddressZero:s,l=e.startTime,y=void 0===l?Math.floor(Date.now()/1e3).toString():l,m=e.endTime,f=void 0===m?c.toString():m,T=e.offer,v=e.consideration,b=e.counter,A=e.allowPartialFills,C=e.restrictedByZone,h=e.fees,g=e.salt,I=void 0===g?"0x"+Buffer.from(r.utils.randomBytes(16)).toString("hex"):g;try{var E=this;return Promise.resolve(E.provider.getSigner(n)).then(function(e){return Promise.resolve(e.getAddress()).then(function(n){var i=T.map(J),s=[].concat(v.map(function(e){var t;return p({},J(e),{recipient:null!=(t=e.recipient)?t:n})}));if(!Q({offer:i,consideration:s}))throw new Error("All currency tokens in the order must be the same token");var l=[].concat(i,s).filter(O),m=X(l),c=E.config.conduitKeyToConduit[o];return Promise.resolve(Promise.all([null!=b?b:E.getCounter(n),j({owner:n,items:i,criterias:[],multicallProvider:E.multicallProvider,operator:c})])).then(function(T){var v,b=T[0],g=T[1];function R(e){var t=[].concat(e,[{type:"create",getMessageToSign:function(){return E._getMessageToSign(k,b)},createOrder:function(){try{return Promise.resolve(E.signOrder(k,b,n)).then(function(e){return{parameters:p({},k,{counter:b}),signature:e}})}catch(e){return Promise.reject(e)}}}]);return{actions:t,executeAllActions:function(){return B(t)}}}var P=E._getOrderTypeFromOrderOptions({allowPartialFills:A,restrictedByZone:C}),x=[].concat(function(e,n){if(!n)return e;var r=n.reduce(function(e,t){return e+t.basisPoints},0);return e.map(function(e){return p({},e,{startAmount:O(e)?t.from(e.startAmount).sub(Y(e.startAmount,r)).toString():e.startAmount,endAmount:O(e)?t.from(e.endAmount).sub(Y(e.endAmount,r)).toString():e.endAmount})})}(s,h),l.length&&null!=(v=null==h?void 0:h.map(function(e){return function(e){var t=e.fee,n=e.token,i=e.baseAmount,a=e.baseEndAmount,o=void 0===a?i:a;return{itemType:n===r.constants.AddressZero?d.NATIVE:d.ERC20,token:n,identifierOrCriteria:"0",startAmount:Y(i,t.basisPoints).toString(),endAmount:Y(o,t.basisPoints).toString(),recipient:t.recipient}}({fee:e,token:l[0].token,baseAmount:m.startAmount,baseEndAmount:m.endAmount})}))?v:[]),k={offerer:n,zone:u,zoneHash:a(b.toString()),startTime:y,endTime:f,orderType:P,offer:i,consideration:x,totalOriginalConsiderationItems:x.length,salt:I,conduitKey:o},S=E.config.balanceAndApprovalChecksOnOrderCreation,w=S?V({offer:i,criterias:[],balancesAndApprovals:g,throwOnInsufficientBalances:S,operator:c}):[];return S?Promise.resolve(_(w,e)).then(R):R([])})})})}catch(e){return Promise.reject(e)}},s._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)}},s._getMessageToSign=function(e,t){try{return Promise.resolve(this._getDomainData()).then(function(n){var r=p({},e,{counter:t});return JSON.stringify(o.getPayload(n,f,r))})}catch(e){return Promise.reject(e)}},s.signOrder=function(e,t,n){try{var i=this.provider.getSigner(n);return Promise.resolve(this._getDomainData()).then(function(n){var a=p({},e,{counter:t});return Promise.resolve(i._signTypedData(n,f,a)).then(function(e){return r.utils.splitSignature(e).compact})})}catch(e){return Promise.reject(e)}},s.cancelOrders=function(e,t){var n=this.provider.getSigner(t);return F(this.contract.connect(n),"cancel",[e])},s.bulkCancelOrders=function(e){var t=this.provider.getSigner(e);return F(this.contract.connect(t),"incrementCounter",[])},s.validate=function(e,t){var n=this.provider.getSigner(t);return F(this.contract.connect(n),"validate",[e])},s.getOrderStatus=function(e){return this.contract.getOrderStatus(e)},s.getCounter=function(e){return this.contract.getCounter(e).then(function(e){return e.toNumber()})},s.fulfillOrder=function(e){var n=e.order,i=e.unitsToFill,a=e.offerCriteria,o=void 0===a?[]:a,s=e.considerationCriteria,u=void 0===s?[]:s,l=e.tips,y=void 0===l?[]:l,m=e.extraData,f=void 0===m?"0x":m,c=e.accountAddress,v=e.conduitKey,b=void 0===v?_this9.defaultConduitKey:v,A=e.recipientAddress,C=void 0===A?r.constants.AddressZero:A;try{var h=this,g=n.parameters,I=g.offerer,x=g.offer,k=g.consideration;return Promise.resolve(h.provider.getSigner(c)).then(function(e){return Promise.resolve(e.getAddress()).then(function(a){var s=h.config.conduitKeyToConduit[g.conduitKey],l=h.config.conduitKeyToConduit[b];return Promise.resolve(Promise.all([j({owner:I,items:x,criterias:o,multicallProvider:h.multicallProvider,operator:s}),j({owner:a,items:[].concat(x,k),criterias:[].concat(o,u),multicallProvider:h.multicallProvider,operator:l}),h.multicallProvider.getBlock("latest"),h.getOrderStatus(h.getOrderHash(g))])).then(function(a){var m=a[0],c=a[1],v=a[3],A=a[2].timestamp,g=v.totalFilled,I=v.totalSize,x=ne(n,v),k={startTime:x.parameters.startTime,endTime:x.parameters.endTime,currentBlockTimestamp:A,ascendingAmountTimestampBuffer:h.config.ascendingAmountFulfillmentBuffer},S=y.map(function(e){return p({},J(e),{recipient:e.recipient})});return!i&&C===r.constants.AddressZero&&function(e,n){var i=e.offer,a=e.consideration,o=e.offerer;if(!n.eq(0))return!1;if(i.length>1||0===a.length)return!1;var s=[].concat(i,a),p=s.filter(function(e){return[d.ERC721,d.ERC1155].includes(e.itemType)}),u=s.filter(function(e){return E(e.itemType)});if(i[0].itemType===d.NATIVE)return!1;if(1!==p.length||0!==u.length)return!1;if(!Q({offer:i,consideration:a}))return!1;if(s.some(function(e){return e.startAmount!==e.endAmount}))return!1;var l=a[0],y=a.slice(1);if(l.recipient.toLowerCase()!==o.toLowerCase())return!1;if(a.length>1&&y.every(function(e){return e.itemType===i[0].itemType})&&X(y).endAmount.gt(i[0].endAmount))return!1;var m=s.filter(O),f=m.filter(function(e){return e.itemType===d.NATIVE}).every(function(e){return e.token===r.constants.AddressZero}),c=m.every(function(e){return t.from(e.identifierOrCriteria).eq(0)}),T=p.filter(function(e){return e.itemType===d.ERC721}).every(function(e){return"1"===e.endAmount});return f&&c&&T}(x.parameters,g)?function(e){var t=e.order,n=e.seaportContract,i=e.offererBalancesAndApprovals,a=e.fulfillerBalancesAndApprovals,o=e.timeBasedItemParams,s=e.offererOperator,u=e.fulfillerOperator,d=e.signer,l=e.tips,y=void 0===l?[]:l,m=e.conduitKey,f=void 0===m?T:m;try{var c,v,b=t.parameters,A=b.offer,C=[].concat(b.consideration,y),O=A[0],h=C[0],g=C.slice(1),I=null==(c=te[O.itemType])?void 0:c[h.itemType];if(void 0===I)throw new Error("Order parameters did not result in a valid basic fulfillment");var E=g.map(function(e){return{amount:e.startAmount,recipient:e.recipient}}),P=C.filter(function(e){return e.itemType!==A[0].itemType}),x=null==(v=R({items:P,criterias:[],timeBasedItemParams:p({},o,{isConsiderationItem:!0})})[r.constants.AddressZero])?void 0:v[0],k=function(e){var t=e.offer,n=e.consideration,r=e.fulfillerBalancesAndApprovals,i=e.timeBasedItemParams,a=e.fulfillerOperator;V({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}),s=L({balancesAndApprovals:r,tokenAndIdentifierAmounts:R({items:o,criterias:[],timeBasedItemParams:p({},i,{isConsiderationItem:!0})}),operator:a}),u=s.insufficientApprovals;if(s.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:s,fulfillerOperator:u}),S={offerer:t.parameters.offerer,offererConduitKey:t.parameters.conduitKey,zone:t.parameters.zone,basicOrderType:t.parameters.orderType+4*I,offerToken:O.token,offerIdentifier:O.identifierOrCriteria,offerAmount:O.endAmount,considerationToken:h.token,considerationIdentifier:h.identifierOrCriteria,considerationAmount:h.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},w={value:x};return Promise.resolve(_(k,d)).then(function(e){var t={type:"exchange",transactionMethods:F(n.connect(d),"fulfillBasicOrder",[S,w])},r=[].concat(e,[t]);return{actions:r,executeAllActions:function(){return B(r)}}})}catch(e){return Promise.reject(e)}}({order:x,seaportContract:h.contract,offererBalancesAndApprovals:m,fulfillerBalancesAndApprovals:c,timeBasedItemParams:k,conduitKey:b,offererOperator:s,fulfillerOperator:l,signer:e,tips:S}):function(e){var t=e.order,n=e.unitsToFill,i=void 0===n?0:n,a=e.totalSize,o=e.totalFilled,s=e.offerCriteria,u=e.considerationCriteria,d=e.tips,l=void 0===d?[]:d,y=e.extraData,m=e.seaportContract,f=e.offererBalancesAndApprovals,c=e.fulfillerBalancesAndApprovals,T=e.offererOperator,v=e.fulfillerOperator,b=e.timeBasedItemParams,A=e.conduitKey,C=e.recipientAddress,O=e.signer;try{var h,g=(i?ee(t,{unitsToFill:i,totalFilled:o,totalSize:a}):$(t,{totalFilled:o,totalSize:a})).parameters,I=g.offer,P=g.consideration,x=[].concat(P,l),k=I.filter(function(e){return E(e.itemType)}),S=x.filter(function(e){return E(e.itemType)}),w=k.length>0||S.length>0;if(k.length!==s.length||S.length!==u.length)throw new Error("You must supply the appropriate criterias for criteria based items");var M=null==(h=R({items:x,criterias:u,timeBasedItemParams:p({},b,{isConsiderationItem:!0})})[r.constants.AddressZero])?void 0:h[0],H=Z({offer:I,consideration:x,offerCriteria:s,considerationCriteria:u,offererBalancesAndApprovals:f,fulfillerBalancesAndApprovals:c,timeBasedItemParams:b,offererOperator:T,fulfillerOperator:v}),K={value:M};return Promise.resolve(_(H,O)).then(function(e){var n=C!==r.constants.AddressZero,a=Boolean(i)||w||n,o=p({},t,{parameters:p({},t.parameters,{consideration:[].concat(t.parameters.consideration,l),totalOriginalConsiderationItems:P.length})}),d=re(t,i),f=d.numerator,c=d.denominator,T={type:"exchange",transactionMethods:a?F(m.connect(O),"fulfillAdvancedOrder",[p({},o,{numerator:f,denominator:c,extraData:null!=y?y:"0x"}),w?U({orders:[t],offerCriterias:[s],considerationCriterias:[u]}):[],A,C,K]):F(m.connect(O),"fulfillOrder",[o,A,K])},v=[].concat(e,[T]);return{actions:v,executeAllActions:function(){return B(v)}}})}catch(e){return Promise.reject(e)}}({order:x,unitsToFill:i,totalFilled:g,totalSize:I.eq(0)?P(x):I,offerCriteria:o,considerationCriteria:u,tips:S,extraData:f,seaportContract:h.contract,offererBalancesAndApprovals:m,fulfillerBalancesAndApprovals:c,timeBasedItemParams:k,conduitKey:b,signer:e,offererOperator:s,fulfillerOperator:l,recipientAddress:C})})})})}catch(e){return Promise.reject(e)}},s.fulfillOrders=function(e){var n=e.fulfillOrderDetails,i=e.accountAddress,a=e.conduitKey,o=void 0===a?_this11.defaultConduitKey:a,s=e.recipientAddress,u=void 0===s?r.constants.AddressZero:s;try{var d=this;return Promise.resolve(d.provider.getSigner(i)).then(function(e){return Promise.resolve(e.getAddress()).then(function(i){var a=n.map(function(e){return d.config.conduitKeyToConduit[e.order.parameters.conduitKey]}),s=d.config.conduitKeyToConduit[o],l=n.flatMap(function(e){return e.order.parameters.offer}),y=n.flatMap(function(e){return e.order.parameters.consideration}),m=n.flatMap(function(e){var t=e.offerCriteria;return void 0===t?[]:t}),f=n.flatMap(function(e){var t=e.considerationCriteria;return void 0===t?[]:t});return Promise.resolve(Promise.all([Promise.all(n.map(function(e,t){var n=e.order,r=e.offerCriteria;return j({owner:n.parameters.offerer,items:n.parameters.offer,criterias:void 0===r?[]:r,operator:a[t],multicallProvider:d.multicallProvider})})),j({owner:i,items:[].concat(l,y),criterias:[].concat(m,f),operator:s,multicallProvider:d.multicallProvider}),d.multicallProvider.getBlock("latest"),Promise.all(n.map(function(e){return d.getOrderStatus(d.getOrderHash(e.order.parameters))}))])).then(function(i){var l=i[0],y=i[1],m=i[2],f=i[3];return function(e){var n=e.ordersMetadata,i=e.seaportContract,a=e.fulfillerBalancesAndApprovals,o=e.fulfillerOperator,s=e.currentBlockTimestamp,u=e.ascendingAmountTimestampBuffer,d=e.conduitKey,l=e.signer,y=e.recipientAddress;try{var m=n.map(function(e){return p({},e,{order:ne(e.order,e.orderStatus)})}),f=m.map(function(e){return p({},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})})}),c=t.from(0),T=[];f.forEach(function(e){var n,i,p=e.order,d=e.offerCriteria,l=e.considerationCriteria,y=e.offererBalancesAndApprovals,m=e.offererOperator,f=[].concat(p.parameters.consideration,e.tips),v={startTime:p.parameters.startTime,endTime:p.parameters.endTime,currentBlockTimestamp:s,ascendingAmountTimestampBuffer:u,isConsiderationItem:!0};c=c.add(null!=(n=null==(i=R({items:f,criterias:l,timeBasedItemParams:v})[r.constants.AddressZero])?void 0:i[0])?n:t.from(0));var b=Z({offer:p.parameters.offer,consideration:f,offerCriteria:d,considerationCriteria:l,offererBalancesAndApprovals:y,fulfillerBalancesAndApprovals:a,timeBasedItemParams:v,offererOperator:m,fulfillerOperator:o}),A=p.parameters.offer.filter(function(e){return E(e.itemType)}),C=f.filter(function(e){return E(e.itemType)});if(A.length!==d.length||C.length!==l.length)throw new Error("You must supply the appropriate criterias for criteria based items");b.forEach(function(e){T.find(function(t){return t.token===e.token})||T.push(e)})});var v={value:c};return Promise.resolve(_(T,l)).then(function(e){var t=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,s=a.denominator,u=[].concat(t.parameters.consideration,r);return p({},t,{parameters:p({},t.parameters,{consideration:u,totalOriginalConsiderationItems:t.parameters.consideration.length}),numerator:o,denominator:s,extraData:i})}),r=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=x(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})+(g(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=x(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})+(g(e.itemType)?i:"");r[u]=[].concat(null!=(p=r[u])?p:[],[{orderIndex:n,itemIndex:i}])})}),{offerFulfillments:Object.values(n),considerationFulfillments:Object.values(r)}}(n),a=r.offerFulfillments,o=r.considerationFulfillments,s={type:"exchange",transactionMethods:F(i.connect(l),"fulfillAvailableAdvancedOrders",[t,[],a,o,d,y,t.length,v])},u=[].concat(e,[s]);return{actions:u,executeAllActions:function(){return B(u)}}})}catch(e){return Promise.reject(e)}}({ordersMetadata:n.map(function(e,t){var n,r,i,o,s;return{order:e.order,unitsToFill:e.unitsToFill,orderStatus:f[t],offerCriteria:null!=(n=e.offerCriteria)?n:[],considerationCriteria:null!=(r=e.considerationCriteria)?r:[],tips:null!=(i=null==(o=e.tips)?void 0:o.map(function(e){return p({},J(e),{recipient:e.recipient})}))?i:[],extraData:null!=(s=e.extraData)?s:"0x",offererBalancesAndApprovals:l[t],offererOperator:a[t]}}),seaportContract:d.contract,fulfillerBalancesAndApprovals:y,currentBlockTimestamp:m.timestamp,ascendingAmountTimestampBuffer:d.config.ascendingAmountFulfillmentBuffer,fulfillerOperator:s,signer:e,conduitKey:o,recipientAddress:u})})})})}catch(e){return Promise.reject(e)}},s.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])},i}();export{ie as Seaport};
2
- //# sourceMappingURL=index.esm.mjs.map