@0xsequence/marketplace-sdk 1.1.0 → 1.2.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 (447) hide show
  1. package/CHANGELOG.md +58 -5
  2. package/dist/{BellIcon-IpHHEy8h.js → BellIcon-DMKEumAz.js} +2 -2
  3. package/dist/BellIcon-DMKEumAz.js.map +1 -0
  4. package/dist/{CartIcon-C8zbor8H.js → CartIcon-UyB4NYKt.js} +3 -3
  5. package/dist/CartIcon-UyB4NYKt.js.map +1 -0
  6. package/dist/CollectibleCard-z05qWzKE.d.ts +8 -0
  7. package/dist/_internal-DkS2VUn5.js.map +1 -1
  8. package/dist/abi-fa-o9gH3.js +134 -0
  9. package/dist/abi-fa-o9gH3.js.map +1 -0
  10. package/dist/{alien_swap-BTJ7mSR-.js → alien_swap-Cq8LuElo.js} +1 -1
  11. package/dist/{alien_swap-BTJ7mSR-.js.map → alien_swap-Cq8LuElo.js.map} +1 -1
  12. package/dist/{api-DuLKn__v.js → api-GwTR0dBA.js} +13 -49
  13. package/dist/api-GwTR0dBA.js.map +1 -0
  14. package/dist/{aqua-xyz-BYJ9WSP_.js → aqua-xyz-0yye_c-Z.js} +1 -1
  15. package/dist/{aqua-xyz-BYJ9WSP_.js.map → aqua-xyz-0yye_c-Z.js.map} +1 -1
  16. package/dist/{aura-D7SUjgro.js → aura-TaxFvTFQ.js} +1 -1
  17. package/dist/{aura-D7SUjgro.js.map → aura-TaxFvTFQ.js.map} +1 -1
  18. package/dist/{blur-BcnRFCaV.js → blur-BupOTobO.js} +1 -1
  19. package/dist/{blur-BcnRFCaV.js.map → blur-BupOTobO.js.map} +1 -1
  20. package/dist/{builder-api-BFuZNOaN.js → builder-api-m4JAA6ee.js} +3 -3
  21. package/dist/builder-api-m4JAA6ee.js.map +1 -0
  22. package/dist/{builder.gen-B9wR2nvF.js → builder.gen--XD71cNL.js} +2 -2
  23. package/dist/builder.gen--XD71cNL.js.map +1 -0
  24. package/dist/{coinbase-ChoX9Hw2.js → coinbase-DTgZ4wDT.js} +1 -1
  25. package/dist/{coinbase-ChoX9Hw2.js.map → coinbase-DTgZ4wDT.js.map} +1 -1
  26. package/dist/collectibles-CZ6i8sXK.js +324 -0
  27. package/dist/collectibles-CZ6i8sXK.js.map +1 -0
  28. package/dist/collections-5NcU-7ZR.js +331 -0
  29. package/dist/collections-5NcU-7ZR.js.map +1 -0
  30. package/dist/{components-CUv-wQr8.js → components-CY8kx2kb.js} +13 -9
  31. package/dist/components-CY8kx2kb.js.map +1 -0
  32. package/dist/{contracts-D72LBOX3.js → contracts-DRJHF89h.js} +5 -4
  33. package/dist/{contracts-D72LBOX3.js.map → contracts-DRJHF89h.js.map} +1 -1
  34. package/dist/{create-config-CIfejoCk.js → create-config-BxyfYCEk.js} +6 -5
  35. package/dist/create-config-BxyfYCEk.js.map +1 -0
  36. package/dist/{create-config-DV_dtaLt.d.ts → create-config-CFBeD8CB.d.ts} +149 -57
  37. package/dist/{element-Dbcv5qya.js → element-D4dDznlu.js} +1 -1
  38. package/dist/{element-Dbcv5qya.js.map → element-D4dDznlu.js.map} +1 -1
  39. package/dist/filters-B5niI_fX.d.ts +60 -0
  40. package/dist/{foundation-QPhUEUy8.js → foundation-GHZOKAzN.js} +1 -1
  41. package/dist/{foundation-QPhUEUy8.js.map → foundation-GHZOKAzN.js.map} +1 -1
  42. package/dist/index-8scPf0CS.d.ts +55 -0
  43. package/dist/index-9qsplZ8r.d.ts +18 -0
  44. package/dist/index-BIuYTMc2.d.ts +122 -0
  45. package/dist/{index-BoNNplSx.d.ts → index-BNrz99xy.d.ts} +3 -3
  46. package/dist/{index-BaytncQc.d.ts → index-BYQOPS8e.d.ts} +108 -51
  47. package/dist/{index-CXscCUg7.d.ts → index-BkZ7SPLc.d.ts} +19 -29
  48. package/dist/{index-D6YMj82n.d.ts → index-BnUku_aF.d.ts} +109 -114
  49. package/dist/index-BtDAHMW_.d.ts +50 -0
  50. package/dist/index-C-c_M_sE.d.ts +107 -0
  51. package/dist/index-CKefEBrI.d.ts +1 -0
  52. package/dist/{index-CMPUveNz.d.ts → index-CNIiC8Z_.d.ts} +11 -8
  53. package/dist/{index-DLUjc7Bx.d.ts → index-CbERNN3s.d.ts} +201 -12
  54. package/dist/{index-C768pAfu.d.ts → index-CsfxsN0t.d.ts} +4 -4
  55. package/dist/{index-CQecU53t.d.ts → index-DASjaiJL.d.ts} +119 -24
  56. package/dist/{index-CT8ZorFd.d.ts → index-DD7Vc4cE.d.ts} +2 -2
  57. package/dist/{index-DpeWm_vF.d.ts → index-DIc8OqWV.d.ts} +7 -6
  58. package/dist/index-DVI_vggD.d.ts +171 -0
  59. package/dist/index-DgsCqh_P.d.ts +1 -0
  60. package/dist/{index-DMBMM16q.d.ts → index-DqxQeYT2.d.ts} +39 -36
  61. package/dist/{index-D-UXGo5d.d.ts → index-Dsf9FRtr.d.ts} +19 -3
  62. package/dist/{index-DJG0kiII.d.ts → index-DxAReMEO.d.ts} +45 -34
  63. package/dist/index-UXRoZmd_.d.ts +70 -0
  64. package/dist/{index-CM0ZTePs.d.ts → index-isFvc5gd.d.ts} +2 -2
  65. package/dist/{index-jGgfEHfQ.d.ts → index-j3nuJWyJ.d.ts} +18 -10
  66. package/dist/{index-B6aSbaw2.d.ts → index-nVb7o0hc.d.ts} +2 -2
  67. package/dist/{index-Bv5XVLjH.d.ts → index-pbE88Tt7.d.ts} +2 -2
  68. package/dist/index-xpO4AQyS.d.ts +1 -0
  69. package/dist/index.d.ts +8 -8
  70. package/dist/index.js +13 -13
  71. package/dist/inventory--t6Zu55O.js +75 -0
  72. package/dist/inventory--t6Zu55O.js.map +1 -0
  73. package/dist/listCollectiblesPaginated-BlE5mSzh.d.ts +327 -0
  74. package/dist/listCollections-DWyqFSQ3.d.ts +828 -0
  75. package/dist/{looks-rare-C7cQztTR.js → looks-rare-2HBhMpOf.js} +1 -1
  76. package/dist/{looks-rare-C7cQztTR.js.map → looks-rare-2HBhMpOf.js.map} +1 -1
  77. package/dist/lowestListing-DsunDO1c.d.ts +475 -0
  78. package/dist/{magic-eden-D3r7jiBG.js → magic-eden-BYdTp-uk.js} +1 -1
  79. package/dist/{magic-eden-D3r7jiBG.js.map → magic-eden-BYdTp-uk.js.map} +1 -1
  80. package/dist/{manifold-DsX0CBP-.js → manifold-yE0x6ZmO.js} +1 -1
  81. package/dist/{manifold-DsX0CBP-.js.map → manifold-yE0x6ZmO.js.map} +1 -1
  82. package/dist/market-DuBpFsDg.js +219 -0
  83. package/dist/market-DuBpFsDg.js.map +1 -0
  84. package/dist/{marketCurrencies-Bzj8X4TL.d.ts → marketCurrencies-BgwmbGFk.d.ts} +57 -15
  85. package/dist/marketCurrencies-Bolonndy.js +59 -0
  86. package/dist/marketCurrencies-Bolonndy.js.map +1 -0
  87. package/dist/{marketplace-BYY8OloA.js → marketplace-NQB-sEQL.js} +1 -1
  88. package/dist/{marketplace-BYY8OloA.js.map → marketplace-NQB-sEQL.js.map} +1 -1
  89. package/dist/{marketplace-logos-Csv2MBwf.js → marketplace-logos-Cz9RrtQo.js} +21 -21
  90. package/dist/marketplace-logos-Cz9RrtQo.js.map +1 -0
  91. package/dist/{marketplace.gen-w2YvbEEo.js → marketplace.gen-906FrJQJ.js} +75 -5
  92. package/dist/marketplace.gen-906FrJQJ.js.map +1 -0
  93. package/dist/{marketplaceConfig-BTy75Mbf.js → marketplaceConfig-Bqjo7NYO.js} +9 -5
  94. package/dist/marketplaceConfig-Bqjo7NYO.js.map +1 -0
  95. package/dist/{mintify-DiOoDmO1.js → mintify-BXQx3mZB.js} +1 -1
  96. package/dist/{mintify-DiOoDmO1.js.map → mintify-BXQx3mZB.js.map} +1 -1
  97. package/dist/{network-DtmiMhcg.js → network-DwdZ_5-7.js} +2 -2
  98. package/dist/network-DwdZ_5-7.js.map +1 -0
  99. package/dist/{networkconfigToWagmiChain-DbUf6HiO.js → networkconfigToWagmiChain-Ct-hGq8M.js} +4 -3
  100. package/dist/networkconfigToWagmiChain-Ct-hGq8M.js.map +1 -0
  101. package/dist/{nftx-CP82jNra.js → nftx-B929_3Ce.js} +1 -1
  102. package/dist/{nftx-CP82jNra.js.map → nftx-B929_3Ce.js.map} +1 -1
  103. package/dist/{okx-p9-4xRjs.js → okx-sZ0-Udny.js} +1 -1
  104. package/dist/{okx-p9-4xRjs.js.map → okx-sZ0-Udny.js.map} +1 -1
  105. package/dist/{open-sea-D2GwAmKS.js → open-sea-DO9PhTrz.js} +1 -1
  106. package/dist/{open-sea-D2GwAmKS.js.map → open-sea-DO9PhTrz.js.map} +1 -1
  107. package/dist/orders-DH76ym2e.js +469 -0
  108. package/dist/orders-DH76ym2e.js.map +1 -0
  109. package/dist/{primary-sale-DOmNDq2P.js → primary-sale-1u4QlPdA.js} +1 -1
  110. package/dist/{primary-sale-DOmNDq2P.js.map → primary-sale-1u4QlPdA.js.map} +1 -1
  111. package/dist/primary-sales-CECrqatg.js +156 -0
  112. package/dist/primary-sales-CECrqatg.js.map +1 -0
  113. package/dist/{query-BG-MA1MB.d.ts → query-brXxOcH0.d.ts} +1 -1
  114. package/dist/{rarible-DqiiW9ki.js → rarible-Ccb2hs7y.js} +1 -1
  115. package/dist/{rarible-DqiiW9ki.js.map → rarible-Ccb2hs7y.js.map} +1 -1
  116. package/dist/react/_internal/api/index.d.ts +2 -2
  117. package/dist/react/_internal/api/index.js +6 -6
  118. package/dist/react/_internal/databeat/index.d.ts +1 -1
  119. package/dist/react/_internal/databeat/index.js +32 -22
  120. package/dist/react/_internal/index.d.ts +2 -2
  121. package/dist/react/_internal/index.js +8 -8
  122. package/dist/react/_internal/wagmi/index.d.ts +1 -1
  123. package/dist/react/_internal/wagmi/index.js +3 -3
  124. package/dist/react/hooks/config/index.d.ts +8 -8
  125. package/dist/react/hooks/config/index.js +32 -22
  126. package/dist/react/hooks/contracts/index.d.ts +6 -6
  127. package/dist/react/hooks/contracts/index.js +12 -12
  128. package/dist/react/hooks/data/collectibles/index.d.ts +10 -4
  129. package/dist/react/hooks/data/collectibles/index.js +32 -22
  130. package/dist/react/hooks/data/collections/index.d.ts +11 -11
  131. package/dist/react/hooks/data/collections/index.js +33 -23
  132. package/dist/react/hooks/data/index.d.ts +37 -29
  133. package/dist/react/hooks/data/index.js +33 -23
  134. package/dist/react/hooks/data/inventory/index.d.ts +36 -28
  135. package/dist/react/hooks/data/inventory/index.js +32 -22
  136. package/dist/react/hooks/data/market/index.d.ts +11 -5
  137. package/dist/react/hooks/data/market/index.js +32 -22
  138. package/dist/react/hooks/data/orders/index.d.ts +11 -5
  139. package/dist/react/hooks/data/orders/index.js +33 -23
  140. package/dist/react/hooks/data/primary-sales/index.d.ts +37 -29
  141. package/dist/react/hooks/data/primary-sales/index.js +33 -23
  142. package/dist/react/hooks/data/tokens/index.d.ts +4 -4
  143. package/dist/react/hooks/data/tokens/index.js +32 -22
  144. package/dist/react/hooks/index.d.ts +37 -29
  145. package/dist/react/hooks/index.js +33 -23
  146. package/dist/react/hooks/transactions/index.d.ts +2 -2
  147. package/dist/react/hooks/transactions/index.js +32 -22
  148. package/dist/react/hooks/ui/index.d.ts +4 -4
  149. package/dist/react/hooks/ui/index.js +32 -22
  150. package/dist/react/hooks/utils/index.d.ts +36 -28
  151. package/dist/react/hooks/utils/index.js +32 -22
  152. package/dist/react/index.d.ts +37 -29
  153. package/dist/react/index.js +33 -23
  154. package/dist/react/queries/collectibles/index.d.ts +11 -0
  155. package/dist/react/queries/collectibles/index.js +22 -0
  156. package/dist/react/queries/collections/index.d.ts +11 -0
  157. package/dist/react/queries/collections/index.js +20 -0
  158. package/dist/react/queries/index.d.ts +24 -16
  159. package/dist/react/queries/index.js +26 -16
  160. package/dist/react/queries/inventory/index.d.ts +3 -0
  161. package/dist/react/queries/inventory/index.js +22 -0
  162. package/dist/react/queries/market/index.d.ts +6 -0
  163. package/dist/react/queries/market/index.js +22 -0
  164. package/dist/react/queries/orders/index.d.ts +11 -0
  165. package/dist/react/queries/orders/index.js +13 -0
  166. package/dist/react/queries/primary-sales/index.d.ts +4 -0
  167. package/dist/react/queries/primary-sales/index.js +13 -0
  168. package/dist/react/queries/tokens/index.d.ts +5 -0
  169. package/dist/react/queries/tokens/index.js +13 -0
  170. package/dist/react/queries/utils/index.d.ts +4 -0
  171. package/dist/react/queries/utils/index.js +22 -0
  172. package/dist/react/ssr/index.d.ts +7 -7
  173. package/dist/react/ssr/index.js +8 -8
  174. package/dist/react/ssr/index.js.map +1 -1
  175. package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.d.ts +2 -2
  176. package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.js +16 -16
  177. package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.d.ts +7 -10
  178. package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.js +32 -22
  179. package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +4 -4
  180. package/dist/react/ui/components/marketplace-collectible-card/index.js +32 -22
  181. package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +2 -2
  182. package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +8 -8
  183. package/dist/react/ui/components/marketplace-logos/index.d.ts +21 -21
  184. package/dist/react/ui/components/marketplace-logos/index.js +1 -1
  185. package/dist/react/ui/icons/index.js +12 -12
  186. package/dist/react/ui/index.d.ts +4 -4
  187. package/dist/react/ui/index.js +32 -22
  188. package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +2 -2
  189. package/dist/react/ui/modals/_internal/components/actionModal/index.js +32 -22
  190. package/dist/react/utils/index.d.ts +3 -3
  191. package/dist/react/utils/index.js +6 -6
  192. package/dist/{react-BLJ4DkPx.js → react-CBsgOdVP.js} +1540 -474
  193. package/dist/react-CBsgOdVP.js.map +1 -0
  194. package/dist/{sequence-Bbb-TFKg.js → sequence-CRdb1yEs.js} +1 -1
  195. package/dist/{sequence-Bbb-TFKg.js.map → sequence-CRdb1yEs.js.map} +1 -1
  196. package/dist/styles/index.css +155 -1
  197. package/dist/{sudo-swap-CEPIM3Js.js → sudo-swap-BIklG2gq.js} +1 -1
  198. package/dist/{sudo-swap-CEPIM3Js.js.map → sudo-swap-BIklG2gq.js.map} +1 -1
  199. package/dist/{super-rare-CMEn9PoO.js → super-rare-h8645_5E.js} +1 -1
  200. package/dist/{super-rare-CMEn9PoO.js.map → super-rare-h8645_5E.js.map} +1 -1
  201. package/dist/{token-CcyLz8Z8.js → token-Cv7l2ZaL.js} +1 -1
  202. package/dist/{token-CcyLz8Z8.js.map → token-Cv7l2ZaL.js.map} +1 -1
  203. package/dist/tokenBalances-CouzNX4j.js +57 -0
  204. package/dist/tokenBalances-CouzNX4j.js.map +1 -0
  205. package/dist/tokenSupplies-C3zJll0M.d.ts +265 -0
  206. package/dist/tokens-BvIRUCGG.js +225 -0
  207. package/dist/tokens-BvIRUCGG.js.map +1 -0
  208. package/dist/transaction-DZUW5RHu.js.map +1 -1
  209. package/dist/types/index.d.ts +1 -1
  210. package/dist/types/index.js +2 -2
  211. package/dist/types-B_-cnkcP.js.map +1 -1
  212. package/dist/{types-D6LkVrF0.d.ts → types-CMDwfhfR.d.ts} +6 -5
  213. package/dist/utils/abi/index.d.ts +5 -5
  214. package/dist/utils/abi/index.js +5 -5
  215. package/dist/utils/abi/marketplace/index.d.ts +1 -1
  216. package/dist/utils/abi/marketplace/index.js +1 -1
  217. package/dist/utils/abi/primary-sale/index.d.ts +1 -1
  218. package/dist/utils/abi/primary-sale/index.js +1 -1
  219. package/dist/utils/abi/token/index.d.ts +1 -1
  220. package/dist/utils/abi/token/index.js +1 -1
  221. package/dist/utils/index.d.ts +7 -7
  222. package/dist/utils/index.js +11 -11
  223. package/dist/{utils-BZEkdqWK.js → utils-9ToOvt-c.js} +50 -7
  224. package/dist/utils-9ToOvt-c.js.map +1 -0
  225. package/dist/{utils-oVZxdK0o.js → utils-B6di6O-C.js} +2 -2
  226. package/dist/utils-B6di6O-C.js.map +1 -0
  227. package/dist/utils-BCYTEOvy.js +122 -0
  228. package/dist/utils-BCYTEOvy.js.map +1 -0
  229. package/dist/waitForTransactionReceipt-CbSeUSXe.js +26 -0
  230. package/dist/waitForTransactionReceipt-CbSeUSXe.js.map +1 -0
  231. package/dist/{x2y2-DNe6JgtG.js → x2y2-OvF__ugj.js} +1 -1
  232. package/dist/{x2y2-DNe6JgtG.js.map → x2y2-OvF__ugj.js.map} +1 -1
  233. package/dist/{zora-w0Zqxxs4.js → zora-DzCeu-eE.js} +1 -1
  234. package/dist/{zora-w0Zqxxs4.js.map → zora-DzCeu-eE.js.map} +1 -1
  235. package/package.json +46 -41
  236. package/src/react/_internal/api/__mocks__/marketplace.msw.ts +15 -0
  237. package/src/react/_internal/api/index.ts +0 -1
  238. package/src/react/_internal/api/marketplace.gen.ts +1774 -2383
  239. package/src/react/_internal/api/query-keys.ts +23 -0
  240. package/src/react/_internal/api/services.ts +1 -1
  241. package/src/react/_internal/databeat/types.ts +1 -0
  242. package/src/react/_internal/types.ts +14 -0
  243. package/src/react/_internal/utils.ts +3 -0
  244. package/src/react/hooks/config/useMarketplaceConfig.tsx +1 -1
  245. package/src/react/hooks/data/collectibles/useBalanceOfCollectible.tsx +1 -10
  246. package/src/react/hooks/data/collectibles/useCollectible.tsx +1 -1
  247. package/src/react/hooks/data/collectibles/useCountOfCollectables.tsx +1 -1
  248. package/src/react/hooks/data/collectibles/useListCollectibleActivities.tsx +1 -1
  249. package/src/react/hooks/data/collectibles/useListCollectibles.tsx +2 -17
  250. package/src/react/hooks/data/collectibles/useListCollectiblesPaginated.tsx +1 -1
  251. package/src/react/hooks/data/collectibles/useTokenBalances.tsx +1 -10
  252. package/src/react/hooks/data/collections/index.ts +2 -0
  253. package/src/react/hooks/data/collections/useCollection.tsx +1 -1
  254. package/src/react/hooks/data/collections/useCollectionActiveListingsCurrencies.test.tsx +112 -0
  255. package/src/react/hooks/data/collections/useCollectionActiveListingsCurrencies.tsx +74 -0
  256. package/src/react/hooks/data/collections/useCollectionActiveOffersCurrencies.test.tsx +110 -0
  257. package/src/react/hooks/data/collections/useCollectionActiveOffersCurrencies.tsx +74 -0
  258. package/src/react/hooks/data/collections/useCollectionBalanceDetails.tsx +1 -1
  259. package/src/react/hooks/data/collections/useCollectionDetails.ts +1 -1
  260. package/src/react/hooks/data/collections/useListCollectionActivities.tsx +1 -1
  261. package/src/react/hooks/data/collections/useListCollections.tsx +1 -1
  262. package/src/react/hooks/data/inventory/useInventory.tsx +2 -11
  263. package/src/react/hooks/data/market/useCurrency.tsx +1 -1
  264. package/src/react/hooks/data/market/useListMarketCardData.tsx +7 -0
  265. package/src/react/hooks/data/market/useMarketCurrencies.test.tsx +31 -2
  266. package/src/react/hooks/data/market/useMarketCurrencies.tsx +1 -1
  267. package/src/react/hooks/data/orders/index.ts +4 -0
  268. package/src/react/hooks/data/orders/useCountItemsOrdersForCollection.tsx +90 -0
  269. package/src/react/hooks/data/orders/useCountListingsForCollectible.tsx +1 -1
  270. package/src/react/hooks/data/orders/useCountOffersForCollectible.tsx +1 -1
  271. package/src/react/hooks/data/orders/useFloorOrder.tsx +1 -1
  272. package/src/react/hooks/data/orders/useGetCountOfFilteredOrders.tsx +39 -0
  273. package/src/react/hooks/data/orders/useHighestOffer.tsx +1 -1
  274. package/src/react/hooks/data/orders/useListItemsOrdersForCollection.tsx +93 -0
  275. package/src/react/hooks/data/orders/useListItemsOrdersForCollectionPaginated.tsx +108 -0
  276. package/src/react/hooks/data/orders/useListListingsForCollectible.tsx +1 -1
  277. package/src/react/hooks/data/orders/useListOffersForCollectible.tsx +1 -1
  278. package/src/react/hooks/data/orders/useLowestListing.tsx +1 -1
  279. package/src/react/hooks/data/primary-sales/index.ts +1 -0
  280. package/src/react/hooks/data/primary-sales/useGetCountOfPrimarySaleItems.tsx +2 -2
  281. package/src/react/hooks/data/primary-sales/useListPrimarySaleItems.tsx +1 -1
  282. package/src/react/hooks/data/primary-sales/usePrimarySaleItem.tsx +71 -0
  283. package/src/react/hooks/data/tokens/useGetTokenRanges.tsx +2 -2
  284. package/src/react/hooks/data/tokens/useListBalances.tsx +3 -12
  285. package/src/react/hooks/data/tokens/useListTokenMetadata.tsx +1 -1
  286. package/src/react/hooks/data/tokens/useSearchTokenMetadata.tsx +1 -1
  287. package/src/react/hooks/data/tokens/useTokenSupplies.ts +2 -14
  288. package/src/react/hooks/transactions/useGenerateCancelTransaction.test.tsx +1 -0
  289. package/src/react/hooks/transactions/useGenerateListingTransaction.test.tsx +13 -0
  290. package/src/react/hooks/transactions/useGenerateOfferTransaction.test.tsx +3 -0
  291. package/src/react/hooks/transactions/useGenerateSellTransaction.test.tsx +6 -0
  292. package/src/react/hooks/transactions/useProcessStep.test.tsx +8 -6
  293. package/src/react/hooks/transactions/useProcessStep.ts +8 -6
  294. package/src/react/hooks/ui/useFilterState.tsx +72 -2
  295. package/src/react/hooks/ui/useFilters.tsx +1 -1
  296. package/src/react/hooks/utils/useCheckoutOptions.tsx +2 -2
  297. package/src/react/hooks/utils/useCheckoutOptionsSalesContract.tsx +1 -1
  298. package/src/react/hooks/utils/useComparePrices.test.tsx +1 -1
  299. package/src/react/hooks/utils/useComparePrices.tsx +1 -1
  300. package/src/react/hooks/utils/useConvertPriceToUSD.tsx +1 -1
  301. package/src/react/providers/analytics-provider.tsx +45 -0
  302. package/src/react/providers/index.tsx +30 -41
  303. package/src/react/providers/modal-provider.tsx +14 -2
  304. package/src/react/queries/{balanceOfCollectible.ts → collectibles/balanceOfCollectible.ts} +23 -16
  305. package/src/react/queries/{collectible.ts → collectibles/collectible.ts} +20 -5
  306. package/src/react/queries/{countOfCollectables.ts → collectibles/countOfCollectables.ts} +32 -6
  307. package/src/react/queries/collectibles/index.ts +7 -0
  308. package/src/react/queries/{listCollectibleActivities.ts → collectibles/listCollectibleActivities.ts} +29 -5
  309. package/src/react/queries/{listCollectibles.ts → collectibles/listCollectibles.ts} +22 -56
  310. package/src/react/queries/{listCollectiblesPaginated.ts → collectibles/listCollectiblesPaginated.ts} +22 -5
  311. package/src/react/queries/{tokenBalances.ts → collectibles/tokenBalances.ts} +20 -16
  312. package/src/react/queries/collections/activeListingsCurrencies.ts +84 -0
  313. package/src/react/queries/collections/activeOffersCurrencies.ts +84 -0
  314. package/src/react/queries/{collection.ts → collections/collection.ts} +19 -5
  315. package/src/react/queries/{collectionBalanceDetails.ts → collections/collectionBalanceDetails.ts} +19 -4
  316. package/src/react/queries/{collectionDetails.ts → collections/collectionDetails.ts} +21 -6
  317. package/src/react/queries/collections/index.ts +7 -0
  318. package/src/react/queries/{listCollectionActivities.ts → collections/listCollectionActivities.ts} +28 -6
  319. package/src/react/queries/{listCollections.ts → collections/listCollections.ts} +17 -6
  320. package/src/react/queries/index.ts +7 -34
  321. package/src/react/queries/inventory/index.ts +1 -0
  322. package/src/react/queries/{inventory.ts → inventory/inventory.ts} +13 -14
  323. package/src/react/queries/{checkoutOptions.ts → market/checkoutOptions.ts} +28 -6
  324. package/src/react/queries/{checkoutOptionsSalesContract.ts → market/checkoutOptionsSalesContract.ts} +24 -5
  325. package/src/react/queries/{currency.ts → market/currency.ts} +13 -4
  326. package/src/react/queries/{filters.ts → market/filters.ts} +25 -6
  327. package/src/react/queries/market/index.ts +6 -0
  328. package/src/react/queries/{marketCurrencies.ts → market/marketCurrencies.ts} +32 -6
  329. package/src/react/queries/{marketplaceConfig.ts → market/marketplaceConfig.ts} +5 -5
  330. package/src/react/queries/orders/countItemsOrdersForCollection.ts +86 -0
  331. package/src/react/queries/{countListingsForCollectible.ts → orders/countListingsForCollectible.ts} +23 -6
  332. package/src/react/queries/{countOffersForCollectible.ts → orders/countOffersForCollectible.ts} +23 -6
  333. package/src/react/queries/{floorOrder.ts → orders/floorOrder.ts} +15 -4
  334. package/src/react/queries/orders/getCountOfFilteredOrders.ts +88 -0
  335. package/src/react/queries/{highestOffer.ts → orders/highestOffer.ts} +16 -4
  336. package/src/react/queries/orders/index.ts +11 -0
  337. package/src/react/queries/orders/listItemsOrdersForCollection.ts +90 -0
  338. package/src/react/queries/orders/listItemsOrdersForCollectionPaginated.ts +90 -0
  339. package/src/react/queries/{listListingsForCollectible.ts → orders/listListingsForCollectible.ts} +20 -5
  340. package/src/react/queries/{listOffersForCollectible.ts → orders/listOffersForCollectible.ts} +20 -5
  341. package/src/react/queries/{lowestListing.ts → orders/lowestListing.ts} +16 -4
  342. package/src/react/queries/{countOfPrimarySaleItems.ts → primary-sales/countOfPrimarySaleItems.ts} +17 -3
  343. package/src/react/queries/primary-sales/index.ts +4 -0
  344. package/src/react/queries/primary-sales/primarySaleItem.ts +80 -0
  345. package/src/react/queries/{primarySaleItems.ts → primary-sales/primarySaleItems.ts} +18 -4
  346. package/src/react/queries/{primarySaleItemsCount.ts → primary-sales/primarySaleItemsCount.ts} +19 -4
  347. package/src/react/queries/{getTokenRanges.ts → tokens/getTokenRanges.ts} +17 -4
  348. package/src/react/queries/tokens/index.ts +5 -0
  349. package/src/react/queries/{listBalances.ts → tokens/listBalances.ts} +17 -22
  350. package/src/react/queries/{listTokenMetadata.ts → tokens/listTokenMetadata.ts} +18 -4
  351. package/src/react/queries/{searchTokenMetadata.ts → tokens/searchTokenMetadata.ts} +18 -4
  352. package/src/react/queries/{tokenSupplies.ts → tokens/tokenSupplies.ts} +17 -34
  353. package/src/react/queries/{comparePrices.ts → utils/comparePrices.ts} +29 -5
  354. package/src/react/queries/{convertPriceToUSD.ts → utils/convertPriceToUSD.ts} +18 -5
  355. package/src/react/queries/utils/index.ts +2 -0
  356. package/src/react/ssr/create-ssr-client.ts +1 -1
  357. package/src/react/ui/components/_internals/ErrorLogBox.tsx +85 -0
  358. package/src/react/ui/components/_internals/action-button/ActionButton.stories.tsx +2 -0
  359. package/src/react/ui/components/_internals/action-button/ActionButton.tsx +4 -0
  360. package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +4 -0
  361. package/src/react/ui/components/marketplace-collectible-card/components/ActionButtonWrapper.tsx +3 -0
  362. package/src/react/ui/components/marketplace-collectible-card/components/footer/Footer.tsx +4 -18
  363. package/src/react/ui/components/marketplace-collectible-card/types.ts +1 -0
  364. package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +5 -2
  365. package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +2 -2
  366. package/src/react/ui/modals/BuyModal/__tests__/BuyModalRouter.test.tsx +3 -0
  367. package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +1 -0
  368. package/src/react/ui/modals/BuyModal/components/ERC1155BuyModal.tsx +65 -3
  369. package/src/react/ui/modals/BuyModal/components/ERC721BuyModal.tsx +31 -0
  370. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC721SalePaymentParams.test.tsx +20 -1
  371. package/src/react/ui/modals/BuyModal/hooks/useERC1155Checkout.ts +7 -2
  372. package/src/react/ui/modals/BuyModal/hooks/useERC721SalePaymentParams.ts +12 -3
  373. package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +11 -25
  374. package/src/react/ui/modals/BuyModal/store.ts +3 -0
  375. package/src/react/ui/modals/CreateListingModal/Modal.tsx +63 -24
  376. package/src/react/ui/modals/CreateListingModal/__tests__/Modal.test.tsx +4 -0
  377. package/src/react/ui/modals/CreateListingModal/hooks/useCreateListing.tsx +18 -12
  378. package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +4 -1
  379. package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +1 -0
  380. package/src/react/ui/modals/MakeOfferModal/Modal.tsx +77 -10
  381. package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +12 -0
  382. package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +6 -1
  383. package/src/react/ui/modals/MakeOfferModal/hooks/useMakeOffer.tsx +15 -26
  384. package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +3 -0
  385. package/src/react/ui/modals/SellModal/Modal.tsx +21 -3
  386. package/src/react/ui/modals/SellModal/__tests__/Modal.test.tsx +2 -0
  387. package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +3 -1
  388. package/src/react/ui/modals/SellModal/hooks/useSell.tsx +13 -7
  389. package/src/react/ui/modals/SuccessfulPurchaseModal/__tests__/Modal.test.tsx +9 -0
  390. package/src/react/ui/modals/_internal/components/calendarDropdown/TimeSelector.tsx +105 -0
  391. package/src/react/ui/modals/_internal/components/calendarDropdown/index.tsx +45 -12
  392. package/src/react/ui/modals/_internal/components/calendarDropdown/overrides.css +39 -0
  393. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +34 -10
  394. package/src/react/ui/modals/_internal/components/expirationDateSelect/index.tsx +18 -9
  395. package/src/react/ui/modals/_internal/components/floorPriceText/__tests__/FloorPriceText.test.tsx +2 -0
  396. package/src/react/ui/modals/_internal/components/floorPriceText/index.tsx +1 -1
  397. package/src/react/ui/modals/_internal/components/priceInput/index.tsx +198 -11
  398. package/src/react/ui/modals/_internal/components/transactionDetails/index.tsx +58 -10
  399. package/src/react/ui/modals/_internal/components/transactionStatusModal/__tests__/utils.test.ts +2 -0
  400. package/src/react/utils/waitForTransactionReceipt.ts +26 -32
  401. package/src/styles/index.css +1 -0
  402. package/src/styles/styles.ts +156 -2
  403. package/src/types/index.ts +1 -1
  404. package/src/utils/abi/index.ts +1 -0
  405. package/src/utils/abi/mainModule.ts +158 -0
  406. package/src/utils/networkconfigToWagmiChain.ts +7 -0
  407. package/src/utils/price.ts +58 -0
  408. package/test/const.ts +2 -0
  409. package/test/server-setup.ts +0 -2
  410. package/dist/BellIcon-IpHHEy8h.js.map +0 -1
  411. package/dist/CartIcon-C8zbor8H.js.map +0 -1
  412. package/dist/CollectibleCard-C2EWF0zo.d.ts +0 -8
  413. package/dist/api-DuLKn__v.js.map +0 -1
  414. package/dist/builder-api-BFuZNOaN.js.map +0 -1
  415. package/dist/builder.gen-B9wR2nvF.js.map +0 -1
  416. package/dist/components-CUv-wQr8.js.map +0 -1
  417. package/dist/create-config-CIfejoCk.js.map +0 -1
  418. package/dist/filters-zkMJaPey.d.ts +0 -31
  419. package/dist/index-B8vaT3_s.d.ts +0 -18
  420. package/dist/index-Yobo6icm.d.ts +0 -234
  421. package/dist/listCollectiblesPaginated-Bq0QSOjJ.d.ts +0 -168
  422. package/dist/listCollections-dTCq00l5.d.ts +0 -669
  423. package/dist/lowestListing-CB5Te-Q9.d.ts +0 -168
  424. package/dist/marketplace-logos-Csv2MBwf.js.map +0 -1
  425. package/dist/marketplace.gen-w2YvbEEo.js.map +0 -1
  426. package/dist/marketplaceConfig-BTy75Mbf.js.map +0 -1
  427. package/dist/network-DtmiMhcg.js.map +0 -1
  428. package/dist/networkconfigToWagmiChain-DbUf6HiO.js.map +0 -1
  429. package/dist/queries-EMA5CcwY.js +0 -1399
  430. package/dist/queries-EMA5CcwY.js.map +0 -1
  431. package/dist/react-BLJ4DkPx.js.map +0 -1
  432. package/dist/react-F03jPjPk.css +0 -80
  433. package/dist/react-F03jPjPk.css.map +0 -1
  434. package/dist/tokenSupplies-C470zTT0.d.ts +0 -147
  435. package/dist/utils-BZEkdqWK.js.map +0 -1
  436. package/dist/utils-oVZxdK0o.js.map +0 -1
  437. package/dist/waitForTransactionReceipt-B08YZiDY.js +0 -26
  438. package/dist/waitForTransactionReceipt-B08YZiDY.js.map +0 -1
  439. package/src/react/_internal/api/__mocks__/laos.msw.ts +0 -387
  440. package/src/react/_internal/api/__tests__/laos-api.test.ts +0 -756
  441. package/src/react/_internal/api/laos-api.ts +0 -106
  442. package/src/react/hooks/data/collectibles/useBalanceOfCollectible.laos.test.tsx +0 -367
  443. package/src/react/queries/__tests__/balanceOfCollectible.laos.test.ts +0 -123
  444. package/src/react/queries/__tests__/inventory.laos.test.ts +0 -499
  445. package/src/react/queries/__tests__/tokenBalances.laos.test.ts +0 -123
  446. /package/dist/{index-Cg5cFzs-.d.ts → index-CCggO_hw.d.ts} +0 -0
  447. /package/dist/{abi-DYsUABe6.js → queries-CyajGg_O.js} +0 -0
@@ -0,0 +1,331 @@
1
+ import { balanceQueries, collectionKeys, getIndexerClient, getMarketplaceClient, getMetadataClient } from "./api-GwTR0dBA.js";
2
+ import { compareAddress } from "./utils-9ToOvt-c.js";
3
+ import { queryOptions, skipToken } from "@tanstack/react-query";
4
+
5
+ //#region src/react/queries/collections/collection.ts
6
+ /**
7
+ * Fetches collection information from the metadata API
8
+ */
9
+ async function fetchCollection(params) {
10
+ const { collectionAddress, chainId, config } = params;
11
+ const metadataClient = getMetadataClient(config);
12
+ const result = await metadataClient.getContractInfo({
13
+ chainID: chainId.toString(),
14
+ contractAddress: collectionAddress
15
+ });
16
+ return result.contractInfo;
17
+ }
18
+ function getCollectionQueryKey(params) {
19
+ const apiArgs = {
20
+ chainID: String(params.chainId),
21
+ contractAddress: params.collectionAddress
22
+ };
23
+ return [...collectionKeys.detail, apiArgs];
24
+ }
25
+ function collectionQueryOptions(params) {
26
+ const enabled = Boolean(params.collectionAddress && params.chainId && params.config && (params.query?.enabled ?? true));
27
+ return queryOptions({
28
+ queryKey: getCollectionQueryKey(params),
29
+ queryFn: () => fetchCollection({
30
+ chainId: params.chainId,
31
+ collectionAddress: params.collectionAddress,
32
+ config: params.config
33
+ }),
34
+ ...params.query,
35
+ enabled
36
+ });
37
+ }
38
+
39
+ //#endregion
40
+ //#region src/react/queries/collections/activeListingsCurrencies.ts
41
+ /**
42
+ * Fetches the active listings currencies for a collection from the marketplace API
43
+ */
44
+ async function fetchCollectionActiveListingsCurrencies(params) {
45
+ const { collectionAddress, chainId, config,...additionalApiParams } = params;
46
+ const marketplaceClient = getMarketplaceClient(config);
47
+ const apiArgs = {
48
+ contractAddress: collectionAddress,
49
+ chainId: String(chainId),
50
+ ...additionalApiParams
51
+ };
52
+ const result = await marketplaceClient.getCollectionActiveListingsCurrencies(apiArgs);
53
+ return result.currencies;
54
+ }
55
+ function getCollectionActiveListingsCurrenciesQueryKey(params) {
56
+ const apiArgs = {
57
+ chainId: String(params.chainId),
58
+ contractAddress: params.collectionAddress
59
+ };
60
+ return [...collectionKeys.activeListingsCurrencies, apiArgs];
61
+ }
62
+ function collectionActiveListingsCurrenciesQueryOptions(params) {
63
+ const enabled = Boolean(params.collectionAddress && params.chainId && params.config && (params.query?.enabled ?? true));
64
+ return queryOptions({
65
+ queryKey: getCollectionActiveListingsCurrenciesQueryKey(params),
66
+ queryFn: () => fetchCollectionActiveListingsCurrencies({
67
+ chainId: params.chainId,
68
+ collectionAddress: params.collectionAddress,
69
+ config: params.config
70
+ }),
71
+ ...params.query,
72
+ enabled
73
+ });
74
+ }
75
+
76
+ //#endregion
77
+ //#region src/react/queries/collections/activeOffersCurrencies.ts
78
+ /**
79
+ * Fetches the active offers currencies for a collection from the marketplace API
80
+ */
81
+ async function fetchCollectionActiveOffersCurrencies(params) {
82
+ const { collectionAddress, chainId, config,...additionalApiParams } = params;
83
+ const marketplaceClient = getMarketplaceClient(config);
84
+ const apiArgs = {
85
+ contractAddress: collectionAddress,
86
+ chainId: String(chainId),
87
+ ...additionalApiParams
88
+ };
89
+ const result = await marketplaceClient.getCollectionActiveOffersCurrencies(apiArgs);
90
+ return result.currencies;
91
+ }
92
+ function getCollectionActiveOffersCurrenciesQueryKey(params) {
93
+ const apiArgs = {
94
+ chainId: String(params.chainId),
95
+ contractAddress: params.collectionAddress
96
+ };
97
+ return [...collectionKeys.activeOffersCurrencies, apiArgs];
98
+ }
99
+ function collectionActiveOffersCurrenciesQueryOptions(params) {
100
+ const enabled = Boolean(params.collectionAddress && params.chainId && params.config && (params.query?.enabled ?? true));
101
+ return queryOptions({
102
+ queryKey: getCollectionActiveOffersCurrenciesQueryKey(params),
103
+ queryFn: () => fetchCollectionActiveOffersCurrencies({
104
+ chainId: params.chainId,
105
+ collectionAddress: params.collectionAddress,
106
+ config: params.config
107
+ }),
108
+ ...params.query,
109
+ enabled
110
+ });
111
+ }
112
+
113
+ //#endregion
114
+ //#region src/react/queries/collections/collectionBalanceDetails.ts
115
+ /**
116
+ * Fetches detailed balance information for multiple accounts from the Indexer API
117
+ */
118
+ async function fetchCollectionBalanceDetails(params) {
119
+ const { chainId, filter, config } = params;
120
+ const indexerClient = getIndexerClient(chainId, config);
121
+ const promises = filter.accountAddresses.map((accountAddress) => indexerClient.getTokenBalancesDetails({ filter: {
122
+ accountAddresses: [accountAddress],
123
+ contractWhitelist: filter.contractWhitelist,
124
+ omitNativeBalances: filter.omitNativeBalances
125
+ } }));
126
+ const responses = await Promise.all(promises);
127
+ const mergedResponse = responses.reduce((acc, curr) => {
128
+ if (!curr) return acc;
129
+ return {
130
+ page: curr.page,
131
+ nativeBalances: [...acc.nativeBalances || [], ...curr.nativeBalances || []],
132
+ balances: [...acc.balances || [], ...curr.balances || []]
133
+ };
134
+ }, {
135
+ page: {},
136
+ nativeBalances: [],
137
+ balances: []
138
+ });
139
+ if (!mergedResponse) throw new Error("Failed to fetch collection balance details");
140
+ return mergedResponse;
141
+ }
142
+ function getCollectionBalanceDetailsQueryKey(params) {
143
+ const apiArgs = {
144
+ chainId: params.chainId,
145
+ filter: params.filter
146
+ };
147
+ return [...balanceQueries.collectionBalanceDetails, apiArgs];
148
+ }
149
+ function collectionBalanceDetailsQueryOptions(params) {
150
+ const enabled = Boolean(params.chainId && params.filter?.accountAddresses?.length && params.config && (params.query?.enabled ?? true));
151
+ return queryOptions({
152
+ queryKey: getCollectionBalanceDetailsQueryKey(params),
153
+ queryFn: () => fetchCollectionBalanceDetails({
154
+ chainId: params.chainId,
155
+ filter: params.filter,
156
+ config: params.config
157
+ }),
158
+ ...params.query,
159
+ enabled
160
+ });
161
+ }
162
+
163
+ //#endregion
164
+ //#region src/react/queries/collections/collectionDetails.ts
165
+ /**
166
+ * Fetches collection details from the marketplace API
167
+ */
168
+ async function fetchCollectionDetails(params) {
169
+ const { collectionAddress, chainId, config,...additionalApiParams } = params;
170
+ const marketplaceClient = getMarketplaceClient(config);
171
+ const apiArgs = {
172
+ contractAddress: collectionAddress,
173
+ chainId: String(chainId),
174
+ ...additionalApiParams
175
+ };
176
+ const result = await marketplaceClient.getCollectionDetail(apiArgs);
177
+ return result.collection;
178
+ }
179
+ function getCollectionDetailsQueryKey(params) {
180
+ const apiArgs = {
181
+ chainId: String(params.chainId),
182
+ contractAddress: params.collectionAddress
183
+ };
184
+ return [...collectionKeys.detail, apiArgs];
185
+ }
186
+ function collectionDetailsQueryOptions(params) {
187
+ const enabled = Boolean(params.collectionAddress && params.chainId && params.config && (params.query?.enabled ?? true));
188
+ return queryOptions({
189
+ queryKey: getCollectionDetailsQueryKey(params),
190
+ queryFn: () => fetchCollectionDetails({
191
+ chainId: params.chainId,
192
+ collectionAddress: params.collectionAddress,
193
+ config: params.config
194
+ }),
195
+ ...params.query,
196
+ enabled
197
+ });
198
+ }
199
+
200
+ //#endregion
201
+ //#region src/react/queries/collections/listCollectionActivities.ts
202
+ /**
203
+ * Fetches collection activities from the Marketplace API
204
+ */
205
+ async function fetchListCollectionActivities(params) {
206
+ const { collectionAddress, chainId, config, page, pageSize, sort,...additionalApiParams } = params;
207
+ const marketplaceClient = getMarketplaceClient(config);
208
+ const pageParams = page || pageSize || sort ? {
209
+ page: page ?? 1,
210
+ pageSize: pageSize ?? 10,
211
+ sort
212
+ } : void 0;
213
+ const apiArgs = {
214
+ contractAddress: collectionAddress,
215
+ chainId: String(chainId),
216
+ page: pageParams,
217
+ ...additionalApiParams
218
+ };
219
+ return await marketplaceClient.listCollectionActivities(apiArgs);
220
+ }
221
+ function getListCollectionActivitiesQueryKey(params) {
222
+ const page = params.page || params.pageSize || params.sort ? {
223
+ page: params.page ?? 1,
224
+ pageSize: params.pageSize ?? 10,
225
+ sort: params.sort
226
+ } : void 0;
227
+ const apiArgs = {
228
+ chainId: String(params.chainId),
229
+ contractAddress: params.collectionAddress,
230
+ page
231
+ };
232
+ return [...collectionKeys.collectionActivities, apiArgs];
233
+ }
234
+ function listCollectionActivitiesQueryOptions(params) {
235
+ const enabled = Boolean(params.collectionAddress && params.chainId && params.config && (params.query?.enabled ?? true));
236
+ return queryOptions({
237
+ queryKey: getListCollectionActivitiesQueryKey(params),
238
+ queryFn: () => fetchListCollectionActivities({
239
+ chainId: params.chainId,
240
+ collectionAddress: params.collectionAddress,
241
+ config: params.config,
242
+ page: params.page,
243
+ pageSize: params.pageSize,
244
+ sort: params.sort
245
+ }),
246
+ ...params.query,
247
+ enabled
248
+ });
249
+ }
250
+
251
+ //#endregion
252
+ //#region src/react/queries/collections/listCollections.ts
253
+ const allCollections = (marketplaceConfig) => {
254
+ return [...marketplaceConfig.market.collections, ...marketplaceConfig.shop.collections];
255
+ };
256
+ /**
257
+ * Fetches collections from the metadata API with marketplace config filtering
258
+ */
259
+ async function fetchListCollections(params) {
260
+ const { cardType, marketplaceConfig, config } = params;
261
+ const metadataClient = getMetadataClient(config);
262
+ let collections = allCollections(marketplaceConfig);
263
+ if (!collections?.length) return [];
264
+ if (cardType) collections = collections.filter((collection) => collection.cardType === cardType);
265
+ const collectionsByChain = collections.reduce((acc, curr) => {
266
+ const { chainId, itemsAddress } = curr;
267
+ if (!acc[chainId]) acc[chainId] = [];
268
+ acc[chainId].push(itemsAddress);
269
+ return acc;
270
+ }, {});
271
+ const promises = Object.entries(collectionsByChain).map(([chainId, addresses]) => metadataClient.getContractInfoBatch({
272
+ chainID: chainId,
273
+ contractAddresses: addresses
274
+ }).then((resp) => Object.values(resp.contractInfoMap)));
275
+ const settled = await Promise.allSettled(promises);
276
+ if (settled.every((result) => result.status === "rejected")) {
277
+ const firstError = settled[0];
278
+ throw firstError.reason;
279
+ }
280
+ const results = settled.filter((r) => r.status === "fulfilled").flatMap((r) => r.value);
281
+ const collectionsWithMetadata = collections.map((collection) => {
282
+ const metadata = results.find((result) => compareAddress(result.address, collection.itemsAddress));
283
+ return {
284
+ collection,
285
+ metadata
286
+ };
287
+ }).filter((item) => item.metadata !== void 0).map(({ collection, metadata }) => ({
288
+ ...collection,
289
+ ...metadata
290
+ }));
291
+ return collectionsWithMetadata;
292
+ }
293
+ function getListCollectionsQueryKey(params) {
294
+ const queryKeyParams = {
295
+ cardType: params.cardType,
296
+ marketplaceConfig: params.marketplaceConfig
297
+ };
298
+ return [...collectionKeys.list, queryKeyParams];
299
+ }
300
+ function listCollectionsQueryOptions(params) {
301
+ const enabled = Boolean(params.marketplaceConfig && params.config && (params.query?.enabled ?? true));
302
+ return queryOptions({
303
+ queryKey: getListCollectionsQueryKey(params),
304
+ queryFn: enabled ? () => fetchListCollections({
305
+ marketplaceConfig: params.marketplaceConfig,
306
+ config: params.config,
307
+ cardType: params.cardType
308
+ }) : skipToken,
309
+ ...params.query,
310
+ enabled
311
+ });
312
+ }
313
+ const listCollectionsOptions = ({ cardType, marketplaceConfig, config }) => {
314
+ return queryOptions({
315
+ queryKey: [...collectionKeys.list, {
316
+ cardType,
317
+ marketplaceConfig,
318
+ config
319
+ }],
320
+ queryFn: marketplaceConfig ? () => fetchListCollections({
321
+ marketplaceConfig,
322
+ config,
323
+ cardType
324
+ }) : skipToken,
325
+ enabled: Boolean(marketplaceConfig)
326
+ });
327
+ };
328
+
329
+ //#endregion
330
+ export { collectionActiveListingsCurrenciesQueryOptions, collectionActiveOffersCurrenciesQueryOptions, collectionBalanceDetailsQueryOptions, collectionDetailsQueryOptions, collectionQueryOptions, fetchCollection, fetchCollectionActiveListingsCurrencies, fetchCollectionActiveOffersCurrencies, fetchCollectionBalanceDetails, fetchCollectionDetails, fetchListCollectionActivities, fetchListCollections, getCollectionActiveListingsCurrenciesQueryKey, getCollectionActiveOffersCurrenciesQueryKey, getCollectionBalanceDetailsQueryKey, getCollectionDetailsQueryKey, getCollectionQueryKey, getListCollectionActivitiesQueryKey, getListCollectionsQueryKey, listCollectionActivitiesQueryOptions, listCollectionsOptions, listCollectionsQueryOptions };
331
+ //# sourceMappingURL=collections-5NcU-7ZR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collections-5NcU-7ZR.js","names":["params: FetchCollectionParams","params: CollectionQueryOptions","params: FetchCollectionActiveListingsCurrenciesParams","apiArgs: GetCollectionActiveListingsCurrenciesArgs","params: CollectionActiveListingsCurrenciesQueryOptions","params: FetchCollectionActiveOffersCurrenciesParams","apiArgs: GetCollectionActiveOffersCurrenciesArgs","params: CollectionActiveOffersCurrenciesQueryOptions","params: FetchCollectionBalanceDetailsParams","params: CollectionBalanceDetailsQueryOptions","params: FetchCollectionDetailsParams","apiArgs: GetCollectionDetailArgs","params: CollectionDetailsQueryOptions","params: FetchListCollectionActivitiesParams","pageParams: Page | undefined","apiArgs: ListCollectionActivitiesArgs","params: ListCollectionActivitiesQueryOptions","marketplaceConfig: MarketplaceConfig","params: FetchListCollectionsParams","params: ListCollectionsQueryOptions"],"sources":["../src/react/queries/collections/collection.ts","../src/react/queries/collections/activeListingsCurrencies.ts","../src/react/queries/collections/activeOffersCurrencies.ts","../src/react/queries/collections/collectionBalanceDetails.ts","../src/react/queries/collections/collectionDetails.ts","../src/react/queries/collections/listCollectionActivities.ts","../src/react/queries/collections/listCollections.ts"],"sourcesContent":["import type { GetContractInfoArgs } from '@0xsequence/metadata';\nimport { queryOptions } from '@tanstack/react-query';\nimport type { SdkConfig } from '../../../types';\nimport {\n\tgetMetadataClient,\n\ttype QueryKeyArgs,\n\ttype ValuesOptional,\n} from '../../_internal';\nimport { collectionKeys } from '../../_internal/api/query-keys';\nimport type { StandardQueryOptions } from '../../types/query';\n\nexport interface FetchCollectionParams {\n\tchainId: number;\n\tcollectionAddress: string;\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches collection information from the metadata API\n */\nexport async function fetchCollection(params: FetchCollectionParams) {\n\tconst { collectionAddress, chainId, config } = params;\n\n\tconst metadataClient = getMetadataClient(config);\n\n\tconst result = await metadataClient.getContractInfo({\n\t\tchainID: chainId.toString(),\n\t\tcontractAddress: collectionAddress,\n\t});\n\n\treturn result.contractInfo;\n}\n\nexport type CollectionQueryOptions = ValuesOptional<FetchCollectionParams> & {\n\tquery?: StandardQueryOptions;\n};\n\nexport function getCollectionQueryKey(params: CollectionQueryOptions) {\n\tconst apiArgs = {\n\t\tchainID: String(params.chainId),\n\t\tcontractAddress: params.collectionAddress,\n\t} satisfies QueryKeyArgs<GetContractInfoArgs>;\n\n\treturn [...collectionKeys.detail, apiArgs] as const;\n}\n\nexport function collectionQueryOptions(params: CollectionQueryOptions) {\n\tconst enabled = Boolean(\n\t\tparams.collectionAddress &&\n\t\t\tparams.chainId &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getCollectionQueryKey(params),\n\t\tqueryFn: () =>\n\t\t\tfetchCollection({\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tchainId: params.chainId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tcollectionAddress: params.collectionAddress!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tconfig: params.config!,\n\t\t\t}),\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n","import { queryOptions } from '@tanstack/react-query';\nimport type { SdkConfig } from '../../../types';\nimport {\n\tcollectionKeys,\n\ttype GetCollectionActiveListingsCurrenciesArgs,\n\ttype GetCollectionActiveListingsCurrenciesReturn,\n\tgetMarketplaceClient,\n\ttype QueryKeyArgs,\n\ttype ValuesOptional,\n} from '../../_internal';\nimport type { StandardQueryOptions } from '../../types/query';\n\nexport interface FetchCollectionActiveListingsCurrenciesParams\n\textends Omit<\n\t\tGetCollectionActiveListingsCurrenciesArgs,\n\t\t'contractAddress' | 'chainId'\n\t> {\n\tcollectionAddress: string;\n\tchainId: number;\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches the active listings currencies for a collection from the marketplace API\n */\nexport async function fetchCollectionActiveListingsCurrencies(\n\tparams: FetchCollectionActiveListingsCurrenciesParams,\n): Promise<GetCollectionActiveListingsCurrenciesReturn['currencies']> {\n\tconst { collectionAddress, chainId, config, ...additionalApiParams } = params;\n\n\tconst marketplaceClient = getMarketplaceClient(config);\n\n\tconst apiArgs: GetCollectionActiveListingsCurrenciesArgs = {\n\t\tcontractAddress: collectionAddress,\n\t\tchainId: String(chainId),\n\t\t...additionalApiParams,\n\t};\n\n\tconst result =\n\t\tawait marketplaceClient.getCollectionActiveListingsCurrencies(apiArgs);\n\treturn result.currencies;\n}\n\nexport type CollectionActiveListingsCurrenciesQueryOptions =\n\tValuesOptional<FetchCollectionActiveListingsCurrenciesParams> & {\n\t\tquery?: StandardQueryOptions;\n\t};\n\nexport function getCollectionActiveListingsCurrenciesQueryKey(\n\tparams: CollectionActiveListingsCurrenciesQueryOptions,\n) {\n\tconst apiArgs = {\n\t\tchainId: String(params.chainId),\n\t\tcontractAddress: params.collectionAddress,\n\t} satisfies QueryKeyArgs<GetCollectionActiveListingsCurrenciesArgs>;\n\n\treturn [...collectionKeys.activeListingsCurrencies, apiArgs] as const;\n}\n\nexport function collectionActiveListingsCurrenciesQueryOptions(\n\tparams: CollectionActiveListingsCurrenciesQueryOptions,\n) {\n\tconst enabled = Boolean(\n\t\tparams.collectionAddress &&\n\t\t\tparams.chainId &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getCollectionActiveListingsCurrenciesQueryKey(params),\n\t\tqueryFn: () =>\n\t\t\tfetchCollectionActiveListingsCurrencies({\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tchainId: params.chainId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tcollectionAddress: params.collectionAddress!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tconfig: params.config!,\n\t\t\t}),\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n","import { queryOptions } from '@tanstack/react-query';\nimport type { SdkConfig } from '../../../types';\nimport {\n\tcollectionKeys,\n\ttype GetCollectionActiveOffersCurrenciesArgs,\n\ttype GetCollectionActiveOffersCurrenciesReturn,\n\tgetMarketplaceClient,\n\ttype QueryKeyArgs,\n\ttype ValuesOptional,\n} from '../../_internal';\nimport type { StandardQueryOptions } from '../../types/query';\n\nexport interface FetchCollectionActiveOffersCurrenciesParams\n\textends Omit<\n\t\tGetCollectionActiveOffersCurrenciesArgs,\n\t\t'contractAddress' | 'chainId'\n\t> {\n\tcollectionAddress: string;\n\tchainId: number;\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches the active offers currencies for a collection from the marketplace API\n */\nexport async function fetchCollectionActiveOffersCurrencies(\n\tparams: FetchCollectionActiveOffersCurrenciesParams,\n): Promise<GetCollectionActiveOffersCurrenciesReturn['currencies']> {\n\tconst { collectionAddress, chainId, config, ...additionalApiParams } = params;\n\n\tconst marketplaceClient = getMarketplaceClient(config);\n\n\tconst apiArgs: GetCollectionActiveOffersCurrenciesArgs = {\n\t\tcontractAddress: collectionAddress,\n\t\tchainId: String(chainId),\n\t\t...additionalApiParams,\n\t};\n\n\tconst result =\n\t\tawait marketplaceClient.getCollectionActiveOffersCurrencies(apiArgs);\n\treturn result.currencies;\n}\n\nexport type CollectionActiveOffersCurrenciesQueryOptions =\n\tValuesOptional<FetchCollectionActiveOffersCurrenciesParams> & {\n\t\tquery?: StandardQueryOptions;\n\t};\n\nexport function getCollectionActiveOffersCurrenciesQueryKey(\n\tparams: CollectionActiveOffersCurrenciesQueryOptions,\n) {\n\tconst apiArgs = {\n\t\tchainId: String(params.chainId),\n\t\tcontractAddress: params.collectionAddress,\n\t} satisfies QueryKeyArgs<GetCollectionActiveOffersCurrenciesArgs>;\n\n\treturn [...collectionKeys.activeOffersCurrencies, apiArgs] as const;\n}\n\nexport function collectionActiveOffersCurrenciesQueryOptions(\n\tparams: CollectionActiveOffersCurrenciesQueryOptions,\n) {\n\tconst enabled = Boolean(\n\t\tparams.collectionAddress &&\n\t\t\tparams.chainId &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getCollectionActiveOffersCurrenciesQueryKey(params),\n\t\tqueryFn: () =>\n\t\t\tfetchCollectionActiveOffersCurrencies({\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tchainId: params.chainId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tcollectionAddress: params.collectionAddress!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tconfig: params.config!,\n\t\t\t}),\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n","import type { GetTokenBalancesDetailsReturn } from '@0xsequence/indexer';\nimport { queryOptions } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport type { SdkConfig } from '../../../types';\nimport {\n\tbalanceQueries,\n\tgetIndexerClient,\n\ttype ValuesOptional,\n} from '../../_internal';\nimport type { StandardQueryOptions } from '../../types/query';\n\nexport interface CollectionBalanceFilter {\n\taccountAddresses: Array<Address>;\n\tcontractWhitelist?: Array<Address>;\n\tomitNativeBalances: boolean;\n}\n\nexport interface FetchCollectionBalanceDetailsParams {\n\tchainId: number;\n\tfilter: CollectionBalanceFilter;\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches detailed balance information for multiple accounts from the Indexer API\n */\nexport async function fetchCollectionBalanceDetails(\n\tparams: FetchCollectionBalanceDetailsParams,\n): Promise<GetTokenBalancesDetailsReturn> {\n\tconst { chainId, filter, config } = params;\n\n\tconst indexerClient = getIndexerClient(chainId, config);\n\n\tconst promises = filter.accountAddresses.map((accountAddress) =>\n\t\tindexerClient.getTokenBalancesDetails({\n\t\t\tfilter: {\n\t\t\t\taccountAddresses: [accountAddress],\n\t\t\t\tcontractWhitelist: filter.contractWhitelist,\n\t\t\t\tomitNativeBalances: filter.omitNativeBalances,\n\t\t\t},\n\t\t}),\n\t);\n\n\tconst responses = await Promise.all(promises);\n\tconst mergedResponse = responses.reduce<GetTokenBalancesDetailsReturn>(\n\t\t(acc, curr) => {\n\t\t\tif (!curr) return acc;\n\t\t\treturn {\n\t\t\t\tpage: curr.page,\n\t\t\t\tnativeBalances: [\n\t\t\t\t\t...(acc.nativeBalances || []),\n\t\t\t\t\t...(curr.nativeBalances || []),\n\t\t\t\t],\n\t\t\t\tbalances: [...(acc.balances || []), ...(curr.balances || [])],\n\t\t\t};\n\t\t},\n\t\t{ page: {}, nativeBalances: [], balances: [] },\n\t);\n\n\tif (!mergedResponse) {\n\t\tthrow new Error('Failed to fetch collection balance details');\n\t}\n\n\treturn mergedResponse;\n}\n\nexport type CollectionBalanceDetailsQueryOptions =\n\tValuesOptional<FetchCollectionBalanceDetailsParams> & {\n\t\tquery?: StandardQueryOptions;\n\t};\n\nexport function getCollectionBalanceDetailsQueryKey(\n\tparams: CollectionBalanceDetailsQueryOptions,\n) {\n\tconst apiArgs = {\n\t\tchainId: params.chainId!,\n\t\tfilter: params.filter!,\n\t};\n\n\treturn [...balanceQueries.collectionBalanceDetails, apiArgs] as const;\n}\n\nexport function collectionBalanceDetailsQueryOptions(\n\tparams: CollectionBalanceDetailsQueryOptions,\n) {\n\tconst enabled = Boolean(\n\t\tparams.chainId &&\n\t\t\tparams.filter?.accountAddresses?.length &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getCollectionBalanceDetailsQueryKey(params),\n\t\tqueryFn: () =>\n\t\t\tfetchCollectionBalanceDetails({\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tchainId: params.chainId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tfilter: params.filter!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tconfig: params.config!,\n\t\t\t}),\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n","import { queryOptions } from '@tanstack/react-query';\nimport type { SdkConfig } from '../../../types';\nimport {\n\tgetMarketplaceClient,\n\ttype QueryKeyArgs,\n\ttype ValuesOptional,\n} from '../../_internal';\nimport type { GetCollectionDetailArgs } from '../../_internal/api/marketplace.gen';\nimport { collectionKeys } from '../../_internal/api/query-keys';\nimport type { StandardQueryOptions } from '../../types/query';\n\nexport interface FetchCollectionDetailsParams\n\textends Omit<GetCollectionDetailArgs, 'chainId' | 'contractAddress'> {\n\tchainId: number;\n\tcollectionAddress: string;\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches collection details from the marketplace API\n */\nexport async function fetchCollectionDetails(\n\tparams: FetchCollectionDetailsParams,\n) {\n\tconst { collectionAddress, chainId, config, ...additionalApiParams } = params;\n\n\tconst marketplaceClient = getMarketplaceClient(config);\n\n\tconst apiArgs: GetCollectionDetailArgs = {\n\t\tcontractAddress: collectionAddress,\n\t\tchainId: String(chainId),\n\t\t...additionalApiParams,\n\t};\n\n\tconst result = await marketplaceClient.getCollectionDetail(apiArgs);\n\treturn result.collection;\n}\n\nexport type CollectionDetailsQueryOptions =\n\tValuesOptional<FetchCollectionDetailsParams> & {\n\t\tquery?: StandardQueryOptions;\n\t};\n\nexport function getCollectionDetailsQueryKey(\n\tparams: CollectionDetailsQueryOptions,\n) {\n\tconst apiArgs = {\n\t\tchainId: String(params.chainId),\n\t\tcontractAddress: params.collectionAddress,\n\t} satisfies QueryKeyArgs<GetCollectionDetailArgs>;\n\n\treturn [...collectionKeys.detail, apiArgs] as const;\n}\n\nexport function collectionDetailsQueryOptions(\n\tparams: CollectionDetailsQueryOptions,\n) {\n\tconst enabled = Boolean(\n\t\tparams.collectionAddress &&\n\t\t\tparams.chainId &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getCollectionDetailsQueryKey(params),\n\t\tqueryFn: () =>\n\t\t\tfetchCollectionDetails({\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tchainId: params.chainId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tcollectionAddress: params.collectionAddress!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tconfig: params.config!,\n\t\t\t}),\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n","import { queryOptions } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport type { Page, SdkConfig } from '../../../types';\nimport type {\n\tListCollectionActivitiesArgs,\n\tListCollectionActivitiesReturn,\n\tQueryKeyArgs,\n\tSortBy,\n\tValuesOptional,\n} from '../../_internal';\nimport { getMarketplaceClient } from '../../_internal';\nimport { collectionKeys } from '../../_internal/api';\nimport type { StandardQueryOptions } from '../../types/query';\n\nexport interface FetchListCollectionActivitiesParams\n\textends Omit<\n\t\tListCollectionActivitiesArgs,\n\t\t'chainId' | 'contractAddress' | 'page'\n\t> {\n\tchainId: number;\n\tcollectionAddress: Address;\n\tpage?: number;\n\tpageSize?: number;\n\tsort?: SortBy[];\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches collection activities from the Marketplace API\n */\nexport async function fetchListCollectionActivities(\n\tparams: FetchListCollectionActivitiesParams,\n): Promise<ListCollectionActivitiesReturn> {\n\tconst {\n\t\tcollectionAddress,\n\t\tchainId,\n\t\tconfig,\n\t\tpage,\n\t\tpageSize,\n\t\tsort,\n\t\t...additionalApiParams\n\t} = params;\n\tconst marketplaceClient = getMarketplaceClient(config);\n\n\tconst pageParams: Page | undefined =\n\t\tpage || pageSize || sort\n\t\t\t? {\n\t\t\t\t\tpage: page ?? 1,\n\t\t\t\t\tpageSize: pageSize ?? 10,\n\t\t\t\t\tsort,\n\t\t\t\t}\n\t\t\t: undefined;\n\n\tconst apiArgs: ListCollectionActivitiesArgs = {\n\t\tcontractAddress: collectionAddress,\n\t\tchainId: String(chainId),\n\t\tpage: pageParams,\n\t\t...additionalApiParams,\n\t};\n\n\treturn await marketplaceClient.listCollectionActivities(apiArgs);\n}\n\nexport type ListCollectionActivitiesQueryOptions =\n\tValuesOptional<FetchListCollectionActivitiesParams> & {\n\t\tquery?: StandardQueryOptions;\n\t};\n\nexport function getListCollectionActivitiesQueryKey(\n\tparams: ListCollectionActivitiesQueryOptions,\n) {\n\tconst page =\n\t\tparams.page || params.pageSize || params.sort\n\t\t\t? {\n\t\t\t\t\tpage: params.page ?? 1,\n\t\t\t\t\tpageSize: params.pageSize ?? 10,\n\t\t\t\t\tsort: params.sort,\n\t\t\t\t}\n\t\t\t: undefined;\n\n\tconst apiArgs = {\n\t\tchainId: String(params.chainId),\n\t\tcontractAddress: params.collectionAddress,\n\t\tpage: page,\n\t} satisfies QueryKeyArgs<ListCollectionActivitiesArgs>;\n\n\treturn [...collectionKeys.collectionActivities, apiArgs] as const;\n}\n\nexport function listCollectionActivitiesQueryOptions(\n\tparams: ListCollectionActivitiesQueryOptions,\n) {\n\tconst enabled = Boolean(\n\t\tparams.collectionAddress &&\n\t\t\tparams.chainId &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getListCollectionActivitiesQueryKey(params),\n\t\tqueryFn: () =>\n\t\t\tfetchListCollectionActivities({\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tchainId: params.chainId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tcollectionAddress: params.collectionAddress!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tconfig: params.config!,\n\t\t\t\tpage: params.page,\n\t\t\t\tpageSize: params.pageSize,\n\t\t\t\tsort: params.sort,\n\t\t\t}),\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n","import type { ContractInfo } from '@0xsequence/metadata';\nimport { queryOptions, skipToken } from '@tanstack/react-query';\nimport type { CardType, SdkConfig } from '../../../types';\nimport type {\n\tMarketCollection,\n\tMarketplaceConfig,\n\tShopCollection,\n} from '../../../types/new-marketplace-types';\nimport { compareAddress } from '../../../utils';\nimport {\n\tcollectionKeys,\n\tgetMetadataClient,\n\ttype ValuesOptional,\n} from '../../_internal';\nimport type { StandardQueryOptions } from '../../types/query';\n\nconst allCollections = (marketplaceConfig: MarketplaceConfig) => {\n\treturn [\n\t\t...marketplaceConfig.market.collections,\n\t\t...marketplaceConfig.shop.collections,\n\t];\n};\n\nexport interface FetchListCollectionsParams {\n\tcardType?: CardType;\n\tmarketplaceConfig: MarketplaceConfig;\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches collections from the metadata API with marketplace config filtering\n */\nexport async function fetchListCollections(params: FetchListCollectionsParams) {\n\tconst { cardType, marketplaceConfig, config } = params;\n\tconst metadataClient = getMetadataClient(config);\n\n\tlet collections = allCollections(marketplaceConfig);\n\n\tif (!collections?.length) {\n\t\treturn [];\n\t}\n\n\tif (cardType) {\n\t\tcollections = collections.filter(\n\t\t\t(collection) => collection.cardType === cardType,\n\t\t);\n\t}\n\n\t// Group collections by chainId\n\tconst collectionsByChain = collections.reduce<Record<string, string[]>>(\n\t\t(acc, curr) => {\n\t\t\tconst { chainId, itemsAddress } = curr;\n\t\t\tif (!acc[chainId]) {\n\t\t\t\tacc[chainId] = [];\n\t\t\t}\n\t\t\tacc[chainId].push(itemsAddress);\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\t// Fetch collections for each chain\n\tconst promises = Object.entries(collectionsByChain).map(\n\t\t([chainId, addresses]) =>\n\t\t\tmetadataClient\n\t\t\t\t.getContractInfoBatch({\n\t\t\t\t\tchainID: chainId,\n\t\t\t\t\tcontractAddresses: addresses,\n\t\t\t\t})\n\t\t\t\t.then((resp) => Object.values(resp.contractInfoMap)),\n\t);\n\n\tconst settled = await Promise.allSettled(promises);\n\n\t// If all promises failed, throw the first error\n\tif (settled.every((result) => result.status === 'rejected')) {\n\t\tconst firstError = settled[0] as PromiseRejectedResult;\n\t\tthrow firstError.reason;\n\t}\n\n\tconst results = settled\n\t\t.filter(\n\t\t\t(r): r is PromiseFulfilledResult<ContractInfo[]> =>\n\t\t\t\tr.status === 'fulfilled',\n\t\t)\n\t\t.flatMap((r) => r.value);\n\n\tconst collectionsWithMetadata = collections\n\t\t.map((collection) => {\n\t\t\tconst metadata = results.find((result) =>\n\t\t\t\tcompareAddress(result.address, collection.itemsAddress),\n\t\t\t);\n\t\t\treturn { collection, metadata };\n\t\t})\n\t\t.filter(\n\t\t\t(\n\t\t\t\titem,\n\t\t\t): item is {\n\t\t\t\tcollection: MarketCollection | ShopCollection;\n\t\t\t\tmetadata: ContractInfo;\n\t\t\t} => item.metadata !== undefined,\n\t\t)\n\t\t.map(({ collection, metadata }) => ({\n\t\t\t...collection,\n\t\t\t...metadata,\n\t\t}));\n\n\treturn collectionsWithMetadata;\n}\n\nexport type ListCollectionsQueryOptions =\n\tValuesOptional<FetchListCollectionsParams> & {\n\t\tquery?: StandardQueryOptions;\n\t};\n\nexport function getListCollectionsQueryKey(\n\tparams: ListCollectionsQueryOptions,\n) {\n\tconst queryKeyParams = {\n\t\tcardType: params.cardType,\n\t\tmarketplaceConfig: params.marketplaceConfig,\n\t} as const;\n\n\treturn [...collectionKeys.list, queryKeyParams] as const;\n}\n\nexport function listCollectionsQueryOptions(\n\tparams: ListCollectionsQueryOptions,\n) {\n\tconst enabled = Boolean(\n\t\tparams.marketplaceConfig &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getListCollectionsQueryKey(params),\n\t\tqueryFn: enabled\n\t\t\t? () =>\n\t\t\t\t\tfetchListCollections({\n\t\t\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\t\t\tmarketplaceConfig: params.marketplaceConfig!,\n\t\t\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\t\t\tconfig: params.config!,\n\t\t\t\t\t\tcardType: params.cardType,\n\t\t\t\t\t})\n\t\t\t: skipToken,\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n\n// Keep old function for backward compatibility during migration\nexport const listCollectionsOptions = ({\n\tcardType,\n\tmarketplaceConfig,\n\tconfig,\n}: {\n\tcardType?: CardType;\n\tmarketplaceConfig: MarketplaceConfig | undefined;\n\tconfig: SdkConfig;\n}) => {\n\treturn queryOptions({\n\t\tqueryKey: [...collectionKeys.list, { cardType, marketplaceConfig, config }],\n\t\tqueryFn: marketplaceConfig\n\t\t\t? () =>\n\t\t\t\t\tfetchListCollections({\n\t\t\t\t\t\tmarketplaceConfig,\n\t\t\t\t\t\tconfig,\n\t\t\t\t\t\tcardType,\n\t\t\t\t\t})\n\t\t\t: skipToken,\n\t\tenabled: Boolean(marketplaceConfig),\n\t});\n};\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { ContractType } from "./marketplace.gen-w2YvbEEo.js";
2
- import { compareAddress } from "./utils-BZEkdqWK.js";
3
- import { BellIcon_default } from "./BellIcon-IpHHEy8h.js";
4
- import { formatPriceNumber, getSupplyStatusText } from "./utils-oVZxdK0o.js";
1
+ import { ContractType$1 as ContractType } from "./marketplace.gen-906FrJQJ.js";
2
+ import { compareAddress } from "./utils-9ToOvt-c.js";
3
+ import { BellIcon_default } from "./BellIcon-DMKEumAz.js";
4
+ import { formatPriceNumber, getSupplyStatusText } from "./utils-B6di6O-C.js";
5
5
  import { useAccount } from "wagmi";
6
6
  import { ChevronLeftIcon, ChevronRightIcon, IconButton, Image, Text, cn } from "@0xsequence/design-system";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -22,9 +22,12 @@ const FooterName = ({ name, isShop, highestOffer, onOfferClick, quantityInitial,
22
22
  className: cn("overflow-hidden text-ellipsis text-left font-body font-bold text-sm text-text-100", isShop && (quantityInitial === void 0 || quantityRemaining === void 0) && "text-text-50"),
23
23
  children: displayName || "Untitled"
24
24
  }), highestOffer && onOfferClick && !isShop && (() => {
25
- const canAcceptOffer = !(currentUserAddress && highestOffer.createdBy && compareAddress(highestOffer.createdBy, currentUserAddress)) && balance && Number(balance) > 0;
25
+ const isOfferMadeBySelf = currentUserAddress && highestOffer.createdBy && compareAddress(highestOffer.createdBy, currentUserAddress);
26
+ const userOwnsToken = balance && Number(balance) > 0;
27
+ const canAcceptOffer = !isOfferMadeBySelf && userOwnsToken;
28
+ const shouldDisable = !canAcceptOffer;
26
29
  return /* @__PURE__ */ jsx(IconButton, {
27
- className: `absolute top-0 right-0 z-10 h-[22px] w-[22px] ${!canAcceptOffer ? "opacity-50 hover:animate-none hover:opacity-50" : "hover:animate-bell-ring"}`,
30
+ className: `absolute top-0 right-0 z-10 h-[22px] w-[22px] ${shouldDisable ? "opacity-50 hover:animate-none hover:opacity-50" : "hover:animate-bell-ring"}`,
28
31
  size: "xs",
29
32
  variant: "primary",
30
33
  onClick: (e) => {
@@ -49,7 +52,8 @@ const FooterName = ({ name, isShop, highestOffer, onOfferClick, quantityInitial,
49
52
  //#region src/react/ui/components/marketplace-collectible-card/components/footer/components/PriceDisplay.tsx
50
53
  const formatPrice = (amount, currency) => {
51
54
  const { formattedNumber, isUnderflow, isOverflow } = formatPriceNumber(amount, currency.decimals);
52
- if (amount === "0") return /* @__PURE__ */ jsx(Text, {
55
+ const isFree = amount === "0";
56
+ if (isFree) return /* @__PURE__ */ jsx(Text, {
53
57
  className: "font-bold text-sm text-text-100",
54
58
  children: "Free"
55
59
  });
@@ -115,5 +119,5 @@ const TokenTypeBalancePill = ({ balance, type, decimals }) => {
115
119
  };
116
120
 
117
121
  //#endregion
118
- export { FooterName, PriceDisplay, SaleDetailsPill, TokenTypeBalancePill, formatPrice };
119
- //# sourceMappingURL=components-CUv-wQr8.js.map
122
+ export { FooterName, PriceDisplay, SaleDetailsPill, TokenTypeBalancePill, formatPrice as formatPrice$1 };
123
+ //# sourceMappingURL=components-CY8kx2kb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-CY8kx2kb.js","names":["SvgBellIcon","amount: string","currency: Currency"],"sources":["../src/react/ui/components/marketplace-collectible-card/components/footer/components/FooterName.tsx","../src/react/ui/components/marketplace-collectible-card/components/footer/components/PriceDisplay.tsx","../src/react/ui/components/marketplace-collectible-card/components/footer/components/SaleDetailsPill.tsx","../src/react/ui/components/marketplace-collectible-card/components/footer/components/TokenTypeBalancePill.tsx"],"sourcesContent":["'use client';\n\nimport { cn, IconButton, Text } from '@0xsequence/design-system';\nimport { useAccount } from 'wagmi';\nimport { compareAddress } from '../../../../../../../utils/address';\nimport type { Order } from '../../../../../../_internal';\nimport SvgBellIcon from '../../../../../icons/BellIcon';\n\ninterface FooterNameProps {\n\tname: string;\n\tisShop?: boolean;\n\thighestOffer?: Order;\n\tonOfferClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n\tquantityInitial?: string;\n\tquantityRemaining?: string;\n\tbalance?: string;\n}\n\nexport const FooterName = ({\n\tname,\n\tisShop,\n\thighestOffer,\n\tonOfferClick,\n\tquantityInitial,\n\tquantityRemaining,\n\tbalance,\n}: FooterNameProps) => {\n\tconst { address: currentUserAddress } = useAccount();\n\tconst displayName = (() => {\n\t\tif (name.length > 15 && highestOffer && !isShop) {\n\t\t\treturn `${name.substring(0, 13)}...`;\n\t\t}\n\t\tif (name.length > 17 && !highestOffer && !isShop) {\n\t\t\treturn `${name.substring(0, 17)}...`;\n\t\t}\n\t\tif (name.length > 17) {\n\t\t\treturn `${name.substring(0, 17)}...`;\n\t\t}\n\t\treturn name;\n\t})();\n\n\treturn (\n\t\t<div className=\"relative flex w-full items-center justify-between\">\n\t\t\t<Text\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'overflow-hidden text-ellipsis text-left font-body font-bold text-sm text-text-100',\n\t\t\t\t\tisShop &&\n\t\t\t\t\t\t(quantityInitial === undefined ||\n\t\t\t\t\t\t\tquantityRemaining === undefined) &&\n\t\t\t\t\t\t'text-text-50',\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{displayName || 'Untitled'}\n\t\t\t</Text>\n\n\t\t\t{highestOffer &&\n\t\t\t\tonOfferClick &&\n\t\t\t\t!isShop &&\n\t\t\t\t(() => {\n\t\t\t\t\t// Check if the current user made the offer\n\t\t\t\t\tconst isOfferMadeBySelf =\n\t\t\t\t\t\tcurrentUserAddress &&\n\t\t\t\t\t\thighestOffer.createdBy &&\n\t\t\t\t\t\tcompareAddress(highestOffer.createdBy, currentUserAddress);\n\n\t\t\t\t\t// Check if user owns the token (has balance > 0)\n\t\t\t\t\tconst userOwnsToken = balance && Number(balance) > 0;\n\n\t\t\t\t\t// Can accept offer: didn't make the offer AND owns the token\n\t\t\t\t\tconst canAcceptOffer = !isOfferMadeBySelf && userOwnsToken;\n\n\t\t\t\t\t// Should show disabled styling: can't accept offer\n\t\t\t\t\tconst shouldDisable = !canAcceptOffer;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tclassName={`absolute top-0 right-0 z-10 h-[22px] w-[22px] ${shouldDisable ? 'opacity-50 hover:animate-none hover:opacity-50' : 'hover:animate-bell-ring'}`}\n\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\tif (!canAcceptOffer) {\n\t\t\t\t\t\t\t\t\t// For cases where user can't accept offer (offer maker or non-owner), allow normal wrapper behavior\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Only stop propagation and open offer modal if user can accept the offer\n\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\tonOfferClick?.(e);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonMouseEnter={(e) => {\n\t\t\t\t\t\t\t\tif (canAcceptOffer) {\n\t\t\t\t\t\t\t\t\t// Only prevent parent hover effects when user can accept offer\n\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ticon={(props) => <SvgBellIcon {...props} size=\"xs\" />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})()}\n\t\t</div>\n\t);\n};\n","'use client';\n\nimport {\n\tChevronLeftIcon,\n\tChevronRightIcon,\n\tcn,\n\tImage,\n\tText,\n} from '@0xsequence/design-system';\nimport type { Currency } from '../../../../../../_internal';\nimport { formatPriceNumber } from '../../../utils';\n\ninterface PriceDisplayProps {\n\tamount: string;\n\tcurrency: Currency;\n\tshowCurrencyIcon?: boolean;\n\tclassName?: string;\n}\n\nexport const formatPrice = (\n\tamount: string,\n\tcurrency: Currency,\n): React.ReactNode => {\n\tconst { formattedNumber, isUnderflow, isOverflow } = formatPriceNumber(\n\t\tamount,\n\t\tcurrency.decimals,\n\t);\n\tconst isFree = amount === '0';\n\n\tif (isFree) {\n\t\treturn <Text className=\"font-bold text-sm text-text-100\">Free</Text>;\n\t}\n\n\tif (isUnderflow) {\n\t\treturn (\n\t\t\t<div className=\"flex items-center\">\n\t\t\t\t<ChevronLeftIcon className=\"h-3 w-3 text-text-100\" />\n\t\t\t\t<Text className=\"font-bold text-sm text-text-100\">{`${formattedNumber} ${currency.symbol}`}</Text>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (isOverflow) {\n\t\treturn (\n\t\t\t<div className=\"flex items-center\">\n\t\t\t\t<ChevronRightIcon className=\"h-3 w-3 text-text-100\" />\n\t\t\t\t<Text className=\"font-bold text-sm text-text-100\">{`${formattedNumber} ${currency.symbol}`}</Text>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Text className=\"font-bold text-sm text-text-100\">\n\t\t\t{formattedNumber} {currency.symbol}\n\t\t</Text>\n\t);\n};\n\nexport const PriceDisplay = ({\n\tamount,\n\tcurrency,\n\tshowCurrencyIcon = true,\n\tclassName,\n}: PriceDisplayProps) => {\n\treturn (\n\t\t<div className={cn('flex items-center gap-1', className)}>\n\t\t\t{showCurrencyIcon && currency.imageUrl && (\n\t\t\t\t<Image\n\t\t\t\t\talt={currency.symbol}\n\t\t\t\t\tclassName=\"h-3 w-3\"\n\t\t\t\t\tsrc={currency.imageUrl}\n\t\t\t\t\tonError={(e) => {\n\t\t\t\t\t\te.currentTarget.style.display = 'none';\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{formatPrice(amount, currency)}\n\t\t</div>\n\t);\n};\n","'use client';\n\nimport { Text } from '@0xsequence/design-system';\nimport type { ContractType } from '../../../../../../_internal';\nimport { getSupplyStatusText } from '../../../utils';\n\ninterface SaleDetailsPillProps {\n\tquantityRemaining: string | undefined;\n\tcollectionType: ContractType;\n\tunlimitedSupply?: boolean;\n}\n\nexport const SaleDetailsPill = ({\n\tquantityRemaining,\n\tcollectionType,\n\tunlimitedSupply,\n}: SaleDetailsPillProps) => {\n\tconst supplyText = getSupplyStatusText({\n\t\tquantityRemaining,\n\t\tcollectionType,\n\t\tunlimitedSupply,\n\t});\n\n\treturn (\n\t\t<Text className=\"rounded-lg bg-background-secondary px-2 py-1 text-left font-medium text-text-80 text-xs\">\n\t\t\t{supplyText}\n\t\t</Text>\n\t);\n};\n","'use client';\n\nimport { Text } from '@0xsequence/design-system';\nimport { formatUnits } from 'viem';\nimport { ContractType } from '../../../../../../_internal';\n\ninterface TokenTypeBalancePillProps {\n\tbalance?: string;\n\ttype: ContractType;\n\tdecimals?: number;\n}\n\nexport const TokenTypeBalancePill = ({\n\tbalance,\n\ttype,\n\tdecimals,\n}: TokenTypeBalancePillProps) => {\n\tconst displayText =\n\t\ttype === ContractType.ERC1155\n\t\t\t? balance\n\t\t\t\t? `Owned: ${formatUnits(BigInt(balance), decimals ?? 0)}`\n\t\t\t\t: 'ERC-1155'\n\t\t\t: 'ERC-721';\n\n\treturn (\n\t\t<Text className=\"rounded-lg bg-background-secondary px-2 py-1 text-left font-medium text-text-80 text-xs\">\n\t\t\t{displayText}\n\t\t</Text>\n\t);\n};\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { ContractType } from "./marketplace.gen-w2YvbEEo.js";
2
- import { ERC1155_SALES_CONTRACT_ABI_V0, ERC1155_SALES_CONTRACT_ABI_V1, ERC721_SALE_ABI_V0, ERC721_SALE_ABI_V1 } from "./primary-sale-DOmNDq2P.js";
1
+ import { ContractType$1 as ContractType } from "./marketplace.gen-906FrJQJ.js";
2
+ import { ERC1155_SALES_CONTRACT_ABI_V0, ERC1155_SALES_CONTRACT_ABI_V1, ERC721_SALE_ABI_V0, ERC721_SALE_ABI_V1 } from "./primary-sale-1u4QlPdA.js";
3
3
  import { useReadContract } from "wagmi";
4
4
  import { useMemo } from "react";
5
5
 
@@ -73,12 +73,13 @@ function useSalesContractABI({ contractAddress, contractType, chainId, enabled =
73
73
  error: null
74
74
  };
75
75
  }
76
+ const error = v0Error || v1Error;
76
77
  return {
77
78
  version: null,
78
79
  abi: null,
79
80
  contractType: null,
80
81
  isLoading: false,
81
- error: v0Error || v1Error
82
+ error
82
83
  };
83
84
  }, [
84
85
  v1Data,
@@ -93,4 +94,4 @@ function useSalesContractABI({ contractAddress, contractType, chainId, enabled =
93
94
 
94
95
  //#endregion
95
96
  export { SalesContractVersion, useSalesContractABI };
96
- //# sourceMappingURL=contracts-D72LBOX3.js.map
97
+ //# sourceMappingURL=contracts-DRJHF89h.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts-D72LBOX3.js","names":[],"sources":["../src/react/hooks/contracts/useSalesContractABI.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { Address } from 'viem';\nimport { useReadContract } from 'wagmi';\nimport {\n\tERC721_SALE_ABI_V0,\n\tERC721_SALE_ABI_V1,\n\tERC1155_SALES_CONTRACT_ABI_V0,\n\tERC1155_SALES_CONTRACT_ABI_V1,\n} from '../../../utils/abi';\nimport { ContractType } from '../../_internal';\n\nexport enum SalesContractVersion {\n\tV0 = 'v0',\n\tV1 = 'v1',\n}\n\ninterface UseSalesContractABIProps {\n\tcontractAddress: Address;\n\tcontractType: ContractType.ERC721 | ContractType.ERC1155;\n\tchainId: number;\n\tenabled?: boolean;\n}\n\ntype UseSalesContractABIResult =\n\t| {\n\t\t\tversion: null;\n\t\t\tabi: null;\n\t\t\tcontractType: null;\n\t\t\tisLoading: true;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: SalesContractVersion.V0;\n\t\t\tabi: typeof ERC721_SALE_ABI_V0;\n\t\t\tcontractType: ContractType.ERC721;\n\t\t\tisLoading: false;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: SalesContractVersion.V0;\n\t\t\tabi: typeof ERC1155_SALES_CONTRACT_ABI_V0;\n\t\t\tcontractType: ContractType.ERC1155;\n\t\t\tisLoading: false;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: SalesContractVersion.V1;\n\t\t\tabi: typeof ERC721_SALE_ABI_V1;\n\t\t\tcontractType: ContractType.ERC721;\n\t\t\tisLoading: false;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: SalesContractVersion.V1;\n\t\t\tabi: typeof ERC1155_SALES_CONTRACT_ABI_V1;\n\t\t\tcontractType: ContractType.ERC1155;\n\t\t\tisLoading: false;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: null;\n\t\t\tabi: null;\n\t\t\tcontractType: null;\n\t\t\tisLoading: false;\n\t\t\terror: Error;\n\t };\n\nexport function useSalesContractABI({\n\tcontractAddress,\n\tcontractType,\n\tchainId,\n\tenabled = true,\n}: UseSalesContractABIProps): UseSalesContractABIResult {\n\tconst functionName =\n\t\tcontractType === ContractType.ERC721 ? 'saleDetails' : 'tokenSaleDetails';\n\n\tconst {\n\t\tdata: v1Data,\n\t\tisLoading: v1Loading,\n\t\terror: v1Error,\n\t} = useReadContract({\n\t\taddress: contractAddress,\n\t\tabi:\n\t\t\tcontractType === ContractType.ERC721\n\t\t\t\t? ERC721_SALE_ABI_V1\n\t\t\t\t: ERC1155_SALES_CONTRACT_ABI_V1,\n\t\tfunctionName,\n\t\targs: contractType === ContractType.ERC1155 ? [0n] : undefined,\n\t\tchainId,\n\t\tquery: {\n\t\t\tenabled,\n\t\t\tretry: false,\n\t\t},\n\t});\n\n\t// If V1 fails, try with V0 ABI, see enabled query\n\tconst {\n\t\tdata: v0Data,\n\t\tisLoading: v0Loading,\n\t\terror: v0Error,\n\t} = useReadContract({\n\t\taddress: contractAddress,\n\t\tabi:\n\t\t\tcontractType === ContractType.ERC721\n\t\t\t\t? ERC721_SALE_ABI_V0\n\t\t\t\t: ERC1155_SALES_CONTRACT_ABI_V0,\n\t\tfunctionName,\n\t\targs: contractType === ContractType.ERC1155 ? [0n] : undefined,\n\t\tchainId,\n\t\tquery: {\n\t\t\tenabled: enabled && !!v1Error && !v1Loading, // Only try V0 if V1 failed\n\t\t\tretry: false,\n\t\t},\n\t});\n\n\treturn useMemo(() => {\n\t\tif (v1Loading || (v1Error && v0Loading)) {\n\t\t\treturn {\n\t\t\t\tversion: null,\n\t\t\t\tabi: null,\n\t\t\t\tcontractType: null,\n\t\t\t\tisLoading: true,\n\t\t\t\terror: null,\n\t\t\t};\n\t\t}\n\n\t\tif (v1Data && !v1Error) {\n\t\t\tif (contractType === ContractType.ERC721) {\n\t\t\t\treturn {\n\t\t\t\t\tversion: SalesContractVersion.V1,\n\t\t\t\t\tabi: ERC721_SALE_ABI_V1,\n\t\t\t\t\tcontractType: ContractType.ERC721,\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\terror: null,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tversion: SalesContractVersion.V1,\n\t\t\t\tabi: ERC1155_SALES_CONTRACT_ABI_V1,\n\t\t\t\tcontractType: ContractType.ERC1155,\n\t\t\t\tisLoading: false,\n\t\t\t\terror: null,\n\t\t\t};\n\t\t}\n\n\t\tif (v0Data && !v0Error) {\n\t\t\tif (contractType === ContractType.ERC721) {\n\t\t\t\treturn {\n\t\t\t\t\tversion: SalesContractVersion.V0,\n\t\t\t\t\tabi: ERC721_SALE_ABI_V0,\n\t\t\t\t\tcontractType: ContractType.ERC721,\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\terror: null,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tversion: SalesContractVersion.V0,\n\t\t\t\tabi: ERC1155_SALES_CONTRACT_ABI_V0,\n\t\t\t\tcontractType: ContractType.ERC1155,\n\t\t\t\tisLoading: false,\n\t\t\t\terror: null,\n\t\t\t};\n\t\t}\n\n\t\tconst error = v0Error || v1Error;\n\t\treturn {\n\t\t\tversion: null,\n\t\t\tabi: null,\n\t\t\tcontractType: null,\n\t\t\tisLoading: false,\n\t\t\terror: error as Error,\n\t\t};\n\t}, [v1Data, v1Error, v1Loading, v0Data, v0Error, v0Loading, contractType]);\n}\n"],"mappings":";;;;;;AAWA,IAAY,wEAAL;AACN;AACA;;;AAsDD,SAAgB,oBAAoB,EACnC,iBACA,cACA,SACA,UAAU,QAC6C;CACvD,MAAM,eACL,iBAAiB,aAAa,SAAS,gBAAgB;CAExD,MAAM,EACL,MAAM,QACN,WAAW,WACX,OAAO,YACJ,gBAAgB;EACnB,SAAS;EACT,KACC,iBAAiB,aAAa,SAC3B,qBACA;EACJ;EACA,MAAM,iBAAiB,aAAa,UAAU,CAAC,GAAG,GAAG;EACrD;EACA,OAAO;GACN;GACA,OAAO;GACP;EACD,CAAC;CAGF,MAAM,EACL,MAAM,QACN,WAAW,WACX,OAAO,YACJ,gBAAgB;EACnB,SAAS;EACT,KACC,iBAAiB,aAAa,SAC3B,qBACA;EACJ;EACA,MAAM,iBAAiB,aAAa,UAAU,CAAC,GAAG,GAAG;EACrD;EACA,OAAO;GACN,SAAS,WAAW,CAAC,CAAC,WAAW,CAAC;GAClC,OAAO;GACP;EACD,CAAC;AAEF,QAAO,cAAc;AACpB,MAAI,aAAc,WAAW,UAC5B,QAAO;GACN,SAAS;GACT,KAAK;GACL,cAAc;GACd,WAAW;GACX,OAAO;GACP;AAGF,MAAI,UAAU,CAAC,SAAS;AACvB,OAAI,iBAAiB,aAAa,OACjC,QAAO;IACN,SAAS,qBAAqB;IAC9B,KAAK;IACL,cAAc,aAAa;IAC3B,WAAW;IACX,OAAO;IACP;AAEF,UAAO;IACN,SAAS,qBAAqB;IAC9B,KAAK;IACL,cAAc,aAAa;IAC3B,WAAW;IACX,OAAO;IACP;;AAGF,MAAI,UAAU,CAAC,SAAS;AACvB,OAAI,iBAAiB,aAAa,OACjC,QAAO;IACN,SAAS,qBAAqB;IAC9B,KAAK;IACL,cAAc,aAAa;IAC3B,WAAW;IACX,OAAO;IACP;AAEF,UAAO;IACN,SAAS,qBAAqB;IAC9B,KAAK;IACL,cAAc,aAAa;IAC3B,WAAW;IACX,OAAO;IACP;;AAIF,SAAO;GACN,SAAS;GACT,KAAK;GACL,cAAc;GACd,WAAW;GACX,OANa,WAAW;GAOxB;IACC;EAAC;EAAQ;EAAS;EAAW;EAAQ;EAAS;EAAW;EAAa,CAAC"}
1
+ {"version":3,"file":"contracts-DRJHF89h.js","names":[],"sources":["../src/react/hooks/contracts/useSalesContractABI.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { Address } from 'viem';\nimport { useReadContract } from 'wagmi';\nimport {\n\tERC721_SALE_ABI_V0,\n\tERC721_SALE_ABI_V1,\n\tERC1155_SALES_CONTRACT_ABI_V0,\n\tERC1155_SALES_CONTRACT_ABI_V1,\n} from '../../../utils/abi';\nimport { ContractType } from '../../_internal';\n\nexport enum SalesContractVersion {\n\tV0 = 'v0',\n\tV1 = 'v1',\n}\n\ninterface UseSalesContractABIProps {\n\tcontractAddress: Address;\n\tcontractType: ContractType.ERC721 | ContractType.ERC1155;\n\tchainId: number;\n\tenabled?: boolean;\n}\n\ntype UseSalesContractABIResult =\n\t| {\n\t\t\tversion: null;\n\t\t\tabi: null;\n\t\t\tcontractType: null;\n\t\t\tisLoading: true;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: SalesContractVersion.V0;\n\t\t\tabi: typeof ERC721_SALE_ABI_V0;\n\t\t\tcontractType: ContractType.ERC721;\n\t\t\tisLoading: false;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: SalesContractVersion.V0;\n\t\t\tabi: typeof ERC1155_SALES_CONTRACT_ABI_V0;\n\t\t\tcontractType: ContractType.ERC1155;\n\t\t\tisLoading: false;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: SalesContractVersion.V1;\n\t\t\tabi: typeof ERC721_SALE_ABI_V1;\n\t\t\tcontractType: ContractType.ERC721;\n\t\t\tisLoading: false;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: SalesContractVersion.V1;\n\t\t\tabi: typeof ERC1155_SALES_CONTRACT_ABI_V1;\n\t\t\tcontractType: ContractType.ERC1155;\n\t\t\tisLoading: false;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: null;\n\t\t\tabi: null;\n\t\t\tcontractType: null;\n\t\t\tisLoading: false;\n\t\t\terror: Error;\n\t };\n\nexport function useSalesContractABI({\n\tcontractAddress,\n\tcontractType,\n\tchainId,\n\tenabled = true,\n}: UseSalesContractABIProps): UseSalesContractABIResult {\n\tconst functionName =\n\t\tcontractType === ContractType.ERC721 ? 'saleDetails' : 'tokenSaleDetails';\n\n\tconst {\n\t\tdata: v1Data,\n\t\tisLoading: v1Loading,\n\t\terror: v1Error,\n\t} = useReadContract({\n\t\taddress: contractAddress,\n\t\tabi:\n\t\t\tcontractType === ContractType.ERC721\n\t\t\t\t? ERC721_SALE_ABI_V1\n\t\t\t\t: ERC1155_SALES_CONTRACT_ABI_V1,\n\t\tfunctionName,\n\t\targs: contractType === ContractType.ERC1155 ? [0n] : undefined,\n\t\tchainId,\n\t\tquery: {\n\t\t\tenabled,\n\t\t\tretry: false,\n\t\t},\n\t});\n\n\t// If V1 fails, try with V0 ABI, see enabled query\n\tconst {\n\t\tdata: v0Data,\n\t\tisLoading: v0Loading,\n\t\terror: v0Error,\n\t} = useReadContract({\n\t\taddress: contractAddress,\n\t\tabi:\n\t\t\tcontractType === ContractType.ERC721\n\t\t\t\t? ERC721_SALE_ABI_V0\n\t\t\t\t: ERC1155_SALES_CONTRACT_ABI_V0,\n\t\tfunctionName,\n\t\targs: contractType === ContractType.ERC1155 ? [0n] : undefined,\n\t\tchainId,\n\t\tquery: {\n\t\t\tenabled: enabled && !!v1Error && !v1Loading, // Only try V0 if V1 failed\n\t\t\tretry: false,\n\t\t},\n\t});\n\n\treturn useMemo(() => {\n\t\tif (v1Loading || (v1Error && v0Loading)) {\n\t\t\treturn {\n\t\t\t\tversion: null,\n\t\t\t\tabi: null,\n\t\t\t\tcontractType: null,\n\t\t\t\tisLoading: true,\n\t\t\t\terror: null,\n\t\t\t};\n\t\t}\n\n\t\tif (v1Data && !v1Error) {\n\t\t\tif (contractType === ContractType.ERC721) {\n\t\t\t\treturn {\n\t\t\t\t\tversion: SalesContractVersion.V1,\n\t\t\t\t\tabi: ERC721_SALE_ABI_V1,\n\t\t\t\t\tcontractType: ContractType.ERC721,\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\terror: null,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tversion: SalesContractVersion.V1,\n\t\t\t\tabi: ERC1155_SALES_CONTRACT_ABI_V1,\n\t\t\t\tcontractType: ContractType.ERC1155,\n\t\t\t\tisLoading: false,\n\t\t\t\terror: null,\n\t\t\t};\n\t\t}\n\n\t\tif (v0Data && !v0Error) {\n\t\t\tif (contractType === ContractType.ERC721) {\n\t\t\t\treturn {\n\t\t\t\t\tversion: SalesContractVersion.V0,\n\t\t\t\t\tabi: ERC721_SALE_ABI_V0,\n\t\t\t\t\tcontractType: ContractType.ERC721,\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\terror: null,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tversion: SalesContractVersion.V0,\n\t\t\t\tabi: ERC1155_SALES_CONTRACT_ABI_V0,\n\t\t\t\tcontractType: ContractType.ERC1155,\n\t\t\t\tisLoading: false,\n\t\t\t\terror: null,\n\t\t\t};\n\t\t}\n\n\t\tconst error = v0Error || v1Error;\n\t\treturn {\n\t\t\tversion: null,\n\t\t\tabi: null,\n\t\t\tcontractType: null,\n\t\t\tisLoading: false,\n\t\t\terror: error as Error,\n\t\t};\n\t}, [v1Data, v1Error, v1Loading, v0Data, v0Error, v0Loading, contractType]);\n}\n"],"mappings":";;;;;;AAWA,IAAY,wEAAL;AACN;AACA;;AACA;AAqDD,SAAgB,oBAAoB,EACnC,iBACA,cACA,SACA,UAAU,MACgB,EAA6B;CACvD,MAAM,eACL,iBAAiB,aAAa,SAAS,gBAAgB;CAExD,MAAM,EACL,MAAM,QACN,WAAW,WACX,OAAO,SACP,GAAG,gBAAgB;EACnB,SAAS;EACT,KACC,iBAAiB,aAAa,SAC3B,qBACA;EACJ;EACA,MAAM,iBAAiB,aAAa,UAAU,CAAC,EAAG;EAClD;EACA,OAAO;GACN;GACA,OAAO;EACP;CACD,EAAC;CAGF,MAAM,EACL,MAAM,QACN,WAAW,WACX,OAAO,SACP,GAAG,gBAAgB;EACnB,SAAS;EACT,KACC,iBAAiB,aAAa,SAC3B,qBACA;EACJ;EACA,MAAM,iBAAiB,aAAa,UAAU,CAAC,EAAG;EAClD;EACA,OAAO;GACN,SAAS,aAAa,YAAY;GAClC,OAAO;EACP;CACD,EAAC;AAEF,QAAO,QAAQ,MAAM;AACpB,MAAI,aAAc,WAAW,UAC5B,QAAO;GACN,SAAS;GACT,KAAK;GACL,cAAc;GACd,WAAW;GACX,OAAO;EACP;AAGF,MAAI,WAAW,SAAS;AACvB,OAAI,iBAAiB,aAAa,OACjC,QAAO;IACN,SAAS,qBAAqB;IAC9B,KAAK;IACL,cAAc,aAAa;IAC3B,WAAW;IACX,OAAO;GACP;AAEF,UAAO;IACN,SAAS,qBAAqB;IAC9B,KAAK;IACL,cAAc,aAAa;IAC3B,WAAW;IACX,OAAO;GACP;EACD;AAED,MAAI,WAAW,SAAS;AACvB,OAAI,iBAAiB,aAAa,OACjC,QAAO;IACN,SAAS,qBAAqB;IAC9B,KAAK;IACL,cAAc,aAAa;IAC3B,WAAW;IACX,OAAO;GACP;AAEF,UAAO;IACN,SAAS,qBAAqB;IAC9B,KAAK;IACL,cAAc,aAAa;IAC3B,WAAW;IACX,OAAO;GACP;EACD;EAED,MAAM,QAAQ,WAAW;AACzB,SAAO;GACN,SAAS;GACT,KAAK;GACL,cAAc;GACd,WAAW;GACJ;EACP;CACD,GAAE;EAAC;EAAQ;EAAS;EAAW;EAAQ;EAAS;EAAW;CAAa,EAAC;AAC1E"}
@@ -1,5 +1,5 @@
1
- import { MarketplaceWalletType } from "./builder.gen-B9wR2nvF.js";
2
- import { networkToWagmiChain } from "./networkconfigToWagmiChain-DbUf6HiO.js";
1
+ import { MarketplaceWalletType } from "./builder.gen--XD71cNL.js";
2
+ import { networkToWagmiChain$1 as networkToWagmiChain } from "./networkconfigToWagmiChain-Ct-hGq8M.js";
3
3
  import { MissingConfigError } from "./transaction-DZUW5RHu.js";
4
4
  import { allNetworks, findNetworkConfig } from "@0xsequence/network";
5
5
  import { cookieStorage, createConfig, createStorage, http } from "wagmi";
@@ -147,7 +147,8 @@ function getWagmiChainsAndTransports({ marketplaceConfig, sdkConfig }) {
147
147
  };
148
148
  }
149
149
  function getChainConfigs(_marketConfig) {
150
- return Object.values(allNetworks).map(networkToWagmiChain);
150
+ const chains = Object.values(allNetworks).map(networkToWagmiChain);
151
+ return chains;
151
152
  }
152
153
  function getTransportConfigs(chains, projectAccessKey, nodeGatewayEnv, nodeGatewayUrl) {
153
154
  return chains.reduce((acc, chain) => {
@@ -167,5 +168,5 @@ function getTransportConfigs(chains, projectAccessKey, nodeGatewayEnv, nodeGatew
167
168
  }
168
169
 
169
170
  //#endregion
170
- export { DEFAULT_NETWORK, createWagmiConfig, getConnectors, getEcosystemConnector, getWaasConnectors, getWagmiChainsAndTransports };
171
- //# sourceMappingURL=create-config-CIfejoCk.js.map
171
+ export { DEFAULT_NETWORK as DEFAULT_NETWORK$1, createWagmiConfig as createWagmiConfig$1, getConnectors as getConnectors$1, getEcosystemConnector as getEcosystemConnector$1, getWaasConnectors as getWaasConnectors$1, getWagmiChainsAndTransports as getWagmiChainsAndTransports$1 };
172
+ //# sourceMappingURL=create-config-BxyfYCEk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-config-BxyfYCEk.js","names":["marketplaceConfig: MarketplaceConfig","sdkConfig: SdkConfig","config: SdkConfig","wallets: Wallet[]","url: string | undefined","name: string","env: Env","marketplaceConfig: MarketplaceConfig","sdkConfig: SdkConfig","ssr?: boolean","_marketConfig: MarketplaceConfig","chains: [Chain, ...Chain[]]","projectAccessKey: string","nodeGatewayEnv: Env | undefined","nodeGatewayUrl?: string","rpcUrl: string"],"sources":["../src/react/_internal/consts.ts","../src/react/_internal/wagmi/get-connectors.ts","../src/react/_internal/wagmi/create-config.ts"],"sourcesContent":["export const DEFAULT_NETWORK = 137;\n","import {\n\tapple,\n\tappleWaas,\n\tcoinbaseWallet,\n\tecosystemWallet,\n\temail,\n\temailWaas,\n\tfacebook,\n\tgetConnectWallets,\n\tgoogle,\n\tgoogleWaas,\n\ttype SequenceOptions,\n\tsequence,\n\ttwitch,\n\ttype Wallet,\n\twalletConnect,\n} from '@0xsequence/connect';\nimport React, { type FunctionComponent } from 'react';\nimport type { CreateConnectorFn } from 'wagmi';\nimport type { Env, SdkConfig } from '../../../types/index';\nimport type { MarketplaceConfig } from '../../../types/new-marketplace-types';\nimport { MissingConfigError } from '../../../utils/_internal/error/transaction';\nimport { MarketplaceWalletType } from '../api/builder.gen';\nimport { DEFAULT_NETWORK } from '../consts';\n\nexport function getConnectors({\n\tmarketplaceConfig,\n\tsdkConfig,\n\twalletType,\n}: {\n\tmarketplaceConfig: MarketplaceConfig;\n\tsdkConfig: SdkConfig;\n\twalletType: MarketplaceWalletType;\n}): CreateConnectorFn[] {\n\tconst connectors = commonConnectors(marketplaceConfig, sdkConfig);\n\n\tif (walletType === MarketplaceWalletType.UNIVERSAL) {\n\t\tconnectors.push(...getUniversalWalletConfigs(sdkConfig, marketplaceConfig));\n\t} else if (walletType === MarketplaceWalletType.EMBEDDED) {\n\t\tconnectors.push(...getWaasConnectors(sdkConfig, marketplaceConfig));\n\t} else if (walletType === MarketplaceWalletType.ECOSYSTEM) {\n\t\tconnectors.push(getEcosystemConnector(marketplaceConfig, sdkConfig));\n\t} else {\n\t\tthrow new Error('Invalid wallet type');\n\t}\n\n\treturn getConnectWallets(sdkConfig.projectAccessKey, connectors);\n}\n\nfunction commonConnectors(\n\tmarketplaceConfig: MarketplaceConfig,\n\tsdkConfig: SdkConfig,\n) {\n\tconst wallets = [];\n\tconst { title: appName } = marketplaceConfig.settings;\n\tconst walletOptions = marketplaceConfig.settings.walletOptions;\n\tconst walletConnectProjectId = sdkConfig.walletConnectProjectId;\n\n\tif (walletOptions.connectors.includes('coinbase')) {\n\t\twallets.push(\n\t\t\tcoinbaseWallet({\n\t\t\t\tappName,\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (\n\t\twalletConnectProjectId &&\n\t\twalletOptions.connectors.includes('walletconnect')\n\t) {\n\t\twallets.push(\n\t\t\twalletConnect({\n\t\t\t\tprojectId: walletConnectProjectId,\n\t\t\t}),\n\t\t);\n\t}\n\n\treturn wallets;\n}\n\nfunction getUniversalWalletConfigs(\n\tconfig: SdkConfig,\n\tmarketplaceConfig: MarketplaceConfig,\n): Wallet[] {\n\tconst sequenceWalletOverrides =\n\t\tconfig._internal?.overrides?.api?.sequenceWallet;\n\tconst sequenceWalletUrl =\n\t\tsequenceWalletOverrides?.url ||\n\t\tgetSequenceWalletURL(sequenceWalletOverrides?.env || 'production');\n\tconst projectAccessKey =\n\t\tsequenceWalletOverrides?.accessKey || config.projectAccessKey;\n\n\tconst sequenceWalletOptions = {\n\t\twalletAppURL: sequenceWalletUrl,\n\t\tdefaultNetwork: DEFAULT_NETWORK,\n\t\tconnect: {\n\t\t\tprojectAccessKey,\n\t\t\tapp: marketplaceConfig.settings.title,\n\t\t\tsettings: {\n\t\t\t\t// TODO: make a separate config for this?\n\t\t\t\tbannerUrl: marketplaceConfig.market.ogImage,\n\t\t\t},\n\t\t},\n\t} satisfies SequenceOptions;\n\n\treturn [\n\t\tsequence(sequenceWalletOptions),\n\t\temail(sequenceWalletOptions),\n\t\tfacebook(sequenceWalletOptions),\n\t\tgoogle(sequenceWalletOptions),\n\t\tapple(sequenceWalletOptions),\n\t\ttwitch(sequenceWalletOptions),\n\t] as const;\n}\n\nexport function getWaasConnectors(\n\tconfig: SdkConfig,\n\tmarketplaceConfig: MarketplaceConfig,\n): Wallet[] {\n\tconst { projectAccessKey } = config;\n\n\tconst waasConfigKey =\n\t\tmarketplaceConfig.settings.walletOptions.embedded?.tenantKey;\n\n\tif (!waasConfigKey)\n\t\tthrow new MissingConfigError(\n\t\t\t'Embedded wallet config is missing, please check your access key',\n\t\t);\n\n\tconst waasOptions = marketplaceConfig.settings.walletOptions.oidcIssuers;\n\tconst googleClientId = waasOptions.google;\n\tconst appleClientId = waasOptions.apple;\n\tconst appleRedirectURI =\n\t\ttypeof window !== 'undefined'\n\t\t\t? `${window.location.origin}${window.location.pathname}`\n\t\t\t: undefined;\n\n\tconst wallets: Wallet[] = [];\n\n\tif (marketplaceConfig.settings.walletOptions.embedded?.emailEnabled) {\n\t\twallets.push(\n\t\t\temailWaas({\n\t\t\t\tprojectAccessKey,\n\t\t\t\twaasConfigKey,\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (googleClientId) {\n\t\twallets.push(\n\t\t\tgoogleWaas({\n\t\t\t\tprojectAccessKey,\n\t\t\t\tgoogleClientId,\n\t\t\t\twaasConfigKey,\n\t\t\t\tnetwork: DEFAULT_NETWORK,\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (appleClientId) {\n\t\twallets.push(\n\t\t\tappleWaas({\n\t\t\t\tprojectAccessKey,\n\t\t\t\tappleClientId,\n\t\t\t\tappleRedirectURI,\n\t\t\t\twaasConfigKey,\n\t\t\t\tnetwork: DEFAULT_NETWORK,\n\t\t\t}),\n\t\t);\n\t}\n\n\treturn wallets;\n}\n\nexport function getEcosystemConnector(\n\tmarketplaceConfig: MarketplaceConfig,\n\tsdkConfig: SdkConfig,\n): Wallet {\n\tconst ecosystemOptions = marketplaceConfig.settings.walletOptions.ecosystem;\n\tif (!ecosystemOptions) throw new MissingConfigError('ecosystem');\n\tconst { walletAppName, walletUrl, logoDarkUrl, logoLightUrl } =\n\t\tecosystemOptions;\n\n\treturn ecosystemWallet({\n\t\tprojectAccessKey: sdkConfig.projectAccessKey,\n\t\twalletUrl,\n\t\tname: walletAppName,\n\t\tdefaultNetwork: DEFAULT_NETWORK,\n\t\tlogoDark: getEcosystemLogo(logoDarkUrl, walletAppName),\n\t\tlogoLight: getEcosystemLogo(logoLightUrl, walletAppName),\n\t});\n}\n\nfunction getEcosystemLogo(\n\turl: string | undefined,\n\tname: string,\n): FunctionComponent {\n\tif (!url) return () => null;\n\tconst Logo = () =>\n\t\tReact.createElement('img', { src: url, alt: name, width: 32, height: 32 });\n\tLogo.displayName = 'EcosystemLogo';\n\treturn Logo;\n}\n\nfunction getSequenceWalletURL(env: Env) {\n\tswitch (env) {\n\t\tcase 'development':\n\t\t\treturn 'https://dev.sequence.app';\n\t\tcase 'next':\n\t\t\treturn 'https://next.sequence.app';\n\t\t// biome-ignore lint/complexity/noUselessSwitchCase: Production case kept for readability alongside other environments\n\t\tcase 'production':\n\t\tdefault:\n\t\t\treturn 'https://sequence.app';\n\t}\n}\n","import { allNetworks, findNetworkConfig } from '@0xsequence/network';\nimport type { Chain, Transport } from 'viem';\nimport { cookieStorage, createConfig, createStorage, http } from 'wagmi';\nimport type { Env, SdkConfig } from '../../../types/index';\nimport type { MarketplaceConfig } from '../../../types/new-marketplace-types';\nimport { networkToWagmiChain } from '../../../utils/networkconfigToWagmiChain';\nimport { getConnectors } from './get-connectors';\n\nexport const createWagmiConfig = (\n\tmarketplaceConfig: MarketplaceConfig,\n\tsdkConfig: SdkConfig,\n\tssr?: boolean,\n) => {\n\tconst { chains, transports } = getWagmiChainsAndTransports({\n\t\tmarketplaceConfig,\n\t\tsdkConfig,\n\t});\n\n\tconst walletType = marketplaceConfig.settings.walletOptions.walletType;\n\n\tconst connectors = getConnectors({\n\t\tmarketplaceConfig,\n\t\tsdkConfig,\n\t\twalletType,\n\t});\n\n\tconst multiInjectedProviderDiscovery =\n\t\tmarketplaceConfig.settings.walletOptions.includeEIP6963Wallets;\n\n\treturn createConfig({\n\t\tconnectors,\n\t\tchains,\n\t\tssr,\n\t\tmultiInjectedProviderDiscovery,\n\t\tstorage: ssr\n\t\t\t? createStorage({\n\t\t\t\t\tstorage: cookieStorage,\n\t\t\t\t})\n\t\t\t: undefined,\n\t\ttransports,\n\t});\n};\n\nexport function getWagmiChainsAndTransports({\n\tmarketplaceConfig,\n\tsdkConfig,\n}: {\n\tmarketplaceConfig: MarketplaceConfig;\n\tsdkConfig: SdkConfig;\n}) {\n\tconst chains = getChainConfigs(marketplaceConfig);\n\tconst nodeGatewayOverrides = sdkConfig._internal?.overrides?.api?.nodeGateway;\n\tconst nodeGatewayEnv = nodeGatewayOverrides?.env ?? 'production';\n\tconst nodeGatewayUrl = nodeGatewayOverrides?.url;\n\tconst projectAccessKey =\n\t\tnodeGatewayOverrides?.accessKey ?? sdkConfig.projectAccessKey;\n\n\tconst transports = getTransportConfigs(\n\t\tchains,\n\t\tprojectAccessKey,\n\t\tnodeGatewayEnv,\n\t\tnodeGatewayUrl,\n\t);\n\n\treturn { chains, transports };\n}\n\nfunction getChainConfigs(\n\t_marketConfig: MarketplaceConfig,\n): [Chain, ...Chain[]] {\n\tconst chains = Object.values(allNetworks).map(networkToWagmiChain);\n\n\treturn chains as [Chain, ...Chain[]];\n}\n\nfunction getTransportConfigs(\n\tchains: [Chain, ...Chain[]],\n\tprojectAccessKey: string,\n\tnodeGatewayEnv: Env | undefined,\n\tnodeGatewayUrl?: string,\n): Record<number, Transport> {\n\treturn chains.reduce(\n\t\t(acc, chain) => {\n\t\t\tconst network = findNetworkConfig(allNetworks, chain.id);\n\t\t\tif (network) {\n\t\t\t\tlet rpcUrl: string;\n\t\t\t\tif (nodeGatewayUrl) {\n\t\t\t\t\t// Use manual URL if provided\n\t\t\t\t\trpcUrl = nodeGatewayUrl;\n\t\t\t\t} else {\n\t\t\t\t\t// Use default URL with environment prefix\n\t\t\t\t\trpcUrl = network.rpcUrl;\n\t\t\t\t\tif (nodeGatewayEnv === 'development') {\n\t\t\t\t\t\trpcUrl = rpcUrl.replace('nodes.', 'dev-nodes.');\n\t\t\t\t\t}\n\t\t\t\t\tif (!network.rpcUrl.endsWith(projectAccessKey))\n\t\t\t\t\t\trpcUrl = `${rpcUrl}/${projectAccessKey}`;\n\t\t\t\t}\n\t\t\t\tacc[chain.id] = http(rpcUrl);\n\t\t\t}\n\t\t\treturn acc;\n\t\t},\n\t\t{} as Record<number, Transport>,\n\t);\n}\n"],"mappings":";;;;;;;;;AAAA,MAAa,kBAAkB;;;;ACyB/B,SAAgB,cAAc,EAC7B,mBACA,WACA,YAKA,EAAuB;CACvB,MAAM,aAAa,iBAAiB,mBAAmB,UAAU;AAEjE,KAAI,eAAe,sBAAsB,UACxC,YAAW,KAAK,GAAG,0BAA0B,WAAW,kBAAkB,CAAC;UACjE,eAAe,sBAAsB,SAC/C,YAAW,KAAK,GAAG,kBAAkB,WAAW,kBAAkB,CAAC;UACzD,eAAe,sBAAsB,UAC/C,YAAW,KAAK,sBAAsB,mBAAmB,UAAU,CAAC;KAEpE,OAAM,IAAI,MAAM;AAGjB,QAAO,kBAAkB,UAAU,kBAAkB,WAAW;AAChE;AAED,SAAS,iBACRA,mBACAC,WACC;CACD,MAAM,UAAU,CAAE;CAClB,MAAM,EAAE,OAAO,SAAS,GAAG,kBAAkB;CAC7C,MAAM,gBAAgB,kBAAkB,SAAS;CACjD,MAAM,yBAAyB,UAAU;AAEzC,KAAI,cAAc,WAAW,SAAS,WAAW,CAChD,SAAQ,KACP,eAAe,EACd,QACA,EAAC,CACF;AAGF,KACC,0BACA,cAAc,WAAW,SAAS,gBAAgB,CAElD,SAAQ,KACP,cAAc,EACb,WAAW,uBACX,EAAC,CACF;AAGF,QAAO;AACP;AAED,SAAS,0BACRC,QACAF,mBACW;CACX,MAAM,0BACL,OAAO,WAAW,WAAW,KAAK;CACnC,MAAM,oBACL,yBAAyB,OACzB,qBAAqB,yBAAyB,OAAO,aAAa;CACnE,MAAM,mBACL,yBAAyB,aAAa,OAAO;CAE9C,MAAM,wBAAwB;EAC7B,cAAc;EACd,gBAAgB;EAChB,SAAS;GACR;GACA,KAAK,kBAAkB,SAAS;GAChC,UAAU,EAET,WAAW,kBAAkB,OAAO,QACpC;EACD;CACD;AAED,QAAO;EACN,SAAS,sBAAsB;EAC/B,MAAM,sBAAsB;EAC5B,SAAS,sBAAsB;EAC/B,OAAO,sBAAsB;EAC7B,MAAM,sBAAsB;EAC5B,OAAO,sBAAsB;CAC7B;AACD;AAED,SAAgB,kBACfE,QACAF,mBACW;CACX,MAAM,EAAE,kBAAkB,GAAG;CAE7B,MAAM,gBACL,kBAAkB,SAAS,cAAc,UAAU;AAEpD,MAAK,cACJ,OAAM,IAAI,mBACT;CAGF,MAAM,cAAc,kBAAkB,SAAS,cAAc;CAC7D,MAAM,iBAAiB,YAAY;CACnC,MAAM,gBAAgB,YAAY;CAClC,MAAM,0BACE,WAAW,eACd,EAAE,OAAO,SAAS,OAAO,EAAE,OAAO,SAAS,SAAS;CAGzD,MAAMG,UAAoB,CAAE;AAE5B,KAAI,kBAAkB,SAAS,cAAc,UAAU,aACtD,SAAQ,KACP,UAAU;EACT;EACA;CACA,EAAC,CACF;AAGF,KAAI,eACH,SAAQ,KACP,WAAW;EACV;EACA;EACA;EACA,SAAS;CACT,EAAC,CACF;AAGF,KAAI,cACH,SAAQ,KACP,UAAU;EACT;EACA;EACA;EACA;EACA,SAAS;CACT,EAAC,CACF;AAGF,QAAO;AACP;AAED,SAAgB,sBACfH,mBACAC,WACS;CACT,MAAM,mBAAmB,kBAAkB,SAAS,cAAc;AAClE,MAAK,iBAAkB,OAAM,IAAI,mBAAmB;CACpD,MAAM,EAAE,eAAe,WAAW,aAAa,cAAc,GAC5D;AAED,QAAO,gBAAgB;EACtB,kBAAkB,UAAU;EAC5B;EACA,MAAM;EACN,gBAAgB;EAChB,UAAU,iBAAiB,aAAa,cAAc;EACtD,WAAW,iBAAiB,cAAc,cAAc;CACxD,EAAC;AACF;AAED,SAAS,iBACRG,KACAC,MACoB;AACpB,MAAK,IAAK,QAAO,MAAM;CACvB,MAAM,OAAO,MACZ,MAAM,cAAc,OAAO;EAAE,KAAK;EAAK,KAAK;EAAM,OAAO;EAAI,QAAQ;CAAI,EAAC;AAC3E,MAAK,cAAc;AACnB,QAAO;AACP;AAED,SAAS,qBAAqBC,KAAU;AACvC,SAAQ,KAAR;EACC,KAAK,cACJ,QAAO;EACR,KAAK,OACJ,QAAO;EAER,KAAK;EACL,QACC,QAAO;CACR;AACD;;;;AC/MD,MAAa,oBAAoB,CAChCC,mBACAC,WACAC,QACI;CACJ,MAAM,EAAE,QAAQ,YAAY,GAAG,4BAA4B;EAC1D;EACA;CACA,EAAC;CAEF,MAAM,aAAa,kBAAkB,SAAS,cAAc;CAE5D,MAAM,aAAa,cAAc;EAChC;EACA;EACA;CACA,EAAC;CAEF,MAAM,iCACL,kBAAkB,SAAS,cAAc;AAE1C,QAAO,aAAa;EACnB;EACA;EACA;EACA;EACA,SAAS,MACN,cAAc,EACd,SAAS,cACT,EAAC;EAEJ;CACA,EAAC;AACF;AAED,SAAgB,4BAA4B,EAC3C,mBACA,WAIA,EAAE;CACF,MAAM,SAAS,gBAAgB,kBAAkB;CACjD,MAAM,uBAAuB,UAAU,WAAW,WAAW,KAAK;CAClE,MAAM,iBAAiB,sBAAsB,OAAO;CACpD,MAAM,iBAAiB,sBAAsB;CAC7C,MAAM,mBACL,sBAAsB,aAAa,UAAU;CAE9C,MAAM,aAAa,oBAClB,QACA,kBACA,gBACA,eACA;AAED,QAAO;EAAE;EAAQ;CAAY;AAC7B;AAED,SAAS,gBACRC,eACsB;CACtB,MAAM,SAAS,OAAO,OAAO,YAAY,CAAC,IAAI,oBAAoB;AAElE,QAAO;AACP;AAED,SAAS,oBACRC,QACAC,kBACAC,gBACAC,gBAC4B;AAC5B,QAAO,OAAO,OACb,CAAC,KAAK,UAAU;EACf,MAAM,UAAU,kBAAkB,aAAa,MAAM,GAAG;AACxD,MAAI,SAAS;GACZ,IAAIC;AACJ,OAAI,eAEH,UAAS;QACH;AAEN,aAAS,QAAQ;AACjB,QAAI,mBAAmB,cACtB,UAAS,OAAO,QAAQ,UAAU,aAAa;AAEhD,SAAK,QAAQ,OAAO,SAAS,iBAAiB,CAC7C,WAAU,EAAE,OAAO,GAAG,iBAAiB;GACxC;AACD,OAAI,MAAM,MAAM,KAAK,OAAO;EAC5B;AACD,SAAO;CACP,GACD,CAAE,EACF;AACD"}