@0xsequence/marketplace-sdk 0.8.10 → 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 (436) hide show
  1. package/.changeset/fluffy-jokes-lay.md +5 -0
  2. package/.changeset/wise-bugs-boil.md +8 -0
  3. package/CHANGELOG.md +182 -3
  4. package/dist/CartIcon-Bll1rbxv.js +141 -0
  5. package/dist/CartIcon-Bll1rbxv.js.map +1 -0
  6. package/dist/CollectibleCard-CLQTl0_6.d.ts +8 -0
  7. package/dist/_internal-69NEWNUE.js +34 -0
  8. package/dist/_internal-69NEWNUE.js.map +1 -0
  9. package/dist/abi-BKyRjVcZ.js +0 -0
  10. package/dist/{alien_swap-2B65TDGT.js → alien_swap-B_76IMma.js} +5 -5
  11. package/dist/alien_swap-B_76IMma.js.map +1 -0
  12. package/dist/api-1KFxYh7o.js +232 -0
  13. package/dist/api-1KFxYh7o.js.map +1 -0
  14. package/dist/{aqua-xyz-WMYQLAIS.js → aqua-xyz-CMN_TFY5.js} +5 -5
  15. package/dist/aqua-xyz-CMN_TFY5.js.map +1 -0
  16. package/dist/{aura-V22RV5OG.js → aura-Cye_TuHj.js} +5 -5
  17. package/dist/aura-Cye_TuHj.js.map +1 -0
  18. package/dist/{blur-GE5QOMCM.js → blur-DWDMyMpK.js} +5 -5
  19. package/dist/blur-DWDMyMpK.js.map +1 -0
  20. package/dist/builder-api-BQvzykoU.js +28 -0
  21. package/dist/builder-api-BQvzykoU.js.map +1 -0
  22. package/dist/builder-api-DoK3907S.d.ts +12 -0
  23. package/dist/builder.gen-CxP9NT1p.js +303 -0
  24. package/dist/builder.gen-CxP9NT1p.js.map +1 -0
  25. package/dist/{coinbase-NLHJMGAP.js → coinbase-ByA_XRB0.js} +5 -5
  26. package/dist/coinbase-ByA_XRB0.js.map +1 -0
  27. package/dist/{element-2LGTYYSP.js → element-b77CyXIZ.js} +5 -5
  28. package/dist/element-b77CyXIZ.js.map +1 -0
  29. package/dist/{foundation-BPN66ZTN.js → foundation-DbOrKP9Y.js} +5 -5
  30. package/dist/foundation-DbOrKP9Y.js.map +1 -0
  31. package/dist/index-1bezgsFq.d.ts +1129 -0
  32. package/dist/index-4-kfOFdx.d.ts +22 -0
  33. package/dist/index-BEYefG1G.d.ts +24 -0
  34. package/dist/index-BHiSG-Yi.d.ts +312 -0
  35. package/dist/index-BIMIpDiI.d.ts +188 -0
  36. package/dist/index-BQW0PUkQ.d.ts +3973 -0
  37. package/dist/index-BfH21xmk.d.ts +117 -0
  38. package/dist/index-BjIwVzc4.d.ts +1057 -0
  39. package/dist/index-C39K_8SG.d.ts +1 -0
  40. package/dist/index-CN8puQQJ.d.ts +24 -0
  41. package/dist/index-Cl7PQOGu.d.ts +102 -0
  42. package/dist/index-D5v5iluA.d.ts +809 -0
  43. package/dist/index-DXMfTZ1F.d.ts +7 -0
  44. package/dist/index-DafWjEb4.d.ts +65 -0
  45. package/dist/index-ij9f8GAA.d.ts +1 -0
  46. package/dist/index.css +384 -371
  47. package/dist/index.d.ts +10 -28
  48. package/dist/index.js +13 -105
  49. package/dist/{looks-rare-MZRSOPT4.js → looks-rare-C1VqNcSM.js} +5 -5
  50. package/dist/looks-rare-C1VqNcSM.js.map +1 -0
  51. package/dist/{magic-eden-PUBL6KWW.js → magic-eden-ea_AGCZr.js} +5 -5
  52. package/dist/magic-eden-ea_AGCZr.js.map +1 -0
  53. package/dist/{manifold-GA445YJ6.js → manifold-8y8J2sjT.js} +5 -5
  54. package/dist/manifold-8y8J2sjT.js.map +1 -0
  55. package/dist/marketplace-logos-CSeGcPW4.js +50 -0
  56. package/dist/marketplace-logos-CSeGcPW4.js.map +1 -0
  57. package/dist/marketplace-nwnZv9Cb.js +1913 -0
  58. package/dist/marketplace-nwnZv9Cb.js.map +1 -0
  59. package/dist/marketplace.gen-Dqk8vRmD.js +1068 -0
  60. package/dist/marketplace.gen-Dqk8vRmD.js.map +1 -0
  61. package/dist/marketplaceConfig-D2MYFqll.js +71 -0
  62. package/dist/marketplaceConfig-D2MYFqll.js.map +1 -0
  63. package/dist/{mintify-UMC5PTKC.js → mintify-LA68TzWg.js} +5 -5
  64. package/dist/mintify-LA68TzWg.js.map +1 -0
  65. package/dist/{nftx-AX3CY3IE.js → nftx-D3Tc8nzd.js} +5 -5
  66. package/dist/nftx-D3Tc8nzd.js.map +1 -0
  67. package/dist/{okx-GNVLAE2R.js → okx-hbqg6oIJ.js} +5 -5
  68. package/dist/okx-hbqg6oIJ.js.map +1 -0
  69. package/dist/{open-sea-KI43GVEB.js → open-sea-BccuK8-t.js} +5 -5
  70. package/dist/open-sea-BccuK8-t.js.map +1 -0
  71. package/dist/options-DCi6_23w.js +34 -0
  72. package/dist/options-DCi6_23w.js.map +1 -0
  73. package/dist/primary-sale-Cw95phYC.js +1264 -0
  74. package/dist/primary-sale-Cw95phYC.js.map +1 -0
  75. package/dist/queries-DPvwtnO7.js +486 -0
  76. package/dist/queries-DPvwtnO7.js.map +1 -0
  77. package/dist/{rarible-2J3MMZJ7.js → rarible-BgTwwj9g.js} +5 -5
  78. package/dist/rarible-BgTwwj9g.js.map +1 -0
  79. package/dist/react/_internal/api/index.d.ts +4 -86
  80. package/dist/react/_internal/api/index.js +7 -150
  81. package/dist/react/_internal/databeat/index.d.ts +45 -41
  82. package/dist/react/_internal/databeat/index.js +23 -27
  83. package/dist/react/_internal/index.d.ts +7 -24
  84. package/dist/react/_internal/index.js +9 -176
  85. package/dist/react/_internal/wagmi/index.d.ts +4 -18
  86. package/dist/react/_internal/wagmi/index.js +5 -14
  87. package/dist/react/hooks/index.d.ts +17 -3803
  88. package/dist/react/hooks/index.js +23 -157
  89. package/dist/react/hooks/options/index.d.ts +5 -7
  90. package/dist/react/hooks/options/index.js +11 -19
  91. package/dist/react/index.d.ts +37 -33
  92. package/dist/react/index.js +23 -199
  93. package/dist/react/queries/index.d.ts +8 -26
  94. package/dist/react/queries/index.js +18 -40
  95. package/dist/react/ssr/index.d.ts +19 -13
  96. package/dist/react/ssr/index.js +29 -27
  97. package/dist/react/ssr/index.js.map +1 -1
  98. package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +10 -0
  99. package/dist/react/ui/components/marketplace-collectible-card/index.js +23 -0
  100. package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +8 -0
  101. package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +10 -0
  102. package/dist/react/ui/components/marketplace-logos/index.d.ts +26 -24
  103. package/dist/react/ui/components/marketplace-logos/index.js +3 -45
  104. package/dist/react/ui/icons/index.d.ts +1 -2
  105. package/dist/react/ui/icons/index.js +10 -14
  106. package/dist/react/ui/index.d.ts +10 -116
  107. package/dist/react/ui/index.js +23 -46
  108. package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +59 -33
  109. package/dist/react/ui/modals/_internal/components/actionModal/index.js +23 -31
  110. package/dist/react-BG7o4PId.js +8351 -0
  111. package/dist/react-BG7o4PId.js.map +1 -0
  112. package/dist/react-BbHBl6gg.css +80 -0
  113. package/dist/react-BbHBl6gg.css.map +1 -0
  114. package/dist/sdk-config-DJzxVPld.d.ts +1535 -0
  115. package/dist/{sequence-TGLUFEPQ.js → sequence-Do3kzb4J.js} +5 -5
  116. package/dist/sequence-Do3kzb4J.js.map +1 -0
  117. package/dist/src-Dz2CfBL0.js +8 -0
  118. package/dist/src-Dz2CfBL0.js.map +1 -0
  119. package/dist/{sudo-swap-M2O6E3TE.js → sudo-swap-B6vPKxBz.js} +5 -5
  120. package/dist/sudo-swap-B6vPKxBz.js.map +1 -0
  121. package/dist/{super-rare-UU2U4LIN.js → super-rare-eCm1SE6O.js} +5 -5
  122. package/dist/super-rare-eCm1SE6O.js.map +1 -0
  123. package/dist/token-CO5llIla.js +1312 -0
  124. package/dist/token-CO5llIla.js.map +1 -0
  125. package/dist/transaction-CcVViHEL.js +97 -0
  126. package/dist/transaction-CcVViHEL.js.map +1 -0
  127. package/dist/types/index.d.ts +3 -12
  128. package/dist/types/index.js +5 -44
  129. package/dist/types-BIJOaL4j.d.ts +68 -0
  130. package/dist/types-DwWE6xOF.js +13 -0
  131. package/dist/types-DwWE6xOF.js.map +1 -0
  132. package/dist/useCollection-C-mclKU0.d.ts +66 -0
  133. package/dist/utils/abi/index.d.ts +5 -3
  134. package/dist/utils/abi/index.js +6 -26
  135. package/dist/utils/abi/marketplace/index.d.ts +2 -805
  136. package/dist/utils/abi/marketplace/index.js +3 -11
  137. package/dist/utils/abi/primary-sale/index.d.ts +2 -1054
  138. package/dist/utils/abi/primary-sale/index.js +3 -9
  139. package/dist/utils/abi/token/index.d.ts +2 -1125
  140. package/dist/utils/abi/token/index.js +3 -11
  141. package/dist/utils/index.d.ts +8 -91
  142. package/dist/utils/index.js +11 -56
  143. package/dist/utils-BFdxaToy.js +216 -0
  144. package/dist/utils-BFdxaToy.js.map +1 -0
  145. package/dist/utils-Cat9_pef.js +44 -0
  146. package/dist/utils-Cat9_pef.js.map +1 -0
  147. package/dist/wagmi-DRctYEk6.js +159 -0
  148. package/dist/wagmi-DRctYEk6.js.map +1 -0
  149. package/dist/{x2y2-3W5BBMZC.js → x2y2-DD17tT91.js} +5 -5
  150. package/dist/x2y2-DD17tT91.js.map +1 -0
  151. package/dist/{zora-6EY6FUH6.js → zora-BpSG9UzS.js} +5 -5
  152. package/dist/zora-BpSG9UzS.js.map +1 -0
  153. package/package.json +21 -19
  154. package/src/index.ts +0 -1
  155. package/src/react/_internal/api/__mocks__/builder.msw.ts +157 -80
  156. package/src/react/_internal/api/__mocks__/indexer.msw.ts +1 -0
  157. package/src/react/_internal/api/builder-api.ts +2 -2
  158. package/src/react/_internal/api/builder.gen.ts +666 -112
  159. package/src/react/_internal/api/marketplace.gen.ts +2421 -1315
  160. package/src/react/_internal/api/services.ts +42 -49
  161. package/src/react/_internal/types.ts +1 -13
  162. package/src/react/_internal/wagmi/__tests__/create-config.test.ts +102 -87
  163. package/src/react/_internal/wagmi/create-config.ts +15 -6
  164. package/src/react/_internal/wagmi/get-connectors.ts +29 -21
  165. package/src/react/hooks/__tests__/__snapshots__/useListCollections.test.tsx.snap +273 -0
  166. package/src/react/hooks/__tests__/__snapshots__/useMarketplaceConfig.test.tsx.snap +122 -82
  167. package/src/react/hooks/__tests__/useAutoSelectFeeOption.test.tsx +7 -4
  168. package/src/react/hooks/__tests__/useCheckoutOptionsSalesContract.test.tsx +225 -0
  169. package/src/react/hooks/__tests__/useCollectionDetailsPolling.test.tsx +3 -3
  170. package/src/react/hooks/__tests__/useFilters.test.tsx +0 -16
  171. package/src/react/hooks/__tests__/useGenerateCancelTransaction.test.tsx +2 -3
  172. package/src/react/hooks/__tests__/useHighestOffer.test.tsx +0 -16
  173. package/src/react/hooks/__tests__/useInventory.test.tsx +6 -42
  174. package/src/react/hooks/__tests__/useListCollections.test.tsx +24 -57
  175. package/src/react/hooks/__tests__/{useCurrencies.test.tsx → useMarketCurrencies.test.tsx} +21 -15
  176. package/src/react/hooks/__tests__/useMarketplaceConfig.test.tsx +2 -59
  177. package/src/react/hooks/index.ts +9 -1
  178. package/src/react/hooks/useBalanceOfCollectible.tsx +14 -8
  179. package/src/react/hooks/useCancelTransactionSteps.tsx +5 -1
  180. package/src/react/hooks/useCheckoutOptions.tsx +2 -1
  181. package/src/react/hooks/useCheckoutOptionsSalesContract.tsx +67 -0
  182. package/src/react/hooks/useCollectionDetails.tsx +22 -7
  183. package/src/react/hooks/useConvertPriceToUSD.tsx +1 -1
  184. package/src/react/hooks/useCountListingsForCollectible.tsx +5 -4
  185. package/src/react/hooks/useCountOfCollectables.tsx +10 -7
  186. package/src/react/hooks/useCountOffersForCollectible.tsx +5 -4
  187. package/src/react/hooks/useCurrency.tsx +2 -2
  188. package/src/react/hooks/useERC721SaleMintedTokens.tsx +67 -0
  189. package/src/react/hooks/useFilters.tsx +14 -22
  190. package/src/react/hooks/useFloorOrder.tsx +5 -2
  191. package/src/react/hooks/useGenerateCancelTransaction.tsx +13 -6
  192. package/src/react/hooks/useGenerateListingTransaction.tsx +15 -5
  193. package/src/react/hooks/useGenerateOfferTransaction.tsx +15 -6
  194. package/src/react/hooks/useGenerateSellTransaction.tsx +15 -6
  195. package/src/react/hooks/useGetTokenSuppliesMap.ts +33 -0
  196. package/src/react/hooks/useInventory.tsx +7 -4
  197. package/src/react/hooks/useList1155ShopCardData.tsx +130 -0
  198. package/src/react/hooks/useList721ShopCardData.tsx +130 -0
  199. package/src/react/hooks/useListBalances.tsx +7 -8
  200. package/src/react/hooks/useListCollectibleActivities.tsx +2 -1
  201. package/src/react/hooks/useListCollectibles.tsx +1 -12
  202. package/src/react/hooks/useListCollectiblesPaginated.tsx +8 -5
  203. package/src/react/hooks/useListCollectionActivities.tsx +2 -1
  204. package/src/react/hooks/useListCollections.tsx +14 -76
  205. package/src/react/hooks/useListListingsForCollectible.tsx +2 -1
  206. package/src/react/hooks/useListMarketCardData.tsx +157 -0
  207. package/src/react/hooks/useListOffersForCollectible.tsx +2 -1
  208. package/src/react/hooks/useListPrimarySaleItems.ts +42 -0
  209. package/src/react/hooks/useMarketCurrencies.tsx +8 -0
  210. package/src/react/hooks/useMarketplaceConfig.tsx +0 -2
  211. package/src/react/hooks/useTokenSaleDetailsBatch.tsx +134 -0
  212. package/src/react/queries/highestOffer.ts +6 -4
  213. package/src/react/queries/index.ts +1 -0
  214. package/src/react/queries/inventory.ts +36 -2
  215. package/src/react/queries/listBalances.ts +14 -30
  216. package/src/react/queries/listCollectibles.ts +60 -7
  217. package/src/react/queries/listCollections.ts +124 -0
  218. package/src/react/queries/listTokenMetadata.ts +6 -1
  219. package/src/react/queries/lowestListing.ts +6 -4
  220. package/src/react/queries/marketCurrencies.ts +81 -0
  221. package/src/react/queries/marketplaceConfig.ts +82 -79
  222. package/src/react/ssr/__tests__/__snapshots__/create-ssr-client.test.ts.snap +122 -82
  223. package/src/react/ssr/__tests__/create-ssr-client.test.ts +0 -3
  224. package/src/react/ssr/create-ssr-client.ts +5 -10
  225. package/src/react/ui/components/_internals/action-button/ActionButton.tsx +47 -13
  226. package/src/react/ui/components/_internals/action-button/__tests__/ActionButtonBody.test.tsx +1 -1
  227. package/src/react/ui/components/_internals/action-button/__tests__/NonOwnerActions.test.tsx +28 -15
  228. package/src/react/ui/components/_internals/action-button/__tests__/OwnerActions.test.tsx +1 -1
  229. package/src/react/ui/components/_internals/action-button/__tests__/useActionButtonLogic.test.tsx +1 -1
  230. package/src/react/ui/components/_internals/action-button/components/ActionButtonBody.tsx +1 -1
  231. package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +78 -15
  232. package/src/react/ui/components/_internals/action-button/components/OwnerActions.tsx +1 -1
  233. package/src/react/ui/components/_internals/action-button/hooks/useActionButtonLogic.ts +1 -1
  234. package/src/react/ui/components/marketplace-collectible-card/CollectibleCard.tsx +17 -0
  235. package/src/react/ui/components/marketplace-collectible-card/CollectibleCardSkeleton.tsx +24 -0
  236. package/src/react/ui/components/marketplace-collectible-card/Footer.tsx +231 -0
  237. package/src/react/ui/components/marketplace-collectible-card/components/ActionButtonWrapper.tsx +76 -0
  238. package/src/react/ui/components/marketplace-collectible-card/components/BaseCard.tsx +55 -0
  239. package/src/react/ui/components/marketplace-collectible-card/index.ts +3 -0
  240. package/src/react/ui/components/marketplace-collectible-card/types.ts +95 -0
  241. package/src/react/ui/components/marketplace-collectible-card/utils/formatPrice.ts +45 -0
  242. package/src/react/ui/components/marketplace-collectible-card/utils/index.ts +2 -0
  243. package/src/react/ui/components/marketplace-collectible-card/utils/supplyStatus.ts +39 -0
  244. package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +124 -0
  245. package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +105 -0
  246. package/src/react/ui/components/{collectible-card/media → media}/Media.tsx +52 -30
  247. package/src/react/ui/components/{collectible-card/media → media}/MediaSkeleton.tsx +1 -1
  248. package/src/react/ui/components/{collectible-card/media → media}/types.ts +4 -1
  249. package/src/react/ui/index.ts +5 -2
  250. package/src/react/ui/modals/BuyModal/__tests__/BuyModalRouter.test.tsx +554 -0
  251. package/src/react/ui/modals/BuyModal/__tests__/ERC1155ShopModal.test.tsx +385 -0
  252. package/src/react/ui/modals/BuyModal/__tests__/ERC721ShopModal.test.tsx +272 -0
  253. package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx.bak +112 -0
  254. package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +117 -13
  255. package/src/react/ui/modals/BuyModal/__tests__/store.test.ts +10 -7
  256. package/src/react/ui/modals/BuyModal/components/BuyModalRouter.tsx +157 -0
  257. package/src/react/ui/modals/BuyModal/components/ERC1155BuyModal.tsx +136 -0
  258. package/src/react/ui/modals/BuyModal/components/ERC1155QuantityModal.tsx +184 -0
  259. package/src/react/ui/modals/BuyModal/components/ERC1155ShopModal.tsx +121 -0
  260. package/src/react/ui/modals/BuyModal/components/ERC721BuyModal.tsx +85 -0
  261. package/src/react/ui/modals/BuyModal/components/ERC721ShopModal.tsx +86 -0
  262. package/src/react/ui/modals/BuyModal/components/Modal.tsx +14 -0
  263. package/src/react/ui/modals/BuyModal/components/types.ts +8 -0
  264. package/src/react/ui/modals/BuyModal/hooks/__tests__/useCheckoutOptions.test.tsx +4 -4
  265. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC1155Checkout.test.tsx +379 -0
  266. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC721SalePaymentParams.test.tsx +253 -0
  267. package/src/react/ui/modals/BuyModal/hooks/__tests__/{useFees.test.tsx → useMarketPlatformFee.test.tsx} +37 -28
  268. package/src/react/ui/modals/BuyModal/hooks/useCheckoutOptions.ts +62 -44
  269. package/src/react/ui/modals/BuyModal/hooks/useERC1155Checkout.ts +73 -0
  270. package/src/react/ui/modals/BuyModal/hooks/useERC721SalePaymentParams.ts +196 -0
  271. package/src/react/ui/modals/BuyModal/hooks/useLoadData.ts +74 -18
  272. package/src/react/ui/modals/BuyModal/hooks/useMarketPlatformFee.ts +53 -0
  273. package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +27 -12
  274. package/src/react/ui/modals/BuyModal/store.ts +147 -13
  275. package/src/react/ui/modals/CreateListingModal/Modal.tsx +3 -5
  276. package/src/react/ui/modals/CreateListingModal/hooks/useCreateListing.tsx +5 -3
  277. package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +2 -1
  278. package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +7 -5
  279. package/src/react/ui/modals/MakeOfferModal/Modal.tsx +2 -3
  280. package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +2 -1
  281. package/src/react/ui/modals/MakeOfferModal/hooks/useMakeOffer.tsx +4 -3
  282. package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +5 -3
  283. package/src/react/ui/modals/SellModal/Modal.tsx +0 -1
  284. package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +4 -3
  285. package/src/react/ui/modals/SellModal/hooks/useTransactionSteps.tsx +8 -5
  286. package/src/react/ui/modals/SuccessfulPurchaseModal/__tests__/Modal.test.tsx +11 -7
  287. package/src/react/ui/modals/SuccessfulPurchaseModal/index.tsx +34 -28
  288. package/src/react/ui/modals/SuccessfulPurchaseModal/store.ts +71 -0
  289. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/index.tsx +0 -1
  290. package/src/react/ui/modals/TransferModal/index.tsx +0 -1
  291. package/src/react/ui/modals/_internal/components/actionModal/ActionModal.test.tsx +0 -1
  292. package/src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx +105 -108
  293. package/src/react/ui/modals/_internal/components/actionModal/store.ts +45 -12
  294. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/__tests__/index.test.tsx +2 -2
  295. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +7 -6
  296. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/__tests__/SelectWaasFeeOptions.test.tsx +13 -7
  297. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/index.tsx +3 -5
  298. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/useWaasFeeOptionManager.tsx +5 -3
  299. package/src/react/ui/modals/_internal/components/switchChainModal/__tests__/SwitchChainModal.test.tsx +12 -8
  300. package/src/react/ui/modals/_internal/components/switchChainModal/index.tsx +35 -33
  301. package/src/react/ui/modals/_internal/components/switchChainModal/store.ts +61 -32
  302. package/src/react/ui/modals/_internal/components/transactionDetails/index.tsx +2 -2
  303. package/src/react/ui/modals/_internal/hooks/useSelectWaasFeeOptions.ts +2 -12
  304. package/src/react/ui/modals/modal-provider.tsx +1 -1
  305. package/src/types/buyModalErrors.ts +438 -0
  306. package/src/types/index.ts +1 -3
  307. package/src/types/new-marketplace-types.ts +104 -0
  308. package/src/types/sdk-config.ts +22 -12
  309. package/src/types/types.ts +17 -0
  310. package/src/utils/_internal/error/transaction.ts +36 -1
  311. package/tsconfig.json +1 -1
  312. package/tsconfig.tsbuildinfo +1 -1
  313. package/tsdown.config.ts +25 -0
  314. package/.ctirc +0 -32
  315. package/dist/alien_swap-2B65TDGT.js.map +0 -1
  316. package/dist/aqua-xyz-WMYQLAIS.js.map +0 -1
  317. package/dist/aura-V22RV5OG.js.map +0 -1
  318. package/dist/blur-GE5QOMCM.js.map +0 -1
  319. package/dist/chunk-2PSNAIAT.js +0 -1
  320. package/dist/chunk-2PSNAIAT.js.map +0 -1
  321. package/dist/chunk-5C6ZZ6WX.js +0 -130
  322. package/dist/chunk-5C6ZZ6WX.js.map +0 -1
  323. package/dist/chunk-5O44EPXZ.js +0 -207
  324. package/dist/chunk-5O44EPXZ.js.map +0 -1
  325. package/dist/chunk-6CTFVBKU.js +0 -1
  326. package/dist/chunk-6CTFVBKU.js.map +0 -1
  327. package/dist/chunk-7F27CJZW.js +0 -1544
  328. package/dist/chunk-7F27CJZW.js.map +0 -1
  329. package/dist/chunk-A7BVFBWB.js +0 -81
  330. package/dist/chunk-A7BVFBWB.js.map +0 -1
  331. package/dist/chunk-D7RVSZAQ.js +0 -332
  332. package/dist/chunk-D7RVSZAQ.js.map +0 -1
  333. package/dist/chunk-DWTLVJAW.js +0 -42
  334. package/dist/chunk-DWTLVJAW.js.map +0 -1
  335. package/dist/chunk-FGM57QUU.js +0 -128
  336. package/dist/chunk-FGM57QUU.js.map +0 -1
  337. package/dist/chunk-FUM4OGOQ.js +0 -1027
  338. package/dist/chunk-FUM4OGOQ.js.map +0 -1
  339. package/dist/chunk-JKCF7HEA.js +0 -1
  340. package/dist/chunk-JKCF7HEA.js.map +0 -1
  341. package/dist/chunk-KTST7ORH.js +0 -53
  342. package/dist/chunk-KTST7ORH.js.map +0 -1
  343. package/dist/chunk-M6NJ73Y5.js +0 -154
  344. package/dist/chunk-M6NJ73Y5.js.map +0 -1
  345. package/dist/chunk-N7BPFK46.js +0 -1
  346. package/dist/chunk-N7BPFK46.js.map +0 -1
  347. package/dist/chunk-NX52D7NX.js +0 -135
  348. package/dist/chunk-NX52D7NX.js.map +0 -1
  349. package/dist/chunk-O34GCB47.js +0 -32
  350. package/dist/chunk-O34GCB47.js.map +0 -1
  351. package/dist/chunk-Q3ECVC4F.js +0 -811
  352. package/dist/chunk-Q3ECVC4F.js.map +0 -1
  353. package/dist/chunk-RVIUUJTP.js +0 -76
  354. package/dist/chunk-RVIUUJTP.js.map +0 -1
  355. package/dist/chunk-SXVUTSMT.js +0 -2895
  356. package/dist/chunk-SXVUTSMT.js.map +0 -1
  357. package/dist/chunk-UJSF7PSC.js +0 -5728
  358. package/dist/chunk-UJSF7PSC.js.map +0 -1
  359. package/dist/chunk-WH5BZC7W.js +0 -38
  360. package/dist/chunk-WH5BZC7W.js.map +0 -1
  361. package/dist/chunk-XX4EVWBF.js +0 -1292
  362. package/dist/chunk-XX4EVWBF.js.map +0 -1
  363. package/dist/chunk-Y2HJO2VY.js +0 -432
  364. package/dist/chunk-Y2HJO2VY.js.map +0 -1
  365. package/dist/chunk-Y63BOO6M.js +0 -11
  366. package/dist/chunk-Y63BOO6M.js.map +0 -1
  367. package/dist/coinbase-NLHJMGAP.js.map +0 -1
  368. package/dist/create-config-CAQcvjl6.d.ts +0 -8
  369. package/dist/element-2LGTYYSP.js.map +0 -1
  370. package/dist/foundation-BPN66ZTN.js.map +0 -1
  371. package/dist/get-query-client-D46hbjk6.d.ts +0 -5
  372. package/dist/index-MlUK9AQE.d.ts +0 -62
  373. package/dist/index.css.map +0 -1
  374. package/dist/index.js.map +0 -1
  375. package/dist/listTokenMetadata-DO4ChDjn.d.ts +0 -203
  376. package/dist/looks-rare-MZRSOPT4.js.map +0 -1
  377. package/dist/magic-eden-PUBL6KWW.js.map +0 -1
  378. package/dist/manifold-GA445YJ6.js.map +0 -1
  379. package/dist/marketplace.gen-DQzWciwC.d.ts +0 -1072
  380. package/dist/marketplaceConfig-D0MXemEl.d.ts +0 -17
  381. package/dist/mintify-UMC5PTKC.js.map +0 -1
  382. package/dist/nftx-AX3CY3IE.js.map +0 -1
  383. package/dist/okx-GNVLAE2R.js.map +0 -1
  384. package/dist/open-sea-KI43GVEB.js.map +0 -1
  385. package/dist/rarible-2J3MMZJ7.js.map +0 -1
  386. package/dist/react/_internal/api/index.js.map +0 -1
  387. package/dist/react/_internal/databeat/index.js.map +0 -1
  388. package/dist/react/_internal/index.js.map +0 -1
  389. package/dist/react/_internal/wagmi/index.js.map +0 -1
  390. package/dist/react/hooks/index.js.map +0 -1
  391. package/dist/react/hooks/options/index.js.map +0 -1
  392. package/dist/react/index.css +0 -2764
  393. package/dist/react/index.css.map +0 -1
  394. package/dist/react/index.js.map +0 -1
  395. package/dist/react/queries/index.js.map +0 -1
  396. package/dist/react/ui/components/collectible-card/index.css +0 -2764
  397. package/dist/react/ui/components/collectible-card/index.css.map +0 -1
  398. package/dist/react/ui/components/collectible-card/index.d.ts +0 -70
  399. package/dist/react/ui/components/collectible-card/index.js +0 -32
  400. package/dist/react/ui/components/collectible-card/index.js.map +0 -1
  401. package/dist/react/ui/components/marketplace-logos/index.js.map +0 -1
  402. package/dist/react/ui/icons/index.js.map +0 -1
  403. package/dist/react/ui/index.css +0 -2764
  404. package/dist/react/ui/index.css.map +0 -1
  405. package/dist/react/ui/index.js.map +0 -1
  406. package/dist/react/ui/modals/_internal/components/actionModal/index.js.map +0 -1
  407. package/dist/sdk-config-onSPBxJj.d.ts +0 -134
  408. package/dist/sequence-TGLUFEPQ.js.map +0 -1
  409. package/dist/services-CMSb9ipU.d.ts +0 -23
  410. package/dist/sudo-swap-M2O6E3TE.js.map +0 -1
  411. package/dist/super-rare-UU2U4LIN.js.map +0 -1
  412. package/dist/types/index.js.map +0 -1
  413. package/dist/types-B8xzPEKX.d.ts +0 -68
  414. package/dist/utils/abi/index.js.map +0 -1
  415. package/dist/utils/abi/marketplace/index.js.map +0 -1
  416. package/dist/utils/abi/primary-sale/index.js.map +0 -1
  417. package/dist/utils/abi/token/index.js.map +0 -1
  418. package/dist/utils/index.js.map +0 -1
  419. package/dist/x2y2-3W5BBMZC.js.map +0 -1
  420. package/dist/zora-6EY6FUH6.js.map +0 -1
  421. package/postcss.config.mjs +0 -5
  422. package/src/react/hooks/__tests__/__snapshots__/useRoyaltyPercentage.test.tsx.snap +0 -8
  423. package/src/react/hooks/useCurrencies.tsx +0 -77
  424. package/src/react/ui/components/collectible-card/CollectibleCard.tsx +0 -170
  425. package/src/react/ui/components/collectible-card/Footer.tsx +0 -157
  426. package/src/react/ui/components/collectible-card/__tests__/CollectibleCard.test.tsx +0 -94
  427. package/src/react/ui/components/collectible-card/__tests__/Footer.test.tsx +0 -136
  428. package/src/react/ui/components/collectible-card/__tests__/Media.test.tsx +0 -224
  429. package/src/react/ui/components/collectible-card/index.ts +0 -2
  430. package/src/react/ui/modals/BuyModal/ERC1155QuantityModal.tsx +0 -124
  431. package/src/react/ui/modals/BuyModal/Modal.tsx +0 -124
  432. package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx +0 -104
  433. package/src/react/ui/modals/BuyModal/hooks/useFees.ts +0 -38
  434. package/src/react/ui/modals/SuccessfulPurchaseModal/_store.ts +0 -72
  435. package/tsup.config.ts +0 -23
  436. /package/src/react/ui/components/{collectible-card/media → media}/utils.ts +0 -0
@@ -2,19 +2,17 @@ import { SequenceAPIClient } from '@0xsequence/api';
2
2
  import { SequenceIndexer } from '@0xsequence/indexer';
3
3
  import { SequenceMetadata } from '@0xsequence/metadata';
4
4
  import { networks, stringTemplate } from '@0xsequence/network';
5
- import type { Env, SdkConfig } from '../../../types/sdk-config';
5
+ import type { ApiConfig, Env, SdkConfig } from '../../../types/sdk-config';
6
6
  import { MissingConfigError } from '../../../utils/_internal/error/transaction';
7
+ import { BuilderAPI } from './builder-api';
7
8
  import { SequenceMarketplace } from './marketplace-api';
8
9
 
9
10
  const SERVICES = {
10
11
  sequenceApi: 'https://${prefix}api.sequence.app',
11
12
  metadata: 'https://${prefix}metadata.sequence.app',
12
13
  indexer: 'https://${prefix}${network}-indexer.sequence.app',
13
- marketplaceApi: 'https://${prefix}marketplace-api.sequence.app/${network}',
14
+ marketplaceApi: 'https://${prefix}marketplace-api.sequence.app',
14
15
  builderRpcApi: 'https://${prefix}api.sequence.build',
15
- //Used for fetching css and manifest
16
- builderMarketplaceApi:
17
- 'https://${prefix}api.sequence.build/marketplace/${projectId}',
18
16
  };
19
17
 
20
18
  type ChainNameOrId = string | number;
@@ -35,19 +33,23 @@ const metadataURL = (env: Env = 'production') => {
35
33
  const prefix = getPrefix(env);
36
34
  return stringTemplate(SERVICES.metadata, { prefix });
37
35
  };
36
+
38
37
  const indexerURL = (chain: ChainNameOrId, env: Env = 'production') => {
39
38
  const prefix = getPrefix(env);
40
39
  const network = getNetwork(chain).name;
41
40
  return stringTemplate(SERVICES.indexer, { network: network, prefix });
42
41
  };
43
42
 
44
- const marketplaceApiURL = (chain: ChainNameOrId, env: Env = 'production') => {
43
+ const marketplaceApiURL = (env: Env = 'production') => {
44
+ // TODO: remove this once we have a production endpoint
45
+ if (env === 'development') {
46
+ return 'https://dev-marketplace-api-v2.sequence-dev.app';
47
+ }
45
48
  const prefix = getPrefix(env);
46
- const network = getNetwork(chain).name;
47
- return stringTemplate(SERVICES.marketplaceApi, { network: network, prefix });
49
+ return stringTemplate(SERVICES.marketplaceApi, { prefix });
48
50
  };
49
51
 
50
- export const builderRpcApi = (env: Env = 'production') => {
52
+ const builderRpcApiURL = (env: Env = 'production') => {
51
53
  const prefix = getPrefix(env);
52
54
  return stringTemplate(SERVICES.builderRpcApi, { prefix });
53
55
  };
@@ -57,58 +59,49 @@ export const sequenceApiUrl = (env: Env = 'production') => {
57
59
  return stringTemplate(SERVICES.sequenceApi, { prefix });
58
60
  };
59
61
 
60
- export const builderMarketplaceApi = (
61
- projectId: string,
62
- env: Env = 'production',
63
- ) => {
64
- const prefix = getPrefix(env);
65
- return stringTemplate(SERVICES.builderMarketplaceApi, {
66
- projectId,
67
- prefix,
68
- });
62
+ export const getBuilderClient = (config: SdkConfig) => {
63
+ const env = config._internal?.overrides?.api?.builder?.env || 'production';
64
+ const projectAccessKey =
65
+ config._internal?.overrides?.api?.builder?.accessKey ||
66
+ config.projectAccessKey;
67
+ return new BuilderAPI(builderRpcApiURL(env), projectAccessKey);
69
68
  };
69
+
70
70
  export const getMetadataClient = (config: SdkConfig) => {
71
- const env = config._internal?.metadataEnv || 'production';
72
- const projectAccessKey = getAccessKey({ env, config });
71
+ const env = config._internal?.overrides?.api?.metadata?.env || 'production';
72
+ const projectAccessKey =
73
+ config._internal?.overrides?.api?.metadata?.accessKey ||
74
+ config.projectAccessKey;
73
75
  return new SequenceMetadata(metadataURL(env), projectAccessKey);
74
76
  };
77
+
75
78
  export const getIndexerClient = (chain: ChainNameOrId, config: SdkConfig) => {
76
- const env = config._internal?.indexerEnv || 'production';
77
- const projectAccessKey = getAccessKey({ env, config });
79
+ const env = config._internal?.overrides?.api?.indexer?.env || 'production';
80
+ const projectAccessKey =
81
+ config._internal?.overrides?.api?.indexer?.accessKey ||
82
+ config.projectAccessKey;
78
83
  return new SequenceIndexer(indexerURL(chain, env), projectAccessKey);
79
84
  };
80
- export const getMarketplaceClient = (
81
- chain: ChainNameOrId,
82
- config: SdkConfig,
83
- ) => {
84
- const env = config._internal?.marketplaceEnv || 'production';
85
- const projectAccessKey = getAccessKey({ env, config });
86
- return new SequenceMarketplace(
87
- marketplaceApiURL(chain, env),
88
- projectAccessKey,
89
- );
85
+
86
+ export const getMarketplaceClient = (config: SdkConfig) => {
87
+ const env =
88
+ config._internal?.overrides?.api?.marketplace?.env || 'production';
89
+ const projectAccessKey =
90
+ config._internal?.overrides?.api?.marketplace?.accessKey ||
91
+ config.projectAccessKey;
92
+ return new SequenceMarketplace(marketplaceApiURL(env), projectAccessKey);
90
93
  };
94
+
91
95
  export const getSequenceApiClient = (config: SdkConfig) => {
92
- const env = config._internal?.sequenceApiEnv || 'production';
93
- const projectAccessKey = getAccessKey({ env, config });
96
+ const env =
97
+ config._internal?.overrides?.api?.sequenceApi?.env || 'production';
98
+ const projectAccessKey =
99
+ config._internal?.overrides?.api?.sequenceApi?.accessKey ||
100
+ config.projectAccessKey;
94
101
  return new SequenceAPIClient(sequenceApiUrl(env), projectAccessKey);
95
102
  };
96
- const getAccessKey = ({ env, config }: { env: Env; config: SdkConfig }) => {
97
- switch (env) {
98
- case 'development':
99
- if (!config._internal?.devAccessKey)
100
- throw new MissingConfigError('devAccessKey for development env');
101
- return config._internal?.devAccessKey;
102
- case 'production':
103
- return config.projectAccessKey;
104
- case 'next':
105
- if (!config._internal?.nextAccessKey)
106
- throw new MissingConfigError('nextAccessKey for next env');
107
- return config._internal?.nextAccessKey;
108
- }
109
- };
110
103
 
111
- const getPrefix = (env: Env) => {
104
+ const getPrefix = (env: ApiConfig['env']) => {
112
105
  switch (env) {
113
106
  case 'development':
114
107
  return 'dev-';
@@ -1,9 +1,7 @@
1
1
  import type { Address } from 'viem';
2
- import type { Chain } from 'viem';
3
2
  import { z } from 'zod';
4
3
  import type { ContractType, CreateReq } from '../../types';
5
- import type { MarketplaceConfig, SdkConfig } from '../../types';
6
- import type { MarketplaceKind, OrderbookKind } from './api';
4
+ import type { MarketplaceKind } from './api';
7
5
 
8
6
  export const QueryArgSchema = z
9
7
  .object({
@@ -50,16 +48,6 @@ export enum TransactionType {
50
48
  CANCEL = 'CANCEL',
51
49
  }
52
50
 
53
- export interface TransactionConfig {
54
- type: TransactionType;
55
- chainId: number;
56
- chains: readonly Chain[];
57
- collectionAddress: string;
58
- sdkConfig: SdkConfig;
59
- marketplaceConfig: MarketplaceConfig;
60
- orderbookKind?: OrderbookKind;
61
- }
62
-
63
51
  export interface BuyInput {
64
52
  orderId: string;
65
53
  collectableDecimals: number;
@@ -1,64 +1,72 @@
1
1
  import { polygon } from 'viem/chains';
2
2
  import { beforeEach, describe, expect, it } from 'vitest';
3
3
  import { type Config, cookieStorage } from 'wagmi';
4
- import {
5
- type MarketplaceConfig,
6
- MarketplaceType,
7
- MarketplaceWallet,
8
- OrderbookKind,
9
- type SdkConfig,
10
- } from '../../../../types';
4
+ import type { SdkConfig } from '../../../../types';
5
+ import { ContractType, OrderbookKind } from '../../../../types';
6
+ import type {
7
+ MarketCollection,
8
+ MarketplaceConfig,
9
+ } from '../../../../types/new-marketplace-types';
10
+ import { MarketplaceWalletType } from '../../api/builder.gen';
11
11
  import { createWagmiConfig } from '../create-config';
12
12
 
13
13
  describe('createWagmiConfig', () => {
14
- let baseMarketplaceConfig: MarketplaceConfig;
14
+ let baseMarketplace: MarketplaceConfig;
15
15
  let baseSdkConfig: SdkConfig;
16
16
 
17
17
  beforeEach(() => {
18
- baseMarketplaceConfig = {
18
+ baseMarketplace = {
19
19
  projectId: 1,
20
- cssString: '',
21
- manifestUrl: '',
22
- publisherId: 'test-publisher',
23
- title: 'Test Marketplace',
24
- shortDescription: 'Test Description',
25
- socials: {
26
- twitter: '',
27
- discord: '',
28
- website: '',
29
- tiktok: '',
30
- instagram: '',
31
- youtube: '',
20
+ settings: {
21
+ style: {},
22
+ publisherId: 'test-publisher',
23
+ title: 'Test Marketplace',
24
+ socials: {
25
+ twitter: '',
26
+ discord: '',
27
+ website: '',
28
+ tiktok: '',
29
+ instagram: '',
30
+ youtube: '',
31
+ },
32
+ faviconUrl: 'https://test.com/favicon.ico',
33
+ walletOptions: {
34
+ walletType: MarketplaceWalletType.UNIVERSAL,
35
+ oidcIssuers: {},
36
+ connectors: [],
37
+ includeEIP6963Wallets: false,
38
+ },
39
+ logoUrl: '',
40
+ fontUrl: '',
41
+ accessKey: undefined,
32
42
  },
33
- faviconUrl: 'https://test.com/favicon.ico',
34
- landingBannerUrl: 'https://test.com/banner.jpg',
35
- walletOptions: {
36
- walletType: MarketplaceWallet.UNIVERSAL,
37
- oidcIssuers: {},
38
- connectors: [],
39
- includeEIP6963Wallets: false,
43
+ market: {
44
+ enabled: true,
45
+ bannerUrl: 'https://test.com/banner.jpg',
46
+ ogImage: '',
47
+ collections: [
48
+ {
49
+ contractType: ContractType.ERC721,
50
+ marketplaceType: 'market',
51
+ chainId: polygon.id,
52
+ bannerUrl: '',
53
+ itemsAddress: '0x1234567890123456789012345678901234567890',
54
+ filterSettings: {
55
+ filterOrder: [],
56
+ exclusions: [],
57
+ },
58
+ feePercentage: 0,
59
+ destinationMarketplace: OrderbookKind.sequence_marketplace_v2,
60
+ currencyOptions: [],
61
+ } as MarketCollection,
62
+ ],
63
+ },
64
+ shop: {
65
+ enabled: false,
66
+ bannerUrl: '',
67
+ ogImage: '',
68
+ collections: [],
40
69
  },
41
- collections: [
42
- {
43
- address: '0x1234567890123456789012345678901234567890',
44
- chainId: polygon.id,
45
- marketplaceType: MarketplaceType.ORDERBOOK,
46
- currencyOptions: [],
47
- destinationMarketplace: OrderbookKind.sequence_marketplace_v2,
48
- filterSettings: {
49
- filterOrder: [],
50
- exclusions: [],
51
- },
52
- exchanges: [],
53
- bannerUrl: '',
54
- feePercentage: 0,
55
- },
56
- ],
57
- landingPageLayout: 'default',
58
- logoUrl: '',
59
- bannerUrl: '',
60
- fontUrl: '',
61
- ogImage: '',
62
70
  };
63
71
 
64
72
  baseSdkConfig = {
@@ -71,8 +79,9 @@ describe('createWagmiConfig', () => {
71
79
  it('should create config with empty collections', () => {
72
80
  const configWithEmptyCollections = createWagmiConfig(
73
81
  {
74
- ...baseMarketplaceConfig,
75
- collections: [],
82
+ ...baseMarketplace,
83
+ market: { ...baseMarketplace.market, collections: [] },
84
+ shop: { ...baseMarketplace.shop, collections: [] },
76
85
  },
77
86
  baseSdkConfig,
78
87
  );
@@ -85,12 +94,15 @@ describe('createWagmiConfig', () => {
85
94
 
86
95
  it('should create config with universal wallet setup', () => {
87
96
  const marketplaceConfig: MarketplaceConfig = {
88
- ...baseMarketplaceConfig,
89
- walletOptions: {
90
- connectors: ['walletconnect', 'coinbase'],
91
- includeEIP6963Wallets: true,
92
- walletType: MarketplaceWallet.UNIVERSAL,
93
- oidcIssuers: {},
97
+ ...baseMarketplace,
98
+ settings: {
99
+ ...baseMarketplace.settings,
100
+ walletOptions: {
101
+ connectors: ['walletconnect', 'coinbase'],
102
+ includeEIP6963Wallets: true,
103
+ walletType: MarketplaceWalletType.UNIVERSAL,
104
+ oidcIssuers: {},
105
+ },
94
106
  },
95
107
  };
96
108
 
@@ -105,25 +117,22 @@ describe('createWagmiConfig', () => {
105
117
  });
106
118
 
107
119
  it('should create config with embedded wallet setup', () => {
108
- // Valid waas tenant key format - base64 encoded JSON string containing the actual key
109
- const waasTenantKey = btoa(
110
- JSON.stringify({
111
- key: 'valid-waas-tenant-key',
112
- projectId: 'test-project-id',
113
- }),
114
- );
120
+ const waasTenantKey = 'test-waas-tenant-key';
115
121
 
116
122
  const marketplaceConfig: MarketplaceConfig = {
117
- ...baseMarketplaceConfig,
118
- walletOptions: {
119
- connectors: ['walletconnect'],
120
- includeEIP6963Wallets: false,
121
- walletType: MarketplaceWallet.EMBEDDED,
122
- oidcIssuers: {},
123
- waas: {
124
- tenantKey: waasTenantKey,
125
- emailEnabled: false,
126
- providers: [],
123
+ ...baseMarketplace,
124
+ settings: {
125
+ ...baseMarketplace.settings,
126
+ walletOptions: {
127
+ connectors: ['walletconnect'],
128
+ includeEIP6963Wallets: false,
129
+ walletType: MarketplaceWalletType.EMBEDDED,
130
+ oidcIssuers: {},
131
+ embedded: {
132
+ tenantKey: waasTenantKey,
133
+ emailEnabled: false,
134
+ providers: [],
135
+ },
127
136
  },
128
137
  },
129
138
  };
@@ -140,12 +149,15 @@ describe('createWagmiConfig', () => {
140
149
 
141
150
  it('should respect EIP6963 wallet inclusion setting', () => {
142
151
  const marketplaceConfig: MarketplaceConfig = {
143
- ...baseMarketplaceConfig,
144
- walletOptions: {
145
- connectors: ['walletconnect'],
146
- includeEIP6963Wallets: false,
147
- walletType: MarketplaceWallet.UNIVERSAL,
148
- oidcIssuers: {},
152
+ ...baseMarketplace,
153
+ settings: {
154
+ ...baseMarketplace.settings,
155
+ walletOptions: {
156
+ connectors: ['walletconnect'],
157
+ includeEIP6963Wallets: false,
158
+ walletType: MarketplaceWalletType.UNIVERSAL,
159
+ oidcIssuers: {},
160
+ },
149
161
  },
150
162
  };
151
163
 
@@ -156,7 +168,7 @@ describe('createWagmiConfig', () => {
156
168
 
157
169
  it('should create SSR compatible config when ssr flag is true', async () => {
158
170
  const config = createWagmiConfig(
159
- baseMarketplaceConfig,
171
+ baseMarketplace,
160
172
  baseSdkConfig,
161
173
  true,
162
174
  ) as Config;
@@ -177,12 +189,15 @@ describe('createWagmiConfig', () => {
177
189
  describe('failure cases', () => {
178
190
  it('should still create config when walletConnectProjectId is missing', () => {
179
191
  const marketplaceConfig: MarketplaceConfig = {
180
- ...baseMarketplaceConfig,
181
- walletOptions: {
182
- connectors: ['walletconnect'],
183
- includeEIP6963Wallets: true,
184
- walletType: MarketplaceWallet.UNIVERSAL,
185
- oidcIssuers: {},
192
+ ...baseMarketplace,
193
+ settings: {
194
+ ...baseMarketplace.settings,
195
+ walletOptions: {
196
+ connectors: ['walletconnect'],
197
+ includeEIP6963Wallets: true,
198
+ walletType: MarketplaceWalletType.UNIVERSAL,
199
+ oidcIssuers: {},
200
+ },
186
201
  },
187
202
  };
188
203
 
@@ -3,7 +3,7 @@ import { allNetworks, findNetworkConfig } from '@0xsequence/network';
3
3
  import type { Chain, Transport } from 'viem';
4
4
  import { http, cookieStorage, createConfig, createStorage } from 'wagmi';
5
5
  import type { Env, SdkConfig } from '../../../types';
6
- import type { MarketplaceConfig } from '../../queries/marketplaceConfig';
6
+ import type { MarketplaceConfig } from '../../../types/new-marketplace-types';
7
7
  import { DEFAULT_NETWORK } from '../consts';
8
8
  import { getConnectors } from './get-connectors';
9
9
 
@@ -13,14 +13,19 @@ export const createWagmiConfig = (
13
13
  ssr?: boolean,
14
14
  ) => {
15
15
  const chains = getChainConfigs(marketplaceConfig);
16
- const nodeGatewayEnv = sdkConfig._internal?.nodeGatewayEnv ?? 'production';
16
+ const nodeGatewayEnv =
17
+ sdkConfig._internal?.overrides?.api?.nodeGateway?.env ?? 'production';
18
+ const projectAccessKey =
19
+ sdkConfig._internal?.overrides?.api?.nodeGateway?.accessKey ??
20
+ sdkConfig.projectAccessKey;
21
+
17
22
  const transports = getTransportConfigs(
18
23
  chains,
19
- sdkConfig.projectAccessKey,
24
+ projectAccessKey,
20
25
  nodeGatewayEnv,
21
26
  );
22
27
 
23
- const walletType = marketplaceConfig.walletOptions.walletType;
28
+ const walletType = marketplaceConfig.settings.walletOptions.walletType;
24
29
 
25
30
  const connectors = getConnectors({
26
31
  marketplaceConfig,
@@ -29,7 +34,7 @@ export const createWagmiConfig = (
29
34
  });
30
35
 
31
36
  const multiInjectedProviderDiscovery =
32
- marketplaceConfig.walletOptions.includeEIP6963Wallets;
37
+ marketplaceConfig.settings.walletOptions.includeEIP6963Wallets;
33
38
 
34
39
  return createConfig({
35
40
  connectors,
@@ -45,9 +50,13 @@ export const createWagmiConfig = (
45
50
  });
46
51
  };
47
52
 
53
+ function getAllCollections(marketConfig: MarketplaceConfig) {
54
+ return [...marketConfig.market.collections, ...marketConfig.shop.collections];
55
+ }
56
+
48
57
  function getChainConfigs(marketConfig: MarketplaceConfig): [Chain, ...Chain[]] {
49
58
  const supportedChainIds = new Set(
50
- marketConfig.collections.map((c) => c.chainId),
59
+ getAllCollections(marketConfig).map((c) => c.chainId),
51
60
  );
52
61
 
53
62
  if (supportedChainIds.size === 0) {
@@ -18,9 +18,9 @@ import {
18
18
  import React, { type FunctionComponent } from 'react';
19
19
  import type { CreateConnectorFn } from 'wagmi';
20
20
  import type { Env, SdkConfig } from '../../../types';
21
+ import type { MarketplaceConfig } from '../../../types/new-marketplace-types';
21
22
  import { MissingConfigError } from '../../../utils/_internal/error/transaction';
22
- import type { MarketplaceConfig } from '../../queries/marketplaceConfig';
23
- import { MarketplaceWallet } from '../api/builder.gen';
23
+ import { MarketplaceWalletType } from '../api/builder.gen';
24
24
  import { DEFAULT_NETWORK } from '../consts';
25
25
 
26
26
  export function getConnectors({
@@ -30,15 +30,15 @@ export function getConnectors({
30
30
  }: {
31
31
  marketplaceConfig: MarketplaceConfig;
32
32
  sdkConfig: SdkConfig;
33
- walletType: MarketplaceWallet;
33
+ walletType: MarketplaceWalletType;
34
34
  }): CreateConnectorFn[] {
35
35
  const connectors = commonConnectors(marketplaceConfig, sdkConfig);
36
36
 
37
- if (walletType === MarketplaceWallet.UNIVERSAL) {
37
+ if (walletType === MarketplaceWalletType.UNIVERSAL) {
38
38
  connectors.push(...getUniversalWalletConfigs(sdkConfig, marketplaceConfig));
39
- } else if (walletType === MarketplaceWallet.EMBEDDED) {
39
+ } else if (walletType === MarketplaceWalletType.EMBEDDED) {
40
40
  connectors.push(...getWaasConnectors(sdkConfig, marketplaceConfig));
41
- } else if (walletType === MarketplaceWallet.ECOSYSTEM) {
41
+ } else if (walletType === MarketplaceWalletType.ECOSYSTEM) {
42
42
  connectors.push(getEcosystemConnector(marketplaceConfig, sdkConfig));
43
43
  } else {
44
44
  throw new Error('Invalid wallet type');
@@ -52,8 +52,8 @@ function commonConnectors(
52
52
  sdkConfig: SdkConfig,
53
53
  ) {
54
54
  const wallets = [];
55
- const { title: appName } = marketplaceConfig;
56
- const walletOptions = marketplaceConfig.walletOptions;
55
+ const { title: appName } = marketplaceConfig.settings;
56
+ const walletOptions = marketplaceConfig.settings.walletOptions;
57
57
  const walletConnectProjectId = sdkConfig.walletConnectProjectId;
58
58
 
59
59
  if (walletOptions.connectors.includes('coinbase')) {
@@ -82,17 +82,21 @@ function getUniversalWalletConfigs(
82
82
  config: SdkConfig,
83
83
  marketplaceConfig: MarketplaceConfig,
84
84
  ): Wallet[] {
85
- const { projectAccessKey } = config;
86
- const sequenceWalletEnv = config._internal?.sequenceWalletEnv || 'production';
85
+ const sequenceWalletEnv =
86
+ config._internal?.overrides?.api?.sequenceWallet?.env || 'production';
87
+ const projectAccessKey =
88
+ config._internal?.overrides?.api?.sequenceWallet?.accessKey ||
89
+ config.projectAccessKey;
87
90
 
88
91
  const sequenceWalletOptions = {
89
92
  walletAppURL: getSequenceWalletURL(sequenceWalletEnv),
90
93
  defaultNetwork: DEFAULT_NETWORK,
91
94
  connect: {
92
95
  projectAccessKey,
93
- app: marketplaceConfig.title,
96
+ app: marketplaceConfig.settings.title,
94
97
  settings: {
95
- bannerUrl: marketplaceConfig.ogImage,
98
+ // TODO: make a separate config for this?
99
+ bannerUrl: marketplaceConfig.market.ogImage,
96
100
  },
97
101
  },
98
102
  } satisfies SequenceOptions;
@@ -113,23 +117,25 @@ export function getWaasConnectors(
113
117
  ): Wallet[] {
114
118
  const { projectAccessKey } = config;
115
119
 
116
- const waasConfigKey = marketplaceConfig.walletOptions.waas?.tenantKey;
120
+ const waasConfigKey =
121
+ marketplaceConfig.settings.walletOptions.embedded?.tenantKey;
117
122
 
118
123
  if (!waasConfigKey)
119
124
  throw new MissingConfigError(
120
125
  'Embedded wallet config is missing, please check your access key',
121
126
  );
122
127
 
123
- const waasOptions = marketplaceConfig.walletOptions.oidcIssuers;
128
+ const waasOptions = marketplaceConfig.settings.walletOptions.oidcIssuers;
124
129
  const googleClientId = waasOptions.google;
125
130
  const appleClientId = waasOptions.apple;
126
- const appleRedirectURI = globalThis.window
127
- ? `https://${globalThis.window?.location?.origin}${globalThis.window?.location?.pathname}`
128
- : undefined;
131
+ const appleRedirectURI =
132
+ typeof window !== 'undefined'
133
+ ? `${window.location.origin}${window.location.pathname}`
134
+ : undefined;
129
135
 
130
136
  const wallets: Wallet[] = [];
131
137
 
132
- if (marketplaceConfig.walletOptions.waas?.emailEnabled) {
138
+ if (marketplaceConfig.settings.walletOptions.embedded?.emailEnabled) {
133
139
  wallets.push(
134
140
  emailWaas({
135
141
  projectAccessKey,
@@ -168,7 +174,7 @@ export function getEcosystemConnector(
168
174
  marketplaceConfig: MarketplaceConfig,
169
175
  sdkConfig: SdkConfig,
170
176
  ): Wallet {
171
- const ecosystemOptions = marketplaceConfig.walletOptions.ecosystem;
177
+ const ecosystemOptions = marketplaceConfig.settings.walletOptions.ecosystem;
172
178
  if (!ecosystemOptions) throw new MissingConfigError('ecosystem');
173
179
  const { walletAppName, walletUrl, logoDarkUrl, logoLightUrl } =
174
180
  ecosystemOptions;
@@ -198,9 +204,11 @@ function getSequenceWalletURL(env: Env) {
198
204
  switch (env) {
199
205
  case 'development':
200
206
  return 'https://dev.sequence.app';
201
- case 'production':
202
- return 'https://sequence.app';
203
207
  case 'next':
204
208
  return 'https://next.sequence.app';
209
+ // biome-ignore lint/complexity/noUselessSwitchCase: Production case kept for readability alongside other environments
210
+ case 'production':
211
+ default:
212
+ return 'https://sequence.app';
205
213
  }
206
214
  }