@0xsequence/marketplace-sdk 0.10.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. package/.storybook/ConnectionStatus.tsx +289 -0
  2. package/.storybook/main.ts +20 -1
  3. package/.storybook/preview.tsx +106 -0
  4. package/CHANGELOG.md +58 -0
  5. package/compile-tailwind.js +54 -0
  6. package/dist/{CalendarIcon-CqsuAuCm.js → BellIcon-Cb9YEUzJ.js} +76 -29
  7. package/dist/BellIcon-Cb9YEUzJ.js.map +1 -0
  8. package/dist/CollectibleCard-CYyWzk6u.d.ts +8 -0
  9. package/dist/{_internal-C75gOSNo.js → _internal-DslqcNC1.js} +10 -2
  10. package/dist/_internal-DslqcNC1.js.map +1 -0
  11. package/dist/{alien_swap-CYv6YlOF.js → alien_swap-DJ98gZQp.js} +1 -1
  12. package/dist/{alien_swap-CYv6YlOF.js.map → alien_swap-DJ98gZQp.js.map} +1 -1
  13. package/dist/{api-BiMGqWdz.js → api-BmEQfSQa.js} +24 -4
  14. package/dist/api-BmEQfSQa.js.map +1 -0
  15. package/dist/{aqua-xyz-Bzn5baeH.js → aqua-xyz-n1PcCCZ0.js} +1 -1
  16. package/dist/{aqua-xyz-Bzn5baeH.js.map → aqua-xyz-n1PcCCZ0.js.map} +1 -1
  17. package/dist/{aura-DzIWh8WT.js → aura-Bevk_YkS.js} +1 -1
  18. package/dist/{aura-DzIWh8WT.js.map → aura-Bevk_YkS.js.map} +1 -1
  19. package/dist/{blur-DSH-Cbpj.js → blur-B5sHErx5.js} +1 -1
  20. package/dist/{blur-DSH-Cbpj.js.map → blur-B5sHErx5.js.map} +1 -1
  21. package/dist/builder-api-BFuZNOaN.js.map +1 -1
  22. package/dist/builder.gen-B9wR2nvF.js.map +1 -1
  23. package/dist/{coinbase-Df8URNxq.js → coinbase-D30W-lxA.js} +1 -1
  24. package/dist/{coinbase-Df8URNxq.js.map → coinbase-D30W-lxA.js.map} +1 -1
  25. package/dist/contracts-DPHFT2TA.js +97 -0
  26. package/dist/contracts-DPHFT2TA.js.map +1 -0
  27. package/dist/{create-config-fQ-jbJD1.js → create-config-6uynwTeb.js} +2 -2
  28. package/dist/create-config-6uynwTeb.js.map +1 -0
  29. package/dist/{create-config-DKJ-F0jc.d.ts → create-config-lLSrnkbb.d.ts} +253 -226
  30. package/dist/{element-Cx6uJu5N.js → element-C2NJexro.js} +1 -1
  31. package/dist/{element-Cx6uJu5N.js.map → element-C2NJexro.js.map} +1 -1
  32. package/dist/filters-B8XS4tFH.d.ts +31 -0
  33. package/dist/{foundation-D6U4aRLN.js → foundation-QgY1lvUj.js} +1 -1
  34. package/dist/{foundation-D6U4aRLN.js.map → foundation-QgY1lvUj.js.map} +1 -1
  35. package/dist/index-BGJXqdg6.d.ts +131 -0
  36. package/dist/index-BuY_NKSX.d.ts +222 -0
  37. package/dist/{index-BhVFc2rX.d.ts → index-ByW08-Z7.d.ts} +4 -4
  38. package/dist/index-C7xKVIr4.d.ts +447 -0
  39. package/dist/index-CIkpYltz.d.ts +61 -0
  40. package/dist/index-CQnGIGb5.d.ts +346 -0
  41. package/dist/{index-CUwMH7Ht.d.ts → index-CY5UEX4h.d.ts} +2 -2
  42. package/dist/{index-C5aqo8xu.d.ts → index-ChSKFOMx.d.ts} +1 -1
  43. package/dist/{index-BAhaEfqY.d.ts → index-CtF7EE2z.d.ts} +1 -1
  44. package/dist/index-D2HohSwO.d.ts +293 -0
  45. package/dist/index-D71J5Ghd.d.ts +813 -0
  46. package/dist/{index-CKrYP7ot.d.ts → index-DNU9xoGK.d.ts} +14 -22
  47. package/dist/index-DX0Vm8HY.d.ts +2541 -0
  48. package/dist/index-DonXiSg2.d.ts +902 -0
  49. package/dist/index-Dpyp7fQz.d.ts +298 -0
  50. package/dist/index-PSPpUxCE.d.ts +18 -0
  51. package/dist/{index-136YrWDH.d.ts → index-QxxS6f9r.d.ts} +1 -1
  52. package/dist/index-ThUIs-Sy.d.ts +306 -0
  53. package/dist/index.d.ts +8 -8
  54. package/dist/index.js +12 -13
  55. package/dist/listCollectiblesPaginated--AgXjajA.d.ts +166 -0
  56. package/dist/listCollections-Bbzbz7qW.d.ts +624 -0
  57. package/dist/{looks-rare-ChBRBY-p.js → looks-rare-CMVPny4v.js} +1 -1
  58. package/dist/{looks-rare-ChBRBY-p.js.map → looks-rare-CMVPny4v.js.map} +1 -1
  59. package/dist/lowestListing-BQHfQpfg.d.ts +144 -0
  60. package/dist/{magic-eden-D5U7N1xL.js → magic-eden-IrWp2ZXk.js} +1 -1
  61. package/dist/{magic-eden-D5U7N1xL.js.map → magic-eden-IrWp2ZXk.js.map} +1 -1
  62. package/dist/{manifold-CtLF52zU.js → manifold-DeOE-p2G.js} +1 -1
  63. package/dist/{manifold-CtLF52zU.js.map → manifold-DeOE-p2G.js.map} +1 -1
  64. package/dist/marketCurrencies-CmOMCCOr.d.ts +122 -0
  65. package/dist/{marketplace-DmFiyBoS.js → marketplace-B5Z8G03R.js} +1 -1
  66. package/dist/{marketplace-DmFiyBoS.js.map → marketplace-B5Z8G03R.js.map} +1 -1
  67. package/dist/{marketplace-logos-Cd6W-qOq.js → marketplace-logos-D8t86gsW.js} +21 -21
  68. package/dist/{marketplace-logos-Cd6W-qOq.js.map → marketplace-logos-D8t86gsW.js.map} +1 -1
  69. package/dist/{marketplace.gen-HpnpL5xU.js → marketplace.gen-JzNYpM0U.js} +1 -1
  70. package/dist/{marketplace.gen-HpnpL5xU.js.map → marketplace.gen-JzNYpM0U.js.map} +1 -1
  71. package/dist/{marketplaceConfig-GQTTmihy.js → marketplaceConfig-sNh-MA5M.js} +14 -3
  72. package/dist/marketplaceConfig-sNh-MA5M.js.map +1 -0
  73. package/dist/{mintify-Bi3Bce68.js → mintify-DG3GrljJ.js} +1 -1
  74. package/dist/{mintify-Bi3Bce68.js.map → mintify-DG3GrljJ.js.map} +1 -1
  75. package/dist/{network-CGD0oKtS.js → network-DnBEe1Ur.js} +2 -2
  76. package/dist/{network-CGD0oKtS.js.map → network-DnBEe1Ur.js.map} +1 -1
  77. package/dist/{nftx-BDQZjtkX.js → nftx-B3LH-ZYM.js} +1 -1
  78. package/dist/{nftx-BDQZjtkX.js.map → nftx-B3LH-ZYM.js.map} +1 -1
  79. package/dist/{okx-D4meadLe.js → okx-CRFLrT3Z.js} +1 -1
  80. package/dist/{okx-D4meadLe.js.map → okx-CRFLrT3Z.js.map} +1 -1
  81. package/dist/{open-sea-DN0hgfVw.js → open-sea-cOpfl366.js} +1 -1
  82. package/dist/{open-sea-DN0hgfVw.js.map → open-sea-cOpfl366.js.map} +1 -1
  83. package/dist/primary-sale-CLjXRrDj.js +3048 -0
  84. package/dist/primary-sale-CLjXRrDj.js.map +1 -0
  85. package/dist/queries-BYT4GJw3.js +1478 -0
  86. package/dist/queries-BYT4GJw3.js.map +1 -0
  87. package/dist/query-BTe7Wkrs.d.ts +31 -0
  88. package/dist/{rarible-B0xlD88A.js → rarible-guwUx4cn.js} +1 -1
  89. package/dist/{rarible-B0xlD88A.js.map → rarible-guwUx4cn.js.map} +1 -1
  90. package/dist/react/_internal/api/index.d.ts +1 -1
  91. package/dist/react/_internal/api/index.js +4 -6
  92. package/dist/react/_internal/databeat/index.d.ts +1 -1
  93. package/dist/react/_internal/databeat/index.js +24 -4
  94. package/dist/react/_internal/index.d.ts +1 -1
  95. package/dist/react/_internal/index.js +7 -10
  96. package/dist/react/_internal/wagmi/index.d.ts +1 -1
  97. package/dist/react/_internal/wagmi/index.js +3 -4
  98. package/dist/react/hooks/config/index.d.ts +9 -0
  99. package/dist/react/hooks/config/index.js +26 -0
  100. package/dist/react/hooks/contracts/index.d.ts +7 -0
  101. package/dist/react/hooks/contracts/index.js +16 -0
  102. package/dist/react/hooks/data/collectibles/index.d.ts +5 -0
  103. package/dist/react/hooks/data/collectibles/index.js +26 -0
  104. package/dist/react/hooks/data/collections/index.d.ts +11 -0
  105. package/dist/react/hooks/data/collections/index.js +26 -0
  106. package/dist/react/hooks/data/index.d.ts +29 -0
  107. package/dist/react/hooks/data/index.js +26 -0
  108. package/dist/react/hooks/data/inventory/index.d.ts +29 -0
  109. package/dist/react/hooks/data/inventory/index.js +26 -0
  110. package/dist/react/hooks/data/market/index.d.ts +12 -0
  111. package/dist/react/hooks/data/market/index.js +26 -0
  112. package/dist/react/hooks/data/orders/index.d.ts +11 -0
  113. package/dist/react/hooks/data/orders/index.js +26 -0
  114. package/dist/react/hooks/data/primary-sales/index.d.ts +29 -0
  115. package/dist/react/hooks/data/primary-sales/index.js +26 -0
  116. package/dist/react/hooks/data/tokens/index.d.ts +5 -0
  117. package/dist/react/hooks/data/tokens/index.js +26 -0
  118. package/dist/react/hooks/index.d.ts +29 -13
  119. package/dist/react/hooks/index.js +22 -23
  120. package/dist/react/hooks/transactions/index.d.ts +3 -0
  121. package/dist/react/hooks/transactions/index.js +26 -0
  122. package/dist/react/hooks/ui/index.d.ts +5 -0
  123. package/dist/react/hooks/ui/index.js +26 -0
  124. package/dist/react/hooks/utils/index.d.ts +29 -0
  125. package/dist/react/hooks/utils/index.js +26 -0
  126. package/dist/react/index.d.ts +29 -13
  127. package/dist/react/index.js +22 -28
  128. package/dist/react/queries/index.d.ts +16 -9
  129. package/dist/react/queries/index.js +17 -20
  130. package/dist/react/ssr/index.d.ts +7 -7
  131. package/dist/react/ssr/index.js +8 -11
  132. package/dist/react/ssr/index.js.map +1 -1
  133. package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +4 -3
  134. package/dist/react/ui/components/marketplace-collectible-card/index.js +21 -27
  135. package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +2 -2
  136. package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +8 -11
  137. package/dist/react/ui/components/marketplace-logos/index.d.ts +21 -21
  138. package/dist/react/ui/components/marketplace-logos/index.js +1 -1
  139. package/dist/react/ui/icons/index.js +11 -13
  140. package/dist/react/ui/index.d.ts +4 -3
  141. package/dist/react/ui/index.js +21 -27
  142. package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +3 -27
  143. package/dist/react/ui/modals/_internal/components/actionModal/index.js +22 -24
  144. package/dist/react/utils/index.d.ts +19 -0
  145. package/dist/react/utils/index.js +9 -0
  146. package/dist/{react-DeDyTgo7.css → react-CbqXKOpt.css} +1 -1
  147. package/dist/{react-DeDyTgo7.css.map → react-CbqXKOpt.css.map} +1 -1
  148. package/dist/react-Ceq8mamy.js +12494 -0
  149. package/dist/react-Ceq8mamy.js.map +1 -0
  150. package/dist/{sequence-BIrOVRXO.js → sequence-Dt2Xo7Fa.js} +1 -1
  151. package/dist/{sequence-BIrOVRXO.js.map → sequence-Dt2Xo7Fa.js.map} +1 -1
  152. package/dist/{index.css → styles/index.css} +270 -131
  153. package/dist/{sudo-swap-BPMon-M5.js → sudo-swap-CGoARONs.js} +1 -1
  154. package/dist/{sudo-swap-BPMon-M5.js.map → sudo-swap-CGoARONs.js.map} +1 -1
  155. package/dist/{super-rare-kPN6Ua8i.js → super-rare-NeQtZjcn.js} +1 -1
  156. package/dist/{super-rare-kPN6Ua8i.js.map → super-rare-NeQtZjcn.js.map} +1 -1
  157. package/dist/{token-CHSBPYVG.js → token-D9gZVqbX.js} +1 -1
  158. package/dist/{token-CHSBPYVG.js.map → token-D9gZVqbX.js.map} +1 -1
  159. package/dist/tokenSupplies-DXtkRYNO.d.ts +147 -0
  160. package/dist/{transaction-CnctdNzS.js → transaction-CC2KxNF6.js} +21 -18
  161. package/dist/transaction-CC2KxNF6.js.map +1 -0
  162. package/dist/types/index.d.ts +1 -1
  163. package/dist/types/index.js +2 -2
  164. package/dist/{CollectibleCard-Dd-CG6dE.d.ts → types-BlCa0TVE.d.ts} +5 -8
  165. package/dist/{types-Yw2ywj6j.js → types-G2PWxiJR.js} +1 -1
  166. package/dist/{types-Yw2ywj6j.js.map → types-G2PWxiJR.js.map} +1 -1
  167. package/dist/utils/abi/index.d.ts +5 -5
  168. package/dist/utils/abi/index.js +5 -5
  169. package/dist/utils/abi/marketplace/index.d.ts +1 -1
  170. package/dist/utils/abi/marketplace/index.js +1 -1
  171. package/dist/utils/abi/primary-sale/index.d.ts +2 -2
  172. package/dist/utils/abi/primary-sale/index.js +2 -2
  173. package/dist/utils/abi/token/index.d.ts +1 -1
  174. package/dist/utils/abi/token/index.js +1 -1
  175. package/dist/utils/index.d.ts +7 -7
  176. package/dist/utils/index.js +11 -12
  177. package/dist/{utils-9RXDgcBl.js → utils-CKJd-CRf.js} +3 -3
  178. package/dist/{utils-9RXDgcBl.js.map → utils-CKJd-CRf.js.map} +1 -1
  179. package/dist/{utils-DjVJ9tov.js → utils-wquIhK6T.js} +2 -2
  180. package/dist/{utils-DjVJ9tov.js.map → utils-wquIhK6T.js.map} +1 -1
  181. package/dist/waitForTransactionReceipt-DZxAuR9N.js +27 -0
  182. package/dist/waitForTransactionReceipt-DZxAuR9N.js.map +1 -0
  183. package/dist/{x2y2-BLz-_Q2O.js → x2y2-CQdg24VP.js} +1 -1
  184. package/dist/{x2y2-BLz-_Q2O.js.map → x2y2-CQdg24VP.js.map} +1 -1
  185. package/dist/{zora-UGhKs-aL.js → zora-DdEydy4L.js} +1 -1
  186. package/dist/{zora-UGhKs-aL.js.map → zora-DdEydy4L.js.map} +1 -1
  187. package/package.json +44 -41
  188. package/postcss.config.mjs +72 -5
  189. package/public/mockServiceWorker.js +344 -0
  190. package/src/react/_internal/api/__mocks__/builder.msw.ts +6 -0
  191. package/src/react/_internal/api/__mocks__/metadata.msw.ts +12 -1
  192. package/src/react/_internal/api/builder.gen.ts +11 -7
  193. package/src/react/_internal/databeat/index.ts +1 -1
  194. package/src/react/_internal/databeat/types.ts +1 -0
  195. package/src/react/_internal/query-meta.ts +3 -0
  196. package/src/react/_internal/utils.ts +2 -0
  197. package/src/react/_internal/wagmi/create-config.ts +1 -1
  198. package/src/react/_internal/wagmi/get-connectors.ts +1 -1
  199. package/src/react/hooks/{__tests__ → config}/__snapshots__/useMarketplaceConfig.test.tsx.snap +6 -0
  200. package/src/react/hooks/config/index.ts +3 -0
  201. package/src/react/hooks/{useConfig.tsx → config/useConfig.tsx} +2 -2
  202. package/src/react/hooks/config/useConnectorMetadata.tsx +16 -0
  203. package/src/react/hooks/{__tests__ → config}/useMarketplaceConfig.test.tsx +1 -1
  204. package/src/react/hooks/{useMarketplaceConfig.tsx → config/useMarketplaceConfig.tsx} +2 -2
  205. package/src/react/hooks/contracts/index.ts +1 -0
  206. package/src/react/hooks/contracts/useSalesContractABI.ts +174 -0
  207. package/src/react/hooks/data/collectibles/index.ts +6 -0
  208. package/src/react/hooks/{__tests__ → data/collectibles}/useBalanceOfCollectible.laos.test.tsx +4 -4
  209. package/src/react/hooks/{__tests__ → data/collectibles}/useBalanceOfCollectible.test.tsx +2 -2
  210. package/src/react/hooks/{useBalanceOfCollectible.tsx → data/collectibles/useBalanceOfCollectible.tsx} +4 -4
  211. package/src/react/hooks/{__tests__ → data/collectibles}/useCollectible.test.tsx +3 -3
  212. package/src/react/hooks/{useCollectible.tsx → data/collectibles/useCollectible.tsx} +3 -3
  213. package/src/react/hooks/{__tests__ → data/collectibles}/useCountOfCollectables.test.tsx +4 -4
  214. package/src/react/hooks/{useCountOfCollectables.tsx → data/collectibles/useCountOfCollectables.tsx} +3 -3
  215. package/src/react/hooks/{__tests__ → data/collectibles}/useListCollectibleActivities.test.tsx +3 -3
  216. package/src/react/hooks/{useListCollectibleActivities.tsx → data/collectibles/useListCollectibleActivities.tsx} +3 -3
  217. package/src/react/hooks/{__tests__ → data/collectibles}/useListCollectibles.test.tsx +5 -6
  218. package/src/react/hooks/{useListCollectibles.tsx → data/collectibles/useListCollectibles.tsx} +3 -3
  219. package/src/react/hooks/{__tests__ → data/collectibles}/useListCollectiblesPaginated.test.tsx +4 -4
  220. package/src/react/hooks/{useListCollectiblesPaginated.tsx → data/collectibles/useListCollectiblesPaginated.tsx} +3 -3
  221. package/src/react/hooks/{__tests__ → data/collections}/__snapshots__/useListCollections.test.tsx.snap +10 -0
  222. package/src/react/hooks/data/collections/index.ts +6 -0
  223. package/src/react/hooks/{__tests__ → data/collections}/useCollection.test.tsx +2 -3
  224. package/src/react/hooks/{useCollection.tsx → data/collections/useCollection.tsx} +3 -3
  225. package/src/react/hooks/{__tests__ → data/collections}/useCollectionBalanceDetails.test.tsx +2 -2
  226. package/src/react/hooks/{useCollectionBalanceDetails.tsx → data/collections/useCollectionBalanceDetails.tsx} +3 -3
  227. package/src/react/hooks/{__tests__ → data/collections}/useCollectionDetails.test.tsx +2 -2
  228. package/src/react/hooks/{useCollectionDetails.ts → data/collections/useCollectionDetails.ts} +3 -3
  229. package/src/react/hooks/{__tests__ → data/collections}/useCollectionDetailsPolling.test.tsx +3 -3
  230. package/src/react/hooks/{useCollectionDetailsPolling.tsx → data/collections/useCollectionDetailsPolling.tsx} +4 -4
  231. package/src/react/hooks/{__tests__ → data/collections}/useListCollectionActivities.test.tsx +5 -5
  232. package/src/react/hooks/{useListCollectionActivities.tsx → data/collections/useListCollectionActivities.tsx} +3 -3
  233. package/src/react/hooks/{__tests__ → data/collections}/useListCollections.test.tsx +5 -4
  234. package/src/react/hooks/{useListCollections.tsx → data/collections/useListCollections.tsx} +4 -4
  235. package/src/react/hooks/data/index.ts +6 -0
  236. package/src/react/hooks/data/inventory/index.ts +1 -0
  237. package/src/react/hooks/{__tests__ → data/inventory}/useInventory.test.tsx +4 -4
  238. package/src/react/hooks/{useInventory.tsx → data/inventory/useInventory.tsx} +7 -4
  239. package/src/react/hooks/data/market/index.ts +3 -0
  240. package/src/react/hooks/{__tests__ → data/market}/useCurrency.test.tsx +4 -4
  241. package/src/react/hooks/{useCurrency.tsx → data/market/useCurrency.tsx} +3 -3
  242. package/src/react/hooks/{__tests__ → data/market}/useListMarketCardData.test.tsx +10 -14
  243. package/src/react/hooks/{useListMarketCardData.tsx → data/market/useListMarketCardData.tsx} +6 -6
  244. package/src/react/hooks/{__tests__ → data/market}/useMarketCurrencies.test.tsx +5 -5
  245. package/src/react/hooks/{useMarketCurrencies.tsx → data/market/useMarketCurrencies.tsx} +3 -3
  246. package/src/react/hooks/data/orders/index.ts +7 -0
  247. package/src/react/hooks/{__tests__ → data/orders}/useCountListingsForCollectible.test.tsx +2 -2
  248. package/src/react/hooks/{useCountListingsForCollectible.tsx → data/orders/useCountListingsForCollectible.tsx} +3 -3
  249. package/src/react/hooks/{__tests__ → data/orders}/useCountOffersForCollectible.test.tsx +2 -2
  250. package/src/react/hooks/{useCountOffersForCollectible.tsx → data/orders/useCountOffersForCollectible.tsx} +3 -3
  251. package/src/react/hooks/{__tests__ → data/orders}/useFloorOrder.test.tsx +3 -3
  252. package/src/react/hooks/{useFloorOrder.tsx → data/orders/useFloorOrder.tsx} +3 -3
  253. package/src/react/hooks/{__tests__ → data/orders}/useHighestOffer.test.tsx +3 -3
  254. package/src/react/hooks/{useHighestOffer.tsx → data/orders/useHighestOffer.tsx} +3 -3
  255. package/src/react/hooks/{__tests__ → data/orders}/useListListingsForCollectible.test.tsx +6 -6
  256. package/src/react/hooks/{useListListingsForCollectible.tsx → data/orders/useListListingsForCollectible.tsx} +3 -3
  257. package/src/react/hooks/{__tests__ → data/orders}/useListOffersForCollectible.test.tsx +5 -5
  258. package/src/react/hooks/{useListOffersForCollectible.tsx → data/orders/useListOffersForCollectible.tsx} +4 -4
  259. package/src/react/hooks/{__tests__ → data/orders}/useLowestListing.test.tsx +5 -5
  260. package/src/react/hooks/{useLowestListing.tsx → data/orders/useLowestListing.tsx} +3 -3
  261. package/src/react/hooks/data/primary-sales/index.ts +6 -0
  262. package/src/react/hooks/{useCountOfPrimarySaleItems.tsx → data/primary-sales/useCountOfPrimarySaleItems.tsx} +2 -2
  263. package/src/react/hooks/data/primary-sales/useErc721SalesData.tsx +184 -0
  264. package/src/react/hooks/{useGetCountOfPrimarySaleItems.tsx → data/primary-sales/useGetCountOfPrimarySaleItems.tsx} +4 -4
  265. package/src/react/hooks/{useList1155ShopCardData.tsx → data/primary-sales/useList1155ShopCardData.tsx} +15 -8
  266. package/src/react/hooks/data/primary-sales/useList721ShopCardData.tsx +183 -0
  267. package/src/react/hooks/{useListPrimarySaleItems.tsx → data/primary-sales/useListPrimarySaleItems.tsx} +3 -3
  268. package/src/react/hooks/data/tokens/index.ts +5 -0
  269. package/src/react/hooks/{__tests__ → data/tokens}/useCurrencyBalance.test.tsx +2 -2
  270. package/src/react/hooks/{__tests__ → data/tokens}/useGetTokenRanges.test.tsx +3 -3
  271. package/src/react/hooks/{useGetTokenRanges.tsx → data/tokens/useGetTokenRanges.tsx} +6 -4
  272. package/src/react/hooks/{__tests__ → data/tokens}/useListBalances.test.tsx +2 -2
  273. package/src/react/hooks/{useListBalances.tsx → data/tokens/useListBalances.tsx} +5 -5
  274. package/src/react/hooks/{__tests__ → data/tokens}/useListTokenMetadata.test.tsx +3 -3
  275. package/src/react/hooks/{useListTokenMetadata.tsx → data/tokens/useListTokenMetadata.tsx} +3 -3
  276. package/src/react/hooks/data/tokens/useSearchTokenMetadata.test.tsx +284 -0
  277. package/src/react/hooks/data/tokens/useSearchTokenMetadata.tsx +186 -0
  278. package/src/react/hooks/{useTokenSupplies.ts → data/tokens/useTokenSupplies.ts} +5 -5
  279. package/src/react/hooks/index.ts +18 -52
  280. package/src/react/hooks/transactions/index.ts +9 -0
  281. package/src/react/hooks/{__tests__ → transactions}/useCancelOrder.test.tsx +53 -85
  282. package/src/react/hooks/{useCancelOrder.tsx → transactions/useCancelOrder.tsx} +4 -4
  283. package/src/react/hooks/{__tests__/useCancelTransactionSteps.test.tsx → transactions/useCancelTransactionSteps.test.tsx.bak} +3 -52
  284. package/src/react/hooks/transactions/useCancelTransactionSteps.tsx +193 -0
  285. package/src/react/hooks/{__tests__ → transactions}/useGenerateCancelTransaction.test.tsx +2 -2
  286. package/src/react/hooks/{useGenerateCancelTransaction.tsx → transactions/useGenerateCancelTransaction.tsx} +5 -5
  287. package/src/react/hooks/{__tests__ → transactions}/useGenerateListingTransaction.test.tsx +2 -2
  288. package/src/react/hooks/{useGenerateListingTransaction.tsx → transactions/useGenerateListingTransaction.tsx} +5 -5
  289. package/src/react/hooks/{__tests__ → transactions}/useGenerateOfferTransaction.test.tsx +7 -45
  290. package/src/react/hooks/{useGenerateOfferTransaction.tsx → transactions/useGenerateOfferTransaction.tsx} +7 -7
  291. package/src/react/hooks/{__tests__ → transactions}/useGenerateSellTransaction.test.tsx +3 -7
  292. package/src/react/hooks/{useGenerateSellTransaction.tsx → transactions/useGenerateSellTransaction.tsx} +4 -4
  293. package/src/react/hooks/transactions/useOrderSteps.tsx +189 -0
  294. package/src/react/hooks/transactions/useProcessStep.test.tsx +272 -0
  295. package/src/react/hooks/transactions/useProcessStep.ts +95 -0
  296. package/src/react/hooks/{__tests__ → transactions}/useTransferTokens.test.tsx +2 -2
  297. package/src/react/hooks/{useTransferTokens.tsx → transactions/useTransferTokens.tsx} +3 -3
  298. package/src/react/hooks/ui/index.ts +3 -0
  299. package/src/react/hooks/{useFilterState.tsx → ui/useFilterState.tsx} +1 -1
  300. package/src/react/hooks/{__tests__ → ui}/useFilters.test.tsx +1 -2
  301. package/src/react/hooks/{useFilters.tsx → ui/useFilters.tsx} +3 -3
  302. package/src/react/hooks/{useOpenConnectModal.tsx → ui/useOpenConnectModal.tsx} +1 -1
  303. package/src/react/hooks/util/optimisticCancelUpdates.ts +1 -0
  304. package/src/react/hooks/utils/index.ts +9 -0
  305. package/src/react/hooks/{__tests__ → utils}/useAutoSelectFeeOption.test.tsx +7 -3
  306. package/src/react/hooks/{useAutoSelectFeeOption.tsx → utils/useAutoSelectFeeOption.tsx} +2 -2
  307. package/src/react/hooks/{__tests__ → utils}/useCheckoutOptions.test.tsx +9 -5
  308. package/src/react/hooks/{useCheckoutOptions.tsx → utils/useCheckoutOptions.tsx} +6 -4
  309. package/src/react/hooks/{__tests__ → utils}/useCheckoutOptionsSalesContract.test.tsx +8 -4
  310. package/src/react/hooks/{useCheckoutOptionsSalesContract.tsx → utils/useCheckoutOptionsSalesContract.tsx} +3 -3
  311. package/src/react/hooks/{__tests__ → utils}/useComparePrices.test.tsx +1 -1
  312. package/src/react/hooks/{useComparePrices.tsx → utils/useComparePrices.tsx} +3 -5
  313. package/src/react/hooks/{__tests__ → utils}/useConvertPriceToUSD.test.tsx +2 -2
  314. package/src/react/hooks/{useConvertPriceToUSD.tsx → utils/useConvertPriceToUSD.tsx} +3 -3
  315. package/src/react/hooks/utils/useEnsureCorrectChain.ts +74 -0
  316. package/src/react/hooks/{__tests__ → utils}/useRoyalty.test.tsx +1 -1
  317. package/src/react/hooks/{useRoyalty.tsx → utils/useRoyalty.tsx} +3 -3
  318. package/src/react/hooks/utils/useSwitchChainWithModal.ts +38 -0
  319. package/src/react/index.ts +1 -2
  320. package/src/react/{provider.tsx → providers/index.tsx} +10 -7
  321. package/src/react/providers/modal-provider.tsx +43 -0
  322. package/src/react/{__tests__ → providers}/provider.test.tsx +1 -1
  323. package/src/react/providers/shadow-root.tsx +63 -0
  324. package/src/react/providers/theme-provider.tsx +29 -0
  325. package/src/react/queries/index.ts +19 -0
  326. package/src/react/queries/marketplaceConfig.ts +10 -1
  327. package/src/react/queries/primarySaleItems.ts +2 -7
  328. package/src/react/queries/searchTokenMetadata.ts +87 -0
  329. package/src/react/queries/tokenSupplies.ts +26 -18
  330. package/src/react/ssr/__tests__/__snapshots__/create-ssr-client.test.ts.snap +6 -0
  331. package/src/react/ssr/__tests__/create-ssr-client.test.ts +1 -1
  332. package/src/react/ui/components/_internals/action-button/ActionButton.stories.tsx +296 -0
  333. package/src/react/ui/components/_internals/action-button/__tests__/ActionButtonBody.test.tsx +34 -14
  334. package/src/react/ui/components/_internals/action-button/__tests__/NonOwnerActions.test.tsx +4 -11
  335. package/src/react/ui/components/_internals/action-button/__tests__/OwnerActions.test.tsx +5 -12
  336. package/src/react/ui/components/_internals/action-button/__tests__/useActionButtonLogic.test.tsx +32 -16
  337. package/src/react/ui/components/_internals/action-button/components/ActionButtonBody.tsx +2 -3
  338. package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +1 -1
  339. package/src/react/ui/components/_internals/action-button/hooks/useActionButtonLogic.ts +2 -3
  340. package/src/react/ui/components/marketplace-collectible-card/components/BaseCard.tsx +4 -3
  341. package/src/react/ui/components/marketplace-collectible-card/types.ts +3 -2
  342. package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +1 -1
  343. package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +6 -3
  344. package/src/react/ui/index.ts +1 -1
  345. package/src/react/ui/modals/BuyModal/__tests__/BuyModalRouter.test.tsx +10 -25
  346. package/src/react/ui/modals/BuyModal/__tests__/ERC1155ShopModal.test.tsx +2 -2
  347. package/src/react/ui/modals/BuyModal/__tests__/ERC721ShopModal.test.tsx +1 -1
  348. package/src/react/ui/modals/BuyModal/components/BuyModalRouter.tsx +5 -5
  349. package/src/react/ui/modals/BuyModal/components/ERC1155BuyModal.tsx +8 -8
  350. package/src/react/ui/modals/BuyModal/components/ERC1155QuantityModal.tsx +32 -14
  351. package/src/react/ui/modals/BuyModal/components/ERC721BuyModal.tsx +4 -4
  352. package/src/react/ui/modals/BuyModal/hooks/__tests__/useCheckoutOptions.test.tsx +18 -30
  353. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC1155Checkout.test.tsx +14 -1
  354. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC721SalePaymentParams.test.tsx +13 -2
  355. package/src/react/ui/modals/BuyModal/hooks/useCheckoutOptions.ts +5 -5
  356. package/src/react/ui/modals/BuyModal/hooks/useERC1155Checkout.ts +7 -2
  357. package/src/react/ui/modals/BuyModal/hooks/useERC721SalePaymentParams.ts +18 -7
  358. package/src/react/ui/modals/BuyModal/hooks/useLoadData.ts +5 -9
  359. package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +16 -15
  360. package/src/react/ui/modals/BuyModal/store.ts +2 -0
  361. package/src/react/ui/modals/CreateListingModal/Modal.tsx +11 -5
  362. package/src/react/ui/modals/CreateListingModal/__tests__/Modal.test.tsx +3 -24
  363. package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +5 -9
  364. package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +43 -83
  365. package/src/react/ui/modals/MakeOfferModal/Modal.tsx +4 -4
  366. package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +88 -62
  367. package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +9 -7
  368. package/src/react/ui/modals/MakeOfferModal/hooks/useMakeOffer.tsx +2 -2
  369. package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +47 -84
  370. package/src/react/ui/modals/SellModal/Modal.tsx +7 -9
  371. package/src/react/ui/modals/SellModal/__tests__/Modal.test.tsx +8 -30
  372. package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +7 -7
  373. package/src/react/ui/modals/SellModal/hooks/useTransactionSteps.tsx +39 -65
  374. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/__tests__/useHandleTransfer.test.tsx +28 -18
  375. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/_components/TransferButton.tsx +33 -15
  376. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/useHandleTransfer.tsx +3 -3
  377. package/src/react/ui/modals/TransferModal/index.tsx +9 -23
  378. package/src/react/ui/modals/_internal/components/actionModal/ActionModal.test.tsx +116 -136
  379. package/src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx +15 -44
  380. package/src/react/ui/modals/_internal/components/actionModal/index.ts +0 -1
  381. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/__tests__/index.test.tsx +9 -3
  382. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +1 -1
  383. package/src/react/ui/modals/_internal/components/floorPriceText/__tests__/FloorPriceText.test.tsx +2 -2
  384. package/src/react/ui/modals/_internal/components/priceInput/index.tsx +1 -1
  385. package/src/react/ui/modals/_internal/components/quantityInput/__tests__/index.test.tsx +97 -7
  386. package/src/react/ui/modals/_internal/components/quantityInput/index.tsx +30 -11
  387. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/__tests__/SelectWaasFeeOptions.test.tsx +2 -2
  388. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/index.tsx +1 -1
  389. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/useWaasFeeOptionManager.tsx +1 -1
  390. package/src/react/ui/modals/_internal/components/transactionStatusModal/hooks/useTransactionStatus.ts +25 -26
  391. package/src/react/ui/modals/_internal/components/transactionStatusModal/index.tsx +3 -1
  392. package/src/react/ui/modals/_internal/components/waasFeeOptionsSelect/WaasFeeOptionsSelect.tsx +19 -4
  393. package/src/react/ui/modals/_internal/hooks/useSelectWaasFeeOptions.ts +3 -5
  394. package/src/react/ui/modals/_internal/types.ts +6 -0
  395. package/src/react/utils/index.ts +1 -0
  396. package/src/react/utils/waitForTransactionReceipt.ts +49 -0
  397. package/src/{index.css → styles/index.css} +1 -1
  398. package/src/styles/styles.ts +3275 -0
  399. package/src/types/sdk-config.ts +2 -0
  400. package/src/utils/_internal/error/transaction.ts +0 -10
  401. package/src/utils/abi/primary-sale/index.ts +4 -2
  402. package/src/utils/abi/primary-sale/{sequence-1155-sales-contract.ts → sequence-1155-sales-contract-v0.ts} +67 -58
  403. package/src/utils/abi/primary-sale/sequence-1155-sales-contract-v1.ts +546 -0
  404. package/src/utils/abi/primary-sale/{sequence-721-sales-contract.ts → sequence-721-sales-contract-v0.ts} +1 -1
  405. package/src/utils/abi/primary-sale/sequence-721-sales-contract-v1.ts +394 -0
  406. package/test/const.ts +1 -1
  407. package/test/globalSetup.ts +39 -11
  408. package/test/handlers.ts +465 -0
  409. package/test/index.ts +1 -0
  410. package/test/server-setup.ts +23 -0
  411. package/test/setup.ts +1 -1
  412. package/test/test-utils.tsx +46 -38
  413. package/tsconfig.json +1 -1
  414. package/tsdown.config.ts +12 -7
  415. package/.storybook/preview.ts +0 -24
  416. package/dist/CalendarIcon-CqsuAuCm.js.map +0 -1
  417. package/dist/InfoIcon-v0w_Lu7t.js +0 -53
  418. package/dist/InfoIcon-v0w_Lu7t.js.map +0 -1
  419. package/dist/_internal-C75gOSNo.js.map +0 -1
  420. package/dist/actionModal-CMUeVsFX.js +0 -116
  421. package/dist/actionModal-CMUeVsFX.js.map +0 -1
  422. package/dist/api-BiMGqWdz.js.map +0 -1
  423. package/dist/base-DqaJPvfN.js +0 -22
  424. package/dist/base-DqaJPvfN.js.map +0 -1
  425. package/dist/create-config-fQ-jbJD1.js.map +0 -1
  426. package/dist/get-provider-CYYHfrlg.js +0 -10
  427. package/dist/get-provider-CYYHfrlg.js.map +0 -1
  428. package/dist/get-query-client-D19vvfJo.js +0 -23
  429. package/dist/get-query-client-D19vvfJo.js.map +0 -1
  430. package/dist/hooks-4pxIbLbM.js +0 -4044
  431. package/dist/hooks-4pxIbLbM.js.map +0 -1
  432. package/dist/index-BKBin-rq.d.ts +0 -979
  433. package/dist/index-BUWB_RXp.d.ts +0 -3144
  434. package/dist/index-Cu70Lw-w.d.ts +0 -1057
  435. package/dist/index-DvpBZgor.d.ts +0 -1
  436. package/dist/marketplaceConfig-GQTTmihy.js.map +0 -1
  437. package/dist/primary-sale-CmWxSfFQ.js +0 -1264
  438. package/dist/primary-sale-CmWxSfFQ.js.map +0 -1
  439. package/dist/provider-DPGUA10G.js +0 -125
  440. package/dist/provider-DPGUA10G.js.map +0 -1
  441. package/dist/queries-Ce_2othB.js +0 -757
  442. package/dist/queries-Ce_2othB.js.map +0 -1
  443. package/dist/react/hooks/options/index.d.ts +0 -3
  444. package/dist/react/hooks/options/index.js +0 -16
  445. package/dist/react-DP0M2Wfm.js +0 -5431
  446. package/dist/react-DP0M2Wfm.js.map +0 -1
  447. package/dist/transaction-CnctdNzS.js.map +0 -1
  448. package/dist/wagmi-Do_KW5ke.js +0 -0
  449. package/src/react/_internal/wallet/__tests__/wallet.test.ts +0 -416
  450. package/src/react/_internal/wallet/useWallet.ts +0 -52
  451. package/src/react/_internal/wallet/wallet.ts +0 -313
  452. package/src/react/hooks/options/index.ts +0 -1
  453. package/src/react/hooks/useCancelTransactionSteps.tsx +0 -249
  454. package/src/react/hooks/useERC721SaleMintedTokens.tsx +0 -70
  455. package/src/react/hooks/useList1155SaleSupplies.tsx +0 -62
  456. package/src/react/hooks/useList721ShopCardData.tsx +0 -165
  457. package/src/react/hooks/useListShopCardData.tsx +0 -70
  458. package/src/react/hooks/useListTokenMetadata.ts +0 -71
  459. package/src/react/hooks/useShopCollectibleSaleData.tsx +0 -349
  460. package/src/react/hooks/useTokenSaleDetailsBatch.tsx +0 -130
  461. package/src/react/ui/modals/_internal/components/actionModal/store.ts +0 -57
  462. package/src/react/ui/modals/modal-provider.tsx +0 -25
  463. package/test/mocks/wallet.ts +0 -63
  464. /package/dist/{abi-BMvgNbKQ.js → abi-Wr_aTZFi.js} +0 -0
  465. /package/dist/{index-CD2bj_xW.d.ts → index-q7f-WDBS.d.ts} +0 -0
  466. /package/dist/{options-BBBR8u_4.js → wagmi-BhP3mdhP.js} +0 -0
  467. /package/src/react/hooks/{useCurrencyBalance.tsx → data/tokens/useCurrencyBalance.tsx} +0 -0
  468. /package/src/react/hooks/{useGetReceiptFromHash.tsx → utils/useGetReceiptFromHash.tsx} +0 -0
@@ -0,0 +1,344 @@
1
+ /* eslint-disable */
2
+ /* tslint:disable */
3
+
4
+ /**
5
+ * Mock Service Worker.
6
+ * @see https://github.com/mswjs/msw
7
+ * - Please do NOT modify this file.
8
+ */
9
+
10
+ const PACKAGE_VERSION = '2.10.2';
11
+ const INTEGRITY_CHECKSUM = 'f5825c521429caf22a4dd13b66e243af';
12
+ const IS_MOCKED_RESPONSE = Symbol('isMockedResponse');
13
+ const activeClientIds = new Set();
14
+
15
+ addEventListener('install', () => {
16
+ self.skipWaiting();
17
+ });
18
+
19
+ addEventListener('activate', (event) => {
20
+ event.waitUntil(self.clients.claim());
21
+ });
22
+
23
+ addEventListener('message', async (event) => {
24
+ const clientId = Reflect.get(event.source || {}, 'id');
25
+
26
+ if (!clientId || !self.clients) {
27
+ return;
28
+ }
29
+
30
+ const client = await self.clients.get(clientId);
31
+
32
+ if (!client) {
33
+ return;
34
+ }
35
+
36
+ const allClients = await self.clients.matchAll({
37
+ type: 'window',
38
+ });
39
+
40
+ switch (event.data) {
41
+ case 'KEEPALIVE_REQUEST': {
42
+ sendToClient(client, {
43
+ type: 'KEEPALIVE_RESPONSE',
44
+ });
45
+ break;
46
+ }
47
+
48
+ case 'INTEGRITY_CHECK_REQUEST': {
49
+ sendToClient(client, {
50
+ type: 'INTEGRITY_CHECK_RESPONSE',
51
+ payload: {
52
+ packageVersion: PACKAGE_VERSION,
53
+ checksum: INTEGRITY_CHECKSUM,
54
+ },
55
+ });
56
+ break;
57
+ }
58
+
59
+ case 'MOCK_ACTIVATE': {
60
+ activeClientIds.add(clientId);
61
+
62
+ sendToClient(client, {
63
+ type: 'MOCKING_ENABLED',
64
+ payload: {
65
+ client: {
66
+ id: client.id,
67
+ frameType: client.frameType,
68
+ },
69
+ },
70
+ });
71
+ break;
72
+ }
73
+
74
+ case 'MOCK_DEACTIVATE': {
75
+ activeClientIds.delete(clientId);
76
+ break;
77
+ }
78
+
79
+ case 'CLIENT_CLOSED': {
80
+ activeClientIds.delete(clientId);
81
+
82
+ const remainingClients = allClients.filter((client) => {
83
+ return client.id !== clientId;
84
+ });
85
+
86
+ // Unregister itself when there are no more clients
87
+ if (remainingClients.length === 0) {
88
+ self.registration.unregister();
89
+ }
90
+
91
+ break;
92
+ }
93
+ }
94
+ });
95
+
96
+ addEventListener('fetch', (event) => {
97
+ // Bypass navigation requests.
98
+ if (event.request.mode === 'navigate') {
99
+ return;
100
+ }
101
+
102
+ // Opening the DevTools triggers the "only-if-cached" request
103
+ // that cannot be handled by the worker. Bypass such requests.
104
+ if (
105
+ event.request.cache === 'only-if-cached' &&
106
+ event.request.mode !== 'same-origin'
107
+ ) {
108
+ return;
109
+ }
110
+
111
+ // Bypass all requests when there are no active clients.
112
+ // Prevents the self-unregistered worked from handling requests
113
+ // after it's been deleted (still remains active until the next reload).
114
+ if (activeClientIds.size === 0) {
115
+ return;
116
+ }
117
+
118
+ const requestId = crypto.randomUUID();
119
+ event.respondWith(handleRequest(event, requestId));
120
+ });
121
+
122
+ /**
123
+ * @param {FetchEvent} event
124
+ * @param {string} requestId
125
+ */
126
+ async function handleRequest(event, requestId) {
127
+ const client = await resolveMainClient(event);
128
+ const requestCloneForEvents = event.request.clone();
129
+ const response = await getResponse(event, client, requestId);
130
+
131
+ // Send back the response clone for the "response:*" life-cycle events.
132
+ // Ensure MSW is active and ready to handle the message, otherwise
133
+ // this message will pend indefinitely.
134
+ if (client && activeClientIds.has(client.id)) {
135
+ const serializedRequest = await serializeRequest(requestCloneForEvents);
136
+
137
+ // Clone the response so both the client and the library could consume it.
138
+ const responseClone = response.clone();
139
+
140
+ sendToClient(
141
+ client,
142
+ {
143
+ type: 'RESPONSE',
144
+ payload: {
145
+ isMockedResponse: IS_MOCKED_RESPONSE in response,
146
+ request: {
147
+ id: requestId,
148
+ ...serializedRequest,
149
+ },
150
+ response: {
151
+ type: responseClone.type,
152
+ status: responseClone.status,
153
+ statusText: responseClone.statusText,
154
+ headers: Object.fromEntries(responseClone.headers.entries()),
155
+ body: responseClone.body,
156
+ },
157
+ },
158
+ },
159
+ responseClone.body ? [serializedRequest.body, responseClone.body] : [],
160
+ );
161
+ }
162
+
163
+ return response;
164
+ }
165
+
166
+ /**
167
+ * Resolve the main client for the given event.
168
+ * Client that issues a request doesn't necessarily equal the client
169
+ * that registered the worker. It's with the latter the worker should
170
+ * communicate with during the response resolving phase.
171
+ * @param {FetchEvent} event
172
+ * @returns {Promise<Client | undefined>}
173
+ */
174
+ async function resolveMainClient(event) {
175
+ const client = await self.clients.get(event.clientId);
176
+
177
+ if (activeClientIds.has(event.clientId)) {
178
+ return client;
179
+ }
180
+
181
+ if (client?.frameType === 'top-level') {
182
+ return client;
183
+ }
184
+
185
+ const allClients = await self.clients.matchAll({
186
+ type: 'window',
187
+ });
188
+
189
+ return allClients
190
+ .filter((client) => {
191
+ // Get only those clients that are currently visible.
192
+ return client.visibilityState === 'visible';
193
+ })
194
+ .find((client) => {
195
+ // Find the client ID that's recorded in the
196
+ // set of clients that have registered the worker.
197
+ return activeClientIds.has(client.id);
198
+ });
199
+ }
200
+
201
+ /**
202
+ * @param {FetchEvent} event
203
+ * @param {Client | undefined} client
204
+ * @param {string} requestId
205
+ * @returns {Promise<Response>}
206
+ */
207
+ async function getResponse(event, client, requestId) {
208
+ // Clone the request because it might've been already used
209
+ // (i.e. its body has been read and sent to the client).
210
+ const requestClone = event.request.clone();
211
+
212
+ function passthrough() {
213
+ // Cast the request headers to a new Headers instance
214
+ // so the headers can be manipulated with.
215
+ const headers = new Headers(requestClone.headers);
216
+
217
+ // Remove the "accept" header value that marked this request as passthrough.
218
+ // This prevents request alteration and also keeps it compliant with the
219
+ // user-defined CORS policies.
220
+ const acceptHeader = headers.get('accept');
221
+ if (acceptHeader) {
222
+ const values = acceptHeader.split(',').map((value) => value.trim());
223
+ const filteredValues = values.filter(
224
+ (value) => value !== 'msw/passthrough',
225
+ );
226
+
227
+ if (filteredValues.length > 0) {
228
+ headers.set('accept', filteredValues.join(', '));
229
+ } else {
230
+ headers.delete('accept');
231
+ }
232
+ }
233
+
234
+ return fetch(requestClone, { headers });
235
+ }
236
+
237
+ // Bypass mocking when the client is not active.
238
+ if (!client) {
239
+ return passthrough();
240
+ }
241
+
242
+ // Bypass initial page load requests (i.e. static assets).
243
+ // The absence of the immediate/parent client in the map of the active clients
244
+ // means that MSW hasn't dispatched the "MOCK_ACTIVATE" event yet
245
+ // and is not ready to handle requests.
246
+ if (!activeClientIds.has(client.id)) {
247
+ return passthrough();
248
+ }
249
+
250
+ // Notify the client that a request has been intercepted.
251
+ const serializedRequest = await serializeRequest(event.request);
252
+ const clientMessage = await sendToClient(
253
+ client,
254
+ {
255
+ type: 'REQUEST',
256
+ payload: {
257
+ id: requestId,
258
+ ...serializedRequest,
259
+ },
260
+ },
261
+ [serializedRequest.body],
262
+ );
263
+
264
+ switch (clientMessage.type) {
265
+ case 'MOCK_RESPONSE': {
266
+ return respondWithMock(clientMessage.data);
267
+ }
268
+
269
+ case 'PASSTHROUGH': {
270
+ return passthrough();
271
+ }
272
+ }
273
+
274
+ return passthrough();
275
+ }
276
+
277
+ /**
278
+ * @param {Client} client
279
+ * @param {any} message
280
+ * @param {Array<Transferable>} transferrables
281
+ * @returns {Promise<any>}
282
+ */
283
+ function sendToClient(client, message, transferrables = []) {
284
+ return new Promise((resolve, reject) => {
285
+ const channel = new MessageChannel();
286
+
287
+ channel.port1.onmessage = (event) => {
288
+ if (event.data && event.data.error) {
289
+ return reject(event.data.error);
290
+ }
291
+
292
+ resolve(event.data);
293
+ };
294
+
295
+ client.postMessage(message, [
296
+ channel.port2,
297
+ ...transferrables.filter(Boolean),
298
+ ]);
299
+ });
300
+ }
301
+
302
+ /**
303
+ * @param {Response} response
304
+ * @returns {Response}
305
+ */
306
+ function respondWithMock(response) {
307
+ // Setting response status code to 0 is a no-op.
308
+ // However, when responding with a "Response.error()", the produced Response
309
+ // instance will have status code set to 0. Since it's not possible to create
310
+ // a Response instance with status code 0, handle that use-case separately.
311
+ if (response.status === 0) {
312
+ return Response.error();
313
+ }
314
+
315
+ const mockedResponse = new Response(response.body, response);
316
+
317
+ Reflect.defineProperty(mockedResponse, IS_MOCKED_RESPONSE, {
318
+ value: true,
319
+ enumerable: true,
320
+ });
321
+
322
+ return mockedResponse;
323
+ }
324
+
325
+ /**
326
+ * @param {Request} request
327
+ */
328
+ async function serializeRequest(request) {
329
+ return {
330
+ url: request.url,
331
+ mode: request.mode,
332
+ method: request.method,
333
+ headers: Object.fromEntries(request.headers.entries()),
334
+ cache: request.cache,
335
+ credentials: request.credentials,
336
+ destination: request.destination,
337
+ integrity: request.integrity,
338
+ redirect: request.redirect,
339
+ referrer: request.referrer,
340
+ referrerPolicy: request.referrerPolicy,
341
+ body: await request.arrayBuffer(),
342
+ keepalive: request.keepalive,
343
+ };
344
+ }
@@ -72,6 +72,8 @@ export const mockShopCollections = [
72
72
  bannerUrl: 'https://example.com/shop-banner.png',
73
73
  saleBannerUrl: 'https://example.com/shop-sale-banner.png',
74
74
  tokenIds: ['1', '2', '3'],
75
+ customTokenIds: [],
76
+ private: false,
75
77
  createdAt: new Date('2025-03-16T13:04:16.098Z').toISOString(),
76
78
  updatedAt: new Date('2025-03-16T13:04:16.098Z').toISOString(),
77
79
  },
@@ -85,6 +87,8 @@ export const mockShopCollections = [
85
87
  bannerUrl: 'https://example.com/polygon-shop-banner.png',
86
88
  saleBannerUrl: 'https://example.com/polygon-shop-sale-banner.png',
87
89
  tokenIds: ['4', '5', '6'],
90
+ customTokenIds: [],
91
+ private: false,
88
92
  createdAt: new Date('2025-03-16T13:04:16.098Z').toISOString(),
89
93
  updatedAt: new Date('2025-03-16T13:04:16.098Z').toISOString(),
90
94
  },
@@ -152,6 +156,7 @@ export const mockConfig = {
152
156
  },
153
157
  ],
154
158
  },
159
+ private: false,
155
160
  createdAt: new Date('2025-03-16T13:04:16.098Z').toISOString(),
156
161
  updatedAt: new Date('2025-03-16T13:04:16.098Z').toISOString(),
157
162
  },
@@ -179,6 +184,7 @@ export const mockConfig = {
179
184
  },
180
185
  ],
181
186
  },
187
+ private: false,
182
188
  createdAt: new Date('2025-03-16T13:04:16.098Z').toISOString(),
183
189
  updatedAt: new Date('2025-03-16T13:04:16.098Z').toISOString(),
184
190
  },
@@ -132,7 +132,13 @@ export const mockFilters = [
132
132
  },
133
133
  ];
134
134
 
135
- type Endpoint = Capitalize<keyof Metadata>;
135
+ type Endpoint =
136
+ | 'GetContractInfo'
137
+ | 'GetContractInfoBatch'
138
+ | 'GetTokenMetadata'
139
+ | 'GetTokenMetadataPropertyFilters'
140
+ | 'SearchTokenMetadata';
141
+
136
142
  type EndpointReturn<E extends Endpoint> = Awaited<
137
143
  ReturnType<Metadata[Uncapitalize<E>]>
138
144
  >;
@@ -164,6 +170,11 @@ export const handlers = [
164
170
  filters: mockPropertyFilters,
165
171
  }),
166
172
 
173
+ mockMetadataHandler('SearchTokenMetadata', {
174
+ tokenMetadata: [mockTokenMetadata],
175
+ page: { page: 1, pageSize: 10, more: false },
176
+ }),
177
+
167
178
  http.post(mockMetadataEndpoint('GetContractInfoBatch'), async (request) => {
168
179
  const body = (await request.request.json()) as GetContractInfoBatchArgs;
169
180
  const chainId = Number(body.chainID);
@@ -5,8 +5,6 @@
5
5
  //
6
6
  // webrpc-gen -schema=builder.main.ridl -target=typescript -client -out=../../webapp/src/rpc/proto/builder.gen.ts
7
7
 
8
- import type { OrderbookKind } from "./marketplace.gen";
9
-
10
8
  export const WebrpcHeader = "Webrpc";
11
9
  export const WebrpcHeaderValue =
12
10
  "webrpc@v0.26.0;gen-typescript@v0.17.0;sequence-builder@v0.1.0";
@@ -29,6 +27,7 @@ export enum FilterCondition {
29
27
  export interface LookupMarketplaceArgs {
30
28
  projectId?: number;
31
29
  domain?: string;
30
+ userAddress?: string;
32
31
  }
33
32
 
34
33
  export interface LookupMarketplaceReturn {
@@ -59,10 +58,10 @@ export interface MarketplaceSettings {
59
58
  }
60
59
 
61
60
  export interface MarketplacePage {
62
- enabled: boolean
63
- bannerUrl: string
64
- ogImage: string
65
- private: boolean
61
+ enabled: boolean;
62
+ bannerUrl: string;
63
+ ogImage: string;
64
+ private: boolean;
66
65
  }
67
66
 
68
67
  export interface MarketplaceSocials {
@@ -110,8 +109,10 @@ export interface MarketCollection {
110
109
  bannerUrl: string;
111
110
  feePercentage: number;
112
111
  currencyOptions: Array<string>;
113
- destinationMarketplace: OrderbookKind;
112
+ destinationMarketplace: string;
114
113
  filterSettings?: CollectionFilterSettings;
114
+ sortOrder?: number;
115
+ private: boolean;
115
116
  createdAt?: string;
116
117
  updatedAt?: string;
117
118
  }
@@ -136,6 +137,9 @@ export interface ShopCollection {
136
137
  name: string;
137
138
  bannerUrl: string;
138
139
  tokenIds: Array<string>;
140
+ customTokenIds: Array<string>;
141
+ sortOrder?: number;
142
+ private: boolean;
139
143
  createdAt?: string;
140
144
  updatedAt?: string;
141
145
  }
@@ -2,7 +2,7 @@ import type { Event as DatabeatEvent } from '@databeat/tracker';
2
2
  import { Databeat } from '@databeat/tracker';
3
3
  import { useContext } from 'react';
4
4
 
5
- import { MarketplaceSdkContext } from '../../provider';
5
+ import { MarketplaceSdkContext } from '../../providers';
6
6
  import type {
7
7
  EventType,
8
8
  TrackBuyModalOpened,
@@ -50,6 +50,7 @@ type BuyModalOpenedProps = Omit<
50
50
  | 'chainId'
51
51
  | 'skipNativeBalanceCheck'
52
52
  | 'nativeTokenAddress'
53
+ | 'successActionButtons'
53
54
  > & {
54
55
  buyAnalyticsId: string;
55
56
  };
@@ -0,0 +1,3 @@
1
+ export const persistentQueryMeta = {
2
+ persistent: true,
3
+ };
@@ -16,6 +16,7 @@ export interface SignatureStep {
16
16
 
17
17
  export interface TransactionStep {
18
18
  id:
19
+ | StepType.tokenApproval
19
20
  | StepType.buy
20
21
  | StepType.sell
21
22
  | StepType.cancel
@@ -43,6 +44,7 @@ export function isSignatureStep(step: Step): step is SignatureStep {
43
44
 
44
45
  export function isTransactionStep(step: Step): step is TransactionStep {
45
46
  return [
47
+ StepType.tokenApproval,
46
48
  StepType.buy,
47
49
  StepType.sell,
48
50
  StepType.cancel,
@@ -2,7 +2,7 @@ import { getDefaultChains } from '@0xsequence/connect';
2
2
  import { allNetworks, findNetworkConfig } from '@0xsequence/network';
3
3
  import type { Chain, Transport } from 'viem';
4
4
  import { cookieStorage, createConfig, createStorage, http } from 'wagmi';
5
- import type { Env, SdkConfig } from '../../../types';
5
+ import type { Env, SdkConfig } from '../../../types/index';
6
6
  import type { MarketplaceConfig } from '../../../types/new-marketplace-types';
7
7
  import { DEFAULT_NETWORK } from '../consts';
8
8
  import { getConnectors } from './get-connectors';
@@ -17,7 +17,7 @@ import {
17
17
  } from '@0xsequence/connect';
18
18
  import React, { type FunctionComponent } from 'react';
19
19
  import type { CreateConnectorFn } from 'wagmi';
20
- import type { Env, SdkConfig } from '../../../types';
20
+ import type { Env, SdkConfig } from '../../../types/index';
21
21
  import type { MarketplaceConfig } from '../../../types/new-marketplace-types';
22
22
  import { MissingConfigError } from '../../../utils/_internal/error/transaction';
23
23
  import { MarketplaceWalletType } from '../api/builder.gen';
@@ -32,6 +32,7 @@ exports[`useMarketplaceConfig > should fetch marketplace config and styles succe
32
32
  "id": 1,
33
33
  "itemsAddress": "0x0000000000000000000000000000000000000000",
34
34
  "marketplaceType": "market",
35
+ "private": false,
35
36
  "projectId": 1,
36
37
  "updatedAt": "2025-03-16T13:04:16.098Z",
37
38
  },
@@ -66,6 +67,7 @@ exports[`useMarketplaceConfig > should fetch marketplace config and styles succe
66
67
  "id": 2,
67
68
  "itemsAddress": "0x1234567890123456789012345678901234567890",
68
69
  "marketplaceType": "market",
70
+ "private": false,
69
71
  "projectId": 1,
70
72
  "updatedAt": "2025-03-16T13:04:16.098Z",
71
73
  },
@@ -105,10 +107,12 @@ exports[`useMarketplaceConfig > should fetch marketplace config and styles succe
105
107
  "bannerUrl": "https://example.com/shop-banner.png",
106
108
  "chainId": 1,
107
109
  "createdAt": "2025-03-16T13:04:16.098Z",
110
+ "customTokenIds": [],
108
111
  "id": 1,
109
112
  "itemsAddress": "0x0000000000000000000000000000000000000000",
110
113
  "marketplaceType": "shop",
111
114
  "name": "Mock Shop Collection",
115
+ "private": false,
112
116
  "projectId": 1,
113
117
  "saleAddress": "0x0000000000000000000000000000000000000000",
114
118
  "saleBannerUrl": "https://example.com/shop-sale-banner.png",
@@ -123,10 +127,12 @@ exports[`useMarketplaceConfig > should fetch marketplace config and styles succe
123
127
  "bannerUrl": "https://example.com/polygon-shop-banner.png",
124
128
  "chainId": 137,
125
129
  "createdAt": "2025-03-16T13:04:16.098Z",
130
+ "customTokenIds": [],
126
131
  "id": 2,
127
132
  "itemsAddress": "0x1234567890123456789012345678901234567890",
128
133
  "marketplaceType": "shop",
129
134
  "name": "Polygon Shop Collection",
135
+ "private": false,
130
136
  "projectId": 1,
131
137
  "saleAddress": "0x1234567890123456789012345678901234567890",
132
138
  "saleBannerUrl": "https://example.com/polygon-shop-sale-banner.png",
@@ -0,0 +1,3 @@
1
+ export * from './useConfig';
2
+ export * from './useConnectorMetadata';
3
+ export * from './useMarketplaceConfig';
@@ -2,8 +2,8 @@
2
2
 
3
3
  import { useContext } from 'react';
4
4
 
5
- import { MarketplaceSdkProviderNotFoundError } from '../../utils/_internal/error/context';
6
- import { MarketplaceSdkContext } from '../provider';
5
+ import { MarketplaceSdkProviderNotFoundError } from '../../../utils/_internal/error/context';
6
+ import { MarketplaceSdkContext } from '../../providers';
7
7
 
8
8
  export function useConfig() {
9
9
  const context = useContext(MarketplaceSdkContext);
@@ -0,0 +1,16 @@
1
+ import { useAccount } from 'wagmi';
2
+ import { WalletKind } from '../../_internal/api';
3
+
4
+ export const useConnectorMetadata = () => {
5
+ const { connector } = useAccount();
6
+
7
+ const isWaaS = connector?.id.endsWith('waas') ?? false;
8
+ const isSequence = connector?.id.includes('sequence');
9
+ const walletKind = isSequence ? WalletKind.sequence : WalletKind.unknown;
10
+
11
+ return {
12
+ isWaaS,
13
+ isSequence,
14
+ walletKind,
15
+ };
16
+ };
@@ -2,7 +2,7 @@ import { renderHook, server, waitFor } from '@test';
2
2
  import { describe, expect, it } from 'vitest';
3
3
  import { createLookupMarketplaceErrorHandler } from '../../_internal/api/__mocks__/builder.msw';
4
4
 
5
- import { useMarketplaceConfig } from '../useMarketplaceConfig';
5
+ import { useMarketplaceConfig } from './useMarketplaceConfig';
6
6
 
7
7
  describe('useMarketplaceConfig', () => {
8
8
  it('should fetch marketplace config and styles successfully', async () => {
@@ -1,6 +1,6 @@
1
1
  import { useQuery } from '@tanstack/react-query';
2
- import { marketplaceConfigOptions } from '../queries/marketplaceConfig';
3
- import { useConfig } from './useConfig';
2
+ import { marketplaceConfigOptions } from '../../queries/marketplaceConfig';
3
+ import { useConfig } from '../config/useConfig';
4
4
 
5
5
  export const useMarketplaceConfig = () => {
6
6
  const config = useConfig();
@@ -0,0 +1 @@
1
+ export * from './useSalesContractABI';