@0xsequence/marketplace-sdk 0.8.11 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/CHANGELOG.md +236 -2
  2. package/dist/CalendarIcon-DbQ7Vxcw.js +141 -0
  3. package/dist/CalendarIcon-DbQ7Vxcw.js.map +1 -0
  4. package/dist/CollectibleCard-C8Ae64Ab.d.ts +71 -0
  5. package/dist/_internal-BgWcRIak.js +22 -0
  6. package/dist/_internal-BgWcRIak.js.map +1 -0
  7. package/dist/abi-BKyRjVcZ.js +0 -0
  8. package/dist/{alien_swap-2B65TDGT.js → alien_swap-B_76IMma.js} +5 -5
  9. package/dist/alien_swap-B_76IMma.js.map +1 -0
  10. package/dist/api-DTIan01C.js +241 -0
  11. package/dist/api-DTIan01C.js.map +1 -0
  12. package/dist/{aqua-xyz-WMYQLAIS.js → aqua-xyz-CMN_TFY5.js} +5 -5
  13. package/dist/aqua-xyz-CMN_TFY5.js.map +1 -0
  14. package/dist/{aura-V22RV5OG.js → aura-Cye_TuHj.js} +5 -5
  15. package/dist/aura-Cye_TuHj.js.map +1 -0
  16. package/dist/{blur-GE5QOMCM.js → blur-DWDMyMpK.js} +5 -5
  17. package/dist/blur-DWDMyMpK.js.map +1 -0
  18. package/dist/builder-api-BFuZNOaN.js +28 -0
  19. package/dist/builder-api-BFuZNOaN.js.map +1 -0
  20. package/dist/builder-api-C_zj5mr3.d.ts +12 -0
  21. package/dist/builder.gen-B9wR2nvF.js +303 -0
  22. package/dist/builder.gen-B9wR2nvF.js.map +1 -0
  23. package/dist/{coinbase-NLHJMGAP.js → coinbase-ByA_XRB0.js} +5 -5
  24. package/dist/coinbase-ByA_XRB0.js.map +1 -0
  25. package/dist/{element-2LGTYYSP.js → element-b77CyXIZ.js} +5 -5
  26. package/dist/element-b77CyXIZ.js.map +1 -0
  27. package/dist/{foundation-BPN66ZTN.js → foundation-DbOrKP9Y.js} +5 -5
  28. package/dist/foundation-DbOrKP9Y.js.map +1 -0
  29. package/dist/index-21LE7OhL.d.ts +102 -0
  30. package/dist/index-BL9RUSEK.d.ts +1803 -0
  31. package/dist/index-BQsgAvtX.d.ts +2938 -0
  32. package/dist/index-BUVWziLP.d.ts +60 -0
  33. package/dist/index-ByznONYE.d.ts +187 -0
  34. package/dist/index-C39K_8SG.d.ts +1 -0
  35. package/dist/index-CLy8y5hm.d.ts +1057 -0
  36. package/dist/index-COt10OgI.d.ts +24 -0
  37. package/dist/index-D5v5iluA.d.ts +809 -0
  38. package/dist/index-DPNWNa7t.d.ts +414 -0
  39. package/dist/index-DXMfTZ1F.d.ts +7 -0
  40. package/dist/index-DaE5ZNHb.d.ts +24 -0
  41. package/dist/index-DsfCs3-x.d.ts +122 -0
  42. package/dist/index-DvpBZgor.d.ts +1 -0
  43. package/dist/index-dUb6wb4Y.d.ts +22 -0
  44. package/dist/index.css +397 -371
  45. package/dist/index.d.ts +10 -29
  46. package/dist/index.js +13 -104
  47. package/dist/{looks-rare-MZRSOPT4.js → looks-rare-C1VqNcSM.js} +5 -5
  48. package/dist/looks-rare-C1VqNcSM.js.map +1 -0
  49. package/dist/{magic-eden-PUBL6KWW.js → magic-eden-ea_AGCZr.js} +5 -5
  50. package/dist/magic-eden-ea_AGCZr.js.map +1 -0
  51. package/dist/{manifold-GA445YJ6.js → manifold-8y8J2sjT.js} +5 -5
  52. package/dist/manifold-8y8J2sjT.js.map +1 -0
  53. package/dist/marketplace-logos-CSeGcPW4.js +50 -0
  54. package/dist/marketplace-logos-CSeGcPW4.js.map +1 -0
  55. package/dist/marketplace-nwnZv9Cb.js +1913 -0
  56. package/dist/marketplace-nwnZv9Cb.js.map +1 -0
  57. package/dist/marketplace.gen-BSDIX7NZ.js +1077 -0
  58. package/dist/marketplace.gen-BSDIX7NZ.js.map +1 -0
  59. package/dist/marketplaceConfig-C6X1SUik.js +71 -0
  60. package/dist/marketplaceConfig-C6X1SUik.js.map +1 -0
  61. package/dist/{mintify-UMC5PTKC.js → mintify-LA68TzWg.js} +5 -5
  62. package/dist/mintify-LA68TzWg.js.map +1 -0
  63. package/dist/new-marketplace-types-Bfis0U4J.d.ts +1546 -0
  64. package/dist/{nftx-AX3CY3IE.js → nftx-D3Tc8nzd.js} +5 -5
  65. package/dist/nftx-D3Tc8nzd.js.map +1 -0
  66. package/dist/{okx-GNVLAE2R.js → okx-hbqg6oIJ.js} +5 -5
  67. package/dist/okx-hbqg6oIJ.js.map +1 -0
  68. package/dist/{open-sea-KI43GVEB.js → open-sea-BccuK8-t.js} +5 -5
  69. package/dist/open-sea-BccuK8-t.js.map +1 -0
  70. package/dist/options-B4QN7Xou.js +0 -0
  71. package/dist/primary-sale-C55ALnfQ.js +1264 -0
  72. package/dist/primary-sale-C55ALnfQ.js.map +1 -0
  73. package/dist/queries-CUU65uYZ.js +599 -0
  74. package/dist/queries-CUU65uYZ.js.map +1 -0
  75. package/dist/{rarible-2J3MMZJ7.js → rarible-BgTwwj9g.js} +5 -5
  76. package/dist/rarible-BgTwwj9g.js.map +1 -0
  77. package/dist/react/_internal/api/index.d.ts +4 -86
  78. package/dist/react/_internal/api/index.js +7 -150
  79. package/dist/react/_internal/databeat/index.d.ts +45 -41
  80. package/dist/react/_internal/databeat/index.js +23 -27
  81. package/dist/react/_internal/index.d.ts +7 -76
  82. package/dist/react/_internal/index.js +9 -176
  83. package/dist/react/_internal/wagmi/index.d.ts +4 -17
  84. package/dist/react/_internal/wagmi/index.js +5 -14
  85. package/dist/react/hooks/index.d.ts +18 -3652
  86. package/dist/react/hooks/index.js +23 -153
  87. package/dist/react/hooks/options/index.d.ts +4 -8
  88. package/dist/react/hooks/options/index.js +11 -21
  89. package/dist/react/index.d.ts +18 -36
  90. package/dist/react/index.js +23 -193
  91. package/dist/react/queries/index.d.ts +8 -26
  92. package/dist/react/queries/index.js +18 -51
  93. package/dist/react/ssr/index.d.ts +19 -13
  94. package/dist/react/ssr/index.js +29 -28
  95. package/dist/react/ssr/index.js.map +1 -1
  96. package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +9 -0
  97. package/dist/react/ui/components/marketplace-collectible-card/index.js +23 -0
  98. package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +8 -0
  99. package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +10 -0
  100. package/dist/react/ui/components/marketplace-logos/index.d.ts +26 -24
  101. package/dist/react/ui/components/marketplace-logos/index.js +3 -45
  102. package/dist/react/ui/icons/index.d.ts +1 -2
  103. package/dist/react/ui/icons/index.js +10 -14
  104. package/dist/react/ui/index.d.ts +9 -116
  105. package/dist/react/ui/index.js +23 -41
  106. package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +59 -33
  107. package/dist/react/ui/modals/_internal/components/actionModal/index.js +23 -31
  108. package/dist/react-BbHBl6gg.css +80 -0
  109. package/dist/react-BbHBl6gg.css.map +1 -0
  110. package/dist/react-DAIicQPT.js +8938 -0
  111. package/dist/react-DAIicQPT.js.map +1 -0
  112. package/dist/{sequence-TGLUFEPQ.js → sequence-Do3kzb4J.js} +5 -5
  113. package/dist/sequence-Do3kzb4J.js.map +1 -0
  114. package/dist/src-Dz2CfBL0.js +8 -0
  115. package/dist/src-Dz2CfBL0.js.map +1 -0
  116. package/dist/{sudo-swap-M2O6E3TE.js → sudo-swap-B6vPKxBz.js} +5 -5
  117. package/dist/sudo-swap-B6vPKxBz.js.map +1 -0
  118. package/dist/{super-rare-UU2U4LIN.js → super-rare-eCm1SE6O.js} +5 -5
  119. package/dist/super-rare-eCm1SE6O.js.map +1 -0
  120. package/dist/token-Da4TdyUk.js +2091 -0
  121. package/dist/token-Da4TdyUk.js.map +1 -0
  122. package/dist/transaction-CcVViHEL.js +97 -0
  123. package/dist/transaction-CcVViHEL.js.map +1 -0
  124. package/dist/types/index.d.ts +3 -13
  125. package/dist/types/index.js +5 -44
  126. package/dist/types-DwWE6xOF.js +13 -0
  127. package/dist/types-DwWE6xOF.js.map +1 -0
  128. package/dist/utils/abi/index.d.ts +5 -3
  129. package/dist/utils/abi/index.js +6 -26
  130. package/dist/utils/abi/marketplace/index.d.ts +2 -805
  131. package/dist/utils/abi/marketplace/index.js +3 -11
  132. package/dist/utils/abi/primary-sale/index.d.ts +2 -1054
  133. package/dist/utils/abi/primary-sale/index.js +3 -9
  134. package/dist/utils/abi/token/index.d.ts +2 -1125
  135. package/dist/utils/abi/token/index.js +3 -11
  136. package/dist/utils/index.d.ts +8 -91
  137. package/dist/utils/index.js +11 -57
  138. package/dist/utils-BPYfgDSL.js +44 -0
  139. package/dist/utils-BPYfgDSL.js.map +1 -0
  140. package/dist/utils-CW2NA5KG.js +216 -0
  141. package/dist/utils-CW2NA5KG.js.map +1 -0
  142. package/dist/wagmi-CDzEQbfk.js +166 -0
  143. package/dist/wagmi-CDzEQbfk.js.map +1 -0
  144. package/dist/{x2y2-3W5BBMZC.js → x2y2-DD17tT91.js} +5 -5
  145. package/dist/x2y2-DD17tT91.js.map +1 -0
  146. package/dist/{zora-6EY6FUH6.js → zora-BpSG9UzS.js} +5 -5
  147. package/dist/zora-BpSG9UzS.js.map +1 -0
  148. package/eslint/use-client.js +0 -6
  149. package/package.json +36 -35
  150. package/src/index.ts +1 -2
  151. package/src/react/_internal/api/__mocks__/builder.msw.ts +5 -3
  152. package/src/react/_internal/api/__mocks__/indexer.msw.ts +9 -8
  153. package/src/react/_internal/api/__mocks__/marketplace.msw.ts +4 -6
  154. package/src/react/_internal/api/__mocks__/metadata.msw.ts +1 -1
  155. package/src/react/_internal/api/builder.gen.ts +6 -7
  156. package/src/react/_internal/api/get-query-client.ts +2 -2
  157. package/src/react/_internal/api/index.ts +2 -2
  158. package/src/react/_internal/api/marketplace.gen.ts +505 -26
  159. package/src/react/_internal/api/query-keys.ts +13 -6
  160. package/src/react/_internal/api/services.ts +42 -52
  161. package/src/react/_internal/index.ts +1 -1
  162. package/src/react/_internal/types.ts +10 -23
  163. package/src/react/_internal/utils.ts +1 -2
  164. package/src/react/_internal/wagmi/__tests__/create-config.test.ts +5 -5
  165. package/src/react/_internal/wagmi/create-config.ts +23 -9
  166. package/src/react/_internal/wagmi/get-connectors.ts +10 -5
  167. package/src/react/_internal/wallet/__tests__/wallet.test.ts +1 -1
  168. package/src/react/_internal/wallet/wallet.ts +18 -18
  169. package/src/react/hooks/__tests__/__snapshots__/useListCollections.test.tsx.snap +181 -2
  170. package/src/react/hooks/__tests__/__snapshots__/useMarketplaceConfig.test.tsx.snap +54 -6
  171. package/src/react/hooks/__tests__/useAutoSelectFeeOption.test.tsx +8 -5
  172. package/src/react/hooks/__tests__/useBalanceOfCollectible.test.tsx +1 -1
  173. package/src/react/hooks/__tests__/useCancelOrder.test.tsx +4 -4
  174. package/src/react/hooks/__tests__/useCancelTransactionSteps.test.tsx +1 -1
  175. package/src/react/hooks/__tests__/useCheckoutOptionsSalesContract.test.tsx +225 -0
  176. package/src/react/hooks/__tests__/useCollectible.test.tsx +14 -16
  177. package/src/react/hooks/__tests__/useCollection.test.tsx +4 -4
  178. package/src/react/hooks/__tests__/useCollectionBalanceDetails.test.tsx +1 -27
  179. package/src/react/hooks/__tests__/useCollectionDetails.test.tsx +1 -1
  180. package/src/react/hooks/__tests__/useCollectionDetailsPolling.test.tsx +4 -4
  181. package/src/react/hooks/__tests__/useComparePrices.test.tsx +7 -6
  182. package/src/react/hooks/__tests__/useConvertPriceToUSD.test.tsx +1 -1
  183. package/src/react/hooks/__tests__/useCountListingsForCollectible.test.tsx +2 -2
  184. package/src/react/hooks/__tests__/useCountOfCollectables.test.tsx +5 -5
  185. package/src/react/hooks/__tests__/useCountOffersForCollectible.test.tsx +2 -2
  186. package/src/react/hooks/__tests__/useCurrency.test.tsx +5 -3
  187. package/src/react/hooks/__tests__/useFilters.test.tsx +1 -1
  188. package/src/react/hooks/__tests__/useFloorOrder.test.tsx +4 -4
  189. package/src/react/hooks/__tests__/useGenerateCancelTransaction.test.tsx +5 -6
  190. package/src/react/hooks/__tests__/useGenerateListingTransaction.test.tsx +1 -1
  191. package/src/react/hooks/__tests__/useGenerateOfferTransaction.test.tsx +1 -1
  192. package/src/react/hooks/__tests__/useGenerateSellTransaction.test.tsx +1 -1
  193. package/src/react/hooks/__tests__/useGetTokenSuppliesMap.test.tsx +104 -0
  194. package/src/react/hooks/__tests__/useHighestOffer.test.tsx +4 -20
  195. package/src/react/hooks/__tests__/useInventory.test.tsx +1 -37
  196. package/src/react/hooks/__tests__/useListCollectibleActivities.test.tsx +11 -13
  197. package/src/react/hooks/__tests__/useListCollectibles.test.tsx +5 -5
  198. package/src/react/hooks/__tests__/useListCollectiblesPaginated.test.tsx +10 -15
  199. package/src/react/hooks/__tests__/useListCollectionActivities.test.tsx +13 -15
  200. package/src/react/hooks/__tests__/useListCollections.test.tsx +4 -4
  201. package/src/react/hooks/__tests__/useListListingsForCollectible.test.tsx +3 -2
  202. package/src/react/hooks/__tests__/useListMarketCardData.test.tsx +301 -0
  203. package/src/react/hooks/__tests__/useListOffersForCollectible.test.tsx +1 -1
  204. package/src/react/hooks/__tests__/useListTokenMetadata.test.tsx +111 -0
  205. package/src/react/hooks/__tests__/useLowestListing.test.tsx +1 -1
  206. package/src/react/hooks/__tests__/useMarketCurrencies.test.tsx +1 -1
  207. package/src/react/hooks/__tests__/useRoyalty.test.tsx +0 -23
  208. package/src/react/hooks/index.ts +27 -17
  209. package/src/react/hooks/options/index.ts +0 -1
  210. package/src/react/hooks/useAutoSelectFeeOption.tsx +1 -1
  211. package/src/react/hooks/useBalanceOfCollectible.tsx +14 -10
  212. package/src/react/hooks/useCancelTransactionSteps.tsx +7 -3
  213. package/src/react/hooks/useCheckoutOptionsSalesContract.tsx +67 -0
  214. package/src/react/hooks/useCollectible.tsx +64 -49
  215. package/src/react/hooks/useCollection.tsx +60 -11
  216. package/src/react/hooks/useCollectionBalanceDetails.tsx +20 -27
  217. package/src/react/hooks/useCollectionDetails.ts +69 -0
  218. package/src/react/hooks/useCollectionDetailsPolling.tsx +10 -2
  219. package/src/react/hooks/useComparePrices.tsx +18 -21
  220. package/src/react/hooks/useConvertPriceToUSD.tsx +20 -37
  221. package/src/react/hooks/useCountListingsForCollectible.tsx +64 -52
  222. package/src/react/hooks/useCountOfCollectables.tsx +61 -67
  223. package/src/react/hooks/useCountOfPrimarySaleItems.tsx +13 -0
  224. package/src/react/hooks/useCountOffersForCollectible.tsx +64 -52
  225. package/src/react/hooks/useCurrency.tsx +56 -64
  226. package/src/react/hooks/useERC721SaleMintedTokens.tsx +67 -0
  227. package/src/react/hooks/useFilterState.tsx +1 -2
  228. package/src/react/hooks/useFloorOrder.tsx +65 -37
  229. package/src/react/hooks/useGenerateCancelTransaction.tsx +17 -15
  230. package/src/react/hooks/useGenerateListingTransaction.tsx +16 -6
  231. package/src/react/hooks/useGenerateOfferTransaction.tsx +16 -7
  232. package/src/react/hooks/useGenerateSellTransaction.tsx +19 -15
  233. package/src/react/hooks/useGetReceiptFromHash.tsx +32 -3
  234. package/src/react/hooks/useGetTokenRanges.tsx +31 -0
  235. package/src/react/hooks/useGetTokenSuppliesMap.tsx +73 -0
  236. package/src/react/hooks/useHighestOffer.tsx +68 -4
  237. package/src/react/hooks/useInventory.tsx +8 -6
  238. package/src/react/hooks/useList1155ShopCardData.tsx +103 -0
  239. package/src/react/hooks/useList721ShopCardData.tsx +160 -0
  240. package/src/react/hooks/useListBalances.tsx +7 -10
  241. package/src/react/hooks/useListCollectibleActivities.tsx +89 -49
  242. package/src/react/hooks/useListCollectibles.tsx +78 -26
  243. package/src/react/hooks/useListCollectiblesPaginated.tsx +96 -63
  244. package/src/react/hooks/useListCollectionActivities.tsx +84 -49
  245. package/src/react/hooks/useListCollections.tsx +72 -18
  246. package/src/react/hooks/useListListingsForCollectible.tsx +90 -49
  247. package/src/react/hooks/useListMarketCardData.tsx +157 -0
  248. package/src/react/hooks/useListOffersForCollectible.tsx +11 -15
  249. package/src/react/hooks/useListPrimarySaleItems.ts +102 -0
  250. package/src/react/hooks/useListShopCardData.tsx +70 -0
  251. package/src/react/hooks/useListTokenMetadata.tsx +73 -0
  252. package/src/react/hooks/useLowestListing.tsx +68 -4
  253. package/src/react/hooks/useMarketCurrencies.tsx +62 -5
  254. package/src/react/hooks/useRoyalty.tsx +57 -13
  255. package/src/react/hooks/useShopCollectibleSaleData.tsx +349 -0
  256. package/src/react/hooks/useTokenSaleDetailsBatch.tsx +134 -0
  257. package/src/react/hooks/useTransferTokens.tsx +1 -1
  258. package/src/react/hooks/util/optimisticCancelUpdates.ts +5 -7
  259. package/src/react/index.ts +5 -3
  260. package/src/react/queries/balanceOfCollectible.ts +1 -1
  261. package/src/react/queries/collectible.ts +66 -0
  262. package/src/react/queries/collection.ts +55 -0
  263. package/src/react/queries/collectionDetails.ts +64 -0
  264. package/src/react/queries/countListingsForCollectible.ts +73 -0
  265. package/src/react/queries/countOfCollectables.ts +83 -0
  266. package/src/react/queries/countOfPrimarySaleItems.ts +48 -0
  267. package/src/react/queries/countOffersForCollectible.ts +73 -0
  268. package/src/react/queries/currency.ts +83 -0
  269. package/src/react/queries/floorOrder.ts +63 -0
  270. package/src/react/queries/getTokenSuppliesMap.ts +77 -0
  271. package/src/react/queries/highestOffer.ts +48 -40
  272. package/src/react/queries/index.ts +7 -4
  273. package/src/react/queries/inventory.ts +38 -4
  274. package/src/react/queries/listBalances.ts +14 -30
  275. package/src/react/queries/listCollectibleActivities.ts +97 -0
  276. package/src/react/queries/listCollectibles.ts +117 -47
  277. package/src/react/queries/listCollectiblesPaginated.ts +87 -0
  278. package/src/react/queries/listCollectionActivities.ts +95 -0
  279. package/src/react/queries/listCollections.ts +55 -10
  280. package/src/react/queries/listListingsForCollectible.ts +82 -0
  281. package/src/react/queries/listTokenMetadata.ts +47 -18
  282. package/src/react/queries/lowestListing.ts +48 -31
  283. package/src/react/queries/marketCurrencies.ts +52 -35
  284. package/src/react/queries/marketplaceConfig.ts +56 -81
  285. package/src/react/ssr/__tests__/__snapshots__/create-ssr-client.test.ts.snap +54 -6
  286. package/src/react/ssr/__tests__/create-ssr-client.test.ts +0 -3
  287. package/src/react/ssr/create-ssr-client.ts +6 -11
  288. package/src/react/types/query.ts +34 -0
  289. package/src/react/ui/components/ModelViewer.tsx +1 -1
  290. package/src/react/ui/components/_internals/action-button/ActionButton.tsx +47 -13
  291. package/src/react/ui/components/_internals/action-button/__tests__/ActionButtonBody.test.tsx +1 -1
  292. package/src/react/ui/components/_internals/action-button/__tests__/NonOwnerActions.test.tsx +28 -15
  293. package/src/react/ui/components/_internals/action-button/__tests__/OwnerActions.test.tsx +1 -1
  294. package/src/react/ui/components/_internals/action-button/__tests__/useActionButtonLogic.test.tsx +15 -9
  295. package/src/react/ui/components/_internals/action-button/components/ActionButtonBody.tsx +1 -1
  296. package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +78 -15
  297. package/src/react/ui/components/_internals/action-button/components/OwnerActions.tsx +1 -1
  298. package/src/react/ui/components/_internals/action-button/hooks/useActionButtonLogic.ts +13 -16
  299. package/src/react/ui/components/_internals/action-button/store.ts +46 -18
  300. package/src/react/ui/components/marketplace-collectible-card/CollectibleCard.tsx +17 -0
  301. package/src/react/ui/components/marketplace-collectible-card/CollectibleCardSkeleton.tsx +24 -0
  302. package/src/react/ui/components/marketplace-collectible-card/Footer.tsx +231 -0
  303. package/src/react/ui/components/marketplace-collectible-card/components/ActionButtonWrapper.tsx +76 -0
  304. package/src/react/ui/components/marketplace-collectible-card/components/BaseCard.tsx +58 -0
  305. package/src/react/ui/components/marketplace-collectible-card/index.ts +3 -0
  306. package/src/react/ui/components/marketplace-collectible-card/types.ts +98 -0
  307. package/src/react/ui/components/marketplace-collectible-card/utils/formatPrice.ts +45 -0
  308. package/src/react/ui/components/marketplace-collectible-card/utils/index.ts +2 -0
  309. package/src/react/ui/components/marketplace-collectible-card/utils/supplyStatus.ts +39 -0
  310. package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +125 -0
  311. package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +102 -0
  312. package/src/react/ui/components/marketplace-logos/marketplace-logos.tsx +1 -1
  313. package/src/react/ui/components/{collectible-card/media → media}/Media.tsx +47 -26
  314. package/src/react/ui/components/{collectible-card/media → media}/types.ts +3 -1
  315. package/src/react/ui/index.ts +8 -7
  316. package/src/react/ui/modals/BuyModal/__tests__/BuyModalRouter.test.tsx +554 -0
  317. package/src/react/ui/modals/BuyModal/__tests__/ERC1155ShopModal.test.tsx +392 -0
  318. package/src/react/ui/modals/BuyModal/__tests__/ERC721ShopModal.test.tsx +272 -0
  319. package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx.bak +112 -0
  320. package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +117 -13
  321. package/src/react/ui/modals/BuyModal/__tests__/store.test.ts +10 -7
  322. package/src/react/ui/modals/BuyModal/components/BuyModalRouter.tsx +157 -0
  323. package/src/react/ui/modals/BuyModal/components/ERC1155BuyModal.tsx +136 -0
  324. package/src/react/ui/modals/BuyModal/components/ERC1155QuantityModal.tsx +183 -0
  325. package/src/react/ui/modals/BuyModal/components/ERC1155ShopModal.tsx +121 -0
  326. package/src/react/ui/modals/BuyModal/components/ERC721BuyModal.tsx +85 -0
  327. package/src/react/ui/modals/BuyModal/components/ERC721ShopModal.tsx +86 -0
  328. package/src/react/ui/modals/BuyModal/components/Modal.tsx +14 -0
  329. package/src/react/ui/modals/BuyModal/components/types.ts +8 -0
  330. package/src/react/ui/modals/BuyModal/hooks/__tests__/useCheckoutOptions.test.tsx +5 -5
  331. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC1155Checkout.test.tsx +379 -0
  332. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC721SalePaymentParams.test.tsx +253 -0
  333. package/src/react/ui/modals/BuyModal/hooks/__tests__/{useFees.test.tsx → useMarketPlatformFee.test.tsx} +10 -11
  334. package/src/react/ui/modals/BuyModal/hooks/useCheckoutOptions.ts +63 -45
  335. package/src/react/ui/modals/BuyModal/hooks/useERC1155Checkout.ts +73 -0
  336. package/src/react/ui/modals/BuyModal/hooks/useERC721SalePaymentParams.ts +196 -0
  337. package/src/react/ui/modals/BuyModal/hooks/useLoadData.ts +74 -18
  338. package/src/react/ui/modals/BuyModal/hooks/useMarketPlatformFee.ts +53 -0
  339. package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +30 -15
  340. package/src/react/ui/modals/BuyModal/store.ts +147 -13
  341. package/src/react/ui/modals/CreateListingModal/Modal.tsx +1 -1
  342. package/src/react/ui/modals/CreateListingModal/__tests__/Modal.test.tsx +2 -2
  343. package/src/react/ui/modals/CreateListingModal/hooks/useCreateListing.tsx +0 -1
  344. package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +4 -3
  345. package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +12 -9
  346. package/src/react/ui/modals/CreateListingModal/index.tsx +1 -1
  347. package/src/react/ui/modals/MakeOfferModal/Modal.tsx +2 -2
  348. package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +1 -1
  349. package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +3 -2
  350. package/src/react/ui/modals/MakeOfferModal/hooks/useMakeOffer.tsx +0 -1
  351. package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +12 -10
  352. package/src/react/ui/modals/MakeOfferModal/index.tsx +1 -1
  353. package/src/react/ui/modals/SellModal/Modal.tsx +3 -3
  354. package/src/react/ui/modals/SellModal/__tests__/Modal.test.tsx +6 -4
  355. package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +5 -4
  356. package/src/react/ui/modals/SellModal/hooks/useSell.tsx +0 -1
  357. package/src/react/ui/modals/SellModal/hooks/useTransactionSteps.tsx +11 -8
  358. package/src/react/ui/modals/SuccessfulPurchaseModal/__tests__/Modal.test.tsx +12 -8
  359. package/src/react/ui/modals/SuccessfulPurchaseModal/index.tsx +34 -28
  360. package/src/react/ui/modals/SuccessfulPurchaseModal/store.ts +71 -0
  361. package/src/react/ui/modals/TransferModal/_store.ts +1 -7
  362. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/_components/TokenQuantityInput.tsx +2 -3
  363. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/index.tsx +2 -2
  364. package/src/react/ui/modals/_internal/components/actionModal/ActionModal.test.tsx +1 -2
  365. package/src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx +107 -112
  366. package/src/react/ui/modals/_internal/components/actionModal/store.ts +45 -12
  367. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/__tests__/index.test.tsx +1 -1
  368. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +0 -1
  369. package/src/react/ui/modals/_internal/components/floorPriceText/index.tsx +4 -4
  370. package/src/react/ui/modals/_internal/components/quantityInput/QuantityInputBase.tsx +166 -0
  371. package/src/react/ui/modals/_internal/components/quantityInput/index.tsx +12 -141
  372. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/__tests__/SelectWaasFeeOptions.test.tsx +1 -1
  373. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/_components/BalanceIndicator.tsx +1 -2
  374. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/useWaasFeeOptionManager.tsx +0 -1
  375. package/src/react/ui/modals/_internal/components/switchChainModal/__tests__/SwitchChainModal.test.tsx +12 -8
  376. package/src/react/ui/modals/_internal/components/switchChainModal/index.tsx +35 -33
  377. package/src/react/ui/modals/_internal/components/switchChainModal/store.ts +61 -32
  378. package/src/react/ui/modals/_internal/components/transactionPreview/index.tsx +1 -1
  379. package/src/react/ui/modals/_internal/components/transactionStatusModal/__tests__/TransactionStatusModal.test.tsx +1 -1
  380. package/src/react/ui/modals/_internal/components/transactionStatusModal/hooks/useTransactionStatus.ts +0 -1
  381. package/src/react/ui/modals/_internal/components/transactionStatusModal/store.ts +1 -1
  382. package/src/react/ui/modals/_internal/components/waasFeeOptionsSelect/WaasFeeOptionsSelect.tsx +1 -1
  383. package/src/react/ui/modals/modal-provider.tsx +3 -4
  384. package/src/types/api-types.ts +36 -36
  385. package/src/types/buyModalErrors.ts +438 -0
  386. package/src/types/index.ts +5 -2
  387. package/src/types/new-marketplace-types.ts +6 -21
  388. package/src/types/sdk-config.ts +19 -24
  389. package/src/types/types.ts +17 -0
  390. package/src/types/waas-types.ts +1 -1
  391. package/src/utils/_internal/error/transaction.ts +36 -1
  392. package/src/utils/abi/index.ts +1 -1
  393. package/src/utils/abi/primary-sale/index.ts +1 -1
  394. package/src/utils/abi/token/index.ts +2 -1
  395. package/src/utils/decode/erc20.ts +1 -1
  396. package/src/utils/index.ts +3 -3
  397. package/test/const.ts +3 -1
  398. package/test/mocks/wallet.ts +1 -1
  399. package/test/test-utils.tsx +3 -4
  400. package/tsconfig.json +1 -1
  401. package/tsdown.config.ts +25 -0
  402. package/.changeset/fluffy-jokes-lay.md +0 -5
  403. package/.changeset/wise-bugs-boil.md +0 -8
  404. package/.ctirc +0 -32
  405. package/dist/alien_swap-2B65TDGT.js.map +0 -1
  406. package/dist/aqua-xyz-WMYQLAIS.js.map +0 -1
  407. package/dist/aura-V22RV5OG.js.map +0 -1
  408. package/dist/blur-GE5QOMCM.js.map +0 -1
  409. package/dist/chunk-2PSNAIAT.js +0 -1
  410. package/dist/chunk-2PSNAIAT.js.map +0 -1
  411. package/dist/chunk-5C6ZZ6WX.js +0 -130
  412. package/dist/chunk-5C6ZZ6WX.js.map +0 -1
  413. package/dist/chunk-5O44EPXZ.js +0 -207
  414. package/dist/chunk-5O44EPXZ.js.map +0 -1
  415. package/dist/chunk-6CTFVBKU.js +0 -1
  416. package/dist/chunk-6CTFVBKU.js.map +0 -1
  417. package/dist/chunk-6OPMUCGX.js +0 -42
  418. package/dist/chunk-6OPMUCGX.js.map +0 -1
  419. package/dist/chunk-FUM4OGOQ.js +0 -1027
  420. package/dist/chunk-FUM4OGOQ.js.map +0 -1
  421. package/dist/chunk-L6KWLCER.js +0 -32
  422. package/dist/chunk-L6KWLCER.js.map +0 -1
  423. package/dist/chunk-LAP2CKLN.js +0 -485
  424. package/dist/chunk-LAP2CKLN.js.map +0 -1
  425. package/dist/chunk-LECCEZAO.js +0 -11
  426. package/dist/chunk-LECCEZAO.js.map +0 -1
  427. package/dist/chunk-N7SQWS2R.js +0 -38
  428. package/dist/chunk-N7SQWS2R.js.map +0 -1
  429. package/dist/chunk-NX52D7NX.js +0 -135
  430. package/dist/chunk-NX52D7NX.js.map +0 -1
  431. package/dist/chunk-OAOONM4S.js +0 -1787
  432. package/dist/chunk-OAOONM4S.js.map +0 -1
  433. package/dist/chunk-Q3ECVC4F.js +0 -811
  434. package/dist/chunk-Q3ECVC4F.js.map +0 -1
  435. package/dist/chunk-QY52UADF.js +0 -107
  436. package/dist/chunk-QY52UADF.js.map +0 -1
  437. package/dist/chunk-TNAR3XEF.js +0 -8729
  438. package/dist/chunk-TNAR3XEF.js.map +0 -1
  439. package/dist/chunk-XABYNWXO.js +0 -549
  440. package/dist/chunk-XABYNWXO.js.map +0 -1
  441. package/dist/chunk-XX4EVWBF.js +0 -1292
  442. package/dist/chunk-XX4EVWBF.js.map +0 -1
  443. package/dist/chunk-YB5UUF2G.js +0 -11
  444. package/dist/chunk-YB5UUF2G.js.map +0 -1
  445. package/dist/chunk-YWGFI4PN.js +0 -217
  446. package/dist/chunk-YWGFI4PN.js.map +0 -1
  447. package/dist/coinbase-NLHJMGAP.js.map +0 -1
  448. package/dist/create-config-DLMvMTkZ.d.ts +0 -8
  449. package/dist/element-2LGTYYSP.js.map +0 -1
  450. package/dist/foundation-BPN66ZTN.js.map +0 -1
  451. package/dist/get-query-client-D46hbjk6.d.ts +0 -5
  452. package/dist/index.css.map +0 -1
  453. package/dist/index.js.map +0 -1
  454. package/dist/looks-rare-MZRSOPT4.js.map +0 -1
  455. package/dist/magic-eden-PUBL6KWW.js.map +0 -1
  456. package/dist/manifold-GA445YJ6.js.map +0 -1
  457. package/dist/marketCurrencies-enNVYwBk.d.ts +0 -277
  458. package/dist/marketplace.gen-D24veUQs.d.ts +0 -1073
  459. package/dist/marketplaceConfig-BwNAbLPw.d.ts +0 -21
  460. package/dist/mintify-UMC5PTKC.js.map +0 -1
  461. package/dist/new-marketplace-types-BCw19X9S.d.ts +0 -102
  462. package/dist/nftx-AX3CY3IE.js.map +0 -1
  463. package/dist/okx-GNVLAE2R.js.map +0 -1
  464. package/dist/open-sea-KI43GVEB.js.map +0 -1
  465. package/dist/rarible-2J3MMZJ7.js.map +0 -1
  466. package/dist/react/_internal/api/index.js.map +0 -1
  467. package/dist/react/_internal/databeat/index.css +0 -2764
  468. package/dist/react/_internal/databeat/index.css.map +0 -1
  469. package/dist/react/_internal/databeat/index.js.map +0 -1
  470. package/dist/react/_internal/index.js.map +0 -1
  471. package/dist/react/_internal/wagmi/index.js.map +0 -1
  472. package/dist/react/hooks/index.css +0 -2764
  473. package/dist/react/hooks/index.css.map +0 -1
  474. package/dist/react/hooks/index.js.map +0 -1
  475. package/dist/react/hooks/options/index.js.map +0 -1
  476. package/dist/react/index.css +0 -2764
  477. package/dist/react/index.css.map +0 -1
  478. package/dist/react/index.js.map +0 -1
  479. package/dist/react/queries/index.js.map +0 -1
  480. package/dist/react/ui/components/collectible-card/index.css +0 -2764
  481. package/dist/react/ui/components/collectible-card/index.css.map +0 -1
  482. package/dist/react/ui/components/collectible-card/index.d.ts +0 -71
  483. package/dist/react/ui/components/collectible-card/index.js +0 -27
  484. package/dist/react/ui/components/collectible-card/index.js.map +0 -1
  485. package/dist/react/ui/components/marketplace-logos/index.js.map +0 -1
  486. package/dist/react/ui/icons/index.js.map +0 -1
  487. package/dist/react/ui/index.css +0 -2764
  488. package/dist/react/ui/index.css.map +0 -1
  489. package/dist/react/ui/index.js.map +0 -1
  490. package/dist/react/ui/modals/_internal/components/actionModal/index.css +0 -2764
  491. package/dist/react/ui/modals/_internal/components/actionModal/index.css.map +0 -1
  492. package/dist/react/ui/modals/_internal/components/actionModal/index.js.map +0 -1
  493. package/dist/sdk-config-qorA0TgF.d.ts +0 -165
  494. package/dist/sequence-TGLUFEPQ.js.map +0 -1
  495. package/dist/services-WrshxCqc.d.ts +0 -23
  496. package/dist/sudo-swap-M2O6E3TE.js.map +0 -1
  497. package/dist/super-rare-UU2U4LIN.js.map +0 -1
  498. package/dist/types/index.js.map +0 -1
  499. package/dist/useCollection-YAdXfVO7.d.ts +0 -61
  500. package/dist/utils/abi/index.js.map +0 -1
  501. package/dist/utils/abi/marketplace/index.js.map +0 -1
  502. package/dist/utils/abi/primary-sale/index.js.map +0 -1
  503. package/dist/utils/abi/token/index.js.map +0 -1
  504. package/dist/utils/index.js.map +0 -1
  505. package/dist/x2y2-3W5BBMZC.js.map +0 -1
  506. package/dist/zora-6EY6FUH6.js.map +0 -1
  507. package/postcss.config.mjs +0 -5
  508. package/src/react/_internal/api/zod-schema.ts +0 -678
  509. package/src/react/hooks/__tests__/__snapshots__/useRoyaltyPercentage.test.tsx.snap +0 -8
  510. package/src/react/hooks/options/collectionOptions.ts +0 -41
  511. package/src/react/hooks/useCheckoutOptions.tsx +0 -65
  512. package/src/react/hooks/useCollectionDetails.tsx +0 -35
  513. package/src/react/hooks/useGetTokenSuppliesMap.ts +0 -28
  514. package/src/react/hooks/useListTokenMetadata.ts +0 -19
  515. package/src/react/queries/getTokenSupplies.ts +0 -38
  516. package/src/react/ui/components/collectible-card/CollectibleCard.tsx +0 -170
  517. package/src/react/ui/components/collectible-card/Footer.tsx +0 -157
  518. package/src/react/ui/components/collectible-card/__tests__/CollectibleCard.test.tsx +0 -94
  519. package/src/react/ui/components/collectible-card/__tests__/Footer.test.tsx +0 -136
  520. package/src/react/ui/components/collectible-card/__tests__/Media.test.tsx +0 -264
  521. package/src/react/ui/components/collectible-card/index.ts +0 -2
  522. package/src/react/ui/modals/BuyModal/ERC1155QuantityModal.tsx +0 -130
  523. package/src/react/ui/modals/BuyModal/Modal.tsx +0 -124
  524. package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx +0 -104
  525. package/src/react/ui/modals/BuyModal/hooks/useFees.ts +0 -39
  526. package/src/react/ui/modals/SuccessfulPurchaseModal/_store.ts +0 -72
  527. package/tsconfig.tsbuildinfo +0 -1
  528. package/tsup.config.ts +0 -23
  529. /package/src/react/ui/components/{collectible-card/media → media}/MediaSkeleton.tsx +0 -0
  530. /package/src/react/ui/components/{collectible-card/media → media}/utils.ts +0 -0
@@ -1,11 +1,3 @@
1
- import {
2
- ERC1155_ABI,
3
- ERC20_ABI,
4
- ERC721_ABI
5
- } from "../../../chunk-FUM4OGOQ.js";
6
- export {
7
- ERC1155_ABI,
8
- ERC20_ABI,
9
- ERC721_ABI
10
- };
11
- //# sourceMappingURL=index.js.map
1
+ import { ERC1155_ABI, ERC20_ABI, ERC721_ABI, SEQUENCE_1155_ITEMS_ABI } from "../../../token-Da4TdyUk.js";
2
+
3
+ export { ERC1155_ABI, ERC20_ABI, ERC721_ABI, SEQUENCE_1155_ITEMS_ABI };
@@ -1,91 +1,8 @@
1
- export { EIP2981_ABI, SequenceMarketplaceV1_ABI, SequenceMarketplaceV2_ABI } from './abi/marketplace/index.js';
2
- export { ERC1155_ABI, ERC20_ABI, ERC721_ABI } from './abi/token/index.js';
3
- export { ERC1155_SALES_CONTRACT_ABI, ERC721_SALE_ABI } from './abi/primary-sale/index.js';
4
- import { Image } from '@0xsequence/design-system';
5
- import { ComponentType } from 'react';
6
- import { M as MarketplaceKind } from '../marketplace.gen-D24veUQs.js';
7
- import { NetworkConfig } from '@0xsequence/network';
8
- import { Chain } from 'viem';
9
- import { ClassValue } from 'clsx';
10
-
11
- declare const truncateMiddle: (address: string, minPrefix?: number, minSuffix?: number) => string;
12
- declare const truncateEnd: (text: string | undefined, truncateAt: number) => string;
13
- declare const compareAddress: (a?: string, b?: string) => boolean;
14
-
15
- declare const getPresentableChainName: (chainId: number) => string;
16
-
17
- type CalculatePriceDifferencePercentageArgs = {
18
- inputPriceRaw: bigint;
19
- basePriceRaw: bigint;
20
- decimals: number;
21
- };
22
- /**
23
- * Calculates the percentage difference between two prices
24
- * @param args - Object containing input price, base price, and decimals
25
- * @returns The percentage difference as a string with 2 decimal places
26
- * @example
27
- * ```ts
28
- * const diff = calculatePriceDifferencePercentage({
29
- * inputPriceRaw: 1000000n,
30
- * basePriceRaw: 900000n,
31
- * decimals: 6
32
- * }); // Returns "11.11"
33
- * ```
34
- */
35
- declare const calculatePriceDifferencePercentage: ({ inputPriceRaw, basePriceRaw, decimals, }: CalculatePriceDifferencePercentageArgs) => string;
36
- /**
37
- * Formats a raw price amount with the specified number of decimal places
38
- * @param amount - The raw price amount as a bigint
39
- * @param decimals - Number of decimal places to format to
40
- * @returns Formatted price string with proper decimal and thousands separators
41
- * @example
42
- * ```ts
43
- * const formatted = formatPrice(1000000n, 6); // Returns "1.000000"
44
- * ```
45
- */
46
- declare const formatPrice: (amount: bigint, decimals: number) => string;
47
- /**
48
- * Calculates the final earnings amount after applying multiple fee percentages
49
- * @param amount - The raw amount as a bigint (e.g., from a blockchain transaction)
50
- * @param decimals - The number of decimal places for the currency (e.g., 18 for ETH, 6 for USDC)
51
- * @param fees - Array of fee percentages to apply (e.g., [2.5, 1.0] for 2.5% and 1% fees)
52
- * @returns Formatted string representing the final earnings after all fees are applied
53
- * @throws Will return '0' if there's an error in calculation
54
- * @example
55
- * ```ts
56
- * const earnings = calculateEarningsAfterFees(
57
- * 1000000000000000000n, // 1 ETH
58
- * 18, // ETH decimals
59
- * [2.5, 1.0] // 2.5% and 1% fees
60
- * ); // Returns "0.96525" (1 ETH after 2.5% and 1% fees)
61
- * ```
62
- */
63
- declare const calculateEarningsAfterFees: (amount: bigint, decimals: number, fees: number[]) => string;
64
- /**
65
- * Formats a price amount with fee applied
66
- * @param amount - The raw price amount as a bigint
67
- * @param decimals - Number of decimal places for the currency
68
- * @param feePercentage - Fee percentage to apply (e.g., 3.5 for 3.5%)
69
- * @returns Formatted price string with fee applied and proper decimal/thousands separators
70
- * @example
71
- * ```ts
72
- * const priceWithFee = formatPriceWithFee(1000000n, 6, 3.5); // Returns "1.035"
73
- * ```
74
- */
75
- declare const formatPriceWithFee: (amount: bigint, decimals: number, feePercentage: number) => string;
76
-
77
- interface Marketplace {
78
- logo: ComponentType<React.ComponentProps<typeof Image>>;
79
- displayName: string;
80
- }
81
- type MarketplaceDetailsProp = {
82
- originName: string;
83
- kind: MarketplaceKind;
84
- };
85
- declare function getMarketplaceDetails({ originName, kind, }: MarketplaceDetailsProp): Marketplace | undefined;
86
-
87
- declare const networkToWagmiChain: (network: NetworkConfig) => Chain;
88
-
89
- declare function cn(...inputs: ClassValue[]): string;
90
-
91
- export { calculateEarningsAfterFees, calculatePriceDifferencePercentage, cn, compareAddress, formatPrice, formatPriceWithFee, getMarketplaceDetails, getPresentableChainName, networkToWagmiChain, truncateEnd, truncateMiddle };
1
+ import "../new-marketplace-types-Bfis0U4J.js";
2
+ import "../index-dUb6wb4Y.js";
3
+ import { EIP2981_ABI, SequenceMarketplaceV1_ABI, SequenceMarketplaceV2_ABI } from "../index-D5v5iluA.js";
4
+ import { ERC1155_SALES_CONTRACT_ABI, ERC721_SALE_ABI } from "../index-CLy8y5hm.js";
5
+ import { ERC1155_ABI, ERC20_ABI, ERC721_ABI, SEQUENCE_1155_ITEMS_ABI } from "../index-BL9RUSEK.js";
6
+ import "../index-C39K_8SG.js";
7
+ import { calculateEarningsAfterFees, calculatePriceDifferencePercentage, cn, compareAddress, formatPrice, formatPriceWithFee, getMarketplaceDetails, getPresentableChainName, networkToWagmiChain, truncateEnd, truncateMiddle } from "../index-21LE7OhL.js";
8
+ export { EIP2981_ABI, ERC1155_ABI, ERC1155_SALES_CONTRACT_ABI, ERC20_ABI, ERC721_ABI, ERC721_SALE_ABI, SEQUENCE_1155_ITEMS_ABI, SequenceMarketplaceV1_ABI, SequenceMarketplaceV2_ABI, calculateEarningsAfterFees, calculatePriceDifferencePercentage, cn, compareAddress, formatPrice, formatPriceWithFee, getMarketplaceDetails, getPresentableChainName, networkToWagmiChain, truncateEnd, truncateMiddle };
@@ -1,57 +1,11 @@
1
- import {
2
- calculateEarningsAfterFees,
3
- calculatePriceDifferencePercentage,
4
- cn,
5
- compareAddress,
6
- formatPrice,
7
- formatPriceWithFee,
8
- getMarketplaceDetails,
9
- getPresentableChainName,
10
- networkToWagmiChain,
11
- truncateEnd,
12
- truncateMiddle
13
- } from "../chunk-5O44EPXZ.js";
14
- import "../chunk-5C6ZZ6WX.js";
15
- import "../chunk-6CTFVBKU.js";
16
- import {
17
- ERC1155_ABI,
18
- ERC20_ABI,
19
- ERC721_ABI
20
- } from "../chunk-FUM4OGOQ.js";
21
- import {
22
- ERC1155_SALES_CONTRACT_ABI,
23
- ERC721_SALE_ABI
24
- } from "../chunk-Q3ECVC4F.js";
25
- import {
26
- EIP2981_ABI,
27
- SequenceMarketplaceV1_ABI,
28
- SequenceMarketplaceV2_ABI
29
- } from "../chunk-XX4EVWBF.js";
30
- import "../chunk-2PSNAIAT.js";
31
- import "../chunk-YB5UUF2G.js";
32
- import "../chunk-6OPMUCGX.js";
33
- import "../chunk-OAOONM4S.js";
34
- import "../chunk-XABYNWXO.js";
35
- import "../chunk-NX52D7NX.js";
36
- export {
37
- EIP2981_ABI,
38
- ERC1155_ABI,
39
- ERC1155_SALES_CONTRACT_ABI,
40
- ERC20_ABI,
41
- ERC721_ABI,
42
- ERC721_SALE_ABI,
43
- SequenceMarketplaceV1_ABI,
44
- SequenceMarketplaceV2_ABI,
45
- calculateEarningsAfterFees,
46
- calculatePriceDifferencePercentage,
47
- cn,
48
- compareAddress,
49
- formatPrice,
50
- formatPriceWithFee,
51
- getMarketplaceDetails,
52
- getPresentableChainName,
53
- networkToWagmiChain,
54
- truncateEnd,
55
- truncateMiddle
56
- };
57
- //# sourceMappingURL=index.js.map
1
+ import "../builder.gen-B9wR2nvF.js";
2
+ import "../marketplace.gen-BSDIX7NZ.js";
3
+ import "../types-DwWE6xOF.js";
4
+ import { EIP2981_ABI, SequenceMarketplaceV1_ABI, SequenceMarketplaceV2_ABI } from "../marketplace-nwnZv9Cb.js";
5
+ import { ERC1155_SALES_CONTRACT_ABI, ERC721_SALE_ABI } from "../primary-sale-C55ALnfQ.js";
6
+ import { ERC1155_ABI, ERC20_ABI, ERC721_ABI, SEQUENCE_1155_ITEMS_ABI } from "../token-Da4TdyUk.js";
7
+ import "../abi-BKyRjVcZ.js";
8
+ import { calculateEarningsAfterFees, calculatePriceDifferencePercentage, cn, compareAddress, formatPrice, formatPriceWithFee, getMarketplaceDetails, getPresentableChainName, networkToWagmiChain, truncateEnd, truncateMiddle } from "../utils-CW2NA5KG.js";
9
+ import "../marketplace-logos-CSeGcPW4.js";
10
+
11
+ export { EIP2981_ABI, ERC1155_ABI, ERC1155_SALES_CONTRACT_ABI, ERC20_ABI, ERC721_ABI, ERC721_SALE_ABI, SEQUENCE_1155_ITEMS_ABI, SequenceMarketplaceV1_ABI, SequenceMarketplaceV2_ABI, calculateEarningsAfterFees, calculatePriceDifferencePercentage, cn, compareAddress, formatPrice, formatPriceWithFee, getMarketplaceDetails, getPresentableChainName, networkToWagmiChain, truncateEnd, truncateMiddle };
@@ -0,0 +1,44 @@
1
+ import { ContractType } from "./marketplace.gen-BSDIX7NZ.js";
2
+ import { formatUnits } from "viem";
3
+
4
+ //#region src/react/ui/components/marketplace-collectible-card/utils/formatPrice.ts
5
+ const OVERFLOW_PRICE = 1e8;
6
+ const UNDERFLOW_PRICE = 1e-4;
7
+ const formatPriceNumber = (amount, decimals) => {
8
+ const formattedPrice = formatUnits(BigInt(amount), decimals);
9
+ const numericPrice = Number.parseFloat(formattedPrice);
10
+ if (numericPrice < UNDERFLOW_PRICE) return {
11
+ formattedNumber: UNDERFLOW_PRICE.toString(),
12
+ isUnderflow: true,
13
+ isOverflow: false
14
+ };
15
+ if (numericPrice > OVERFLOW_PRICE) return {
16
+ formattedNumber: OVERFLOW_PRICE.toLocaleString("en-US", { maximumFractionDigits: 2 }),
17
+ isUnderflow: false,
18
+ isOverflow: true
19
+ };
20
+ const maxDecimals = numericPrice < .01 ? 6 : 4;
21
+ return {
22
+ formattedNumber: numericPrice.toLocaleString("en-US", {
23
+ minimumFractionDigits: 0,
24
+ maximumFractionDigits: maxDecimals
25
+ }),
26
+ isUnderflow: false,
27
+ isOverflow: false
28
+ };
29
+ };
30
+
31
+ //#endregion
32
+ //#region src/react/ui/components/marketplace-collectible-card/utils/supplyStatus.ts
33
+ const getSupplyStatusText = ({ quantityInitial, quantityRemaining, collectionType }) => {
34
+ const hasUnlimitedSupplyCap = quantityInitial === Number.POSITIVE_INFINITY.toString();
35
+ if (hasUnlimitedSupplyCap) return "Unlimited Supply";
36
+ if (collectionType === ContractType.ERC721 && quantityRemaining === void 0) return "Out of stock";
37
+ if (collectionType === ContractType.ERC1155 && !hasUnlimitedSupplyCap && quantityRemaining === "0") return "Out of stock";
38
+ if (quantityRemaining && Number(quantityRemaining) > 0) return `Supply: ${quantityRemaining}`;
39
+ return "Out of stock";
40
+ };
41
+
42
+ //#endregion
43
+ export { OVERFLOW_PRICE, UNDERFLOW_PRICE, formatPriceNumber, getSupplyStatusText };
44
+ //# sourceMappingURL=utils-BPYfgDSL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-BPYfgDSL.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\tquantityInitial,\n\tquantityRemaining,\n\tcollectionType,\n}: {\n\tquantityInitial: string | undefined;\n\tquantityRemaining: string | undefined;\n\tcollectionType: ContractType;\n}): string => {\n\tconst hasUnlimitedSupplyCap =\n\t\tquantityInitial === Number.POSITIVE_INFINITY.toString();\n\n\tif (hasUnlimitedSupplyCap) {\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!hasUnlimitedSupplyCap &&\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,iBACA,mBACA,gBAKA,KAAa;CACb,MAAM,wBACL,oBAAoB,OAAO,kBAAkB,UAAU;AAExD,KAAI,sBACH,QAAO;AAGR,KACC,mBAAmB,aAAa,UAChC,6BAEA,QAAO;AAGR,KACC,mBAAmB,aAAa,YAC/B,yBACD,sBAAsB,IAEtB,QAAO;AAGR,KAAI,qBAAqB,OAAO,kBAAkB,GAAG,EACpD,SAAQ,UAAU,kBAAkB;AAGrC,QAAO;AACP"}
@@ -0,0 +1,216 @@
1
+ import { MarketplaceKind } from "./marketplace.gen-BSDIX7NZ.js";
2
+ import { AlienSwapLogo, BlurLogo, LooksRareLogo, MagicEdenLogo, MintifyLogo, OpenSeaLogo, SequenceLogo, X2y2Logo } from "./marketplace-logos-CSeGcPW4.js";
3
+ import { networks } from "@0xsequence/network";
4
+ import { clsx } from "clsx";
5
+ import { twMerge } from "tailwind-merge";
6
+ import * as dn from "dnum";
7
+ import { formatUnits } from "viem";
8
+
9
+ //#region src/utils/address.ts
10
+ const truncateMiddle = (address, minPrefix = 20, minSuffix = 3) => {
11
+ if (minPrefix + minSuffix >= 40) return address;
12
+ return `${address.substring(0, 2 + minPrefix)}…${address.substring(address.length - minSuffix)}`;
13
+ };
14
+ const truncateEnd = (text, truncateAt) => {
15
+ if (!text) return "";
16
+ let finalText = text;
17
+ if (text.length >= truncateAt) finalText = `${text.slice(0, truncateAt)}...`;
18
+ return finalText;
19
+ };
20
+ const compareAddress = (a = "", b = "") => {
21
+ return a.toLowerCase() === b.toLowerCase();
22
+ };
23
+
24
+ //#endregion
25
+ //#region src/utils/cn.ts
26
+ function cn(...inputs) {
27
+ return twMerge(clsx(inputs));
28
+ }
29
+
30
+ //#endregion
31
+ //#region src/utils/getMarketplaceDetails.ts
32
+ const MARKETPLACES = {
33
+ sequence: {
34
+ logo: SequenceLogo,
35
+ displayName: "Sequence"
36
+ },
37
+ opensea: {
38
+ logo: OpenSeaLogo,
39
+ displayName: "OpenSea"
40
+ },
41
+ magiceden: {
42
+ logo: MagicEdenLogo,
43
+ displayName: "Magic Eden"
44
+ },
45
+ mintify: {
46
+ logo: MintifyLogo,
47
+ displayName: "Mintify"
48
+ },
49
+ looksrare: {
50
+ logo: LooksRareLogo,
51
+ displayName: "Looks Rare"
52
+ },
53
+ x2y2: {
54
+ logo: X2y2Logo,
55
+ displayName: "X2Y2"
56
+ },
57
+ blur: {
58
+ logo: BlurLogo,
59
+ displayName: "Blur"
60
+ },
61
+ alienswap: {
62
+ logo: AlienSwapLogo,
63
+ displayName: "AlienSwap"
64
+ }
65
+ };
66
+ const KIND_TO_MARKETPLACE = {
67
+ [MarketplaceKind.sequence_marketplace_v1]: "sequence",
68
+ [MarketplaceKind.sequence_marketplace_v2]: "sequence",
69
+ [MarketplaceKind.opensea]: "opensea",
70
+ [MarketplaceKind.mintify]: "mintify",
71
+ [MarketplaceKind.looks_rare]: "looksrare",
72
+ [MarketplaceKind.x2y2]: "x2y2",
73
+ [MarketplaceKind.blur]: "blur",
74
+ [MarketplaceKind.magic_eden]: "magiceden"
75
+ };
76
+ function getMarketplaceDetails({ originName, kind }) {
77
+ if (kind === MarketplaceKind.sequence_marketplace_v1 || kind === MarketplaceKind.sequence_marketplace_v2) return MARKETPLACES.sequence;
78
+ let name = originName.toLowerCase();
79
+ try {
80
+ new URL(name);
81
+ name = getRootDomain(name) || name;
82
+ } catch {}
83
+ name = name.replace(/ /g, "");
84
+ const details = MARKETPLACES[name];
85
+ if (details) return details;
86
+ if (KIND_TO_MARKETPLACE[kind]) return MARKETPLACES[KIND_TO_MARKETPLACE[kind]];
87
+ }
88
+ function getRootDomain(url) {
89
+ const domain = url.replace(/^(https?:\/\/)?(www\.)?/, "");
90
+ const parts = domain.split(".");
91
+ return parts[parts.length - 2] || parts[0];
92
+ }
93
+
94
+ //#endregion
95
+ //#region src/utils/network.ts
96
+ const getPresentableChainName = (chainId) => {
97
+ return networks[chainId]?.title ?? "Unknown Network";
98
+ };
99
+
100
+ //#endregion
101
+ //#region src/utils/networkconfigToWagmiChain.ts
102
+ const networkToWagmiChain = (network) => ({
103
+ ...network,
104
+ id: Number(network.chainId),
105
+ name: network.name,
106
+ nativeCurrency: { ...network.nativeToken },
107
+ rpcUrls: {
108
+ default: { http: [network.rpcUrl] },
109
+ public: { http: [network.rpcUrl] }
110
+ }
111
+ });
112
+
113
+ //#endregion
114
+ //#region src/utils/price.ts
115
+ /**
116
+ * Calculates the percentage difference between two prices
117
+ * @param args - Object containing input price, base price, and decimals
118
+ * @returns The percentage difference as a string with 2 decimal places
119
+ * @example
120
+ * ```ts
121
+ * const diff = calculatePriceDifferencePercentage({
122
+ * inputPriceRaw: 1000000n,
123
+ * basePriceRaw: 900000n,
124
+ * decimals: 6
125
+ * }); // Returns "11.11"
126
+ * ```
127
+ */
128
+ const calculatePriceDifferencePercentage = ({ inputPriceRaw, basePriceRaw, decimals }) => {
129
+ const inputPrice = Number(formatUnits(inputPriceRaw, decimals));
130
+ const basePrice = Number(formatUnits(basePriceRaw, decimals));
131
+ const difference = inputPrice - basePrice;
132
+ const percentageDifference = difference / basePrice * 100;
133
+ return percentageDifference.toFixed(2);
134
+ };
135
+ /**
136
+ * Formats a raw price amount with the specified number of decimal places
137
+ * @param amount - The raw price amount as a bigint
138
+ * @param decimals - Number of decimal places to format to
139
+ * @returns Formatted price string with proper decimal and thousands separators
140
+ * @example
141
+ * ```ts
142
+ * const formatted = formatPrice(1000000n, 6); // Returns "1.000000"
143
+ * ```
144
+ */
145
+ const formatPrice = (amount, decimals) => {
146
+ const formattedUnits = Number(formatUnits(amount, decimals));
147
+ return formattedUnits.toLocaleString("en-US", {
148
+ minimumFractionDigits: 0,
149
+ maximumFractionDigits: decimals
150
+ });
151
+ };
152
+ /**
153
+ * Calculates the final earnings amount after applying multiple fee percentages
154
+ * @param amount - The raw amount as a bigint (e.g., from a blockchain transaction)
155
+ * @param decimals - The number of decimal places for the currency (e.g., 18 for ETH, 6 for USDC)
156
+ * @param fees - Array of fee percentages to apply (e.g., [2.5, 1.0] for 2.5% and 1% fees)
157
+ * @returns Formatted string representing the final earnings after all fees are applied
158
+ * @throws Will return '0' if there's an error in calculation
159
+ * @example
160
+ * ```ts
161
+ * const earnings = calculateEarningsAfterFees(
162
+ * 1000000000000000000n, // 1 ETH
163
+ * 18, // ETH decimals
164
+ * [2.5, 1.0] // 2.5% and 1% fees
165
+ * ); // Returns "0.96525" (1 ETH after 2.5% and 1% fees)
166
+ * ```
167
+ */
168
+ const calculateEarningsAfterFees = (amount, decimals, fees) => {
169
+ try {
170
+ const decimalAmount = Number(formatUnits(amount, decimals));
171
+ let earnings = dn.from(decimalAmount.toString(), decimals);
172
+ for (const fee of fees) if (fee > 0) {
173
+ const feeMultiplier = dn.from((1 - fee / 100).toString(), decimals);
174
+ earnings = dn.multiply(earnings, feeMultiplier);
175
+ }
176
+ return dn.format(earnings, {
177
+ digits: decimals,
178
+ trailingZeros: false,
179
+ locale: "en-US"
180
+ });
181
+ } catch (error) {
182
+ console.error("Error calculating earnings after fees:", error);
183
+ return "0";
184
+ }
185
+ };
186
+ /**
187
+ * Formats a price amount with fee applied
188
+ * @param amount - The raw price amount as a bigint
189
+ * @param decimals - Number of decimal places for the currency
190
+ * @param feePercentage - Fee percentage to apply (e.g., 3.5 for 3.5%)
191
+ * @returns Formatted price string with fee applied and proper decimal/thousands separators
192
+ * @example
193
+ * ```ts
194
+ * const priceWithFee = formatPriceWithFee(1000000n, 6, 3.5); // Returns "1.035"
195
+ * ```
196
+ */
197
+ const formatPriceWithFee = (amount, decimals, feePercentage) => {
198
+ try {
199
+ const decimalAmount = Number(formatUnits(amount, decimals));
200
+ const price = dn.from(decimalAmount.toString(), decimals);
201
+ const feeMultiplier = dn.from((1 + feePercentage / 100).toString(), decimals);
202
+ const totalPrice = dn.multiply(price, feeMultiplier);
203
+ return dn.format(totalPrice, {
204
+ digits: decimals,
205
+ trailingZeros: false,
206
+ locale: "en-US"
207
+ });
208
+ } catch (error) {
209
+ console.error("Error formatting price with fee:", error);
210
+ return "0";
211
+ }
212
+ };
213
+
214
+ //#endregion
215
+ export { calculateEarningsAfterFees, calculatePriceDifferencePercentage, cn, compareAddress, formatPrice, formatPriceWithFee, getMarketplaceDetails, getPresentableChainName, networkToWagmiChain, truncateEnd, truncateMiddle };
216
+ //# sourceMappingURL=utils-CW2NA5KG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-CW2NA5KG.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","chainId: number","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/network.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 { networks } from '@0xsequence/network';\n\nexport const getPresentableChainName = (chainId: number) => {\n\treturn networks[chainId as keyof typeof networks]?.title ?? 'Unknown Network';\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,SAAQ,EAAE,QAAQ,UAAU,GAAG,IAAI,UAAU,CAAC,GAAG,QAAQ,UAAU,QAAQ,SAAS,UAAU,CAAC;AAC/F;AAED,MAAa,cAAc,CAACC,MAA0BC,eAAuB;AAC5E,MAAK,KAAM,QAAO;CAElB,IAAI,YAAY;AAEhB,KAAI,KAAK,UAAU,WAClB,cAAa,EAAE,KAAK,MAAM,GAAG,WAAW,CAAC;AAG1C,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;AAEH,MAAI,IAAI;AAER,SAAO,cAAc,KAAK,IAAI;CAC9B,QAAO,CAAE;AAEV,QAAO,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;;;;AC5GD,MAAa,0BAA0B,CAACC,YAAoB;AAC3D,QAAO,SAAS,UAAmC,SAAS;AAC5D;;;;ACDD,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,KAAK,CAAC,IAAI,MAAM,KAAK,UAAU,EAAE,SAAS;AACnE,cAAW,GAAG,SAAS,UAAU,cAAc;EAC/C;AAGF,SAAO,GAAG,OAAO,UAAU;GAC1B,QAAQ;GACR,eAAe;GACf,QAAQ;EACR,EAAC;CACF,SAAQ,OAAO;AACf,UAAQ,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,KACxB,CAAC,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;AACf,UAAQ,MAAM,oCAAoC,MAAM;AACxD,SAAO;CACP;AACD"}
@@ -0,0 +1,166 @@
1
+ import { MarketplaceWalletType } from "./builder.gen-B9wR2nvF.js";
2
+ import { MissingConfigError } from "./transaction-CcVViHEL.js";
3
+ import { allNetworks, findNetworkConfig } from "@0xsequence/network";
4
+ import { apple, appleWaas, coinbaseWallet, ecosystemWallet, email, emailWaas, facebook, getConnectWallets, getDefaultChains, google, googleWaas, sequence, twitch, walletConnect } from "@0xsequence/connect";
5
+ import { cookieStorage, createConfig, createStorage, http } from "wagmi";
6
+ import React from "react";
7
+
8
+ //#region src/react/_internal/consts.ts
9
+ const DEFAULT_NETWORK = 137;
10
+
11
+ //#endregion
12
+ //#region src/react/_internal/wagmi/get-connectors.ts
13
+ function getConnectors({ marketplaceConfig, sdkConfig, walletType }) {
14
+ const connectors = commonConnectors(marketplaceConfig, sdkConfig);
15
+ if (walletType === MarketplaceWalletType.UNIVERSAL) connectors.push(...getUniversalWalletConfigs(sdkConfig, marketplaceConfig));
16
+ else if (walletType === MarketplaceWalletType.EMBEDDED) connectors.push(...getWaasConnectors(sdkConfig, marketplaceConfig));
17
+ else if (walletType === MarketplaceWalletType.ECOSYSTEM) connectors.push(getEcosystemConnector(marketplaceConfig, sdkConfig));
18
+ else throw new Error("Invalid wallet type");
19
+ return getConnectWallets(sdkConfig.projectAccessKey, connectors);
20
+ }
21
+ function commonConnectors(marketplaceConfig, sdkConfig) {
22
+ const wallets = [];
23
+ const { title: appName } = marketplaceConfig.settings;
24
+ const walletOptions = marketplaceConfig.settings.walletOptions;
25
+ const walletConnectProjectId = sdkConfig.walletConnectProjectId;
26
+ if (walletOptions.connectors.includes("coinbase")) wallets.push(coinbaseWallet({ appName }));
27
+ if (walletConnectProjectId && walletOptions.connectors.includes("walletconnect")) wallets.push(walletConnect({ projectId: walletConnectProjectId }));
28
+ return wallets;
29
+ }
30
+ function getUniversalWalletConfigs(config, marketplaceConfig) {
31
+ const sequenceWalletOverrides = config._internal?.overrides?.api?.sequenceWallet;
32
+ const sequenceWalletUrl = sequenceWalletOverrides?.url || getSequenceWalletURL(sequenceWalletOverrides?.env || "production");
33
+ const projectAccessKey = sequenceWalletOverrides?.accessKey || config.projectAccessKey;
34
+ const sequenceWalletOptions = {
35
+ walletAppURL: sequenceWalletUrl,
36
+ defaultNetwork: DEFAULT_NETWORK,
37
+ connect: {
38
+ projectAccessKey,
39
+ app: marketplaceConfig.settings.title,
40
+ settings: { bannerUrl: marketplaceConfig.market.ogImage }
41
+ }
42
+ };
43
+ return [
44
+ sequence(sequenceWalletOptions),
45
+ email(sequenceWalletOptions),
46
+ facebook(sequenceWalletOptions),
47
+ google(sequenceWalletOptions),
48
+ apple(sequenceWalletOptions),
49
+ twitch(sequenceWalletOptions)
50
+ ];
51
+ }
52
+ function getWaasConnectors(config, marketplaceConfig) {
53
+ const { projectAccessKey } = config;
54
+ const waasConfigKey = marketplaceConfig.settings.walletOptions.embedded?.tenantKey;
55
+ if (!waasConfigKey) throw new MissingConfigError("Embedded wallet config is missing, please check your access key");
56
+ const waasOptions = marketplaceConfig.settings.walletOptions.oidcIssuers;
57
+ const googleClientId = waasOptions.google;
58
+ const appleClientId = waasOptions.apple;
59
+ const appleRedirectURI = typeof window !== "undefined" ? `${window.location.origin}${window.location.pathname}` : void 0;
60
+ const wallets = [];
61
+ if (marketplaceConfig.settings.walletOptions.embedded?.emailEnabled) wallets.push(emailWaas({
62
+ projectAccessKey,
63
+ waasConfigKey
64
+ }));
65
+ if (googleClientId) wallets.push(googleWaas({
66
+ projectAccessKey,
67
+ googleClientId,
68
+ waasConfigKey,
69
+ network: DEFAULT_NETWORK
70
+ }));
71
+ if (appleClientId) wallets.push(appleWaas({
72
+ projectAccessKey,
73
+ appleClientId,
74
+ appleRedirectURI,
75
+ waasConfigKey,
76
+ network: DEFAULT_NETWORK
77
+ }));
78
+ return wallets;
79
+ }
80
+ function getEcosystemConnector(marketplaceConfig, sdkConfig) {
81
+ const ecosystemOptions = marketplaceConfig.settings.walletOptions.ecosystem;
82
+ if (!ecosystemOptions) throw new MissingConfigError("ecosystem");
83
+ const { walletAppName, walletUrl, logoDarkUrl, logoLightUrl } = ecosystemOptions;
84
+ return ecosystemWallet({
85
+ projectAccessKey: sdkConfig.projectAccessKey,
86
+ walletUrl,
87
+ name: walletAppName,
88
+ defaultNetwork: DEFAULT_NETWORK,
89
+ logoDark: getEcosystemLogo(logoDarkUrl, walletAppName),
90
+ logoLight: getEcosystemLogo(logoLightUrl, walletAppName)
91
+ });
92
+ }
93
+ function getEcosystemLogo(url, name) {
94
+ if (!url) return () => null;
95
+ const Logo = () => React.createElement("img", {
96
+ src: url,
97
+ alt: name,
98
+ width: 32,
99
+ height: 32
100
+ });
101
+ Logo.displayName = "EcosystemLogo";
102
+ return Logo;
103
+ }
104
+ function getSequenceWalletURL(env) {
105
+ switch (env) {
106
+ case "development": return "https://dev.sequence.app";
107
+ case "next": return "https://next.sequence.app";
108
+ case "production":
109
+ default: return "https://sequence.app";
110
+ }
111
+ }
112
+
113
+ //#endregion
114
+ //#region src/react/_internal/wagmi/create-config.ts
115
+ const createWagmiConfig = (marketplaceConfig, sdkConfig, ssr) => {
116
+ const chains = getChainConfigs(marketplaceConfig);
117
+ const nodeGatewayOverrides = sdkConfig._internal?.overrides?.api?.nodeGateway;
118
+ const nodeGatewayEnv = nodeGatewayOverrides?.env ?? "production";
119
+ const nodeGatewayUrl = nodeGatewayOverrides?.url;
120
+ const projectAccessKey = nodeGatewayOverrides?.accessKey ?? sdkConfig.projectAccessKey;
121
+ const transports = getTransportConfigs(chains, projectAccessKey, nodeGatewayEnv, nodeGatewayUrl);
122
+ const walletType = marketplaceConfig.settings.walletOptions.walletType;
123
+ const connectors = getConnectors({
124
+ marketplaceConfig,
125
+ sdkConfig,
126
+ walletType
127
+ });
128
+ const multiInjectedProviderDiscovery = marketplaceConfig.settings.walletOptions.includeEIP6963Wallets;
129
+ return createConfig({
130
+ connectors,
131
+ chains,
132
+ ssr,
133
+ multiInjectedProviderDiscovery,
134
+ storage: ssr ? createStorage({ storage: cookieStorage }) : void 0,
135
+ transports
136
+ });
137
+ };
138
+ function getAllCollections(marketConfig) {
139
+ return [...marketConfig.market.collections, ...marketConfig.shop.collections];
140
+ }
141
+ function getChainConfigs(marketConfig) {
142
+ const supportedChainIds = new Set(getAllCollections(marketConfig).map((c) => c.chainId));
143
+ if (supportedChainIds.size === 0) supportedChainIds.add(DEFAULT_NETWORK);
144
+ const chains = getDefaultChains([...supportedChainIds]);
145
+ return chains;
146
+ }
147
+ function getTransportConfigs(chains, projectAccessKey, nodeGatewayEnv, nodeGatewayUrl) {
148
+ return chains.reduce((acc, chain) => {
149
+ const network = findNetworkConfig(allNetworks, chain.id);
150
+ if (network) {
151
+ let rpcUrl;
152
+ if (nodeGatewayUrl) rpcUrl = nodeGatewayUrl;
153
+ else {
154
+ rpcUrl = network.rpcUrl;
155
+ if (nodeGatewayEnv === "development") rpcUrl = rpcUrl.replace("nodes.", "dev-nodes.");
156
+ if (!network.rpcUrl.endsWith(projectAccessKey)) rpcUrl = `${rpcUrl}/${projectAccessKey}`;
157
+ }
158
+ acc[chain.id] = http(rpcUrl);
159
+ }
160
+ return acc;
161
+ }, {});
162
+ }
163
+
164
+ //#endregion
165
+ export { DEFAULT_NETWORK, createWagmiConfig, getConnectors, getEcosystemConnector, getWaasConnectors };
166
+ //# sourceMappingURL=wagmi-CDzEQbfk.js.map