@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
@@ -0,0 +1,42 @@
1
+ 'use client';
2
+
3
+ import type { ContractType } from '../../../../_internal';
4
+ import { BaseCard } from '../components/BaseCard';
5
+ import { NonTradableInventoryFooter } from '../components/footer';
6
+ import type { NonTradableInventoryCardProps } from '../types';
7
+
8
+ export function NonTradableInventoryCard({
9
+ collectibleId,
10
+ chainId,
11
+ collectionAddress,
12
+ collectionType,
13
+ assetSrcPrefixUrl,
14
+ cardLoading,
15
+ balance,
16
+ balanceIsLoading,
17
+ collectibleMetadata,
18
+ }: NonTradableInventoryCardProps) {
19
+ return (
20
+ <BaseCard
21
+ collectibleId={collectibleId}
22
+ image={collectibleMetadata.image}
23
+ video={collectibleMetadata.video}
24
+ animationUrl={collectibleMetadata.animation_url}
25
+ chainId={chainId}
26
+ collectionAddress={collectionAddress}
27
+ collectionType={collectionType}
28
+ assetSrcPrefixUrl={assetSrcPrefixUrl}
29
+ cardLoading={cardLoading || balanceIsLoading}
30
+ contractType={collectionType as ContractType}
31
+ isShop={false}
32
+ name={collectibleMetadata.name}
33
+ >
34
+ <NonTradableInventoryFooter
35
+ name={collectibleMetadata.name || ''}
36
+ type={collectionType as ContractType}
37
+ balance={balance}
38
+ decimals={collectibleMetadata.decimals}
39
+ />
40
+ </BaseCard>
41
+ );
42
+ }
@@ -1,11 +1,11 @@
1
1
  'use client';
2
2
 
3
- import { CollectibleCardAction } from '../../../../../types';
3
+ import { type CardType, CollectibleCardAction } from '../../../../../types';
4
4
  import { ContractType } from '../../../../_internal';
5
5
  import { useCurrency } from '../../../../hooks/data/market/useCurrency';
6
6
  import { ActionButtonWrapper } from '../components/ActionButtonWrapper';
7
7
  import { BaseCard } from '../components/BaseCard';
8
- import { Footer } from '../Footer';
8
+ import { Footer } from '../components/footer';
9
9
  import type { ShopCollectibleCardProps } from '../types';
10
10
 
11
11
  export function ShopCard({
@@ -15,7 +15,7 @@ export function ShopCard({
15
15
  collectionType,
16
16
  assetSrcPrefixUrl,
17
17
  cardLoading,
18
- marketplaceType,
18
+ cardType,
19
19
  salesContractAddress,
20
20
  tokenMetadata,
21
21
  salePrice,
@@ -23,6 +23,7 @@ export function ShopCard({
23
23
  quantityInitial,
24
24
  quantityRemaining,
25
25
  unlimitedSupply,
26
+ hideQuantitySelector,
26
27
  }: ShopCollectibleCardProps) {
27
28
  const { data: saleCurrency, isLoading: saleCurrencyLoading } = useCurrency({
28
29
  chainId,
@@ -35,8 +36,6 @@ export function ShopCard({
35
36
  },
36
37
  });
37
38
 
38
- const isLoading = cardLoading || saleCurrencyLoading;
39
-
40
39
  if (!tokenMetadata || !salePrice) {
41
40
  console.error('Token metadata or sale price is undefined', {
42
41
  tokenMetadata,
@@ -53,8 +52,9 @@ export function ShopCard({
53
52
 
54
53
  const action = CollectibleCardAction.BUY;
55
54
 
56
- const mediaClassName =
57
- quantityRemaining === '0' || quantityRemaining === undefined
55
+ const mediaClassName = unlimitedSupply
56
+ ? 'opacity-100'
57
+ : quantityRemaining === '0' || quantityRemaining === undefined
58
58
  ? 'opacity-50'
59
59
  : 'opacity-100';
60
60
 
@@ -65,23 +65,28 @@ export function ShopCard({
65
65
  collectionAddress={collectionAddress}
66
66
  collectionType={collectionType}
67
67
  assetSrcPrefixUrl={assetSrcPrefixUrl}
68
- cardLoading={cardLoading}
69
- marketplaceType={marketplaceType}
70
- isLoading={isLoading}
68
+ cardLoading={cardLoading || saleCurrencyLoading}
69
+ cardType={cardType}
71
70
  name={tokenMetadata.name || ''}
72
71
  image={tokenMetadata.image}
73
72
  video={tokenMetadata.video}
74
73
  animationUrl={tokenMetadata.animation_url}
75
74
  mediaClassName={mediaClassName}
75
+ contractType={collectionType as ContractType}
76
+ isShop={true}
77
+ hideQuantitySelector={hideQuantitySelector}
76
78
  >
77
79
  <Footer
80
+ chainId={chainId}
81
+ collectionAddress={collectionAddress}
82
+ collectibleId={collectibleId}
78
83
  name={tokenMetadata.name || ''}
79
84
  type={collectionType}
80
85
  decimals={tokenMetadata.decimals}
81
86
  quantityInitial={quantityInitial}
82
87
  quantityRemaining={quantityRemaining}
83
88
  unlimitedSupply={unlimitedSupply}
84
- marketplaceType={marketplaceType}
89
+ cardType={cardType as CardType}
85
90
  salePriceAmount={salePrice?.amount}
86
91
  salePriceCurrency={saleCurrency}
87
92
  />
@@ -93,7 +98,7 @@ export function ShopCard({
93
98
  tokenId={collectibleId}
94
99
  action={action}
95
100
  owned={false}
96
- marketplaceType={marketplaceType}
101
+ cardType={cardType as CardType}
97
102
  salesContractAddress={salesContractAddress}
98
103
  salePrice={salePrice}
99
104
  quantityDecimals={quantityDecimals}
@@ -199,7 +199,7 @@ describe('BuyModalRouter', () => {
199
199
  collectibleId: '1',
200
200
  marketplace: MarketplaceKind.sequence_marketplace_v2,
201
201
  orderId: '1',
202
- marketplaceType: 'market',
202
+ cardType: 'market',
203
203
  },
204
204
  analyticsFn: mockAnalyticsFn,
205
205
  });
@@ -235,7 +235,7 @@ describe('BuyModalRouter', () => {
235
235
  collectibleId: '1',
236
236
  marketplace: MarketplaceKind.sequence_marketplace_v2,
237
237
  orderId: '1',
238
- marketplaceType: 'market',
238
+ cardType: 'market',
239
239
  },
240
240
  analyticsFn: mockAnalyticsFn,
241
241
  });
@@ -289,7 +289,7 @@ describe('BuyModalRouter', () => {
289
289
 
290
290
  render(<BuyModalRouter />);
291
291
 
292
- expect(screen.getByText('Loading Sequence Pay')).toBeInTheDocument();
292
+ expect(screen.getByText('Loading payment options')).toBeInTheDocument();
293
293
  });
294
294
  });
295
295
 
@@ -309,7 +309,7 @@ describe('BuyModalRouter', () => {
309
309
  amount: '1000000000000000000',
310
310
  currencyAddress: '0x0' as `0x${string}`,
311
311
  },
312
- marketplaceType: 'shop',
312
+ cardType: 'shop',
313
313
  },
314
314
  analyticsFn: mockAnalyticsFn,
315
315
  });
@@ -350,7 +350,7 @@ describe('BuyModalRouter', () => {
350
350
  amount: '1000000000000000000',
351
351
  currencyAddress: '0x0' as `0x${string}`,
352
352
  },
353
- marketplaceType: 'shop',
353
+ cardType: 'shop',
354
354
  },
355
355
  analyticsFn: mockAnalyticsFn,
356
356
  });
@@ -390,7 +390,7 @@ describe('BuyModalRouter', () => {
390
390
  amount: '1000000000000000000',
391
391
  currencyAddress: '0x0' as `0x${string}`,
392
392
  },
393
- marketplaceType: 'shop',
393
+ cardType: 'shop',
394
394
  },
395
395
  analyticsFn: mockAnalyticsFn,
396
396
  });
@@ -410,7 +410,7 @@ describe('BuyModalRouter', () => {
410
410
 
411
411
  render(<BuyModalRouter />);
412
412
 
413
- expect(screen.getByText('Loading Sequence Pay')).toBeInTheDocument();
413
+ expect(screen.getByText('Loading payment options')).toBeInTheDocument();
414
414
  });
415
415
  });
416
416
 
@@ -474,7 +474,7 @@ describe('BuyModalRouter', () => {
474
474
 
475
475
  render(<BuyModalRouter />);
476
476
 
477
- expect(screen.getByText('Loading Sequence Pay')).toBeInTheDocument();
477
+ expect(screen.getByText('Loading payment options')).toBeInTheDocument();
478
478
  });
479
479
 
480
480
  it('should show error modal for unsupported configuration', () => {
@@ -491,7 +491,7 @@ describe('BuyModalRouter', () => {
491
491
  amount: '1000000000000000000',
492
492
  currencyAddress: '0x0' as `0x${string}`,
493
493
  },
494
- marketplaceType: 'shop',
494
+ cardType: 'shop',
495
495
  },
496
496
  analyticsFn: mockAnalyticsFn,
497
497
  });
@@ -528,7 +528,7 @@ describe('BuyModalRouter', () => {
528
528
  collectibleId: '1',
529
529
  marketplace: MarketplaceKind.sequence_marketplace_v2,
530
530
  orderId: '1',
531
- // marketplaceType not specified - should default to MARKET
531
+ // cardType not specified - should default to MARKET
532
532
  },
533
533
  analyticsFn: mockAnalyticsFn,
534
534
  });
@@ -80,7 +80,7 @@ describe('ERC1155ShopModal', () => {
80
80
  amount: mockShopData.salePrice.amount,
81
81
  currencyAddress: mockShopData.salePrice.currencyAddress as Address,
82
82
  },
83
- marketplaceType: 'shop',
83
+ cardType: 'shop',
84
84
  },
85
85
  analyticsFn: mockAnalyticsFn,
86
86
  });
@@ -168,7 +168,7 @@ describe('ERC1155ShopModal', () => {
168
168
  />,
169
169
  );
170
170
 
171
- expect(screen.getByText('Loading Sequence Pay')).toBeInTheDocument();
171
+ expect(screen.getByText('Loading payment options')).toBeInTheDocument();
172
172
  expect(mockOpenCheckoutModal).not.toHaveBeenCalled();
173
173
  });
174
174
 
@@ -388,7 +388,7 @@ describe('ERC1155ShopModal', () => {
388
388
  />,
389
389
  );
390
390
 
391
- expect(screen.getByText('Loading Sequence Pay')).toBeInTheDocument();
391
+ expect(screen.getByText('Loading payment options')).toBeInTheDocument();
392
392
  expect(mockUseERC1155Checkout).toHaveBeenCalledWith(
393
393
  expect.objectContaining({
394
394
  chainId: 137,
@@ -25,7 +25,7 @@
25
25
  // it("should not render when isOpen is false", () => {
26
26
  // render(<BuyModal />);
27
27
 
28
- // expect(screen.queryByText("Loading Sequence Pay")).not.toBeInTheDocument();
28
+ // expect(screen.queryByText("Loading payment options")).not.toBeInTheDocument();
29
29
  // expect(screen.queryByText("Checkout")).not.toBeInTheDocument();
30
30
  // expect(screen.queryByText("Select Quantity")).not.toBeInTheDocument();
31
31
  // });
@@ -81,7 +81,7 @@
81
81
  // });
82
82
  // render(<BuyModal />);
83
83
  // // First should show loading
84
- // expect(screen.getByText("Loading Sequence Pay")).toBeInTheDocument();
84
+ // expect(screen.getByText("Loading payment options")).toBeInTheDocument();
85
85
  // // Then should show quantity modal for ERC1155
86
86
  // await waitFor(
87
87
  // () => {
@@ -107,6 +107,6 @@
107
107
  // render(<BuyModal />);
108
108
 
109
109
  // // Should show loading modal
110
- // expect(screen.getByText("Loading Sequence Pay")).toBeInTheDocument();
110
+ // expect(screen.getByText("Loading payment options")).toBeInTheDocument();
111
111
  // });
112
112
  // });
@@ -60,7 +60,7 @@ describe('ERC1155QuantityModal', () => {
60
60
  collectionAddress: '0x123' as `0x${string}`,
61
61
  collectibleId: '1',
62
62
  marketplace: MarketplaceKind.sequence_marketplace_v2,
63
- marketplaceType: 'market',
63
+ cardType: 'market',
64
64
  },
65
65
  analyticsFn,
66
66
  });
@@ -75,7 +75,7 @@ describe('ERC1155QuantityModal', () => {
75
75
  render(
76
76
  <ERC1155QuantityModal
77
77
  order={testOrder}
78
- marketplaceType={'market'}
78
+ cardType={'market'}
79
79
  chainId={1}
80
80
  quantityDecimals={0}
81
81
  quantityRemaining="10"
@@ -119,7 +119,7 @@ describe('ERC1155QuantityModal', () => {
119
119
  render(
120
120
  <ERC1155QuantityModal
121
121
  order={testOrder}
122
- marketplaceType={'market'}
122
+ cardType={'market'}
123
123
  chainId={1}
124
124
  quantityDecimals={0}
125
125
  quantityRemaining="10"
@@ -162,7 +162,7 @@ describe('ERC1155QuantityModal', () => {
162
162
  render(
163
163
  <ERC1155QuantityModal
164
164
  order={testOrder}
165
- marketplaceType={'market'}
165
+ cardType={'market'}
166
166
  chainId={1}
167
167
  quantityDecimals={0}
168
168
  quantityRemaining="10"
@@ -210,7 +210,7 @@ describe('ERC1155QuantityModal', () => {
210
210
  render(
211
211
  <ERC1155QuantityModal
212
212
  order={testOrder}
213
- marketplaceType={'market'}
213
+ cardType={'market'}
214
214
  chainId={1}
215
215
  quantityDecimals={0}
216
216
  quantityRemaining="10"
@@ -239,7 +239,7 @@ describe('ERC1155QuantityModal', () => {
239
239
  // render(
240
240
  // <ERC1155QuantityModal
241
241
  // order={testOrder}
242
- // marketplaceType={'market'}
242
+ // cardType={'market'}
243
243
  // chainId={1}
244
244
  // />
245
245
  // );
@@ -26,7 +26,7 @@ describe('BuyModal Store', () => {
26
26
  collectionAddress: '0x123' as `0x${string}`,
27
27
  collectibleId: '1',
28
28
  marketplace: MarketplaceKind.sequence_marketplace_v2,
29
- marketplaceType: 'market',
29
+ cardType: 'market',
30
30
  };
31
31
 
32
32
  buyModalStore.send({
@@ -49,7 +49,7 @@ describe('BuyModal Store', () => {
49
49
  collectionAddress: '0x123' as `0x${string}`,
50
50
  collectibleId: '1',
51
51
  marketplace: MarketplaceKind.sequence_marketplace_v2,
52
- marketplaceType: 'market',
52
+ cardType: 'market',
53
53
  };
54
54
 
55
55
  buyModalStore.send({
@@ -76,7 +76,7 @@ describe('BuyModal Store', () => {
76
76
  collectionAddress: '0x123' as `0x${string}`,
77
77
  collectibleId: '1',
78
78
  marketplace: MarketplaceKind.sequence_marketplace_v2,
79
- marketplaceType: 'market',
79
+ cardType: 'market',
80
80
  };
81
81
 
82
82
  buyModalStore.send({
@@ -48,7 +48,7 @@ export const BuyModalRouter = () => {
48
48
  isOpen={true}
49
49
  chainId={chainId}
50
50
  onClose={() => buyModalStore.send({ type: 'close' })}
51
- title="Loading Sequence Pay"
51
+ title="Loading payment options"
52
52
  />
53
53
  );
54
54
  }
@@ -61,7 +61,7 @@ export const BuyModalRouter = () => {
61
61
  isOpen={true}
62
62
  chainId={chainId}
63
63
  onClose={() => buyModalStore.send({ type: 'close' })}
64
- title="Loading Sequence Pay"
64
+ title="Loading payment options"
65
65
  />
66
66
  );
67
67
  }
@@ -80,7 +80,7 @@ export const BuyModalRouter = () => {
80
80
  isOpen={true}
81
81
  chainId={chainId}
82
82
  onClose={() => buyModalStore.send({ type: 'close' })}
83
- title="Loading Sequence Pay"
83
+ title="Loading payment options"
84
84
  />
85
85
  );
86
86
  }
@@ -100,7 +100,7 @@ export const BuyModalRouter = () => {
100
100
  isOpen={true}
101
101
  chainId={chainId}
102
102
  onClose={() => buyModalStore.send({ type: 'close' })}
103
- title="Loading Sequence Pay"
103
+ title="Loading payment options"
104
104
  />
105
105
  );
106
106
  }
@@ -122,7 +122,7 @@ export const BuyModalRouter = () => {
122
122
  isOpen={true}
123
123
  chainId={chainId}
124
124
  onClose={() => buyModalStore.send({ type: 'close' })}
125
- title="Loading Sequence Pay"
125
+ title="Loading payment options"
126
126
  />
127
127
  );
128
128
  }
@@ -8,6 +8,9 @@ import type { ContractInfo, TokenMetadata } from '@0xsequence/metadata';
8
8
  import { useEffect } from 'react';
9
9
  import type { Address } from 'viem';
10
10
  import type { CheckoutOptions, Order } from '../../../../_internal';
11
+ import { ErrorLogBox } from '../../../components/_internals/ErrorLogBox';
12
+ import { ActionModal } from '../../_internal/components/actionModal';
13
+ import { LoadingModal } from '../../_internal/components/actionModal/LoadingModal';
11
14
  import { usePaymentModalParams } from '../hooks/usePaymentModalParams';
12
15
  import {
13
16
  buyModalStore,
@@ -36,7 +39,7 @@ export const ERC1155BuyModal = ({
36
39
  }: ERC1155BuyModalProps) => {
37
40
  const quantity = useQuantity();
38
41
  const modalProps = useBuyModalProps();
39
- const marketplaceType = modalProps.marketplaceType || 'market';
42
+ const cardType = modalProps.cardType || 'market';
40
43
  const isShop = isShopProps(modalProps);
41
44
  const quantityDecimals = isShop
42
45
  ? modalProps.quantityDecimals
@@ -44,20 +47,43 @@ export const ERC1155BuyModal = ({
44
47
  const quantityRemaining = isShop
45
48
  ? modalProps.quantityRemaining?.toString()
46
49
  : order?.quantityRemaining;
50
+ const unlimitedSupply = isShop ? modalProps.unlimitedSupply : false;
47
51
 
48
- if (!quantity) {
52
+ useEffect(() => {
53
+ if (modalProps.hideQuantitySelector && !quantity) {
54
+ const minQuantity = quantityDecimals > 0 ? 10 ** quantityDecimals : 1;
55
+
56
+ const autoQuantity = unlimitedSupply
57
+ ? minQuantity
58
+ : Math.min(Number(quantityRemaining), minQuantity);
59
+
60
+ buyModalStore.send({
61
+ type: 'setQuantity',
62
+ quantity: autoQuantity,
63
+ });
64
+ }
65
+ }, [
66
+ modalProps.hideQuantitySelector,
67
+ quantity,
68
+ quantityDecimals,
69
+ unlimitedSupply,
70
+ quantityRemaining,
71
+ ]);
72
+
73
+ if (!quantity && !modalProps.hideQuantitySelector) {
49
74
  return (
50
75
  <ERC1155QuantityModal
51
76
  order={order}
52
- marketplaceType={marketplaceType}
77
+ cardType={cardType}
53
78
  quantityDecimals={quantityDecimals}
54
79
  quantityRemaining={quantityRemaining}
80
+ unlimitedSupply={unlimitedSupply}
55
81
  chainId={chainId}
56
82
  />
57
83
  );
58
84
  }
59
85
 
60
- if (!checkoutOptions) {
86
+ if (!checkoutOptions || !quantity) {
61
87
  return null;
62
88
  }
63
89
 
@@ -91,6 +117,7 @@ const Modal = ({
91
117
  data: paymentModalParams,
92
118
  isLoading: isPaymentModalParamsLoading,
93
119
  isError: isPaymentModalParamsError,
120
+ failureReason,
94
121
  } = usePaymentModalParams({
95
122
  address,
96
123
  quantity,
@@ -101,8 +128,43 @@ const Modal = ({
101
128
  enabled: true,
102
129
  });
103
130
 
131
+ if (failureReason) {
132
+ return (
133
+ <ActionModal
134
+ isOpen={true}
135
+ onClose={() => {
136
+ buyModalStore.send({ type: 'close' });
137
+ }}
138
+ title={'An error occurred while purchasing'}
139
+ children={
140
+ <ErrorLogBox
141
+ title={failureReason.name}
142
+ message={failureReason.message}
143
+ error={failureReason}
144
+ />
145
+ }
146
+ ctas={[
147
+ {
148
+ label: 'Close',
149
+ onClick: () => {
150
+ buyModalStore.send({ type: 'close' });
151
+ },
152
+ },
153
+ ]}
154
+ chainId={order.chainId}
155
+ />
156
+ );
157
+ }
158
+
104
159
  if (isPaymentModalParamsLoading || !paymentModalParams) {
105
- return null;
160
+ return (
161
+ <LoadingModal
162
+ isOpen={true}
163
+ chainId={order.chainId}
164
+ onClose={() => buyModalStore.send({ type: 'close' })}
165
+ title="Loading checkout"
166
+ />
167
+ );
106
168
  }
107
169
 
108
170
  if (isPaymentModalParamsError) {
@@ -5,7 +5,7 @@ import { useState } from 'react';
5
5
  import type { Address } from 'viem';
6
6
  import { maxUint256, parseUnits } from 'viem';
7
7
  import { DEFAULT_MARKETPLACE_FEE_PERCENTAGE } from '../../../../../consts';
8
- import type { MarketplaceType } from '../../../../../types';
8
+ import type { CardType } from '../../../../../types';
9
9
  import { formatPriceWithFee } from '../../../../../utils/price';
10
10
  import type { Order } from '../../../../_internal';
11
11
  import { useMarketplaceConfig } from '../../../../hooks';
@@ -18,7 +18,7 @@ const INFINITY_STRING = maxUint256.toString();
18
18
 
19
19
  type ERC1155QuantityModalProps = {
20
20
  order?: Order;
21
- marketplaceType: MarketplaceType;
21
+ cardType: CardType;
22
22
  quantityDecimals: number;
23
23
  quantityRemaining: string;
24
24
  unlimitedSupply?: boolean;
@@ -36,7 +36,7 @@ export const ERC1155QuantityModal = ({
36
36
  unlimitedSupply,
37
37
  salePrice,
38
38
  chainId,
39
- marketplaceType,
39
+ cardType,
40
40
  }: ERC1155QuantityModalProps) => {
41
41
  const isOpen = useIsOpen();
42
42
 
@@ -93,7 +93,7 @@ export const ERC1155QuantityModal = ({
93
93
  quantityStr={localQuantity}
94
94
  salePrice={salePrice}
95
95
  chainId={chainId}
96
- marketplaceType={marketplaceType}
96
+ cardType={cardType}
97
97
  quantityDecimals={quantityDecimals}
98
98
  />
99
99
  </div>
@@ -109,7 +109,7 @@ type TotalPriceProps = {
109
109
  currencyAddress: Address;
110
110
  };
111
111
  chainId: number;
112
- marketplaceType: MarketplaceType;
112
+ cardType: CardType;
113
113
  quantityDecimals: number;
114
114
  };
115
115
 
@@ -118,11 +118,11 @@ const TotalPrice = ({
118
118
  quantityStr,
119
119
  salePrice,
120
120
  chainId,
121
- marketplaceType,
121
+ cardType,
122
122
  quantityDecimals,
123
123
  }: TotalPriceProps) => {
124
- const isShop = marketplaceType === 'shop';
125
- const isMarket = marketplaceType === 'market';
124
+ const isShop = cardType === 'shop';
125
+ const isMarket = cardType === 'market';
126
126
  const { data: marketplaceConfig } = useMarketplaceConfig();
127
127
  const { data: currency, isLoading: isCurrencyLoading } = useCurrency({
128
128
  chainId,
@@ -48,7 +48,7 @@ export const ERC1155ShopModal = ({
48
48
  currencyAddress:
49
49
  (shopData.salePrice?.currencyAddress as Address) ?? zeroAddress,
50
50
  }}
51
- marketplaceType="shop"
51
+ cardType="shop"
52
52
  quantityDecimals={quantityDecimals}
53
53
  quantityRemaining={quantityRemaining}
54
54
  unlimitedSupply={unlimitedSupply}
@@ -115,7 +115,7 @@ const ERC1155SaleContractCheckoutModalOpener = ({
115
115
  isOpen={true}
116
116
  chainId={chainId}
117
117
  onClose={() => buyModalStore.send({ type: 'close' })}
118
- title="Loading Sequence Pay"
118
+ title="Loading payment options"
119
119
  />
120
120
  );
121
121
  }
@@ -8,6 +8,8 @@ import type { ContractInfo, TokenMetadata } from '@0xsequence/metadata';
8
8
  import { useEffect } from 'react';
9
9
  import type { Address } from 'viem';
10
10
  import type { CheckoutOptions, Order } from '../../../../_internal';
11
+ import { ErrorLogBox } from '../../../components/_internals/ErrorLogBox';
12
+ import { ActionModal } from '../../_internal/components/actionModal';
11
13
  import { usePaymentModalParams } from '../hooks/usePaymentModalParams';
12
14
  import { buyModalStore, usePaymentModalState, useQuantity } from '../store';
13
15
 
@@ -39,6 +41,7 @@ export const ERC721BuyModal = ({
39
41
  data: paymentModalParams,
40
42
  isLoading: isPaymentModalParamsLoading,
41
43
  isError: isPaymentModalParamsError,
44
+ failureReason,
42
45
  } = usePaymentModalParams({
43
46
  address,
44
47
  quantity: quantity ?? undefined,
@@ -49,6 +52,34 @@ export const ERC721BuyModal = ({
49
52
  enabled: true,
50
53
  });
51
54
 
55
+ if (failureReason) {
56
+ return (
57
+ <ActionModal
58
+ isOpen={true}
59
+ onClose={() => {
60
+ buyModalStore.send({ type: 'close' });
61
+ }}
62
+ title={'An error occurred while purchasing'}
63
+ children={
64
+ <ErrorLogBox
65
+ title={failureReason.name}
66
+ message={failureReason.message}
67
+ error={failureReason}
68
+ />
69
+ }
70
+ ctas={[
71
+ {
72
+ label: 'Close',
73
+ onClick: () => {
74
+ buyModalStore.send({ type: 'close' });
75
+ },
76
+ },
77
+ ]}
78
+ chainId={order.chainId}
79
+ />
80
+ );
81
+ }
82
+
52
83
  // Show loading or error states would be handled by parent router
53
84
  if (isPaymentModalParamsLoading || !paymentModalParams) {
54
85
  return null;