@0xsequence/marketplace-sdk 1.0.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (477) hide show
  1. package/.changeset/honest-peas-arrive.md +5 -0
  2. package/.changeset/real-tips-stick.md +8 -0
  3. package/.changeset/tall-pandas-wear.md +8 -0
  4. package/.storybook/main.ts +1 -1
  5. package/.storybook/preview.tsx +0 -1
  6. package/CHANGELOG.md +84 -13
  7. package/dist/BellIcon-ByhygxBO.js +45 -0
  8. package/dist/BellIcon-ByhygxBO.js.map +1 -0
  9. package/dist/{BellIcon-Cb9YEUzJ.js → CartIcon-Bt3rQYGk.js} +10 -49
  10. package/dist/CartIcon-Bt3rQYGk.js.map +1 -0
  11. package/dist/CollectibleCard-CVpdgXA8.d.ts +8 -0
  12. package/dist/{_internal-DslqcNC1.js → _internal-DkS2VUn5.js} +1 -1
  13. package/dist/{_internal-DslqcNC1.js.map → _internal-DkS2VUn5.js.map} +1 -1
  14. package/dist/abi-fa-o9gH3.js +134 -0
  15. package/dist/abi-fa-o9gH3.js.map +1 -0
  16. package/dist/{alien_swap-DJ98gZQp.js → alien_swap-DoY6XfMA.js} +1 -1
  17. package/dist/{alien_swap-DJ98gZQp.js.map → alien_swap-DoY6XfMA.js.map} +1 -1
  18. package/dist/{api-BmEQfSQa.js → api-BoO0V5aJ.js} +11 -4
  19. package/dist/api-BoO0V5aJ.js.map +1 -0
  20. package/dist/{aqua-xyz-n1PcCCZ0.js → aqua-xyz-BBDxnG14.js} +1 -1
  21. package/dist/{aqua-xyz-n1PcCCZ0.js.map → aqua-xyz-BBDxnG14.js.map} +1 -1
  22. package/dist/{aura-Bevk_YkS.js → aura-DGx2zwvF.js} +1 -1
  23. package/dist/{aura-Bevk_YkS.js.map → aura-DGx2zwvF.js.map} +1 -1
  24. package/dist/{blur-B5sHErx5.js → blur-D8GKrRrq.js} +1 -1
  25. package/dist/{blur-B5sHErx5.js.map → blur-D8GKrRrq.js.map} +1 -1
  26. package/dist/builder-api-BFuZNOaN.js.map +1 -1
  27. package/dist/builder.gen-B9wR2nvF.js.map +1 -1
  28. package/dist/{coinbase-D30W-lxA.js → coinbase-DOry4PXY.js} +1 -1
  29. package/dist/{coinbase-D30W-lxA.js.map → coinbase-DOry4PXY.js.map} +1 -1
  30. package/dist/collectibles-C_H8jMGH.js +358 -0
  31. package/dist/collectibles-C_H8jMGH.js.map +1 -0
  32. package/dist/collections-CKummc-R.js +249 -0
  33. package/dist/collections-CKummc-R.js.map +1 -0
  34. package/dist/components-CosnX7F9.js +119 -0
  35. package/dist/components-CosnX7F9.js.map +1 -0
  36. package/dist/{contracts-DPHFT2TA.js → contracts-BP_0vX48.js} +4 -5
  37. package/dist/{contracts-DPHFT2TA.js.map → contracts-BP_0vX48.js.map} +1 -1
  38. package/dist/{create-config-6uynwTeb.js → create-config-CIfejoCk.js} +6 -11
  39. package/dist/create-config-CIfejoCk.js.map +1 -0
  40. package/dist/{create-config-lLSrnkbb.d.ts → create-config-ZOB7i4ZJ.d.ts} +135 -37
  41. package/dist/{element-C2NJexro.js → element-ciybd_VF.js} +1 -1
  42. package/dist/{element-C2NJexro.js.map → element-ciybd_VF.js.map} +1 -1
  43. package/dist/filters-V-V8Dn8f.d.ts +60 -0
  44. package/dist/{foundation-QgY1lvUj.js → foundation-Bq4lRz4x.js} +1 -1
  45. package/dist/{foundation-QgY1lvUj.js.map → foundation-Bq4lRz4x.js.map} +1 -1
  46. package/dist/index-BOiHR01C.d.ts +106 -0
  47. package/dist/index-BZIJTQT0.d.ts +121 -0
  48. package/dist/index-BeRV-7AX.d.ts +55 -0
  49. package/dist/{index-DonXiSg2.d.ts → index-Bsx6XsC2.d.ts} +117 -70
  50. package/dist/{index-BGJXqdg6.d.ts → index-BtWMBHeP.d.ts} +13 -9
  51. package/dist/{index-CtF7EE2z.d.ts → index-Bxzjy0d1.d.ts} +1 -1
  52. package/dist/{index-ChSKFOMx.d.ts → index-C-745li7.d.ts} +1 -1
  53. package/dist/{index-CY5UEX4h.d.ts → index-C4MUKshG.d.ts} +2 -2
  54. package/dist/{index-C7xKVIr4.d.ts → index-CPzvNmq9.d.ts} +37 -37
  55. package/dist/{index-ByW08-Z7.d.ts → index-CS65jqOq.d.ts} +2 -2
  56. package/dist/index-CZUtOTjh.d.ts +1 -0
  57. package/dist/index-CnEbXm_t.d.ts +130 -0
  58. package/dist/{index-ThUIs-Sy.d.ts → index-CxA34wP1.d.ts} +37 -23
  59. package/dist/{index-CIkpYltz.d.ts → index-CxpFwGvR.d.ts} +3 -3
  60. package/dist/{index-QxxS6f9r.d.ts → index-D9LPlmbC.d.ts} +1 -1
  61. package/dist/{index-CQnGIGb5.d.ts → index-DFEnA6Wa.d.ts} +44 -33
  62. package/dist/{index-PSPpUxCE.d.ts → index-DNNUeZEq.d.ts} +4 -4
  63. package/dist/{index-Dpyp7fQz.d.ts → index-DUXfvhxs.d.ts} +12 -12
  64. package/dist/index-DW3njUfb.d.ts +1 -0
  65. package/dist/index-DWt6yrIG.d.ts +64 -0
  66. package/dist/index-DewGsFz5.d.ts +1 -0
  67. package/dist/index-DmudgrsN.d.ts +495 -0
  68. package/dist/{index-DNU9xoGK.d.ts → index-DqXd1EeB.d.ts} +5 -5
  69. package/dist/{index-DX0Vm8HY.d.ts → index-DwKr18CI.d.ts} +1 -1
  70. package/dist/{index-D71J5Ghd.d.ts → index-NlPMNcqh.d.ts} +99 -99
  71. package/dist/index-Stm5u0I0.d.ts +53 -0
  72. package/dist/index-U-zp70of.d.ts +74 -0
  73. package/dist/index.d.ts +8 -8
  74. package/dist/index.js +13 -12
  75. package/dist/inventory-Dd7TazvZ.js +72 -0
  76. package/dist/inventory-Dd7TazvZ.js.map +1 -0
  77. package/dist/listBalances-BxpxBCvn.js +57 -0
  78. package/dist/listBalances-BxpxBCvn.js.map +1 -0
  79. package/dist/listCollectiblesPaginated-Cy2_qEZA.d.ts +327 -0
  80. package/dist/{listCollections-Bbzbz7qW.d.ts → listCollections-BB9FxKj2.d.ts} +264 -137
  81. package/dist/{looks-rare-CMVPny4v.js → looks-rare-6H--x3AM.js} +1 -1
  82. package/dist/{looks-rare-CMVPny4v.js.map → looks-rare-6H--x3AM.js.map} +1 -1
  83. package/dist/lowestListing-Cbsi6M1K.d.ts +465 -0
  84. package/dist/{magic-eden-IrWp2ZXk.js → magic-eden-BoxEQ1Li.js} +1 -1
  85. package/dist/{magic-eden-IrWp2ZXk.js.map → magic-eden-BoxEQ1Li.js.map} +1 -1
  86. package/dist/{manifold-DeOE-p2G.js → manifold-DycKsljb.js} +1 -1
  87. package/dist/{manifold-DeOE-p2G.js.map → manifold-DycKsljb.js.map} +1 -1
  88. package/dist/market-C3HV-awQ.js +209 -0
  89. package/dist/market-C3HV-awQ.js.map +1 -0
  90. package/dist/{marketCurrencies-CmOMCCOr.d.ts → marketCurrencies-Bpw1bIO0.d.ts} +46 -15
  91. package/dist/marketCurrencies-sKrTX0og.js +53 -0
  92. package/dist/marketCurrencies-sKrTX0og.js.map +1 -0
  93. package/dist/{marketplace-B5Z8G03R.js → marketplace-NQB-sEQL.js} +1 -1
  94. package/dist/{marketplace-B5Z8G03R.js.map → marketplace-NQB-sEQL.js.map} +1 -1
  95. package/dist/{marketplace-logos-D8t86gsW.js → marketplace-logos-D4dS1Foy.js} +21 -21
  96. package/dist/marketplace-logos-D4dS1Foy.js.map +1 -0
  97. package/dist/{marketplace.gen-JzNYpM0U.js → marketplace.gen-ksUafDqS.js} +56 -5
  98. package/dist/marketplace.gen-ksUafDqS.js.map +1 -0
  99. package/dist/{marketplaceConfig-sNh-MA5M.js → marketplaceConfig-UHQMM9fq.js} +9 -10
  100. package/dist/marketplaceConfig-UHQMM9fq.js.map +1 -0
  101. package/dist/{mintify-DG3GrljJ.js → mintify-Dyqyo8jQ.js} +1 -1
  102. package/dist/{mintify-DG3GrljJ.js.map → mintify-Dyqyo8jQ.js.map} +1 -1
  103. package/dist/{network-DnBEe1Ur.js → network-DtmiMhcg.js} +2 -2
  104. package/dist/network-DtmiMhcg.js.map +1 -0
  105. package/dist/networkconfigToWagmiChain-DbUf6HiO.js +15 -0
  106. package/dist/networkconfigToWagmiChain-DbUf6HiO.js.map +1 -0
  107. package/dist/{nftx-B3LH-ZYM.js → nftx-2LbFjj9Q.js} +1 -1
  108. package/dist/{nftx-B3LH-ZYM.js.map → nftx-2LbFjj9Q.js.map} +1 -1
  109. package/dist/{okx-CRFLrT3Z.js → okx-CBEWJNsR.js} +1 -1
  110. package/dist/{okx-CRFLrT3Z.js.map → okx-CBEWJNsR.js.map} +1 -1
  111. package/dist/{open-sea-cOpfl366.js → open-sea-Dxntz_PA.js} +1 -1
  112. package/dist/{open-sea-cOpfl366.js.map → open-sea-Dxntz_PA.js.map} +1 -1
  113. package/dist/orders-DnFfZAXV.js +462 -0
  114. package/dist/orders-DnFfZAXV.js.map +1 -0
  115. package/dist/{primary-sale-CLjXRrDj.js → primary-sale-1u4QlPdA.js} +1 -1
  116. package/dist/{primary-sale-CLjXRrDj.js.map → primary-sale-1u4QlPdA.js.map} +1 -1
  117. package/dist/primary-sales-Dmsi6bqj.js +114 -0
  118. package/dist/primary-sales-Dmsi6bqj.js.map +1 -0
  119. package/dist/{query-BTe7Wkrs.d.ts → query-BWbCsXLY.d.ts} +1 -1
  120. package/dist/{rarible-guwUx4cn.js → rarible-CS0SupHr.js} +1 -1
  121. package/dist/{rarible-guwUx4cn.js.map → rarible-CS0SupHr.js.map} +1 -1
  122. package/dist/react/_internal/api/index.d.ts +2 -2
  123. package/dist/react/_internal/api/index.js +5 -5
  124. package/dist/react/_internal/databeat/index.d.ts +1 -1
  125. package/dist/react/_internal/databeat/index.js +35 -21
  126. package/dist/react/_internal/index.d.ts +2 -2
  127. package/dist/react/_internal/index.js +9 -8
  128. package/dist/react/_internal/wagmi/index.d.ts +1 -1
  129. package/dist/react/_internal/wagmi/index.js +4 -3
  130. package/dist/react/hooks/config/index.d.ts +8 -8
  131. package/dist/react/hooks/config/index.js +35 -21
  132. package/dist/react/hooks/contracts/index.d.ts +6 -6
  133. package/dist/react/hooks/contracts/index.js +13 -12
  134. package/dist/react/hooks/data/collectibles/index.d.ts +10 -4
  135. package/dist/react/hooks/data/collectibles/index.js +35 -21
  136. package/dist/react/hooks/data/collections/index.d.ts +10 -10
  137. package/dist/react/hooks/data/collections/index.js +35 -21
  138. package/dist/react/hooks/data/index.d.ts +37 -29
  139. package/dist/react/hooks/data/index.js +36 -22
  140. package/dist/react/hooks/data/inventory/index.d.ts +36 -28
  141. package/dist/react/hooks/data/inventory/index.js +35 -21
  142. package/dist/react/hooks/data/market/index.d.ts +11 -11
  143. package/dist/react/hooks/data/market/index.js +35 -21
  144. package/dist/react/hooks/data/orders/index.d.ts +11 -11
  145. package/dist/react/hooks/data/orders/index.js +36 -22
  146. package/dist/react/hooks/data/primary-sales/index.d.ts +36 -28
  147. package/dist/react/hooks/data/primary-sales/index.js +35 -21
  148. package/dist/react/hooks/data/tokens/index.d.ts +4 -4
  149. package/dist/react/hooks/data/tokens/index.js +35 -21
  150. package/dist/react/hooks/index.d.ts +37 -29
  151. package/dist/react/hooks/index.js +36 -22
  152. package/dist/react/hooks/transactions/index.d.ts +2 -2
  153. package/dist/react/hooks/transactions/index.js +35 -21
  154. package/dist/react/hooks/ui/index.d.ts +4 -4
  155. package/dist/react/hooks/ui/index.js +35 -21
  156. package/dist/react/hooks/utils/index.d.ts +37 -29
  157. package/dist/react/hooks/utils/index.js +36 -22
  158. package/dist/react/index.d.ts +37 -29
  159. package/dist/react/index.js +36 -22
  160. package/dist/react/queries/collectibles/index.d.ts +11 -0
  161. package/dist/react/queries/collectibles/index.js +23 -0
  162. package/dist/react/queries/collections/index.d.ts +11 -0
  163. package/dist/react/queries/collections/index.js +20 -0
  164. package/dist/react/queries/index.d.ts +24 -16
  165. package/dist/react/queries/index.js +29 -17
  166. package/dist/react/queries/inventory/index.d.ts +3 -0
  167. package/dist/react/queries/inventory/index.js +22 -0
  168. package/dist/react/queries/market/index.d.ts +6 -0
  169. package/dist/react/queries/market/index.js +22 -0
  170. package/dist/react/queries/orders/index.d.ts +11 -0
  171. package/dist/react/queries/orders/index.js +13 -0
  172. package/dist/react/queries/primary-sales/index.d.ts +4 -0
  173. package/dist/react/queries/primary-sales/index.js +13 -0
  174. package/dist/react/queries/tokens/index.d.ts +5 -0
  175. package/dist/react/queries/tokens/index.js +14 -0
  176. package/dist/react/queries/utils/index.d.ts +4 -0
  177. package/dist/react/queries/utils/index.js +22 -0
  178. package/dist/react/ssr/index.d.ts +7 -7
  179. package/dist/react/ssr/index.js +9 -8
  180. package/dist/react/ssr/index.js.map +1 -1
  181. package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.d.ts +3 -0
  182. package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.js +22 -0
  183. package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.d.ts +54 -0
  184. package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.js +40 -0
  185. package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +5 -5
  186. package/dist/react/ui/components/marketplace-collectible-card/index.js +35 -21
  187. package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +2 -2
  188. package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +9 -8
  189. package/dist/react/ui/components/marketplace-logos/index.d.ts +21 -21
  190. package/dist/react/ui/components/marketplace-logos/index.js +1 -1
  191. package/dist/react/ui/icons/index.js +13 -11
  192. package/dist/react/ui/index.d.ts +5 -5
  193. package/dist/react/ui/index.js +35 -21
  194. package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +2 -2
  195. package/dist/react/ui/modals/_internal/components/actionModal/index.js +35 -21
  196. package/dist/react/utils/index.d.ts +3 -3
  197. package/dist/react/utils/index.js +5 -5
  198. package/dist/{react-Ceq8mamy.js → react-DE852KeT.js} +2111 -1002
  199. package/dist/react-DE852KeT.js.map +1 -0
  200. package/dist/{sequence-Dt2Xo7Fa.js → sequence-paCCener.js} +1 -1
  201. package/dist/{sequence-Dt2Xo7Fa.js.map → sequence-paCCener.js.map} +1 -1
  202. package/dist/styles/index.css +200 -24
  203. package/dist/{sudo-swap-CGoARONs.js → sudo-swap-9rH2EgfT.js} +1 -1
  204. package/dist/{sudo-swap-CGoARONs.js.map → sudo-swap-9rH2EgfT.js.map} +1 -1
  205. package/dist/{super-rare-NeQtZjcn.js → super-rare-DHIuWtRw.js} +1 -1
  206. package/dist/{super-rare-NeQtZjcn.js.map → super-rare-DHIuWtRw.js.map} +1 -1
  207. package/dist/{token-D9gZVqbX.js → token-Cv7l2ZaL.js} +1 -1
  208. package/dist/{token-D9gZVqbX.js.map → token-Cv7l2ZaL.js.map} +1 -1
  209. package/dist/tokenBalances-ibDerNmM.js +63 -0
  210. package/dist/tokenBalances-ibDerNmM.js.map +1 -0
  211. package/dist/tokenSupplies-Bfe8RHzI.d.ts +272 -0
  212. package/dist/tokens-cGxMadd8.js +194 -0
  213. package/dist/tokens-cGxMadd8.js.map +1 -0
  214. package/dist/{transaction-CC2KxNF6.js → transaction-DZUW5RHu.js} +2 -8
  215. package/dist/transaction-DZUW5RHu.js.map +1 -0
  216. package/dist/types/index.d.ts +2 -2
  217. package/dist/types/index.js +2 -2
  218. package/dist/{types-G2PWxiJR.js → types-B_-cnkcP.js} +1 -1
  219. package/dist/types-B_-cnkcP.js.map +1 -0
  220. package/dist/{types-BlCa0TVE.d.ts → types-D2TJ1dwv.d.ts} +19 -10
  221. package/dist/utils/abi/index.d.ts +5 -5
  222. package/dist/utils/abi/index.js +5 -5
  223. package/dist/utils/abi/marketplace/index.d.ts +1 -1
  224. package/dist/utils/abi/marketplace/index.js +1 -1
  225. package/dist/utils/abi/primary-sale/index.d.ts +1 -1
  226. package/dist/utils/abi/primary-sale/index.js +1 -1
  227. package/dist/utils/abi/token/index.d.ts +1 -1
  228. package/dist/utils/abi/token/index.js +1 -1
  229. package/dist/utils/index.d.ts +7 -7
  230. package/dist/utils/index.js +12 -11
  231. package/dist/utils-BCgNhBFR.js +112 -0
  232. package/dist/utils-BCgNhBFR.js.map +1 -0
  233. package/dist/{utils-CKJd-CRf.js → utils-BfpDVibN.js} +7 -24
  234. package/dist/utils-BfpDVibN.js.map +1 -0
  235. package/dist/{utils-wquIhK6T.js → utils-BqxcalL2.js} +2 -2
  236. package/dist/utils-BqxcalL2.js.map +1 -0
  237. package/dist/waitForTransactionReceipt-DieAnV52.js +25 -0
  238. package/dist/waitForTransactionReceipt-DieAnV52.js.map +1 -0
  239. package/dist/{x2y2-CQdg24VP.js → x2y2-45WDooeh.js} +1 -1
  240. package/dist/{x2y2-CQdg24VP.js.map → x2y2-45WDooeh.js.map} +1 -1
  241. package/dist/{zora-DdEydy4L.js → zora-CbeBoLvQ.js} +1 -1
  242. package/dist/{zora-DdEydy4L.js.map → zora-CbeBoLvQ.js.map} +1 -1
  243. package/package.json +43 -38
  244. package/src/react/_internal/api/__mocks__/marketplace.msw.ts +2 -0
  245. package/src/react/_internal/api/marketplace.gen.ts +1730 -2383
  246. package/src/react/_internal/api/query-keys.ts +16 -0
  247. package/src/react/_internal/api/services.ts +1 -1
  248. package/src/react/_internal/databeat/types.ts +1 -0
  249. package/src/react/_internal/types.ts +14 -0
  250. package/src/react/_internal/utils.ts +3 -0
  251. package/src/react/_internal/wagmi/__tests__/create-config.test.ts +19 -8
  252. package/src/react/_internal/wagmi/create-config.ts +6 -17
  253. package/src/react/hooks/config/__snapshots__/useMarketplaceConfig.test.tsx.snap +4 -4
  254. package/src/react/hooks/config/useMarketplaceConfig.tsx +1 -1
  255. package/src/react/hooks/data/collectibles/useBalanceOfCollectible.laos.test.tsx +2 -2
  256. package/src/react/hooks/data/collectibles/useBalanceOfCollectible.tsx +1 -1
  257. package/src/react/hooks/data/collectibles/useCollectible.tsx +1 -1
  258. package/src/react/hooks/data/collectibles/useCountOfCollectables.tsx +1 -1
  259. package/src/react/hooks/data/collectibles/useListCollectibleActivities.tsx +1 -1
  260. package/src/react/hooks/data/collectibles/useListCollectibles.tsx +1 -1
  261. package/src/react/hooks/data/collectibles/useListCollectiblesPaginated.tsx +1 -1
  262. package/src/react/hooks/data/collectibles/useTokenBalances.test.tsx +151 -0
  263. package/src/react/hooks/data/collectibles/useTokenBalances.tsx +47 -0
  264. package/src/react/hooks/data/collections/__snapshots__/useListCollections.test.tsx.snap +6 -6
  265. package/src/react/hooks/data/collections/useCollection.tsx +1 -1
  266. package/src/react/hooks/data/collections/useCollectionBalanceDetails.tsx +1 -1
  267. package/src/react/hooks/data/collections/useCollectionDetails.ts +1 -1
  268. package/src/react/hooks/data/collections/useListCollectionActivities.tsx +1 -1
  269. package/src/react/hooks/data/collections/useListCollections.tsx +1 -1
  270. package/src/react/hooks/data/inventory/useInventory.test.tsx +3 -98
  271. package/src/react/hooks/data/inventory/useInventory.tsx +3 -3
  272. package/src/react/hooks/data/market/useCurrency.tsx +1 -1
  273. package/src/react/hooks/data/market/useListMarketCardData.tsx +8 -1
  274. package/src/react/hooks/data/market/useMarketCurrencies.tsx +1 -1
  275. package/src/react/hooks/data/orders/index.ts +4 -0
  276. package/src/react/hooks/data/orders/useCountItemsOrdersForCollection.tsx +90 -0
  277. package/src/react/hooks/data/orders/useCountListingsForCollectible.tsx +1 -1
  278. package/src/react/hooks/data/orders/useCountOffersForCollectible.tsx +1 -1
  279. package/src/react/hooks/data/orders/useFloorOrder.tsx +1 -1
  280. package/src/react/hooks/data/orders/useGetCountOfFilteredOrders.tsx +39 -0
  281. package/src/react/hooks/data/orders/useHighestOffer.tsx +1 -1
  282. package/src/react/hooks/data/orders/useListItemsOrdersForCollection.tsx +93 -0
  283. package/src/react/hooks/data/orders/useListItemsOrdersForCollectionPaginated.tsx +108 -0
  284. package/src/react/hooks/data/orders/useListListingsForCollectible.tsx +1 -1
  285. package/src/react/hooks/data/orders/useListOffersForCollectible.tsx +70 -45
  286. package/src/react/hooks/data/orders/useLowestListing.tsx +1 -1
  287. package/src/react/hooks/data/primary-sales/useGetCountOfPrimarySaleItems.tsx +2 -2
  288. package/src/react/hooks/data/primary-sales/useList1155ShopCardData.tsx +21 -37
  289. package/src/react/hooks/data/primary-sales/useList721ShopCardData.tsx +14 -3
  290. package/src/react/hooks/data/primary-sales/useListPrimarySaleItems.tsx +1 -1
  291. package/src/react/hooks/data/tokens/useGetTokenRanges.tsx +2 -2
  292. package/src/react/hooks/data/tokens/useListBalances.tsx +2 -2
  293. package/src/react/hooks/data/tokens/useListTokenMetadata.tsx +1 -1
  294. package/src/react/hooks/data/tokens/useSearchTokenMetadata.tsx +5 -2
  295. package/src/react/hooks/data/tokens/useTokenSupplies.ts +1 -1
  296. package/src/react/hooks/transactions/useCancelOrder.test.tsx +7 -4
  297. package/src/react/hooks/transactions/useCancelOrder.tsx +2 -1
  298. package/src/react/hooks/transactions/useCancelTransactionSteps.tsx +2 -2
  299. package/src/react/hooks/transactions/useGenerateCancelTransaction.test.tsx +1 -0
  300. package/src/react/hooks/transactions/useGenerateListingTransaction.test.tsx +13 -0
  301. package/src/react/hooks/transactions/useGenerateOfferTransaction.test.tsx +1 -0
  302. package/src/react/hooks/transactions/useGenerateSellTransaction.test.tsx +6 -0
  303. package/src/react/hooks/transactions/useProcessStep.test.tsx +2 -2
  304. package/src/react/hooks/ui/useFilterState.tsx +72 -2
  305. package/src/react/hooks/ui/useFilters.tsx +1 -1
  306. package/src/react/hooks/utils/__tests__/useEnsureCorrectChain.test.tsx +75 -0
  307. package/src/react/hooks/utils/index.ts +0 -1
  308. package/src/react/hooks/utils/useCheckoutOptions.tsx +2 -2
  309. package/src/react/hooks/utils/useCheckoutOptionsSalesContract.tsx +1 -1
  310. package/src/react/hooks/utils/useComparePrices.tsx +1 -1
  311. package/src/react/hooks/utils/useConvertPriceToUSD.tsx +1 -1
  312. package/src/react/hooks/utils/useEnsureCorrectChain.ts +31 -34
  313. package/src/react/providers/analytics-provider.tsx +45 -0
  314. package/src/react/providers/index.tsx +33 -46
  315. package/src/react/providers/modal-provider.tsx +15 -4
  316. package/src/react/queries/{__tests__ → collectibles/__tests__}/balanceOfCollectible.laos.test.ts +4 -4
  317. package/src/react/queries/collectibles/__tests__/tokenBalances.laos.test.ts +123 -0
  318. package/src/react/queries/{balanceOfCollectible.ts → collectibles/balanceOfCollectible.ts} +26 -4
  319. package/src/react/queries/{collectible.ts → collectibles/collectible.ts} +20 -5
  320. package/src/react/queries/{countOfCollectables.ts → collectibles/countOfCollectables.ts} +32 -6
  321. package/src/react/queries/collectibles/index.ts +7 -0
  322. package/src/react/queries/{listCollectibleActivities.ts → collectibles/listCollectibleActivities.ts} +29 -5
  323. package/src/react/queries/{listCollectibles.ts → collectibles/listCollectibles.ts} +47 -54
  324. package/src/react/queries/{listCollectiblesPaginated.ts → collectibles/listCollectiblesPaginated.ts} +22 -5
  325. package/src/react/queries/collectibles/tokenBalances.ts +103 -0
  326. package/src/react/queries/{collection.ts → collections/collection.ts} +19 -5
  327. package/src/react/queries/{collectionBalanceDetails.ts → collections/collectionBalanceDetails.ts} +19 -4
  328. package/src/react/queries/{collectionDetails.ts → collections/collectionDetails.ts} +21 -6
  329. package/src/react/queries/collections/index.ts +5 -0
  330. package/src/react/queries/{listCollectionActivities.ts → collections/listCollectionActivities.ts} +28 -6
  331. package/src/react/queries/{listCollections.ts → collections/listCollections.ts} +26 -18
  332. package/src/react/queries/index.ts +7 -33
  333. package/src/react/queries/{__tests__ → inventory/__tests__}/inventory.laos.test.ts +10 -7
  334. package/src/react/queries/inventory/index.ts +1 -0
  335. package/src/react/queries/inventory/inventory.ts +169 -0
  336. package/src/react/queries/{checkoutOptions.ts → market/checkoutOptions.ts} +28 -6
  337. package/src/react/queries/{checkoutOptionsSalesContract.ts → market/checkoutOptionsSalesContract.ts} +24 -5
  338. package/src/react/queries/{currency.ts → market/currency.ts} +13 -4
  339. package/src/react/queries/{filters.ts → market/filters.ts} +48 -34
  340. package/src/react/queries/market/index.ts +6 -0
  341. package/src/react/queries/{marketCurrencies.ts → market/marketCurrencies.ts} +24 -5
  342. package/src/react/queries/{marketplaceConfig.ts → market/marketplaceConfig.ts} +11 -7
  343. package/src/react/queries/orders/countItemsOrdersForCollection.ts +86 -0
  344. package/src/react/queries/{countListingsForCollectible.ts → orders/countListingsForCollectible.ts} +23 -6
  345. package/src/react/queries/{countOffersForCollectible.ts → orders/countOffersForCollectible.ts} +23 -6
  346. package/src/react/queries/{floorOrder.ts → orders/floorOrder.ts} +15 -4
  347. package/src/react/queries/orders/getCountOfFilteredOrders.ts +88 -0
  348. package/src/react/queries/{highestOffer.ts → orders/highestOffer.ts} +16 -4
  349. package/src/react/queries/orders/index.ts +11 -0
  350. package/src/react/queries/orders/listItemsOrdersForCollection.ts +90 -0
  351. package/src/react/queries/orders/listItemsOrdersForCollectionPaginated.ts +90 -0
  352. package/src/react/queries/{listListingsForCollectible.ts → orders/listListingsForCollectible.ts} +20 -5
  353. package/src/react/queries/orders/listOffersForCollectible.ts +116 -0
  354. package/src/react/queries/{lowestListing.ts → orders/lowestListing.ts} +16 -4
  355. package/src/react/queries/{countOfPrimarySaleItems.ts → primary-sales/countOfPrimarySaleItems.ts} +17 -3
  356. package/src/react/queries/primary-sales/index.ts +3 -0
  357. package/src/react/queries/{primarySaleItems.ts → primary-sales/primarySaleItems.ts} +18 -4
  358. package/src/react/queries/{primarySaleItemsCount.ts → primary-sales/primarySaleItemsCount.ts} +19 -4
  359. package/src/react/queries/{getTokenRanges.ts → tokens/getTokenRanges.ts} +17 -4
  360. package/src/react/queries/tokens/index.ts +5 -0
  361. package/src/react/queries/{listBalances.ts → tokens/listBalances.ts} +18 -3
  362. package/src/react/queries/{listTokenMetadata.ts → tokens/listTokenMetadata.ts} +18 -4
  363. package/src/react/queries/{searchTokenMetadata.ts → tokens/searchTokenMetadata.ts} +18 -4
  364. package/src/react/queries/{tokenSupplies.ts → tokens/tokenSupplies.ts} +16 -4
  365. package/src/react/queries/{comparePrices.ts → utils/comparePrices.ts} +16 -4
  366. package/src/react/queries/{convertPriceToUSD.ts → utils/convertPriceToUSD.ts} +18 -5
  367. package/src/react/queries/utils/index.ts +2 -0
  368. package/src/react/ssr/__tests__/__snapshots__/create-ssr-client.test.ts.snap +4 -4
  369. package/src/react/ssr/create-ssr-client.ts +1 -1
  370. package/src/react/ui/components/_internals/ErrorLogBox.tsx +85 -0
  371. package/src/react/ui/components/_internals/action-button/ActionButton.stories.tsx +8 -8
  372. package/src/react/ui/components/_internals/action-button/ActionButton.tsx +10 -9
  373. package/src/react/ui/components/_internals/action-button/__tests__/NonOwnerActions.test.tsx +4 -4
  374. package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +10 -6
  375. package/src/react/ui/components/_internals/custom-select/__tests__/CustomSelect.test.tsx +1 -1
  376. package/src/react/ui/components/marketplace-collectible-card/CollectibleCard.tsx +4 -3
  377. package/src/react/ui/components/marketplace-collectible-card/CollectibleCardSkeleton.tsx +13 -2
  378. package/src/react/ui/components/marketplace-collectible-card/components/ActionButtonWrapper.tsx +7 -7
  379. package/src/react/ui/components/marketplace-collectible-card/components/BaseCard.tsx +14 -5
  380. package/src/react/ui/components/marketplace-collectible-card/components/footer/Footer.tsx +179 -0
  381. package/src/react/ui/components/marketplace-collectible-card/components/footer/components/FooterName.tsx +103 -0
  382. package/src/react/ui/components/marketplace-collectible-card/components/footer/components/PriceDisplay.tsx +80 -0
  383. package/src/react/ui/components/marketplace-collectible-card/components/footer/components/SaleDetailsPill.tsx +29 -0
  384. package/src/react/ui/components/marketplace-collectible-card/components/footer/components/TokenTypeBalancePill.tsx +30 -0
  385. package/src/react/ui/components/marketplace-collectible-card/components/footer/components/index.ts +4 -0
  386. package/src/react/ui/components/marketplace-collectible-card/components/footer/index.ts +2 -0
  387. package/src/react/ui/components/marketplace-collectible-card/types.ts +19 -6
  388. package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +14 -23
  389. package/src/react/ui/components/marketplace-collectible-card/variants/NonTradableInventoryCard.tsx +42 -0
  390. package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +17 -12
  391. package/src/react/ui/modals/BuyModal/__tests__/BuyModalRouter.test.tsx +10 -10
  392. package/src/react/ui/modals/BuyModal/__tests__/ERC1155ShopModal.test.tsx +3 -3
  393. package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx.bak +3 -3
  394. package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +6 -6
  395. package/src/react/ui/modals/BuyModal/__tests__/store.test.ts +3 -3
  396. package/src/react/ui/modals/BuyModal/components/BuyModalRouter.tsx +5 -5
  397. package/src/react/ui/modals/BuyModal/components/ERC1155BuyModal.tsx +67 -5
  398. package/src/react/ui/modals/BuyModal/components/ERC1155QuantityModal.tsx +8 -8
  399. package/src/react/ui/modals/BuyModal/components/ERC1155ShopModal.tsx +2 -2
  400. package/src/react/ui/modals/BuyModal/components/ERC721BuyModal.tsx +31 -0
  401. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC721SalePaymentParams.test.tsx +20 -1
  402. package/src/react/ui/modals/BuyModal/hooks/useERC1155Checkout.ts +20 -4
  403. package/src/react/ui/modals/BuyModal/hooks/useERC721SalePaymentParams.ts +12 -3
  404. package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +11 -2
  405. package/src/react/ui/modals/BuyModal/store.ts +9 -6
  406. package/src/react/ui/modals/CreateListingModal/Modal.tsx +63 -24
  407. package/src/react/ui/modals/CreateListingModal/__tests__/Modal.test.tsx +4 -0
  408. package/src/react/ui/modals/CreateListingModal/hooks/useCreateListing.tsx +20 -13
  409. package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +4 -1
  410. package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +2 -1
  411. package/src/react/ui/modals/MakeOfferModal/Modal.tsx +141 -96
  412. package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +10 -0
  413. package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +4 -1
  414. package/src/react/ui/modals/MakeOfferModal/hooks/useMakeOffer.tsx +17 -27
  415. package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +2 -1
  416. package/src/react/ui/modals/SellModal/Modal.tsx +21 -3
  417. package/src/react/ui/modals/SellModal/__tests__/Modal.test.tsx +2 -0
  418. package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +5 -2
  419. package/src/react/ui/modals/SellModal/hooks/useSell.tsx +15 -8
  420. package/src/react/ui/modals/SuccessfulPurchaseModal/__tests__/Modal.test.tsx +9 -0
  421. package/src/react/ui/modals/_internal/components/actionModal/ActionModal.test.tsx +20 -9
  422. package/src/react/ui/modals/_internal/components/calendarDropdown/TimeSelector.tsx +105 -0
  423. package/src/react/ui/modals/_internal/components/calendarDropdown/index.tsx +45 -12
  424. package/src/react/ui/modals/_internal/components/calendarDropdown/overrides.css +39 -0
  425. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +31 -10
  426. package/src/react/ui/modals/_internal/components/expirationDateSelect/index.tsx +18 -9
  427. package/src/react/ui/modals/_internal/components/priceInput/index.tsx +53 -3
  428. package/src/react/ui/modals/_internal/components/switchChainErrorModal/__tests__/SwitchChainErrorModal.test.tsx +80 -0
  429. package/src/react/ui/modals/_internal/components/switchChainErrorModal/index.tsx +64 -0
  430. package/src/react/ui/modals/_internal/components/switchChainErrorModal/store.ts +42 -0
  431. package/src/react/ui/modals/_internal/components/transactionDetails/index.tsx +58 -10
  432. package/src/react/ui/modals/_internal/constants/opensea-currencies.ts +481 -0
  433. package/src/react/ui/modals/_internal/types.ts +0 -1
  434. package/src/react/utils/waitForTransactionReceipt.ts +26 -32
  435. package/src/styles/index.css +1 -0
  436. package/src/styles/styles.ts +201 -25
  437. package/src/types/index.ts +1 -1
  438. package/src/types/new-marketplace-types.ts +9 -18
  439. package/src/types/types.ts +1 -1
  440. package/src/utils/abi/index.ts +1 -0
  441. package/src/utils/abi/mainModule.ts +158 -0
  442. package/test/globalSetup.ts +1 -1
  443. package/test/test-utils.tsx +1 -0
  444. package/dist/BellIcon-Cb9YEUzJ.js.map +0 -1
  445. package/dist/CollectibleCard-CYyWzk6u.d.ts +0 -8
  446. package/dist/api-BmEQfSQa.js.map +0 -1
  447. package/dist/create-config-6uynwTeb.js.map +0 -1
  448. package/dist/filters-B8XS4tFH.d.ts +0 -31
  449. package/dist/index-BuY_NKSX.d.ts +0 -222
  450. package/dist/index-D2HohSwO.d.ts +0 -293
  451. package/dist/listCollectiblesPaginated--AgXjajA.d.ts +0 -166
  452. package/dist/lowestListing-BQHfQpfg.d.ts +0 -144
  453. package/dist/marketplace-logos-D8t86gsW.js.map +0 -1
  454. package/dist/marketplace.gen-JzNYpM0U.js.map +0 -1
  455. package/dist/marketplaceConfig-sNh-MA5M.js.map +0 -1
  456. package/dist/network-DnBEe1Ur.js.map +0 -1
  457. package/dist/queries-BYT4GJw3.js +0 -1478
  458. package/dist/queries-BYT4GJw3.js.map +0 -1
  459. package/dist/react-CbqXKOpt.css +0 -80
  460. package/dist/react-CbqXKOpt.css.map +0 -1
  461. package/dist/react-Ceq8mamy.js.map +0 -1
  462. package/dist/tokenSupplies-DXtkRYNO.d.ts +0 -147
  463. package/dist/transaction-CC2KxNF6.js.map +0 -1
  464. package/dist/types-G2PWxiJR.js.map +0 -1
  465. package/dist/utils-CKJd-CRf.js.map +0 -1
  466. package/dist/utils-wquIhK6T.js.map +0 -1
  467. package/dist/waitForTransactionReceipt-DZxAuR9N.js +0 -27
  468. package/dist/waitForTransactionReceipt-DZxAuR9N.js.map +0 -1
  469. package/src/react/hooks/utils/useSwitchChainWithModal.ts +0 -38
  470. package/src/react/queries/inventory.ts +0 -343
  471. package/src/react/ui/components/marketplace-collectible-card/Footer.tsx +0 -238
  472. package/src/react/ui/modals/_internal/components/switchChainModal/__tests__/SwitchChainModal.test.tsx +0 -117
  473. package/src/react/ui/modals/_internal/components/switchChainModal/index.tsx +0 -124
  474. package/src/react/ui/modals/_internal/components/switchChainModal/store.ts +0 -71
  475. /package/dist/{index-q7f-WDBS.d.ts → index-6wsMChsg.d.ts} +0 -0
  476. /package/dist/{abi-Wr_aTZFi.js → queries-KOcILNJO.js} +0 -0
  477. /package/dist/{wagmi-BhP3mdhP.js → wagmi-Bseovd6Q.js} +0 -0
@@ -1,147 +0,0 @@
1
- import { SdkConfig, ValuesOptional } from "./create-config-lLSrnkbb.js";
2
- import { StandardInfiniteQueryOptions, StandardQueryOptions } from "./query-BTe7Wkrs.js";
3
- import * as _tanstack_react_query179 from "@tanstack/react-query";
4
- import * as _0xsequence_indexer9 from "@0xsequence/indexer";
5
- import { GetTokenBalancesReturn, GetTokenIDRangesReturn, GetTokenSuppliesArgs, Page } from "@0xsequence/indexer";
6
- import * as _0xsequence_metadata130 from "@0xsequence/metadata";
7
- import { Filter, Page as Page$1, SearchTokenMetadataReturn } from "@0xsequence/metadata";
8
- import { Address, Hex } from "viem";
9
-
10
- //#region src/react/queries/getTokenRanges.d.ts
11
- interface FetchGetTokenRangesParams {
12
- chainId: number;
13
- collectionAddress: Address;
14
- config: SdkConfig;
15
- }
16
- /**
17
- * Fetches token ID ranges for a collection from the Indexer API
18
- */
19
- declare function fetchGetTokenRanges(params: FetchGetTokenRangesParams): Promise<GetTokenIDRangesReturn>;
20
- type GetTokenRangesQueryOptions = ValuesOptional<FetchGetTokenRangesParams> & {
21
- query?: StandardQueryOptions;
22
- };
23
- declare function getTokenRangesQueryOptions(params: GetTokenRangesQueryOptions): _tanstack_react_query179.OmitKeyof<_tanstack_react_query179.UseQueryOptions<GetTokenIDRangesReturn, Error, GetTokenIDRangesReturn, (string | GetTokenRangesQueryOptions)[]>, "queryFn"> & {
24
- queryFn?: _tanstack_react_query179.QueryFunction<GetTokenIDRangesReturn, (string | GetTokenRangesQueryOptions)[], never> | undefined;
25
- } & {
26
- queryKey: (string | GetTokenRangesQueryOptions)[] & {
27
- [dataTagSymbol]: GetTokenIDRangesReturn;
28
- [dataTagErrorSymbol]: Error;
29
- };
30
- };
31
- //#endregion
32
- //#region src/react/queries/listBalances.d.ts
33
- type UseListBalancesArgs = {
34
- chainId: number;
35
- accountAddress?: Address;
36
- contractAddress?: Address;
37
- tokenId?: string;
38
- includeMetadata?: boolean;
39
- metadataOptions?: {
40
- verifiedOnly?: boolean;
41
- unverifiedOnly?: boolean;
42
- includeContracts?: Hex[];
43
- };
44
- includeCollectionTokens?: boolean;
45
- page?: Page;
46
- isLaos721?: boolean;
47
- query?: {
48
- enabled?: boolean;
49
- };
50
- };
51
- declare function fetchBalances(args: UseListBalancesArgs, config: SdkConfig, page: Page): Promise<GetTokenBalancesReturn>;
52
- /**
53
- * Creates a tanstack infinite query options object for the balances query
54
- *
55
- * @param args - The query arguments
56
- * @param config - SDK configuration
57
- * @returns Query options configuration
58
- */
59
- declare function listBalancesOptions(args: UseListBalancesArgs, config: SdkConfig): _tanstack_react_query179.OmitKeyof<_tanstack_react_query179.UseInfiniteQueryOptions<GetTokenBalancesReturn, Error, _tanstack_react_query179.InfiniteData<GetTokenBalancesReturn, unknown>, (SdkConfig | "balances" | "tokenBalances" | UseListBalancesArgs)[], any>, "queryFn"> & {
60
- queryFn?: _tanstack_react_query179.QueryFunction<GetTokenBalancesReturn, (SdkConfig | "balances" | "tokenBalances" | UseListBalancesArgs)[], any> | undefined;
61
- } & {
62
- queryKey: (SdkConfig | "balances" | "tokenBalances" | UseListBalancesArgs)[] & {
63
- [dataTagSymbol]: _tanstack_react_query179.InfiniteData<GetTokenBalancesReturn, unknown>;
64
- [dataTagErrorSymbol]: Error;
65
- };
66
- };
67
- //#endregion
68
- //#region src/react/queries/listTokenMetadata.d.ts
69
- interface FetchListTokenMetadataParams {
70
- chainId: number;
71
- contractAddress: string;
72
- tokenIds: string[];
73
- config: SdkConfig;
74
- }
75
- /**
76
- * Fetches token metadata from the metadata API
77
- */
78
- declare function fetchListTokenMetadata(params: FetchListTokenMetadataParams): Promise<_0xsequence_metadata130.TokenMetadata[]>;
79
- type ListTokenMetadataQueryOptions = ValuesOptional<FetchListTokenMetadataParams> & {
80
- query?: StandardQueryOptions;
81
- };
82
- declare function listTokenMetadataQueryOptions(params: ListTokenMetadataQueryOptions): _tanstack_react_query179.OmitKeyof<_tanstack_react_query179.UseQueryOptions<_0xsequence_metadata130.TokenMetadata[], Error, _0xsequence_metadata130.TokenMetadata[], ("tokens" | "metadata" | ListTokenMetadataQueryOptions)[]>, "queryFn"> & {
83
- queryFn?: _tanstack_react_query179.QueryFunction<_0xsequence_metadata130.TokenMetadata[], ("tokens" | "metadata" | ListTokenMetadataQueryOptions)[], never> | undefined;
84
- } & {
85
- queryKey: ("tokens" | "metadata" | ListTokenMetadataQueryOptions)[] & {
86
- [dataTagSymbol]: _0xsequence_metadata130.TokenMetadata[];
87
- [dataTagErrorSymbol]: Error;
88
- };
89
- };
90
- //#endregion
91
- //#region src/react/queries/searchTokenMetadata.d.ts
92
- interface FetchSearchTokenMetadataParams {
93
- chainId: number;
94
- collectionAddress: string;
95
- filter?: Filter;
96
- page?: Page$1;
97
- config: SdkConfig;
98
- }
99
- /**
100
- * Fetches token metadata from the metadata API using search filters
101
- */
102
- declare function fetchSearchTokenMetadata(params: FetchSearchTokenMetadataParams): Promise<SearchTokenMetadataReturn>;
103
- type SearchTokenMetadataQueryOptions = ValuesOptional<FetchSearchTokenMetadataParams> & {
104
- query?: StandardQueryOptions;
105
- };
106
- declare function searchTokenMetadataQueryOptions(params: SearchTokenMetadataQueryOptions): _tanstack_react_query179.OmitKeyof<_tanstack_react_query179.UseInfiniteQueryOptions<SearchTokenMetadataReturn, Error, _tanstack_react_query179.InfiniteData<SearchTokenMetadataReturn, unknown>, (string | SearchTokenMetadataQueryOptions)[], {
107
- page: number;
108
- pageSize: number;
109
- }>, "queryFn"> & {
110
- queryFn?: _tanstack_react_query179.QueryFunction<SearchTokenMetadataReturn, (string | SearchTokenMetadataQueryOptions)[], {
111
- page: number;
112
- pageSize: number;
113
- }> | undefined;
114
- } & {
115
- queryKey: (string | SearchTokenMetadataQueryOptions)[] & {
116
- [dataTagSymbol]: _tanstack_react_query179.InfiniteData<SearchTokenMetadataReturn, unknown>;
117
- [dataTagErrorSymbol]: Error;
118
- };
119
- };
120
- //#endregion
121
- //#region src/react/queries/tokenSupplies.d.ts
122
- interface FetchTokenSuppliesParams extends Omit<GetTokenSuppliesArgs, 'contractAddress'> {
123
- chainId: number;
124
- collectionAddress: string;
125
- config: SdkConfig;
126
- isLaos721?: boolean;
127
- page?: Page;
128
- }
129
- /**
130
- * Fetches token supplies with support for both indexer and LAOS APIs
131
- * Uses the more efficient single-contract APIs from both services
132
- */
133
- declare function fetchTokenSupplies(params: FetchTokenSuppliesParams): Promise<_0xsequence_indexer9.GetTokenSuppliesReturn>;
134
- type TokenSuppliesQueryOptions = ValuesOptional<FetchTokenSuppliesParams> & {
135
- query?: StandardInfiniteQueryOptions;
136
- };
137
- declare function tokenSuppliesQueryOptions(params: TokenSuppliesQueryOptions): _tanstack_react_query179.OmitKeyof<_tanstack_react_query179.UseInfiniteQueryOptions<_0xsequence_indexer9.GetTokenSuppliesReturn, Error, _tanstack_react_query179.InfiniteData<_0xsequence_indexer9.GetTokenSuppliesReturn, unknown>, ("tokens" | "supplies" | TokenSuppliesQueryOptions)[], Page>, "queryFn"> & {
138
- queryFn?: _tanstack_react_query179.QueryFunction<_0xsequence_indexer9.GetTokenSuppliesReturn, ("tokens" | "supplies" | TokenSuppliesQueryOptions)[], Page> | undefined;
139
- } & {
140
- queryKey: ("tokens" | "supplies" | TokenSuppliesQueryOptions)[] & {
141
- [dataTagSymbol]: _tanstack_react_query179.InfiniteData<_0xsequence_indexer9.GetTokenSuppliesReturn, unknown>;
142
- [dataTagErrorSymbol]: Error;
143
- };
144
- };
145
- //#endregion
146
- export { FetchGetTokenRangesParams, FetchListTokenMetadataParams, FetchSearchTokenMetadataParams, FetchTokenSuppliesParams, GetTokenRangesQueryOptions, ListTokenMetadataQueryOptions, SearchTokenMetadataQueryOptions, TokenSuppliesQueryOptions, UseListBalancesArgs, fetchBalances, fetchGetTokenRanges, fetchListTokenMetadata, fetchSearchTokenMetadata, fetchTokenSupplies, getTokenRangesQueryOptions, listBalancesOptions, listTokenMetadataQueryOptions, searchTokenMetadataQueryOptions, tokenSuppliesQueryOptions };
147
- //# sourceMappingURL=tokenSupplies-DXtkRYNO.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transaction-CC2KxNF6.js","names":["shortMessage: string","options: BaseErrorOptions","currentChainId: number","targetChainId: number","stepId: string","cause?: Error","contractType: string | undefined","configName: string"],"sources":["../src/utils/_internal/error/base.ts","../src/utils/_internal/error/transaction.ts"],"sourcesContent":["export type ErrorType<name extends string = 'Error'> = Error & { name: name };\n\nexport type Compute<type> = { [key in keyof type]: type[key] } & unknown;\n\ntype BaseErrorOptions = Compute<\n\t{ details?: string | undefined } | { cause: BaseError | Error }\n>;\n\nexport class BaseError extends Error {\n\tdetails: string;\n\tshortMessage: string;\n\n\tname = 'MarketplaceSdkBaseError';\n\n\tconstructor(shortMessage: string, options: BaseErrorOptions = {}) {\n\t\tsuper();\n\n\t\tconst details = 'details' in options ? options.details : '';\n\t\tthis.message = [\n\t\t\tshortMessage || 'An error occurred.',\n\t\t\t'',\n\t\t\t...(details ? [`Details: ${details}`] : []),\n\t\t].join('\\n');\n\n\t\tif ('cause' in options && options.cause) {\n\t\t\tthis.cause = options.cause;\n\t\t}\n\n\t\tthis.details = details || '';\n\t\tthis.shortMessage = shortMessage;\n\t}\n}\n","import type { Address } from 'viem';\nimport { BaseError } from './base';\n\nexport type TransactionErrorType<name extends string = 'TransactionError'> =\n\tBaseError & { name: name };\n\nexport class TransactionError extends BaseError {\n\toverride name = 'TransactionError';\n}\n\nexport class ChainSwitchError extends TransactionError {\n\toverride name = 'ChainSwitchError';\n\tconstructor(currentChainId: number, targetChainId: number) {\n\t\tsuper(\n\t\t\t`Failed to switch network from ${currentChainId} to ${targetChainId}`,\n\t\t\t{\n\t\t\t\tdetails:\n\t\t\t\t\t'The user may have rejected the network switch or there might be a network connectivity issue.',\n\t\t\t},\n\t\t);\n\t}\n}\n\nexport class ChainSwitchUserRejectedError extends TransactionError {\n\toverride name = 'ChainSwitchUserRejectedError';\n\tconstructor() {\n\t\tsuper('User rejected chain switch', {\n\t\t\tdetails: 'The user rejected the chain switch request.',\n\t\t});\n\t}\n}\n\nexport class TransactionExecutionError extends TransactionError {\n\toverride name = 'TransactionExecutionError';\n\tconstructor(stepId: string, cause?: Error) {\n\t\tsuper(`Failed to execute transaction step: ${stepId}`, {\n\t\t\tdetails:\n\t\t\t\tcause?.message ||\n\t\t\t\t'The transaction may have been rejected or failed during execution.',\n\t\t\tcause,\n\t\t});\n\t}\n}\n\nexport class TransactionSignatureError extends TransactionError {\n\toverride name = 'TransactionSignatureError';\n\tconstructor(stepId: string, cause?: Error) {\n\t\tsuper(`Failed to sign transaction step: ${stepId}`, {\n\t\t\tdetails:\n\t\t\t\tcause?.message ||\n\t\t\t\t'The signature request may have been rejected by the user.',\n\t\t\tcause,\n\t\t});\n\t}\n}\n\nexport class NoWalletConnectedError extends TransactionError {\n\toverride name = 'NoWalletConnectedError';\n\tconstructor() {\n\t\tsuper('No wallet connected', {\n\t\t\tdetails: 'Please connect your wallet before attempting this transaction.',\n\t\t});\n\t}\n}\n\nexport class NoMarketplaceConfigError extends TransactionError {\n\toverride name = 'NoMarketplaceConfigError';\n\tconstructor() {\n\t\tsuper('Marketplace configuration not found', {\n\t\t\tdetails:\n\t\t\t\t'The marketplace configuration is missing or invalid. This could be due to an initialization error.',\n\t\t});\n\t}\n}\n\nexport class UserRejectedRequestError extends TransactionError {\n\toverride name = 'UserRejectedRequestError';\n\tconstructor() {\n\t\tsuper('User rejected the request', {\n\t\t\tdetails: 'The user cancelled or rejected the transaction request.',\n\t\t});\n\t}\n}\n\nexport class InsufficientFundsError extends TransactionError {\n\toverride name = 'InsufficientFundsError';\n\tconstructor(cause?: Error) {\n\t\tsuper('Insufficient funds for transaction', {\n\t\t\tdetails:\n\t\t\t\t'The wallet does not have enough funds to complete this transaction.',\n\t\t\tcause,\n\t\t});\n\t}\n}\n\nexport class SignatureExecutionError extends TransactionError {\n\toverride name = 'SignatureExecutionError';\n\tconstructor(signature: string, cause?: Error) {\n\t\tsuper(`Failed to execute signature: ${signature}`, {\n\t\t\tdetails: cause?.message || 'The execution of the signature failed.',\n\t\t\tcause,\n\t\t});\n\t}\n}\n\nexport class StepExecutionError extends TransactionError {\n\toverride name = 'StepExecutionError';\n\tconstructor(stepId: string, cause?: Error) {\n\t\tsuper(`Failed to execute step ${stepId})`, {\n\t\t\tdetails: cause?.message || 'The step execution failed unexpectedly.',\n\t\t\tcause,\n\t\t});\n\t}\n}\n\nexport class StepGenerationError extends TransactionError {\n\toverride name = 'StepGenerationError';\n\tconstructor(transactionType: string, cause?: Error) {\n\t\tsuper(`Failed to generate steps for ${transactionType}`, {\n\t\t\tdetails:\n\t\t\t\tcause?.message || 'Could not generate the required transaction steps.',\n\t\t\tcause,\n\t\t});\n\t}\n}\n\nexport class PaymentModalError extends TransactionError {\n\toverride name = 'PaymentModalError';\n\tconstructor(cause?: Error) {\n\t\tsuper('Payment modal operation failed', {\n\t\t\tdetails:\n\t\t\t\tcause?.message || 'The payment modal operation was unsuccessful.',\n\t\t\tcause,\n\t\t});\n\t}\n}\n\nexport class InvalidStepError extends TransactionError {\n\toverride name = 'InvalidStepError';\n\tconstructor(stepId: string, reason: string) {\n\t\tsuper(`Invalid step configuration for ${stepId}`, {\n\t\t\tdetails: reason,\n\t\t});\n\t}\n}\n\nexport class TransactionConfirmationError extends TransactionError {\n\toverride name = 'TransactionConfirmationError';\n\tconstructor(hash: string, cause?: Error) {\n\t\tsuper(`Failed to confirm transaction ${hash}`, {\n\t\t\tdetails:\n\t\t\t\tcause?.message ||\n\t\t\t\t'The transaction could not be confirmed on the network.',\n\t\t\tcause,\n\t\t});\n\t}\n}\n\nexport class OrderNotFoundError extends TransactionError {\n\toverride name = 'OrderNotFoundError';\n\tconstructor(orderId: string) {\n\t\tsuper(`Order ${orderId} not found`, {\n\t\t\tdetails: 'The requested order could not be found in the marketplace.',\n\t\t});\n\t}\n}\n\nexport class MissingStepDataError extends TransactionError {\n\toverride name = 'MissingStepDataError';\n\tconstructor() {\n\t\tsuper('Step is missing required data', {\n\t\t\tdetails:\n\t\t\t\t'The transaction step is missing required \"to\" or \"signature\" data.',\n\t\t});\n\t}\n}\n\nexport class MissingSignatureDataError extends TransactionError {\n\toverride name = 'MissingSignatureDataError';\n\tconstructor() {\n\t\tsuper('Step is missing signature data', {\n\t\t\tdetails:\n\t\t\t\t'The signature step is missing required signature data configuration.',\n\t\t});\n\t}\n}\n\nexport class InvalidSignatureStepError extends TransactionError {\n\toverride name = 'InvalidSignatureStepError';\n\tconstructor(stepId: string) {\n\t\tsuper(`Invalid signature step type: ${stepId}`, {\n\t\t\tdetails: 'The signature step type is not supported.',\n\t\t});\n\t}\n}\n\nexport class MissingPostStepError extends TransactionError {\n\toverride name = 'MissingPostStepError';\n\tconstructor() {\n\t\tsuper('Missing post step configuration', {\n\t\t\tdetails:\n\t\t\t\t'The signature step is missing required post-step configuration.',\n\t\t});\n\t}\n}\n\nexport class UnexpectedStepsError extends TransactionError {\n\toverride name = 'UnexpectedStepsError';\n\tconstructor() {\n\t\tsuper('Unexpected steps found', {\n\t\t\tdetails: 'The transaction contains more steps than expected.',\n\t\t});\n\t}\n}\n\nexport class NoExecutionStepError extends TransactionError {\n\toverride name = 'NoExecutionStepError';\n\tconstructor() {\n\t\tsuper('No execution step found', {\n\t\t\tdetails: 'The transaction is missing the required execution step.',\n\t\t});\n\t}\n}\n\nexport class NoStepsFoundError extends TransactionError {\n\toverride name = 'NoStepsFoundError';\n\tconstructor() {\n\t\tsuper('No steps found', {\n\t\t\tdetails: 'The transaction contains no steps to execute.',\n\t\t});\n\t}\n}\n\nexport class UnknownTransactionTypeError extends TransactionError {\n\toverride name = 'UnknownTransactionTypeError';\n\tconstructor(type: string) {\n\t\tsuper(`Unknown transaction type: ${type}`, {\n\t\t\tdetails: 'The specified transaction type is not supported.',\n\t\t});\n\t}\n}\n\nexport class InvalidContractTypeError extends TransactionError {\n\toverride name = 'InvalidContractTypeError';\n\tconstructor(contractType: string | undefined) {\n\t\tsuper(`Invalid contract type: ${contractType}`, {\n\t\t\tdetails: 'The contract type must be either ERC721 or ERC1155.',\n\t\t});\n\t}\n}\n\nexport class CollectionNotFoundError extends TransactionError {\n\toverride name = 'CollectionNotFoundError';\n\tconstructor(collectionAddress: string) {\n\t\tsuper(`Collection not found: ${collectionAddress}`, {\n\t\t\tdetails:\n\t\t\t\t'The specified collection address could not be found in the marketplace configuration.',\n\t\t});\n\t}\n}\n\nexport class InvalidCurrencyOptionsError extends TransactionError {\n\toverride name = 'InvalidCurrencyOptionsError';\n\tconstructor(currencyOptions: Address[]) {\n\t\tsuper(`Invalid currency options: ${currencyOptions}`, {\n\t\t\tdetails:\n\t\t\t\t'The currency options must be an array of valid currency contract addresses.',\n\t\t});\n\t}\n}\n\nexport class ProjectNotFoundError extends TransactionError {\n\toverride name = 'ProjectNotFoundError';\n\tconstructor(projectId: string, url: string) {\n\t\tsuper('Project not found', {\n\t\t\tdetails: `Project id: ${projectId} not found at ${url}`,\n\t\t});\n\t}\n}\n\nexport class MarketplaceConfigFetchError extends TransactionError {\n\toverride name = 'MarketplaceConfigFetchError';\n\tconstructor(message: string) {\n\t\tsuper('Failed to fetch marketplace config', {\n\t\t\tdetails: message,\n\t\t});\n\t}\n}\n\nexport class MissingConfigError extends TransactionError {\n\toverride name = 'MissingConfigError';\n\tconstructor(configName: string) {\n\t\tsuper(`Missing required config: ${configName}`, {\n\t\t\tdetails: 'A required configuration parameter is missing.',\n\t\t});\n\t}\n}\n\nexport class TransactionValidationError extends TransactionError {\n\toverride name = 'TransactionValidationError';\n\tconstructor(reason: string) {\n\t\tsuper('Transaction validation failed', {\n\t\t\tdetails: reason,\n\t\t});\n\t}\n}\n\nexport class ChainIdUnavailableError extends TransactionError {\n\toverride name = 'ChainIdUnavailableError';\n\tconstructor() {\n\t\tsuper('Chain ID is not available', {\n\t\t\tdetails: 'Could not determine the current chain ID from the wallet.',\n\t\t});\n\t}\n}\n\nexport class TransactionReceiptError extends TransactionError {\n\toverride name = 'TransactionReceiptError';\n\tconstructor(hash: string, cause?: Error) {\n\t\tsuper(`Failed to get transaction receipt for ${hash}`, {\n\t\t\tdetails:\n\t\t\t\tcause?.message ||\n\t\t\t\t'Could not retrieve the transaction receipt from the network.',\n\t\t\tcause,\n\t\t});\n\t}\n}\n\nexport class PaymentModalTransactionError extends TransactionError {\n\toverride name = 'PaymentModalTransactionError';\n\tconstructor(hash: string, cause?: Error) {\n\t\tsuper(`Payment modal transaction failed for ${hash}`, {\n\t\t\tdetails:\n\t\t\t\tcause?.message ||\n\t\t\t\t'The transaction initiated from the payment modal failed.',\n\t\t\tcause,\n\t\t});\n\t}\n}\n\nexport class CheckoutOptionsError extends TransactionError {\n\toverride name = 'CheckoutOptionsError';\n\tconstructor(cause?: Error) {\n\t\tsuper('Failed to get checkout options', {\n\t\t\tdetails:\n\t\t\t\tcause?.message ||\n\t\t\t\t'Could not retrieve the checkout options from the marketplace.',\n\t\t\tcause,\n\t\t});\n\t}\n}\n\nexport class OrdersFetchError extends TransactionError {\n\toverride name = 'OrdersFetchError';\n\tconstructor(orderId: string, cause?: Error) {\n\t\tsuper(`Failed to fetch order ${orderId}`, {\n\t\t\tdetails:\n\t\t\t\tcause?.message ||\n\t\t\t\t'Could not retrieve the order details from the marketplace.',\n\t\t\tcause,\n\t\t});\n\t}\n}\n\nexport class SalesContractError extends TransactionError {\n\toverride name = 'SalesContractError';\n\tconstructor(contractAddress: string, method?: string, cause?: Error) {\n\t\tsuper(`Sales contract operation failed: ${contractAddress}`, {\n\t\t\tdetails: `Failed to interact with sales contract${\n\t\t\t\tmethod ? ` on method: ${method}` : ''\n\t\t\t}. ${cause?.message || 'Contract may be paused or misconfigured.'}`,\n\t\t\tcause,\n\t\t});\n\t}\n}\n\nexport class QuantityValidationError extends TransactionError {\n\toverride name = 'QuantityValidationError';\n\tconstructor(provided: number, available: number, tokenId?: string) {\n\t\tsuper(`Invalid quantity: ${provided}`, {\n\t\t\tdetails: `Requested quantity (${provided}) exceeds available supply (${available})${\n\t\t\t\ttokenId ? ` for token ${tokenId}` : ''\n\t\t\t}.`,\n\t\t});\n\t}\n}\n\nexport class ShopDataValidationError extends TransactionError {\n\toverride name = 'ShopDataValidationError';\n\tconstructor(missingField: string) {\n\t\tsuper(`Invalid shop configuration: missing ${missingField}`, {\n\t\t\tdetails: `The shop is missing required field: ${missingField}. Check your marketplace configuration.`,\n\t\t});\n\t}\n}\n\nexport type TransactionErrorTypes =\n\t| ChainIdUnavailableError\n\t| TransactionReceiptError\n\t| PaymentModalTransactionError\n\t| CheckoutOptionsError\n\t| OrdersFetchError\n\t| TransactionConfirmationError\n\t| TransactionValidationError\n\t| MissingConfigError\n\t| MarketplaceConfigFetchError\n\t| ProjectNotFoundError\n\t| CollectionNotFoundError\n\t| InvalidCurrencyOptionsError\n\t| InvalidContractTypeError\n\t| UnknownTransactionTypeError\n\t| NoStepsFoundError\n\t| NoExecutionStepError\n\t| UnexpectedStepsError\n\t| MissingPostStepError\n\t| InvalidSignatureStepError\n\t| MissingSignatureDataError\n\t| MissingStepDataError\n\t| OrderNotFoundError\n\t| TransactionConfirmationError\n\t| InvalidStepError\n\t| PaymentModalError\n\t| StepGenerationError\n\t| StepExecutionError\n\t| UserRejectedRequestError\n\t| NoMarketplaceConfigError\n\t| InsufficientFundsError\n\t| ChainSwitchUserRejectedError\n\t| ChainSwitchError\n\t| TransactionSignatureError\n\t| TransactionExecutionError\n\t| NoWalletConnectedError\n\t| TransactionError\n\t| SalesContractError\n\t| QuantityValidationError\n\t| ShopDataValidationError;\n"],"mappings":";AAQA,IAAa,YAAb,cAA+B,MAAM;CACpC;CACA;CAEA,OAAO;CAEP,YAAYA,cAAsBC,UAA4B,CAAE,GAAE;EACjE,OAAO;EAEP,MAAM,UAAU,aAAa,UAAU,QAAQ,UAAU;EACzD,KAAK,UAAU;GACd,gBAAgB;GAChB;GACA,GAAI,UAAU,CAAC,CAAC,SAAS,EAAE,SAAS,AAAC,IAAG,CAAE;EAC1C,EAAC,KAAK,KAAK;AAEZ,MAAI,WAAW,WAAW,QAAQ,OACjC,KAAK,QAAQ,QAAQ;EAGtB,KAAK,UAAU,WAAW;EAC1B,KAAK,eAAe;CACpB;AACD;;;;ACzBD,IAAa,mBAAb,cAAsC,UAAU;CAC/C,AAAS,OAAO;AAChB;AAED,IAAa,mBAAb,cAAsC,iBAAiB;CACtD,AAAS,OAAO;CAChB,YAAYC,gBAAwBC,eAAuB;EAC1D,MACC,CAAC,8BAA8B,EAAE,eAAe,IAAI,EAAE,eAAe,EACrE,EACC,SACC,gGACD,EACD;CACD;AACD;AAED,IAAa,+BAAb,cAAkD,iBAAiB;CAClE,AAAS,OAAO;CAChB,cAAc;EACb,MAAM,8BAA8B,EACnC,SAAS,8CACT,EAAC;CACF;AACD;AAED,IAAa,4BAAb,cAA+C,iBAAiB;CAC/D,AAAS,OAAO;CAChB,YAAYC,QAAgBC,OAAe;EAC1C,MAAM,CAAC,oCAAoC,EAAE,QAAQ,EAAE;GACtD,SACC,OAAO,WACP;GACD;EACA,EAAC;CACF;AACD;AAED,IAAa,4BAAb,cAA+C,iBAAiB;CAC/D,AAAS,OAAO;CAChB,YAAYD,QAAgBC,OAAe;EAC1C,MAAM,CAAC,iCAAiC,EAAE,QAAQ,EAAE;GACnD,SACC,OAAO,WACP;GACD;EACA,EAAC;CACF;AACD;AAED,IAAa,yBAAb,cAA4C,iBAAiB;CAC5D,AAAS,OAAO;CAChB,cAAc;EACb,MAAM,uBAAuB,EAC5B,SAAS,iEACT,EAAC;CACF;AACD;AAYD,IAAa,2BAAb,cAA8C,iBAAiB;CAC9D,AAAS,OAAO;CAChB,cAAc;EACb,MAAM,6BAA6B,EAClC,SAAS,0DACT,EAAC;CACF;AACD;AAgKD,IAAa,2BAAb,cAA8C,iBAAiB;CAC9D,AAAS,OAAO;CAChB,YAAYC,cAAkC;EAC7C,MAAM,CAAC,uBAAuB,EAAE,cAAc,EAAE,EAC/C,SAAS,sDACT,EAAC;CACF;AACD;AAwCD,IAAa,qBAAb,cAAwC,iBAAiB;CACxD,AAAS,OAAO;CAChB,YAAYC,YAAoB;EAC/B,MAAM,CAAC,yBAAyB,EAAE,YAAY,EAAE,EAC/C,SAAS,iDACT,EAAC;CACF;AACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-G2PWxiJR.js","names":[],"sources":["../src/types/types.ts"],"sourcesContent":["import type { Currency } from './api-types';\nimport type { MarketplaceConfig } from './new-marketplace-types';\n\nexport * from './new-marketplace-types';\n\nexport type Price = {\n\tamountRaw: string;\n\tcurrency: Currency;\n};\n\nexport type MarketplaceType = 'market' | 'shop';\n\nexport enum CollectibleCardAction {\n\tBUY = 'Buy',\n\tSELL = 'Sell',\n\tLIST = 'Create listing',\n\tOFFER = 'Make an offer',\n\tTRANSFER = 'Transfer',\n}\n\nexport type MarketCollection =\n\tMarketplaceConfig['market']['collections'][number];\n\nexport type ShopCollection = MarketplaceConfig['shop']['collections'][number];\n\n// export type Order = Omit<APIOrder, 'priceAmount' | 'priceAmountNet'> & {\n// \tpriceAmount: bigint;\n// \tpriceAmountNet: bigint;\n// };\n"],"mappings":";AAYA,IAAY,0EAAL;;;;;;;AAMN"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-CKJd-CRf.js","names":["address: string","text: string | undefined","truncateAt: number","MARKETPLACES: Record<string, Marketplace>","KIND_TO_MARKETPLACE: Partial<\n\tRecord<MarketplaceKind, keyof typeof MARKETPLACES>\n>","url: string","network: NetworkConfig","amount: bigint","decimals: number","fees: number[]","feePercentage: number"],"sources":["../src/utils/address.ts","../src/utils/cn.ts","../src/utils/getMarketplaceDetails.ts","../src/utils/networkconfigToWagmiChain.ts","../src/utils/price.ts"],"sourcesContent":["export const truncateMiddle = (\n\taddress: string,\n\tminPrefix = 20,\n\tminSuffix = 3,\n): string => {\n\tif (minPrefix + minSuffix >= 40) {\n\t\treturn address;\n\t}\n\treturn `${address.substring(0, 2 + minPrefix)}…${address.substring(address.length - minSuffix)}`;\n};\n\nexport const truncateEnd = (text: string | undefined, truncateAt: number) => {\n\tif (!text) return '';\n\n\tlet finalText = text;\n\n\tif (text.length >= truncateAt) {\n\t\tfinalText = `${text.slice(0, truncateAt)}...`;\n\t}\n\n\treturn finalText;\n};\n\nexport const compareAddress = (a = '', b = '') => {\n\treturn a.toLowerCase() === b.toLowerCase();\n};\n","import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n\treturn twMerge(clsx(inputs));\n}\n","import type { Image } from '@0xsequence/design-system';\nimport type { ComponentType } from 'react';\nimport {\n\tAlienSwapLogo,\n\tBlurLogo,\n\tLooksRareLogo,\n\tMagicEdenLogo,\n\tMintifyLogo,\n\tOpenSeaLogo,\n\tSequenceLogo,\n\tX2y2Logo,\n} from '../react/ui/components/marketplace-logos';\nimport { MarketplaceKind } from '../types';\n\ninterface Marketplace {\n\tlogo: ComponentType<React.ComponentProps<typeof Image>>;\n\tdisplayName: string;\n}\n\nconst MARKETPLACES: Record<string, Marketplace> = {\n\tsequence: {\n\t\tlogo: SequenceLogo,\n\t\tdisplayName: 'Sequence',\n\t},\n\topensea: {\n\t\tlogo: OpenSeaLogo,\n\t\tdisplayName: 'OpenSea',\n\t},\n\tmagiceden: {\n\t\tlogo: MagicEdenLogo,\n\t\tdisplayName: 'Magic Eden',\n\t},\n\tmintify: {\n\t\tlogo: MintifyLogo,\n\t\tdisplayName: 'Mintify',\n\t},\n\tlooksrare: {\n\t\tlogo: LooksRareLogo,\n\t\tdisplayName: 'Looks Rare',\n\t},\n\tx2y2: {\n\t\tlogo: X2y2Logo,\n\t\tdisplayName: 'X2Y2',\n\t},\n\tblur: {\n\t\tlogo: BlurLogo,\n\t\tdisplayName: 'Blur',\n\t},\n\talienswap: {\n\t\tlogo: AlienSwapLogo,\n\t\tdisplayName: 'AlienSwap',\n\t},\n} as const;\n\nconst KIND_TO_MARKETPLACE: Partial<\n\tRecord<MarketplaceKind, keyof typeof MARKETPLACES>\n> = {\n\t[MarketplaceKind.sequence_marketplace_v1]: 'sequence',\n\t[MarketplaceKind.sequence_marketplace_v2]: 'sequence',\n\t[MarketplaceKind.opensea]: 'opensea',\n\t[MarketplaceKind.mintify]: 'mintify',\n\t[MarketplaceKind.looks_rare]: 'looksrare',\n\t[MarketplaceKind.x2y2]: 'x2y2',\n\t[MarketplaceKind.blur]: 'blur',\n\t[MarketplaceKind.magic_eden]: 'magiceden',\n};\n\ntype MarketplaceDetailsProp = {\n\toriginName: string;\n\tkind: MarketplaceKind;\n};\n\n// TODO: add support for more marketplaces and improve detection of marketplace\nexport function getMarketplaceDetails({\n\toriginName,\n\tkind,\n}: MarketplaceDetailsProp) {\n\tif (\n\t\tkind === MarketplaceKind.sequence_marketplace_v1 ||\n\t\tkind === MarketplaceKind.sequence_marketplace_v2\n\t) {\n\t\treturn MARKETPLACES.sequence;\n\t}\n\n\tlet name = originName.toLowerCase();\n\n\ttry {\n\t\t//Check if the name can be parsed as a url\n\t\tnew URL(name);\n\t\t// if it can we are naively trying to extract the root domain\n\t\tname = getRootDomain(name) || name;\n\t} catch {}\n\n\tname = name.replace(/ /g, '');\n\n\tconst details = MARKETPLACES[name];\n\n\tif (details) {\n\t\treturn details;\n\t}\n\n\tif (KIND_TO_MARKETPLACE[kind]) {\n\t\treturn MARKETPLACES[KIND_TO_MARKETPLACE[kind]];\n\t}\n}\n\nfunction getRootDomain(url: string) {\n\tconst domain = url.replace(/^(https?:\\/\\/)?(www\\.)?/, '');\n\tconst parts = domain.split('.');\n\treturn parts[parts.length - 2] || parts[0];\n}\n","import type { NetworkConfig } from '@0xsequence/network';\nimport type { Chain } from 'viem';\n\nexport const networkToWagmiChain = (network: NetworkConfig): Chain => ({\n\t...network,\n\tid: Number(network.chainId),\n\tname: network.name,\n\tnativeCurrency: { ...network.nativeToken },\n\trpcUrls: {\n\t\tdefault: {\n\t\t\thttp: [network.rpcUrl],\n\t\t},\n\t\tpublic: {\n\t\t\thttp: [network.rpcUrl],\n\t\t},\n\t},\n});\n","import * as dn from 'dnum';\nimport { formatUnits } from 'viem';\n\ntype CalculatePriceDifferencePercentageArgs = {\n\tinputPriceRaw: bigint;\n\tbasePriceRaw: bigint;\n\tdecimals: number;\n};\n\n/**\n * Calculates the percentage difference between two prices\n * @param args - Object containing input price, base price, and decimals\n * @returns The percentage difference as a string with 2 decimal places\n * @example\n * ```ts\n * const diff = calculatePriceDifferencePercentage({\n * inputPriceRaw: 1000000n,\n * basePriceRaw: 900000n,\n * decimals: 6\n * }); // Returns \"11.11\"\n * ```\n */\nexport const calculatePriceDifferencePercentage = ({\n\tinputPriceRaw,\n\tbasePriceRaw,\n\tdecimals,\n}: CalculatePriceDifferencePercentageArgs) => {\n\tconst inputPrice = Number(formatUnits(inputPriceRaw, decimals));\n\tconst basePrice = Number(formatUnits(basePriceRaw, decimals));\n\tconst difference = inputPrice - basePrice;\n\tconst percentageDifference = (difference / basePrice) * 100;\n\n\treturn percentageDifference.toFixed(2);\n};\n\n/**\n * Formats a raw price amount with the specified number of decimal places\n * @param amount - The raw price amount as a bigint\n * @param decimals - Number of decimal places to format to\n * @returns Formatted price string with proper decimal and thousands separators\n * @example\n * ```ts\n * const formatted = formatPrice(1000000n, 6); // Returns \"1.000000\"\n * ```\n */\nexport const formatPrice = (amount: bigint, decimals: number): string => {\n\tconst formattedUnits = Number(formatUnits(amount, decimals));\n\treturn formattedUnits.toLocaleString('en-US', {\n\t\tminimumFractionDigits: 0,\n\t\tmaximumFractionDigits: decimals,\n\t});\n};\n\n/**\n * Calculates the final earnings amount after applying multiple fee percentages\n * @param amount - The raw amount as a bigint (e.g., from a blockchain transaction)\n * @param decimals - The number of decimal places for the currency (e.g., 18 for ETH, 6 for USDC)\n * @param fees - Array of fee percentages to apply (e.g., [2.5, 1.0] for 2.5% and 1% fees)\n * @returns Formatted string representing the final earnings after all fees are applied\n * @throws Will return '0' if there's an error in calculation\n * @example\n * ```ts\n * const earnings = calculateEarningsAfterFees(\n * 1000000000000000000n, // 1 ETH\n * 18, // ETH decimals\n * [2.5, 1.0] // 2.5% and 1% fees\n * ); // Returns \"0.96525\" (1 ETH after 2.5% and 1% fees)\n * ```\n */\nexport const calculateEarningsAfterFees = (\n\tamount: bigint,\n\tdecimals: number,\n\tfees: number[],\n): string => {\n\ttry {\n\t\tconst decimalAmount = Number(formatUnits(amount, decimals));\n\t\tlet earnings = dn.from(decimalAmount.toString(), decimals);\n\n\t\tfor (const fee of fees) {\n\t\t\tif (fee > 0) {\n\t\t\t\tconst feeMultiplier = dn.from((1 - fee / 100).toString(), decimals);\n\t\t\t\tearnings = dn.multiply(earnings, feeMultiplier);\n\t\t\t}\n\t\t}\n\n\t\treturn dn.format(earnings, {\n\t\t\tdigits: decimals,\n\t\t\ttrailingZeros: false,\n\t\t\tlocale: 'en-US',\n\t\t});\n\t} catch (error) {\n\t\tconsole.error('Error calculating earnings after fees:', error);\n\t\treturn '0';\n\t}\n};\n\n/**\n * Formats a price amount with fee applied\n * @param amount - The raw price amount as a bigint\n * @param decimals - Number of decimal places for the currency\n * @param feePercentage - Fee percentage to apply (e.g., 3.5 for 3.5%)\n * @returns Formatted price string with fee applied and proper decimal/thousands separators\n * @example\n * ```ts\n * const priceWithFee = formatPriceWithFee(1000000n, 6, 3.5); // Returns \"1.035\"\n * ```\n */\nexport const formatPriceWithFee = (\n\tamount: bigint,\n\tdecimals: number,\n\tfeePercentage: number,\n): string => {\n\ttry {\n\t\tconst decimalAmount = Number(formatUnits(amount, decimals));\n\t\tconst price = dn.from(decimalAmount.toString(), decimals);\n\t\tconst feeMultiplier = dn.from(\n\t\t\t(1 + feePercentage / 100).toString(),\n\t\t\tdecimals,\n\t\t);\n\t\tconst totalPrice = dn.multiply(price, feeMultiplier);\n\n\t\treturn dn.format(totalPrice, {\n\t\t\tdigits: decimals,\n\t\t\ttrailingZeros: false,\n\t\t\tlocale: 'en-US',\n\t\t});\n\t} catch (error) {\n\t\tconsole.error('Error formatting price with fee:', error);\n\t\treturn '0';\n\t}\n};\n"],"mappings":";;;;;;;;AAAA,MAAa,iBAAiB,CAC7BA,SACA,YAAY,IACZ,YAAY,MACA;AACZ,KAAI,YAAY,aAAa,GAC5B,QAAO;AAER,QAAO,GAAG,QAAQ,UAAU,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,QAAQ,UAAU,QAAQ,SAAS,UAAU,EAAE;AAChG;AAED,MAAa,cAAc,CAACC,MAA0BC,eAAuB;AAC5E,KAAI,CAAC,KAAM,QAAO;CAElB,IAAI,YAAY;AAEhB,KAAI,KAAK,UAAU,YAClB,YAAY,GAAG,KAAK,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC;AAG9C,QAAO;AACP;AAED,MAAa,iBAAiB,CAAC,IAAI,IAAI,IAAI,OAAO;AACjD,QAAO,EAAE,aAAa,KAAK,EAAE,aAAa;AAC1C;;;;ACtBD,SAAgB,GAAG,GAAG,QAAsB;AAC3C,QAAO,QAAQ,KAAK,OAAO,CAAC;AAC5B;;;;ACcD,MAAMC,eAA4C;CACjD,UAAU;EACT,MAAM;EACN,aAAa;CACb;CACD,SAAS;EACR,MAAM;EACN,aAAa;CACb;CACD,WAAW;EACV,MAAM;EACN,aAAa;CACb;CACD,SAAS;EACR,MAAM;EACN,aAAa;CACb;CACD,WAAW;EACV,MAAM;EACN,aAAa;CACb;CACD,MAAM;EACL,MAAM;EACN,aAAa;CACb;CACD,MAAM;EACL,MAAM;EACN,aAAa;CACb;CACD,WAAW;EACV,MAAM;EACN,aAAa;CACb;AACD;AAED,MAAMC,sBAEF;EACF,gBAAgB,0BAA0B;EAC1C,gBAAgB,0BAA0B;EAC1C,gBAAgB,UAAU;EAC1B,gBAAgB,UAAU;EAC1B,gBAAgB,aAAa;EAC7B,gBAAgB,OAAO;EACvB,gBAAgB,OAAO;EACvB,gBAAgB,aAAa;AAC9B;AAQD,SAAgB,sBAAsB,EACrC,YACA,MACwB,EAAE;AAC1B,KACC,SAAS,gBAAgB,2BACzB,SAAS,gBAAgB,wBAEzB,QAAO,aAAa;CAGrB,IAAI,OAAO,WAAW,aAAa;AAEnC,KAAI;EAEH,IAAI,IAAI;EAER,OAAO,cAAc,KAAK,IAAI;CAC9B,QAAO,CAAE;CAEV,OAAO,KAAK,QAAQ,MAAM,GAAG;CAE7B,MAAM,UAAU,aAAa;AAE7B,KAAI,QACH,QAAO;AAGR,KAAI,oBAAoB,MACvB,QAAO,aAAa,oBAAoB;AAEzC;AAED,SAAS,cAAcC,KAAa;CACnC,MAAM,SAAS,IAAI,QAAQ,2BAA2B,GAAG;CACzD,MAAM,QAAQ,OAAO,MAAM,IAAI;AAC/B,QAAO,MAAM,MAAM,SAAS,MAAM,MAAM;AACxC;;;;AC3GD,MAAa,sBAAsB,CAACC,aAAmC;CACtE,GAAG;CACH,IAAI,OAAO,QAAQ,QAAQ;CAC3B,MAAM,QAAQ;CACd,gBAAgB,EAAE,GAAG,QAAQ,YAAa;CAC1C,SAAS;EACR,SAAS,EACR,MAAM,CAAC,QAAQ,MAAO,EACtB;EACD,QAAQ,EACP,MAAM,CAAC,QAAQ,MAAO,EACtB;CACD;AACD;;;;;;;;;;;;;;;;;ACMD,MAAa,qCAAqC,CAAC,EAClD,eACA,cACA,UACwC,KAAK;CAC7C,MAAM,aAAa,OAAO,YAAY,eAAe,SAAS,CAAC;CAC/D,MAAM,YAAY,OAAO,YAAY,cAAc,SAAS,CAAC;CAC7D,MAAM,aAAa,aAAa;CAChC,MAAM,uBAAwB,aAAa,YAAa;AAExD,QAAO,qBAAqB,QAAQ,EAAE;AACtC;;;;;;;;;;;AAYD,MAAa,cAAc,CAACC,QAAgBC,aAA6B;CACxE,MAAM,iBAAiB,OAAO,YAAY,QAAQ,SAAS,CAAC;AAC5D,QAAO,eAAe,eAAe,SAAS;EAC7C,uBAAuB;EACvB,uBAAuB;CACvB,EAAC;AACF;;;;;;;;;;;;;;;;;AAkBD,MAAa,6BAA6B,CACzCD,QACAC,UACAC,SACY;AACZ,KAAI;EACH,MAAM,gBAAgB,OAAO,YAAY,QAAQ,SAAS,CAAC;EAC3D,IAAI,WAAW,GAAG,KAAK,cAAc,UAAU,EAAE,SAAS;AAE1D,OAAK,MAAM,OAAO,KACjB,KAAI,MAAM,GAAG;GACZ,MAAM,gBAAgB,GAAG,MAAM,IAAI,MAAM,KAAK,UAAU,EAAE,SAAS;GACnE,WAAW,GAAG,SAAS,UAAU,cAAc;EAC/C;AAGF,SAAO,GAAG,OAAO,UAAU;GAC1B,QAAQ;GACR,eAAe;GACf,QAAQ;EACR,EAAC;CACF,SAAQ,OAAO;EACf,QAAQ,MAAM,0CAA0C,MAAM;AAC9D,SAAO;CACP;AACD;;;;;;;;;;;;AAaD,MAAa,qBAAqB,CACjCF,QACAC,UACAE,kBACY;AACZ,KAAI;EACH,MAAM,gBAAgB,OAAO,YAAY,QAAQ,SAAS,CAAC;EAC3D,MAAM,QAAQ,GAAG,KAAK,cAAc,UAAU,EAAE,SAAS;EACzD,MAAM,gBAAgB,GAAG,MACvB,IAAI,gBAAgB,KAAK,UAAU,EACpC,SACA;EACD,MAAM,aAAa,GAAG,SAAS,OAAO,cAAc;AAEpD,SAAO,GAAG,OAAO,YAAY;GAC5B,QAAQ;GACR,eAAe;GACf,QAAQ;EACR,EAAC;CACF,SAAQ,OAAO;EACf,QAAQ,MAAM,oCAAoC,MAAM;AACxD,SAAO;CACP;AACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-wquIhK6T.js","names":["amount: string","decimals: number"],"sources":["../src/react/ui/components/marketplace-collectible-card/utils/formatPrice.ts","../src/react/ui/components/marketplace-collectible-card/utils/supplyStatus.ts"],"sourcesContent":["import { formatUnits } from 'viem';\n\nexport const OVERFLOW_PRICE = 100000000;\nexport const UNDERFLOW_PRICE = 0.0001;\n\nexport const formatPriceNumber = (\n\tamount: string,\n\tdecimals: number,\n): {\n\tformattedNumber: string;\n\tisUnderflow: boolean;\n\tisOverflow: boolean;\n} => {\n\tconst formattedPrice = formatUnits(BigInt(amount), decimals);\n\tconst numericPrice = Number.parseFloat(formattedPrice);\n\n\tif (numericPrice < UNDERFLOW_PRICE) {\n\t\treturn {\n\t\t\tformattedNumber: UNDERFLOW_PRICE.toString(),\n\t\t\tisUnderflow: true,\n\t\t\tisOverflow: false,\n\t\t};\n\t}\n\n\tif (numericPrice > OVERFLOW_PRICE) {\n\t\treturn {\n\t\t\tformattedNumber: OVERFLOW_PRICE.toLocaleString('en-US', {\n\t\t\t\tmaximumFractionDigits: 2,\n\t\t\t}),\n\t\t\tisUnderflow: false,\n\t\t\tisOverflow: true,\n\t\t};\n\t}\n\n\tconst maxDecimals = numericPrice < 0.01 ? 6 : 4;\n\n\treturn {\n\t\tformattedNumber: numericPrice.toLocaleString('en-US', {\n\t\t\tminimumFractionDigits: 0,\n\t\t\tmaximumFractionDigits: maxDecimals,\n\t\t}),\n\t\tisUnderflow: false,\n\t\tisOverflow: false,\n\t};\n};\n","import { ContractType } from '../../../../_internal';\n\nexport const getSupplyStatusText = ({\n\tquantityRemaining,\n\tcollectionType,\n\tunlimitedSupply,\n}: {\n\tquantityRemaining: string | undefined;\n\tcollectionType: ContractType;\n\tunlimitedSupply?: boolean;\n}): string => {\n\tif (unlimitedSupply) {\n\t\treturn 'Unlimited Supply';\n\t}\n\n\tif (\n\t\tcollectionType === ContractType.ERC721 &&\n\t\tquantityRemaining === undefined\n\t) {\n\t\treturn 'Out of stock';\n\t}\n\n\tif (\n\t\tcollectionType === ContractType.ERC1155 &&\n\t\t!unlimitedSupply &&\n\t\tquantityRemaining === '0'\n\t) {\n\t\treturn 'Out of stock';\n\t}\n\n\tif (quantityRemaining && Number(quantityRemaining) > 0) {\n\t\treturn `Supply: ${quantityRemaining}`;\n\t}\n\n\treturn 'Out of stock';\n};\n"],"mappings":";;;;AAEA,MAAa,iBAAiB;AAC9B,MAAa,kBAAkB;AAE/B,MAAa,oBAAoB,CAChCA,QACAC,aAKI;CACJ,MAAM,iBAAiB,YAAY,OAAO,OAAO,EAAE,SAAS;CAC5D,MAAM,eAAe,OAAO,WAAW,eAAe;AAEtD,KAAI,eAAe,gBAClB,QAAO;EACN,iBAAiB,gBAAgB,UAAU;EAC3C,aAAa;EACb,YAAY;CACZ;AAGF,KAAI,eAAe,eAClB,QAAO;EACN,iBAAiB,eAAe,eAAe,SAAS,EACvD,uBAAuB,EACvB,EAAC;EACF,aAAa;EACb,YAAY;CACZ;CAGF,MAAM,cAAc,eAAe,MAAO,IAAI;AAE9C,QAAO;EACN,iBAAiB,aAAa,eAAe,SAAS;GACrD,uBAAuB;GACvB,uBAAuB;EACvB,EAAC;EACF,aAAa;EACb,YAAY;CACZ;AACD;;;;AC1CD,MAAa,sBAAsB,CAAC,EACnC,mBACA,gBACA,iBAKA,KAAa;AACb,KAAI,gBACH,QAAO;AAGR,KACC,mBAAmB,aAAa,UAChC,sBAAsB,OAEtB,QAAO;AAGR,KACC,mBAAmB,aAAa,WAChC,CAAC,mBACD,sBAAsB,IAEtB,QAAO;AAGR,KAAI,qBAAqB,OAAO,kBAAkB,GAAG,EACpD,QAAO,CAAC,QAAQ,EAAE,mBAAmB;AAGtC,QAAO;AACP"}
@@ -1,27 +0,0 @@
1
- import { getIndexerClient } from "./api-BmEQfSQa.js";
2
- import { TransactionReceiptNotFoundError, WaitForTransactionReceiptTimeoutError } from "viem";
3
-
4
- //#region src/react/utils/waitForTransactionReceipt.ts
5
- const ONE_MIN = 60 * 1e3;
6
- const THREE_MIN = 3 * ONE_MIN;
7
- const waitForTransactionReceipt = async ({ txHash, chainId, sdkConfig, timeout = THREE_MIN }) => {
8
- const indexer = getIndexerClient(chainId, sdkConfig);
9
- return Promise.race([new Promise((resolve, reject) => {
10
- indexer.subscribeReceipts({ filter: { txnHash: txHash } }, {
11
- onMessage: ({ receipt }) => {
12
- resolve(receipt);
13
- },
14
- onError: () => {
15
- reject(TransactionReceiptNotFoundError);
16
- }
17
- });
18
- }), new Promise((_, reject) => {
19
- setTimeout(() => {
20
- reject(WaitForTransactionReceiptTimeoutError);
21
- }, timeout);
22
- })]);
23
- };
24
-
25
- //#endregion
26
- export { waitForTransactionReceipt };
27
- //# sourceMappingURL=waitForTransactionReceipt-DZxAuR9N.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"waitForTransactionReceipt-DZxAuR9N.js","names":[],"sources":["../src/react/utils/waitForTransactionReceipt.ts"],"sourcesContent":["import type { TransactionReceipt } from '@0xsequence/indexer';\nimport {\n\ttype Hex,\n\tTransactionReceiptNotFoundError,\n\tWaitForTransactionReceiptTimeoutError,\n} from 'viem';\nimport type { SdkConfig } from '../../types';\nimport { getIndexerClient } from '../_internal/api';\n\nconst ONE_MIN = 60 * 1000;\nconst THREE_MIN = 3 * ONE_MIN;\n\nexport const waitForTransactionReceipt = async ({\n\ttxHash,\n\tchainId,\n\tsdkConfig,\n\ttimeout = THREE_MIN,\n}: {\n\ttxHash: Hex;\n\tchainId: number;\n\tsdkConfig: SdkConfig;\n\ttimeout?: number;\n}): Promise<TransactionReceipt> => {\n\tconst indexer = getIndexerClient(chainId, sdkConfig);\n\treturn Promise.race([\n\t\tnew Promise<TransactionReceipt>((resolve, reject) => {\n\t\t\tindexer.subscribeReceipts(\n\t\t\t\t{\n\t\t\t\t\tfilter: {\n\t\t\t\t\t\ttxnHash: txHash,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tonMessage: ({ receipt }) => {\n\t\t\t\t\t\tresolve(receipt);\n\t\t\t\t\t},\n\t\t\t\t\tonError: () => {\n\t\t\t\t\t\treject(TransactionReceiptNotFoundError);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t);\n\t\t}),\n\t\tnew Promise<TransactionReceipt>((_, reject) => {\n\t\t\tsetTimeout(() => {\n\t\t\t\treject(WaitForTransactionReceiptTimeoutError);\n\t\t\t}, timeout);\n\t\t}),\n\t]);\n};\n"],"mappings":";;;;AASA,MAAM,UAAU,KAAK;AACrB,MAAM,YAAY,IAAI;AAEtB,MAAa,4BAA4B,OAAO,EAC/C,QACA,SACA,WACA,UAAU,WAMV,KAAkC;CAClC,MAAM,UAAU,iBAAiB,SAAS,UAAU;AACpD,QAAO,QAAQ,KAAK,CACnB,IAAI,QAA4B,CAAC,SAAS,WAAW;EACpD,QAAQ,kBACP,EACC,QAAQ,EACP,SAAS,OACT,EACD,GACD;GACC,WAAW,CAAC,EAAE,SAAS,KAAK;IAC3B,QAAQ,QAAQ;GAChB;GACD,SAAS,MAAM;IACd,OAAO,gCAAgC;GACvC;EACD,EACD;CACD,IACD,IAAI,QAA4B,CAAC,GAAG,WAAW;EAC9C,WAAW,MAAM;GAChB,OAAO,sCAAsC;EAC7C,GAAE,QAAQ;CACX,EACD,EAAC;AACF"}
@@ -1,38 +0,0 @@
1
- import { useSwitchChain } from 'wagmi';
2
- import { ChainSwitchUserRejectedError } from '../../../utils/_internal/error/transaction';
3
- import { useSwitchChainModal } from '../../ui/modals/_internal/components/switchChainModal';
4
- import { useConnectorMetadata } from '../config/useConnectorMetadata';
5
-
6
- export const useSwitchChainWithModal = () => {
7
- const { show: showSwitchChainModal } = useSwitchChainModal();
8
- const { isWaaS } = useConnectorMetadata();
9
- const { switchChainAsync } = useSwitchChain();
10
-
11
- return {
12
- switchChainWithModal: async (
13
- currentChainId: number,
14
- targetChainId: number,
15
- ) => {
16
- const chainIdMismatch = currentChainId !== Number(targetChainId);
17
-
18
- return new Promise((resolve, reject) => {
19
- if (chainIdMismatch) {
20
- if (isWaaS) {
21
- switchChainAsync({ chainId: targetChainId })
22
- .then(resolve)
23
- .catch(reject);
24
- } else {
25
- showSwitchChainModal({
26
- chainIdToSwitchTo: targetChainId,
27
- onSuccess: () => resolve({ chainId: targetChainId }),
28
- onError: (error) => reject(error),
29
- onClose: () => reject(new ChainSwitchUserRejectedError()),
30
- });
31
- }
32
- } else {
33
- resolve({ chainId: targetChainId });
34
- }
35
- });
36
- },
37
- };
38
- };
@@ -1,343 +0,0 @@
1
- import type {
2
- ContractInfo,
3
- Page as IndexerPage,
4
- TokenBalance,
5
- } from '@0xsequence/indexer';
6
- import { infiniteQueryOptions } from '@tanstack/react-query';
7
- import type { Address } from 'viem';
8
- import { OrderSide, type Page, type SdkConfig } from '../../types';
9
- import {
10
- type CollectibleOrder,
11
- type ContractType,
12
- getIndexerClient,
13
- LaosAPI,
14
- } from '../_internal';
15
- import { fetchListCollectibles } from './listCollectibles';
16
- import { fetchMarketplaceConfig } from './marketplaceConfig';
17
-
18
- export interface UseInventoryArgs {
19
- accountAddress: Address;
20
- collectionAddress: Address;
21
- chainId: number;
22
- isLaos721?: boolean;
23
- query?: {
24
- enabled?: boolean;
25
- };
26
- }
27
-
28
- // Maintain collection state across calls
29
- interface InventoryState {
30
- seenTokenIds: Set<string>;
31
- marketplaceFinished: boolean;
32
- // Track if we've already fetched all indexer tokens
33
- indexerTokensFetched: boolean;
34
- // Store the token balances from the indexer
35
- indexerTokenBalances: Map<string, CollectibleWithBalance>;
36
- }
37
-
38
- // Store state per collection
39
- const stateByCollection = new Map<string, InventoryState>();
40
-
41
- // Test helper to clear state between tests
42
- export const clearInventoryState = () => {
43
- stateByCollection.clear();
44
- };
45
-
46
- const getCollectionKey = (args: UseInventoryArgs) =>
47
- `${args.chainId}-${args.collectionAddress}-${args.accountAddress}`;
48
-
49
- interface GetInventoryArgs extends Omit<UseInventoryArgs, 'query'> {
50
- isLaos721: boolean;
51
- }
52
-
53
- interface CollectibleWithBalance extends CollectibleOrder {
54
- balance: string;
55
- contractInfo?: ContractInfo;
56
- contractType: ContractType.ERC1155 | ContractType.ERC721;
57
- }
58
-
59
- export interface CollectiblesResponse {
60
- collectibles: CollectibleWithBalance[];
61
- page: Page;
62
- }
63
-
64
- function getOrInitState(collectionKey: string): InventoryState {
65
- if (!stateByCollection.has(collectionKey)) {
66
- stateByCollection.set(collectionKey, {
67
- seenTokenIds: new Set<string>(),
68
- marketplaceFinished: false,
69
- indexerTokensFetched: false,
70
- indexerTokenBalances: new Map(),
71
- });
72
- }
73
-
74
- // biome-ignore lint/style/noNonNullAssertion: guaranteed to exist, by the above init
75
- return stateByCollection.get(collectionKey)!;
76
- }
77
-
78
- function collectibleFromTokenBalance(
79
- token: TokenBalance,
80
- ): CollectibleWithBalance {
81
- return {
82
- metadata: {
83
- tokenId: token.tokenID ?? '',
84
- attributes: token.tokenMetadata?.attributes ?? [],
85
- image: token.tokenMetadata?.image,
86
- name: token.tokenMetadata?.name ?? '',
87
- description: token.tokenMetadata?.description,
88
- video: token.tokenMetadata?.video,
89
- audio: token.tokenMetadata?.audio,
90
- },
91
- contractInfo: token.contractInfo,
92
- contractType: token.contractType as unknown as
93
- | ContractType.ERC1155
94
- | ContractType.ERC721,
95
- balance: token.balance,
96
- };
97
- }
98
-
99
- async function fetchAllIndexerTokens(
100
- chainId: number,
101
- accountAddress: Address,
102
- collectionAddress: Address,
103
- config: SdkConfig,
104
- state: InventoryState,
105
- isLaos721: boolean,
106
- ): Promise<void> {
107
- if (isLaos721) {
108
- const laosClient = new LaosAPI();
109
- const { balances } = await laosClient.getTokenBalances({
110
- chainId: chainId.toString(),
111
- accountAddress,
112
- includeMetadata: true,
113
- contractAddress: collectionAddress,
114
- page: {
115
- sort: [
116
- {
117
- column: 'CREATED_AT',
118
- order: 'DESC',
119
- },
120
- ],
121
- },
122
- });
123
-
124
- for (const balance of balances) {
125
- if (balance.tokenID) {
126
- state.indexerTokenBalances.set(
127
- balance.tokenID,
128
- collectibleFromTokenBalance(balance),
129
- );
130
- }
131
- }
132
-
133
- state.indexerTokensFetched = true;
134
- return;
135
- }
136
-
137
- const indexerClient = getIndexerClient(chainId, config);
138
-
139
- let page: IndexerPage = {
140
- pageSize: 50,
141
- };
142
-
143
- while (true) {
144
- const { balances, page: nextPage } = await indexerClient.getTokenBalances({
145
- accountAddress,
146
- contractAddress: collectionAddress,
147
- includeMetadata: true,
148
- page: page,
149
- });
150
-
151
- for (const balance of balances) {
152
- if (balance.tokenID) {
153
- state.indexerTokenBalances.set(
154
- balance.tokenID,
155
- collectibleFromTokenBalance(balance),
156
- );
157
- }
158
- }
159
-
160
- if (!nextPage.more) {
161
- break;
162
- }
163
- page = nextPage;
164
- }
165
-
166
- state.indexerTokensFetched = true;
167
- }
168
-
169
- // Process indexer tokens that we haven't seen yet
170
- function processRemainingIndexerTokens(
171
- state: InventoryState,
172
- page: Page,
173
- ): CollectiblesResponse {
174
- const allTokens = Array.from(state.indexerTokenBalances.values());
175
-
176
- // Filter out tokens that we've already seen
177
- const newTokens = allTokens.filter(
178
- (token) => !state.seenTokenIds.has(token.metadata.tokenId),
179
- );
180
-
181
- // Calculate pagination
182
- const startIndex = (page.page - 1) * page.pageSize;
183
- const endIndex = startIndex + page.pageSize;
184
- const paginatedTokens = newTokens.slice(startIndex, endIndex);
185
-
186
- // Add new token IDs to the set
187
- for (const token of paginatedTokens) {
188
- state.seenTokenIds.add(token.metadata.tokenId);
189
- }
190
-
191
- return {
192
- collectibles: paginatedTokens,
193
- page: {
194
- page: page.page,
195
- pageSize: page.pageSize,
196
- more: endIndex < newTokens.length,
197
- },
198
- };
199
- }
200
-
201
- function processMarketplaceCollectibles(
202
- collectibles: CollectibleOrder[],
203
- state: InventoryState,
204
- page: Page,
205
- ): {
206
- enrichedCollectibles: CollectibleWithBalance[];
207
- missingTokens: CollectibleWithBalance[];
208
- } {
209
- // Add new token IDs to the set
210
- for (const c of collectibles) {
211
- state.seenTokenIds.add(c.metadata.tokenId);
212
- }
213
-
214
- // Enrich marketplace collectibles with balance data from indexer
215
- const enrichedCollectibles = collectibles.map((c: CollectibleOrder) => {
216
- const tokenId = c.metadata.tokenId;
217
- const indexerData = state.indexerTokenBalances.get(tokenId);
218
-
219
- return {
220
- ...c,
221
- balance: indexerData?.balance,
222
- contractInfo: indexerData?.contractInfo,
223
- contractType: indexerData?.contractType,
224
- } as CollectibleWithBalance;
225
- });
226
-
227
- // Check for missing tokens in the marketplace data
228
- const marketplaceTokenIds = new Set(
229
- enrichedCollectibles.map((c) => c.metadata.tokenId),
230
- );
231
-
232
- const missingTokens = Array.from(state.indexerTokenBalances.entries())
233
- .filter(([tokenId]) => !marketplaceTokenIds.has(tokenId))
234
- .map(([_, balance]) => balance)
235
- .slice(0, page.pageSize);
236
-
237
- return { enrichedCollectibles, missingTokens };
238
- }
239
-
240
- export async function fetchInventory(
241
- args: GetInventoryArgs,
242
- config: SdkConfig,
243
- page: Page,
244
- ): Promise<CollectiblesResponse> {
245
- const { accountAddress, collectionAddress, chainId, isLaos721 } = args;
246
- const collectionKey = getCollectionKey(args);
247
- const state = getOrInitState(collectionKey);
248
-
249
- // On first run, fetch all pages from the indexer
250
- if (!state.indexerTokensFetched) {
251
- await fetchAllIndexerTokens(
252
- chainId,
253
- accountAddress,
254
- collectionAddress,
255
- config,
256
- state,
257
- isLaos721,
258
- );
259
- }
260
-
261
- // If marketplace API has no more results, use the indexer data
262
- if (state.marketplaceFinished) {
263
- return processRemainingIndexerTokens(state, page);
264
- }
265
-
266
- // Fetch collectibles from marketplace API
267
- const marketplaceConfig = await fetchMarketplaceConfig({ config });
268
- const collectibles = await fetchListCollectibles(
269
- {
270
- chainId,
271
- collectionAddress,
272
- filter: {
273
- inAccounts: [accountAddress],
274
- includeEmpty: true,
275
- },
276
- side: OrderSide.listing,
277
- config,
278
- },
279
- marketplaceConfig,
280
- page,
281
- );
282
-
283
- // Process the collectibles and find missing tokens
284
- const { enrichedCollectibles, missingTokens } =
285
- processMarketplaceCollectibles(collectibles.collectibles, state, page);
286
-
287
- // If there are no more results from the marketplace API
288
- if (!collectibles.page?.more) {
289
- // Mark marketplace as finished and start using indexer data on next call
290
- state.marketplaceFinished = true;
291
- return {
292
- collectibles: [...enrichedCollectibles, ...missingTokens],
293
- page: {
294
- page: collectibles.page?.page ?? page.page,
295
- pageSize: collectibles.page?.pageSize ?? page.pageSize,
296
- more: missingTokens.length > 0,
297
- },
298
- };
299
- }
300
-
301
- return {
302
- collectibles: enrichedCollectibles,
303
- page: {
304
- page: collectibles.page?.page ?? page.page,
305
- pageSize: collectibles.page?.pageSize ?? page.pageSize,
306
- more: Boolean(collectibles.page?.more),
307
- },
308
- };
309
- }
310
-
311
- export function inventoryOptions(args: UseInventoryArgs, config: SdkConfig) {
312
- const collectionKey = getCollectionKey(args);
313
- const enabledQuery = args.query?.enabled ?? true;
314
- const enabled =
315
- enabledQuery && !!args.accountAddress && !!args.collectionAddress;
316
-
317
- return infiniteQueryOptions({
318
- queryKey: [
319
- 'inventory',
320
- args.accountAddress,
321
- args.collectionAddress,
322
- args.chainId,
323
- ],
324
- queryFn: ({ pageParam }) =>
325
- fetchInventory(
326
- {
327
- ...args,
328
- isLaos721: args.isLaos721 ?? false,
329
- },
330
- config,
331
- pageParam,
332
- ),
333
- initialPageParam: { page: 1, pageSize: 30 } as Page,
334
- getNextPageParam: (lastPage) =>
335
- lastPage.page?.more ? lastPage.page : undefined,
336
- enabled,
337
- meta: {
338
- onInvalidate: () => {
339
- stateByCollection.delete(collectionKey);
340
- },
341
- },
342
- });
343
- }