@0xsequence/marketplace-sdk 1.1.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 (397) 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/CHANGELOG.md +24 -2
  5. package/dist/{BellIcon-IpHHEy8h.js → BellIcon-ByhygxBO.js} +2 -2
  6. package/dist/{BellIcon-IpHHEy8h.js.map → BellIcon-ByhygxBO.js.map} +1 -1
  7. package/dist/{CartIcon-C8zbor8H.js → CartIcon-Bt3rQYGk.js} +3 -3
  8. package/dist/{CartIcon-C8zbor8H.js.map → CartIcon-Bt3rQYGk.js.map} +1 -1
  9. package/dist/CollectibleCard-CVpdgXA8.d.ts +8 -0
  10. package/dist/_internal-DkS2VUn5.js.map +1 -1
  11. package/dist/abi-fa-o9gH3.js +134 -0
  12. package/dist/abi-fa-o9gH3.js.map +1 -0
  13. package/dist/{alien_swap-BTJ7mSR-.js → alien_swap-DoY6XfMA.js} +1 -1
  14. package/dist/{alien_swap-BTJ7mSR-.js.map → alien_swap-DoY6XfMA.js.map} +1 -1
  15. package/dist/{api-DuLKn__v.js → api-BoO0V5aJ.js} +8 -3
  16. package/dist/api-BoO0V5aJ.js.map +1 -0
  17. package/dist/{aqua-xyz-BYJ9WSP_.js → aqua-xyz-BBDxnG14.js} +1 -1
  18. package/dist/{aqua-xyz-BYJ9WSP_.js.map → aqua-xyz-BBDxnG14.js.map} +1 -1
  19. package/dist/{aura-D7SUjgro.js → aura-DGx2zwvF.js} +1 -1
  20. package/dist/{aura-D7SUjgro.js.map → aura-DGx2zwvF.js.map} +1 -1
  21. package/dist/{blur-BcnRFCaV.js → blur-D8GKrRrq.js} +1 -1
  22. package/dist/{blur-BcnRFCaV.js.map → blur-D8GKrRrq.js.map} +1 -1
  23. package/dist/{coinbase-ChoX9Hw2.js → coinbase-DOry4PXY.js} +1 -1
  24. package/dist/{coinbase-ChoX9Hw2.js.map → coinbase-DOry4PXY.js.map} +1 -1
  25. package/dist/collectibles-C_H8jMGH.js +358 -0
  26. package/dist/collectibles-C_H8jMGH.js.map +1 -0
  27. package/dist/collections-CKummc-R.js +249 -0
  28. package/dist/collections-CKummc-R.js.map +1 -0
  29. package/dist/{components-CUv-wQr8.js → components-CosnX7F9.js} +5 -5
  30. package/dist/{components-CUv-wQr8.js.map → components-CosnX7F9.js.map} +1 -1
  31. package/dist/{contracts-D72LBOX3.js → contracts-BP_0vX48.js} +3 -3
  32. package/dist/{contracts-D72LBOX3.js.map → contracts-BP_0vX48.js.map} +1 -1
  33. package/dist/{create-config-DV_dtaLt.d.ts → create-config-ZOB7i4ZJ.d.ts} +117 -12
  34. package/dist/{element-Dbcv5qya.js → element-ciybd_VF.js} +1 -1
  35. package/dist/{element-Dbcv5qya.js.map → element-ciybd_VF.js.map} +1 -1
  36. package/dist/filters-V-V8Dn8f.d.ts +60 -0
  37. package/dist/{foundation-QPhUEUy8.js → foundation-Bq4lRz4x.js} +1 -1
  38. package/dist/{foundation-QPhUEUy8.js.map → foundation-Bq4lRz4x.js.map} +1 -1
  39. package/dist/index-BOiHR01C.d.ts +106 -0
  40. package/dist/index-BZIJTQT0.d.ts +121 -0
  41. package/dist/index-BeRV-7AX.d.ts +55 -0
  42. package/dist/{index-BaytncQc.d.ts → index-Bsx6XsC2.d.ts} +58 -55
  43. package/dist/{index-jGgfEHfQ.d.ts → index-BtWMBHeP.d.ts} +13 -9
  44. package/dist/{index-CT8ZorFd.d.ts → index-Bxzjy0d1.d.ts} +1 -1
  45. package/dist/{index-B6aSbaw2.d.ts → index-C-745li7.d.ts} +1 -1
  46. package/dist/{index-BoNNplSx.d.ts → index-C4MUKshG.d.ts} +2 -2
  47. package/dist/{index-DMBMM16q.d.ts → index-CPzvNmq9.d.ts} +35 -35
  48. package/dist/{index-D-UXGo5d.d.ts → index-CS65jqOq.d.ts} +2 -2
  49. package/dist/index-CZUtOTjh.d.ts +1 -0
  50. package/dist/index-CnEbXm_t.d.ts +130 -0
  51. package/dist/{index-CQecU53t.d.ts → index-CxA34wP1.d.ts} +32 -23
  52. package/dist/{index-C768pAfu.d.ts → index-CxpFwGvR.d.ts} +3 -3
  53. package/dist/{index-Bv5XVLjH.d.ts → index-D9LPlmbC.d.ts} +1 -1
  54. package/dist/{index-DJG0kiII.d.ts → index-DFEnA6Wa.d.ts} +28 -17
  55. package/dist/{index-B8vaT3_s.d.ts → index-DNNUeZEq.d.ts} +4 -4
  56. package/dist/{index-CXscCUg7.d.ts → index-DUXfvhxs.d.ts} +12 -12
  57. package/dist/index-DW3njUfb.d.ts +1 -0
  58. package/dist/{index-CMPUveNz.d.ts → index-DWt6yrIG.d.ts} +7 -7
  59. package/dist/index-DewGsFz5.d.ts +1 -0
  60. package/dist/{index-DLUjc7Bx.d.ts → index-DmudgrsN.d.ts} +191 -12
  61. package/dist/{index-DpeWm_vF.d.ts → index-DqXd1EeB.d.ts} +5 -5
  62. package/dist/{index-CM0ZTePs.d.ts → index-DwKr18CI.d.ts} +1 -1
  63. package/dist/{index-D6YMj82n.d.ts → index-NlPMNcqh.d.ts} +100 -100
  64. package/dist/index-Stm5u0I0.d.ts +53 -0
  65. package/dist/index-U-zp70of.d.ts +74 -0
  66. package/dist/index.d.ts +8 -8
  67. package/dist/index.js +8 -8
  68. package/dist/inventory-Dd7TazvZ.js +72 -0
  69. package/dist/inventory-Dd7TazvZ.js.map +1 -0
  70. package/dist/listBalances-BxpxBCvn.js +57 -0
  71. package/dist/listBalances-BxpxBCvn.js.map +1 -0
  72. package/dist/listCollectiblesPaginated-Cy2_qEZA.d.ts +327 -0
  73. package/dist/{listCollections-dTCq00l5.d.ts → listCollections-BB9FxKj2.d.ts} +193 -111
  74. package/dist/{looks-rare-C7cQztTR.js → looks-rare-6H--x3AM.js} +1 -1
  75. package/dist/{looks-rare-C7cQztTR.js.map → looks-rare-6H--x3AM.js.map} +1 -1
  76. package/dist/lowestListing-Cbsi6M1K.d.ts +465 -0
  77. package/dist/{magic-eden-D3r7jiBG.js → magic-eden-BoxEQ1Li.js} +1 -1
  78. package/dist/{magic-eden-D3r7jiBG.js.map → magic-eden-BoxEQ1Li.js.map} +1 -1
  79. package/dist/{manifold-DsX0CBP-.js → manifold-DycKsljb.js} +1 -1
  80. package/dist/{manifold-DsX0CBP-.js.map → manifold-DycKsljb.js.map} +1 -1
  81. package/dist/market-C3HV-awQ.js +209 -0
  82. package/dist/market-C3HV-awQ.js.map +1 -0
  83. package/dist/{marketCurrencies-Bzj8X4TL.d.ts → marketCurrencies-Bpw1bIO0.d.ts} +46 -15
  84. package/dist/marketCurrencies-sKrTX0og.js +53 -0
  85. package/dist/marketCurrencies-sKrTX0og.js.map +1 -0
  86. package/dist/{marketplace-BYY8OloA.js → marketplace-NQB-sEQL.js} +1 -1
  87. package/dist/{marketplace-BYY8OloA.js.map → marketplace-NQB-sEQL.js.map} +1 -1
  88. package/dist/{marketplace-logos-Csv2MBwf.js → marketplace-logos-D4dS1Foy.js} +21 -21
  89. package/dist/{marketplace-logos-Csv2MBwf.js.map → marketplace-logos-D4dS1Foy.js.map} +1 -1
  90. package/dist/{marketplace.gen-w2YvbEEo.js → marketplace.gen-ksUafDqS.js} +56 -5
  91. package/dist/marketplace.gen-ksUafDqS.js.map +1 -0
  92. package/dist/{marketplaceConfig-BTy75Mbf.js → marketplaceConfig-UHQMM9fq.js} +3 -3
  93. package/dist/marketplaceConfig-UHQMM9fq.js.map +1 -0
  94. package/dist/{mintify-DiOoDmO1.js → mintify-Dyqyo8jQ.js} +1 -1
  95. package/dist/{mintify-DiOoDmO1.js.map → mintify-Dyqyo8jQ.js.map} +1 -1
  96. package/dist/{nftx-CP82jNra.js → nftx-2LbFjj9Q.js} +1 -1
  97. package/dist/{nftx-CP82jNra.js.map → nftx-2LbFjj9Q.js.map} +1 -1
  98. package/dist/{okx-p9-4xRjs.js → okx-CBEWJNsR.js} +1 -1
  99. package/dist/{okx-p9-4xRjs.js.map → okx-CBEWJNsR.js.map} +1 -1
  100. package/dist/{open-sea-D2GwAmKS.js → open-sea-Dxntz_PA.js} +1 -1
  101. package/dist/{open-sea-D2GwAmKS.js.map → open-sea-Dxntz_PA.js.map} +1 -1
  102. package/dist/orders-DnFfZAXV.js +462 -0
  103. package/dist/orders-DnFfZAXV.js.map +1 -0
  104. package/dist/{primary-sale-DOmNDq2P.js → primary-sale-1u4QlPdA.js} +1 -1
  105. package/dist/{primary-sale-DOmNDq2P.js.map → primary-sale-1u4QlPdA.js.map} +1 -1
  106. package/dist/primary-sales-Dmsi6bqj.js +114 -0
  107. package/dist/primary-sales-Dmsi6bqj.js.map +1 -0
  108. package/dist/{query-BG-MA1MB.d.ts → query-BWbCsXLY.d.ts} +1 -1
  109. package/dist/{rarible-DqiiW9ki.js → rarible-CS0SupHr.js} +1 -1
  110. package/dist/{rarible-DqiiW9ki.js.map → rarible-CS0SupHr.js.map} +1 -1
  111. package/dist/react/_internal/api/index.d.ts +2 -2
  112. package/dist/react/_internal/api/index.js +3 -3
  113. package/dist/react/_internal/databeat/index.d.ts +1 -1
  114. package/dist/react/_internal/databeat/index.js +28 -17
  115. package/dist/react/_internal/index.d.ts +2 -2
  116. package/dist/react/_internal/index.js +3 -3
  117. package/dist/react/_internal/wagmi/index.d.ts +1 -1
  118. package/dist/react/hooks/config/index.d.ts +8 -8
  119. package/dist/react/hooks/config/index.js +28 -17
  120. package/dist/react/hooks/contracts/index.d.ts +6 -6
  121. package/dist/react/hooks/contracts/index.js +7 -7
  122. package/dist/react/hooks/data/collectibles/index.d.ts +10 -4
  123. package/dist/react/hooks/data/collectibles/index.js +28 -17
  124. package/dist/react/hooks/data/collections/index.d.ts +10 -10
  125. package/dist/react/hooks/data/collections/index.js +28 -17
  126. package/dist/react/hooks/data/index.d.ts +37 -29
  127. package/dist/react/hooks/data/index.js +29 -18
  128. package/dist/react/hooks/data/inventory/index.d.ts +36 -28
  129. package/dist/react/hooks/data/inventory/index.js +28 -17
  130. package/dist/react/hooks/data/market/index.d.ts +11 -5
  131. package/dist/react/hooks/data/market/index.js +28 -17
  132. package/dist/react/hooks/data/orders/index.d.ts +11 -5
  133. package/dist/react/hooks/data/orders/index.js +29 -18
  134. package/dist/react/hooks/data/primary-sales/index.d.ts +36 -28
  135. package/dist/react/hooks/data/primary-sales/index.js +28 -17
  136. package/dist/react/hooks/data/tokens/index.d.ts +4 -4
  137. package/dist/react/hooks/data/tokens/index.js +28 -17
  138. package/dist/react/hooks/index.d.ts +37 -29
  139. package/dist/react/hooks/index.js +29 -18
  140. package/dist/react/hooks/transactions/index.d.ts +2 -2
  141. package/dist/react/hooks/transactions/index.js +28 -17
  142. package/dist/react/hooks/ui/index.d.ts +4 -4
  143. package/dist/react/hooks/ui/index.js +28 -17
  144. package/dist/react/hooks/utils/index.d.ts +36 -28
  145. package/dist/react/hooks/utils/index.js +28 -17
  146. package/dist/react/index.d.ts +37 -29
  147. package/dist/react/index.js +29 -18
  148. package/dist/react/queries/collectibles/index.d.ts +11 -0
  149. package/dist/react/queries/collectibles/index.js +23 -0
  150. package/dist/react/queries/collections/index.d.ts +11 -0
  151. package/dist/react/queries/collections/index.js +20 -0
  152. package/dist/react/queries/index.d.ts +24 -16
  153. package/dist/react/queries/index.js +22 -11
  154. package/dist/react/queries/inventory/index.d.ts +3 -0
  155. package/dist/react/queries/inventory/index.js +22 -0
  156. package/dist/react/queries/market/index.d.ts +6 -0
  157. package/dist/react/queries/market/index.js +22 -0
  158. package/dist/react/queries/orders/index.d.ts +11 -0
  159. package/dist/react/queries/orders/index.js +13 -0
  160. package/dist/react/queries/primary-sales/index.d.ts +4 -0
  161. package/dist/react/queries/primary-sales/index.js +13 -0
  162. package/dist/react/queries/tokens/index.d.ts +5 -0
  163. package/dist/react/queries/tokens/index.js +14 -0
  164. package/dist/react/queries/utils/index.d.ts +4 -0
  165. package/dist/react/queries/utils/index.js +22 -0
  166. package/dist/react/ssr/index.d.ts +7 -7
  167. package/dist/react/ssr/index.js +3 -3
  168. package/dist/react/ssr/index.js.map +1 -1
  169. package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.d.ts +2 -2
  170. package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.js +11 -11
  171. package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.d.ts +5 -5
  172. package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.js +28 -17
  173. package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +4 -4
  174. package/dist/react/ui/components/marketplace-collectible-card/index.js +28 -17
  175. package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +2 -2
  176. package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +3 -3
  177. package/dist/react/ui/components/marketplace-logos/index.d.ts +21 -21
  178. package/dist/react/ui/components/marketplace-logos/index.js +1 -1
  179. package/dist/react/ui/icons/index.js +9 -9
  180. package/dist/react/ui/index.d.ts +4 -4
  181. package/dist/react/ui/index.js +28 -17
  182. package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +2 -2
  183. package/dist/react/ui/modals/_internal/components/actionModal/index.js +28 -17
  184. package/dist/react/utils/index.d.ts +3 -3
  185. package/dist/react/utils/index.js +3 -3
  186. package/dist/{react-BLJ4DkPx.js → react-DE852KeT.js} +1365 -172
  187. package/dist/react-DE852KeT.js.map +1 -0
  188. package/dist/{sequence-Bbb-TFKg.js → sequence-paCCener.js} +1 -1
  189. package/dist/{sequence-Bbb-TFKg.js.map → sequence-paCCener.js.map} +1 -1
  190. package/dist/styles/index.css +154 -0
  191. package/dist/{sudo-swap-CEPIM3Js.js → sudo-swap-9rH2EgfT.js} +1 -1
  192. package/dist/{sudo-swap-CEPIM3Js.js.map → sudo-swap-9rH2EgfT.js.map} +1 -1
  193. package/dist/{super-rare-CMEn9PoO.js → super-rare-DHIuWtRw.js} +1 -1
  194. package/dist/{super-rare-CMEn9PoO.js.map → super-rare-DHIuWtRw.js.map} +1 -1
  195. package/dist/{token-CcyLz8Z8.js → token-Cv7l2ZaL.js} +1 -1
  196. package/dist/{token-CcyLz8Z8.js.map → token-Cv7l2ZaL.js.map} +1 -1
  197. package/dist/tokenBalances-ibDerNmM.js +63 -0
  198. package/dist/tokenBalances-ibDerNmM.js.map +1 -0
  199. package/dist/tokenSupplies-Bfe8RHzI.d.ts +272 -0
  200. package/dist/tokens-cGxMadd8.js +194 -0
  201. package/dist/tokens-cGxMadd8.js.map +1 -0
  202. package/dist/types/index.d.ts +1 -1
  203. package/dist/types/index.js +1 -1
  204. package/dist/{types-D6LkVrF0.d.ts → types-D2TJ1dwv.d.ts} +3 -2
  205. package/dist/utils/abi/index.d.ts +5 -5
  206. package/dist/utils/abi/index.js +5 -5
  207. package/dist/utils/abi/marketplace/index.d.ts +1 -1
  208. package/dist/utils/abi/marketplace/index.js +1 -1
  209. package/dist/utils/abi/primary-sale/index.d.ts +1 -1
  210. package/dist/utils/abi/primary-sale/index.js +1 -1
  211. package/dist/utils/abi/token/index.d.ts +1 -1
  212. package/dist/utils/abi/token/index.js +1 -1
  213. package/dist/utils/index.d.ts +7 -7
  214. package/dist/utils/index.js +8 -8
  215. package/dist/utils-BCgNhBFR.js +112 -0
  216. package/dist/utils-BCgNhBFR.js.map +1 -0
  217. package/dist/{utils-BZEkdqWK.js → utils-BfpDVibN.js} +3 -3
  218. package/dist/{utils-BZEkdqWK.js.map → utils-BfpDVibN.js.map} +1 -1
  219. package/dist/{utils-oVZxdK0o.js → utils-BqxcalL2.js} +2 -2
  220. package/dist/{utils-oVZxdK0o.js.map → utils-BqxcalL2.js.map} +1 -1
  221. package/dist/waitForTransactionReceipt-DieAnV52.js +25 -0
  222. package/dist/waitForTransactionReceipt-DieAnV52.js.map +1 -0
  223. package/dist/{x2y2-DNe6JgtG.js → x2y2-45WDooeh.js} +1 -1
  224. package/dist/{x2y2-DNe6JgtG.js.map → x2y2-45WDooeh.js.map} +1 -1
  225. package/dist/{zora-w0Zqxxs4.js → zora-CbeBoLvQ.js} +1 -1
  226. package/dist/{zora-w0Zqxxs4.js.map → zora-CbeBoLvQ.js.map} +1 -1
  227. package/package.json +10 -5
  228. package/src/react/_internal/api/__mocks__/marketplace.msw.ts +2 -0
  229. package/src/react/_internal/api/marketplace.gen.ts +1730 -2383
  230. package/src/react/_internal/api/query-keys.ts +14 -0
  231. package/src/react/_internal/api/services.ts +1 -1
  232. package/src/react/_internal/databeat/types.ts +1 -0
  233. package/src/react/_internal/types.ts +14 -0
  234. package/src/react/_internal/utils.ts +3 -0
  235. package/src/react/hooks/config/useMarketplaceConfig.tsx +1 -1
  236. package/src/react/hooks/data/collectibles/useBalanceOfCollectible.tsx +1 -1
  237. package/src/react/hooks/data/collectibles/useCollectible.tsx +1 -1
  238. package/src/react/hooks/data/collectibles/useCountOfCollectables.tsx +1 -1
  239. package/src/react/hooks/data/collectibles/useListCollectibleActivities.tsx +1 -1
  240. package/src/react/hooks/data/collectibles/useListCollectibles.tsx +1 -1
  241. package/src/react/hooks/data/collectibles/useListCollectiblesPaginated.tsx +1 -1
  242. package/src/react/hooks/data/collectibles/useTokenBalances.tsx +1 -1
  243. package/src/react/hooks/data/collections/useCollection.tsx +1 -1
  244. package/src/react/hooks/data/collections/useCollectionBalanceDetails.tsx +1 -1
  245. package/src/react/hooks/data/collections/useCollectionDetails.ts +1 -1
  246. package/src/react/hooks/data/collections/useListCollectionActivities.tsx +1 -1
  247. package/src/react/hooks/data/collections/useListCollections.tsx +1 -1
  248. package/src/react/hooks/data/inventory/useInventory.tsx +1 -1
  249. package/src/react/hooks/data/market/useCurrency.tsx +1 -1
  250. package/src/react/hooks/data/market/useListMarketCardData.tsx +7 -0
  251. package/src/react/hooks/data/market/useMarketCurrencies.tsx +1 -1
  252. package/src/react/hooks/data/orders/index.ts +4 -0
  253. package/src/react/hooks/data/orders/useCountItemsOrdersForCollection.tsx +90 -0
  254. package/src/react/hooks/data/orders/useCountListingsForCollectible.tsx +1 -1
  255. package/src/react/hooks/data/orders/useCountOffersForCollectible.tsx +1 -1
  256. package/src/react/hooks/data/orders/useFloorOrder.tsx +1 -1
  257. package/src/react/hooks/data/orders/useGetCountOfFilteredOrders.tsx +39 -0
  258. package/src/react/hooks/data/orders/useHighestOffer.tsx +1 -1
  259. package/src/react/hooks/data/orders/useListItemsOrdersForCollection.tsx +93 -0
  260. package/src/react/hooks/data/orders/useListItemsOrdersForCollectionPaginated.tsx +108 -0
  261. package/src/react/hooks/data/orders/useListListingsForCollectible.tsx +1 -1
  262. package/src/react/hooks/data/orders/useListOffersForCollectible.tsx +1 -1
  263. package/src/react/hooks/data/orders/useLowestListing.tsx +1 -1
  264. package/src/react/hooks/data/primary-sales/useGetCountOfPrimarySaleItems.tsx +2 -2
  265. package/src/react/hooks/data/primary-sales/useListPrimarySaleItems.tsx +1 -1
  266. package/src/react/hooks/data/tokens/useGetTokenRanges.tsx +2 -2
  267. package/src/react/hooks/data/tokens/useListBalances.tsx +2 -2
  268. package/src/react/hooks/data/tokens/useListTokenMetadata.tsx +1 -1
  269. package/src/react/hooks/data/tokens/useSearchTokenMetadata.tsx +1 -1
  270. package/src/react/hooks/data/tokens/useTokenSupplies.ts +1 -1
  271. package/src/react/hooks/transactions/useGenerateCancelTransaction.test.tsx +1 -0
  272. package/src/react/hooks/transactions/useGenerateListingTransaction.test.tsx +13 -0
  273. package/src/react/hooks/transactions/useGenerateOfferTransaction.test.tsx +1 -0
  274. package/src/react/hooks/transactions/useGenerateSellTransaction.test.tsx +6 -0
  275. package/src/react/hooks/ui/useFilterState.tsx +72 -2
  276. package/src/react/hooks/ui/useFilters.tsx +1 -1
  277. package/src/react/hooks/utils/useCheckoutOptions.tsx +2 -2
  278. package/src/react/hooks/utils/useCheckoutOptionsSalesContract.tsx +1 -1
  279. package/src/react/hooks/utils/useComparePrices.tsx +1 -1
  280. package/src/react/hooks/utils/useConvertPriceToUSD.tsx +1 -1
  281. package/src/react/providers/analytics-provider.tsx +45 -0
  282. package/src/react/providers/index.tsx +30 -41
  283. package/src/react/providers/modal-provider.tsx +13 -2
  284. package/src/react/queries/{__tests__ → collectibles/__tests__}/balanceOfCollectible.laos.test.ts +1 -1
  285. package/src/react/queries/{__tests__ → collectibles/__tests__}/tokenBalances.laos.test.ts +1 -1
  286. package/src/react/queries/{balanceOfCollectible.ts → collectibles/balanceOfCollectible.ts} +24 -3
  287. package/src/react/queries/{collectible.ts → collectibles/collectible.ts} +20 -5
  288. package/src/react/queries/{countOfCollectables.ts → collectibles/countOfCollectables.ts} +32 -6
  289. package/src/react/queries/collectibles/index.ts +7 -0
  290. package/src/react/queries/{listCollectibleActivities.ts → collectibles/listCollectibleActivities.ts} +29 -5
  291. package/src/react/queries/{listCollectibles.ts → collectibles/listCollectibles.ts} +28 -9
  292. package/src/react/queries/{listCollectiblesPaginated.ts → collectibles/listCollectiblesPaginated.ts} +22 -5
  293. package/src/react/queries/{tokenBalances.ts → collectibles/tokenBalances.ts} +21 -3
  294. package/src/react/queries/{collection.ts → collections/collection.ts} +19 -5
  295. package/src/react/queries/{collectionBalanceDetails.ts → collections/collectionBalanceDetails.ts} +19 -4
  296. package/src/react/queries/{collectionDetails.ts → collections/collectionDetails.ts} +21 -6
  297. package/src/react/queries/collections/index.ts +5 -0
  298. package/src/react/queries/{listCollectionActivities.ts → collections/listCollectionActivities.ts} +28 -6
  299. package/src/react/queries/{listCollections.ts → collections/listCollections.ts} +17 -6
  300. package/src/react/queries/index.ts +7 -34
  301. package/src/react/queries/{__tests__ → inventory/__tests__}/inventory.laos.test.ts +4 -4
  302. package/src/react/queries/inventory/index.ts +1 -0
  303. package/src/react/queries/{inventory.ts → inventory/inventory.ts} +11 -5
  304. package/src/react/queries/{checkoutOptions.ts → market/checkoutOptions.ts} +28 -6
  305. package/src/react/queries/{checkoutOptionsSalesContract.ts → market/checkoutOptionsSalesContract.ts} +24 -5
  306. package/src/react/queries/{currency.ts → market/currency.ts} +13 -4
  307. package/src/react/queries/{filters.ts → market/filters.ts} +25 -6
  308. package/src/react/queries/market/index.ts +6 -0
  309. package/src/react/queries/{marketCurrencies.ts → market/marketCurrencies.ts} +24 -5
  310. package/src/react/queries/{marketplaceConfig.ts → market/marketplaceConfig.ts} +5 -5
  311. package/src/react/queries/orders/countItemsOrdersForCollection.ts +86 -0
  312. package/src/react/queries/{countListingsForCollectible.ts → orders/countListingsForCollectible.ts} +23 -6
  313. package/src/react/queries/{countOffersForCollectible.ts → orders/countOffersForCollectible.ts} +23 -6
  314. package/src/react/queries/{floorOrder.ts → orders/floorOrder.ts} +15 -4
  315. package/src/react/queries/orders/getCountOfFilteredOrders.ts +88 -0
  316. package/src/react/queries/{highestOffer.ts → orders/highestOffer.ts} +16 -4
  317. package/src/react/queries/orders/index.ts +11 -0
  318. package/src/react/queries/orders/listItemsOrdersForCollection.ts +90 -0
  319. package/src/react/queries/orders/listItemsOrdersForCollectionPaginated.ts +90 -0
  320. package/src/react/queries/{listListingsForCollectible.ts → orders/listListingsForCollectible.ts} +20 -5
  321. package/src/react/queries/{listOffersForCollectible.ts → orders/listOffersForCollectible.ts} +20 -5
  322. package/src/react/queries/{lowestListing.ts → orders/lowestListing.ts} +16 -4
  323. package/src/react/queries/{countOfPrimarySaleItems.ts → primary-sales/countOfPrimarySaleItems.ts} +17 -3
  324. package/src/react/queries/primary-sales/index.ts +3 -0
  325. package/src/react/queries/{primarySaleItems.ts → primary-sales/primarySaleItems.ts} +18 -4
  326. package/src/react/queries/{primarySaleItemsCount.ts → primary-sales/primarySaleItemsCount.ts} +19 -4
  327. package/src/react/queries/{getTokenRanges.ts → tokens/getTokenRanges.ts} +17 -4
  328. package/src/react/queries/tokens/index.ts +5 -0
  329. package/src/react/queries/{listBalances.ts → tokens/listBalances.ts} +18 -3
  330. package/src/react/queries/{listTokenMetadata.ts → tokens/listTokenMetadata.ts} +18 -4
  331. package/src/react/queries/{searchTokenMetadata.ts → tokens/searchTokenMetadata.ts} +18 -4
  332. package/src/react/queries/{tokenSupplies.ts → tokens/tokenSupplies.ts} +16 -4
  333. package/src/react/queries/{comparePrices.ts → utils/comparePrices.ts} +16 -4
  334. package/src/react/queries/{convertPriceToUSD.ts → utils/convertPriceToUSD.ts} +18 -5
  335. package/src/react/queries/utils/index.ts +2 -0
  336. package/src/react/ssr/create-ssr-client.ts +1 -1
  337. package/src/react/ui/components/_internals/ErrorLogBox.tsx +85 -0
  338. package/src/react/ui/components/_internals/action-button/ActionButton.tsx +4 -0
  339. package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +4 -0
  340. package/src/react/ui/components/marketplace-collectible-card/components/ActionButtonWrapper.tsx +3 -0
  341. package/src/react/ui/components/marketplace-collectible-card/types.ts +1 -0
  342. package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +3 -0
  343. package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +2 -0
  344. package/src/react/ui/modals/BuyModal/components/ERC1155BuyModal.tsx +65 -3
  345. package/src/react/ui/modals/BuyModal/components/ERC721BuyModal.tsx +31 -0
  346. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC721SalePaymentParams.test.tsx +20 -1
  347. package/src/react/ui/modals/BuyModal/hooks/useERC1155Checkout.ts +7 -2
  348. package/src/react/ui/modals/BuyModal/hooks/useERC721SalePaymentParams.ts +12 -3
  349. package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +11 -2
  350. package/src/react/ui/modals/BuyModal/store.ts +3 -0
  351. package/src/react/ui/modals/CreateListingModal/Modal.tsx +63 -24
  352. package/src/react/ui/modals/CreateListingModal/__tests__/Modal.test.tsx +4 -0
  353. package/src/react/ui/modals/CreateListingModal/hooks/useCreateListing.tsx +18 -12
  354. package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +4 -1
  355. package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +1 -0
  356. package/src/react/ui/modals/MakeOfferModal/Modal.tsx +55 -8
  357. package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +10 -0
  358. package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +4 -1
  359. package/src/react/ui/modals/MakeOfferModal/hooks/useMakeOffer.tsx +15 -26
  360. package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +1 -0
  361. package/src/react/ui/modals/SellModal/Modal.tsx +21 -3
  362. package/src/react/ui/modals/SellModal/__tests__/Modal.test.tsx +2 -0
  363. package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +3 -1
  364. package/src/react/ui/modals/SellModal/hooks/useSell.tsx +13 -7
  365. package/src/react/ui/modals/SuccessfulPurchaseModal/__tests__/Modal.test.tsx +9 -0
  366. package/src/react/ui/modals/_internal/components/calendarDropdown/TimeSelector.tsx +105 -0
  367. package/src/react/ui/modals/_internal/components/calendarDropdown/index.tsx +45 -12
  368. package/src/react/ui/modals/_internal/components/calendarDropdown/overrides.css +39 -0
  369. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +31 -10
  370. package/src/react/ui/modals/_internal/components/expirationDateSelect/index.tsx +18 -9
  371. package/src/react/ui/modals/_internal/components/priceInput/index.tsx +51 -1
  372. package/src/react/ui/modals/_internal/components/transactionDetails/index.tsx +58 -10
  373. package/src/react/ui/modals/_internal/constants/opensea-currencies.ts +481 -0
  374. package/src/react/utils/waitForTransactionReceipt.ts +26 -32
  375. package/src/styles/index.css +1 -0
  376. package/src/styles/styles.ts +155 -1
  377. package/src/types/index.ts +1 -1
  378. package/src/utils/abi/index.ts +1 -0
  379. package/src/utils/abi/mainModule.ts +158 -0
  380. package/dist/CollectibleCard-C2EWF0zo.d.ts +0 -8
  381. package/dist/api-DuLKn__v.js.map +0 -1
  382. package/dist/filters-zkMJaPey.d.ts +0 -31
  383. package/dist/index-Yobo6icm.d.ts +0 -234
  384. package/dist/listCollectiblesPaginated-Bq0QSOjJ.d.ts +0 -168
  385. package/dist/lowestListing-CB5Te-Q9.d.ts +0 -168
  386. package/dist/marketplace.gen-w2YvbEEo.js.map +0 -1
  387. package/dist/marketplaceConfig-BTy75Mbf.js.map +0 -1
  388. package/dist/queries-EMA5CcwY.js +0 -1399
  389. package/dist/queries-EMA5CcwY.js.map +0 -1
  390. package/dist/react-BLJ4DkPx.js.map +0 -1
  391. package/dist/react-F03jPjPk.css +0 -80
  392. package/dist/react-F03jPjPk.css.map +0 -1
  393. package/dist/tokenSupplies-C470zTT0.d.ts +0 -147
  394. package/dist/waitForTransactionReceipt-B08YZiDY.js +0 -26
  395. package/dist/waitForTransactionReceipt-B08YZiDY.js.map +0 -1
  396. /package/dist/{index-Cg5cFzs-.d.ts → index-6wsMChsg.d.ts} +0 -0
  397. /package/dist/{abi-DYsUABe6.js → queries-KOcILNJO.js} +0 -0
@@ -4,8 +4,13 @@ import { NumericInput, Text } from '@0xsequence/design-system';
4
4
  import { useEffect, useRef, useState } from 'react';
5
5
  import { type Address, parseUnits } from 'viem';
6
6
  import { useAccount } from 'wagmi';
7
- import type { Currency, Price } from '../../../../../../types';
7
+ import {
8
+ type Currency,
9
+ OrderbookKind,
10
+ type Price,
11
+ } from '../../../../../../types';
8
12
  import { cn } from '../../../../../../utils';
13
+ import { useConvertPriceToUSD } from '../../../../../hooks';
9
14
  import { useCurrencyBalance } from '../../../../../hooks/data/tokens/useCurrencyBalance';
10
15
  import CurrencyImage from '../currencyImage';
11
16
  import CurrencyOptionsSelect from '../currencyOptionsSelect';
@@ -23,6 +28,9 @@ type PriceInputProps = {
23
28
  callback: (state: boolean) => void;
24
29
  };
25
30
  disabled?: boolean;
31
+ orderbookKind?: OrderbookKind;
32
+ setOpenseaLowestPriceCriteriaMet?: (state: boolean) => void;
33
+ modalType?: 'listing' | 'offer';
26
34
  };
27
35
 
28
36
  export default function PriceInput({
@@ -35,6 +43,9 @@ export default function PriceInput({
35
43
  secondCurrencyAsDefault,
36
44
  includeNativeCurrency,
37
45
  disabled,
46
+ orderbookKind,
47
+ setOpenseaLowestPriceCriteriaMet,
48
+ modalType,
38
49
  }: PriceInputProps) {
39
50
  const { address: accountAddress } = useAccount();
40
51
  const inputRef = useRef<HTMLInputElement>(null);
@@ -49,6 +60,20 @@ export default function PriceInput({
49
60
  }
50
61
  };
51
62
 
63
+ const { data: conversion, isLoading: isConversionLoading } =
64
+ useConvertPriceToUSD({
65
+ chainId,
66
+ currencyAddress: currencyAddress as Address,
67
+ amountRaw: priceAmountRaw,
68
+ query: {
69
+ enabled:
70
+ orderbookKind === OrderbookKind.opensea &&
71
+ !!currencyAddress &&
72
+ !!priceAmountRaw &&
73
+ !!setOpenseaLowestPriceCriteriaMet,
74
+ },
75
+ });
76
+
52
77
  useEffect(() => {
53
78
  if (inputRef.current) {
54
79
  inputRef.current.focus();
@@ -68,10 +93,19 @@ export default function PriceInput({
68
93
  !!currencyDecimals &&
69
94
  BigInt(priceAmountRaw) > BigInt(balance?.value || 0n);
70
95
 
96
+ const openseaLowestPriceCriteriaMet =
97
+ orderbookKind === OrderbookKind.opensea &&
98
+ !!conversion?.usdAmount &&
99
+ conversion.usdAmount >= 0.01;
100
+
71
101
  if (checkBalance?.enabled) {
72
102
  checkBalance.callback(balanceError);
73
103
  }
74
104
 
105
+ if (setOpenseaLowestPriceCriteriaMet) {
106
+ setOpenseaLowestPriceCriteriaMet(openseaLowestPriceCriteriaMet);
107
+ }
108
+
75
109
  const [value, setValue] = useState('0');
76
110
  const prevCurrencyDecimals = useRef(currencyDecimals);
77
111
 
@@ -143,6 +177,8 @@ export default function PriceInput({
143
177
  chainId={chainId}
144
178
  secondCurrencyAsDefault={secondCurrencyAsDefault}
145
179
  includeNativeCurrency={includeNativeCurrency}
180
+ orderbookKind={orderbookKind}
181
+ modalType={modalType}
146
182
  />
147
183
  }
148
184
  value={value}
@@ -158,6 +194,20 @@ export default function PriceInput({
158
194
  Insufficient balance
159
195
  </Text>
160
196
  )}
197
+
198
+ {!balanceError &&
199
+ priceAmountRaw !== '0' &&
200
+ !openseaLowestPriceCriteriaMet &&
201
+ orderbookKind === OrderbookKind.opensea &&
202
+ !isConversionLoading &&
203
+ modalType === 'offer' && (
204
+ <Text
205
+ className="-bottom-5 absolute font-body font-medium text-xs"
206
+ color="negative"
207
+ >
208
+ Lowest price must be at least $0.01
209
+ </Text>
210
+ )}
161
211
  </div>
162
212
  );
163
213
  }
@@ -1,6 +1,13 @@
1
1
  'use client';
2
2
 
3
- import { Image, Skeleton, Text } from '@0xsequence/design-system';
3
+ import {
4
+ ChevronRightIcon,
5
+ Image,
6
+ Skeleton,
7
+ Text,
8
+ Tooltip,
9
+ } from '@0xsequence/design-system';
10
+ import { useEffect, useState } from 'react';
4
11
  import type { Address } from 'viem';
5
12
  import { DEFAULT_MARKETPLACE_FEE_PERCENTAGE } from '../../../../../../consts';
6
13
  import type { Price } from '../../../../../../types';
@@ -40,28 +47,50 @@ export default function TransactionDetails({
40
47
  collectionAddress,
41
48
  collectibleId,
42
49
  });
50
+ const [overflow, setOverflow] = useState({
51
+ status: false,
52
+ amount: '0',
53
+ });
43
54
 
44
55
  const priceLoading = !price || marketplaceConfigLoading || royaltyLoading;
45
56
 
46
- let formattedAmount = '0';
57
+ const [formattedAmount, setFormattedAmount] = useState('0');
47
58
 
48
- if (price) {
49
- const fees: number[] = [];
59
+ useEffect(() => {
60
+ if (!price || royaltyLoading || marketplaceConfigLoading) return;
50
61
 
62
+ const fees: number[] = [];
51
63
  if (royalty !== null) {
52
64
  fees.push(Number(royalty.percentage));
53
65
  }
54
-
55
66
  if (marketplaceFeePercentage > 0) {
56
67
  fees.push(marketplaceFeePercentage);
57
68
  }
58
-
59
- formattedAmount = calculateEarningsAfterFees(
69
+ const newFormattedAmount = calculateEarningsAfterFees(
60
70
  BigInt(price.amountRaw),
61
71
  price.currency.decimals,
62
72
  fees,
63
73
  );
64
- }
74
+ setFormattedAmount(newFormattedAmount);
75
+ }, [
76
+ price,
77
+ royalty,
78
+ marketplaceFeePercentage,
79
+ royaltyLoading,
80
+ marketplaceConfigLoading,
81
+ ]);
82
+
83
+ useEffect(() => {
84
+ if (formattedAmount.length > 15) {
85
+ setOverflow((prev) =>
86
+ prev.status
87
+ ? prev
88
+ : { status: true, amount: formattedAmount.slice(0, 15) },
89
+ );
90
+ } else {
91
+ setOverflow({ status: false, amount: formattedAmount });
92
+ }
93
+ }, [formattedAmount]);
65
94
 
66
95
  return (
67
96
  <div className="flex w-full items-center justify-between">
@@ -75,8 +104,27 @@ export default function TransactionDetails({
75
104
  <Skeleton className="h-4 w-24 animate-shimmer" />
76
105
  ) : (
77
106
  <Text className="font-body font-medium text-xs" color={'text100'}>
78
- {showPlaceholderPrice ? '0' : formattedAmount}{' '}
79
- {price.currency.symbol}
107
+ {showPlaceholderPrice ? (
108
+ <Text className="font-body font-medium text-xs" color={'text100'}>
109
+ 0 {price.currency.symbol}
110
+ </Text>
111
+ ) : overflow.status ? (
112
+ <Tooltip message={formattedAmount + ' ' + price.currency.symbol}>
113
+ <div className="flex items-center">
114
+ <ChevronRightIcon className="h-3 w-3 text-text-100" />
115
+ <Text
116
+ className="font-body font-medium text-xs"
117
+ color={'text100'}
118
+ >
119
+ {overflow.amount} {price.currency.symbol}
120
+ </Text>
121
+ </div>
122
+ </Tooltip>
123
+ ) : (
124
+ <Text className="font-body font-medium text-xs" color={'text100'}>
125
+ {formattedAmount} {price.currency.symbol}
126
+ </Text>
127
+ )}
80
128
  </Text>
81
129
  )}
82
130
  </div>
@@ -0,0 +1,481 @@
1
+ /**
2
+ * OpenSea supported chains and their currency configurations
3
+ */
4
+
5
+ export interface ChainCurrency {
6
+ chainId: number | null;
7
+ openseaId: string;
8
+ name: string;
9
+ nativeCurrency: {
10
+ symbol: string;
11
+ address: string;
12
+ };
13
+ wrappedNativeCurrency: {
14
+ address: string;
15
+ };
16
+ offerCurrency: {
17
+ symbol: string;
18
+ address: string;
19
+ };
20
+ listingCurrency: {
21
+ symbol: string;
22
+ address: string;
23
+ };
24
+ }
25
+
26
+ export const OPENSEA_CHAIN_CURRENCIES: Record<string, ChainCurrency> = {
27
+ // Ethereum
28
+ '1': {
29
+ chainId: 1,
30
+ openseaId: 'ethereum',
31
+ name: 'Ethereum',
32
+ nativeCurrency: {
33
+ symbol: 'ETH',
34
+ address: '0x0000000000000000000000000000000000000000',
35
+ },
36
+ wrappedNativeCurrency: {
37
+ address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
38
+ },
39
+ offerCurrency: {
40
+ symbol: 'WETH',
41
+ address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
42
+ },
43
+ listingCurrency: {
44
+ symbol: 'ETH',
45
+ address: '0x0000000000000000000000000000000000000000',
46
+ },
47
+ },
48
+ // Optimism
49
+ '10': {
50
+ chainId: 10,
51
+ openseaId: 'optimism',
52
+ name: 'Optimism',
53
+ nativeCurrency: {
54
+ symbol: 'ETH',
55
+ address: '0x0000000000000000000000000000000000000000',
56
+ },
57
+ wrappedNativeCurrency: {
58
+ address: '0x4200000000000000000000000000000000000006',
59
+ },
60
+ offerCurrency: {
61
+ symbol: 'WETH',
62
+ address: '0x4200000000000000000000000000000000000006',
63
+ },
64
+ listingCurrency: {
65
+ symbol: 'ETH',
66
+ address: '0x0000000000000000000000000000000000000000',
67
+ },
68
+ },
69
+ '137': {
70
+ chainId: 137,
71
+ openseaId: 'matic',
72
+ name: 'Polygon',
73
+ nativeCurrency: {
74
+ symbol: 'POL',
75
+ address: '0x0000000000000000000000000000000000000000',
76
+ },
77
+ wrappedNativeCurrency: {
78
+ address: '0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270',
79
+ },
80
+ offerCurrency: {
81
+ symbol: 'WETH',
82
+ address: '0x7ceb23fd6bc0add59e62ac25578270cff1b9f619',
83
+ },
84
+ listingCurrency: {
85
+ symbol: 'WETH',
86
+ address: '0x7ceb23fd6bc0add59e62ac25578270cff1b9f619',
87
+ },
88
+ },
89
+ // Shape
90
+ '360': {
91
+ chainId: 360,
92
+ openseaId: 'shape',
93
+ name: 'Shape',
94
+ nativeCurrency: {
95
+ symbol: 'ETH',
96
+ address: '0x0000000000000000000000000000000000000000',
97
+ },
98
+ wrappedNativeCurrency: {
99
+ address: '0x4200000000000000000000000000000000000006',
100
+ },
101
+ offerCurrency: {
102
+ symbol: 'WETH',
103
+ address: '0x4200000000000000000000000000000000000006',
104
+ },
105
+ listingCurrency: {
106
+ symbol: 'ETH',
107
+ address: '0x0000000000000000000000000000000000000000',
108
+ },
109
+ },
110
+ // HyperEVM
111
+ '998': {
112
+ chainId: 998,
113
+ openseaId: 'hyperevm',
114
+ name: 'HyperEVM',
115
+ nativeCurrency: {
116
+ symbol: 'HYPE',
117
+ address: '0x0000000000000000000000000000000000000000',
118
+ },
119
+ wrappedNativeCurrency: {
120
+ address: '0x5555555555555555555555555555555555555555',
121
+ },
122
+ offerCurrency: {
123
+ symbol: 'WHYPE',
124
+ address: '0x5555555555555555555555555555555555555555',
125
+ },
126
+ listingCurrency: {
127
+ symbol: 'HYPE',
128
+ address: '0x0000000000000000000000000000000000000000',
129
+ },
130
+ },
131
+ // Unichain
132
+ '130': {
133
+ chainId: 130,
134
+ openseaId: 'unichain',
135
+ name: 'Unichain',
136
+ nativeCurrency: {
137
+ symbol: 'ETH',
138
+ address: '0x0000000000000000000000000000000000000000',
139
+ },
140
+ wrappedNativeCurrency: {
141
+ address: '0x4200000000000000000000000000000000000006',
142
+ },
143
+ offerCurrency: {
144
+ symbol: 'WETH',
145
+ address: '0x4200000000000000000000000000000000000006',
146
+ },
147
+ listingCurrency: {
148
+ symbol: 'ETH',
149
+ address: '0x0000000000000000000000000000000000000000',
150
+ },
151
+ },
152
+ // Sei
153
+ '1329': {
154
+ chainId: 1329,
155
+ openseaId: 'sei',
156
+ name: 'Sei',
157
+ nativeCurrency: {
158
+ symbol: 'SEI',
159
+ address: '0x0000000000000000000000000000000000000000',
160
+ },
161
+ wrappedNativeCurrency: {
162
+ address: '0xe30fedd158a2e3b13e9badaeabafc5516e95e8c7',
163
+ },
164
+ offerCurrency: {
165
+ symbol: 'WSEI',
166
+ address: '0xe30fedd158a2e3b13e9badaeabafc5516e95e8c7',
167
+ },
168
+ listingCurrency: {
169
+ symbol: 'SEI',
170
+ address: '0x0000000000000000000000000000000000000000',
171
+ },
172
+ },
173
+ // Soneium
174
+ '1868': {
175
+ chainId: 1868,
176
+ openseaId: 'soneium',
177
+ name: 'Soneium',
178
+ nativeCurrency: {
179
+ symbol: 'ETH',
180
+ address: '0x0000000000000000000000000000000000000000',
181
+ },
182
+ wrappedNativeCurrency: {
183
+ address: '0x4200000000000000000000000000000000000006',
184
+ },
185
+ offerCurrency: {
186
+ symbol: 'WETH',
187
+ address: '0x4200000000000000000000000000000000000006',
188
+ },
189
+ listingCurrency: {
190
+ symbol: 'ETH',
191
+ address: '0x0000000000000000000000000000000000000000',
192
+ },
193
+ },
194
+ // Ronin
195
+ '2020': {
196
+ chainId: 2020,
197
+ openseaId: 'ronin',
198
+ name: 'Ronin',
199
+ nativeCurrency: {
200
+ symbol: 'RON',
201
+ address: '0x0000000000000000000000000000000000000000',
202
+ },
203
+ wrappedNativeCurrency: {
204
+ address: '0xe514d9deb7966c8be0ca922de8a064264ea6bcd4',
205
+ },
206
+ offerCurrency: {
207
+ symbol: 'WRON',
208
+ address: '0xe514d9deb7966c8be0ca922de8a064264ea6bcd4',
209
+ },
210
+ listingCurrency: {
211
+ symbol: 'RON',
212
+ address: '0x0000000000000000000000000000000000000000',
213
+ },
214
+ },
215
+ // Abstract
216
+ '2741': {
217
+ chainId: 2741,
218
+ openseaId: 'abstract',
219
+ name: 'Abstract',
220
+ nativeCurrency: {
221
+ symbol: 'ETH',
222
+ address: '0x0000000000000000000000000000000000000000',
223
+ },
224
+ wrappedNativeCurrency: {
225
+ address: '0x3439153eb7af838ad19d56e1571fbd09333c2809',
226
+ },
227
+ offerCurrency: {
228
+ symbol: 'WETH',
229
+ address: '0x3439153eb7af838ad19d56e1571fbd09333c2809',
230
+ },
231
+ listingCurrency: {
232
+ symbol: 'ETH',
233
+ address: '0x0000000000000000000000000000000000000000',
234
+ },
235
+ },
236
+ // B3
237
+ '8333': {
238
+ chainId: 8333,
239
+ openseaId: 'b3',
240
+ name: 'B3',
241
+ nativeCurrency: {
242
+ symbol: 'ETH',
243
+ address: '0x0000000000000000000000000000000000000000',
244
+ },
245
+ wrappedNativeCurrency: {
246
+ address: '0x4200000000000000000000000000000000000006',
247
+ },
248
+ offerCurrency: {
249
+ symbol: 'WETH',
250
+ address: '0x4200000000000000000000000000000000000006',
251
+ },
252
+ listingCurrency: {
253
+ symbol: 'ETH',
254
+ address: '0x0000000000000000000000000000000000000000',
255
+ },
256
+ },
257
+ // Base
258
+ '8453': {
259
+ chainId: 8453,
260
+ openseaId: 'base',
261
+ name: 'Base',
262
+ nativeCurrency: {
263
+ symbol: 'ETH',
264
+ address: '0x0000000000000000000000000000000000000000',
265
+ },
266
+ wrappedNativeCurrency: {
267
+ address: '0x4200000000000000000000000000000000000006',
268
+ },
269
+ offerCurrency: {
270
+ symbol: 'WETH',
271
+ address: '0x4200000000000000000000000000000000000006',
272
+ },
273
+ listingCurrency: {
274
+ symbol: 'ETH',
275
+ address: '0x0000000000000000000000000000000000000000',
276
+ },
277
+ },
278
+ // ApeChain
279
+ '33139': {
280
+ chainId: 33139,
281
+ openseaId: 'ape_chain',
282
+ name: 'ApeChain',
283
+ nativeCurrency: {
284
+ symbol: 'APE',
285
+ address: '0x0000000000000000000000000000000000000000',
286
+ },
287
+ wrappedNativeCurrency: {
288
+ address: '0x48b62137edfa95a428d35c09e44256a739f6b557',
289
+ },
290
+ offerCurrency: {
291
+ symbol: 'WAPE',
292
+ address: '0x48b62137edfa95a428d35c09e44256a739f6b557',
293
+ },
294
+ listingCurrency: {
295
+ symbol: 'APE',
296
+ address: '0x0000000000000000000000000000000000000000',
297
+ },
298
+ },
299
+ // Arbitrum One
300
+ '42161': {
301
+ chainId: 42161,
302
+ openseaId: 'arbitrum',
303
+ name: 'Arbitrum',
304
+ nativeCurrency: {
305
+ symbol: 'ETH',
306
+ address: '0x0000000000000000000000000000000000000000',
307
+ },
308
+ wrappedNativeCurrency: {
309
+ address: '0x82af49447d8a07e3bd95bd0d56f35241523fbab1',
310
+ },
311
+ offerCurrency: {
312
+ symbol: 'WETH',
313
+ address: '0x82af49447d8a07e3bd95bd0d56f35241523fbab1',
314
+ },
315
+ listingCurrency: {
316
+ symbol: 'ETH',
317
+ address: '0x0000000000000000000000000000000000000000',
318
+ },
319
+ },
320
+ // Arbitrum Nova
321
+ '42170': {
322
+ chainId: 42170,
323
+ openseaId: 'arbitrum_nova',
324
+ name: 'Arbitrum Nova',
325
+ nativeCurrency: {
326
+ symbol: 'ETH',
327
+ address: '0x0000000000000000000000000000000000000000',
328
+ },
329
+ wrappedNativeCurrency: {
330
+ address: '0x722e8bdd2ce80a4422e880164f2079488e115365',
331
+ },
332
+ offerCurrency: {
333
+ symbol: 'WETH',
334
+ address: '0x722e8bdd2ce80a4422e880164f2079488e115365',
335
+ },
336
+ listingCurrency: {
337
+ symbol: 'ETH',
338
+ address: '0x0000000000000000000000000000000000000000',
339
+ },
340
+ },
341
+ // Avalanche C-Chain
342
+ '43114': {
343
+ chainId: 43114,
344
+ openseaId: 'avalanche',
345
+ name: 'Avalanche',
346
+ nativeCurrency: {
347
+ symbol: 'AVAX',
348
+ address: '0x0000000000000000000000000000000000000000',
349
+ },
350
+ wrappedNativeCurrency: {
351
+ address: '0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7',
352
+ },
353
+ offerCurrency: {
354
+ symbol: 'WAVAX',
355
+ address: '0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7',
356
+ },
357
+ listingCurrency: {
358
+ symbol: 'AVAX',
359
+ address: '0x0000000000000000000000000000000000000000',
360
+ },
361
+ },
362
+ // GUNZ
363
+ '43419': {
364
+ chainId: 43419,
365
+ openseaId: 'gunzilla',
366
+ name: 'GUNZ',
367
+ nativeCurrency: {
368
+ symbol: 'GUN',
369
+ address: '0x0000000000000000000000000000000000000000',
370
+ },
371
+ wrappedNativeCurrency: {
372
+ address: '0x5aad7bba61d95c2c4e525a35f4062040264611f1',
373
+ },
374
+ offerCurrency: {
375
+ symbol: 'WGUN',
376
+ address: '0x5aad7bba61d95c2c4e525a35f4062040264611f1',
377
+ },
378
+ listingCurrency: {
379
+ symbol: 'GUN',
380
+ address: '0x0000000000000000000000000000000000000000',
381
+ },
382
+ },
383
+ // Somnia
384
+ '50311': {
385
+ chainId: 50311,
386
+ openseaId: 'somnia',
387
+ name: 'Somnia',
388
+ nativeCurrency: {
389
+ symbol: 'SOMI',
390
+ address: '0x0000000000000000000000000000000000000000',
391
+ },
392
+ wrappedNativeCurrency: {
393
+ address: '0x046ede9564a72571df6f5e44d0405360c0f4dcab',
394
+ },
395
+ offerCurrency: {
396
+ symbol: 'WSOMI',
397
+ address: '0x046ede9564a72571df6f5e44d0405360c0f4dcab',
398
+ },
399
+ listingCurrency: {
400
+ symbol: 'SOMI',
401
+ address: '0x0000000000000000000000000000000000000000',
402
+ },
403
+ },
404
+ // Berachain mainnet
405
+ '80094': {
406
+ chainId: 80094,
407
+ openseaId: 'bera_chain',
408
+ name: 'Berachain',
409
+ nativeCurrency: {
410
+ symbol: 'BERA',
411
+ address: '0x0000000000000000000000000000000000000000',
412
+ },
413
+ wrappedNativeCurrency: {
414
+ address: '0x6969696969696969696969696969696969696969',
415
+ },
416
+ offerCurrency: {
417
+ symbol: 'WBERA',
418
+ address: '0x6969696969696969696969696969696969696969',
419
+ },
420
+ listingCurrency: {
421
+ symbol: 'BERA',
422
+ address: '0x0000000000000000000000000000000000000000',
423
+ },
424
+ },
425
+ // Blast
426
+ '81457': {
427
+ chainId: 81457,
428
+ openseaId: 'blast',
429
+ name: 'Blast',
430
+ nativeCurrency: {
431
+ symbol: 'ETH',
432
+ address: '0x0000000000000000000000000000000000000000',
433
+ },
434
+ wrappedNativeCurrency: {
435
+ address: '0x4300000000000000000000000000000000000004',
436
+ },
437
+ offerCurrency: {
438
+ symbol: 'WETH',
439
+ address: '0x4300000000000000000000000000000000000004',
440
+ },
441
+ listingCurrency: {
442
+ symbol: 'ETH',
443
+ address: '0x0000000000000000000000000000000000000000',
444
+ },
445
+ },
446
+ // Zora
447
+ '7777777': {
448
+ chainId: 7777777,
449
+ openseaId: 'zora',
450
+ name: 'Zora',
451
+ nativeCurrency: {
452
+ symbol: 'ETH',
453
+ address: '0x0000000000000000000000000000000000000000',
454
+ },
455
+ wrappedNativeCurrency: {
456
+ address: '0x4200000000000000000000000000000000000006',
457
+ },
458
+ offerCurrency: {
459
+ symbol: 'WETH',
460
+ address: '0x4200000000000000000000000000000000000006',
461
+ },
462
+ listingCurrency: {
463
+ symbol: 'ETH',
464
+ address: '0x0000000000000000000000000000000000000000',
465
+ },
466
+ },
467
+ };
468
+
469
+ export function getOpenseaCurrencyForChain(
470
+ chainId: number,
471
+ modalType: 'listing' | 'offer',
472
+ ): { symbol: string; address: string } | undefined {
473
+ const config = OPENSEA_CHAIN_CURRENCIES[chainId.toString()];
474
+ if (!config) {
475
+ return undefined;
476
+ }
477
+
478
+ return modalType === 'listing'
479
+ ? config.listingCurrency
480
+ : config.offerCurrency;
481
+ }