@0xsequence/marketplace-sdk 0.8.11 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/CHANGELOG.md +236 -2
  2. package/dist/CalendarIcon-DbQ7Vxcw.js +141 -0
  3. package/dist/CalendarIcon-DbQ7Vxcw.js.map +1 -0
  4. package/dist/CollectibleCard-C8Ae64Ab.d.ts +71 -0
  5. package/dist/_internal-BgWcRIak.js +22 -0
  6. package/dist/_internal-BgWcRIak.js.map +1 -0
  7. package/dist/abi-BKyRjVcZ.js +0 -0
  8. package/dist/{alien_swap-2B65TDGT.js → alien_swap-B_76IMma.js} +5 -5
  9. package/dist/alien_swap-B_76IMma.js.map +1 -0
  10. package/dist/api-DTIan01C.js +241 -0
  11. package/dist/api-DTIan01C.js.map +1 -0
  12. package/dist/{aqua-xyz-WMYQLAIS.js → aqua-xyz-CMN_TFY5.js} +5 -5
  13. package/dist/aqua-xyz-CMN_TFY5.js.map +1 -0
  14. package/dist/{aura-V22RV5OG.js → aura-Cye_TuHj.js} +5 -5
  15. package/dist/aura-Cye_TuHj.js.map +1 -0
  16. package/dist/{blur-GE5QOMCM.js → blur-DWDMyMpK.js} +5 -5
  17. package/dist/blur-DWDMyMpK.js.map +1 -0
  18. package/dist/builder-api-BFuZNOaN.js +28 -0
  19. package/dist/builder-api-BFuZNOaN.js.map +1 -0
  20. package/dist/builder-api-C_zj5mr3.d.ts +12 -0
  21. package/dist/builder.gen-B9wR2nvF.js +303 -0
  22. package/dist/builder.gen-B9wR2nvF.js.map +1 -0
  23. package/dist/{coinbase-NLHJMGAP.js → coinbase-ByA_XRB0.js} +5 -5
  24. package/dist/coinbase-ByA_XRB0.js.map +1 -0
  25. package/dist/{element-2LGTYYSP.js → element-b77CyXIZ.js} +5 -5
  26. package/dist/element-b77CyXIZ.js.map +1 -0
  27. package/dist/{foundation-BPN66ZTN.js → foundation-DbOrKP9Y.js} +5 -5
  28. package/dist/foundation-DbOrKP9Y.js.map +1 -0
  29. package/dist/index-21LE7OhL.d.ts +102 -0
  30. package/dist/index-BL9RUSEK.d.ts +1803 -0
  31. package/dist/index-BQsgAvtX.d.ts +2938 -0
  32. package/dist/index-BUVWziLP.d.ts +60 -0
  33. package/dist/index-ByznONYE.d.ts +187 -0
  34. package/dist/index-C39K_8SG.d.ts +1 -0
  35. package/dist/index-CLy8y5hm.d.ts +1057 -0
  36. package/dist/index-COt10OgI.d.ts +24 -0
  37. package/dist/index-D5v5iluA.d.ts +809 -0
  38. package/dist/index-DPNWNa7t.d.ts +414 -0
  39. package/dist/index-DXMfTZ1F.d.ts +7 -0
  40. package/dist/index-DaE5ZNHb.d.ts +24 -0
  41. package/dist/index-DsfCs3-x.d.ts +122 -0
  42. package/dist/index-DvpBZgor.d.ts +1 -0
  43. package/dist/index-dUb6wb4Y.d.ts +22 -0
  44. package/dist/index.css +397 -371
  45. package/dist/index.d.ts +10 -29
  46. package/dist/index.js +13 -104
  47. package/dist/{looks-rare-MZRSOPT4.js → looks-rare-C1VqNcSM.js} +5 -5
  48. package/dist/looks-rare-C1VqNcSM.js.map +1 -0
  49. package/dist/{magic-eden-PUBL6KWW.js → magic-eden-ea_AGCZr.js} +5 -5
  50. package/dist/magic-eden-ea_AGCZr.js.map +1 -0
  51. package/dist/{manifold-GA445YJ6.js → manifold-8y8J2sjT.js} +5 -5
  52. package/dist/manifold-8y8J2sjT.js.map +1 -0
  53. package/dist/marketplace-logos-CSeGcPW4.js +50 -0
  54. package/dist/marketplace-logos-CSeGcPW4.js.map +1 -0
  55. package/dist/marketplace-nwnZv9Cb.js +1913 -0
  56. package/dist/marketplace-nwnZv9Cb.js.map +1 -0
  57. package/dist/marketplace.gen-BSDIX7NZ.js +1077 -0
  58. package/dist/marketplace.gen-BSDIX7NZ.js.map +1 -0
  59. package/dist/marketplaceConfig-C6X1SUik.js +71 -0
  60. package/dist/marketplaceConfig-C6X1SUik.js.map +1 -0
  61. package/dist/{mintify-UMC5PTKC.js → mintify-LA68TzWg.js} +5 -5
  62. package/dist/mintify-LA68TzWg.js.map +1 -0
  63. package/dist/new-marketplace-types-Bfis0U4J.d.ts +1546 -0
  64. package/dist/{nftx-AX3CY3IE.js → nftx-D3Tc8nzd.js} +5 -5
  65. package/dist/nftx-D3Tc8nzd.js.map +1 -0
  66. package/dist/{okx-GNVLAE2R.js → okx-hbqg6oIJ.js} +5 -5
  67. package/dist/okx-hbqg6oIJ.js.map +1 -0
  68. package/dist/{open-sea-KI43GVEB.js → open-sea-BccuK8-t.js} +5 -5
  69. package/dist/open-sea-BccuK8-t.js.map +1 -0
  70. package/dist/options-B4QN7Xou.js +0 -0
  71. package/dist/primary-sale-C55ALnfQ.js +1264 -0
  72. package/dist/primary-sale-C55ALnfQ.js.map +1 -0
  73. package/dist/queries-CUU65uYZ.js +599 -0
  74. package/dist/queries-CUU65uYZ.js.map +1 -0
  75. package/dist/{rarible-2J3MMZJ7.js → rarible-BgTwwj9g.js} +5 -5
  76. package/dist/rarible-BgTwwj9g.js.map +1 -0
  77. package/dist/react/_internal/api/index.d.ts +4 -86
  78. package/dist/react/_internal/api/index.js +7 -150
  79. package/dist/react/_internal/databeat/index.d.ts +45 -41
  80. package/dist/react/_internal/databeat/index.js +23 -27
  81. package/dist/react/_internal/index.d.ts +7 -76
  82. package/dist/react/_internal/index.js +9 -176
  83. package/dist/react/_internal/wagmi/index.d.ts +4 -17
  84. package/dist/react/_internal/wagmi/index.js +5 -14
  85. package/dist/react/hooks/index.d.ts +18 -3652
  86. package/dist/react/hooks/index.js +23 -153
  87. package/dist/react/hooks/options/index.d.ts +4 -8
  88. package/dist/react/hooks/options/index.js +11 -21
  89. package/dist/react/index.d.ts +18 -36
  90. package/dist/react/index.js +23 -193
  91. package/dist/react/queries/index.d.ts +8 -26
  92. package/dist/react/queries/index.js +18 -51
  93. package/dist/react/ssr/index.d.ts +19 -13
  94. package/dist/react/ssr/index.js +29 -28
  95. package/dist/react/ssr/index.js.map +1 -1
  96. package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +9 -0
  97. package/dist/react/ui/components/marketplace-collectible-card/index.js +23 -0
  98. package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +8 -0
  99. package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +10 -0
  100. package/dist/react/ui/components/marketplace-logos/index.d.ts +26 -24
  101. package/dist/react/ui/components/marketplace-logos/index.js +3 -45
  102. package/dist/react/ui/icons/index.d.ts +1 -2
  103. package/dist/react/ui/icons/index.js +10 -14
  104. package/dist/react/ui/index.d.ts +9 -116
  105. package/dist/react/ui/index.js +23 -41
  106. package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +59 -33
  107. package/dist/react/ui/modals/_internal/components/actionModal/index.js +23 -31
  108. package/dist/react-BbHBl6gg.css +80 -0
  109. package/dist/react-BbHBl6gg.css.map +1 -0
  110. package/dist/react-DAIicQPT.js +8938 -0
  111. package/dist/react-DAIicQPT.js.map +1 -0
  112. package/dist/{sequence-TGLUFEPQ.js → sequence-Do3kzb4J.js} +5 -5
  113. package/dist/sequence-Do3kzb4J.js.map +1 -0
  114. package/dist/src-Dz2CfBL0.js +8 -0
  115. package/dist/src-Dz2CfBL0.js.map +1 -0
  116. package/dist/{sudo-swap-M2O6E3TE.js → sudo-swap-B6vPKxBz.js} +5 -5
  117. package/dist/sudo-swap-B6vPKxBz.js.map +1 -0
  118. package/dist/{super-rare-UU2U4LIN.js → super-rare-eCm1SE6O.js} +5 -5
  119. package/dist/super-rare-eCm1SE6O.js.map +1 -0
  120. package/dist/token-Da4TdyUk.js +2091 -0
  121. package/dist/token-Da4TdyUk.js.map +1 -0
  122. package/dist/transaction-CcVViHEL.js +97 -0
  123. package/dist/transaction-CcVViHEL.js.map +1 -0
  124. package/dist/types/index.d.ts +3 -13
  125. package/dist/types/index.js +5 -44
  126. package/dist/types-DwWE6xOF.js +13 -0
  127. package/dist/types-DwWE6xOF.js.map +1 -0
  128. package/dist/utils/abi/index.d.ts +5 -3
  129. package/dist/utils/abi/index.js +6 -26
  130. package/dist/utils/abi/marketplace/index.d.ts +2 -805
  131. package/dist/utils/abi/marketplace/index.js +3 -11
  132. package/dist/utils/abi/primary-sale/index.d.ts +2 -1054
  133. package/dist/utils/abi/primary-sale/index.js +3 -9
  134. package/dist/utils/abi/token/index.d.ts +2 -1125
  135. package/dist/utils/abi/token/index.js +3 -11
  136. package/dist/utils/index.d.ts +8 -91
  137. package/dist/utils/index.js +11 -57
  138. package/dist/utils-BPYfgDSL.js +44 -0
  139. package/dist/utils-BPYfgDSL.js.map +1 -0
  140. package/dist/utils-CW2NA5KG.js +216 -0
  141. package/dist/utils-CW2NA5KG.js.map +1 -0
  142. package/dist/wagmi-CDzEQbfk.js +166 -0
  143. package/dist/wagmi-CDzEQbfk.js.map +1 -0
  144. package/dist/{x2y2-3W5BBMZC.js → x2y2-DD17tT91.js} +5 -5
  145. package/dist/x2y2-DD17tT91.js.map +1 -0
  146. package/dist/{zora-6EY6FUH6.js → zora-BpSG9UzS.js} +5 -5
  147. package/dist/zora-BpSG9UzS.js.map +1 -0
  148. package/eslint/use-client.js +0 -6
  149. package/package.json +36 -35
  150. package/src/index.ts +1 -2
  151. package/src/react/_internal/api/__mocks__/builder.msw.ts +5 -3
  152. package/src/react/_internal/api/__mocks__/indexer.msw.ts +9 -8
  153. package/src/react/_internal/api/__mocks__/marketplace.msw.ts +4 -6
  154. package/src/react/_internal/api/__mocks__/metadata.msw.ts +1 -1
  155. package/src/react/_internal/api/builder.gen.ts +6 -7
  156. package/src/react/_internal/api/get-query-client.ts +2 -2
  157. package/src/react/_internal/api/index.ts +2 -2
  158. package/src/react/_internal/api/marketplace.gen.ts +505 -26
  159. package/src/react/_internal/api/query-keys.ts +13 -6
  160. package/src/react/_internal/api/services.ts +42 -52
  161. package/src/react/_internal/index.ts +1 -1
  162. package/src/react/_internal/types.ts +10 -23
  163. package/src/react/_internal/utils.ts +1 -2
  164. package/src/react/_internal/wagmi/__tests__/create-config.test.ts +5 -5
  165. package/src/react/_internal/wagmi/create-config.ts +23 -9
  166. package/src/react/_internal/wagmi/get-connectors.ts +10 -5
  167. package/src/react/_internal/wallet/__tests__/wallet.test.ts +1 -1
  168. package/src/react/_internal/wallet/wallet.ts +18 -18
  169. package/src/react/hooks/__tests__/__snapshots__/useListCollections.test.tsx.snap +181 -2
  170. package/src/react/hooks/__tests__/__snapshots__/useMarketplaceConfig.test.tsx.snap +54 -6
  171. package/src/react/hooks/__tests__/useAutoSelectFeeOption.test.tsx +8 -5
  172. package/src/react/hooks/__tests__/useBalanceOfCollectible.test.tsx +1 -1
  173. package/src/react/hooks/__tests__/useCancelOrder.test.tsx +4 -4
  174. package/src/react/hooks/__tests__/useCancelTransactionSteps.test.tsx +1 -1
  175. package/src/react/hooks/__tests__/useCheckoutOptionsSalesContract.test.tsx +225 -0
  176. package/src/react/hooks/__tests__/useCollectible.test.tsx +14 -16
  177. package/src/react/hooks/__tests__/useCollection.test.tsx +4 -4
  178. package/src/react/hooks/__tests__/useCollectionBalanceDetails.test.tsx +1 -27
  179. package/src/react/hooks/__tests__/useCollectionDetails.test.tsx +1 -1
  180. package/src/react/hooks/__tests__/useCollectionDetailsPolling.test.tsx +4 -4
  181. package/src/react/hooks/__tests__/useComparePrices.test.tsx +7 -6
  182. package/src/react/hooks/__tests__/useConvertPriceToUSD.test.tsx +1 -1
  183. package/src/react/hooks/__tests__/useCountListingsForCollectible.test.tsx +2 -2
  184. package/src/react/hooks/__tests__/useCountOfCollectables.test.tsx +5 -5
  185. package/src/react/hooks/__tests__/useCountOffersForCollectible.test.tsx +2 -2
  186. package/src/react/hooks/__tests__/useCurrency.test.tsx +5 -3
  187. package/src/react/hooks/__tests__/useFilters.test.tsx +1 -1
  188. package/src/react/hooks/__tests__/useFloorOrder.test.tsx +4 -4
  189. package/src/react/hooks/__tests__/useGenerateCancelTransaction.test.tsx +5 -6
  190. package/src/react/hooks/__tests__/useGenerateListingTransaction.test.tsx +1 -1
  191. package/src/react/hooks/__tests__/useGenerateOfferTransaction.test.tsx +1 -1
  192. package/src/react/hooks/__tests__/useGenerateSellTransaction.test.tsx +1 -1
  193. package/src/react/hooks/__tests__/useGetTokenSuppliesMap.test.tsx +104 -0
  194. package/src/react/hooks/__tests__/useHighestOffer.test.tsx +4 -20
  195. package/src/react/hooks/__tests__/useInventory.test.tsx +1 -37
  196. package/src/react/hooks/__tests__/useListCollectibleActivities.test.tsx +11 -13
  197. package/src/react/hooks/__tests__/useListCollectibles.test.tsx +5 -5
  198. package/src/react/hooks/__tests__/useListCollectiblesPaginated.test.tsx +10 -15
  199. package/src/react/hooks/__tests__/useListCollectionActivities.test.tsx +13 -15
  200. package/src/react/hooks/__tests__/useListCollections.test.tsx +4 -4
  201. package/src/react/hooks/__tests__/useListListingsForCollectible.test.tsx +3 -2
  202. package/src/react/hooks/__tests__/useListMarketCardData.test.tsx +301 -0
  203. package/src/react/hooks/__tests__/useListOffersForCollectible.test.tsx +1 -1
  204. package/src/react/hooks/__tests__/useListTokenMetadata.test.tsx +111 -0
  205. package/src/react/hooks/__tests__/useLowestListing.test.tsx +1 -1
  206. package/src/react/hooks/__tests__/useMarketCurrencies.test.tsx +1 -1
  207. package/src/react/hooks/__tests__/useRoyalty.test.tsx +0 -23
  208. package/src/react/hooks/index.ts +27 -17
  209. package/src/react/hooks/options/index.ts +0 -1
  210. package/src/react/hooks/useAutoSelectFeeOption.tsx +1 -1
  211. package/src/react/hooks/useBalanceOfCollectible.tsx +14 -10
  212. package/src/react/hooks/useCancelTransactionSteps.tsx +7 -3
  213. package/src/react/hooks/useCheckoutOptionsSalesContract.tsx +67 -0
  214. package/src/react/hooks/useCollectible.tsx +64 -49
  215. package/src/react/hooks/useCollection.tsx +60 -11
  216. package/src/react/hooks/useCollectionBalanceDetails.tsx +20 -27
  217. package/src/react/hooks/useCollectionDetails.ts +69 -0
  218. package/src/react/hooks/useCollectionDetailsPolling.tsx +10 -2
  219. package/src/react/hooks/useComparePrices.tsx +18 -21
  220. package/src/react/hooks/useConvertPriceToUSD.tsx +20 -37
  221. package/src/react/hooks/useCountListingsForCollectible.tsx +64 -52
  222. package/src/react/hooks/useCountOfCollectables.tsx +61 -67
  223. package/src/react/hooks/useCountOfPrimarySaleItems.tsx +13 -0
  224. package/src/react/hooks/useCountOffersForCollectible.tsx +64 -52
  225. package/src/react/hooks/useCurrency.tsx +56 -64
  226. package/src/react/hooks/useERC721SaleMintedTokens.tsx +67 -0
  227. package/src/react/hooks/useFilterState.tsx +1 -2
  228. package/src/react/hooks/useFloorOrder.tsx +65 -37
  229. package/src/react/hooks/useGenerateCancelTransaction.tsx +17 -15
  230. package/src/react/hooks/useGenerateListingTransaction.tsx +16 -6
  231. package/src/react/hooks/useGenerateOfferTransaction.tsx +16 -7
  232. package/src/react/hooks/useGenerateSellTransaction.tsx +19 -15
  233. package/src/react/hooks/useGetReceiptFromHash.tsx +32 -3
  234. package/src/react/hooks/useGetTokenRanges.tsx +31 -0
  235. package/src/react/hooks/useGetTokenSuppliesMap.tsx +73 -0
  236. package/src/react/hooks/useHighestOffer.tsx +68 -4
  237. package/src/react/hooks/useInventory.tsx +8 -6
  238. package/src/react/hooks/useList1155ShopCardData.tsx +103 -0
  239. package/src/react/hooks/useList721ShopCardData.tsx +160 -0
  240. package/src/react/hooks/useListBalances.tsx +7 -10
  241. package/src/react/hooks/useListCollectibleActivities.tsx +89 -49
  242. package/src/react/hooks/useListCollectibles.tsx +78 -26
  243. package/src/react/hooks/useListCollectiblesPaginated.tsx +96 -63
  244. package/src/react/hooks/useListCollectionActivities.tsx +84 -49
  245. package/src/react/hooks/useListCollections.tsx +72 -18
  246. package/src/react/hooks/useListListingsForCollectible.tsx +90 -49
  247. package/src/react/hooks/useListMarketCardData.tsx +157 -0
  248. package/src/react/hooks/useListOffersForCollectible.tsx +11 -15
  249. package/src/react/hooks/useListPrimarySaleItems.ts +102 -0
  250. package/src/react/hooks/useListShopCardData.tsx +70 -0
  251. package/src/react/hooks/useListTokenMetadata.tsx +73 -0
  252. package/src/react/hooks/useLowestListing.tsx +68 -4
  253. package/src/react/hooks/useMarketCurrencies.tsx +62 -5
  254. package/src/react/hooks/useRoyalty.tsx +57 -13
  255. package/src/react/hooks/useShopCollectibleSaleData.tsx +349 -0
  256. package/src/react/hooks/useTokenSaleDetailsBatch.tsx +134 -0
  257. package/src/react/hooks/useTransferTokens.tsx +1 -1
  258. package/src/react/hooks/util/optimisticCancelUpdates.ts +5 -7
  259. package/src/react/index.ts +5 -3
  260. package/src/react/queries/balanceOfCollectible.ts +1 -1
  261. package/src/react/queries/collectible.ts +66 -0
  262. package/src/react/queries/collection.ts +55 -0
  263. package/src/react/queries/collectionDetails.ts +64 -0
  264. package/src/react/queries/countListingsForCollectible.ts +73 -0
  265. package/src/react/queries/countOfCollectables.ts +83 -0
  266. package/src/react/queries/countOfPrimarySaleItems.ts +48 -0
  267. package/src/react/queries/countOffersForCollectible.ts +73 -0
  268. package/src/react/queries/currency.ts +83 -0
  269. package/src/react/queries/floorOrder.ts +63 -0
  270. package/src/react/queries/getTokenSuppliesMap.ts +77 -0
  271. package/src/react/queries/highestOffer.ts +48 -40
  272. package/src/react/queries/index.ts +7 -4
  273. package/src/react/queries/inventory.ts +38 -4
  274. package/src/react/queries/listBalances.ts +14 -30
  275. package/src/react/queries/listCollectibleActivities.ts +97 -0
  276. package/src/react/queries/listCollectibles.ts +117 -47
  277. package/src/react/queries/listCollectiblesPaginated.ts +87 -0
  278. package/src/react/queries/listCollectionActivities.ts +95 -0
  279. package/src/react/queries/listCollections.ts +55 -10
  280. package/src/react/queries/listListingsForCollectible.ts +82 -0
  281. package/src/react/queries/listTokenMetadata.ts +47 -18
  282. package/src/react/queries/lowestListing.ts +48 -31
  283. package/src/react/queries/marketCurrencies.ts +52 -35
  284. package/src/react/queries/marketplaceConfig.ts +56 -81
  285. package/src/react/ssr/__tests__/__snapshots__/create-ssr-client.test.ts.snap +54 -6
  286. package/src/react/ssr/__tests__/create-ssr-client.test.ts +0 -3
  287. package/src/react/ssr/create-ssr-client.ts +6 -11
  288. package/src/react/types/query.ts +34 -0
  289. package/src/react/ui/components/ModelViewer.tsx +1 -1
  290. package/src/react/ui/components/_internals/action-button/ActionButton.tsx +47 -13
  291. package/src/react/ui/components/_internals/action-button/__tests__/ActionButtonBody.test.tsx +1 -1
  292. package/src/react/ui/components/_internals/action-button/__tests__/NonOwnerActions.test.tsx +28 -15
  293. package/src/react/ui/components/_internals/action-button/__tests__/OwnerActions.test.tsx +1 -1
  294. package/src/react/ui/components/_internals/action-button/__tests__/useActionButtonLogic.test.tsx +15 -9
  295. package/src/react/ui/components/_internals/action-button/components/ActionButtonBody.tsx +1 -1
  296. package/src/react/ui/components/_internals/action-button/components/NonOwnerActions.tsx +78 -15
  297. package/src/react/ui/components/_internals/action-button/components/OwnerActions.tsx +1 -1
  298. package/src/react/ui/components/_internals/action-button/hooks/useActionButtonLogic.ts +13 -16
  299. package/src/react/ui/components/_internals/action-button/store.ts +46 -18
  300. package/src/react/ui/components/marketplace-collectible-card/CollectibleCard.tsx +17 -0
  301. package/src/react/ui/components/marketplace-collectible-card/CollectibleCardSkeleton.tsx +24 -0
  302. package/src/react/ui/components/marketplace-collectible-card/Footer.tsx +231 -0
  303. package/src/react/ui/components/marketplace-collectible-card/components/ActionButtonWrapper.tsx +76 -0
  304. package/src/react/ui/components/marketplace-collectible-card/components/BaseCard.tsx +58 -0
  305. package/src/react/ui/components/marketplace-collectible-card/index.ts +3 -0
  306. package/src/react/ui/components/marketplace-collectible-card/types.ts +98 -0
  307. package/src/react/ui/components/marketplace-collectible-card/utils/formatPrice.ts +45 -0
  308. package/src/react/ui/components/marketplace-collectible-card/utils/index.ts +2 -0
  309. package/src/react/ui/components/marketplace-collectible-card/utils/supplyStatus.ts +39 -0
  310. package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +125 -0
  311. package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +102 -0
  312. package/src/react/ui/components/marketplace-logos/marketplace-logos.tsx +1 -1
  313. package/src/react/ui/components/{collectible-card/media → media}/Media.tsx +47 -26
  314. package/src/react/ui/components/{collectible-card/media → media}/types.ts +3 -1
  315. package/src/react/ui/index.ts +8 -7
  316. package/src/react/ui/modals/BuyModal/__tests__/BuyModalRouter.test.tsx +554 -0
  317. package/src/react/ui/modals/BuyModal/__tests__/ERC1155ShopModal.test.tsx +392 -0
  318. package/src/react/ui/modals/BuyModal/__tests__/ERC721ShopModal.test.tsx +272 -0
  319. package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx.bak +112 -0
  320. package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +117 -13
  321. package/src/react/ui/modals/BuyModal/__tests__/store.test.ts +10 -7
  322. package/src/react/ui/modals/BuyModal/components/BuyModalRouter.tsx +157 -0
  323. package/src/react/ui/modals/BuyModal/components/ERC1155BuyModal.tsx +136 -0
  324. package/src/react/ui/modals/BuyModal/components/ERC1155QuantityModal.tsx +183 -0
  325. package/src/react/ui/modals/BuyModal/components/ERC1155ShopModal.tsx +121 -0
  326. package/src/react/ui/modals/BuyModal/components/ERC721BuyModal.tsx +85 -0
  327. package/src/react/ui/modals/BuyModal/components/ERC721ShopModal.tsx +86 -0
  328. package/src/react/ui/modals/BuyModal/components/Modal.tsx +14 -0
  329. package/src/react/ui/modals/BuyModal/components/types.ts +8 -0
  330. package/src/react/ui/modals/BuyModal/hooks/__tests__/useCheckoutOptions.test.tsx +5 -5
  331. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC1155Checkout.test.tsx +379 -0
  332. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC721SalePaymentParams.test.tsx +253 -0
  333. package/src/react/ui/modals/BuyModal/hooks/__tests__/{useFees.test.tsx → useMarketPlatformFee.test.tsx} +10 -11
  334. package/src/react/ui/modals/BuyModal/hooks/useCheckoutOptions.ts +63 -45
  335. package/src/react/ui/modals/BuyModal/hooks/useERC1155Checkout.ts +73 -0
  336. package/src/react/ui/modals/BuyModal/hooks/useERC721SalePaymentParams.ts +196 -0
  337. package/src/react/ui/modals/BuyModal/hooks/useLoadData.ts +74 -18
  338. package/src/react/ui/modals/BuyModal/hooks/useMarketPlatformFee.ts +53 -0
  339. package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +30 -15
  340. package/src/react/ui/modals/BuyModal/store.ts +147 -13
  341. package/src/react/ui/modals/CreateListingModal/Modal.tsx +1 -1
  342. package/src/react/ui/modals/CreateListingModal/__tests__/Modal.test.tsx +2 -2
  343. package/src/react/ui/modals/CreateListingModal/hooks/useCreateListing.tsx +0 -1
  344. package/src/react/ui/modals/CreateListingModal/hooks/useGetTokenApproval.ts +4 -3
  345. package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +12 -9
  346. package/src/react/ui/modals/CreateListingModal/index.tsx +1 -1
  347. package/src/react/ui/modals/MakeOfferModal/Modal.tsx +2 -2
  348. package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +1 -1
  349. package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +3 -2
  350. package/src/react/ui/modals/MakeOfferModal/hooks/useMakeOffer.tsx +0 -1
  351. package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +12 -10
  352. package/src/react/ui/modals/MakeOfferModal/index.tsx +1 -1
  353. package/src/react/ui/modals/SellModal/Modal.tsx +3 -3
  354. package/src/react/ui/modals/SellModal/__tests__/Modal.test.tsx +6 -4
  355. package/src/react/ui/modals/SellModal/hooks/useGetTokenApproval.tsx +5 -4
  356. package/src/react/ui/modals/SellModal/hooks/useSell.tsx +0 -1
  357. package/src/react/ui/modals/SellModal/hooks/useTransactionSteps.tsx +11 -8
  358. package/src/react/ui/modals/SuccessfulPurchaseModal/__tests__/Modal.test.tsx +12 -8
  359. package/src/react/ui/modals/SuccessfulPurchaseModal/index.tsx +34 -28
  360. package/src/react/ui/modals/SuccessfulPurchaseModal/store.ts +71 -0
  361. package/src/react/ui/modals/TransferModal/_store.ts +1 -7
  362. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/_components/TokenQuantityInput.tsx +2 -3
  363. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/index.tsx +2 -2
  364. package/src/react/ui/modals/_internal/components/actionModal/ActionModal.test.tsx +1 -2
  365. package/src/react/ui/modals/_internal/components/actionModal/ActionModal.tsx +107 -112
  366. package/src/react/ui/modals/_internal/components/actionModal/store.ts +45 -12
  367. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/__tests__/index.test.tsx +1 -1
  368. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +0 -1
  369. package/src/react/ui/modals/_internal/components/floorPriceText/index.tsx +4 -4
  370. package/src/react/ui/modals/_internal/components/quantityInput/QuantityInputBase.tsx +166 -0
  371. package/src/react/ui/modals/_internal/components/quantityInput/index.tsx +12 -141
  372. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/__tests__/SelectWaasFeeOptions.test.tsx +1 -1
  373. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/_components/BalanceIndicator.tsx +1 -2
  374. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/useWaasFeeOptionManager.tsx +0 -1
  375. package/src/react/ui/modals/_internal/components/switchChainModal/__tests__/SwitchChainModal.test.tsx +12 -8
  376. package/src/react/ui/modals/_internal/components/switchChainModal/index.tsx +35 -33
  377. package/src/react/ui/modals/_internal/components/switchChainModal/store.ts +61 -32
  378. package/src/react/ui/modals/_internal/components/transactionPreview/index.tsx +1 -1
  379. package/src/react/ui/modals/_internal/components/transactionStatusModal/__tests__/TransactionStatusModal.test.tsx +1 -1
  380. package/src/react/ui/modals/_internal/components/transactionStatusModal/hooks/useTransactionStatus.ts +0 -1
  381. package/src/react/ui/modals/_internal/components/transactionStatusModal/store.ts +1 -1
  382. package/src/react/ui/modals/_internal/components/waasFeeOptionsSelect/WaasFeeOptionsSelect.tsx +1 -1
  383. package/src/react/ui/modals/modal-provider.tsx +3 -4
  384. package/src/types/api-types.ts +36 -36
  385. package/src/types/buyModalErrors.ts +438 -0
  386. package/src/types/index.ts +5 -2
  387. package/src/types/new-marketplace-types.ts +6 -21
  388. package/src/types/sdk-config.ts +19 -24
  389. package/src/types/types.ts +17 -0
  390. package/src/types/waas-types.ts +1 -1
  391. package/src/utils/_internal/error/transaction.ts +36 -1
  392. package/src/utils/abi/index.ts +1 -1
  393. package/src/utils/abi/primary-sale/index.ts +1 -1
  394. package/src/utils/abi/token/index.ts +2 -1
  395. package/src/utils/decode/erc20.ts +1 -1
  396. package/src/utils/index.ts +3 -3
  397. package/test/const.ts +3 -1
  398. package/test/mocks/wallet.ts +1 -1
  399. package/test/test-utils.tsx +3 -4
  400. package/tsconfig.json +1 -1
  401. package/tsdown.config.ts +25 -0
  402. package/.changeset/fluffy-jokes-lay.md +0 -5
  403. package/.changeset/wise-bugs-boil.md +0 -8
  404. package/.ctirc +0 -32
  405. package/dist/alien_swap-2B65TDGT.js.map +0 -1
  406. package/dist/aqua-xyz-WMYQLAIS.js.map +0 -1
  407. package/dist/aura-V22RV5OG.js.map +0 -1
  408. package/dist/blur-GE5QOMCM.js.map +0 -1
  409. package/dist/chunk-2PSNAIAT.js +0 -1
  410. package/dist/chunk-2PSNAIAT.js.map +0 -1
  411. package/dist/chunk-5C6ZZ6WX.js +0 -130
  412. package/dist/chunk-5C6ZZ6WX.js.map +0 -1
  413. package/dist/chunk-5O44EPXZ.js +0 -207
  414. package/dist/chunk-5O44EPXZ.js.map +0 -1
  415. package/dist/chunk-6CTFVBKU.js +0 -1
  416. package/dist/chunk-6CTFVBKU.js.map +0 -1
  417. package/dist/chunk-6OPMUCGX.js +0 -42
  418. package/dist/chunk-6OPMUCGX.js.map +0 -1
  419. package/dist/chunk-FUM4OGOQ.js +0 -1027
  420. package/dist/chunk-FUM4OGOQ.js.map +0 -1
  421. package/dist/chunk-L6KWLCER.js +0 -32
  422. package/dist/chunk-L6KWLCER.js.map +0 -1
  423. package/dist/chunk-LAP2CKLN.js +0 -485
  424. package/dist/chunk-LAP2CKLN.js.map +0 -1
  425. package/dist/chunk-LECCEZAO.js +0 -11
  426. package/dist/chunk-LECCEZAO.js.map +0 -1
  427. package/dist/chunk-N7SQWS2R.js +0 -38
  428. package/dist/chunk-N7SQWS2R.js.map +0 -1
  429. package/dist/chunk-NX52D7NX.js +0 -135
  430. package/dist/chunk-NX52D7NX.js.map +0 -1
  431. package/dist/chunk-OAOONM4S.js +0 -1787
  432. package/dist/chunk-OAOONM4S.js.map +0 -1
  433. package/dist/chunk-Q3ECVC4F.js +0 -811
  434. package/dist/chunk-Q3ECVC4F.js.map +0 -1
  435. package/dist/chunk-QY52UADF.js +0 -107
  436. package/dist/chunk-QY52UADF.js.map +0 -1
  437. package/dist/chunk-TNAR3XEF.js +0 -8729
  438. package/dist/chunk-TNAR3XEF.js.map +0 -1
  439. package/dist/chunk-XABYNWXO.js +0 -549
  440. package/dist/chunk-XABYNWXO.js.map +0 -1
  441. package/dist/chunk-XX4EVWBF.js +0 -1292
  442. package/dist/chunk-XX4EVWBF.js.map +0 -1
  443. package/dist/chunk-YB5UUF2G.js +0 -11
  444. package/dist/chunk-YB5UUF2G.js.map +0 -1
  445. package/dist/chunk-YWGFI4PN.js +0 -217
  446. package/dist/chunk-YWGFI4PN.js.map +0 -1
  447. package/dist/coinbase-NLHJMGAP.js.map +0 -1
  448. package/dist/create-config-DLMvMTkZ.d.ts +0 -8
  449. package/dist/element-2LGTYYSP.js.map +0 -1
  450. package/dist/foundation-BPN66ZTN.js.map +0 -1
  451. package/dist/get-query-client-D46hbjk6.d.ts +0 -5
  452. package/dist/index.css.map +0 -1
  453. package/dist/index.js.map +0 -1
  454. package/dist/looks-rare-MZRSOPT4.js.map +0 -1
  455. package/dist/magic-eden-PUBL6KWW.js.map +0 -1
  456. package/dist/manifold-GA445YJ6.js.map +0 -1
  457. package/dist/marketCurrencies-enNVYwBk.d.ts +0 -277
  458. package/dist/marketplace.gen-D24veUQs.d.ts +0 -1073
  459. package/dist/marketplaceConfig-BwNAbLPw.d.ts +0 -21
  460. package/dist/mintify-UMC5PTKC.js.map +0 -1
  461. package/dist/new-marketplace-types-BCw19X9S.d.ts +0 -102
  462. package/dist/nftx-AX3CY3IE.js.map +0 -1
  463. package/dist/okx-GNVLAE2R.js.map +0 -1
  464. package/dist/open-sea-KI43GVEB.js.map +0 -1
  465. package/dist/rarible-2J3MMZJ7.js.map +0 -1
  466. package/dist/react/_internal/api/index.js.map +0 -1
  467. package/dist/react/_internal/databeat/index.css +0 -2764
  468. package/dist/react/_internal/databeat/index.css.map +0 -1
  469. package/dist/react/_internal/databeat/index.js.map +0 -1
  470. package/dist/react/_internal/index.js.map +0 -1
  471. package/dist/react/_internal/wagmi/index.js.map +0 -1
  472. package/dist/react/hooks/index.css +0 -2764
  473. package/dist/react/hooks/index.css.map +0 -1
  474. package/dist/react/hooks/index.js.map +0 -1
  475. package/dist/react/hooks/options/index.js.map +0 -1
  476. package/dist/react/index.css +0 -2764
  477. package/dist/react/index.css.map +0 -1
  478. package/dist/react/index.js.map +0 -1
  479. package/dist/react/queries/index.js.map +0 -1
  480. package/dist/react/ui/components/collectible-card/index.css +0 -2764
  481. package/dist/react/ui/components/collectible-card/index.css.map +0 -1
  482. package/dist/react/ui/components/collectible-card/index.d.ts +0 -71
  483. package/dist/react/ui/components/collectible-card/index.js +0 -27
  484. package/dist/react/ui/components/collectible-card/index.js.map +0 -1
  485. package/dist/react/ui/components/marketplace-logos/index.js.map +0 -1
  486. package/dist/react/ui/icons/index.js.map +0 -1
  487. package/dist/react/ui/index.css +0 -2764
  488. package/dist/react/ui/index.css.map +0 -1
  489. package/dist/react/ui/index.js.map +0 -1
  490. package/dist/react/ui/modals/_internal/components/actionModal/index.css +0 -2764
  491. package/dist/react/ui/modals/_internal/components/actionModal/index.css.map +0 -1
  492. package/dist/react/ui/modals/_internal/components/actionModal/index.js.map +0 -1
  493. package/dist/sdk-config-qorA0TgF.d.ts +0 -165
  494. package/dist/sequence-TGLUFEPQ.js.map +0 -1
  495. package/dist/services-WrshxCqc.d.ts +0 -23
  496. package/dist/sudo-swap-M2O6E3TE.js.map +0 -1
  497. package/dist/super-rare-UU2U4LIN.js.map +0 -1
  498. package/dist/types/index.js.map +0 -1
  499. package/dist/useCollection-YAdXfVO7.d.ts +0 -61
  500. package/dist/utils/abi/index.js.map +0 -1
  501. package/dist/utils/abi/marketplace/index.js.map +0 -1
  502. package/dist/utils/abi/primary-sale/index.js.map +0 -1
  503. package/dist/utils/abi/token/index.js.map +0 -1
  504. package/dist/utils/index.js.map +0 -1
  505. package/dist/x2y2-3W5BBMZC.js.map +0 -1
  506. package/dist/zora-6EY6FUH6.js.map +0 -1
  507. package/postcss.config.mjs +0 -5
  508. package/src/react/_internal/api/zod-schema.ts +0 -678
  509. package/src/react/hooks/__tests__/__snapshots__/useRoyaltyPercentage.test.tsx.snap +0 -8
  510. package/src/react/hooks/options/collectionOptions.ts +0 -41
  511. package/src/react/hooks/useCheckoutOptions.tsx +0 -65
  512. package/src/react/hooks/useCollectionDetails.tsx +0 -35
  513. package/src/react/hooks/useGetTokenSuppliesMap.ts +0 -28
  514. package/src/react/hooks/useListTokenMetadata.ts +0 -19
  515. package/src/react/queries/getTokenSupplies.ts +0 -38
  516. package/src/react/ui/components/collectible-card/CollectibleCard.tsx +0 -170
  517. package/src/react/ui/components/collectible-card/Footer.tsx +0 -157
  518. package/src/react/ui/components/collectible-card/__tests__/CollectibleCard.test.tsx +0 -94
  519. package/src/react/ui/components/collectible-card/__tests__/Footer.test.tsx +0 -136
  520. package/src/react/ui/components/collectible-card/__tests__/Media.test.tsx +0 -264
  521. package/src/react/ui/components/collectible-card/index.ts +0 -2
  522. package/src/react/ui/modals/BuyModal/ERC1155QuantityModal.tsx +0 -130
  523. package/src/react/ui/modals/BuyModal/Modal.tsx +0 -124
  524. package/src/react/ui/modals/BuyModal/__tests__/Modal.test.tsx +0 -104
  525. package/src/react/ui/modals/BuyModal/hooks/useFees.ts +0 -39
  526. package/src/react/ui/modals/SuccessfulPurchaseModal/_store.ts +0 -72
  527. package/tsconfig.tsbuildinfo +0 -1
  528. package/tsup.config.ts +0 -23
  529. /package/src/react/ui/components/{collectible-card/media → media}/MediaSkeleton.tsx +0 -0
  530. /package/src/react/ui/components/{collectible-card/media → media}/utils.ts +0 -0
@@ -1,4 +1,4 @@
1
- // biome-ignore lint/complexity/noStaticOnlyClass:
1
+ // biome-ignore lint/complexity/noStaticOnlyClass: static class provides better organization and type safety for query keys
2
2
  class CollectableKeys {
3
3
  static all = ['collectable'] as const;
4
4
  static details = [...CollectableKeys.all, 'details'] as const;
@@ -35,7 +35,7 @@ class CollectableKeys {
35
35
  ] as const;
36
36
  }
37
37
 
38
- // biome-ignore lint/complexity/noStaticOnlyClass:
38
+ // biome-ignore lint/complexity/noStaticOnlyClass: static class provides better organization and type safety for query keys
39
39
  class CollectionKeys {
40
40
  static all = ['collections'] as const;
41
41
  static list = [...CollectionKeys.all, 'list'] as const;
@@ -46,7 +46,7 @@ class CollectionKeys {
46
46
  ] as const;
47
47
  }
48
48
 
49
- // biome-ignore lint/complexity/noStaticOnlyClass:
49
+ // biome-ignore lint/complexity/noStaticOnlyClass: static class provides better organization and type safety for query keys
50
50
  class BalanceQueries {
51
51
  static all = ['balances'] as const;
52
52
  static lists = [...BalanceQueries.all, 'tokenBalances'] as const;
@@ -56,14 +56,14 @@ class BalanceQueries {
56
56
  ] as const;
57
57
  }
58
58
 
59
- // biome-ignore lint/complexity/noStaticOnlyClass:
59
+ // biome-ignore lint/complexity/noStaticOnlyClass: static class provides better organization and type safety for query keys
60
60
  class CheckoutKeys {
61
61
  static all = ['checkouts'] as const;
62
62
  static options = [...CheckoutKeys.all, 'options'] as const;
63
63
  static cartItems = [...CheckoutKeys.all, 'cartItems'] as const;
64
64
  }
65
65
 
66
- // biome-ignore lint/complexity/noStaticOnlyClass:
66
+ // biome-ignore lint/complexity/noStaticOnlyClass: static class provides better organization and type safety for query keys
67
67
  class CurrencyKeys {
68
68
  static all = ['currencies'] as const;
69
69
  static lists = [...CurrencyKeys.all, 'list'] as const;
@@ -71,14 +71,21 @@ class CurrencyKeys {
71
71
  static conversion = [...CurrencyKeys.all, 'conversion'] as const;
72
72
  }
73
73
 
74
- // biome-ignore lint/complexity/noStaticOnlyClass:
74
+ // biome-ignore lint/complexity/noStaticOnlyClass: static class provides better organization and type safety for query keys
75
75
  class ConfigKeys {
76
76
  static all = ['configs'] as const;
77
77
  static marketplace = [...ConfigKeys.all, 'marketplace'] as const;
78
78
  }
79
+
80
+ // biome-ignore lint/complexity/noStaticOnlyClass: static class provides better organization and type safety for query keys
81
+ class MetadataKeys {
82
+ static all = ['metadata'] as const;
83
+ static tokenMetadata = [...MetadataKeys.all, 'tokenMetadata'] as const;
84
+ }
79
85
  export const collectableKeys = CollectableKeys;
80
86
  export const collectionKeys = CollectionKeys;
81
87
  export const balanceQueries = BalanceQueries;
82
88
  export const checkoutKeys = CheckoutKeys;
83
89
  export const currencyKeys = CurrencyKeys;
84
90
  export const configKeys = ConfigKeys;
91
+ export const metadataKeys = MetadataKeys;
@@ -2,19 +2,22 @@ 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 = {
11
+ // biome-ignore lint/suspicious/noTemplateCurlyInString: template placeholder for stringTemplate function
10
12
  sequenceApi: 'https://${prefix}api.sequence.app',
13
+ // biome-ignore lint/suspicious/noTemplateCurlyInString: template placeholder for stringTemplate function
11
14
  metadata: 'https://${prefix}metadata.sequence.app',
15
+ // biome-ignore lint/suspicious/noTemplateCurlyInString: template placeholder for stringTemplate function
12
16
  indexer: 'https://${prefix}${network}-indexer.sequence.app',
13
- marketplaceApi: 'https://${prefix}marketplace-api.sequence.app/${network}',
17
+ // biome-ignore lint/suspicious/noTemplateCurlyInString: template placeholder for stringTemplate function
18
+ marketplaceApi: 'https://${prefix}marketplace-api.sequence.app',
19
+ // biome-ignore lint/suspicious/noTemplateCurlyInString: template placeholder for stringTemplate function
14
20
  builderRpcApi: 'https://${prefix}api.sequence.build',
15
- //Used for fetching css and manifest
16
- builderMarketplaceApi:
17
- 'https://${prefix}api.sequence.build/marketplace/${projectId}',
18
21
  };
19
22
 
20
23
  type ChainNameOrId = string | number;
@@ -35,19 +38,19 @@ const metadataURL = (env: Env = 'production') => {
35
38
  const prefix = getPrefix(env);
36
39
  return stringTemplate(SERVICES.metadata, { prefix });
37
40
  };
41
+
38
42
  const indexerURL = (chain: ChainNameOrId, env: Env = 'production') => {
39
43
  const prefix = getPrefix(env);
40
44
  const network = getNetwork(chain).name;
41
45
  return stringTemplate(SERVICES.indexer, { network: network, prefix });
42
46
  };
43
47
 
44
- const marketplaceApiURL = (chain: ChainNameOrId, env: Env = 'production') => {
48
+ const marketplaceApiURL = (env: Env = 'production') => {
45
49
  const prefix = getPrefix(env);
46
- const network = getNetwork(chain).name;
47
- return stringTemplate(SERVICES.marketplaceApi, { network: network, prefix });
50
+ return stringTemplate(SERVICES.marketplaceApi, { prefix });
48
51
  };
49
52
 
50
- export const builderRpcApi = (env: Env = 'production') => {
53
+ const builderRpcApiURL = (env: Env = 'production') => {
51
54
  const prefix = getPrefix(env);
52
55
  return stringTemplate(SERVICES.builderRpcApi, { prefix });
53
56
  };
@@ -57,58 +60,45 @@ export const sequenceApiUrl = (env: Env = 'production') => {
57
60
  return stringTemplate(SERVICES.sequenceApi, { prefix });
58
61
  };
59
62
 
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
- });
63
+ export const getBuilderClient = (config: SdkConfig) => {
64
+ const overrides = config._internal?.overrides?.api?.builder;
65
+ const url =
66
+ overrides?.url || builderRpcApiURL(overrides?.env || 'production');
67
+ const projectAccessKey = overrides?.accessKey || config.projectAccessKey;
68
+ return new BuilderAPI(url, projectAccessKey);
69
69
  };
70
+
70
71
  export const getMetadataClient = (config: SdkConfig) => {
71
- const env = config._internal?.metadataEnv || 'production';
72
- const projectAccessKey = getAccessKey({ env, config });
73
- return new SequenceMetadata(metadataURL(env), projectAccessKey);
72
+ const overrides = config._internal?.overrides?.api?.metadata;
73
+ const url = overrides?.url || metadataURL(overrides?.env || 'production');
74
+ const projectAccessKey = overrides?.accessKey || config.projectAccessKey;
75
+ return new SequenceMetadata(url, 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 });
78
- return new SequenceIndexer(indexerURL(chain, env), projectAccessKey);
79
+ const overrides = config._internal?.overrides?.api?.indexer;
80
+ const url =
81
+ overrides?.url || indexerURL(chain, overrides?.env || 'production');
82
+ const projectAccessKey = overrides?.accessKey || config.projectAccessKey;
83
+ return new SequenceIndexer(url, 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 overrides = config._internal?.overrides?.api?.marketplace;
88
+ const url =
89
+ overrides?.url || marketplaceApiURL(overrides?.env || 'production');
90
+ const projectAccessKey = overrides?.accessKey || config.projectAccessKey;
91
+ return new SequenceMarketplace(url, projectAccessKey);
90
92
  };
93
+
91
94
  export const getSequenceApiClient = (config: SdkConfig) => {
92
- const env = config._internal?.sequenceApiEnv || 'production';
93
- const projectAccessKey = getAccessKey({ env, config });
94
- return new SequenceAPIClient(sequenceApiUrl(env), projectAccessKey);
95
- };
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
- }
95
+ const overrides = config._internal?.overrides?.api?.sequenceApi;
96
+ const url = overrides?.url || sequenceApiUrl(overrides?.env || 'production');
97
+ const projectAccessKey = overrides?.accessKey || config.projectAccessKey;
98
+ return new SequenceAPIClient(url, projectAccessKey);
109
99
  };
110
100
 
111
- const getPrefix = (env: Env) => {
101
+ const getPrefix = (env: ApiConfig['env']) => {
112
102
  switch (env) {
113
103
  case 'development':
114
104
  return 'dev-';
@@ -1,5 +1,5 @@
1
+ export * from './api';
1
2
  export * from './consts';
2
3
  export * from './get-provider';
3
4
  export * from './types';
4
- export * from './api';
5
5
  export * from './wagmi';
@@ -1,30 +1,11 @@
1
- import type { Address } from 'viem';
2
- import { z } from 'zod';
3
1
  import type { ContractType, CreateReq } from '../../types';
4
2
  import type { MarketplaceKind } from './api';
5
3
 
6
- export const QueryArgSchema = z
7
- .object({
8
- enabled: z.boolean().optional(),
9
- })
10
- .optional();
11
-
12
- export type QueryArg = z.infer<typeof QueryArgSchema>;
13
-
14
- export const CollectableIdSchema = z.string().or(z.number());
15
-
16
- export const AddressSchema = z.string().transform((val, ctx) => {
17
- const regex = /^0x[a-fA-F0-9]{40}$/;
18
-
19
- if (!regex.test(val)) {
20
- ctx.addIssue({
21
- code: z.ZodIssueCode.custom,
22
- message: `Invalid Address ${val}`,
23
- });
24
- }
4
+ export interface QueryArg {
5
+ enabled?: boolean;
6
+ }
25
7
 
26
- return val as Address;
27
- });
8
+ export type CollectableId = string | number;
28
9
 
29
10
  export type CollectionType = ContractType.ERC1155 | ContractType.ERC721;
30
11
 
@@ -75,3 +56,9 @@ export interface CancelInput {
75
56
  orderId: string;
76
57
  marketplace: MarketplaceKind;
77
58
  }
59
+
60
+ export type ValuesOptional<T> = {
61
+ [K in keyof T]: T[K] | undefined;
62
+ };
63
+
64
+ export type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
@@ -1,5 +1,4 @@
1
- import type { TypedData, TypedDataDomain } from 'viem';
2
- import type { Hex } from 'viem';
1
+ import type { Hex, TypedData, TypedDataDomain } from 'viem';
3
2
  import { type PostRequest, type Signature, type Step, StepType } from './api';
4
3
 
5
4
  export interface SignatureStep {
@@ -3,10 +3,9 @@ import { beforeEach, describe, expect, it } from 'vitest';
3
3
  import { type Config, cookieStorage } from 'wagmi';
4
4
  import type { SdkConfig } from '../../../../types';
5
5
  import { ContractType, OrderbookKind } from '../../../../types';
6
- import {
7
- type MarketCollection,
8
- type MarketplaceConfig,
9
- MarketplaceType,
6
+ import type {
7
+ MarketCollection,
8
+ MarketplaceConfig,
10
9
  } from '../../../../types/new-marketplace-types';
11
10
  import { MarketplaceWalletType } from '../../api/builder.gen';
12
11
  import { createWagmiConfig } from '../create-config';
@@ -19,6 +18,7 @@ describe('createWagmiConfig', () => {
19
18
  baseMarketplace = {
20
19
  projectId: 1,
21
20
  settings: {
21
+ style: {},
22
22
  publisherId: 'test-publisher',
23
23
  title: 'Test Marketplace',
24
24
  socials: {
@@ -47,7 +47,7 @@ describe('createWagmiConfig', () => {
47
47
  collections: [
48
48
  {
49
49
  contractType: ContractType.ERC721,
50
- marketplaceType: MarketplaceType.MARKET,
50
+ marketplaceType: 'market',
51
51
  chainId: polygon.id,
52
52
  bannerUrl: '',
53
53
  itemsAddress: '0x1234567890123456789012345678901234567890',
@@ -1,7 +1,7 @@
1
1
  import { getDefaultChains } from '@0xsequence/connect';
2
2
  import { allNetworks, findNetworkConfig } from '@0xsequence/network';
3
3
  import type { Chain, Transport } from 'viem';
4
- import { http, cookieStorage, createConfig, createStorage } from 'wagmi';
4
+ import { cookieStorage, createConfig, createStorage, http } from 'wagmi';
5
5
  import type { Env, SdkConfig } from '../../../types';
6
6
  import type { MarketplaceConfig } from '../../../types/new-marketplace-types';
7
7
  import { DEFAULT_NETWORK } from '../consts';
@@ -13,11 +13,17 @@ export const createWagmiConfig = (
13
13
  ssr?: boolean,
14
14
  ) => {
15
15
  const chains = getChainConfigs(marketplaceConfig);
16
- const nodeGatewayEnv = sdkConfig._internal?.nodeGatewayEnv ?? 'production';
16
+ const nodeGatewayOverrides = sdkConfig._internal?.overrides?.api?.nodeGateway;
17
+ const nodeGatewayEnv = nodeGatewayOverrides?.env ?? 'production';
18
+ const nodeGatewayUrl = nodeGatewayOverrides?.url;
19
+ const projectAccessKey =
20
+ nodeGatewayOverrides?.accessKey ?? sdkConfig.projectAccessKey;
21
+
17
22
  const transports = getTransportConfigs(
18
23
  chains,
19
- sdkConfig.projectAccessKey,
24
+ projectAccessKey,
20
25
  nodeGatewayEnv,
26
+ nodeGatewayUrl,
21
27
  );
22
28
 
23
29
  const walletType = marketplaceConfig.settings.walletOptions.walletType;
@@ -66,18 +72,26 @@ function getChainConfigs(marketConfig: MarketplaceConfig): [Chain, ...Chain[]] {
66
72
  function getTransportConfigs(
67
73
  chains: [Chain, ...Chain[]],
68
74
  projectAccessKey: string,
69
- nodeGatewayEnv: Env,
75
+ nodeGatewayEnv: Env | undefined,
76
+ nodeGatewayUrl?: string,
70
77
  ): Record<number, Transport> {
71
78
  return chains.reduce(
72
79
  (acc, chain) => {
73
80
  const network = findNetworkConfig(allNetworks, chain.id);
74
81
  if (network) {
75
- let rpcUrl = network.rpcUrl;
76
- if (nodeGatewayEnv === 'development') {
77
- rpcUrl = rpcUrl.replace('nodes.', 'dev-nodes.');
82
+ let rpcUrl: string;
83
+ if (nodeGatewayUrl) {
84
+ // Use manual URL if provided
85
+ rpcUrl = nodeGatewayUrl;
86
+ } else {
87
+ // Use default URL with environment prefix
88
+ rpcUrl = network.rpcUrl;
89
+ if (nodeGatewayEnv === 'development') {
90
+ rpcUrl = rpcUrl.replace('nodes.', 'dev-nodes.');
91
+ }
92
+ if (!network.rpcUrl.endsWith(projectAccessKey))
93
+ rpcUrl = `${rpcUrl}/${projectAccessKey}`;
78
94
  }
79
- if (!network.rpcUrl.endsWith(projectAccessKey))
80
- rpcUrl = `${rpcUrl}/${projectAccessKey}`;
81
95
  acc[chain.id] = http(rpcUrl);
82
96
  }
83
97
  return acc;
@@ -1,6 +1,4 @@
1
1
  import {
2
- type SequenceOptions,
3
- type Wallet,
4
2
  apple,
5
3
  appleWaas,
6
4
  coinbaseWallet,
@@ -11,8 +9,10 @@ import {
11
9
  getConnectWallets,
12
10
  google,
13
11
  googleWaas,
12
+ type SequenceOptions,
14
13
  sequence,
15
14
  twitch,
15
+ type Wallet,
16
16
  walletConnect,
17
17
  } from '@0xsequence/connect';
18
18
  import React, { type FunctionComponent } from 'react';
@@ -82,11 +82,16 @@ 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 sequenceWalletOverrides =
86
+ config._internal?.overrides?.api?.sequenceWallet;
87
+ const sequenceWalletUrl =
88
+ sequenceWalletOverrides?.url ||
89
+ getSequenceWalletURL(sequenceWalletOverrides?.env || 'production');
90
+ const projectAccessKey =
91
+ sequenceWalletOverrides?.accessKey || config.projectAccessKey;
87
92
 
88
93
  const sequenceWalletOptions = {
89
- walletAppURL: getSequenceWalletURL(sequenceWalletEnv),
94
+ walletAppURL: sequenceWalletUrl,
90
95
  defaultNetwork: DEFAULT_NETWORK,
91
96
  connect: {
92
97
  projectAccessKey,
@@ -5,10 +5,10 @@ import {
5
5
  type Address,
6
6
  BaseError,
7
7
  type Chain,
8
+ hexToBigInt,
8
9
  type PublicClient,
9
10
  UserRejectedRequestError as ViemUserRejectedRequestError,
10
11
  type WalletClient,
11
- hexToBigInt,
12
12
  } from 'viem';
13
13
  import { beforeEach, describe, expect, it, vi } from 'vitest';
14
14
  import type { Connector } from 'wagmi';
@@ -4,18 +4,18 @@ import {
4
4
  type Address,
5
5
  BaseError,
6
6
  type Chain,
7
+ custom,
8
+ erc20Abi,
9
+ erc721Abi,
7
10
  type Hex,
11
+ hexToBigInt,
12
+ isHex,
8
13
  type PublicClient,
9
14
  TransactionReceiptNotFoundError,
10
15
  type TypedDataDomain,
11
16
  UserRejectedRequestError as ViemUserRejectedRequestError,
12
17
  type WalletClient as ViemWalletClient,
13
18
  WaitForTransactionReceiptTimeoutError,
14
- custom,
15
- erc20Abi,
16
- erc721Abi,
17
- hexToBigInt,
18
- isHex,
19
19
  } from 'viem';
20
20
  import type { Connector } from 'wagmi';
21
21
  import type { SwitchChainErrorType } from 'wagmi/actions';
@@ -32,7 +32,7 @@ import {
32
32
  TransactionSignatureError,
33
33
  UserRejectedRequestError,
34
34
  } from '../../../utils/_internal/error/transaction';
35
- import { StepType, WalletKind, getIndexerClient } from '../api';
35
+ import { getIndexerClient, StepType, WalletKind } from '../api';
36
36
  import { createLogger } from '../logger';
37
37
  import type { SignatureStep, TransactionStep } from '../utils';
38
38
 
@@ -132,21 +132,21 @@ export const wallet = ({
132
132
  account: wallet.account,
133
133
  message,
134
134
  });
135
- // biome-ignore lint/style/noUselessElse: <explanation>
136
- } else if (stepItem.id === StepType.signEIP712) {
135
+ }
136
+ if (stepItem.id === StepType.signEIP712) {
137
137
  logger.debug('Signing with EIP-712', {
138
138
  domain: stepItem.domain,
139
139
  types: stepItem.signature?.types,
140
140
  });
141
141
  return await wallet.signTypedData({
142
142
  account: wallet.account,
143
- // biome-ignore lint/style/noNonNullAssertion: <explanation>
143
+ // biome-ignore lint/style/noNonNullAssertion: signature is guaranteed to exist for EIP712 step type
144
144
  domain: stepItem.signature!.domain as TypedDataDomain,
145
- // biome-ignore lint/style/noNonNullAssertion: <explanation>
145
+ // biome-ignore lint/style/noNonNullAssertion: signature is guaranteed to exist for EIP712 step type
146
146
  types: stepItem.signature!.types,
147
- // biome-ignore lint/style/noNonNullAssertion: <explanation>
147
+ // biome-ignore lint/style/noNonNullAssertion: signature is guaranteed to exist for EIP712 step type
148
148
  primaryType: stepItem.signature!.primaryType,
149
- // biome-ignore lint/style/noNonNullAssertion: <explanation>
149
+ // biome-ignore lint/style/noNonNullAssertion: signature is guaranteed to exist for EIP712 step type
150
150
  message: stepItem.signature!.value,
151
151
  });
152
152
  }
@@ -241,26 +241,26 @@ export const wallet = ({
241
241
 
242
242
  switch (tokenType) {
243
243
  case 'ERC20':
244
- return await publicClient.readContract({
244
+ return (await publicClient.readContract({
245
245
  address: contractAddress as Hex,
246
246
  abi: erc20Abi,
247
247
  functionName: 'allowance',
248
248
  args: [walletAddress, spenderAddress],
249
- });
249
+ })) as bigint;
250
250
  case 'ERC721':
251
- return await publicClient.readContract({
251
+ return (await publicClient.readContract({
252
252
  address: contractAddress as Hex,
253
253
  abi: erc721Abi,
254
254
  functionName: 'isApprovedForAll',
255
255
  args: [walletAddress, spenderAddress],
256
- });
256
+ })) as boolean;
257
257
  case 'ERC1155':
258
- return await publicClient.readContract({
258
+ return (await publicClient.readContract({
259
259
  address: contractAddress as Hex,
260
260
  abi: ERC1155_ABI,
261
261
  functionName: 'isApprovedForAll',
262
262
  args: [walletAddress, spenderAddress],
263
- });
263
+ })) as boolean;
264
264
  default:
265
265
  throw new Error('Unsupported contract type for approval checking');
266
266
  }