@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
@@ -1,35 +1,70 @@
1
- // Importing OrderbookKind from marketplace.gen, to avoid multiple enums
1
+ // Relevant parts for lookupMarketplace & common Webrpc utilities
2
+ // sequence-builder v0.1.0 52bd730f3b821fe99051d69ced824442369efe4a
3
+ // --
4
+ // Code generated by webrpc-gen@v0.26.0 with typescript generator. DO NOT EDIT.
5
+ //
6
+ // webrpc-gen -schema=builder.main.ridl -target=typescript -client -out=../../webapp/src/rpc/proto/builder.gen.ts
7
+
2
8
  import { OrderbookKind } from "./marketplace.gen";
3
9
 
4
- // Extracted from builder webrpc
10
+ export const WebrpcHeader = "Webrpc";
11
+ export const WebrpcHeaderValue =
12
+ "webrpc@v0.26.0;gen-typescript@v0.17.0;sequence-builder@v0.1.0";
13
+
14
+ //
15
+ // Types for lookupMarketplace
16
+ //
17
+
18
+ export enum MarketplaceWalletType {
19
+ UNIVERSAL = "UNIVERSAL",
20
+ EMBEDDED = "EMBEDDED",
21
+ ECOSYSTEM = "ECOSYSTEM",
22
+ }
5
23
 
6
- export interface LookupMarketplaceConfigArgs {
24
+ export enum FilterCondition {
25
+ ENTIRE_KEY = "ENTIRE_KEY",
26
+ SPECIFIC_VALUE = "SPECIFIC_VALUE",
27
+ }
28
+
29
+ export interface LookupMarketplaceArgs {
7
30
  projectId?: number;
8
- hostname?: string;
31
+ domain?: string;
9
32
  }
10
33
 
11
- export interface LookupMarketplaceConfigReturn {
34
+ export interface LookupMarketplaceReturn {
35
+ marketplace: Marketplace;
36
+ marketCollections: Array<MarketCollection>;
37
+ shopCollections: Array<ShopCollection>;
38
+ }
39
+
40
+ export interface Marketplace {
41
+ projectId: number;
12
42
  settings: MarketplaceSettings;
43
+ market: MarketplacePage;
44
+ shop: MarketplacePage;
45
+ createdAt?: string;
46
+ updatedAt?: string;
13
47
  }
14
48
 
15
49
  export interface MarketplaceSettings {
16
- projectId: number;
50
+ style: { [key: string]: any };
17
51
  publisherId: string;
18
52
  title: string;
19
- shortDescription: string;
20
53
  socials: MarketplaceSocials;
21
54
  faviconUrl: string;
22
- landingBannerUrl: string;
23
- collections: Array<MarketplaceCollection>;
24
- walletOptions: MarketplaceWalletOptions;
25
- landingPageLayout: string;
55
+ walletOptions: MarketplaceWallet;
26
56
  logoUrl: string;
27
- bannerUrl: string;
28
- fontUrl?: string;
29
- ogImage?: string;
57
+ fontUrl: string;
30
58
  accessKey?: string;
31
59
  }
32
60
 
61
+ export interface MarketplacePage {
62
+ enabled: boolean;
63
+ title: string;
64
+ bannerUrl: string;
65
+ ogImage: string;
66
+ }
67
+
33
68
  export interface MarketplaceSocials {
34
69
  twitter: string;
35
70
  discord: string;
@@ -39,17 +74,46 @@ export interface MarketplaceSocials {
39
74
  youtube: string;
40
75
  }
41
76
 
42
- export interface MarketplaceCollection {
43
- marketplaceType: MarketplaceType;
77
+ export interface MarketplaceWallet {
78
+ walletType: MarketplaceWalletType;
79
+ oidcIssuers: { [key: string]: string };
80
+ connectors: Array<string>;
81
+ includeEIP6963Wallets: boolean;
82
+ ecosystem?: MarketplaceWalletEcosystem;
83
+ embedded?: MarketplaceWalletEmbedded;
84
+ }
85
+
86
+ export interface MarketplaceWalletEcosystem {
87
+ walletUrl: string;
88
+ walletAppName: string;
89
+ logoLightUrl?: string;
90
+ logoDarkUrl?: string;
91
+ }
92
+
93
+ export interface MarketplaceWalletEmbedded {
94
+ tenantKey: string;
95
+ emailEnabled: boolean;
96
+ providers: Array<OpenIdProvider>;
97
+ }
98
+
99
+ export interface OpenIdProvider {
100
+ iss: string;
101
+ aud: Array<string>;
102
+ }
103
+
104
+ export interface MarketCollection {
105
+ id: number;
106
+ projectId: number;
44
107
  chainId: number;
45
- address: string;
46
- exchanges: Array<string>;
108
+ itemsAddress: string;
109
+ contractType: string;
47
110
  bannerUrl: string;
48
111
  feePercentage: number;
49
112
  currencyOptions: Array<string>;
50
113
  destinationMarketplace: OrderbookKind;
51
114
  filterSettings?: CollectionFilterSettings;
52
- isLAOSERC721?: boolean;
115
+ createdAt?: string;
116
+ updatedAt?: string;
53
117
  }
54
118
 
55
119
  export interface CollectionFilterSettings {
@@ -57,159 +121,649 @@ export interface CollectionFilterSettings {
57
121
  exclusions: Array<MetadataFilterRule>;
58
122
  }
59
123
 
60
- export interface OpenIdProvider {
61
- iss: string;
62
- aud: Array<string>;
63
- }
64
124
  export interface MetadataFilterRule {
65
125
  key: string;
66
126
  condition: FilterCondition;
67
127
  value?: string;
68
128
  }
69
129
 
70
- export interface MarketplaceWalletWaasSettings {
71
- tenantKey: string;
72
- emailEnabled: boolean;
73
- providers: Array<OpenIdProvider>;
74
- }
75
-
76
- export interface MarketplaceWalletOptions {
77
- walletType: MarketplaceWallet;
78
- oidcIssuers: { [key: string]: string };
79
- connectors: Array<string>;
80
- includeEIP6963Wallets: boolean;
81
- ecosystem?: EcosystemWalletSettings;
82
- waas?: MarketplaceWalletWaasSettings;
83
- }
84
-
85
- export interface EcosystemWalletSettings {
86
- walletUrl: string;
87
- walletAppName: string;
88
- logoLightUrl?: string;
89
- logoDarkUrl?: string;
90
- }
91
-
92
- export enum MarketplaceWallet {
93
- UNIVERSAL = "UNIVERSAL",
94
- EMBEDDED = "EMBEDDED",
95
- ECOSYSTEM = "ECOSYSTEM",
96
- }
97
-
98
- export enum MarketplaceType {
99
- AMM = "AMM",
100
- P2P = "P2P",
101
- SEQUENCE = "SEQUENCE",
102
- ORDERBOOK = "ORDERBOOK",
130
+ export interface ShopCollection {
131
+ id: number;
132
+ projectId: number;
133
+ chainId: number;
134
+ itemsAddress: string;
135
+ saleAddress: string;
136
+ name: string;
137
+ bannerUrl: string;
138
+ saleBannerUrl: string;
139
+ createdAt?: string;
140
+ updatedAt?: string;
103
141
  }
104
142
 
105
- export enum FilterCondition {
106
- ENTIRE_KEY = "ENTIRE_KEY",
107
- SPECIFIC_VALUE = "SPECIFIC_VALUE",
143
+ //
144
+ // Service Interface Definition for MarketplaceService (relevant part)
145
+ //
146
+ export interface MarketplaceService {
147
+ /**
148
+ * Public Methods
149
+ */
150
+ lookupMarketplace(
151
+ args: LookupMarketplaceArgs,
152
+ headers?: object,
153
+ signal?: AbortSignal
154
+ ): Promise<LookupMarketplaceReturn>;
108
155
  }
109
156
 
110
- export type Fetch = (
111
- input: RequestInfo,
112
- init?: RequestInit
113
- ) => Promise<Response>;
157
+ //
158
+ // Errors (Complete set from original)
159
+ //
114
160
 
115
- export class WebrpcRequestFailedError extends Error {
161
+ export class WebrpcError extends Error {
116
162
  name: string;
117
163
  code: number;
118
164
  message: string;
119
165
  status: number;
120
166
  cause?: string;
121
167
 
168
+ /** @deprecated Use message instead of msg. Deprecated in webrpc v0.11.0. */
169
+ msg: string;
170
+
122
171
  constructor(
123
- name = "WebrpcRequestFailed",
124
- code = -1,
125
- message = `request failed`,
126
- status = 0,
172
+ name: string,
173
+ code: number,
174
+ message: string,
175
+ status: number,
127
176
  cause?: string
128
177
  ) {
129
178
  super(message);
130
- this.name = name;
131
- this.code = code;
132
- this.message = message;
133
- this.status = status;
179
+ this.name = name || "WebrpcError";
180
+ this.code = typeof code === "number" ? code : 0;
181
+ this.message = message || `endpoint error ${this.code}`;
182
+ this.msg = this.message;
183
+ this.status = typeof status === "number" ? status : 0;
134
184
  this.cause = cause;
135
- Object.setPrototypeOf(this, WebrpcRequestFailedError.prototype);
185
+ Object.setPrototypeOf(this, WebrpcError.prototype);
136
186
  }
137
187
 
138
- // biome-ignore lint/suspicious/noExplicitAny: <explanation>
139
- static new(payload: any): WebrpcRequestFailedError {
140
- return new WebrpcRequestFailedError(
141
- payload.name,
188
+ static new(payload: any): WebrpcError {
189
+ return new this(
190
+ payload.error,
142
191
  payload.code,
143
- payload.msg || payload.message,
192
+ payload.message || payload.msg,
144
193
  payload.status,
145
194
  payload.cause
146
195
  );
147
196
  }
148
197
  }
149
198
 
150
- const createHTTPRequest = (
151
- body: object = {},
152
- headers: object = {},
153
- signal: AbortSignal | null = null
154
- ): object => {
155
- return {
156
- method: "POST",
157
- headers: {
158
- Accept: "application/json",
159
- "Content-Type": "application/json",
160
- ...headers,
161
- },
162
- body: JSON.stringify(body || {}),
163
- mode: "cors",
164
- signal: signal || null,
165
- };
166
- };
199
+ // Webrpc errors
167
200
 
168
- const buildResponse = (res: Response): Promise<any> => {
169
- if (!res.ok) {
170
- return res.json().then((errData) => {
171
- throw WebrpcRequestFailedError.new(errData);
172
- });
201
+ export class WebrpcEndpointError extends WebrpcError {
202
+ constructor(
203
+ name: string = "WebrpcEndpoint",
204
+ code: number = 0,
205
+ message: string = `endpoint error`,
206
+ status: number = 0,
207
+ cause?: string
208
+ ) {
209
+ super(name, code, message, status, cause);
210
+ Object.setPrototypeOf(this, WebrpcEndpointError.prototype);
211
+ }
212
+ }
213
+
214
+ export class WebrpcRequestFailedError extends WebrpcError {
215
+ constructor(
216
+ name: string = "WebrpcRequestFailed",
217
+ code: number = -1,
218
+ message: string = `request failed`,
219
+ status: number = 0,
220
+ cause?: string
221
+ ) {
222
+ super(name, code, message, status, cause);
223
+ Object.setPrototypeOf(this, WebrpcRequestFailedError.prototype);
224
+ }
225
+ }
226
+
227
+ export class WebrpcBadRouteError extends WebrpcError {
228
+ constructor(
229
+ name: string = "WebrpcBadRoute",
230
+ code: number = -2,
231
+ message: string = `bad route`,
232
+ status: number = 0,
233
+ cause?: string
234
+ ) {
235
+ super(name, code, message, status, cause);
236
+ Object.setPrototypeOf(this, WebrpcBadRouteError.prototype);
237
+ }
238
+ }
239
+
240
+ export class WebrpcBadMethodError extends WebrpcError {
241
+ constructor(
242
+ name: string = "WebrpcBadMethod",
243
+ code: number = -3,
244
+ message: string = `bad method`,
245
+ status: number = 0,
246
+ cause?: string
247
+ ) {
248
+ super(name, code, message, status, cause);
249
+ Object.setPrototypeOf(this, WebrpcBadMethodError.prototype);
173
250
  }
174
- return res.json();
251
+ }
252
+
253
+ export class WebrpcBadRequestError extends WebrpcError {
254
+ constructor(
255
+ name: string = "WebrpcBadRequest",
256
+ code: number = -4,
257
+ message: string = `bad request`,
258
+ status: number = 0,
259
+ cause?: string
260
+ ) {
261
+ super(name, code, message, status, cause);
262
+ Object.setPrototypeOf(this, WebrpcBadRequestError.prototype);
263
+ }
264
+ }
265
+
266
+ export class WebrpcBadResponseError extends WebrpcError {
267
+ constructor(
268
+ name: string = "WebrpcBadResponse",
269
+ code: number = -5,
270
+ message: string = `bad response`,
271
+ status: number = 0,
272
+ cause?: string
273
+ ) {
274
+ super(name, code, message, status, cause);
275
+ Object.setPrototypeOf(this, WebrpcBadResponseError.prototype);
276
+ }
277
+ }
278
+
279
+ export class WebrpcServerPanicError extends WebrpcError {
280
+ constructor(
281
+ name: string = "WebrpcServerPanic",
282
+ code: number = -6,
283
+ message: string = `server panic`,
284
+ status: number = 0,
285
+ cause?: string
286
+ ) {
287
+ super(name, code, message, status, cause);
288
+ Object.setPrototypeOf(this, WebrpcServerPanicError.prototype);
289
+ }
290
+ }
291
+
292
+ export class WebrpcInternalErrorError extends WebrpcError {
293
+ // Name as per original
294
+ constructor(
295
+ name: string = "WebrpcInternalError",
296
+ code: number = -7,
297
+ message: string = `internal error`,
298
+ status: number = 0,
299
+ cause?: string
300
+ ) {
301
+ super(name, code, message, status, cause);
302
+ Object.setPrototypeOf(this, WebrpcInternalErrorError.prototype);
303
+ }
304
+ }
305
+
306
+ export class WebrpcClientDisconnectedError extends WebrpcError {
307
+ constructor(
308
+ name: string = "WebrpcClientDisconnected",
309
+ code: number = -8,
310
+ message: string = `client disconnected`,
311
+ status: number = 0,
312
+ cause?: string
313
+ ) {
314
+ super(name, code, message, status, cause);
315
+ Object.setPrototypeOf(this, WebrpcClientDisconnectedError.prototype);
316
+ }
317
+ }
318
+
319
+ export class WebrpcStreamLostError extends WebrpcError {
320
+ constructor(
321
+ name: string = "WebrpcStreamLost",
322
+ code: number = -9,
323
+ message: string = `stream lost`,
324
+ status: number = 0,
325
+ cause?: string
326
+ ) {
327
+ super(name, code, message, status, cause);
328
+ Object.setPrototypeOf(this, WebrpcStreamLostError.prototype);
329
+ }
330
+ }
331
+
332
+ export class WebrpcStreamFinishedError extends WebrpcError {
333
+ constructor(
334
+ name: string = "WebrpcStreamFinished",
335
+ code: number = -10,
336
+ message: string = `stream finished`,
337
+ status: number = 0,
338
+ cause?: string
339
+ ) {
340
+ super(name, code, message, status, cause);
341
+ Object.setPrototypeOf(this, WebrpcStreamFinishedError.prototype);
342
+ }
343
+ }
344
+
345
+ // Schema errors
346
+
347
+ export class UnauthorizedError extends WebrpcError {
348
+ constructor(
349
+ name: string = "Unauthorized",
350
+ code: number = 1000,
351
+ message: string = `Unauthorized access`,
352
+ status: number = 0,
353
+ cause?: string
354
+ ) {
355
+ super(name, code, message, status, cause);
356
+ Object.setPrototypeOf(this, UnauthorizedError.prototype);
357
+ }
358
+ }
359
+
360
+ export class PermissionDeniedError extends WebrpcError {
361
+ constructor(
362
+ name: string = "PermissionDenied",
363
+ code: number = 1001,
364
+ message: string = `Permission denied`,
365
+ status: number = 0,
366
+ cause?: string
367
+ ) {
368
+ super(name, code, message, status, cause);
369
+ Object.setPrototypeOf(this, PermissionDeniedError.prototype);
370
+ }
371
+ }
372
+
373
+ export class SessionExpiredError extends WebrpcError {
374
+ constructor(
375
+ name: string = "SessionExpired",
376
+ code: number = 1002,
377
+ message: string = `Session expired`,
378
+ status: number = 0,
379
+ cause?: string
380
+ ) {
381
+ super(name, code, message, status, cause);
382
+ Object.setPrototypeOf(this, SessionExpiredError.prototype);
383
+ }
384
+ }
385
+
386
+ export class MethodNotFoundError extends WebrpcError {
387
+ constructor(
388
+ name: string = "MethodNotFound",
389
+ code: number = 1003,
390
+ message: string = `Method not found`,
391
+ status: number = 0,
392
+ cause?: string
393
+ ) {
394
+ super(name, code, message, status, cause);
395
+ Object.setPrototypeOf(this, MethodNotFoundError.prototype);
396
+ }
397
+ }
398
+
399
+ export class RequestConflictError extends WebrpcError {
400
+ constructor(
401
+ name: string = "RequestConflict",
402
+ code: number = 1004,
403
+ message: string = `Conflict with target resource`,
404
+ status: number = 0,
405
+ cause?: string
406
+ ) {
407
+ super(name, code, message, status, cause);
408
+ Object.setPrototypeOf(this, RequestConflictError.prototype);
409
+ }
410
+ }
411
+
412
+ export class ServiceDisabledError extends WebrpcError {
413
+ constructor(
414
+ name: string = "ServiceDisabled",
415
+ code: number = 1005,
416
+ message: string = `Service disabled`,
417
+ status: number = 0,
418
+ cause?: string
419
+ ) {
420
+ super(name, code, message, status, cause);
421
+ Object.setPrototypeOf(this, ServiceDisabledError.prototype);
422
+ }
423
+ }
424
+
425
+ export class TimeoutError extends WebrpcError {
426
+ constructor(
427
+ name: string = "Timeout",
428
+ code: number = 2000,
429
+ message: string = `Request timed out`,
430
+ status: number = 0,
431
+ cause?: string
432
+ ) {
433
+ super(name, code, message, status, cause);
434
+ Object.setPrototypeOf(this, TimeoutError.prototype);
435
+ }
436
+ }
437
+
438
+ export class InvalidArgumentError extends WebrpcError {
439
+ constructor(
440
+ name: string = "InvalidArgument",
441
+ code: number = 2001,
442
+ message: string = `Invalid argument`,
443
+ status: number = 0,
444
+ cause?: string
445
+ ) {
446
+ super(name, code, message, status, cause);
447
+ Object.setPrototypeOf(this, InvalidArgumentError.prototype);
448
+ }
449
+ }
450
+
451
+ export class NotFoundError extends WebrpcError {
452
+ constructor(
453
+ name: string = "NotFound",
454
+ code: number = 3000,
455
+ message: string = `Resource not found`,
456
+ status: number = 0,
457
+ cause?: string
458
+ ) {
459
+ super(name, code, message, status, cause);
460
+ Object.setPrototypeOf(this, NotFoundError.prototype);
461
+ }
462
+ }
463
+
464
+ export class UserNotFoundError extends WebrpcError {
465
+ constructor(
466
+ name: string = "UserNotFound",
467
+ code: number = 3001,
468
+ message: string = `User not found`,
469
+ status: number = 0,
470
+ cause?: string
471
+ ) {
472
+ super(name, code, message, status, cause);
473
+ Object.setPrototypeOf(this, UserNotFoundError.prototype);
474
+ }
475
+ }
476
+
477
+ export class ProjectNotFoundError extends WebrpcError {
478
+ constructor(
479
+ name: string = "ProjectNotFound",
480
+ code: number = 3002,
481
+ message: string = `Project not found`,
482
+ status: number = 0,
483
+ cause?: string
484
+ ) {
485
+ super(name, code, message, status, cause);
486
+ Object.setPrototypeOf(this, ProjectNotFoundError.prototype);
487
+ }
488
+ }
489
+
490
+ export class InvalidTierError extends WebrpcError {
491
+ constructor(
492
+ name: string = "InvalidTier",
493
+ code: number = 3003,
494
+ message: string = `Invalid subscription tier`,
495
+ status: number = 0,
496
+ cause?: string
497
+ ) {
498
+ super(name, code, message, status, cause);
499
+ Object.setPrototypeOf(this, InvalidTierError.prototype);
500
+ }
501
+ }
502
+
503
+ export class EmailTemplateExistsError extends WebrpcError {
504
+ constructor(
505
+ name: string = "EmailTemplateExists",
506
+ code: number = 3004,
507
+ message: string = `Email Template exists`,
508
+ status: number = 0,
509
+ cause?: string
510
+ ) {
511
+ super(name, code, message, status, cause);
512
+ Object.setPrototypeOf(this, EmailTemplateExistsError.prototype);
513
+ }
514
+ }
515
+
516
+ export class SubscriptionLimitError extends WebrpcError {
517
+ constructor(
518
+ name: string = "SubscriptionLimit",
519
+ code: number = 3005,
520
+ message: string = `Subscription limit reached`,
521
+ status: number = 0,
522
+ cause?: string
523
+ ) {
524
+ super(name, code, message, status, cause);
525
+ Object.setPrototypeOf(this, SubscriptionLimitError.prototype);
526
+ }
527
+ }
528
+
529
+ export class FeatureNotIncludedError extends WebrpcError {
530
+ constructor(
531
+ name: string = "FeatureNotIncluded",
532
+ code: number = 3006,
533
+ message: string = `Feature not included`,
534
+ status: number = 0,
535
+ cause?: string
536
+ ) {
537
+ super(name, code, message, status, cause);
538
+ Object.setPrototypeOf(this, FeatureNotIncludedError.prototype);
539
+ }
540
+ }
541
+
542
+ export class InvalidNetworkError extends WebrpcError {
543
+ constructor(
544
+ name: string = "InvalidNetwork",
545
+ code: number = 3007,
546
+ message: string = `Invalid network`,
547
+ status: number = 0,
548
+ cause?: string
549
+ ) {
550
+ super(name, code, message, status, cause);
551
+ Object.setPrototypeOf(this, InvalidNetworkError.prototype);
552
+ }
553
+ }
554
+
555
+ export class InvitationExpiredError extends WebrpcError {
556
+ constructor(
557
+ name: string = "InvitationExpired",
558
+ code: number = 4000,
559
+ message: string = `Invitation code is expired`,
560
+ status: number = 0,
561
+ cause?: string
562
+ ) {
563
+ super(name, code, message, status, cause);
564
+ Object.setPrototypeOf(this, InvitationExpiredError.prototype);
565
+ }
566
+ }
567
+
568
+ export class AlreadyCollaboratorError extends WebrpcError {
569
+ constructor(
570
+ name: string = "AlreadyCollaborator",
571
+ code: number = 4001,
572
+ message: string = `Already a collaborator`,
573
+ status: number = 0,
574
+ cause?: string
575
+ ) {
576
+ super(name, code, message, status, cause);
577
+ Object.setPrototypeOf(this, AlreadyCollaboratorError.prototype);
578
+ }
579
+ }
580
+
581
+ export enum errors {
582
+ WebrpcEndpoint = "WebrpcEndpoint",
583
+ WebrpcRequestFailed = "WebrpcRequestFailed",
584
+ WebrpcBadRoute = "WebrpcBadRoute",
585
+ WebrpcBadMethod = "WebrpcBadMethod",
586
+ WebrpcBadRequest = "WebrpcBadRequest",
587
+ WebrpcBadResponse = "WebrpcBadResponse",
588
+ WebrpcServerPanic = "WebrpcServerPanic",
589
+ WebrpcInternalError = "WebrpcInternalError",
590
+ WebrpcClientDisconnected = "WebrpcClientDisconnected",
591
+ WebrpcStreamLost = "WebrpcStreamLost",
592
+ WebrpcStreamFinished = "WebrpcStreamFinished",
593
+ Unauthorized = "Unauthorized",
594
+ PermissionDenied = "PermissionDenied",
595
+ SessionExpired = "SessionExpired",
596
+ MethodNotFound = "MethodNotFound",
597
+ RequestConflict = "RequestConflict",
598
+ ServiceDisabled = "ServiceDisabled",
599
+ Timeout = "Timeout",
600
+ InvalidArgument = "InvalidArgument",
601
+ NotFound = "NotFound",
602
+ UserNotFound = "UserNotFound",
603
+ ProjectNotFound = "ProjectNotFound",
604
+ InvalidTier = "InvalidTier",
605
+ EmailTemplateExists = "EmailTemplateExists",
606
+ SubscriptionLimit = "SubscriptionLimit",
607
+ FeatureNotIncluded = "FeatureNotIncluded",
608
+ InvalidNetwork = "InvalidNetwork",
609
+ InvitationExpired = "InvitationExpired",
610
+ AlreadyCollaborator = "AlreadyCollaborator",
611
+ }
612
+
613
+ export enum WebrpcErrorCodes {
614
+ WebrpcEndpoint = 0,
615
+ WebrpcRequestFailed = -1,
616
+ WebrpcBadRoute = -2,
617
+ WebrpcBadMethod = -3,
618
+ WebrpcBadRequest = -4,
619
+ WebrpcBadResponse = -5,
620
+ WebrpcServerPanic = -6,
621
+ WebrpcInternalError = -7,
622
+ WebrpcClientDisconnected = -8,
623
+ WebrpcStreamLost = -9,
624
+ WebrpcStreamFinished = -10,
625
+ Unauthorized = 1000,
626
+ PermissionDenied = 1001,
627
+ SessionExpired = 1002,
628
+ MethodNotFound = 1003,
629
+ RequestConflict = 1004,
630
+ ServiceDisabled = 1005,
631
+ Timeout = 2000,
632
+ InvalidArgument = 2001,
633
+ NotFound = 3000,
634
+ UserNotFound = 3001,
635
+ ProjectNotFound = 3002,
636
+ InvalidTier = 3003,
637
+ EmailTemplateExists = 3004,
638
+ SubscriptionLimit = 3005,
639
+ FeatureNotIncluded = 3006,
640
+ InvalidNetwork = 3007,
641
+ InvitationExpired = 4000,
642
+ AlreadyCollaborator = 4001,
643
+ }
644
+
645
+ export const webrpcErrorByCode: { [code: number]: any } = {
646
+ [0]: WebrpcEndpointError,
647
+ [-1]: WebrpcRequestFailedError,
648
+ [-2]: WebrpcBadRouteError,
649
+ [-3]: WebrpcBadMethodError,
650
+ [-4]: WebrpcBadRequestError,
651
+ [-5]: WebrpcBadResponseError,
652
+ [-6]: WebrpcServerPanicError,
653
+ [-7]: WebrpcInternalErrorError, // Name as per original
654
+ [-8]: WebrpcClientDisconnectedError,
655
+ [-9]: WebrpcStreamLostError,
656
+ [-10]: WebrpcStreamFinishedError,
657
+ [1000]: UnauthorizedError,
658
+ [1001]: PermissionDeniedError,
659
+ [1002]: SessionExpiredError,
660
+ [1003]: MethodNotFoundError,
661
+ [1004]: RequestConflictError,
662
+ [1005]: ServiceDisabledError,
663
+ [2000]: TimeoutError,
664
+ [2001]: InvalidArgumentError,
665
+ [3000]: NotFoundError,
666
+ [3001]: UserNotFoundError,
667
+ [3002]: ProjectNotFoundError,
668
+ [3003]: InvalidTierError,
669
+ [3004]: EmailTemplateExistsError,
670
+ [3005]: SubscriptionLimitError,
671
+ [3006]: FeatureNotIncludedError,
672
+ [3007]: InvalidNetworkError,
673
+ [4000]: InvitationExpiredError,
674
+ [4001]: AlreadyCollaboratorError,
175
675
  };
176
676
 
177
- export class API {
677
+ //
678
+ // Client Implementation for MarketplaceService (relevant part)
679
+ //
680
+ export type Fetch = (
681
+ input: RequestInfo,
682
+ init?: RequestInit
683
+ ) => Promise<Response>;
684
+
685
+ export class MarketplaceService {
178
686
  protected hostname: string;
179
687
  protected fetch: Fetch;
180
- protected path = "/rpc/Builder/";
688
+ protected path = "/rpc/MarketplaceService/";
181
689
 
182
690
  constructor(hostname: string, fetch: Fetch) {
183
- this.hostname = hostname;
184
- this.fetch = fetch;
691
+ this.hostname = hostname.replace(/\/*$/, "");
692
+ this.fetch = (input: RequestInfo, init?: RequestInit) => fetch(input, init);
185
693
  }
186
694
 
187
695
  private url(name: string): string {
188
696
  return this.hostname + this.path + name;
189
697
  }
190
698
 
191
- lookupMarketplaceConfig = (
192
- args: LookupMarketplaceConfigArgs,
699
+ lookupMarketplace = (
700
+ args: LookupMarketplaceArgs,
193
701
  headers?: object,
194
702
  signal?: AbortSignal
195
- ): Promise<LookupMarketplaceConfigReturn> => {
703
+ ): Promise<LookupMarketplaceReturn> => {
196
704
  return this.fetch(
197
- this.url("LookupMarketplaceConfig"),
705
+ this.url("LookupMarketplace"),
198
706
  createHTTPRequest(args, headers, signal)
199
707
  ).then(
200
708
  (res) => {
201
709
  return buildResponse(res).then((_data) => {
202
710
  return {
203
- projectId: <number>_data.projectId,
204
- settings: <MarketplaceSettings>_data.settings,
711
+ marketplace: <Marketplace>_data.marketplace,
712
+ marketCollections: <Array<MarketCollection>>_data.marketCollections,
713
+ shopCollections: <Array<ShopCollection>>_data.shopCollections,
205
714
  };
206
715
  });
207
716
  },
208
717
  (error) => {
209
718
  throw WebrpcRequestFailedError.new({
210
- cause: `fetch(): ${error.message || ""}`,
719
+ cause: `lookupMarketplace(): ${error.message || ""}`,
211
720
  });
212
721
  }
213
722
  );
214
723
  };
215
724
  }
725
+
726
+ //
727
+ // Helper Functions
728
+ //
729
+ const createHTTPRequest = (
730
+ body: object = {},
731
+ headers: object = {},
732
+ signal: AbortSignal | null = null
733
+ ): object => {
734
+ const reqHeaders: { [key: string]: string } = {
735
+ ...headers,
736
+ "Content-Type": "application/json",
737
+ };
738
+ reqHeaders[WebrpcHeader] = WebrpcHeaderValue;
739
+
740
+ return {
741
+ method: "POST",
742
+ headers: reqHeaders,
743
+ body: JSON.stringify(body || {}),
744
+ signal,
745
+ };
746
+ };
747
+
748
+ const buildResponse = (res: Response): Promise<any> => {
749
+ return res.text().then((text) => {
750
+ let data;
751
+ try {
752
+ data = JSON.parse(text);
753
+ } catch (error) {
754
+ let message = "";
755
+ if (error instanceof Error) {
756
+ message = error.message;
757
+ }
758
+ throw WebrpcBadResponseError.new({
759
+ status: res.status,
760
+ cause: `JSON.parse(): ${message}: response text: ${text}`,
761
+ });
762
+ }
763
+ if (!res.ok) {
764
+ const code: number = typeof data.code === "number" ? data.code : 0;
765
+ throw (webrpcErrorByCode[code] || WebrpcError).new(data);
766
+ }
767
+ return data;
768
+ });
769
+ };