@0xsequence/marketplace-sdk 0.8.11 → 0.8.12

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 (404) hide show
  1. package/CHANGELOG.md +166 -0
  2. package/dist/CartIcon-Bll1rbxv.js +141 -0
  3. package/dist/CartIcon-Bll1rbxv.js.map +1 -0
  4. package/dist/CollectibleCard-CLQTl0_6.d.ts +8 -0
  5. package/dist/_internal-69NEWNUE.js +34 -0
  6. package/dist/_internal-69NEWNUE.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-1KFxYh7o.js +232 -0
  11. package/dist/api-1KFxYh7o.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-BQvzykoU.js +28 -0
  19. package/dist/builder-api-BQvzykoU.js.map +1 -0
  20. package/dist/builder-api-DoK3907S.d.ts +12 -0
  21. package/dist/builder.gen-CxP9NT1p.js +303 -0
  22. package/dist/builder.gen-CxP9NT1p.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-1bezgsFq.d.ts +1129 -0
  30. package/dist/index-4-kfOFdx.d.ts +22 -0
  31. package/dist/index-BEYefG1G.d.ts +24 -0
  32. package/dist/index-BHiSG-Yi.d.ts +312 -0
  33. package/dist/index-BIMIpDiI.d.ts +188 -0
  34. package/dist/index-BQW0PUkQ.d.ts +3973 -0
  35. package/dist/index-BfH21xmk.d.ts +117 -0
  36. package/dist/index-BjIwVzc4.d.ts +1057 -0
  37. package/dist/index-C39K_8SG.d.ts +1 -0
  38. package/dist/index-CN8puQQJ.d.ts +24 -0
  39. package/dist/index-Cl7PQOGu.d.ts +102 -0
  40. package/dist/index-D5v5iluA.d.ts +809 -0
  41. package/dist/index-DXMfTZ1F.d.ts +7 -0
  42. package/dist/index-DafWjEb4.d.ts +65 -0
  43. package/dist/index-ij9f8GAA.d.ts +1 -0
  44. package/dist/index.css +384 -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-Dqk8vRmD.js +1068 -0
  58. package/dist/marketplace.gen-Dqk8vRmD.js.map +1 -0
  59. package/dist/marketplaceConfig-D2MYFqll.js +71 -0
  60. package/dist/marketplaceConfig-D2MYFqll.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/{nftx-AX3CY3IE.js → nftx-D3Tc8nzd.js} +5 -5
  64. package/dist/nftx-D3Tc8nzd.js.map +1 -0
  65. package/dist/{okx-GNVLAE2R.js → okx-hbqg6oIJ.js} +5 -5
  66. package/dist/okx-hbqg6oIJ.js.map +1 -0
  67. package/dist/{open-sea-KI43GVEB.js → open-sea-BccuK8-t.js} +5 -5
  68. package/dist/open-sea-BccuK8-t.js.map +1 -0
  69. package/dist/options-DCi6_23w.js +34 -0
  70. package/dist/options-DCi6_23w.js.map +1 -0
  71. package/dist/primary-sale-Cw95phYC.js +1264 -0
  72. package/dist/primary-sale-Cw95phYC.js.map +1 -0
  73. package/dist/queries-DPvwtnO7.js +486 -0
  74. package/dist/queries-DPvwtnO7.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 +17 -3652
  86. package/dist/react/hooks/index.js +23 -153
  87. package/dist/react/hooks/options/index.d.ts +5 -8
  88. package/dist/react/hooks/options/index.js +11 -21
  89. package/dist/react/index.d.ts +37 -33
  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 +10 -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 +10 -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-BG7o4PId.js +8351 -0
  109. package/dist/react-BG7o4PId.js.map +1 -0
  110. package/dist/react-BbHBl6gg.css +80 -0
  111. package/dist/react-BbHBl6gg.css.map +1 -0
  112. package/dist/sdk-config-DJzxVPld.d.ts +1535 -0
  113. package/dist/{sequence-TGLUFEPQ.js → sequence-Do3kzb4J.js} +5 -5
  114. package/dist/sequence-Do3kzb4J.js.map +1 -0
  115. package/dist/src-Dz2CfBL0.js +8 -0
  116. package/dist/src-Dz2CfBL0.js.map +1 -0
  117. package/dist/{sudo-swap-M2O6E3TE.js → sudo-swap-B6vPKxBz.js} +5 -5
  118. package/dist/sudo-swap-B6vPKxBz.js.map +1 -0
  119. package/dist/{super-rare-UU2U4LIN.js → super-rare-eCm1SE6O.js} +5 -5
  120. package/dist/super-rare-eCm1SE6O.js.map +1 -0
  121. package/dist/token-CO5llIla.js +1312 -0
  122. package/dist/token-CO5llIla.js.map +1 -0
  123. package/dist/transaction-CcVViHEL.js +97 -0
  124. package/dist/transaction-CcVViHEL.js.map +1 -0
  125. package/dist/types/index.d.ts +3 -13
  126. package/dist/types/index.js +5 -44
  127. package/dist/types-BIJOaL4j.d.ts +68 -0
  128. package/dist/types-DwWE6xOF.js +13 -0
  129. package/dist/types-DwWE6xOF.js.map +1 -0
  130. package/dist/useCollection-C-mclKU0.d.ts +66 -0
  131. package/dist/utils/abi/index.d.ts +5 -3
  132. package/dist/utils/abi/index.js +6 -26
  133. package/dist/utils/abi/marketplace/index.d.ts +2 -805
  134. package/dist/utils/abi/marketplace/index.js +3 -11
  135. package/dist/utils/abi/primary-sale/index.d.ts +2 -1054
  136. package/dist/utils/abi/primary-sale/index.js +3 -9
  137. package/dist/utils/abi/token/index.d.ts +2 -1125
  138. package/dist/utils/abi/token/index.js +3 -11
  139. package/dist/utils/index.d.ts +8 -91
  140. package/dist/utils/index.js +11 -57
  141. package/dist/utils-BFdxaToy.js +216 -0
  142. package/dist/utils-BFdxaToy.js.map +1 -0
  143. package/dist/utils-Cat9_pef.js +44 -0
  144. package/dist/utils-Cat9_pef.js.map +1 -0
  145. package/dist/wagmi-DRctYEk6.js +159 -0
  146. package/dist/wagmi-DRctYEk6.js.map +1 -0
  147. package/dist/{x2y2-3W5BBMZC.js → x2y2-DD17tT91.js} +5 -5
  148. package/dist/x2y2-DD17tT91.js.map +1 -0
  149. package/dist/{zora-6EY6FUH6.js → zora-BpSG9UzS.js} +5 -5
  150. package/dist/zora-BpSG9UzS.js.map +1 -0
  151. package/package.json +10 -8
  152. package/src/index.ts +0 -1
  153. package/src/react/_internal/api/__mocks__/indexer.msw.ts +1 -0
  154. package/src/react/_internal/api/builder.gen.ts +0 -1
  155. package/src/react/_internal/api/marketplace.gen.ts +467 -26
  156. package/src/react/_internal/api/services.ts +42 -49
  157. package/src/react/_internal/wagmi/__tests__/create-config.test.ts +5 -5
  158. package/src/react/_internal/wagmi/create-config.ts +7 -2
  159. package/src/react/_internal/wagmi/get-connectors.ts +5 -2
  160. package/src/react/hooks/__tests__/__snapshots__/useListCollections.test.tsx.snap +161 -2
  161. package/src/react/hooks/__tests__/__snapshots__/useMarketplaceConfig.test.tsx.snap +44 -6
  162. package/src/react/hooks/__tests__/useAutoSelectFeeOption.test.tsx +7 -4
  163. package/src/react/hooks/__tests__/useCheckoutOptionsSalesContract.test.tsx +225 -0
  164. package/src/react/hooks/__tests__/useCollectionDetailsPolling.test.tsx +3 -3
  165. package/src/react/hooks/__tests__/useGenerateCancelTransaction.test.tsx +2 -3
  166. package/src/react/hooks/__tests__/useHighestOffer.test.tsx +0 -16
  167. package/src/react/hooks/__tests__/useInventory.test.tsx +0 -36
  168. package/src/react/hooks/__tests__/useListCollections.test.tsx +1 -1
  169. package/src/react/hooks/index.ts +7 -0
  170. package/src/react/hooks/useBalanceOfCollectible.tsx +13 -9
  171. package/src/react/hooks/useCancelTransactionSteps.tsx +5 -1
  172. package/src/react/hooks/useCheckoutOptions.tsx +2 -1
  173. package/src/react/hooks/useCheckoutOptionsSalesContract.tsx +67 -0
  174. package/src/react/hooks/useCollectionDetails.tsx +22 -7
  175. package/src/react/hooks/useCountListingsForCollectible.tsx +5 -4
  176. package/src/react/hooks/useCountOfCollectables.tsx +10 -7
  177. package/src/react/hooks/useCountOffersForCollectible.tsx +5 -4
  178. package/src/react/hooks/useCurrency.tsx +2 -2
  179. package/src/react/hooks/useERC721SaleMintedTokens.tsx +67 -0
  180. package/src/react/hooks/useFloorOrder.tsx +5 -2
  181. package/src/react/hooks/useGenerateCancelTransaction.tsx +13 -6
  182. package/src/react/hooks/useGenerateListingTransaction.tsx +15 -5
  183. package/src/react/hooks/useGenerateOfferTransaction.tsx +15 -6
  184. package/src/react/hooks/useGenerateSellTransaction.tsx +15 -6
  185. package/src/react/hooks/useGetTokenSuppliesMap.ts +5 -0
  186. package/src/react/hooks/useInventory.tsx +7 -5
  187. package/src/react/hooks/useList1155ShopCardData.tsx +130 -0
  188. package/src/react/hooks/useList721ShopCardData.tsx +130 -0
  189. package/src/react/hooks/useListBalances.tsx +6 -9
  190. package/src/react/hooks/useListCollectibleActivities.tsx +2 -1
  191. package/src/react/hooks/useListCollectibles.tsx +1 -14
  192. package/src/react/hooks/useListCollectiblesPaginated.tsx +8 -5
  193. package/src/react/hooks/useListCollectionActivities.tsx +2 -1
  194. package/src/react/hooks/useListCollections.tsx +1 -1
  195. package/src/react/hooks/useListListingsForCollectible.tsx +2 -1
  196. package/src/react/hooks/useListMarketCardData.tsx +157 -0
  197. package/src/react/hooks/useListOffersForCollectible.tsx +2 -1
  198. package/src/react/hooks/useListPrimarySaleItems.ts +42 -0
  199. package/src/react/hooks/useTokenSaleDetailsBatch.tsx +134 -0
  200. package/src/react/queries/highestOffer.ts +6 -4
  201. package/src/react/queries/inventory.ts +35 -1
  202. package/src/react/queries/listBalances.ts +14 -30
  203. package/src/react/queries/listCollectibles.ts +60 -7
  204. package/src/react/queries/listCollections.ts +8 -2
  205. package/src/react/queries/listTokenMetadata.ts +6 -1
  206. package/src/react/queries/lowestListing.ts +6 -4
  207. package/src/react/queries/marketCurrencies.ts +11 -7
  208. package/src/react/queries/marketplaceConfig.ts +55 -80
  209. package/src/react/ssr/__tests__/__snapshots__/create-ssr-client.test.ts.snap +44 -6
  210. package/src/react/ssr/__tests__/create-ssr-client.test.ts +0 -3
  211. package/src/react/ssr/create-ssr-client.ts +5 -10
  212. package/src/react/ui/components/_internals/action-button/ActionButton.tsx +47 -13
  213. package/src/react/ui/components/_internals/action-button/__tests__/ActionButtonBody.test.tsx +1 -1
  214. package/src/react/ui/components/_internals/action-button/__tests__/NonOwnerActions.test.tsx +28 -15
  215. package/src/react/ui/components/_internals/action-button/__tests__/OwnerActions.test.tsx +1 -1
  216. package/src/react/ui/components/_internals/action-button/__tests__/useActionButtonLogic.test.tsx +1 -1
  217. package/src/react/ui/components/_internals/action-button/components/ActionButtonBody.tsx +1 -1
  218. package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +78 -15
  219. package/src/react/ui/components/_internals/action-button/components/OwnerActions.tsx +1 -1
  220. package/src/react/ui/components/_internals/action-button/hooks/useActionButtonLogic.ts +1 -1
  221. package/src/react/ui/components/marketplace-collectible-card/CollectibleCard.tsx +17 -0
  222. package/src/react/ui/components/marketplace-collectible-card/CollectibleCardSkeleton.tsx +24 -0
  223. package/src/react/ui/components/marketplace-collectible-card/Footer.tsx +231 -0
  224. package/src/react/ui/components/marketplace-collectible-card/components/ActionButtonWrapper.tsx +76 -0
  225. package/src/react/ui/components/marketplace-collectible-card/components/BaseCard.tsx +55 -0
  226. package/src/react/ui/components/marketplace-collectible-card/index.ts +3 -0
  227. package/src/react/ui/components/marketplace-collectible-card/types.ts +95 -0
  228. package/src/react/ui/components/marketplace-collectible-card/utils/formatPrice.ts +45 -0
  229. package/src/react/ui/components/marketplace-collectible-card/utils/index.ts +2 -0
  230. package/src/react/ui/components/marketplace-collectible-card/utils/supplyStatus.ts +39 -0
  231. package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +124 -0
  232. package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +105 -0
  233. package/src/react/ui/components/{collectible-card/media → media}/Media.tsx +42 -25
  234. package/src/react/ui/components/{collectible-card/media → media}/types.ts +3 -1
  235. package/src/react/ui/index.ts +5 -2
  236. package/src/react/ui/modals/BuyModal/__tests__/BuyModalRouter.test.tsx +554 -0
  237. package/src/react/ui/modals/BuyModal/__tests__/ERC1155ShopModal.test.tsx +385 -0
  238. package/src/react/ui/modals/BuyModal/__tests__/ERC721ShopModal.test.tsx +272 -0
  239. package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx.bak +112 -0
  240. package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +117 -13
  241. package/src/react/ui/modals/BuyModal/__tests__/store.test.ts +10 -7
  242. package/src/react/ui/modals/BuyModal/components/BuyModalRouter.tsx +157 -0
  243. package/src/react/ui/modals/BuyModal/components/ERC1155BuyModal.tsx +136 -0
  244. package/src/react/ui/modals/BuyModal/components/ERC1155QuantityModal.tsx +184 -0
  245. package/src/react/ui/modals/BuyModal/components/ERC1155ShopModal.tsx +121 -0
  246. package/src/react/ui/modals/BuyModal/components/ERC721BuyModal.tsx +85 -0
  247. package/src/react/ui/modals/BuyModal/components/ERC721ShopModal.tsx +86 -0
  248. package/src/react/ui/modals/BuyModal/components/Modal.tsx +14 -0
  249. package/src/react/ui/modals/BuyModal/components/types.ts +8 -0
  250. package/src/react/ui/modals/BuyModal/hooks/__tests__/useCheckoutOptions.test.tsx +4 -4
  251. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC1155Checkout.test.tsx +379 -0
  252. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC721SalePaymentParams.test.tsx +253 -0
  253. package/src/react/ui/modals/BuyModal/hooks/__tests__/{useFees.test.tsx → useMarketPlatformFee.test.tsx} +10 -11
  254. package/src/react/ui/modals/BuyModal/hooks/useCheckoutOptions.ts +62 -44
  255. package/src/react/ui/modals/BuyModal/hooks/useERC1155Checkout.ts +73 -0
  256. package/src/react/ui/modals/BuyModal/hooks/useERC721SalePaymentParams.ts +196 -0
  257. package/src/react/ui/modals/BuyModal/hooks/useLoadData.ts +74 -18
  258. package/src/react/ui/modals/BuyModal/hooks/useMarketPlatformFee.ts +53 -0
  259. package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +27 -12
  260. package/src/react/ui/modals/BuyModal/store.ts +147 -13
  261. package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +2 -1
  262. package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +5 -3
  263. package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +2 -1
  264. package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +5 -3
  265. package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +4 -3
  266. package/src/react/ui/modals/SellModal/hooks/useTransactionSteps.tsx +6 -3
  267. package/src/react/ui/modals/SuccessfulPurchaseModal/__tests__/Modal.test.tsx +11 -7
  268. package/src/react/ui/modals/SuccessfulPurchaseModal/index.tsx +34 -28
  269. package/src/react/ui/modals/SuccessfulPurchaseModal/store.ts +71 -0
  270. package/src/react/ui/modals/_internal/components/actionModal/ActionModal.test.tsx +0 -1
  271. package/src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx +105 -108
  272. package/src/react/ui/modals/_internal/components/actionModal/store.ts +45 -12
  273. package/src/react/ui/modals/_internal/components/switchChainModal/__tests__/SwitchChainModal.test.tsx +12 -8
  274. package/src/react/ui/modals/_internal/components/switchChainModal/index.tsx +35 -33
  275. package/src/react/ui/modals/_internal/components/switchChainModal/store.ts +61 -32
  276. package/src/react/ui/modals/modal-provider.tsx +1 -1
  277. package/src/types/buyModalErrors.ts +438 -0
  278. package/src/types/index.ts +4 -1
  279. package/src/types/new-marketplace-types.ts +6 -21
  280. package/src/types/sdk-config.ts +18 -24
  281. package/src/types/types.ts +16 -0
  282. package/src/utils/_internal/error/transaction.ts +36 -1
  283. package/tsconfig.json +1 -1
  284. package/tsconfig.tsbuildinfo +1 -1
  285. package/tsdown.config.ts +25 -0
  286. package/.ctirc +0 -32
  287. package/dist/alien_swap-2B65TDGT.js.map +0 -1
  288. package/dist/aqua-xyz-WMYQLAIS.js.map +0 -1
  289. package/dist/aura-V22RV5OG.js.map +0 -1
  290. package/dist/blur-GE5QOMCM.js.map +0 -1
  291. package/dist/chunk-2PSNAIAT.js +0 -1
  292. package/dist/chunk-2PSNAIAT.js.map +0 -1
  293. package/dist/chunk-5C6ZZ6WX.js +0 -130
  294. package/dist/chunk-5C6ZZ6WX.js.map +0 -1
  295. package/dist/chunk-5O44EPXZ.js +0 -207
  296. package/dist/chunk-5O44EPXZ.js.map +0 -1
  297. package/dist/chunk-6CTFVBKU.js +0 -1
  298. package/dist/chunk-6CTFVBKU.js.map +0 -1
  299. package/dist/chunk-6OPMUCGX.js +0 -42
  300. package/dist/chunk-6OPMUCGX.js.map +0 -1
  301. package/dist/chunk-FUM4OGOQ.js +0 -1027
  302. package/dist/chunk-FUM4OGOQ.js.map +0 -1
  303. package/dist/chunk-L6KWLCER.js +0 -32
  304. package/dist/chunk-L6KWLCER.js.map +0 -1
  305. package/dist/chunk-LAP2CKLN.js +0 -485
  306. package/dist/chunk-LAP2CKLN.js.map +0 -1
  307. package/dist/chunk-LECCEZAO.js +0 -11
  308. package/dist/chunk-LECCEZAO.js.map +0 -1
  309. package/dist/chunk-N7SQWS2R.js +0 -38
  310. package/dist/chunk-N7SQWS2R.js.map +0 -1
  311. package/dist/chunk-NX52D7NX.js +0 -135
  312. package/dist/chunk-NX52D7NX.js.map +0 -1
  313. package/dist/chunk-OAOONM4S.js +0 -1787
  314. package/dist/chunk-OAOONM4S.js.map +0 -1
  315. package/dist/chunk-Q3ECVC4F.js +0 -811
  316. package/dist/chunk-Q3ECVC4F.js.map +0 -1
  317. package/dist/chunk-QY52UADF.js +0 -107
  318. package/dist/chunk-QY52UADF.js.map +0 -1
  319. package/dist/chunk-TNAR3XEF.js +0 -8729
  320. package/dist/chunk-TNAR3XEF.js.map +0 -1
  321. package/dist/chunk-XABYNWXO.js +0 -549
  322. package/dist/chunk-XABYNWXO.js.map +0 -1
  323. package/dist/chunk-XX4EVWBF.js +0 -1292
  324. package/dist/chunk-XX4EVWBF.js.map +0 -1
  325. package/dist/chunk-YB5UUF2G.js +0 -11
  326. package/dist/chunk-YB5UUF2G.js.map +0 -1
  327. package/dist/chunk-YWGFI4PN.js +0 -217
  328. package/dist/chunk-YWGFI4PN.js.map +0 -1
  329. package/dist/coinbase-NLHJMGAP.js.map +0 -1
  330. package/dist/create-config-DLMvMTkZ.d.ts +0 -8
  331. package/dist/element-2LGTYYSP.js.map +0 -1
  332. package/dist/foundation-BPN66ZTN.js.map +0 -1
  333. package/dist/get-query-client-D46hbjk6.d.ts +0 -5
  334. package/dist/index.css.map +0 -1
  335. package/dist/index.js.map +0 -1
  336. package/dist/looks-rare-MZRSOPT4.js.map +0 -1
  337. package/dist/magic-eden-PUBL6KWW.js.map +0 -1
  338. package/dist/manifold-GA445YJ6.js.map +0 -1
  339. package/dist/marketCurrencies-enNVYwBk.d.ts +0 -277
  340. package/dist/marketplace.gen-D24veUQs.d.ts +0 -1073
  341. package/dist/marketplaceConfig-BwNAbLPw.d.ts +0 -21
  342. package/dist/mintify-UMC5PTKC.js.map +0 -1
  343. package/dist/new-marketplace-types-BCw19X9S.d.ts +0 -102
  344. package/dist/nftx-AX3CY3IE.js.map +0 -1
  345. package/dist/okx-GNVLAE2R.js.map +0 -1
  346. package/dist/open-sea-KI43GVEB.js.map +0 -1
  347. package/dist/rarible-2J3MMZJ7.js.map +0 -1
  348. package/dist/react/_internal/api/index.js.map +0 -1
  349. package/dist/react/_internal/databeat/index.css +0 -2764
  350. package/dist/react/_internal/databeat/index.css.map +0 -1
  351. package/dist/react/_internal/databeat/index.js.map +0 -1
  352. package/dist/react/_internal/index.js.map +0 -1
  353. package/dist/react/_internal/wagmi/index.js.map +0 -1
  354. package/dist/react/hooks/index.css +0 -2764
  355. package/dist/react/hooks/index.css.map +0 -1
  356. package/dist/react/hooks/index.js.map +0 -1
  357. package/dist/react/hooks/options/index.js.map +0 -1
  358. package/dist/react/index.css +0 -2764
  359. package/dist/react/index.css.map +0 -1
  360. package/dist/react/index.js.map +0 -1
  361. package/dist/react/queries/index.js.map +0 -1
  362. package/dist/react/ui/components/collectible-card/index.css +0 -2764
  363. package/dist/react/ui/components/collectible-card/index.css.map +0 -1
  364. package/dist/react/ui/components/collectible-card/index.d.ts +0 -71
  365. package/dist/react/ui/components/collectible-card/index.js +0 -27
  366. package/dist/react/ui/components/collectible-card/index.js.map +0 -1
  367. package/dist/react/ui/components/marketplace-logos/index.js.map +0 -1
  368. package/dist/react/ui/icons/index.js.map +0 -1
  369. package/dist/react/ui/index.css +0 -2764
  370. package/dist/react/ui/index.css.map +0 -1
  371. package/dist/react/ui/index.js.map +0 -1
  372. package/dist/react/ui/modals/_internal/components/actionModal/index.css +0 -2764
  373. package/dist/react/ui/modals/_internal/components/actionModal/index.css.map +0 -1
  374. package/dist/react/ui/modals/_internal/components/actionModal/index.js.map +0 -1
  375. package/dist/sdk-config-qorA0TgF.d.ts +0 -165
  376. package/dist/sequence-TGLUFEPQ.js.map +0 -1
  377. package/dist/services-WrshxCqc.d.ts +0 -23
  378. package/dist/sudo-swap-M2O6E3TE.js.map +0 -1
  379. package/dist/super-rare-UU2U4LIN.js.map +0 -1
  380. package/dist/types/index.js.map +0 -1
  381. package/dist/useCollection-YAdXfVO7.d.ts +0 -61
  382. package/dist/utils/abi/index.js.map +0 -1
  383. package/dist/utils/abi/marketplace/index.js.map +0 -1
  384. package/dist/utils/abi/primary-sale/index.js.map +0 -1
  385. package/dist/utils/abi/token/index.js.map +0 -1
  386. package/dist/utils/index.js.map +0 -1
  387. package/dist/x2y2-3W5BBMZC.js.map +0 -1
  388. package/dist/zora-6EY6FUH6.js.map +0 -1
  389. package/postcss.config.mjs +0 -5
  390. package/src/react/hooks/__tests__/__snapshots__/useRoyaltyPercentage.test.tsx.snap +0 -8
  391. package/src/react/ui/components/collectible-card/CollectibleCard.tsx +0 -170
  392. package/src/react/ui/components/collectible-card/Footer.tsx +0 -157
  393. package/src/react/ui/components/collectible-card/__tests__/CollectibleCard.test.tsx +0 -94
  394. package/src/react/ui/components/collectible-card/__tests__/Footer.test.tsx +0 -136
  395. package/src/react/ui/components/collectible-card/__tests__/Media.test.tsx +0 -264
  396. package/src/react/ui/components/collectible-card/index.ts +0 -2
  397. package/src/react/ui/modals/BuyModal/ERC1155QuantityModal.tsx +0 -130
  398. package/src/react/ui/modals/BuyModal/Modal.tsx +0 -124
  399. package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx +0 -104
  400. package/src/react/ui/modals/BuyModal/hooks/useFees.ts +0 -39
  401. package/src/react/ui/modals/SuccessfulPurchaseModal/_store.ts +0 -72
  402. package/tsup.config.ts +0 -23
  403. /package/src/react/ui/components/{collectible-card/media → media}/MediaSkeleton.tsx +0 -0
  404. /package/src/react/ui/components/{collectible-card/media → media}/utils.ts +0 -0
@@ -0,0 +1,438 @@
1
+ // Enhanced error types with price context and better debugging information
2
+ export type BuyModalError =
3
+ | PriceOverflowError
4
+ | PriceCalculationError
5
+ | InvalidPriceFormatError
6
+ | InvalidQuantityError
7
+ | NetworkError
8
+ | ContractError
9
+ | CheckoutError
10
+ | ValidationError
11
+ | StateError;
12
+
13
+ export interface PriceOverflowError {
14
+ type: 'PRICE_OVERFLOW';
15
+ maxSafeValue: string;
16
+ attemptedValue: string;
17
+ operation: string;
18
+ timestamp: number;
19
+ }
20
+
21
+ export interface PriceCalculationError {
22
+ type: 'PRICE_CALCULATION_ERROR';
23
+ operation: string;
24
+ inputs: string[];
25
+ originalError?: string;
26
+ timestamp: number;
27
+ }
28
+
29
+ // export interface InsufficientFundsError {
30
+ // type: "INSUFFICIENT_FUNDS";
31
+ // required: Price;
32
+ // available: Price;
33
+ // currency: string;
34
+ // shortfall: Price;
35
+ // timestamp: number;
36
+ // }
37
+
38
+ export interface InvalidPriceFormatError {
39
+ type: 'INVALID_PRICE_FORMAT';
40
+ providedPrice: string;
41
+ expectedFormat: string;
42
+ suggestions?: string[];
43
+ timestamp: number;
44
+ }
45
+
46
+ export interface InvalidQuantityError {
47
+ type: 'INVALID_QUANTITY';
48
+ provided: number;
49
+ min: number;
50
+ max: number;
51
+ available?: number;
52
+ timestamp: number;
53
+ }
54
+
55
+ export interface NetworkError {
56
+ type: 'NETWORK_ERROR';
57
+ message: string;
58
+ retryable: boolean;
59
+ chainId?: number;
60
+ endpoint?: string;
61
+ timestamp: number;
62
+ }
63
+
64
+ export interface ContractError {
65
+ type: 'CONTRACT_ERROR';
66
+ contractAddress: string;
67
+ message: string;
68
+ method?: string;
69
+ chainId?: number;
70
+ blockNumber?: number;
71
+ timestamp: number;
72
+ }
73
+
74
+ export interface CheckoutError {
75
+ type: 'CHECKOUT_ERROR';
76
+ provider: string;
77
+ message: string;
78
+ code?: string;
79
+ retryable: boolean;
80
+ timestamp: number;
81
+ }
82
+
83
+ export interface ValidationError {
84
+ type: 'VALIDATION_ERROR';
85
+ field: string;
86
+ message: string;
87
+ value?: unknown;
88
+ constraints?: Record<string, unknown>;
89
+ timestamp: number;
90
+ }
91
+
92
+ export interface StateError {
93
+ type: 'STATE_ERROR';
94
+ currentState: string;
95
+ attemptedAction: string;
96
+ message: string;
97
+ timestamp: number;
98
+ }
99
+
100
+ // biome-ignore lint/complexity/noStaticOnlyClass:
101
+ export class BuyModalErrorFactory {
102
+ static priceOverflow(
103
+ maxSafeValue: string,
104
+ attemptedValue: string,
105
+ operation: string,
106
+ ): PriceOverflowError {
107
+ return {
108
+ type: 'PRICE_OVERFLOW',
109
+ maxSafeValue,
110
+ attemptedValue,
111
+ operation,
112
+ timestamp: Date.now(),
113
+ };
114
+ }
115
+
116
+ static priceCalculation(
117
+ operation: string,
118
+ inputs: string[],
119
+ originalError?: string,
120
+ ): PriceCalculationError {
121
+ return {
122
+ type: 'PRICE_CALCULATION_ERROR',
123
+ operation,
124
+ inputs,
125
+ originalError,
126
+ timestamp: Date.now(),
127
+ };
128
+ }
129
+
130
+ // static insufficientFunds(
131
+ // required: Price,
132
+ // available: Price,
133
+ // currency: string,
134
+ // shortfall: Price
135
+ // ): InsufficientFundsError {
136
+ // return {
137
+ // type: "INSUFFICIENT_FUNDS",
138
+ // required,
139
+ // available,
140
+ // currency,
141
+ // shortfall,
142
+ // timestamp: Date.now(),
143
+ // };
144
+ // }
145
+
146
+ static invalidPriceFormat(
147
+ providedPrice: string,
148
+ expectedFormat: string,
149
+ suggestions?: string[],
150
+ ): InvalidPriceFormatError {
151
+ return {
152
+ type: 'INVALID_PRICE_FORMAT',
153
+ providedPrice,
154
+ expectedFormat,
155
+ suggestions,
156
+ timestamp: Date.now(),
157
+ };
158
+ }
159
+
160
+ static invalidQuantity(
161
+ provided: number,
162
+ min: number,
163
+ max: number,
164
+ available?: number,
165
+ ): InvalidQuantityError {
166
+ return {
167
+ type: 'INVALID_QUANTITY',
168
+ provided,
169
+ min,
170
+ max,
171
+ available,
172
+ timestamp: Date.now(),
173
+ };
174
+ }
175
+
176
+ static networkError(
177
+ message: string,
178
+ retryable: boolean,
179
+ chainId?: number,
180
+ endpoint?: string,
181
+ ): NetworkError {
182
+ return {
183
+ type: 'NETWORK_ERROR',
184
+ message,
185
+ retryable,
186
+ chainId,
187
+ endpoint,
188
+ timestamp: Date.now(),
189
+ };
190
+ }
191
+
192
+ static contractError(
193
+ contractAddress: string,
194
+ message: string,
195
+ method?: string,
196
+ chainId?: number,
197
+ blockNumber?: number,
198
+ ): ContractError {
199
+ return {
200
+ type: 'CONTRACT_ERROR',
201
+ contractAddress,
202
+ message,
203
+ method,
204
+ chainId,
205
+ blockNumber,
206
+ timestamp: Date.now(),
207
+ };
208
+ }
209
+
210
+ static checkoutError(
211
+ provider: string,
212
+ message: string,
213
+ code?: string,
214
+ retryable = false,
215
+ ): CheckoutError {
216
+ return {
217
+ type: 'CHECKOUT_ERROR',
218
+ provider,
219
+ message,
220
+ code,
221
+ retryable,
222
+ timestamp: Date.now(),
223
+ };
224
+ }
225
+
226
+ static validationError(
227
+ field: string,
228
+ message: string,
229
+ value?: unknown,
230
+ constraints?: Record<string, unknown>,
231
+ ): ValidationError {
232
+ return {
233
+ type: 'VALIDATION_ERROR',
234
+ field,
235
+ message,
236
+ value,
237
+ constraints,
238
+ timestamp: Date.now(),
239
+ };
240
+ }
241
+
242
+ static stateError(
243
+ currentState: string,
244
+ attemptedAction: string,
245
+ message: string,
246
+ ): StateError {
247
+ return {
248
+ type: 'STATE_ERROR',
249
+ currentState,
250
+ attemptedAction,
251
+ message,
252
+ timestamp: Date.now(),
253
+ };
254
+ }
255
+ }
256
+
257
+ // Error message formatters for user-friendly display
258
+ // biome-ignore lint/complexity/noStaticOnlyClass: Formatter provides good namespacing for error formatting
259
+ export class BuyModalErrorFormatter {
260
+ static format(error: BuyModalError): string {
261
+ switch (error.type) {
262
+ case 'PRICE_OVERFLOW':
263
+ return 'Price calculation exceeded safe limits. Please reduce quantity or contact support.';
264
+
265
+ case 'PRICE_CALCULATION_ERROR':
266
+ return 'Price calculation failed. Please refresh and try again.';
267
+
268
+ // case "INSUFFICIENT_FUNDS":
269
+ // return `Insufficient funds. You need ${error.currency} but only have available.`;
270
+
271
+ case 'INVALID_PRICE_FORMAT':
272
+ return `Invalid price format. Expected: ${error.expectedFormat}`;
273
+
274
+ case 'INVALID_QUANTITY':
275
+ return `Invalid quantity. Must be between ${error.min} and ${error.max}.`;
276
+
277
+ case 'NETWORK_ERROR':
278
+ return error.retryable
279
+ ? `Network error. ${error.message} Please try again.`
280
+ : `Network unavailable. ${error.message}`;
281
+
282
+ case 'CONTRACT_ERROR':
283
+ return `Blockchain error at ${error.contractAddress}. Please refresh and try again.`;
284
+
285
+ case 'CHECKOUT_ERROR':
286
+ return error.retryable
287
+ ? `Checkout failed with ${error.provider}. Please try again.`
288
+ : `Checkout unavailable with ${error.provider}.`;
289
+
290
+ case 'VALIDATION_ERROR':
291
+ return `${error.field}: ${error.message}`;
292
+
293
+ case 'STATE_ERROR':
294
+ return `Invalid operation: ${error.message}`;
295
+
296
+ default:
297
+ return 'An unexpected error occurred. Please try again.';
298
+ }
299
+ }
300
+
301
+ static isRetryable(error: BuyModalError): boolean {
302
+ switch (error.type) {
303
+ case 'NETWORK_ERROR':
304
+ case 'CHECKOUT_ERROR':
305
+ return error.retryable;
306
+
307
+ case 'PRICE_CALCULATION_ERROR':
308
+ case 'CONTRACT_ERROR':
309
+ return true;
310
+
311
+ default:
312
+ return false;
313
+ }
314
+ }
315
+
316
+ static getRecoveryAction(error: BuyModalError): string {
317
+ switch (error.type) {
318
+ // case "INSUFFICIENT_FUNDS":
319
+ // return "Add funds to your wallet";
320
+
321
+ case 'INVALID_QUANTITY':
322
+ return 'Adjust quantity';
323
+
324
+ case 'INVALID_PRICE_FORMAT':
325
+ return 'Enter valid price';
326
+
327
+ case 'NETWORK_ERROR':
328
+ case 'CONTRACT_ERROR':
329
+ return 'Retry transaction';
330
+
331
+ case 'CHECKOUT_ERROR':
332
+ return 'Try different payment method';
333
+
334
+ default:
335
+ return 'Refresh and try again';
336
+ }
337
+ }
338
+
339
+ /**
340
+ * Transform class-based errors (BaseError/TransactionError) to user-friendly BuyModalError
341
+ * This bridges the internal error system with the modal error system
342
+ */
343
+ static fromTransactionError(error: Error): BuyModalError {
344
+ // Import transaction errors
345
+ const errorName = error.name || error.constructor.name;
346
+
347
+ switch (errorName) {
348
+ case 'PriceCalculationError':
349
+ return BuyModalErrorFactory.priceCalculation(
350
+ 'price calculation',
351
+ [],
352
+ error.message,
353
+ );
354
+
355
+ case 'SalesContractError': {
356
+ // Extract contract address from error message if available
357
+ const addressMatch = error.message.match(/0x[a-fA-F0-9]{40}/);
358
+ return BuyModalErrorFactory.contractError(
359
+ addressMatch?.[0] || 'unknown',
360
+ error.message,
361
+ );
362
+ }
363
+
364
+ case 'QuantityValidationError': {
365
+ // Parse quantity from error message
366
+ const quantityMatch = error.message.match(/Invalid quantity: (\d+)/);
367
+ const availableMatch = error.message.match(
368
+ /available supply \((\d+)\)/,
369
+ );
370
+ return BuyModalErrorFactory.invalidQuantity(
371
+ Number(quantityMatch?.[1] || 0),
372
+ 0,
373
+ Number(availableMatch?.[1] || 0),
374
+ );
375
+ }
376
+
377
+ case 'UserRejectedRequestError':
378
+ return BuyModalErrorFactory.checkoutError(
379
+ 'user',
380
+ 'User cancelled the transaction',
381
+ 'USER_REJECTED',
382
+ false,
383
+ );
384
+
385
+ case 'NoWalletConnectedError':
386
+ return BuyModalErrorFactory.stateError(
387
+ 'disconnected',
388
+ 'purchase',
389
+ 'Please connect your wallet to continue',
390
+ );
391
+
392
+ case 'ChainSwitchError':
393
+ case 'NetworkError':
394
+ return BuyModalErrorFactory.networkError(
395
+ error.message,
396
+ true, // retryable
397
+ );
398
+
399
+ case 'ShopDataValidationError':
400
+ return BuyModalErrorFactory.validationError(
401
+ 'shop-config',
402
+ error.message,
403
+ );
404
+
405
+ default:
406
+ // Generic error for unknown types
407
+ return BuyModalErrorFactory.stateError(
408
+ 'unknown',
409
+ 'operation',
410
+ error.message || 'An unexpected error occurred',
411
+ );
412
+ }
413
+ }
414
+
415
+ /**
416
+ * Enhanced error wrapper that catches and transforms errors consistently
417
+ */
418
+ static async withErrorHandling<T>(
419
+ operation: () => Promise<T>,
420
+ _context: string, // Prefixed with underscore to indicate intentionally unused
421
+ ): Promise<T> {
422
+ try {
423
+ return await operation();
424
+ } catch (error) {
425
+ // Transform the error to user-friendly format
426
+ const buyModalError = BuyModalErrorFormatter.fromTransactionError(
427
+ error as Error,
428
+ );
429
+
430
+ // Re-throw as the original error for error boundaries to catch
431
+ // but attach the transformed error for UI consumption
432
+ const enhancedError = error as Error & { buyModalError?: BuyModalError };
433
+ enhancedError.buyModalError = buyModalError;
434
+
435
+ throw enhancedError;
436
+ }
437
+ }
438
+ }
@@ -2,4 +2,7 @@ export * from './api-types';
2
2
  export * from './sdk-config';
3
3
  export * from './types';
4
4
  export type * from './../react/queries/marketplaceConfig';
5
- export { FilterCondition } from '../react/_internal/api/builder.gen';
5
+ export {
6
+ type MarketplaceWallet,
7
+ FilterCondition,
8
+ } from '../react/_internal/api/builder.gen';
@@ -1,29 +1,19 @@
1
1
  import type {
2
2
  FilterCondition,
3
- MarketplaceWallet,
3
+ MarketplaceSettings,
4
4
  MarketplaceWalletType,
5
5
  OpenIdProvider,
6
6
  } from '../react/_internal/api/builder.gen';
7
7
  import type { ContractType, OrderbookKind } from './api-types';
8
+ import type { MarketplaceType } from './types';
8
9
 
9
10
  export interface MarketplaceConfig {
10
11
  projectId: number;
11
- settings: NewMarketplaceSettings;
12
+ settings: MarketplaceSettings;
12
13
  market: MarketPage;
13
14
  shop: ShopPage;
14
15
  }
15
16
 
16
- export interface NewMarketplaceSettings {
17
- publisherId: string;
18
- title: string;
19
- socials: MarketplaceSocials;
20
- faviconUrl: string;
21
- walletOptions: MarketplaceWallet;
22
- logoUrl: string;
23
- fontUrl?: string;
24
- accessKey?: string;
25
- }
26
-
27
17
  interface MarketplacePage {
28
18
  enabled: boolean;
29
19
  bannerUrl: string;
@@ -60,13 +50,7 @@ export interface MarketplaceWalletEmbedded {
60
50
  providers: Array<OpenIdProvider>;
61
51
  }
62
52
 
63
- export enum MarketplaceType {
64
- SHOP = 'SHOP',
65
- MARKET = 'MARKET',
66
- }
67
-
68
53
  interface MarketplaceCollection {
69
- contractType: ContractType;
70
54
  chainId: number;
71
55
  bannerUrl: string;
72
56
  itemsAddress: string;
@@ -74,14 +58,15 @@ interface MarketplaceCollection {
74
58
  }
75
59
 
76
60
  export interface MarketCollection extends MarketplaceCollection {
77
- marketplaceType: MarketplaceType.MARKET;
61
+ marketplaceType: MarketplaceType;
62
+ contractType: ContractType; //TODO: This should be added to the shop collection too
78
63
  feePercentage: number;
79
64
  destinationMarketplace: OrderbookKind;
80
65
  currencyOptions: Array<string>;
81
66
  }
82
67
 
83
68
  export interface ShopCollection extends MarketplaceCollection {
84
- marketplaceType: MarketplaceType.SHOP;
69
+ marketplaceType: MarketplaceType;
85
70
  saleAddress: string;
86
71
  }
87
72
 
@@ -1,37 +1,31 @@
1
1
  import type { LookupMarketplaceReturn } from '../react/_internal/api/builder.gen';
2
- import type { ContractType } from './api-types';
2
+ import type { MarketplaceConfig } from './types';
3
3
 
4
- export type Env = 'development' | 'next' | 'production';
4
+ export type Env = 'development' | 'production' | 'next';
5
5
 
6
- export type ShopConfig = {
7
- title: string;
8
- bannerUrl: string;
9
- ogImage?: string;
10
- collections: {
11
- address: string;
12
- contractType: ContractType;
13
- bannerUrl: string;
14
- chainId: number;
15
- primarySalesContractAddress: string;
16
- tokenIds: string[];
17
- }[];
6
+ export type ApiConfig = {
7
+ env: Env;
8
+ accessKey?: string;
18
9
  };
19
10
 
20
11
  export type SdkConfig = {
21
12
  projectAccessKey: string;
22
13
  projectId: string;
23
14
  walletConnectProjectId?: string;
24
- tmpShopConfig?: ShopConfig;
25
15
  _internal?: {
26
16
  prefetchedMarketplaceSettings?: LookupMarketplaceReturn;
27
- devAccessKey?: string;
28
- nextAccessKey?: string;
29
- builderEnv?: Env;
30
- marketplaceEnv?: Env;
31
- nodeGatewayEnv?: Env;
32
- metadataEnv?: Env;
33
- indexerEnv?: Env;
34
- sequenceApiEnv?: Env;
35
- sequenceWalletEnv?: Env;
17
+ overrides?: {
18
+ marketplaceConfig?: Partial<MarketplaceConfig>;
19
+
20
+ api?: {
21
+ builder?: ApiConfig;
22
+ marketplace?: ApiConfig;
23
+ nodeGateway?: ApiConfig;
24
+ metadata?: ApiConfig;
25
+ indexer?: ApiConfig;
26
+ sequenceApi?: ApiConfig;
27
+ sequenceWallet?: ApiConfig;
28
+ };
29
+ };
36
30
  };
37
31
  };
@@ -1,4 +1,5 @@
1
1
  import type { Currency } from './api-types';
2
+ import type { MarketplaceConfig } from './new-marketplace-types';
2
3
  export * from './new-marketplace-types';
3
4
 
4
5
  export type Price = {
@@ -6,6 +7,21 @@ export type Price = {
6
7
  currency: Currency;
7
8
  };
8
9
 
10
+ export type MarketplaceType = 'market' | 'shop';
11
+
12
+ export enum CollectibleCardAction {
13
+ BUY = 'Buy',
14
+ SELL = 'Sell',
15
+ LIST = 'Create listing',
16
+ OFFER = 'Make an offer',
17
+ TRANSFER = 'Transfer',
18
+ }
19
+
20
+ export type MarketCollection =
21
+ MarketplaceConfig['market']['collections'][number];
22
+
23
+ export type ShopCollection = MarketplaceConfig['shop']['collections'][number];
24
+
9
25
  // export type Order = Omit<APIOrder, 'priceAmount' | 'priceAmountNet'> & {
10
26
  // priceAmount: bigint;
11
27
  // priceAmountNet: bigint;
@@ -371,6 +371,38 @@ export class WalletInstanceNotFoundError extends TransactionError {
371
371
  }
372
372
  }
373
373
 
374
+ export class SalesContractError extends TransactionError {
375
+ override name = 'SalesContractError';
376
+ constructor(contractAddress: string, method?: string, cause?: Error) {
377
+ super(`Sales contract operation failed: ${contractAddress}`, {
378
+ details: `Failed to interact with sales contract${
379
+ method ? ` on method: ${method}` : ''
380
+ }. ${cause?.message || 'Contract may be paused or misconfigured.'}`,
381
+ cause,
382
+ });
383
+ }
384
+ }
385
+
386
+ export class QuantityValidationError extends TransactionError {
387
+ override name = 'QuantityValidationError';
388
+ constructor(provided: number, available: number, tokenId?: string) {
389
+ super(`Invalid quantity: ${provided}`, {
390
+ details: `Requested quantity (${provided}) exceeds available supply (${available})${
391
+ tokenId ? ` for token ${tokenId}` : ''
392
+ }.`,
393
+ });
394
+ }
395
+ }
396
+
397
+ export class ShopDataValidationError extends TransactionError {
398
+ override name = 'ShopDataValidationError';
399
+ constructor(missingField: string) {
400
+ super(`Invalid shop configuration: missing ${missingField}`, {
401
+ details: `The shop is missing required field: ${missingField}. Check your marketplace configuration.`,
402
+ });
403
+ }
404
+ }
405
+
374
406
  export type TransactionErrorTypes =
375
407
  | ChainIdUnavailableError
376
408
  | TransactionReceiptError
@@ -408,4 +440,7 @@ export type TransactionErrorTypes =
408
440
  | TransactionExecutionError
409
441
  | NoWalletConnectedError
410
442
  | TransactionError
411
- | WalletInstanceNotFoundError;
443
+ | WalletInstanceNotFoundError
444
+ | SalesContractError
445
+ | QuantityValidationError
446
+ | ShopDataValidationError;
package/tsconfig.json CHANGED
@@ -6,5 +6,5 @@
6
6
  "@test": ["./test/test-utils.tsx"]
7
7
  }
8
8
  },
9
- "include": ["src", "tsup.config.ts", "test", "eslint.config.mjs", "eslint"]
9
+ "include": ["src", "tsdown.config.ts", "test", "eslint.config.mjs", "eslint"]
10
10
  }