@0xsequence/marketplace-sdk 1.0.0 → 1.1.1

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 (477) hide show
  1. package/.changeset/honest-peas-arrive.md +5 -0
  2. package/.changeset/real-tips-stick.md +8 -0
  3. package/.changeset/tall-pandas-wear.md +8 -0
  4. package/.storybook/main.ts +1 -1
  5. package/.storybook/preview.tsx +0 -1
  6. package/CHANGELOG.md +84 -13
  7. package/dist/BellIcon-ByhygxBO.js +45 -0
  8. package/dist/BellIcon-ByhygxBO.js.map +1 -0
  9. package/dist/{BellIcon-Cb9YEUzJ.js → CartIcon-Bt3rQYGk.js} +10 -49
  10. package/dist/CartIcon-Bt3rQYGk.js.map +1 -0
  11. package/dist/CollectibleCard-CVpdgXA8.d.ts +8 -0
  12. package/dist/{_internal-DslqcNC1.js → _internal-DkS2VUn5.js} +1 -1
  13. package/dist/{_internal-DslqcNC1.js.map → _internal-DkS2VUn5.js.map} +1 -1
  14. package/dist/abi-fa-o9gH3.js +134 -0
  15. package/dist/abi-fa-o9gH3.js.map +1 -0
  16. package/dist/{alien_swap-DJ98gZQp.js → alien_swap-DoY6XfMA.js} +1 -1
  17. package/dist/{alien_swap-DJ98gZQp.js.map → alien_swap-DoY6XfMA.js.map} +1 -1
  18. package/dist/{api-BmEQfSQa.js → api-BoO0V5aJ.js} +11 -4
  19. package/dist/api-BoO0V5aJ.js.map +1 -0
  20. package/dist/{aqua-xyz-n1PcCCZ0.js → aqua-xyz-BBDxnG14.js} +1 -1
  21. package/dist/{aqua-xyz-n1PcCCZ0.js.map → aqua-xyz-BBDxnG14.js.map} +1 -1
  22. package/dist/{aura-Bevk_YkS.js → aura-DGx2zwvF.js} +1 -1
  23. package/dist/{aura-Bevk_YkS.js.map → aura-DGx2zwvF.js.map} +1 -1
  24. package/dist/{blur-B5sHErx5.js → blur-D8GKrRrq.js} +1 -1
  25. package/dist/{blur-B5sHErx5.js.map → blur-D8GKrRrq.js.map} +1 -1
  26. package/dist/builder-api-BFuZNOaN.js.map +1 -1
  27. package/dist/builder.gen-B9wR2nvF.js.map +1 -1
  28. package/dist/{coinbase-D30W-lxA.js → coinbase-DOry4PXY.js} +1 -1
  29. package/dist/{coinbase-D30W-lxA.js.map → coinbase-DOry4PXY.js.map} +1 -1
  30. package/dist/collectibles-C_H8jMGH.js +358 -0
  31. package/dist/collectibles-C_H8jMGH.js.map +1 -0
  32. package/dist/collections-CKummc-R.js +249 -0
  33. package/dist/collections-CKummc-R.js.map +1 -0
  34. package/dist/components-CosnX7F9.js +119 -0
  35. package/dist/components-CosnX7F9.js.map +1 -0
  36. package/dist/{contracts-DPHFT2TA.js → contracts-BP_0vX48.js} +4 -5
  37. package/dist/{contracts-DPHFT2TA.js.map → contracts-BP_0vX48.js.map} +1 -1
  38. package/dist/{create-config-6uynwTeb.js → create-config-CIfejoCk.js} +6 -11
  39. package/dist/create-config-CIfejoCk.js.map +1 -0
  40. package/dist/{create-config-lLSrnkbb.d.ts → create-config-ZOB7i4ZJ.d.ts} +135 -37
  41. package/dist/{element-C2NJexro.js → element-ciybd_VF.js} +1 -1
  42. package/dist/{element-C2NJexro.js.map → element-ciybd_VF.js.map} +1 -1
  43. package/dist/filters-V-V8Dn8f.d.ts +60 -0
  44. package/dist/{foundation-QgY1lvUj.js → foundation-Bq4lRz4x.js} +1 -1
  45. package/dist/{foundation-QgY1lvUj.js.map → foundation-Bq4lRz4x.js.map} +1 -1
  46. package/dist/index-BOiHR01C.d.ts +106 -0
  47. package/dist/index-BZIJTQT0.d.ts +121 -0
  48. package/dist/index-BeRV-7AX.d.ts +55 -0
  49. package/dist/{index-DonXiSg2.d.ts → index-Bsx6XsC2.d.ts} +117 -70
  50. package/dist/{index-BGJXqdg6.d.ts → index-BtWMBHeP.d.ts} +13 -9
  51. package/dist/{index-CtF7EE2z.d.ts → index-Bxzjy0d1.d.ts} +1 -1
  52. package/dist/{index-ChSKFOMx.d.ts → index-C-745li7.d.ts} +1 -1
  53. package/dist/{index-CY5UEX4h.d.ts → index-C4MUKshG.d.ts} +2 -2
  54. package/dist/{index-C7xKVIr4.d.ts → index-CPzvNmq9.d.ts} +37 -37
  55. package/dist/{index-ByW08-Z7.d.ts → index-CS65jqOq.d.ts} +2 -2
  56. package/dist/index-CZUtOTjh.d.ts +1 -0
  57. package/dist/index-CnEbXm_t.d.ts +130 -0
  58. package/dist/{index-ThUIs-Sy.d.ts → index-CxA34wP1.d.ts} +37 -23
  59. package/dist/{index-CIkpYltz.d.ts → index-CxpFwGvR.d.ts} +3 -3
  60. package/dist/{index-QxxS6f9r.d.ts → index-D9LPlmbC.d.ts} +1 -1
  61. package/dist/{index-CQnGIGb5.d.ts → index-DFEnA6Wa.d.ts} +44 -33
  62. package/dist/{index-PSPpUxCE.d.ts → index-DNNUeZEq.d.ts} +4 -4
  63. package/dist/{index-Dpyp7fQz.d.ts → index-DUXfvhxs.d.ts} +12 -12
  64. package/dist/index-DW3njUfb.d.ts +1 -0
  65. package/dist/index-DWt6yrIG.d.ts +64 -0
  66. package/dist/index-DewGsFz5.d.ts +1 -0
  67. package/dist/index-DmudgrsN.d.ts +495 -0
  68. package/dist/{index-DNU9xoGK.d.ts → index-DqXd1EeB.d.ts} +5 -5
  69. package/dist/{index-DX0Vm8HY.d.ts → index-DwKr18CI.d.ts} +1 -1
  70. package/dist/{index-D71J5Ghd.d.ts → index-NlPMNcqh.d.ts} +99 -99
  71. package/dist/index-Stm5u0I0.d.ts +53 -0
  72. package/dist/index-U-zp70of.d.ts +74 -0
  73. package/dist/index.d.ts +8 -8
  74. package/dist/index.js +13 -12
  75. package/dist/inventory-Dd7TazvZ.js +72 -0
  76. package/dist/inventory-Dd7TazvZ.js.map +1 -0
  77. package/dist/listBalances-BxpxBCvn.js +57 -0
  78. package/dist/listBalances-BxpxBCvn.js.map +1 -0
  79. package/dist/listCollectiblesPaginated-Cy2_qEZA.d.ts +327 -0
  80. package/dist/{listCollections-Bbzbz7qW.d.ts → listCollections-BB9FxKj2.d.ts} +264 -137
  81. package/dist/{looks-rare-CMVPny4v.js → looks-rare-6H--x3AM.js} +1 -1
  82. package/dist/{looks-rare-CMVPny4v.js.map → looks-rare-6H--x3AM.js.map} +1 -1
  83. package/dist/lowestListing-Cbsi6M1K.d.ts +465 -0
  84. package/dist/{magic-eden-IrWp2ZXk.js → magic-eden-BoxEQ1Li.js} +1 -1
  85. package/dist/{magic-eden-IrWp2ZXk.js.map → magic-eden-BoxEQ1Li.js.map} +1 -1
  86. package/dist/{manifold-DeOE-p2G.js → manifold-DycKsljb.js} +1 -1
  87. package/dist/{manifold-DeOE-p2G.js.map → manifold-DycKsljb.js.map} +1 -1
  88. package/dist/market-C3HV-awQ.js +209 -0
  89. package/dist/market-C3HV-awQ.js.map +1 -0
  90. package/dist/{marketCurrencies-CmOMCCOr.d.ts → marketCurrencies-Bpw1bIO0.d.ts} +46 -15
  91. package/dist/marketCurrencies-sKrTX0og.js +53 -0
  92. package/dist/marketCurrencies-sKrTX0og.js.map +1 -0
  93. package/dist/{marketplace-B5Z8G03R.js → marketplace-NQB-sEQL.js} +1 -1
  94. package/dist/{marketplace-B5Z8G03R.js.map → marketplace-NQB-sEQL.js.map} +1 -1
  95. package/dist/{marketplace-logos-D8t86gsW.js → marketplace-logos-D4dS1Foy.js} +21 -21
  96. package/dist/marketplace-logos-D4dS1Foy.js.map +1 -0
  97. package/dist/{marketplace.gen-JzNYpM0U.js → marketplace.gen-ksUafDqS.js} +56 -5
  98. package/dist/marketplace.gen-ksUafDqS.js.map +1 -0
  99. package/dist/{marketplaceConfig-sNh-MA5M.js → marketplaceConfig-UHQMM9fq.js} +9 -10
  100. package/dist/marketplaceConfig-UHQMM9fq.js.map +1 -0
  101. package/dist/{mintify-DG3GrljJ.js → mintify-Dyqyo8jQ.js} +1 -1
  102. package/dist/{mintify-DG3GrljJ.js.map → mintify-Dyqyo8jQ.js.map} +1 -1
  103. package/dist/{network-DnBEe1Ur.js → network-DtmiMhcg.js} +2 -2
  104. package/dist/network-DtmiMhcg.js.map +1 -0
  105. package/dist/networkconfigToWagmiChain-DbUf6HiO.js +15 -0
  106. package/dist/networkconfigToWagmiChain-DbUf6HiO.js.map +1 -0
  107. package/dist/{nftx-B3LH-ZYM.js → nftx-2LbFjj9Q.js} +1 -1
  108. package/dist/{nftx-B3LH-ZYM.js.map → nftx-2LbFjj9Q.js.map} +1 -1
  109. package/dist/{okx-CRFLrT3Z.js → okx-CBEWJNsR.js} +1 -1
  110. package/dist/{okx-CRFLrT3Z.js.map → okx-CBEWJNsR.js.map} +1 -1
  111. package/dist/{open-sea-cOpfl366.js → open-sea-Dxntz_PA.js} +1 -1
  112. package/dist/{open-sea-cOpfl366.js.map → open-sea-Dxntz_PA.js.map} +1 -1
  113. package/dist/orders-DnFfZAXV.js +462 -0
  114. package/dist/orders-DnFfZAXV.js.map +1 -0
  115. package/dist/{primary-sale-CLjXRrDj.js → primary-sale-1u4QlPdA.js} +1 -1
  116. package/dist/{primary-sale-CLjXRrDj.js.map → primary-sale-1u4QlPdA.js.map} +1 -1
  117. package/dist/primary-sales-Dmsi6bqj.js +114 -0
  118. package/dist/primary-sales-Dmsi6bqj.js.map +1 -0
  119. package/dist/{query-BTe7Wkrs.d.ts → query-BWbCsXLY.d.ts} +1 -1
  120. package/dist/{rarible-guwUx4cn.js → rarible-CS0SupHr.js} +1 -1
  121. package/dist/{rarible-guwUx4cn.js.map → rarible-CS0SupHr.js.map} +1 -1
  122. package/dist/react/_internal/api/index.d.ts +2 -2
  123. package/dist/react/_internal/api/index.js +5 -5
  124. package/dist/react/_internal/databeat/index.d.ts +1 -1
  125. package/dist/react/_internal/databeat/index.js +35 -21
  126. package/dist/react/_internal/index.d.ts +2 -2
  127. package/dist/react/_internal/index.js +9 -8
  128. package/dist/react/_internal/wagmi/index.d.ts +1 -1
  129. package/dist/react/_internal/wagmi/index.js +4 -3
  130. package/dist/react/hooks/config/index.d.ts +8 -8
  131. package/dist/react/hooks/config/index.js +35 -21
  132. package/dist/react/hooks/contracts/index.d.ts +6 -6
  133. package/dist/react/hooks/contracts/index.js +13 -12
  134. package/dist/react/hooks/data/collectibles/index.d.ts +10 -4
  135. package/dist/react/hooks/data/collectibles/index.js +35 -21
  136. package/dist/react/hooks/data/collections/index.d.ts +10 -10
  137. package/dist/react/hooks/data/collections/index.js +35 -21
  138. package/dist/react/hooks/data/index.d.ts +37 -29
  139. package/dist/react/hooks/data/index.js +36 -22
  140. package/dist/react/hooks/data/inventory/index.d.ts +36 -28
  141. package/dist/react/hooks/data/inventory/index.js +35 -21
  142. package/dist/react/hooks/data/market/index.d.ts +11 -11
  143. package/dist/react/hooks/data/market/index.js +35 -21
  144. package/dist/react/hooks/data/orders/index.d.ts +11 -11
  145. package/dist/react/hooks/data/orders/index.js +36 -22
  146. package/dist/react/hooks/data/primary-sales/index.d.ts +36 -28
  147. package/dist/react/hooks/data/primary-sales/index.js +35 -21
  148. package/dist/react/hooks/data/tokens/index.d.ts +4 -4
  149. package/dist/react/hooks/data/tokens/index.js +35 -21
  150. package/dist/react/hooks/index.d.ts +37 -29
  151. package/dist/react/hooks/index.js +36 -22
  152. package/dist/react/hooks/transactions/index.d.ts +2 -2
  153. package/dist/react/hooks/transactions/index.js +35 -21
  154. package/dist/react/hooks/ui/index.d.ts +4 -4
  155. package/dist/react/hooks/ui/index.js +35 -21
  156. package/dist/react/hooks/utils/index.d.ts +37 -29
  157. package/dist/react/hooks/utils/index.js +36 -22
  158. package/dist/react/index.d.ts +37 -29
  159. package/dist/react/index.js +36 -22
  160. package/dist/react/queries/collectibles/index.d.ts +11 -0
  161. package/dist/react/queries/collectibles/index.js +23 -0
  162. package/dist/react/queries/collections/index.d.ts +11 -0
  163. package/dist/react/queries/collections/index.js +20 -0
  164. package/dist/react/queries/index.d.ts +24 -16
  165. package/dist/react/queries/index.js +29 -17
  166. package/dist/react/queries/inventory/index.d.ts +3 -0
  167. package/dist/react/queries/inventory/index.js +22 -0
  168. package/dist/react/queries/market/index.d.ts +6 -0
  169. package/dist/react/queries/market/index.js +22 -0
  170. package/dist/react/queries/orders/index.d.ts +11 -0
  171. package/dist/react/queries/orders/index.js +13 -0
  172. package/dist/react/queries/primary-sales/index.d.ts +4 -0
  173. package/dist/react/queries/primary-sales/index.js +13 -0
  174. package/dist/react/queries/tokens/index.d.ts +5 -0
  175. package/dist/react/queries/tokens/index.js +14 -0
  176. package/dist/react/queries/utils/index.d.ts +4 -0
  177. package/dist/react/queries/utils/index.js +22 -0
  178. package/dist/react/ssr/index.d.ts +7 -7
  179. package/dist/react/ssr/index.js +9 -8
  180. package/dist/react/ssr/index.js.map +1 -1
  181. package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.d.ts +3 -0
  182. package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.js +22 -0
  183. package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.d.ts +54 -0
  184. package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.js +40 -0
  185. package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +5 -5
  186. package/dist/react/ui/components/marketplace-collectible-card/index.js +35 -21
  187. package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +2 -2
  188. package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +9 -8
  189. package/dist/react/ui/components/marketplace-logos/index.d.ts +21 -21
  190. package/dist/react/ui/components/marketplace-logos/index.js +1 -1
  191. package/dist/react/ui/icons/index.js +13 -11
  192. package/dist/react/ui/index.d.ts +5 -5
  193. package/dist/react/ui/index.js +35 -21
  194. package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +2 -2
  195. package/dist/react/ui/modals/_internal/components/actionModal/index.js +35 -21
  196. package/dist/react/utils/index.d.ts +3 -3
  197. package/dist/react/utils/index.js +5 -5
  198. package/dist/{react-Ceq8mamy.js → react-DE852KeT.js} +2111 -1002
  199. package/dist/react-DE852KeT.js.map +1 -0
  200. package/dist/{sequence-Dt2Xo7Fa.js → sequence-paCCener.js} +1 -1
  201. package/dist/{sequence-Dt2Xo7Fa.js.map → sequence-paCCener.js.map} +1 -1
  202. package/dist/styles/index.css +200 -24
  203. package/dist/{sudo-swap-CGoARONs.js → sudo-swap-9rH2EgfT.js} +1 -1
  204. package/dist/{sudo-swap-CGoARONs.js.map → sudo-swap-9rH2EgfT.js.map} +1 -1
  205. package/dist/{super-rare-NeQtZjcn.js → super-rare-DHIuWtRw.js} +1 -1
  206. package/dist/{super-rare-NeQtZjcn.js.map → super-rare-DHIuWtRw.js.map} +1 -1
  207. package/dist/{token-D9gZVqbX.js → token-Cv7l2ZaL.js} +1 -1
  208. package/dist/{token-D9gZVqbX.js.map → token-Cv7l2ZaL.js.map} +1 -1
  209. package/dist/tokenBalances-ibDerNmM.js +63 -0
  210. package/dist/tokenBalances-ibDerNmM.js.map +1 -0
  211. package/dist/tokenSupplies-Bfe8RHzI.d.ts +272 -0
  212. package/dist/tokens-cGxMadd8.js +194 -0
  213. package/dist/tokens-cGxMadd8.js.map +1 -0
  214. package/dist/{transaction-CC2KxNF6.js → transaction-DZUW5RHu.js} +2 -8
  215. package/dist/transaction-DZUW5RHu.js.map +1 -0
  216. package/dist/types/index.d.ts +2 -2
  217. package/dist/types/index.js +2 -2
  218. package/dist/{types-G2PWxiJR.js → types-B_-cnkcP.js} +1 -1
  219. package/dist/types-B_-cnkcP.js.map +1 -0
  220. package/dist/{types-BlCa0TVE.d.ts → types-D2TJ1dwv.d.ts} +19 -10
  221. package/dist/utils/abi/index.d.ts +5 -5
  222. package/dist/utils/abi/index.js +5 -5
  223. package/dist/utils/abi/marketplace/index.d.ts +1 -1
  224. package/dist/utils/abi/marketplace/index.js +1 -1
  225. package/dist/utils/abi/primary-sale/index.d.ts +1 -1
  226. package/dist/utils/abi/primary-sale/index.js +1 -1
  227. package/dist/utils/abi/token/index.d.ts +1 -1
  228. package/dist/utils/abi/token/index.js +1 -1
  229. package/dist/utils/index.d.ts +7 -7
  230. package/dist/utils/index.js +12 -11
  231. package/dist/utils-BCgNhBFR.js +112 -0
  232. package/dist/utils-BCgNhBFR.js.map +1 -0
  233. package/dist/{utils-CKJd-CRf.js → utils-BfpDVibN.js} +7 -24
  234. package/dist/utils-BfpDVibN.js.map +1 -0
  235. package/dist/{utils-wquIhK6T.js → utils-BqxcalL2.js} +2 -2
  236. package/dist/utils-BqxcalL2.js.map +1 -0
  237. package/dist/waitForTransactionReceipt-DieAnV52.js +25 -0
  238. package/dist/waitForTransactionReceipt-DieAnV52.js.map +1 -0
  239. package/dist/{x2y2-CQdg24VP.js → x2y2-45WDooeh.js} +1 -1
  240. package/dist/{x2y2-CQdg24VP.js.map → x2y2-45WDooeh.js.map} +1 -1
  241. package/dist/{zora-DdEydy4L.js → zora-CbeBoLvQ.js} +1 -1
  242. package/dist/{zora-DdEydy4L.js.map → zora-CbeBoLvQ.js.map} +1 -1
  243. package/package.json +43 -38
  244. package/src/react/_internal/api/__mocks__/marketplace.msw.ts +2 -0
  245. package/src/react/_internal/api/marketplace.gen.ts +1730 -2383
  246. package/src/react/_internal/api/query-keys.ts +16 -0
  247. package/src/react/_internal/api/services.ts +1 -1
  248. package/src/react/_internal/databeat/types.ts +1 -0
  249. package/src/react/_internal/types.ts +14 -0
  250. package/src/react/_internal/utils.ts +3 -0
  251. package/src/react/_internal/wagmi/__tests__/create-config.test.ts +19 -8
  252. package/src/react/_internal/wagmi/create-config.ts +6 -17
  253. package/src/react/hooks/config/__snapshots__/useMarketplaceConfig.test.tsx.snap +4 -4
  254. package/src/react/hooks/config/useMarketplaceConfig.tsx +1 -1
  255. package/src/react/hooks/data/collectibles/useBalanceOfCollectible.laos.test.tsx +2 -2
  256. package/src/react/hooks/data/collectibles/useBalanceOfCollectible.tsx +1 -1
  257. package/src/react/hooks/data/collectibles/useCollectible.tsx +1 -1
  258. package/src/react/hooks/data/collectibles/useCountOfCollectables.tsx +1 -1
  259. package/src/react/hooks/data/collectibles/useListCollectibleActivities.tsx +1 -1
  260. package/src/react/hooks/data/collectibles/useListCollectibles.tsx +1 -1
  261. package/src/react/hooks/data/collectibles/useListCollectiblesPaginated.tsx +1 -1
  262. package/src/react/hooks/data/collectibles/useTokenBalances.test.tsx +151 -0
  263. package/src/react/hooks/data/collectibles/useTokenBalances.tsx +47 -0
  264. package/src/react/hooks/data/collections/__snapshots__/useListCollections.test.tsx.snap +6 -6
  265. package/src/react/hooks/data/collections/useCollection.tsx +1 -1
  266. package/src/react/hooks/data/collections/useCollectionBalanceDetails.tsx +1 -1
  267. package/src/react/hooks/data/collections/useCollectionDetails.ts +1 -1
  268. package/src/react/hooks/data/collections/useListCollectionActivities.tsx +1 -1
  269. package/src/react/hooks/data/collections/useListCollections.tsx +1 -1
  270. package/src/react/hooks/data/inventory/useInventory.test.tsx +3 -98
  271. package/src/react/hooks/data/inventory/useInventory.tsx +3 -3
  272. package/src/react/hooks/data/market/useCurrency.tsx +1 -1
  273. package/src/react/hooks/data/market/useListMarketCardData.tsx +8 -1
  274. package/src/react/hooks/data/market/useMarketCurrencies.tsx +1 -1
  275. package/src/react/hooks/data/orders/index.ts +4 -0
  276. package/src/react/hooks/data/orders/useCountItemsOrdersForCollection.tsx +90 -0
  277. package/src/react/hooks/data/orders/useCountListingsForCollectible.tsx +1 -1
  278. package/src/react/hooks/data/orders/useCountOffersForCollectible.tsx +1 -1
  279. package/src/react/hooks/data/orders/useFloorOrder.tsx +1 -1
  280. package/src/react/hooks/data/orders/useGetCountOfFilteredOrders.tsx +39 -0
  281. package/src/react/hooks/data/orders/useHighestOffer.tsx +1 -1
  282. package/src/react/hooks/data/orders/useListItemsOrdersForCollection.tsx +93 -0
  283. package/src/react/hooks/data/orders/useListItemsOrdersForCollectionPaginated.tsx +108 -0
  284. package/src/react/hooks/data/orders/useListListingsForCollectible.tsx +1 -1
  285. package/src/react/hooks/data/orders/useListOffersForCollectible.tsx +70 -45
  286. package/src/react/hooks/data/orders/useLowestListing.tsx +1 -1
  287. package/src/react/hooks/data/primary-sales/useGetCountOfPrimarySaleItems.tsx +2 -2
  288. package/src/react/hooks/data/primary-sales/useList1155ShopCardData.tsx +21 -37
  289. package/src/react/hooks/data/primary-sales/useList721ShopCardData.tsx +14 -3
  290. package/src/react/hooks/data/primary-sales/useListPrimarySaleItems.tsx +1 -1
  291. package/src/react/hooks/data/tokens/useGetTokenRanges.tsx +2 -2
  292. package/src/react/hooks/data/tokens/useListBalances.tsx +2 -2
  293. package/src/react/hooks/data/tokens/useListTokenMetadata.tsx +1 -1
  294. package/src/react/hooks/data/tokens/useSearchTokenMetadata.tsx +5 -2
  295. package/src/react/hooks/data/tokens/useTokenSupplies.ts +1 -1
  296. package/src/react/hooks/transactions/useCancelOrder.test.tsx +7 -4
  297. package/src/react/hooks/transactions/useCancelOrder.tsx +2 -1
  298. package/src/react/hooks/transactions/useCancelTransactionSteps.tsx +2 -2
  299. package/src/react/hooks/transactions/useGenerateCancelTransaction.test.tsx +1 -0
  300. package/src/react/hooks/transactions/useGenerateListingTransaction.test.tsx +13 -0
  301. package/src/react/hooks/transactions/useGenerateOfferTransaction.test.tsx +1 -0
  302. package/src/react/hooks/transactions/useGenerateSellTransaction.test.tsx +6 -0
  303. package/src/react/hooks/transactions/useProcessStep.test.tsx +2 -2
  304. package/src/react/hooks/ui/useFilterState.tsx +72 -2
  305. package/src/react/hooks/ui/useFilters.tsx +1 -1
  306. package/src/react/hooks/utils/__tests__/useEnsureCorrectChain.test.tsx +75 -0
  307. package/src/react/hooks/utils/index.ts +0 -1
  308. package/src/react/hooks/utils/useCheckoutOptions.tsx +2 -2
  309. package/src/react/hooks/utils/useCheckoutOptionsSalesContract.tsx +1 -1
  310. package/src/react/hooks/utils/useComparePrices.tsx +1 -1
  311. package/src/react/hooks/utils/useConvertPriceToUSD.tsx +1 -1
  312. package/src/react/hooks/utils/useEnsureCorrectChain.ts +31 -34
  313. package/src/react/providers/analytics-provider.tsx +45 -0
  314. package/src/react/providers/index.tsx +33 -46
  315. package/src/react/providers/modal-provider.tsx +15 -4
  316. package/src/react/queries/{__tests__ → collectibles/__tests__}/balanceOfCollectible.laos.test.ts +4 -4
  317. package/src/react/queries/collectibles/__tests__/tokenBalances.laos.test.ts +123 -0
  318. package/src/react/queries/{balanceOfCollectible.ts → collectibles/balanceOfCollectible.ts} +26 -4
  319. package/src/react/queries/{collectible.ts → collectibles/collectible.ts} +20 -5
  320. package/src/react/queries/{countOfCollectables.ts → collectibles/countOfCollectables.ts} +32 -6
  321. package/src/react/queries/collectibles/index.ts +7 -0
  322. package/src/react/queries/{listCollectibleActivities.ts → collectibles/listCollectibleActivities.ts} +29 -5
  323. package/src/react/queries/{listCollectibles.ts → collectibles/listCollectibles.ts} +47 -54
  324. package/src/react/queries/{listCollectiblesPaginated.ts → collectibles/listCollectiblesPaginated.ts} +22 -5
  325. package/src/react/queries/collectibles/tokenBalances.ts +103 -0
  326. package/src/react/queries/{collection.ts → collections/collection.ts} +19 -5
  327. package/src/react/queries/{collectionBalanceDetails.ts → collections/collectionBalanceDetails.ts} +19 -4
  328. package/src/react/queries/{collectionDetails.ts → collections/collectionDetails.ts} +21 -6
  329. package/src/react/queries/collections/index.ts +5 -0
  330. package/src/react/queries/{listCollectionActivities.ts → collections/listCollectionActivities.ts} +28 -6
  331. package/src/react/queries/{listCollections.ts → collections/listCollections.ts} +26 -18
  332. package/src/react/queries/index.ts +7 -33
  333. package/src/react/queries/{__tests__ → inventory/__tests__}/inventory.laos.test.ts +10 -7
  334. package/src/react/queries/inventory/index.ts +1 -0
  335. package/src/react/queries/inventory/inventory.ts +169 -0
  336. package/src/react/queries/{checkoutOptions.ts → market/checkoutOptions.ts} +28 -6
  337. package/src/react/queries/{checkoutOptionsSalesContract.ts → market/checkoutOptionsSalesContract.ts} +24 -5
  338. package/src/react/queries/{currency.ts → market/currency.ts} +13 -4
  339. package/src/react/queries/{filters.ts → market/filters.ts} +48 -34
  340. package/src/react/queries/market/index.ts +6 -0
  341. package/src/react/queries/{marketCurrencies.ts → market/marketCurrencies.ts} +24 -5
  342. package/src/react/queries/{marketplaceConfig.ts → market/marketplaceConfig.ts} +11 -7
  343. package/src/react/queries/orders/countItemsOrdersForCollection.ts +86 -0
  344. package/src/react/queries/{countListingsForCollectible.ts → orders/countListingsForCollectible.ts} +23 -6
  345. package/src/react/queries/{countOffersForCollectible.ts → orders/countOffersForCollectible.ts} +23 -6
  346. package/src/react/queries/{floorOrder.ts → orders/floorOrder.ts} +15 -4
  347. package/src/react/queries/orders/getCountOfFilteredOrders.ts +88 -0
  348. package/src/react/queries/{highestOffer.ts → orders/highestOffer.ts} +16 -4
  349. package/src/react/queries/orders/index.ts +11 -0
  350. package/src/react/queries/orders/listItemsOrdersForCollection.ts +90 -0
  351. package/src/react/queries/orders/listItemsOrdersForCollectionPaginated.ts +90 -0
  352. package/src/react/queries/{listListingsForCollectible.ts → orders/listListingsForCollectible.ts} +20 -5
  353. package/src/react/queries/orders/listOffersForCollectible.ts +116 -0
  354. package/src/react/queries/{lowestListing.ts → orders/lowestListing.ts} +16 -4
  355. package/src/react/queries/{countOfPrimarySaleItems.ts → primary-sales/countOfPrimarySaleItems.ts} +17 -3
  356. package/src/react/queries/primary-sales/index.ts +3 -0
  357. package/src/react/queries/{primarySaleItems.ts → primary-sales/primarySaleItems.ts} +18 -4
  358. package/src/react/queries/{primarySaleItemsCount.ts → primary-sales/primarySaleItemsCount.ts} +19 -4
  359. package/src/react/queries/{getTokenRanges.ts → tokens/getTokenRanges.ts} +17 -4
  360. package/src/react/queries/tokens/index.ts +5 -0
  361. package/src/react/queries/{listBalances.ts → tokens/listBalances.ts} +18 -3
  362. package/src/react/queries/{listTokenMetadata.ts → tokens/listTokenMetadata.ts} +18 -4
  363. package/src/react/queries/{searchTokenMetadata.ts → tokens/searchTokenMetadata.ts} +18 -4
  364. package/src/react/queries/{tokenSupplies.ts → tokens/tokenSupplies.ts} +16 -4
  365. package/src/react/queries/{comparePrices.ts → utils/comparePrices.ts} +16 -4
  366. package/src/react/queries/{convertPriceToUSD.ts → utils/convertPriceToUSD.ts} +18 -5
  367. package/src/react/queries/utils/index.ts +2 -0
  368. package/src/react/ssr/__tests__/__snapshots__/create-ssr-client.test.ts.snap +4 -4
  369. package/src/react/ssr/create-ssr-client.ts +1 -1
  370. package/src/react/ui/components/_internals/ErrorLogBox.tsx +85 -0
  371. package/src/react/ui/components/_internals/action-button/ActionButton.stories.tsx +8 -8
  372. package/src/react/ui/components/_internals/action-button/ActionButton.tsx +10 -9
  373. package/src/react/ui/components/_internals/action-button/__tests__/NonOwnerActions.test.tsx +4 -4
  374. package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +10 -6
  375. package/src/react/ui/components/_internals/custom-select/__tests__/CustomSelect.test.tsx +1 -1
  376. package/src/react/ui/components/marketplace-collectible-card/CollectibleCard.tsx +4 -3
  377. package/src/react/ui/components/marketplace-collectible-card/CollectibleCardSkeleton.tsx +13 -2
  378. package/src/react/ui/components/marketplace-collectible-card/components/ActionButtonWrapper.tsx +7 -7
  379. package/src/react/ui/components/marketplace-collectible-card/components/BaseCard.tsx +14 -5
  380. package/src/react/ui/components/marketplace-collectible-card/components/footer/Footer.tsx +179 -0
  381. package/src/react/ui/components/marketplace-collectible-card/components/footer/components/FooterName.tsx +103 -0
  382. package/src/react/ui/components/marketplace-collectible-card/components/footer/components/PriceDisplay.tsx +80 -0
  383. package/src/react/ui/components/marketplace-collectible-card/components/footer/components/SaleDetailsPill.tsx +29 -0
  384. package/src/react/ui/components/marketplace-collectible-card/components/footer/components/TokenTypeBalancePill.tsx +30 -0
  385. package/src/react/ui/components/marketplace-collectible-card/components/footer/components/index.ts +4 -0
  386. package/src/react/ui/components/marketplace-collectible-card/components/footer/index.ts +2 -0
  387. package/src/react/ui/components/marketplace-collectible-card/types.ts +19 -6
  388. package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +14 -23
  389. package/src/react/ui/components/marketplace-collectible-card/variants/NonTradableInventoryCard.tsx +42 -0
  390. package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +17 -12
  391. package/src/react/ui/modals/BuyModal/__tests__/BuyModalRouter.test.tsx +10 -10
  392. package/src/react/ui/modals/BuyModal/__tests__/ERC1155ShopModal.test.tsx +3 -3
  393. package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx.bak +3 -3
  394. package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +6 -6
  395. package/src/react/ui/modals/BuyModal/__tests__/store.test.ts +3 -3
  396. package/src/react/ui/modals/BuyModal/components/BuyModalRouter.tsx +5 -5
  397. package/src/react/ui/modals/BuyModal/components/ERC1155BuyModal.tsx +67 -5
  398. package/src/react/ui/modals/BuyModal/components/ERC1155QuantityModal.tsx +8 -8
  399. package/src/react/ui/modals/BuyModal/components/ERC1155ShopModal.tsx +2 -2
  400. package/src/react/ui/modals/BuyModal/components/ERC721BuyModal.tsx +31 -0
  401. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC721SalePaymentParams.test.tsx +20 -1
  402. package/src/react/ui/modals/BuyModal/hooks/useERC1155Checkout.ts +20 -4
  403. package/src/react/ui/modals/BuyModal/hooks/useERC721SalePaymentParams.ts +12 -3
  404. package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +11 -2
  405. package/src/react/ui/modals/BuyModal/store.ts +9 -6
  406. package/src/react/ui/modals/CreateListingModal/Modal.tsx +63 -24
  407. package/src/react/ui/modals/CreateListingModal/__tests__/Modal.test.tsx +4 -0
  408. package/src/react/ui/modals/CreateListingModal/hooks/useCreateListing.tsx +20 -13
  409. package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +4 -1
  410. package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +2 -1
  411. package/src/react/ui/modals/MakeOfferModal/Modal.tsx +141 -96
  412. package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +10 -0
  413. package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +4 -1
  414. package/src/react/ui/modals/MakeOfferModal/hooks/useMakeOffer.tsx +17 -27
  415. package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +2 -1
  416. package/src/react/ui/modals/SellModal/Modal.tsx +21 -3
  417. package/src/react/ui/modals/SellModal/__tests__/Modal.test.tsx +2 -0
  418. package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +5 -2
  419. package/src/react/ui/modals/SellModal/hooks/useSell.tsx +15 -8
  420. package/src/react/ui/modals/SuccessfulPurchaseModal/__tests__/Modal.test.tsx +9 -0
  421. package/src/react/ui/modals/_internal/components/actionModal/ActionModal.test.tsx +20 -9
  422. package/src/react/ui/modals/_internal/components/calendarDropdown/TimeSelector.tsx +105 -0
  423. package/src/react/ui/modals/_internal/components/calendarDropdown/index.tsx +45 -12
  424. package/src/react/ui/modals/_internal/components/calendarDropdown/overrides.css +39 -0
  425. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +31 -10
  426. package/src/react/ui/modals/_internal/components/expirationDateSelect/index.tsx +18 -9
  427. package/src/react/ui/modals/_internal/components/priceInput/index.tsx +53 -3
  428. package/src/react/ui/modals/_internal/components/switchChainErrorModal/__tests__/SwitchChainErrorModal.test.tsx +80 -0
  429. package/src/react/ui/modals/_internal/components/switchChainErrorModal/index.tsx +64 -0
  430. package/src/react/ui/modals/_internal/components/switchChainErrorModal/store.ts +42 -0
  431. package/src/react/ui/modals/_internal/components/transactionDetails/index.tsx +58 -10
  432. package/src/react/ui/modals/_internal/constants/opensea-currencies.ts +481 -0
  433. package/src/react/ui/modals/_internal/types.ts +0 -1
  434. package/src/react/utils/waitForTransactionReceipt.ts +26 -32
  435. package/src/styles/index.css +1 -0
  436. package/src/styles/styles.ts +201 -25
  437. package/src/types/index.ts +1 -1
  438. package/src/types/new-marketplace-types.ts +9 -18
  439. package/src/types/types.ts +1 -1
  440. package/src/utils/abi/index.ts +1 -0
  441. package/src/utils/abi/mainModule.ts +158 -0
  442. package/test/globalSetup.ts +1 -1
  443. package/test/test-utils.tsx +1 -0
  444. package/dist/BellIcon-Cb9YEUzJ.js.map +0 -1
  445. package/dist/CollectibleCard-CYyWzk6u.d.ts +0 -8
  446. package/dist/api-BmEQfSQa.js.map +0 -1
  447. package/dist/create-config-6uynwTeb.js.map +0 -1
  448. package/dist/filters-B8XS4tFH.d.ts +0 -31
  449. package/dist/index-BuY_NKSX.d.ts +0 -222
  450. package/dist/index-D2HohSwO.d.ts +0 -293
  451. package/dist/listCollectiblesPaginated--AgXjajA.d.ts +0 -166
  452. package/dist/lowestListing-BQHfQpfg.d.ts +0 -144
  453. package/dist/marketplace-logos-D8t86gsW.js.map +0 -1
  454. package/dist/marketplace.gen-JzNYpM0U.js.map +0 -1
  455. package/dist/marketplaceConfig-sNh-MA5M.js.map +0 -1
  456. package/dist/network-DnBEe1Ur.js.map +0 -1
  457. package/dist/queries-BYT4GJw3.js +0 -1478
  458. package/dist/queries-BYT4GJw3.js.map +0 -1
  459. package/dist/react-CbqXKOpt.css +0 -80
  460. package/dist/react-CbqXKOpt.css.map +0 -1
  461. package/dist/react-Ceq8mamy.js.map +0 -1
  462. package/dist/tokenSupplies-DXtkRYNO.d.ts +0 -147
  463. package/dist/transaction-CC2KxNF6.js.map +0 -1
  464. package/dist/types-G2PWxiJR.js.map +0 -1
  465. package/dist/utils-CKJd-CRf.js.map +0 -1
  466. package/dist/utils-wquIhK6T.js.map +0 -1
  467. package/dist/waitForTransactionReceipt-DZxAuR9N.js +0 -27
  468. package/dist/waitForTransactionReceipt-DZxAuR9N.js.map +0 -1
  469. package/src/react/hooks/utils/useSwitchChainWithModal.ts +0 -38
  470. package/src/react/queries/inventory.ts +0 -343
  471. package/src/react/ui/components/marketplace-collectible-card/Footer.tsx +0 -238
  472. package/src/react/ui/modals/_internal/components/switchChainModal/__tests__/SwitchChainModal.test.tsx +0 -117
  473. package/src/react/ui/modals/_internal/components/switchChainModal/index.tsx +0 -124
  474. package/src/react/ui/modals/_internal/components/switchChainModal/store.ts +0 -71
  475. /package/dist/{index-q7f-WDBS.d.ts → index-6wsMChsg.d.ts} +0 -0
  476. /package/dist/{abi-Wr_aTZFi.js → queries-KOcILNJO.js} +0 -0
  477. /package/dist/{wagmi-BhP3mdhP.js → wagmi-Bseovd6Q.js} +0 -0
@@ -1,8 +1,13 @@
1
+ import type { GetContractInfoArgs } from '@0xsequence/metadata';
1
2
  import { queryOptions } from '@tanstack/react-query';
2
- import type { SdkConfig } from '../../types';
3
- import { getMetadataClient, type ValuesOptional } from '../_internal';
4
- import { collectionKeys } from '../_internal/api/query-keys';
5
- import type { StandardQueryOptions } from '../types/query';
3
+ import type { SdkConfig } from '../../../types';
4
+ import {
5
+ getMetadataClient,
6
+ type QueryKeyArgs,
7
+ type ValuesOptional,
8
+ } from '../../_internal';
9
+ import { collectionKeys } from '../../_internal/api/query-keys';
10
+ import type { StandardQueryOptions } from '../../types/query';
6
11
 
7
12
  export interface FetchCollectionParams {
8
13
  chainId: number;
@@ -30,6 +35,15 @@ export type CollectionQueryOptions = ValuesOptional<FetchCollectionParams> & {
30
35
  query?: StandardQueryOptions;
31
36
  };
32
37
 
38
+ export function getCollectionQueryKey(params: CollectionQueryOptions) {
39
+ const apiArgs = {
40
+ chainID: String(params.chainId),
41
+ contractAddress: params.collectionAddress,
42
+ } satisfies QueryKeyArgs<GetContractInfoArgs>;
43
+
44
+ return [...collectionKeys.detail, apiArgs] as const;
45
+ }
46
+
33
47
  export function collectionQueryOptions(params: CollectionQueryOptions) {
34
48
  const enabled = Boolean(
35
49
  params.collectionAddress &&
@@ -39,7 +53,7 @@ export function collectionQueryOptions(params: CollectionQueryOptions) {
39
53
  );
40
54
 
41
55
  return queryOptions({
42
- queryKey: [...collectionKeys.detail, params],
56
+ queryKey: getCollectionQueryKey(params),
43
57
  queryFn: () =>
44
58
  fetchCollection({
45
59
  // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
@@ -1,9 +1,13 @@
1
1
  import type { GetTokenBalancesDetailsReturn } from '@0xsequence/indexer';
2
2
  import { queryOptions } from '@tanstack/react-query';
3
3
  import type { Address } from 'viem';
4
- import type { SdkConfig } from '../../types';
5
- import { getIndexerClient, type ValuesOptional } from '../_internal';
6
- import type { StandardQueryOptions } from '../types/query';
4
+ import type { SdkConfig } from '../../../types';
5
+ import {
6
+ balanceQueries,
7
+ getIndexerClient,
8
+ type ValuesOptional,
9
+ } from '../../_internal';
10
+ import type { StandardQueryOptions } from '../../types/query';
7
11
 
8
12
  export interface CollectionBalanceFilter {
9
13
  accountAddresses: Array<Address>;
@@ -65,6 +69,17 @@ export type CollectionBalanceDetailsQueryOptions =
65
69
  query?: StandardQueryOptions;
66
70
  };
67
71
 
72
+ export function getCollectionBalanceDetailsQueryKey(
73
+ params: CollectionBalanceDetailsQueryOptions,
74
+ ) {
75
+ const apiArgs = {
76
+ chainId: params.chainId!,
77
+ filter: params.filter!,
78
+ };
79
+
80
+ return [...balanceQueries.collectionBalanceDetails, apiArgs] as const;
81
+ }
82
+
68
83
  export function collectionBalanceDetailsQueryOptions(
69
84
  params: CollectionBalanceDetailsQueryOptions,
70
85
  ) {
@@ -76,7 +91,7 @@ export function collectionBalanceDetailsQueryOptions(
76
91
  );
77
92
 
78
93
  return queryOptions({
79
- queryKey: ['balances', 'collectionBalanceDetails', params],
94
+ queryKey: getCollectionBalanceDetailsQueryKey(params),
80
95
  queryFn: () =>
81
96
  fetchCollectionBalanceDetails({
82
97
  // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
@@ -1,9 +1,13 @@
1
1
  import { queryOptions } from '@tanstack/react-query';
2
- import type { SdkConfig } from '../../types';
3
- import { getMarketplaceClient, type ValuesOptional } from '../_internal';
4
- import type { GetCollectionDetailArgs } from '../_internal/api/marketplace.gen';
5
- import { collectionKeys } from '../_internal/api/query-keys';
6
- import type { StandardQueryOptions } from '../types/query';
2
+ import type { SdkConfig } from '../../../types';
3
+ import {
4
+ getMarketplaceClient,
5
+ type QueryKeyArgs,
6
+ type ValuesOptional,
7
+ } from '../../_internal';
8
+ import type { GetCollectionDetailArgs } from '../../_internal/api/marketplace.gen';
9
+ import { collectionKeys } from '../../_internal/api/query-keys';
10
+ import type { StandardQueryOptions } from '../../types/query';
7
11
 
8
12
  export interface FetchCollectionDetailsParams
9
13
  extends Omit<GetCollectionDetailArgs, 'chainId' | 'contractAddress'> {
@@ -37,6 +41,17 @@ export type CollectionDetailsQueryOptions =
37
41
  query?: StandardQueryOptions;
38
42
  };
39
43
 
44
+ export function getCollectionDetailsQueryKey(
45
+ params: CollectionDetailsQueryOptions,
46
+ ) {
47
+ const apiArgs = {
48
+ chainId: String(params.chainId),
49
+ contractAddress: params.collectionAddress,
50
+ } satisfies QueryKeyArgs<GetCollectionDetailArgs>;
51
+
52
+ return [...collectionKeys.detail, apiArgs] as const;
53
+ }
54
+
40
55
  export function collectionDetailsQueryOptions(
41
56
  params: CollectionDetailsQueryOptions,
42
57
  ) {
@@ -48,7 +63,7 @@ export function collectionDetailsQueryOptions(
48
63
  );
49
64
 
50
65
  return queryOptions({
51
- queryKey: [...collectionKeys.detail, params],
66
+ queryKey: getCollectionDetailsQueryKey(params),
52
67
  queryFn: () =>
53
68
  fetchCollectionDetails({
54
69
  // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
@@ -0,0 +1,5 @@
1
+ export * from './collection';
2
+ export * from './collectionBalanceDetails';
3
+ export * from './collectionDetails';
4
+ export * from './listCollectionActivities';
5
+ export * from './listCollections';
@@ -1,15 +1,16 @@
1
1
  import { queryOptions } from '@tanstack/react-query';
2
2
  import type { Address } from 'viem';
3
- import type { Page, SdkConfig } from '../../types';
3
+ import type { Page, SdkConfig } from '../../../types';
4
4
  import type {
5
5
  ListCollectionActivitiesArgs,
6
6
  ListCollectionActivitiesReturn,
7
+ QueryKeyArgs,
7
8
  SortBy,
8
9
  ValuesOptional,
9
- } from '../_internal';
10
- import { getMarketplaceClient } from '../_internal';
11
- import { collectionKeys } from '../_internal/api';
12
- import type { StandardQueryOptions } from '../types/query';
10
+ } from '../../_internal';
11
+ import { getMarketplaceClient } from '../../_internal';
12
+ import { collectionKeys } from '../../_internal/api';
13
+ import type { StandardQueryOptions } from '../../types/query';
13
14
 
14
15
  export interface FetchListCollectionActivitiesParams
15
16
  extends Omit<
@@ -65,6 +66,27 @@ export type ListCollectionActivitiesQueryOptions =
65
66
  query?: StandardQueryOptions;
66
67
  };
67
68
 
69
+ export function getListCollectionActivitiesQueryKey(
70
+ params: ListCollectionActivitiesQueryOptions,
71
+ ) {
72
+ const page =
73
+ params.page || params.pageSize || params.sort
74
+ ? {
75
+ page: params.page ?? 1,
76
+ pageSize: params.pageSize ?? 10,
77
+ sort: params.sort,
78
+ }
79
+ : undefined;
80
+
81
+ const apiArgs = {
82
+ chainId: String(params.chainId),
83
+ contractAddress: params.collectionAddress,
84
+ page: page,
85
+ } satisfies QueryKeyArgs<ListCollectionActivitiesArgs>;
86
+
87
+ return [...collectionKeys.collectionActivities, apiArgs] as const;
88
+ }
89
+
68
90
  export function listCollectionActivitiesQueryOptions(
69
91
  params: ListCollectionActivitiesQueryOptions,
70
92
  ) {
@@ -76,7 +98,7 @@ export function listCollectionActivitiesQueryOptions(
76
98
  );
77
99
 
78
100
  return queryOptions({
79
- queryKey: [...collectionKeys.collectionActivities, params],
101
+ queryKey: getListCollectionActivitiesQueryKey(params),
80
102
  queryFn: () =>
81
103
  fetchListCollectionActivities({
82
104
  // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
@@ -1,18 +1,18 @@
1
1
  import type { ContractInfo } from '@0xsequence/metadata';
2
2
  import { queryOptions, skipToken } from '@tanstack/react-query';
3
- import type { MarketplaceType, SdkConfig } from '../../types';
3
+ import type { CardType, SdkConfig } from '../../../types';
4
4
  import type {
5
5
  MarketCollection,
6
6
  MarketplaceConfig,
7
7
  ShopCollection,
8
- } from '../../types/new-marketplace-types';
9
- import { compareAddress } from '../../utils';
8
+ } from '../../../types/new-marketplace-types';
9
+ import { compareAddress } from '../../../utils';
10
10
  import {
11
11
  collectionKeys,
12
12
  getMetadataClient,
13
13
  type ValuesOptional,
14
- } from '../_internal';
15
- import type { StandardQueryOptions } from '../types/query';
14
+ } from '../../_internal';
15
+ import type { StandardQueryOptions } from '../../types/query';
16
16
 
17
17
  const allCollections = (marketplaceConfig: MarketplaceConfig) => {
18
18
  return [
@@ -22,7 +22,7 @@ const allCollections = (marketplaceConfig: MarketplaceConfig) => {
22
22
  };
23
23
 
24
24
  export interface FetchListCollectionsParams {
25
- marketplaceType?: MarketplaceType;
25
+ cardType?: CardType;
26
26
  marketplaceConfig: MarketplaceConfig;
27
27
  config: SdkConfig;
28
28
  }
@@ -31,7 +31,7 @@ export interface FetchListCollectionsParams {
31
31
  * Fetches collections from the metadata API with marketplace config filtering
32
32
  */
33
33
  export async function fetchListCollections(params: FetchListCollectionsParams) {
34
- const { marketplaceType, marketplaceConfig, config } = params;
34
+ const { cardType, marketplaceConfig, config } = params;
35
35
  const metadataClient = getMetadataClient(config);
36
36
 
37
37
  let collections = allCollections(marketplaceConfig);
@@ -40,9 +40,9 @@ export async function fetchListCollections(params: FetchListCollectionsParams) {
40
40
  return [];
41
41
  }
42
42
 
43
- if (marketplaceType) {
43
+ if (cardType) {
44
44
  collections = collections.filter(
45
- (collection) => collection.marketplaceType === marketplaceType,
45
+ (collection) => collection.cardType === cardType,
46
46
  );
47
47
  }
48
48
 
@@ -113,6 +113,17 @@ export type ListCollectionsQueryOptions =
113
113
  query?: StandardQueryOptions;
114
114
  };
115
115
 
116
+ export function getListCollectionsQueryKey(
117
+ params: ListCollectionsQueryOptions,
118
+ ) {
119
+ const queryKeyParams = {
120
+ cardType: params.cardType,
121
+ marketplaceConfig: params.marketplaceConfig,
122
+ } as const;
123
+
124
+ return [...collectionKeys.list, queryKeyParams] as const;
125
+ }
126
+
116
127
  export function listCollectionsQueryOptions(
117
128
  params: ListCollectionsQueryOptions,
118
129
  ) {
@@ -123,7 +134,7 @@ export function listCollectionsQueryOptions(
123
134
  );
124
135
 
125
136
  return queryOptions({
126
- queryKey: [...collectionKeys.list, params],
137
+ queryKey: getListCollectionsQueryKey(params),
127
138
  queryFn: enabled
128
139
  ? () =>
129
140
  fetchListCollections({
@@ -131,7 +142,7 @@ export function listCollectionsQueryOptions(
131
142
  marketplaceConfig: params.marketplaceConfig!,
132
143
  // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
133
144
  config: params.config!,
134
- marketplaceType: params.marketplaceType,
145
+ cardType: params.cardType,
135
146
  })
136
147
  : skipToken,
137
148
  ...params.query,
@@ -141,25 +152,22 @@ export function listCollectionsQueryOptions(
141
152
 
142
153
  // Keep old function for backward compatibility during migration
143
154
  export const listCollectionsOptions = ({
144
- marketplaceType,
155
+ cardType,
145
156
  marketplaceConfig,
146
157
  config,
147
158
  }: {
148
- marketplaceType?: MarketplaceType;
159
+ cardType?: CardType;
149
160
  marketplaceConfig: MarketplaceConfig | undefined;
150
161
  config: SdkConfig;
151
162
  }) => {
152
163
  return queryOptions({
153
- queryKey: [
154
- ...collectionKeys.list,
155
- { marketplaceType, marketplaceConfig, config },
156
- ],
164
+ queryKey: [...collectionKeys.list, { cardType, marketplaceConfig, config }],
157
165
  queryFn: marketplaceConfig
158
166
  ? () =>
159
167
  fetchListCollections({
160
168
  marketplaceConfig,
161
169
  config,
162
- marketplaceType,
170
+ cardType,
163
171
  })
164
172
  : skipToken,
165
173
  enabled: Boolean(marketplaceConfig),
@@ -1,34 +1,8 @@
1
- export * from './balanceOfCollectible';
2
- export * from './checkoutOptions';
3
- export * from './checkoutOptionsSalesContract';
4
- export * from './collectible';
5
- export * from './collection';
6
- export * from './collectionBalanceDetails';
7
- export * from './collectionDetails';
8
- export * from './comparePrices';
9
- export * from './convertPriceToUSD';
10
- export * from './countListingsForCollectible';
11
- export * from './countOfCollectables';
12
- export * from './countOffersForCollectible';
13
- export * from './countOfPrimarySaleItems';
14
- export * from './currency';
15
- export * from './filters';
16
- export * from './floorOrder';
17
- export * from './getTokenRanges';
18
- export * from './highestOffer';
1
+ export * from './collectibles';
2
+ export * from './collections';
19
3
  export * from './inventory';
20
- export * from './listBalances';
21
- export * from './listCollectibleActivities';
22
- export * from './listCollectibles';
23
- export * from './listCollectiblesPaginated';
24
- export * from './listCollectionActivities';
25
- export * from './listCollections';
26
- export * from './listListingsForCollectible';
27
- export * from './listTokenMetadata';
28
- export * from './lowestListing';
29
- export * from './marketCurrencies';
30
- export * from './marketplaceConfig';
31
- export * from './primarySaleItems';
32
- export * from './primarySaleItemsCount';
33
- export * from './searchTokenMetadata';
34
- export * from './tokenSupplies';
4
+ export * from './market';
5
+ export * from './orders';
6
+ export * from './primary-sales';
7
+ export * from './tokens';
8
+ export * from './utils';
@@ -1,11 +1,11 @@
1
1
  import { server } from '@test';
2
2
  import { HttpResponse, http } from 'msw';
3
3
  import { afterEach, describe, expect, it } from 'vitest';
4
- import { ContractType } from '../../_internal';
5
- import { mockIndexerEndpoint } from '../../_internal/api/__mocks__/indexer.msw';
6
- import { laosHandlers } from '../../_internal/api/__mocks__/laos.msw';
7
- import { mockMarketplaceEndpoint } from '../../_internal/api/__mocks__/marketplace.msw';
8
- import { clearInventoryState, fetchInventory } from '../inventory';
4
+ import { ContractType } from '../../../_internal';
5
+ import { mockIndexerEndpoint } from '../../../_internal/api/__mocks__/indexer.msw';
6
+ import { laosHandlers } from '../../../_internal/api/__mocks__/laos.msw';
7
+ import { mockMarketplaceEndpoint } from '../../../_internal/api/__mocks__/marketplace.msw';
8
+ import { fetchInventory } from '../inventory';
9
9
 
10
10
  describe('fetchInventory with LAOS', () => {
11
11
  const mockConfig = {
@@ -27,7 +27,6 @@ describe('fetchInventory with LAOS', () => {
27
27
 
28
28
  afterEach(() => {
29
29
  server.resetHandlers();
30
- clearInventoryState();
31
30
  });
32
31
 
33
32
  it('should fetch LAOS inventory using LAOS API', async () => {
@@ -270,7 +269,11 @@ describe('fetchInventory with LAOS', () => {
270
269
 
271
270
  expect(result).toBeDefined();
272
271
  expect(result.collectibles).toEqual([]);
273
- expect(result.page.more).toBe(false);
272
+ // Page structure has changed, no more 'more' property
273
+ expect(result.page).toEqual({
274
+ page: 1,
275
+ pageSize: 10,
276
+ });
274
277
  });
275
278
 
276
279
  it('should include LAOS metadata in inventory items', async () => {
@@ -0,0 +1 @@
1
+ export * from './inventory';
@@ -0,0 +1,169 @@
1
+ import type { ContractInfo, TokenBalance } from '@0xsequence/indexer';
2
+ import { queryOptions } from '@tanstack/react-query';
3
+ import type { Address } from 'viem';
4
+ import type { Page, SdkConfig } from '../../../types';
5
+ import { compareAddress } from '../../../utils';
6
+ import {
7
+ type ContractType,
8
+ getQueryClient,
9
+ MetadataStatus,
10
+ } from '../../_internal';
11
+ import { tokenBalancesOptions } from '../collectibles/tokenBalances';
12
+ import { fetchMarketplaceConfig } from '../market/marketplaceConfig';
13
+
14
+ export interface UseInventoryArgs {
15
+ accountAddress: Address;
16
+ collectionAddress: Address;
17
+ chainId: number;
18
+ isLaos721?: boolean;
19
+ includeNonTradable?: boolean;
20
+ query?: {
21
+ enabled?: boolean;
22
+ page?: number;
23
+ pageSize?: number;
24
+ };
25
+ }
26
+
27
+ interface GetInventoryArgs extends Omit<UseInventoryArgs, 'query'> {
28
+ isLaos721: boolean;
29
+ }
30
+
31
+ interface CollectibleWithBalance {
32
+ metadata: {
33
+ tokenId: string;
34
+ attributes: Array<any>;
35
+ image?: string;
36
+ name: string;
37
+ description?: string;
38
+ video?: string;
39
+ audio?: string;
40
+ status: MetadataStatus;
41
+ };
42
+ balance: string;
43
+ contractInfo?: ContractInfo;
44
+ contractType: ContractType.ERC1155 | ContractType.ERC721;
45
+ }
46
+
47
+ export interface CollectiblesResponse {
48
+ collectibles: CollectibleWithBalance[];
49
+ page: Page;
50
+ isTradable: boolean;
51
+ }
52
+
53
+ function collectibleFromTokenBalance(
54
+ token: TokenBalance,
55
+ ): CollectibleWithBalance {
56
+ return {
57
+ metadata: {
58
+ tokenId: token.tokenID ?? '',
59
+ attributes: token.tokenMetadata?.attributes ?? [],
60
+ image: token.tokenMetadata?.image,
61
+ name: token.tokenMetadata?.name ?? '',
62
+ description: token.tokenMetadata?.description,
63
+ video: token.tokenMetadata?.video,
64
+ audio: token.tokenMetadata?.audio,
65
+ status: MetadataStatus.AVAILABLE,
66
+ },
67
+ contractInfo: token.contractInfo,
68
+ contractType: token.contractType as unknown as
69
+ | ContractType.ERC1155
70
+ | ContractType.ERC721,
71
+ balance: token.balance,
72
+ };
73
+ }
74
+
75
+ async function fetchIndexerTokens(
76
+ chainId: number,
77
+ accountAddress: Address,
78
+ collectionAddress: Address,
79
+ config: SdkConfig,
80
+ isLaos721: boolean,
81
+ ): Promise<{ collectibles: CollectibleWithBalance[] }> {
82
+ const queryClient = getQueryClient();
83
+ const balances = await queryClient.fetchQuery(
84
+ tokenBalancesOptions(
85
+ {
86
+ collectionAddress,
87
+ userAddress: accountAddress,
88
+ chainId,
89
+ isLaos721,
90
+ includeMetadata: true,
91
+ },
92
+ config,
93
+ ),
94
+ );
95
+
96
+ const collectibles = balances.map((balance) =>
97
+ collectibleFromTokenBalance(balance),
98
+ );
99
+
100
+ return {
101
+ collectibles,
102
+ };
103
+ }
104
+
105
+ export async function fetchInventory(
106
+ args: GetInventoryArgs,
107
+ config: SdkConfig,
108
+ page: Page,
109
+ ): Promise<CollectiblesResponse> {
110
+ const { accountAddress, collectionAddress, chainId, isLaos721 } = args;
111
+ const marketplaceConfig = await fetchMarketplaceConfig({ config });
112
+
113
+ const marketCollections = marketplaceConfig?.market.collections || [];
114
+
115
+ const isMarketCollection = marketCollections.some((collection) =>
116
+ compareAddress(collection.itemsAddress, collectionAddress),
117
+ );
118
+
119
+ // Determine if this collection is tradable (market collection vs shop collection)
120
+ const isTradable = isMarketCollection;
121
+
122
+ // Fetch collectibles from indexer
123
+ const { collectibles } = await fetchIndexerTokens(
124
+ chainId,
125
+ accountAddress,
126
+ collectionAddress,
127
+ config,
128
+ isLaos721,
129
+ );
130
+
131
+ return {
132
+ collectibles,
133
+ page: {
134
+ page: page.page,
135
+ pageSize: page.pageSize,
136
+ },
137
+ isTradable,
138
+ };
139
+ }
140
+
141
+ export function inventoryOptions(args: UseInventoryArgs, config: SdkConfig) {
142
+ const enabledQuery = args.query?.enabled ?? true;
143
+ const enabled =
144
+ enabledQuery && !!args.accountAddress && !!args.collectionAddress;
145
+
146
+ return queryOptions({
147
+ queryKey: [
148
+ 'inventory',
149
+ args.accountAddress,
150
+ args.collectionAddress,
151
+ args.chainId,
152
+ args.query?.page ?? 1,
153
+ args.query?.pageSize ?? 30,
154
+ ],
155
+ queryFn: () =>
156
+ fetchInventory(
157
+ {
158
+ ...args,
159
+ isLaos721: args.isLaos721 ?? false,
160
+ },
161
+ config,
162
+ {
163
+ page: args.query?.page ?? 1,
164
+ pageSize: args.query?.pageSize ?? 30,
165
+ },
166
+ ),
167
+ enabled,
168
+ });
169
+ }
@@ -1,13 +1,18 @@
1
1
  import { queryOptions } from '@tanstack/react-query';
2
2
  import type { Address } from 'viem';
3
- import type { SdkConfig } from '../../types';
4
- import type { MarketplaceKind } from '../_internal';
5
- import { getMarketplaceClient, type ValuesOptional } from '../_internal';
3
+ import type { SdkConfig } from '../../../types';
4
+ import type { MarketplaceKind } from '../../_internal';
5
+ import {
6
+ checkoutKeys,
7
+ getMarketplaceClient,
8
+ type QueryKeyArgs,
9
+ type ValuesOptional,
10
+ } from '../../_internal';
6
11
  import type {
7
12
  CheckoutOptionsMarketplaceArgs,
8
13
  CheckoutOptionsMarketplaceReturn,
9
- } from '../_internal/api/marketplace.gen';
10
- import type { StandardQueryOptions } from '../types/query';
14
+ } from '../../_internal/api/marketplace.gen';
15
+ import type { StandardQueryOptions } from '../../types/query';
11
16
 
12
17
  export interface FetchCheckoutOptionsParams
13
18
  extends Omit<
@@ -54,6 +59,23 @@ export type CheckoutOptionsQueryOptions =
54
59
  query?: StandardQueryOptions;
55
60
  };
56
61
 
62
+ export function getCheckoutOptionsQueryKey(
63
+ params: CheckoutOptionsQueryOptions,
64
+ ) {
65
+ const apiArgs = {
66
+ chainId: String(params.chainId),
67
+ wallet: params.walletAddress,
68
+ orders: params.orders?.map((order) => ({
69
+ contractAddress: order.collectionAddress,
70
+ orderId: order.orderId,
71
+ marketplace: order.marketplace,
72
+ })),
73
+ additionalFee: params.additionalFee,
74
+ } satisfies QueryKeyArgs<CheckoutOptionsMarketplaceArgs>;
75
+
76
+ return [...checkoutKeys.options, apiArgs] as const;
77
+ }
78
+
57
79
  export function checkoutOptionsQueryOptions(
58
80
  params: CheckoutOptionsQueryOptions,
59
81
  ) {
@@ -66,7 +88,7 @@ export function checkoutOptionsQueryOptions(
66
88
  );
67
89
 
68
90
  return queryOptions({
69
- queryKey: ['checkout', 'options', params],
91
+ queryKey: getCheckoutOptionsQueryKey(params),
70
92
  queryFn: () =>
71
93
  fetchCheckoutOptions({
72
94
  // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined
@@ -1,13 +1,18 @@
1
1
  import { queryOptions } from '@tanstack/react-query';
2
2
  import type { Address } from 'viem';
3
- import type { SdkConfig } from '../../types';
4
- import { getMarketplaceClient, type ValuesOptional } from '../_internal';
3
+ import type { SdkConfig } from '../../../types';
4
+ import {
5
+ checkoutKeys,
6
+ getMarketplaceClient,
7
+ type QueryKeyArgs,
8
+ type ValuesOptional,
9
+ } from '../../_internal';
5
10
  import type {
6
11
  CheckoutOptionsItem,
7
12
  CheckoutOptionsSalesContractArgs,
8
13
  CheckoutOptionsSalesContractReturn,
9
- } from '../_internal/api/marketplace.gen';
10
- import type { StandardQueryOptions } from '../types/query';
14
+ } from '../../_internal/api/marketplace.gen';
15
+ import type { StandardQueryOptions } from '../../types/query';
11
16
 
12
17
  export interface FetchCheckoutOptionsSalesContractParams
13
18
  extends Omit<CheckoutOptionsSalesContractArgs, 'chainId' | 'wallet'> {
@@ -53,6 +58,20 @@ export type CheckoutOptionsSalesContractQueryOptions =
53
58
  query?: StandardQueryOptions;
54
59
  };
55
60
 
61
+ export function getCheckoutOptionsSalesContractQueryKey(
62
+ params: CheckoutOptionsSalesContractQueryOptions,
63
+ ) {
64
+ const apiArgs = {
65
+ chainId: String(params.chainId),
66
+ wallet: params.walletAddress,
67
+ contractAddress: params.contractAddress,
68
+ collectionAddress: params.collectionAddress,
69
+ items: params.items,
70
+ } satisfies QueryKeyArgs<CheckoutOptionsSalesContractArgs>;
71
+
72
+ return [...checkoutKeys.options, 'salesContract', apiArgs] as const;
73
+ }
74
+
56
75
  export function checkoutOptionsSalesContractQueryOptions(
57
76
  params: CheckoutOptionsSalesContractQueryOptions,
58
77
  ) {
@@ -67,7 +86,7 @@ export function checkoutOptionsSalesContractQueryOptions(
67
86
  );
68
87
 
69
88
  return queryOptions({
70
- queryKey: ['checkout', 'options', 'salesContract', params],
89
+ queryKey: getCheckoutOptionsSalesContractQueryKey(params),
71
90
  queryFn: () =>
72
91
  fetchCheckoutOptionsSalesContract({
73
92
  // biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined