@0xsequence/marketplace-sdk 0.8.11 → 0.8.12

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 (404) hide show
  1. package/CHANGELOG.md +166 -0
  2. package/dist/CartIcon-Bll1rbxv.js +141 -0
  3. package/dist/CartIcon-Bll1rbxv.js.map +1 -0
  4. package/dist/CollectibleCard-CLQTl0_6.d.ts +8 -0
  5. package/dist/_internal-69NEWNUE.js +34 -0
  6. package/dist/_internal-69NEWNUE.js.map +1 -0
  7. package/dist/abi-BKyRjVcZ.js +0 -0
  8. package/dist/{alien_swap-2B65TDGT.js → alien_swap-B_76IMma.js} +5 -5
  9. package/dist/alien_swap-B_76IMma.js.map +1 -0
  10. package/dist/api-1KFxYh7o.js +232 -0
  11. package/dist/api-1KFxYh7o.js.map +1 -0
  12. package/dist/{aqua-xyz-WMYQLAIS.js → aqua-xyz-CMN_TFY5.js} +5 -5
  13. package/dist/aqua-xyz-CMN_TFY5.js.map +1 -0
  14. package/dist/{aura-V22RV5OG.js → aura-Cye_TuHj.js} +5 -5
  15. package/dist/aura-Cye_TuHj.js.map +1 -0
  16. package/dist/{blur-GE5QOMCM.js → blur-DWDMyMpK.js} +5 -5
  17. package/dist/blur-DWDMyMpK.js.map +1 -0
  18. package/dist/builder-api-BQvzykoU.js +28 -0
  19. package/dist/builder-api-BQvzykoU.js.map +1 -0
  20. package/dist/builder-api-DoK3907S.d.ts +12 -0
  21. package/dist/builder.gen-CxP9NT1p.js +303 -0
  22. package/dist/builder.gen-CxP9NT1p.js.map +1 -0
  23. package/dist/{coinbase-NLHJMGAP.js → coinbase-ByA_XRB0.js} +5 -5
  24. package/dist/coinbase-ByA_XRB0.js.map +1 -0
  25. package/dist/{element-2LGTYYSP.js → element-b77CyXIZ.js} +5 -5
  26. package/dist/element-b77CyXIZ.js.map +1 -0
  27. package/dist/{foundation-BPN66ZTN.js → foundation-DbOrKP9Y.js} +5 -5
  28. package/dist/foundation-DbOrKP9Y.js.map +1 -0
  29. package/dist/index-1bezgsFq.d.ts +1129 -0
  30. package/dist/index-4-kfOFdx.d.ts +22 -0
  31. package/dist/index-BEYefG1G.d.ts +24 -0
  32. package/dist/index-BHiSG-Yi.d.ts +312 -0
  33. package/dist/index-BIMIpDiI.d.ts +188 -0
  34. package/dist/index-BQW0PUkQ.d.ts +3973 -0
  35. package/dist/index-BfH21xmk.d.ts +117 -0
  36. package/dist/index-BjIwVzc4.d.ts +1057 -0
  37. package/dist/index-C39K_8SG.d.ts +1 -0
  38. package/dist/index-CN8puQQJ.d.ts +24 -0
  39. package/dist/index-Cl7PQOGu.d.ts +102 -0
  40. package/dist/index-D5v5iluA.d.ts +809 -0
  41. package/dist/index-DXMfTZ1F.d.ts +7 -0
  42. package/dist/index-DafWjEb4.d.ts +65 -0
  43. package/dist/index-ij9f8GAA.d.ts +1 -0
  44. package/dist/index.css +384 -371
  45. package/dist/index.d.ts +10 -29
  46. package/dist/index.js +13 -104
  47. package/dist/{looks-rare-MZRSOPT4.js → looks-rare-C1VqNcSM.js} +5 -5
  48. package/dist/looks-rare-C1VqNcSM.js.map +1 -0
  49. package/dist/{magic-eden-PUBL6KWW.js → magic-eden-ea_AGCZr.js} +5 -5
  50. package/dist/magic-eden-ea_AGCZr.js.map +1 -0
  51. package/dist/{manifold-GA445YJ6.js → manifold-8y8J2sjT.js} +5 -5
  52. package/dist/manifold-8y8J2sjT.js.map +1 -0
  53. package/dist/marketplace-logos-CSeGcPW4.js +50 -0
  54. package/dist/marketplace-logos-CSeGcPW4.js.map +1 -0
  55. package/dist/marketplace-nwnZv9Cb.js +1913 -0
  56. package/dist/marketplace-nwnZv9Cb.js.map +1 -0
  57. package/dist/marketplace.gen-Dqk8vRmD.js +1068 -0
  58. package/dist/marketplace.gen-Dqk8vRmD.js.map +1 -0
  59. package/dist/marketplaceConfig-D2MYFqll.js +71 -0
  60. package/dist/marketplaceConfig-D2MYFqll.js.map +1 -0
  61. package/dist/{mintify-UMC5PTKC.js → mintify-LA68TzWg.js} +5 -5
  62. package/dist/mintify-LA68TzWg.js.map +1 -0
  63. package/dist/{nftx-AX3CY3IE.js → nftx-D3Tc8nzd.js} +5 -5
  64. package/dist/nftx-D3Tc8nzd.js.map +1 -0
  65. package/dist/{okx-GNVLAE2R.js → okx-hbqg6oIJ.js} +5 -5
  66. package/dist/okx-hbqg6oIJ.js.map +1 -0
  67. package/dist/{open-sea-KI43GVEB.js → open-sea-BccuK8-t.js} +5 -5
  68. package/dist/open-sea-BccuK8-t.js.map +1 -0
  69. package/dist/options-DCi6_23w.js +34 -0
  70. package/dist/options-DCi6_23w.js.map +1 -0
  71. package/dist/primary-sale-Cw95phYC.js +1264 -0
  72. package/dist/primary-sale-Cw95phYC.js.map +1 -0
  73. package/dist/queries-DPvwtnO7.js +486 -0
  74. package/dist/queries-DPvwtnO7.js.map +1 -0
  75. package/dist/{rarible-2J3MMZJ7.js → rarible-BgTwwj9g.js} +5 -5
  76. package/dist/rarible-BgTwwj9g.js.map +1 -0
  77. package/dist/react/_internal/api/index.d.ts +4 -86
  78. package/dist/react/_internal/api/index.js +7 -150
  79. package/dist/react/_internal/databeat/index.d.ts +45 -41
  80. package/dist/react/_internal/databeat/index.js +23 -27
  81. package/dist/react/_internal/index.d.ts +7 -76
  82. package/dist/react/_internal/index.js +9 -176
  83. package/dist/react/_internal/wagmi/index.d.ts +4 -17
  84. package/dist/react/_internal/wagmi/index.js +5 -14
  85. package/dist/react/hooks/index.d.ts +17 -3652
  86. package/dist/react/hooks/index.js +23 -153
  87. package/dist/react/hooks/options/index.d.ts +5 -8
  88. package/dist/react/hooks/options/index.js +11 -21
  89. package/dist/react/index.d.ts +37 -33
  90. package/dist/react/index.js +23 -193
  91. package/dist/react/queries/index.d.ts +8 -26
  92. package/dist/react/queries/index.js +18 -51
  93. package/dist/react/ssr/index.d.ts +19 -13
  94. package/dist/react/ssr/index.js +29 -28
  95. package/dist/react/ssr/index.js.map +1 -1
  96. package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +10 -0
  97. package/dist/react/ui/components/marketplace-collectible-card/index.js +23 -0
  98. package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +8 -0
  99. package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +10 -0
  100. package/dist/react/ui/components/marketplace-logos/index.d.ts +26 -24
  101. package/dist/react/ui/components/marketplace-logos/index.js +3 -45
  102. package/dist/react/ui/icons/index.d.ts +1 -2
  103. package/dist/react/ui/icons/index.js +10 -14
  104. package/dist/react/ui/index.d.ts +10 -116
  105. package/dist/react/ui/index.js +23 -41
  106. package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +59 -33
  107. package/dist/react/ui/modals/_internal/components/actionModal/index.js +23 -31
  108. package/dist/react-BG7o4PId.js +8351 -0
  109. package/dist/react-BG7o4PId.js.map +1 -0
  110. package/dist/react-BbHBl6gg.css +80 -0
  111. package/dist/react-BbHBl6gg.css.map +1 -0
  112. package/dist/sdk-config-DJzxVPld.d.ts +1535 -0
  113. package/dist/{sequence-TGLUFEPQ.js → sequence-Do3kzb4J.js} +5 -5
  114. package/dist/sequence-Do3kzb4J.js.map +1 -0
  115. package/dist/src-Dz2CfBL0.js +8 -0
  116. package/dist/src-Dz2CfBL0.js.map +1 -0
  117. package/dist/{sudo-swap-M2O6E3TE.js → sudo-swap-B6vPKxBz.js} +5 -5
  118. package/dist/sudo-swap-B6vPKxBz.js.map +1 -0
  119. package/dist/{super-rare-UU2U4LIN.js → super-rare-eCm1SE6O.js} +5 -5
  120. package/dist/super-rare-eCm1SE6O.js.map +1 -0
  121. package/dist/token-CO5llIla.js +1312 -0
  122. package/dist/token-CO5llIla.js.map +1 -0
  123. package/dist/transaction-CcVViHEL.js +97 -0
  124. package/dist/transaction-CcVViHEL.js.map +1 -0
  125. package/dist/types/index.d.ts +3 -13
  126. package/dist/types/index.js +5 -44
  127. package/dist/types-BIJOaL4j.d.ts +68 -0
  128. package/dist/types-DwWE6xOF.js +13 -0
  129. package/dist/types-DwWE6xOF.js.map +1 -0
  130. package/dist/useCollection-C-mclKU0.d.ts +66 -0
  131. package/dist/utils/abi/index.d.ts +5 -3
  132. package/dist/utils/abi/index.js +6 -26
  133. package/dist/utils/abi/marketplace/index.d.ts +2 -805
  134. package/dist/utils/abi/marketplace/index.js +3 -11
  135. package/dist/utils/abi/primary-sale/index.d.ts +2 -1054
  136. package/dist/utils/abi/primary-sale/index.js +3 -9
  137. package/dist/utils/abi/token/index.d.ts +2 -1125
  138. package/dist/utils/abi/token/index.js +3 -11
  139. package/dist/utils/index.d.ts +8 -91
  140. package/dist/utils/index.js +11 -57
  141. package/dist/utils-BFdxaToy.js +216 -0
  142. package/dist/utils-BFdxaToy.js.map +1 -0
  143. package/dist/utils-Cat9_pef.js +44 -0
  144. package/dist/utils-Cat9_pef.js.map +1 -0
  145. package/dist/wagmi-DRctYEk6.js +159 -0
  146. package/dist/wagmi-DRctYEk6.js.map +1 -0
  147. package/dist/{x2y2-3W5BBMZC.js → x2y2-DD17tT91.js} +5 -5
  148. package/dist/x2y2-DD17tT91.js.map +1 -0
  149. package/dist/{zora-6EY6FUH6.js → zora-BpSG9UzS.js} +5 -5
  150. package/dist/zora-BpSG9UzS.js.map +1 -0
  151. package/package.json +10 -8
  152. package/src/index.ts +0 -1
  153. package/src/react/_internal/api/__mocks__/indexer.msw.ts +1 -0
  154. package/src/react/_internal/api/builder.gen.ts +0 -1
  155. package/src/react/_internal/api/marketplace.gen.ts +467 -26
  156. package/src/react/_internal/api/services.ts +42 -49
  157. package/src/react/_internal/wagmi/__tests__/create-config.test.ts +5 -5
  158. package/src/react/_internal/wagmi/create-config.ts +7 -2
  159. package/src/react/_internal/wagmi/get-connectors.ts +5 -2
  160. package/src/react/hooks/__tests__/__snapshots__/useListCollections.test.tsx.snap +161 -2
  161. package/src/react/hooks/__tests__/__snapshots__/useMarketplaceConfig.test.tsx.snap +44 -6
  162. package/src/react/hooks/__tests__/useAutoSelectFeeOption.test.tsx +7 -4
  163. package/src/react/hooks/__tests__/useCheckoutOptionsSalesContract.test.tsx +225 -0
  164. package/src/react/hooks/__tests__/useCollectionDetailsPolling.test.tsx +3 -3
  165. package/src/react/hooks/__tests__/useGenerateCancelTransaction.test.tsx +2 -3
  166. package/src/react/hooks/__tests__/useHighestOffer.test.tsx +0 -16
  167. package/src/react/hooks/__tests__/useInventory.test.tsx +0 -36
  168. package/src/react/hooks/__tests__/useListCollections.test.tsx +1 -1
  169. package/src/react/hooks/index.ts +7 -0
  170. package/src/react/hooks/useBalanceOfCollectible.tsx +13 -9
  171. package/src/react/hooks/useCancelTransactionSteps.tsx +5 -1
  172. package/src/react/hooks/useCheckoutOptions.tsx +2 -1
  173. package/src/react/hooks/useCheckoutOptionsSalesContract.tsx +67 -0
  174. package/src/react/hooks/useCollectionDetails.tsx +22 -7
  175. package/src/react/hooks/useCountListingsForCollectible.tsx +5 -4
  176. package/src/react/hooks/useCountOfCollectables.tsx +10 -7
  177. package/src/react/hooks/useCountOffersForCollectible.tsx +5 -4
  178. package/src/react/hooks/useCurrency.tsx +2 -2
  179. package/src/react/hooks/useERC721SaleMintedTokens.tsx +67 -0
  180. package/src/react/hooks/useFloorOrder.tsx +5 -2
  181. package/src/react/hooks/useGenerateCancelTransaction.tsx +13 -6
  182. package/src/react/hooks/useGenerateListingTransaction.tsx +15 -5
  183. package/src/react/hooks/useGenerateOfferTransaction.tsx +15 -6
  184. package/src/react/hooks/useGenerateSellTransaction.tsx +15 -6
  185. package/src/react/hooks/useGetTokenSuppliesMap.ts +5 -0
  186. package/src/react/hooks/useInventory.tsx +7 -5
  187. package/src/react/hooks/useList1155ShopCardData.tsx +130 -0
  188. package/src/react/hooks/useList721ShopCardData.tsx +130 -0
  189. package/src/react/hooks/useListBalances.tsx +6 -9
  190. package/src/react/hooks/useListCollectibleActivities.tsx +2 -1
  191. package/src/react/hooks/useListCollectibles.tsx +1 -14
  192. package/src/react/hooks/useListCollectiblesPaginated.tsx +8 -5
  193. package/src/react/hooks/useListCollectionActivities.tsx +2 -1
  194. package/src/react/hooks/useListCollections.tsx +1 -1
  195. package/src/react/hooks/useListListingsForCollectible.tsx +2 -1
  196. package/src/react/hooks/useListMarketCardData.tsx +157 -0
  197. package/src/react/hooks/useListOffersForCollectible.tsx +2 -1
  198. package/src/react/hooks/useListPrimarySaleItems.ts +42 -0
  199. package/src/react/hooks/useTokenSaleDetailsBatch.tsx +134 -0
  200. package/src/react/queries/highestOffer.ts +6 -4
  201. package/src/react/queries/inventory.ts +35 -1
  202. package/src/react/queries/listBalances.ts +14 -30
  203. package/src/react/queries/listCollectibles.ts +60 -7
  204. package/src/react/queries/listCollections.ts +8 -2
  205. package/src/react/queries/listTokenMetadata.ts +6 -1
  206. package/src/react/queries/lowestListing.ts +6 -4
  207. package/src/react/queries/marketCurrencies.ts +11 -7
  208. package/src/react/queries/marketplaceConfig.ts +55 -80
  209. package/src/react/ssr/__tests__/__snapshots__/create-ssr-client.test.ts.snap +44 -6
  210. package/src/react/ssr/__tests__/create-ssr-client.test.ts +0 -3
  211. package/src/react/ssr/create-ssr-client.ts +5 -10
  212. package/src/react/ui/components/_internals/action-button/ActionButton.tsx +47 -13
  213. package/src/react/ui/components/_internals/action-button/__tests__/ActionButtonBody.test.tsx +1 -1
  214. package/src/react/ui/components/_internals/action-button/__tests__/NonOwnerActions.test.tsx +28 -15
  215. package/src/react/ui/components/_internals/action-button/__tests__/OwnerActions.test.tsx +1 -1
  216. package/src/react/ui/components/_internals/action-button/__tests__/useActionButtonLogic.test.tsx +1 -1
  217. package/src/react/ui/components/_internals/action-button/components/ActionButtonBody.tsx +1 -1
  218. package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +78 -15
  219. package/src/react/ui/components/_internals/action-button/components/OwnerActions.tsx +1 -1
  220. package/src/react/ui/components/_internals/action-button/hooks/useActionButtonLogic.ts +1 -1
  221. package/src/react/ui/components/marketplace-collectible-card/CollectibleCard.tsx +17 -0
  222. package/src/react/ui/components/marketplace-collectible-card/CollectibleCardSkeleton.tsx +24 -0
  223. package/src/react/ui/components/marketplace-collectible-card/Footer.tsx +231 -0
  224. package/src/react/ui/components/marketplace-collectible-card/components/ActionButtonWrapper.tsx +76 -0
  225. package/src/react/ui/components/marketplace-collectible-card/components/BaseCard.tsx +55 -0
  226. package/src/react/ui/components/marketplace-collectible-card/index.ts +3 -0
  227. package/src/react/ui/components/marketplace-collectible-card/types.ts +95 -0
  228. package/src/react/ui/components/marketplace-collectible-card/utils/formatPrice.ts +45 -0
  229. package/src/react/ui/components/marketplace-collectible-card/utils/index.ts +2 -0
  230. package/src/react/ui/components/marketplace-collectible-card/utils/supplyStatus.ts +39 -0
  231. package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +124 -0
  232. package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +105 -0
  233. package/src/react/ui/components/{collectible-card/media → media}/Media.tsx +42 -25
  234. package/src/react/ui/components/{collectible-card/media → media}/types.ts +3 -1
  235. package/src/react/ui/index.ts +5 -2
  236. package/src/react/ui/modals/BuyModal/__tests__/BuyModalRouter.test.tsx +554 -0
  237. package/src/react/ui/modals/BuyModal/__tests__/ERC1155ShopModal.test.tsx +385 -0
  238. package/src/react/ui/modals/BuyModal/__tests__/ERC721ShopModal.test.tsx +272 -0
  239. package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx.bak +112 -0
  240. package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +117 -13
  241. package/src/react/ui/modals/BuyModal/__tests__/store.test.ts +10 -7
  242. package/src/react/ui/modals/BuyModal/components/BuyModalRouter.tsx +157 -0
  243. package/src/react/ui/modals/BuyModal/components/ERC1155BuyModal.tsx +136 -0
  244. package/src/react/ui/modals/BuyModal/components/ERC1155QuantityModal.tsx +184 -0
  245. package/src/react/ui/modals/BuyModal/components/ERC1155ShopModal.tsx +121 -0
  246. package/src/react/ui/modals/BuyModal/components/ERC721BuyModal.tsx +85 -0
  247. package/src/react/ui/modals/BuyModal/components/ERC721ShopModal.tsx +86 -0
  248. package/src/react/ui/modals/BuyModal/components/Modal.tsx +14 -0
  249. package/src/react/ui/modals/BuyModal/components/types.ts +8 -0
  250. package/src/react/ui/modals/BuyModal/hooks/__tests__/useCheckoutOptions.test.tsx +4 -4
  251. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC1155Checkout.test.tsx +379 -0
  252. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC721SalePaymentParams.test.tsx +253 -0
  253. package/src/react/ui/modals/BuyModal/hooks/__tests__/{useFees.test.tsx → useMarketPlatformFee.test.tsx} +10 -11
  254. package/src/react/ui/modals/BuyModal/hooks/useCheckoutOptions.ts +62 -44
  255. package/src/react/ui/modals/BuyModal/hooks/useERC1155Checkout.ts +73 -0
  256. package/src/react/ui/modals/BuyModal/hooks/useERC721SalePaymentParams.ts +196 -0
  257. package/src/react/ui/modals/BuyModal/hooks/useLoadData.ts +74 -18
  258. package/src/react/ui/modals/BuyModal/hooks/useMarketPlatformFee.ts +53 -0
  259. package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +27 -12
  260. package/src/react/ui/modals/BuyModal/store.ts +147 -13
  261. package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +2 -1
  262. package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +5 -3
  263. package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +2 -1
  264. package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +5 -3
  265. package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +4 -3
  266. package/src/react/ui/modals/SellModal/hooks/useTransactionSteps.tsx +6 -3
  267. package/src/react/ui/modals/SuccessfulPurchaseModal/__tests__/Modal.test.tsx +11 -7
  268. package/src/react/ui/modals/SuccessfulPurchaseModal/index.tsx +34 -28
  269. package/src/react/ui/modals/SuccessfulPurchaseModal/store.ts +71 -0
  270. package/src/react/ui/modals/_internal/components/actionModal/ActionModal.test.tsx +0 -1
  271. package/src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx +105 -108
  272. package/src/react/ui/modals/_internal/components/actionModal/store.ts +45 -12
  273. package/src/react/ui/modals/_internal/components/switchChainModal/__tests__/SwitchChainModal.test.tsx +12 -8
  274. package/src/react/ui/modals/_internal/components/switchChainModal/index.tsx +35 -33
  275. package/src/react/ui/modals/_internal/components/switchChainModal/store.ts +61 -32
  276. package/src/react/ui/modals/modal-provider.tsx +1 -1
  277. package/src/types/buyModalErrors.ts +438 -0
  278. package/src/types/index.ts +4 -1
  279. package/src/types/new-marketplace-types.ts +6 -21
  280. package/src/types/sdk-config.ts +18 -24
  281. package/src/types/types.ts +16 -0
  282. package/src/utils/_internal/error/transaction.ts +36 -1
  283. package/tsconfig.json +1 -1
  284. package/tsconfig.tsbuildinfo +1 -1
  285. package/tsdown.config.ts +25 -0
  286. package/.ctirc +0 -32
  287. package/dist/alien_swap-2B65TDGT.js.map +0 -1
  288. package/dist/aqua-xyz-WMYQLAIS.js.map +0 -1
  289. package/dist/aura-V22RV5OG.js.map +0 -1
  290. package/dist/blur-GE5QOMCM.js.map +0 -1
  291. package/dist/chunk-2PSNAIAT.js +0 -1
  292. package/dist/chunk-2PSNAIAT.js.map +0 -1
  293. package/dist/chunk-5C6ZZ6WX.js +0 -130
  294. package/dist/chunk-5C6ZZ6WX.js.map +0 -1
  295. package/dist/chunk-5O44EPXZ.js +0 -207
  296. package/dist/chunk-5O44EPXZ.js.map +0 -1
  297. package/dist/chunk-6CTFVBKU.js +0 -1
  298. package/dist/chunk-6CTFVBKU.js.map +0 -1
  299. package/dist/chunk-6OPMUCGX.js +0 -42
  300. package/dist/chunk-6OPMUCGX.js.map +0 -1
  301. package/dist/chunk-FUM4OGOQ.js +0 -1027
  302. package/dist/chunk-FUM4OGOQ.js.map +0 -1
  303. package/dist/chunk-L6KWLCER.js +0 -32
  304. package/dist/chunk-L6KWLCER.js.map +0 -1
  305. package/dist/chunk-LAP2CKLN.js +0 -485
  306. package/dist/chunk-LAP2CKLN.js.map +0 -1
  307. package/dist/chunk-LECCEZAO.js +0 -11
  308. package/dist/chunk-LECCEZAO.js.map +0 -1
  309. package/dist/chunk-N7SQWS2R.js +0 -38
  310. package/dist/chunk-N7SQWS2R.js.map +0 -1
  311. package/dist/chunk-NX52D7NX.js +0 -135
  312. package/dist/chunk-NX52D7NX.js.map +0 -1
  313. package/dist/chunk-OAOONM4S.js +0 -1787
  314. package/dist/chunk-OAOONM4S.js.map +0 -1
  315. package/dist/chunk-Q3ECVC4F.js +0 -811
  316. package/dist/chunk-Q3ECVC4F.js.map +0 -1
  317. package/dist/chunk-QY52UADF.js +0 -107
  318. package/dist/chunk-QY52UADF.js.map +0 -1
  319. package/dist/chunk-TNAR3XEF.js +0 -8729
  320. package/dist/chunk-TNAR3XEF.js.map +0 -1
  321. package/dist/chunk-XABYNWXO.js +0 -549
  322. package/dist/chunk-XABYNWXO.js.map +0 -1
  323. package/dist/chunk-XX4EVWBF.js +0 -1292
  324. package/dist/chunk-XX4EVWBF.js.map +0 -1
  325. package/dist/chunk-YB5UUF2G.js +0 -11
  326. package/dist/chunk-YB5UUF2G.js.map +0 -1
  327. package/dist/chunk-YWGFI4PN.js +0 -217
  328. package/dist/chunk-YWGFI4PN.js.map +0 -1
  329. package/dist/coinbase-NLHJMGAP.js.map +0 -1
  330. package/dist/create-config-DLMvMTkZ.d.ts +0 -8
  331. package/dist/element-2LGTYYSP.js.map +0 -1
  332. package/dist/foundation-BPN66ZTN.js.map +0 -1
  333. package/dist/get-query-client-D46hbjk6.d.ts +0 -5
  334. package/dist/index.css.map +0 -1
  335. package/dist/index.js.map +0 -1
  336. package/dist/looks-rare-MZRSOPT4.js.map +0 -1
  337. package/dist/magic-eden-PUBL6KWW.js.map +0 -1
  338. package/dist/manifold-GA445YJ6.js.map +0 -1
  339. package/dist/marketCurrencies-enNVYwBk.d.ts +0 -277
  340. package/dist/marketplace.gen-D24veUQs.d.ts +0 -1073
  341. package/dist/marketplaceConfig-BwNAbLPw.d.ts +0 -21
  342. package/dist/mintify-UMC5PTKC.js.map +0 -1
  343. package/dist/new-marketplace-types-BCw19X9S.d.ts +0 -102
  344. package/dist/nftx-AX3CY3IE.js.map +0 -1
  345. package/dist/okx-GNVLAE2R.js.map +0 -1
  346. package/dist/open-sea-KI43GVEB.js.map +0 -1
  347. package/dist/rarible-2J3MMZJ7.js.map +0 -1
  348. package/dist/react/_internal/api/index.js.map +0 -1
  349. package/dist/react/_internal/databeat/index.css +0 -2764
  350. package/dist/react/_internal/databeat/index.css.map +0 -1
  351. package/dist/react/_internal/databeat/index.js.map +0 -1
  352. package/dist/react/_internal/index.js.map +0 -1
  353. package/dist/react/_internal/wagmi/index.js.map +0 -1
  354. package/dist/react/hooks/index.css +0 -2764
  355. package/dist/react/hooks/index.css.map +0 -1
  356. package/dist/react/hooks/index.js.map +0 -1
  357. package/dist/react/hooks/options/index.js.map +0 -1
  358. package/dist/react/index.css +0 -2764
  359. package/dist/react/index.css.map +0 -1
  360. package/dist/react/index.js.map +0 -1
  361. package/dist/react/queries/index.js.map +0 -1
  362. package/dist/react/ui/components/collectible-card/index.css +0 -2764
  363. package/dist/react/ui/components/collectible-card/index.css.map +0 -1
  364. package/dist/react/ui/components/collectible-card/index.d.ts +0 -71
  365. package/dist/react/ui/components/collectible-card/index.js +0 -27
  366. package/dist/react/ui/components/collectible-card/index.js.map +0 -1
  367. package/dist/react/ui/components/marketplace-logos/index.js.map +0 -1
  368. package/dist/react/ui/icons/index.js.map +0 -1
  369. package/dist/react/ui/index.css +0 -2764
  370. package/dist/react/ui/index.css.map +0 -1
  371. package/dist/react/ui/index.js.map +0 -1
  372. package/dist/react/ui/modals/_internal/components/actionModal/index.css +0 -2764
  373. package/dist/react/ui/modals/_internal/components/actionModal/index.css.map +0 -1
  374. package/dist/react/ui/modals/_internal/components/actionModal/index.js.map +0 -1
  375. package/dist/sdk-config-qorA0TgF.d.ts +0 -165
  376. package/dist/sequence-TGLUFEPQ.js.map +0 -1
  377. package/dist/services-WrshxCqc.d.ts +0 -23
  378. package/dist/sudo-swap-M2O6E3TE.js.map +0 -1
  379. package/dist/super-rare-UU2U4LIN.js.map +0 -1
  380. package/dist/types/index.js.map +0 -1
  381. package/dist/useCollection-YAdXfVO7.d.ts +0 -61
  382. package/dist/utils/abi/index.js.map +0 -1
  383. package/dist/utils/abi/marketplace/index.js.map +0 -1
  384. package/dist/utils/abi/primary-sale/index.js.map +0 -1
  385. package/dist/utils/abi/token/index.js.map +0 -1
  386. package/dist/utils/index.js.map +0 -1
  387. package/dist/x2y2-3W5BBMZC.js.map +0 -1
  388. package/dist/zora-6EY6FUH6.js.map +0 -1
  389. package/postcss.config.mjs +0 -5
  390. package/src/react/hooks/__tests__/__snapshots__/useRoyaltyPercentage.test.tsx.snap +0 -8
  391. package/src/react/ui/components/collectible-card/CollectibleCard.tsx +0 -170
  392. package/src/react/ui/components/collectible-card/Footer.tsx +0 -157
  393. package/src/react/ui/components/collectible-card/__tests__/CollectibleCard.test.tsx +0 -94
  394. package/src/react/ui/components/collectible-card/__tests__/Footer.test.tsx +0 -136
  395. package/src/react/ui/components/collectible-card/__tests__/Media.test.tsx +0 -264
  396. package/src/react/ui/components/collectible-card/index.ts +0 -2
  397. package/src/react/ui/modals/BuyModal/ERC1155QuantityModal.tsx +0 -130
  398. package/src/react/ui/modals/BuyModal/Modal.tsx +0 -124
  399. package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx +0 -104
  400. package/src/react/ui/modals/BuyModal/hooks/useFees.ts +0 -39
  401. package/src/react/ui/modals/SuccessfulPurchaseModal/_store.ts +0 -72
  402. package/tsup.config.ts +0 -23
  403. /package/src/react/ui/components/{collectible-card/media → media}/MediaSkeleton.tsx +0 -0
  404. /package/src/react/ui/components/{collectible-card/media → media}/utils.ts +0 -0
@@ -0,0 +1,225 @@
1
+ import { skipToken } from '@tanstack/react-query';
2
+ import { renderHook, waitFor } from '@test';
3
+ import type { Address } from 'viem';
4
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
5
+ import { useCheckoutOptionsSalesContract } from '../useCheckoutOptionsSalesContract';
6
+
7
+ // Mock wagmi's useAccount hook
8
+ vi.mock('wagmi', async () => {
9
+ const actual = await vi.importActual('wagmi');
10
+ return {
11
+ ...actual,
12
+ useAccount: vi.fn(() => ({ address: '0xTestWallet' as Address })),
13
+ };
14
+ });
15
+
16
+ const mockContractAddress =
17
+ '0x1234567890123456789012345678901234567890' as Address;
18
+ const mockCollectionAddress =
19
+ '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd' as Address;
20
+
21
+ describe('useCheckoutOptionsSalesContract', () => {
22
+ beforeEach(() => {
23
+ vi.clearAllMocks();
24
+ });
25
+
26
+ afterEach(() => {
27
+ vi.restoreAllMocks();
28
+ });
29
+
30
+ it('should fetch checkout options successfully', async () => {
31
+ const { result } = renderHook(() =>
32
+ useCheckoutOptionsSalesContract({
33
+ chainId: 1,
34
+ contractAddress: mockContractAddress,
35
+ collectionAddress: mockCollectionAddress,
36
+ items: [
37
+ {
38
+ quantity: '1',
39
+ tokenId: '1',
40
+ },
41
+ ],
42
+ }),
43
+ );
44
+
45
+ // Initially loading
46
+ expect(result.current.isLoading).toBe(true);
47
+ expect(result.current.data).toBeUndefined();
48
+
49
+ // Wait for successful response
50
+ await waitFor(() => {
51
+ expect(result.current.isSuccess).toBe(true);
52
+ });
53
+
54
+ // Check the response
55
+ expect(result.current.data).toEqual({
56
+ options: {
57
+ crypto: 'all',
58
+ swap: [],
59
+ nftCheckout: [],
60
+ onRamp: [],
61
+ },
62
+ });
63
+ });
64
+
65
+ it('should handle skipToken', () => {
66
+ const { result } = renderHook(() =>
67
+ useCheckoutOptionsSalesContract(skipToken),
68
+ );
69
+
70
+ // Should not be loading when skipToken is passed
71
+ expect(result.current.isLoading).toBe(false);
72
+ expect(result.current.isFetching).toBe(false);
73
+ expect(result.current.data).toBeUndefined();
74
+ });
75
+
76
+ it('should handle multiple items', async () => {
77
+ const { result } = renderHook(() =>
78
+ useCheckoutOptionsSalesContract({
79
+ chainId: 137,
80
+ contractAddress: mockContractAddress,
81
+ collectionAddress: mockCollectionAddress,
82
+ items: [
83
+ {
84
+ quantity: '2',
85
+ tokenId: '1',
86
+ },
87
+ {
88
+ quantity: '1',
89
+ tokenId: '2',
90
+ },
91
+ ],
92
+ }),
93
+ );
94
+
95
+ await waitFor(() => {
96
+ expect(result.current.isSuccess).toBe(true);
97
+ });
98
+
99
+ expect(result.current.data).toBeDefined();
100
+ expect(result.current.data?.options).toBeDefined();
101
+ });
102
+
103
+ it('should refetch when args change', async () => {
104
+ let chainIdProp = 1;
105
+ const itemsProp = [{ quantity: '1', tokenId: '1' }];
106
+
107
+ const { result, rerender } = renderHook(() =>
108
+ useCheckoutOptionsSalesContract({
109
+ chainId: chainIdProp,
110
+ contractAddress: mockContractAddress,
111
+ collectionAddress: mockCollectionAddress,
112
+ items: itemsProp,
113
+ }),
114
+ );
115
+
116
+ await waitFor(() => {
117
+ expect(result.current.isSuccess).toBe(true);
118
+ });
119
+
120
+ const firstData = result.current.data;
121
+
122
+ // Change chainId
123
+ chainIdProp = 137;
124
+ rerender();
125
+
126
+ await waitFor(() => {
127
+ expect(result.current.isFetching).toBe(true);
128
+ });
129
+
130
+ await waitFor(() => {
131
+ expect(result.current.isFetching).toBe(false);
132
+ });
133
+
134
+ // Data should still be the same (mocked response doesn't change)
135
+ expect(result.current.data).toEqual(firstData);
136
+ });
137
+
138
+ it('should use wallet address from useAccount', async () => {
139
+ const { useAccount } = await import('wagmi');
140
+ const mockUseAccount = vi.mocked(useAccount);
141
+
142
+ // Set a specific address
143
+ mockUseAccount.mockReturnValue({
144
+ address: '0xSpecificWallet' as Address,
145
+ isConnected: true,
146
+ isConnecting: false,
147
+ isDisconnected: false,
148
+ isReconnecting: false,
149
+ connector: null,
150
+ addresses: undefined,
151
+ chain: undefined,
152
+ chainId: undefined,
153
+ status: 'connected',
154
+ } as unknown as ReturnType<typeof useAccount>);
155
+
156
+ const { result } = renderHook(() =>
157
+ useCheckoutOptionsSalesContract({
158
+ chainId: 1,
159
+ contractAddress: mockContractAddress,
160
+ collectionAddress: mockCollectionAddress,
161
+ items: [{ quantity: '1', tokenId: '1' }],
162
+ }),
163
+ );
164
+
165
+ await waitFor(() => {
166
+ expect(result.current.isSuccess).toBe(true);
167
+ });
168
+
169
+ expect(result.current.data).toBeDefined();
170
+ });
171
+
172
+ it('should handle when wallet is not connected', async () => {
173
+ const { useAccount } = await import('wagmi');
174
+ const mockUseAccount = vi.mocked(useAccount);
175
+
176
+ // No wallet connected
177
+ mockUseAccount.mockReturnValue({
178
+ address: undefined,
179
+ isConnected: false,
180
+ isConnecting: false,
181
+ isDisconnected: true,
182
+ isReconnecting: false,
183
+ connector: null,
184
+ addresses: undefined,
185
+ chain: undefined,
186
+ chainId: undefined,
187
+ status: 'disconnected',
188
+ } as unknown as ReturnType<typeof useAccount>);
189
+
190
+ const { result } = renderHook(() =>
191
+ useCheckoutOptionsSalesContract({
192
+ chainId: 1,
193
+ contractAddress: mockContractAddress,
194
+ collectionAddress: mockCollectionAddress,
195
+ items: [{ quantity: '1', tokenId: '1' }],
196
+ }),
197
+ );
198
+
199
+ // The hook will still try to fetch even without a wallet (using undefined)
200
+ // Wait for it to complete
201
+ await waitFor(() => {
202
+ expect(result.current.isSuccess).toBe(true);
203
+ });
204
+
205
+ // The API should still return data even without wallet
206
+ expect(result.current.data).toBeDefined();
207
+ });
208
+
209
+ it('should handle empty items array', async () => {
210
+ const { result } = renderHook(() =>
211
+ useCheckoutOptionsSalesContract({
212
+ chainId: 1,
213
+ contractAddress: mockContractAddress,
214
+ collectionAddress: mockCollectionAddress,
215
+ items: [],
216
+ }),
217
+ );
218
+
219
+ await waitFor(() => {
220
+ expect(result.current.isSuccess).toBe(true);
221
+ });
222
+
223
+ expect(result.current.data).toBeDefined();
224
+ });
225
+ });
@@ -23,7 +23,7 @@ describe('useCollectionDetailsPolling', () => {
23
23
  // Mock initial syncing state
24
24
  const syncingCollection = {
25
25
  ...mockCollection,
26
- status: CollectionStatus.syncing_metadata,
26
+ status: CollectionStatus.syncing_orders,
27
27
  };
28
28
  let requestCount = 0;
29
29
 
@@ -58,7 +58,7 @@ describe('useCollectionDetailsPolling', () => {
58
58
  });
59
59
 
60
60
  // Should be in syncing state
61
- expect(result.current.data?.status).toBe(CollectionStatus.syncing_metadata);
61
+ expect(result.current.data?.status).toBe(CollectionStatus.syncing_orders);
62
62
 
63
63
  // Advance timer and run pending timers to trigger next poll
64
64
  await vi.advanceTimersByTimeAsync(2000);
@@ -79,7 +79,7 @@ describe('useCollectionDetailsPolling', () => {
79
79
  it('should stop polling after max attempts', async () => {
80
80
  const syncingCollection = {
81
81
  ...mockCollection,
82
- status: CollectionStatus.syncing_metadata,
82
+ status: CollectionStatus.syncing_orders,
83
83
  };
84
84
  let requestCount = 0;
85
85
 
@@ -3,7 +3,6 @@ import { http, HttpResponse } from 'msw';
3
3
  import { zeroAddress } from 'viem';
4
4
  import { describe, expect, it, vi } from 'vitest';
5
5
  import {
6
- createMockStep,
7
6
  createMockSteps,
8
7
  mockMarketplaceEndpoint,
9
8
  } from '../../_internal/api/__mocks__/marketplace.msw';
@@ -85,7 +84,7 @@ describe('useGenerateCancelTransaction', () => {
85
84
  );
86
85
 
87
86
  const { result } = renderHook(() =>
88
- useGenerateCancelTransaction(invalidArgs),
87
+ useGenerateCancelTransaction(defaultArgs),
89
88
  );
90
89
 
91
90
  await act(async () => {
@@ -124,7 +123,7 @@ describe('useGenerateCancelTransaction', () => {
124
123
 
125
124
  await waitFor(() => {
126
125
  expect(onSuccess).toHaveBeenCalledWith(
127
- [createMockStep(StepType.cancel)],
126
+ createMockSteps([StepType.cancel]),
128
127
  defaultArgs,
129
128
  undefined,
130
129
  );
@@ -98,20 +98,4 @@ describe('useHighestOffer', () => {
98
98
  expect(result.current.data).toBeDefined();
99
99
  expect(result.current.error).toBeNull();
100
100
  });
101
-
102
- it('should validate input parameters', async () => {
103
- const invalidArgs = {
104
- ...defaultArgs,
105
- chainId: 'invalid-chain' as string, // Properly typed as string
106
- };
107
-
108
- // @ts-expect-error - for testing purposes
109
- const { result } = renderHook(() => useHighestOffer(invalidArgs));
110
-
111
- await waitFor(() => {
112
- expect(result.current.isError).toBe(true);
113
- });
114
-
115
- expect(result.current.error).toBeDefined();
116
- });
117
101
  });
@@ -2,11 +2,6 @@ import { renderHook, server, waitFor } from '@test';
2
2
  import { http, HttpResponse } from 'msw';
3
3
  import { type Address, zeroAddress } from 'viem';
4
4
  import { beforeEach, describe, expect, it } from 'vitest';
5
- import { ContractType } from '../../_internal';
6
- import {
7
- createLookupMarketplaceHandler,
8
- mockConfig,
9
- } from '../../_internal/api/__mocks__/builder.msw';
10
5
  import {
11
6
  mockIndexerEndpoint,
12
7
  mockTokenBalance,
@@ -15,7 +10,6 @@ import {
15
10
  mockCollectibleOrder,
16
11
  mockMarketplaceEndpoint,
17
12
  } from '../../_internal/api/__mocks__/marketplace.msw';
18
- import type { LookupMarketplaceReturn } from '../../_internal/api/builder.gen';
19
13
  import type { UseInventoryArgs } from '../../queries/inventory';
20
14
  import { useInventory } from '../useInventory';
21
15
 
@@ -129,36 +123,6 @@ describe('useInventory', () => {
129
123
  expect(result.current.isFetched).toBe(false);
130
124
  });
131
125
 
132
- it('should use isLaos721 flag from marketplaceConfig', async () => {
133
- // Setup config with LAOS collection
134
- const laosCollectionAddress = '0x1234567890123456789012345678901234567890';
135
- const configWithLaos = {
136
- ...mockConfig,
137
- marketCollections: [
138
- {
139
- ...mockConfig.marketCollections[0],
140
- itemsAddress: laosCollectionAddress,
141
- contractType: ContractType.LAOSERC721,
142
- },
143
- ],
144
- } satisfies LookupMarketplaceReturn;
145
- server.use(createLookupMarketplaceHandler(configWithLaos));
146
-
147
- const laosArgs: UseInventoryArgs = {
148
- ...defaultArgs,
149
- collectionAddress: laosCollectionAddress as Address,
150
- };
151
-
152
- const { result } = renderHook(() => useInventory(laosArgs));
153
-
154
- await waitFor(() => {
155
- expect(result.current.isLoading).toBe(false);
156
- });
157
-
158
- expect(result.current.data).toBeDefined();
159
- expect(result.current.isSuccess).toBe(true);
160
- });
161
-
162
126
  it('should fetch data from indexer when marketplace API has no more results', async () => {
163
127
  // Mock marketplace API with empty results
164
128
  server.use(
@@ -39,7 +39,7 @@ describe('useListCollections', () => {
39
39
  expect(result.current.data).toBeDefined();
40
40
  });
41
41
 
42
- expect(result.current.data).toEqual([]);
42
+ expect(result.current.data).toMatchSnapshot();
43
43
  expect(result.current.error).toBeNull();
44
44
  });
45
45
 
@@ -32,9 +32,16 @@ export * from './useGenerateSellTransaction';
32
32
  export * from './useGenerateCancelTransaction';
33
33
  export * from './useTransferTokens';
34
34
  export * from './useCheckoutOptions';
35
+ export * from './useCheckoutOptionsSalesContract';
35
36
  export * from './useListCollections';
36
37
  export * from './useCancelOrder';
37
38
  export * from './useCollectionDetails';
38
39
  export * from './useCollectionDetailsPolling';
39
40
  export * from './useListTokenMetadata';
41
+ export * from './useList1155ShopCardData';
42
+ export * from './useList721ShopCardData';
43
+ export * from './useListMarketCardData';
40
44
  export * from './useGetTokenSuppliesMap';
45
+ export * from './useListPrimarySaleItems';
46
+ export * from './useERC721SaleMintedTokens';
47
+ export * from './useCheckoutOptionsSalesContract';
@@ -31,14 +31,18 @@ export function useBalanceOfCollectible(args: UseBalanceOfCollectibleArgs) {
31
31
  const config = useConfig();
32
32
  const { data: marketplaceConfig } = useMarketplaceConfig();
33
33
 
34
- const isLaos721 =
35
- marketplaceConfig?.market.collections.find(
36
- (collection) => collection.itemsAddress === args.collectionAddress,
37
- )?.contractType === ContractType.LAOSERC721;
34
+ const collection = marketplaceConfig?.market.collections.find(
35
+ (collection) => collection.itemsAddress === args.collectionAddress,
36
+ );
37
+ const isLaos721 = collection?.contractType === ContractType.LAOS_ERC_721;
38
38
 
39
- if (isLaos721) {
40
- args.isLaos721 = true;
41
- }
42
-
43
- return useQuery(balanceOfCollectibleOptions(args, config));
39
+ return useQuery(
40
+ balanceOfCollectibleOptions(
41
+ {
42
+ ...args,
43
+ isLaos721,
44
+ },
45
+ config,
46
+ ),
47
+ );
44
48
  }
@@ -4,6 +4,7 @@ import {
4
4
  WalletInstanceNotFoundError,
5
5
  } from '../../utils/_internal/error/transaction';
6
6
  import {
7
+ ExecuteType,
7
8
  type MarketplaceKind,
8
9
  type Step,
9
10
  StepType,
@@ -46,7 +47,7 @@ export const useCancelTransactionSteps = ({
46
47
  const { wallet, isLoading, isError } = useWallet();
47
48
  const walletIsInitialized = wallet && !isLoading && !isError;
48
49
  const sdkConfig = useConfig();
49
- const marketplaceClient = getMarketplaceClient(chainId, sdkConfig);
50
+ const marketplaceClient = getMarketplaceClient(sdkConfig);
50
51
  const { generateCancelTransactionAsync } = useGenerateCancelTransaction({
51
52
  chainId,
52
53
  });
@@ -95,6 +96,7 @@ export const useCancelTransactionSteps = ({
95
96
  }
96
97
 
97
98
  const steps = await generateCancelTransactionAsync({
99
+ chainId,
98
100
  collectionAddress,
99
101
  maker: address,
100
102
  marketplace,
@@ -230,10 +232,12 @@ export const useCancelTransactionSteps = ({
230
232
  );
231
233
 
232
234
  const result = await marketplaceClient.execute({
235
+ chainId: String(chainId),
233
236
  signature: signature as string,
234
237
  method: signatureStep.post?.method as string,
235
238
  endpoint: signatureStep.post?.endpoint as string,
236
239
  body: signatureStep.post?.body,
240
+ executeType: ExecuteType.order,
237
241
  });
238
242
 
239
243
  return result.orderId;
@@ -33,8 +33,9 @@ const fetchCheckoutOptions = async (
33
33
  args: UseCheckoutOptionsArgs & { walletAddress: Hex },
34
34
  config: SdkConfig,
35
35
  ) => {
36
- const marketplaceClient = getMarketplaceClient(args.chainId, config);
36
+ const marketplaceClient = getMarketplaceClient(config);
37
37
  return marketplaceClient.checkoutOptionsMarketplace({
38
+ chainId: String(args.chainId),
38
39
  wallet: args.walletAddress,
39
40
  orders: args.orders.map((order) => ({
40
41
  contractAddress: order.collectionAddress,
@@ -0,0 +1,67 @@
1
+ import { queryOptions, skipToken, useQuery } from '@tanstack/react-query';
2
+ import type { Hex } from 'viem';
3
+ import { useAccount } from 'wagmi';
4
+ import type { SdkConfig } from '../../types';
5
+ import {
6
+ type CheckoutOptionsSalesContractArgs,
7
+ getMarketplaceClient,
8
+ } from '../_internal';
9
+ import { useConfig } from './useConfig';
10
+
11
+ type UseCheckoutOptionsSalesContractArgs = Omit<
12
+ CheckoutOptionsSalesContractArgs,
13
+ 'wallet' | 'chainId'
14
+ > & { chainId: number };
15
+
16
+ const fetchCheckoutOptionsSalesContract = async (
17
+ args: CheckoutOptionsSalesContractArgs,
18
+ config: SdkConfig,
19
+ ) => {
20
+ const marketplaceClient = getMarketplaceClient(config);
21
+ return marketplaceClient.checkoutOptionsSalesContract({
22
+ chainId: args.chainId,
23
+ wallet: args.wallet,
24
+ contractAddress: args.contractAddress,
25
+ collectionAddress: args.collectionAddress,
26
+ items: args.items,
27
+ });
28
+ };
29
+
30
+ export const checkoutOptionsSalesContractOptions = (
31
+ args:
32
+ | (UseCheckoutOptionsSalesContractArgs & { wallet?: Hex })
33
+ | typeof skipToken,
34
+ config: SdkConfig,
35
+ ) => {
36
+ return queryOptions({
37
+ queryKey: ['checkoutOptionsSalesContract', args],
38
+ queryFn:
39
+ skipToken === args
40
+ ? skipToken
41
+ : () =>
42
+ fetchCheckoutOptionsSalesContract(
43
+ {
44
+ chainId: String(args.chainId),
45
+ // biome-ignore lint/style/noNonNullAssertion: <explanation>
46
+ wallet: args.wallet!,
47
+ contractAddress: args.contractAddress,
48
+ collectionAddress: args.collectionAddress,
49
+ items: args.items,
50
+ },
51
+ config,
52
+ ),
53
+ });
54
+ };
55
+
56
+ export const useCheckoutOptionsSalesContract = (
57
+ args: UseCheckoutOptionsSalesContractArgs | typeof skipToken,
58
+ ) => {
59
+ const { address } = useAccount();
60
+ const config = useConfig();
61
+ return useQuery(
62
+ checkoutOptionsSalesContractOptions(
63
+ skipToken === args ? skipToken : { ...args, wallet: address },
64
+ config,
65
+ ),
66
+ );
67
+ };
@@ -6,14 +6,24 @@ import { useConfig } from './useConfig';
6
6
  type UseCollectionDetails = {
7
7
  collectionAddress: string;
8
8
  chainId: number;
9
+ query?: {
10
+ enabled?: boolean;
11
+ };
9
12
  };
10
13
 
11
- const fetchCollectionDetails = async (
12
- args: { collectionAddress: string },
13
- marketplaceClient: Awaited<ReturnType<typeof getMarketplaceClient>>,
14
- ) => {
14
+ const fetchCollectionDetails = async ({
15
+ collectionAddress,
16
+ chainId,
17
+ config,
18
+ }: {
19
+ collectionAddress: string;
20
+ chainId: number;
21
+ config: SdkConfig;
22
+ }) => {
23
+ const marketplaceClient = getMarketplaceClient(config);
15
24
  const { collection } = await marketplaceClient.getCollectionDetail({
16
- contractAddress: args.collectionAddress,
25
+ chainId: String(chainId),
26
+ contractAddress: collectionAddress,
17
27
  });
18
28
  return collection;
19
29
  };
@@ -22,10 +32,15 @@ export const collectionDetailsOptions = (
22
32
  args: UseCollectionDetails,
23
33
  config: SdkConfig,
24
34
  ) => {
25
- const marketplaceClient = getMarketplaceClient(args.chainId, config);
26
35
  return queryOptions({
27
36
  queryKey: ['collectionDetails', args],
28
- queryFn: () => fetchCollectionDetails(args, marketplaceClient),
37
+ queryFn: () =>
38
+ fetchCollectionDetails({
39
+ collectionAddress: args.collectionAddress,
40
+ chainId: args.chainId,
41
+ config,
42
+ }),
43
+ enabled: args.query?.enabled,
29
44
  });
30
45
  };
31
46
 
@@ -36,11 +36,12 @@ const fetchCountListingsForCollectible = async (
36
36
  config: SdkConfig,
37
37
  ) => {
38
38
  const parsedArgs = UseCountListingsForCollectibleArgsSchema.parse(args);
39
- const marketplaceClient = getMarketplaceClient(parsedArgs.chainId, config);
39
+ const marketplaceClient = getMarketplaceClient(config);
40
+ const { chainId, collectionAddress, collectibleId } = parsedArgs;
40
41
  return marketplaceClient.getCountOfListingsForCollectible({
41
- ...parsedArgs,
42
- contractAddress: parsedArgs.collectionAddress,
43
- tokenId: parsedArgs.collectibleId,
42
+ chainId: String(chainId),
43
+ contractAddress: collectionAddress,
44
+ tokenId: collectibleId,
44
45
  });
45
46
  };
46
47
 
@@ -40,21 +40,24 @@ const fetchCountOfCollectables = async (
40
40
  config: SdkConfig,
41
41
  ) => {
42
42
  const parsedArgs = UseCountOfCollectableSchema.parse(args);
43
- const marketplaceClient = getMarketplaceClient(parsedArgs.chainId, config);
44
- if (parsedArgs.filter) {
43
+ const marketplaceClient = getMarketplaceClient(config);
44
+ const { chainId, collectionAddress, filter, side } = parsedArgs;
45
+
46
+ if (filter) {
45
47
  return marketplaceClient
46
48
  .getCountOfFilteredCollectibles({
47
- ...parsedArgs,
48
- contractAddress: parsedArgs.collectionAddress,
49
+ chainId: String(chainId),
50
+ contractAddress: collectionAddress,
51
+ filter,
49
52
  // biome-ignore lint/style/noNonNullAssertion: safe to assert here, as it's validated
50
- side: parsedArgs.side!,
53
+ side: side!,
51
54
  })
52
55
  .then((resp) => resp.count);
53
56
  }
54
57
  return marketplaceClient
55
58
  .getCountOfAllCollectibles({
56
- ...parsedArgs,
57
- contractAddress: parsedArgs.collectionAddress,
59
+ chainId: String(chainId),
60
+ contractAddress: collectionAddress,
58
61
  })
59
62
  .then((resp) => resp.count);
60
63
  };
@@ -36,11 +36,12 @@ const fetchCountOffersForCollectible = async (
36
36
  config: SdkConfig,
37
37
  ) => {
38
38
  const parsedArgs = UseCountOffersForCollectibleArgsSchema.parse(args);
39
- const marketplaceClient = getMarketplaceClient(parsedArgs.chainId, config);
39
+ const marketplaceClient = getMarketplaceClient(config);
40
+ const { chainId, collectionAddress, collectibleId } = parsedArgs;
40
41
  return marketplaceClient.getCountOfOffersForCollectible({
41
- ...parsedArgs,
42
- contractAddress: parsedArgs.collectionAddress,
43
- tokenId: parsedArgs.collectibleId,
42
+ chainId: String(chainId),
43
+ contractAddress: collectionAddress,
44
+ tokenId: collectibleId,
44
45
  });
45
46
  };
46
47
 
@@ -33,9 +33,9 @@ const fetchCurrency = async (
33
33
  | undefined;
34
34
 
35
35
  if (!currencies) {
36
- const marketplaceClient = getMarketplaceClient(chainId, config);
36
+ const marketplaceClient = getMarketplaceClient(config);
37
37
  currencies = await marketplaceClient
38
- .listCurrencies()
38
+ .listCurrencies({ chainId: String(chainId) })
39
39
  .then((resp) => resp.currencies);
40
40
  }
41
41