@0xsequence/marketplace-sdk 1.1.1 → 1.2.1

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 (381) hide show
  1. package/CHANGELOG.md +54 -3
  2. package/dist/{BellIcon-ByhygxBO.js → BellIcon.js} +4 -4
  3. package/dist/BellIcon.js.map +1 -0
  4. package/dist/{CartIcon-Bt3rQYGk.js → CartIcon.js} +7 -7
  5. package/dist/CartIcon.js.map +1 -0
  6. package/dist/CollectibleCard.d.ts +8 -0
  7. package/dist/{_internal-DkS2VUn5.js → _internal.js} +2 -2
  8. package/dist/_internal.js.map +1 -0
  9. package/dist/{abi-fa-o9gH3.js → abi.js} +2 -2
  10. package/dist/abi.js.map +1 -0
  11. package/dist/{alien_swap-DoY6XfMA.js → alien_swap.js} +1 -1
  12. package/dist/alien_swap.js.map +1 -0
  13. package/dist/{api-BoO0V5aJ.js → api.js} +13 -64
  14. package/dist/api.js.map +1 -0
  15. package/dist/{aqua-xyz-BBDxnG14.js → aqua-xyz.js} +1 -1
  16. package/dist/aqua-xyz.js.map +1 -0
  17. package/dist/{aura-DGx2zwvF.js → aura.js} +1 -1
  18. package/dist/aura.js.map +1 -0
  19. package/dist/{blur-D8GKrRrq.js → blur.js} +1 -1
  20. package/dist/blur.js.map +1 -0
  21. package/dist/{builder-api-BFuZNOaN.js → builder-api.js} +3 -3
  22. package/dist/builder-api.js.map +1 -0
  23. package/dist/{builder.gen-B9wR2nvF.js → builder.gen.js} +3 -6
  24. package/dist/builder.gen.js.map +1 -0
  25. package/dist/{coinbase-DOry4PXY.js → coinbase.js} +1 -1
  26. package/dist/coinbase.js.map +1 -0
  27. package/dist/{collectibles-C_H8jMGH.js → collectibles.js} +9 -48
  28. package/dist/collectibles.js.map +1 -0
  29. package/dist/{collections-CKummc-R.js → collections.js} +79 -8
  30. package/dist/collections.js.map +1 -0
  31. package/dist/{components-CosnX7F9.js → components.js} +12 -14
  32. package/dist/components.js.map +1 -0
  33. package/dist/{contracts-BP_0vX48.js → contracts.js} +4 -4
  34. package/dist/contracts.js.map +1 -0
  35. package/dist/{create-config-ZOB7i4ZJ.d.ts → create-config.d.ts} +47 -60
  36. package/dist/{create-config-CIfejoCk.js → create-config.js} +10 -13
  37. package/dist/create-config.js.map +1 -0
  38. package/dist/{element-ciybd_VF.js → element.js} +1 -1
  39. package/dist/element.js.map +1 -0
  40. package/dist/{filters-V-V8Dn8f.d.ts → filters.d.ts} +7 -7
  41. package/dist/{foundation-Bq4lRz4x.js → foundation.js} +1 -1
  42. package/dist/foundation.js.map +1 -0
  43. package/dist/index.d.ts +8 -8
  44. package/dist/index.js +16 -16
  45. package/dist/{index-DUXfvhxs.d.ts → index10.d.ts} +14 -29
  46. package/dist/{index-CxA34wP1.d.ts → index11.d.ts} +101 -23
  47. package/dist/{index-BtWMBHeP.d.ts → index12.d.ts} +11 -9
  48. package/dist/{index-DmudgrsN.d.ts → index13.d.ts} +16 -16
  49. package/dist/{index-U-zp70of.d.ts → index14.d.ts} +9 -13
  50. package/dist/{index-Stm5u0I0.d.ts → index16.d.ts} +7 -10
  51. package/dist/{index-BZIJTQT0.d.ts → index17.d.ts} +9 -9
  52. package/dist/{index-CnEbXm_t.d.ts → index19.d.ts} +50 -12
  53. package/dist/{index-C-745li7.d.ts → index2.d.ts} +2 -2
  54. package/dist/{index-BOiHR01C.d.ts → index21.d.ts} +9 -9
  55. package/dist/{index-Bsx6XsC2.d.ts → index23.d.ts} +100 -59
  56. package/dist/{index-CPzvNmq9.d.ts → index24.d.ts} +36 -36
  57. package/dist/{index-DFEnA6Wa.d.ts → index25.d.ts} +18 -18
  58. package/dist/{index-DqXd1EeB.d.ts → index26.d.ts} +14 -7
  59. package/dist/{index-NlPMNcqh.d.ts → index27.d.ts} +102 -114
  60. package/dist/{index-DWt6yrIG.d.ts → index28.d.ts} +8 -8
  61. package/dist/{index-C4MUKshG.d.ts → index29.d.ts} +3 -3
  62. package/dist/{index-BeRV-7AX.d.ts → index3.d.ts} +2 -2
  63. package/dist/{index-Bxzjy0d1.d.ts → index4.d.ts} +2 -2
  64. package/dist/{index-DwKr18CI.d.ts → index5.d.ts} +2 -2
  65. package/dist/{index-D9LPlmbC.d.ts → index6.d.ts} +2 -2
  66. package/dist/{index-CS65jqOq.d.ts → index7.d.ts} +19 -3
  67. package/dist/index8.d.ts +18 -0
  68. package/dist/{index-CxpFwGvR.d.ts → index9.d.ts} +4 -4
  69. package/dist/{inventory-Dd7TazvZ.js → inventory.js} +11 -15
  70. package/dist/inventory.js.map +1 -0
  71. package/dist/{listCollectiblesPaginated-Cy2_qEZA.d.ts → listCollectiblesPaginated.d.ts} +24 -29
  72. package/dist/{listCollections-BB9FxKj2.d.ts → listCollections.d.ts} +170 -100
  73. package/dist/{looks-rare-6H--x3AM.js → looks-rare.js} +1 -1
  74. package/dist/looks-rare.js.map +1 -0
  75. package/dist/{lowestListing-Cbsi6M1K.d.ts → lowestListing.d.ts} +28 -28
  76. package/dist/{magic-eden-BoxEQ1Li.js → magic-eden.js} +1 -1
  77. package/dist/magic-eden.js.map +1 -0
  78. package/dist/{manifold-DycKsljb.js → manifold.js} +1 -1
  79. package/dist/manifold.js.map +1 -0
  80. package/dist/{market-C3HV-awQ.js → market.js} +7 -9
  81. package/dist/market.js.map +1 -0
  82. package/dist/{marketCurrencies-Bpw1bIO0.d.ts → marketCurrencies.d.ts} +19 -9
  83. package/dist/{marketCurrencies-sKrTX0og.js → marketCurrencies.js} +10 -7
  84. package/dist/marketCurrencies.js.map +1 -0
  85. package/dist/{marketplace-logos-D4dS1Foy.js → marketplace-logos.js} +23 -23
  86. package/dist/marketplace-logos.js.map +1 -0
  87. package/dist/{marketplace.gen-ksUafDqS.js → marketplace.gen.js} +25 -9
  88. package/dist/marketplace.gen.js.map +1 -0
  89. package/dist/{marketplace-NQB-sEQL.js → marketplace.js} +2 -2
  90. package/dist/marketplace.js.map +1 -0
  91. package/dist/{marketplaceConfig-UHQMM9fq.js → marketplaceConfig.js} +3 -3
  92. package/dist/marketplaceConfig.js.map +1 -0
  93. package/dist/{mintify-Dyqyo8jQ.js → mintify.js} +1 -1
  94. package/dist/mintify.js.map +1 -0
  95. package/dist/{network-DtmiMhcg.js → network.js} +3 -3
  96. package/dist/network.js.map +1 -0
  97. package/dist/{networkconfigToWagmiChain-DbUf6HiO.js → networkconfigToWagmiChain.js} +4 -3
  98. package/dist/networkconfigToWagmiChain.js.map +1 -0
  99. package/dist/{nftx-2LbFjj9Q.js → nftx.js} +1 -1
  100. package/dist/nftx.js.map +1 -0
  101. package/dist/{okx-CBEWJNsR.js → okx.js} +1 -1
  102. package/dist/okx.js.map +1 -0
  103. package/dist/{open-sea-Dxntz_PA.js → open-sea.js} +1 -1
  104. package/dist/open-sea.js.map +1 -0
  105. package/dist/{orders-DnFfZAXV.js → orders.js} +10 -10
  106. package/dist/orders.js.map +1 -0
  107. package/dist/{primary-sale-1u4QlPdA.js → primary-sale.js} +2 -2
  108. package/dist/primary-sale.js.map +1 -0
  109. package/dist/{primary-sales-Dmsi6bqj.js → primary-sales.js} +41 -3
  110. package/dist/primary-sales.js.map +1 -0
  111. package/dist/{query-BWbCsXLY.d.ts → query.d.ts} +2 -2
  112. package/dist/{rarible-CS0SupHr.js → rarible.js} +1 -1
  113. package/dist/rarible.js.map +1 -0
  114. package/dist/react/_internal/api/index.d.ts +2 -2
  115. package/dist/react/_internal/api/index.js +7 -7
  116. package/dist/react/_internal/databeat/index.d.ts +1 -1
  117. package/dist/react/_internal/databeat/index.js +37 -38
  118. package/dist/react/_internal/index.d.ts +2 -2
  119. package/dist/react/_internal/index.js +11 -11
  120. package/dist/react/_internal/wagmi/index.d.ts +1 -1
  121. package/dist/react/_internal/wagmi/index.js +5 -5
  122. package/dist/react/hooks/config/index.d.ts +8 -8
  123. package/dist/react/hooks/config/index.js +37 -38
  124. package/dist/react/hooks/contracts/index.d.ts +6 -6
  125. package/dist/react/hooks/contracts/index.js +15 -15
  126. package/dist/react/hooks/data/collectibles/index.d.ts +4 -10
  127. package/dist/react/hooks/data/collectibles/index.js +37 -38
  128. package/dist/react/hooks/data/collections/index.d.ts +11 -11
  129. package/dist/react/hooks/data/collections/index.js +38 -39
  130. package/dist/react/hooks/data/index.d.ts +37 -37
  131. package/dist/react/hooks/data/index.js +38 -39
  132. package/dist/react/hooks/data/inventory/index.d.ts +36 -36
  133. package/dist/react/hooks/data/inventory/index.js +37 -38
  134. package/dist/react/hooks/data/market/index.d.ts +5 -11
  135. package/dist/react/hooks/data/market/index.js +37 -38
  136. package/dist/react/hooks/data/orders/index.d.ts +4 -10
  137. package/dist/react/hooks/data/orders/index.js +37 -38
  138. package/dist/react/hooks/data/primary-sales/index.d.ts +37 -37
  139. package/dist/react/hooks/data/primary-sales/index.js +38 -39
  140. package/dist/react/hooks/data/tokens/index.d.ts +4 -4
  141. package/dist/react/hooks/data/tokens/index.js +37 -38
  142. package/dist/react/hooks/index.d.ts +37 -37
  143. package/dist/react/hooks/index.js +38 -39
  144. package/dist/react/hooks/transactions/index.d.ts +2 -2
  145. package/dist/react/hooks/transactions/index.js +37 -38
  146. package/dist/react/hooks/ui/index.d.ts +4 -4
  147. package/dist/react/hooks/ui/index.js +37 -38
  148. package/dist/react/hooks/utils/index.d.ts +36 -36
  149. package/dist/react/hooks/utils/index.js +37 -38
  150. package/dist/react/index.d.ts +37 -37
  151. package/dist/react/index.js +38 -39
  152. package/dist/react/queries/collectibles/index.d.ts +4 -10
  153. package/dist/react/queries/collectibles/index.js +20 -21
  154. package/dist/react/queries/collections/index.d.ts +11 -11
  155. package/dist/react/queries/collections/index.js +19 -19
  156. package/dist/react/queries/index.d.ts +24 -24
  157. package/dist/react/queries/index.js +30 -31
  158. package/dist/react/queries/inventory/index.d.ts +2 -2
  159. package/dist/react/queries/inventory/index.js +20 -20
  160. package/dist/react/queries/market/index.d.ts +5 -5
  161. package/dist/react/queries/market/index.js +20 -20
  162. package/dist/react/queries/orders/index.d.ts +4 -10
  163. package/dist/react/queries/orders/index.js +11 -11
  164. package/dist/react/queries/primary-sales/index.d.ts +4 -4
  165. package/dist/react/queries/primary-sales/index.js +12 -12
  166. package/dist/react/queries/tokens/index.d.ts +4 -4
  167. package/dist/react/queries/tokens/index.js +11 -12
  168. package/dist/react/queries/utils/index.d.ts +3 -3
  169. package/dist/react/queries/utils/index.js +20 -20
  170. package/dist/react/ssr/index.d.ts +7 -7
  171. package/dist/react/ssr/index.js +13 -16
  172. package/dist/react/ssr/index.js.map +1 -1
  173. package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.d.ts +2 -2
  174. package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.js +20 -20
  175. package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.d.ts +7 -10
  176. package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.js +37 -38
  177. package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +4 -4
  178. package/dist/react/ui/components/marketplace-collectible-card/index.js +37 -38
  179. package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +2 -2
  180. package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +11 -11
  181. package/dist/react/ui/components/marketplace-logos/index.d.ts +21 -21
  182. package/dist/react/ui/components/marketplace-logos/index.js +1 -1
  183. package/dist/react/ui/icons/index.js +14 -14
  184. package/dist/react/ui/index.d.ts +4 -4
  185. package/dist/react/ui/index.js +37 -38
  186. package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +2 -2
  187. package/dist/react/ui/modals/_internal/components/actionModal/index.js +37 -38
  188. package/dist/react/utils/index.d.ts +1 -1
  189. package/dist/react/utils/index.js +7 -7
  190. package/dist/{react-DE852KeT.js → react.js} +720 -926
  191. package/dist/react.js.map +1 -0
  192. package/dist/{sequence-paCCener.js → sequence.js} +1 -1
  193. package/dist/sequence.js.map +1 -0
  194. package/dist/{src-Dz2CfBL0.js → src.js} +2 -2
  195. package/dist/src.js.map +1 -0
  196. package/dist/styles/index.css +1 -1
  197. package/dist/{sudo-swap-9rH2EgfT.js → sudo-swap.js} +1 -1
  198. package/dist/sudo-swap.js.map +1 -0
  199. package/dist/{super-rare-DHIuWtRw.js → super-rare.js} +1 -1
  200. package/dist/super-rare.js.map +1 -0
  201. package/dist/{token-Cv7l2ZaL.js → token.js} +2 -2
  202. package/dist/token.js.map +1 -0
  203. package/dist/{tokenBalances-ibDerNmM.js → tokenBalances.js} +4 -11
  204. package/dist/tokenBalances.js.map +1 -0
  205. package/dist/{tokenSupplies-Bfe8RHzI.d.ts → tokenSupplies.d.ts} +19 -30
  206. package/dist/{tokens-cGxMadd8.js → tokens.js} +47 -22
  207. package/dist/tokens.js.map +1 -0
  208. package/dist/{transaction-DZUW5RHu.js → transaction.js} +2 -2
  209. package/dist/transaction.js.map +1 -0
  210. package/dist/types/index.d.ts +1 -1
  211. package/dist/types/index.js +3 -3
  212. package/dist/{types-D2TJ1dwv.d.ts → types.d.ts} +3 -3
  213. package/dist/{types-B_-cnkcP.js → types.js} +2 -2
  214. package/dist/types.js.map +1 -0
  215. package/dist/utils/abi/index.d.ts +4 -4
  216. package/dist/utils/abi/index.js +4 -4
  217. package/dist/utils/abi/marketplace/index.d.ts +1 -1
  218. package/dist/utils/abi/marketplace/index.js +1 -1
  219. package/dist/utils/abi/primary-sale/index.d.ts +1 -1
  220. package/dist/utils/abi/primary-sale/index.js +1 -1
  221. package/dist/utils/abi/token/index.d.ts +1 -1
  222. package/dist/utils/abi/token/index.js +1 -1
  223. package/dist/utils/index.d.ts +7 -7
  224. package/dist/utils/index.js +13 -13
  225. package/dist/{utils-BfpDVibN.js → utils.js} +42 -4
  226. package/dist/utils.js.map +1 -0
  227. package/dist/{utils-BCgNhBFR.js → utils2.js} +11 -5
  228. package/dist/utils2.js.map +1 -0
  229. package/dist/{utils-BqxcalL2.js → utils3.js} +3 -3
  230. package/dist/utils3.js.map +1 -0
  231. package/dist/{waitForTransactionReceipt-DieAnV52.js → waitForTransactionReceipt.js} +3 -3
  232. package/dist/waitForTransactionReceipt.js.map +1 -0
  233. package/dist/{x2y2-45WDooeh.js → x2y2.js} +1 -1
  234. package/dist/x2y2.js.map +1 -0
  235. package/dist/{zora-CbeBoLvQ.js → zora.js} +1 -1
  236. package/dist/zora.js.map +1 -0
  237. package/package.json +42 -42
  238. package/src/react/_internal/api/__mocks__/marketplace.msw.ts +13 -0
  239. package/src/react/_internal/api/index.ts +0 -1
  240. package/src/react/_internal/api/marketplace.gen.ts +70 -26
  241. package/src/react/_internal/api/query-keys.ts +9 -0
  242. package/src/react/_internal/wagmi/get-connectors.ts +12 -1
  243. package/src/react/hooks/data/collectibles/useBalanceOfCollectible.tsx +0 -9
  244. package/src/react/hooks/data/collectibles/useListCollectibles.tsx +1 -16
  245. package/src/react/hooks/data/collectibles/useTokenBalances.tsx +0 -9
  246. package/src/react/hooks/data/collections/index.ts +2 -0
  247. package/src/react/hooks/data/collections/useCollectionActiveListingsCurrencies.test.tsx +112 -0
  248. package/src/react/hooks/data/collections/useCollectionActiveListingsCurrencies.tsx +74 -0
  249. package/src/react/hooks/data/collections/useCollectionActiveOffersCurrencies.test.tsx +110 -0
  250. package/src/react/hooks/data/collections/useCollectionActiveOffersCurrencies.tsx +74 -0
  251. package/src/react/hooks/data/inventory/useInventory.tsx +1 -10
  252. package/src/react/hooks/data/market/useMarketCurrencies.test.tsx +31 -2
  253. package/src/react/hooks/data/primary-sales/index.ts +1 -0
  254. package/src/react/hooks/data/primary-sales/usePrimarySaleItem.tsx +71 -0
  255. package/src/react/hooks/data/tokens/useListBalances.tsx +1 -10
  256. package/src/react/hooks/data/tokens/useTokenSupplies.ts +1 -13
  257. package/src/react/hooks/transactions/useGenerateOfferTransaction.test.tsx +2 -0
  258. package/src/react/hooks/transactions/useProcessStep.test.tsx +8 -6
  259. package/src/react/hooks/transactions/useProcessStep.ts +8 -6
  260. package/src/react/hooks/utils/useComparePrices.test.tsx +1 -1
  261. package/src/react/providers/modal-provider.tsx +2 -1
  262. package/src/react/queries/collectibles/balanceOfCollectible.ts +1 -15
  263. package/src/react/queries/collectibles/listCollectibles.ts +1 -54
  264. package/src/react/queries/collectibles/tokenBalances.ts +1 -15
  265. package/src/react/queries/collections/activeListingsCurrencies.ts +84 -0
  266. package/src/react/queries/collections/activeOffersCurrencies.ts +84 -0
  267. package/src/react/queries/collections/index.ts +2 -0
  268. package/src/react/queries/inventory/inventory.ts +2 -9
  269. package/src/react/queries/market/marketCurrencies.ts +8 -1
  270. package/src/react/queries/primary-sales/index.ts +1 -0
  271. package/src/react/queries/primary-sales/primarySaleItem.ts +80 -0
  272. package/src/react/queries/tokens/listBalances.ts +1 -21
  273. package/src/react/queries/tokens/tokenSupplies.ts +2 -31
  274. package/src/react/queries/utils/comparePrices.ts +13 -1
  275. package/src/react/ui/components/_internals/action-button/ActionButton.stories.tsx +2 -0
  276. package/src/react/ui/components/marketplace-collectible-card/components/footer/Footer.tsx +4 -18
  277. package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +2 -2
  278. package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +0 -2
  279. package/src/react/ui/modals/BuyModal/__tests__/BuyModalRouter.test.tsx +3 -0
  280. package/src/react/ui/modals/BuyModal/__tests__/ERC1155ShopModal.test.tsx +152 -141
  281. package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +1 -0
  282. package/src/react/ui/modals/BuyModal/components/ERC1155ShopModal.tsx +44 -60
  283. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC1155SalePaymentParams.test.tsx +381 -0
  284. package/src/react/ui/modals/BuyModal/hooks/useERC1155SalePaymentParams.ts +257 -0
  285. package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +0 -23
  286. package/src/react/ui/modals/MakeOfferModal/Modal.tsx +22 -2
  287. package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +2 -0
  288. package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +2 -0
  289. package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +2 -0
  290. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/index.tsx +1 -1
  291. package/src/react/ui/modals/TransferModal/index.tsx +24 -2
  292. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +15 -12
  293. package/src/react/ui/modals/_internal/components/floorPriceText/__tests__/FloorPriceText.test.tsx +2 -0
  294. package/src/react/ui/modals/_internal/components/floorPriceText/index.tsx +1 -1
  295. package/src/react/ui/modals/_internal/components/priceInput/index.tsx +148 -11
  296. package/src/react/ui/modals/_internal/components/transactionDetails/index.tsx +1 -1
  297. package/src/react/ui/modals/_internal/components/transactionStatusModal/__tests__/utils.test.ts +2 -0
  298. package/src/styles/styles.ts +2 -2
  299. package/src/utils/networkconfigToWagmiChain.ts +7 -0
  300. package/src/utils/price.ts +58 -0
  301. package/test/const.ts +2 -0
  302. package/test/server-setup.ts +0 -2
  303. package/tsdown.config.ts +1 -0
  304. package/.changeset/honest-peas-arrive.md +0 -5
  305. package/.changeset/real-tips-stick.md +0 -8
  306. package/.changeset/tall-pandas-wear.md +0 -8
  307. package/dist/BellIcon-ByhygxBO.js.map +0 -1
  308. package/dist/CartIcon-Bt3rQYGk.js.map +0 -1
  309. package/dist/CollectibleCard-CVpdgXA8.d.ts +0 -8
  310. package/dist/_internal-DkS2VUn5.js.map +0 -1
  311. package/dist/abi-fa-o9gH3.js.map +0 -1
  312. package/dist/alien_swap-DoY6XfMA.js.map +0 -1
  313. package/dist/api-BoO0V5aJ.js.map +0 -1
  314. package/dist/aqua-xyz-BBDxnG14.js.map +0 -1
  315. package/dist/aura-DGx2zwvF.js.map +0 -1
  316. package/dist/blur-D8GKrRrq.js.map +0 -1
  317. package/dist/builder-api-BFuZNOaN.js.map +0 -1
  318. package/dist/builder.gen-B9wR2nvF.js.map +0 -1
  319. package/dist/coinbase-DOry4PXY.js.map +0 -1
  320. package/dist/collectibles-C_H8jMGH.js.map +0 -1
  321. package/dist/collections-CKummc-R.js.map +0 -1
  322. package/dist/components-CosnX7F9.js.map +0 -1
  323. package/dist/contracts-BP_0vX48.js.map +0 -1
  324. package/dist/create-config-CIfejoCk.js.map +0 -1
  325. package/dist/element-ciybd_VF.js.map +0 -1
  326. package/dist/foundation-Bq4lRz4x.js.map +0 -1
  327. package/dist/index-DNNUeZEq.d.ts +0 -18
  328. package/dist/inventory-Dd7TazvZ.js.map +0 -1
  329. package/dist/listBalances-BxpxBCvn.js +0 -57
  330. package/dist/listBalances-BxpxBCvn.js.map +0 -1
  331. package/dist/looks-rare-6H--x3AM.js.map +0 -1
  332. package/dist/magic-eden-BoxEQ1Li.js.map +0 -1
  333. package/dist/manifold-DycKsljb.js.map +0 -1
  334. package/dist/market-C3HV-awQ.js.map +0 -1
  335. package/dist/marketCurrencies-sKrTX0og.js.map +0 -1
  336. package/dist/marketplace-NQB-sEQL.js.map +0 -1
  337. package/dist/marketplace-logos-D4dS1Foy.js.map +0 -1
  338. package/dist/marketplace.gen-ksUafDqS.js.map +0 -1
  339. package/dist/marketplaceConfig-UHQMM9fq.js.map +0 -1
  340. package/dist/mintify-Dyqyo8jQ.js.map +0 -1
  341. package/dist/network-DtmiMhcg.js.map +0 -1
  342. package/dist/networkconfigToWagmiChain-DbUf6HiO.js.map +0 -1
  343. package/dist/nftx-2LbFjj9Q.js.map +0 -1
  344. package/dist/okx-CBEWJNsR.js.map +0 -1
  345. package/dist/open-sea-Dxntz_PA.js.map +0 -1
  346. package/dist/orders-DnFfZAXV.js.map +0 -1
  347. package/dist/primary-sale-1u4QlPdA.js.map +0 -1
  348. package/dist/primary-sales-Dmsi6bqj.js.map +0 -1
  349. package/dist/rarible-CS0SupHr.js.map +0 -1
  350. package/dist/react-DE852KeT.js.map +0 -1
  351. package/dist/sequence-paCCener.js.map +0 -1
  352. package/dist/src-Dz2CfBL0.js.map +0 -1
  353. package/dist/sudo-swap-9rH2EgfT.js.map +0 -1
  354. package/dist/super-rare-DHIuWtRw.js.map +0 -1
  355. package/dist/token-Cv7l2ZaL.js.map +0 -1
  356. package/dist/tokenBalances-ibDerNmM.js.map +0 -1
  357. package/dist/tokens-cGxMadd8.js.map +0 -1
  358. package/dist/transaction-DZUW5RHu.js.map +0 -1
  359. package/dist/types-B_-cnkcP.js.map +0 -1
  360. package/dist/utils-BCgNhBFR.js.map +0 -1
  361. package/dist/utils-BfpDVibN.js.map +0 -1
  362. package/dist/utils-BqxcalL2.js.map +0 -1
  363. package/dist/waitForTransactionReceipt-DieAnV52.js.map +0 -1
  364. package/dist/x2y2-45WDooeh.js.map +0 -1
  365. package/dist/zora-CbeBoLvQ.js.map +0 -1
  366. package/src/react/_internal/api/__mocks__/laos.msw.ts +0 -387
  367. package/src/react/_internal/api/__tests__/laos-api.test.ts +0 -756
  368. package/src/react/_internal/api/laos-api.ts +0 -106
  369. package/src/react/hooks/data/collectibles/useBalanceOfCollectible.laos.test.tsx +0 -367
  370. package/src/react/queries/collectibles/__tests__/balanceOfCollectible.laos.test.ts +0 -123
  371. package/src/react/queries/collectibles/__tests__/tokenBalances.laos.test.ts +0 -123
  372. package/src/react/queries/inventory/__tests__/inventory.laos.test.ts +0 -499
  373. package/src/react/ui/modals/BuyModal/hooks/__tests__/useERC1155Checkout.test.tsx +0 -395
  374. package/src/react/ui/modals/BuyModal/hooks/useERC1155Checkout.ts +0 -103
  375. package/src/react/ui/modals/_internal/constants/opensea-currencies.ts +0 -481
  376. /package/dist/{index-6wsMChsg.d.ts → index15.d.ts} +0 -0
  377. /package/dist/{index-CZUtOTjh.d.ts → index18.d.ts} +0 -0
  378. /package/dist/{index-DW3njUfb.d.ts → index20.d.ts} +0 -0
  379. /package/dist/{index-DewGsFz5.d.ts → index22.d.ts} +0 -0
  380. /package/dist/{queries-KOcILNJO.js → queries.js} +0 -0
  381. /package/dist/{wagmi-Bseovd6Q.js → wagmi.js} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"aura-DGx2zwvF.js","names":[],"sources":["../src/react/ui/images/marketplaces/aura.png"],"sourcesContent":["\"data:image/png;base64,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\""],"mappings":";mBAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"blur-D8GKrRrq.js","names":[],"sources":["../src/react/ui/images/marketplaces/blur.png"],"sourcesContent":["\"data:image/png;base64,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\""],"mappings":";mBAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"builder-api-BFuZNOaN.js","names":["projectAccessKey?: string","jwtAuth?: string","headers: Record<string, string>"],"sources":["../src/react/_internal/api/builder-api.ts"],"sourcesContent":["import { MarketplaceService } from './builder.gen';\n\nexport class BuilderAPI extends MarketplaceService {\n\tconstructor(\n\t\thostname: string,\n\t\tpublic projectAccessKey?: string,\n\t\tpublic jwtAuth?: string,\n\t) {\n\t\tsuper(hostname.endsWith('/') ? hostname.slice(0, -1) : hostname, fetch);\n\t\tthis.fetch = this._fetch;\n\t}\n\n\t_fetch = (input: RequestInfo, init?: RequestInit): Promise<Response> => {\n\t\tconst headers: Record<string, string> = {};\n\n\t\tconst jwtAuth = this.jwtAuth;\n\t\tconst projectAccessKey = this.projectAccessKey;\n\n\t\tif (jwtAuth && jwtAuth.length > 0) {\n\t\t\theaders.Authorization = `BEARER ${jwtAuth}`;\n\t\t}\n\n\t\tif (projectAccessKey && projectAccessKey.length > 0) {\n\t\t\theaders['X-Access-Key'] = projectAccessKey;\n\t\t}\n\n\t\tconst requestInit = init || {};\n\t\trequestInit.headers = { ...init?.headers, ...headers };\n\n\t\treturn fetch(input, requestInit);\n\t};\n}\n"],"mappings":";;;AAEA,IAAa,aAAb,cAAgC,mBAAmB;CAClD,YACC,UACA,AAAOA,kBACP,AAAOC,SACN;AACD,QAAM,SAAS,SAAS,IAAI,GAAG,SAAS,MAAM,GAAG,GAAG,GAAG,UAAU,MAAM;EAHhE;EACA;AAGP,OAAK,QAAQ,KAAK;;CAGnB,UAAU,OAAoB,SAA0C;EACvE,MAAMC,UAAkC,EAAE;EAE1C,MAAM,UAAU,KAAK;EACrB,MAAM,mBAAmB,KAAK;AAE9B,MAAI,WAAW,QAAQ,SAAS,EAC/B,SAAQ,gBAAgB,UAAU;AAGnC,MAAI,oBAAoB,iBAAiB,SAAS,EACjD,SAAQ,kBAAkB;EAG3B,MAAM,cAAc,QAAQ,EAAE;AAC9B,cAAY,UAAU;GAAE,GAAG,MAAM;GAAS,GAAG;GAAS;AAEtD,SAAO,MAAM,OAAO,YAAY"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"builder.gen-B9wR2nvF.js","names":["webrpcErrorByCode: { [code: number]: any }","reqHeaders: { [key: string]: string }","code: number"],"sources":["../src/react/_internal/api/builder.gen.ts"],"sourcesContent":["// Relevant parts for lookupMarketplace & common Webrpc utilities\n// sequence-builder v0.1.0 52bd730f3b821fe99051d69ced824442369efe4a\n// --\n// Code generated by webrpc-gen@v0.26.0 with typescript generator. DO NOT EDIT.\n//\n// webrpc-gen -schema=builder.main.ridl -target=typescript -client -out=../../webapp/src/rpc/proto/builder.gen.ts\n\nexport const WebrpcHeader = \"Webrpc\";\nexport const WebrpcHeaderValue =\n \"webrpc@v0.26.0;gen-typescript@v0.17.0;sequence-builder@v0.1.0\";\n\n//\n// Types for lookupMarketplace\n//\n\nexport enum MarketplaceWalletType {\n UNIVERSAL = \"UNIVERSAL\",\n EMBEDDED = \"EMBEDDED\",\n ECOSYSTEM = \"ECOSYSTEM\",\n}\n\nexport enum FilterCondition {\n ENTIRE_KEY = \"ENTIRE_KEY\",\n SPECIFIC_VALUE = \"SPECIFIC_VALUE\",\n}\n\nexport interface LookupMarketplaceArgs {\n projectId?: number;\n domain?: string;\n userAddress?: string;\n}\n\nexport interface LookupMarketplaceReturn {\n marketplace: Marketplace;\n marketCollections: Array<MarketCollection>;\n shopCollections: Array<ShopCollection>;\n}\n\nexport interface Marketplace {\n projectId: number;\n settings: MarketplaceSettings;\n market: MarketplacePage;\n shop: MarketplacePage;\n createdAt?: string;\n updatedAt?: string;\n}\n\nexport interface MarketplaceSettings {\n style: { [key: string]: any };\n publisherId: string;\n title: string;\n socials: MarketplaceSocials;\n faviconUrl: string;\n walletOptions: MarketplaceWallet;\n logoUrl: string;\n fontUrl: string;\n accessKey?: string;\n}\n\nexport interface MarketplacePage {\n enabled: boolean;\n bannerUrl: string;\n ogImage: string;\n private: boolean;\n}\n\nexport interface MarketplaceSocials {\n twitter: string;\n discord: string;\n website: string;\n tiktok: string;\n instagram: string;\n youtube: string;\n}\n\nexport interface MarketplaceWallet {\n walletType: MarketplaceWalletType;\n oidcIssuers: { [key: string]: string };\n connectors: Array<string>;\n includeEIP6963Wallets: boolean;\n ecosystem?: MarketplaceWalletEcosystem;\n embedded?: MarketplaceWalletEmbedded;\n}\n\nexport interface MarketplaceWalletEcosystem {\n walletUrl: string;\n walletAppName: string;\n logoLightUrl?: string;\n logoDarkUrl?: string;\n}\n\nexport interface MarketplaceWalletEmbedded {\n tenantKey: string;\n emailEnabled: boolean;\n providers: Array<OpenIdProvider>;\n}\n\nexport interface OpenIdProvider {\n iss: string;\n aud: Array<string>;\n}\n\nexport interface MarketCollection {\n id: number;\n projectId: number;\n chainId: number;\n itemsAddress: string;\n contractType: string;\n bannerUrl: string;\n feePercentage: number;\n currencyOptions: Array<string>;\n destinationMarketplace: string;\n filterSettings?: CollectionFilterSettings;\n sortOrder?: number;\n private: boolean;\n createdAt?: string;\n updatedAt?: string;\n}\n\nexport interface CollectionFilterSettings {\n filterOrder: Array<string>;\n exclusions: Array<MetadataFilterRule>;\n}\n\nexport interface MetadataFilterRule {\n key: string;\n condition: FilterCondition;\n value?: string;\n}\n\nexport interface ShopCollection {\n id: number;\n projectId: number;\n chainId: number;\n itemsAddress: string;\n saleAddress: string;\n name: string;\n bannerUrl: string;\n tokenIds: Array<string>;\n customTokenIds: Array<string>;\n sortOrder?: number;\n private: boolean;\n createdAt?: string;\n updatedAt?: string;\n}\n\n//\n// Service Interface Definition for MarketplaceService (relevant part)\n//\nexport interface MarketplaceService {\n /**\n * Public Methods\n */\n lookupMarketplace(\n args: LookupMarketplaceArgs,\n headers?: object,\n signal?: AbortSignal\n ): Promise<LookupMarketplaceReturn>;\n}\n\n//\n// Errors (Complete set from original)\n//\n\nexport class WebrpcError extends Error {\n name: string;\n code: number;\n message: string;\n status: number;\n cause?: string;\n\n /** @deprecated Use message instead of msg. Deprecated in webrpc v0.11.0. */\n msg: string;\n\n constructor(\n name: string,\n code: number,\n message: string,\n status: number,\n cause?: string\n ) {\n super(message);\n this.name = name || \"WebrpcError\";\n this.code = typeof code === \"number\" ? code : 0;\n this.message = message || `endpoint error ${this.code}`;\n this.msg = this.message;\n this.status = typeof status === \"number\" ? status : 0;\n this.cause = cause;\n Object.setPrototypeOf(this, WebrpcError.prototype);\n }\n\n static new(payload: any): WebrpcError {\n return new this(\n payload.error,\n payload.code,\n payload.message || payload.msg,\n payload.status,\n payload.cause\n );\n }\n}\n\n// Webrpc errors\n\nexport class WebrpcEndpointError extends WebrpcError {\n constructor(\n name: string = \"WebrpcEndpoint\",\n code: number = 0,\n message: string = `endpoint error`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, WebrpcEndpointError.prototype);\n }\n}\n\nexport class WebrpcRequestFailedError extends WebrpcError {\n constructor(\n name: string = \"WebrpcRequestFailed\",\n code: number = -1,\n message: string = `request failed`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, WebrpcRequestFailedError.prototype);\n }\n}\n\nexport class WebrpcBadRouteError extends WebrpcError {\n constructor(\n name: string = \"WebrpcBadRoute\",\n code: number = -2,\n message: string = `bad route`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, WebrpcBadRouteError.prototype);\n }\n}\n\nexport class WebrpcBadMethodError extends WebrpcError {\n constructor(\n name: string = \"WebrpcBadMethod\",\n code: number = -3,\n message: string = `bad method`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, WebrpcBadMethodError.prototype);\n }\n}\n\nexport class WebrpcBadRequestError extends WebrpcError {\n constructor(\n name: string = \"WebrpcBadRequest\",\n code: number = -4,\n message: string = `bad request`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, WebrpcBadRequestError.prototype);\n }\n}\n\nexport class WebrpcBadResponseError extends WebrpcError {\n constructor(\n name: string = \"WebrpcBadResponse\",\n code: number = -5,\n message: string = `bad response`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, WebrpcBadResponseError.prototype);\n }\n}\n\nexport class WebrpcServerPanicError extends WebrpcError {\n constructor(\n name: string = \"WebrpcServerPanic\",\n code: number = -6,\n message: string = `server panic`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, WebrpcServerPanicError.prototype);\n }\n}\n\nexport class WebrpcInternalErrorError extends WebrpcError {\n // Name as per original\n constructor(\n name: string = \"WebrpcInternalError\",\n code: number = -7,\n message: string = `internal error`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, WebrpcInternalErrorError.prototype);\n }\n}\n\nexport class WebrpcClientDisconnectedError extends WebrpcError {\n constructor(\n name: string = \"WebrpcClientDisconnected\",\n code: number = -8,\n message: string = `client disconnected`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, WebrpcClientDisconnectedError.prototype);\n }\n}\n\nexport class WebrpcStreamLostError extends WebrpcError {\n constructor(\n name: string = \"WebrpcStreamLost\",\n code: number = -9,\n message: string = `stream lost`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, WebrpcStreamLostError.prototype);\n }\n}\n\nexport class WebrpcStreamFinishedError extends WebrpcError {\n constructor(\n name: string = \"WebrpcStreamFinished\",\n code: number = -10,\n message: string = `stream finished`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, WebrpcStreamFinishedError.prototype);\n }\n}\n\n// Schema errors\n\nexport class UnauthorizedError extends WebrpcError {\n constructor(\n name: string = \"Unauthorized\",\n code: number = 1000,\n message: string = `Unauthorized access`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, UnauthorizedError.prototype);\n }\n}\n\nexport class PermissionDeniedError extends WebrpcError {\n constructor(\n name: string = \"PermissionDenied\",\n code: number = 1001,\n message: string = `Permission denied`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, PermissionDeniedError.prototype);\n }\n}\n\nexport class SessionExpiredError extends WebrpcError {\n constructor(\n name: string = \"SessionExpired\",\n code: number = 1002,\n message: string = `Session expired`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, SessionExpiredError.prototype);\n }\n}\n\nexport class MethodNotFoundError extends WebrpcError {\n constructor(\n name: string = \"MethodNotFound\",\n code: number = 1003,\n message: string = `Method not found`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, MethodNotFoundError.prototype);\n }\n}\n\nexport class RequestConflictError extends WebrpcError {\n constructor(\n name: string = \"RequestConflict\",\n code: number = 1004,\n message: string = `Conflict with target resource`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, RequestConflictError.prototype);\n }\n}\n\nexport class ServiceDisabledError extends WebrpcError {\n constructor(\n name: string = \"ServiceDisabled\",\n code: number = 1005,\n message: string = `Service disabled`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, ServiceDisabledError.prototype);\n }\n}\n\nexport class TimeoutError extends WebrpcError {\n constructor(\n name: string = \"Timeout\",\n code: number = 2000,\n message: string = `Request timed out`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, TimeoutError.prototype);\n }\n}\n\nexport class InvalidArgumentError extends WebrpcError {\n constructor(\n name: string = \"InvalidArgument\",\n code: number = 2001,\n message: string = `Invalid argument`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, InvalidArgumentError.prototype);\n }\n}\n\nexport class NotFoundError extends WebrpcError {\n constructor(\n name: string = \"NotFound\",\n code: number = 3000,\n message: string = `Resource not found`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, NotFoundError.prototype);\n }\n}\n\nexport class UserNotFoundError extends WebrpcError {\n constructor(\n name: string = \"UserNotFound\",\n code: number = 3001,\n message: string = `User not found`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, UserNotFoundError.prototype);\n }\n}\n\nexport class ProjectNotFoundError extends WebrpcError {\n constructor(\n name: string = \"ProjectNotFound\",\n code: number = 3002,\n message: string = `Project not found`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, ProjectNotFoundError.prototype);\n }\n}\n\nexport class InvalidTierError extends WebrpcError {\n constructor(\n name: string = \"InvalidTier\",\n code: number = 3003,\n message: string = `Invalid subscription tier`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, InvalidTierError.prototype);\n }\n}\n\nexport class EmailTemplateExistsError extends WebrpcError {\n constructor(\n name: string = \"EmailTemplateExists\",\n code: number = 3004,\n message: string = `Email Template exists`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, EmailTemplateExistsError.prototype);\n }\n}\n\nexport class SubscriptionLimitError extends WebrpcError {\n constructor(\n name: string = \"SubscriptionLimit\",\n code: number = 3005,\n message: string = `Subscription limit reached`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, SubscriptionLimitError.prototype);\n }\n}\n\nexport class FeatureNotIncludedError extends WebrpcError {\n constructor(\n name: string = \"FeatureNotIncluded\",\n code: number = 3006,\n message: string = `Feature not included`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, FeatureNotIncludedError.prototype);\n }\n}\n\nexport class InvalidNetworkError extends WebrpcError {\n constructor(\n name: string = \"InvalidNetwork\",\n code: number = 3007,\n message: string = `Invalid network`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, InvalidNetworkError.prototype);\n }\n}\n\nexport class InvitationExpiredError extends WebrpcError {\n constructor(\n name: string = \"InvitationExpired\",\n code: number = 4000,\n message: string = `Invitation code is expired`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, InvitationExpiredError.prototype);\n }\n}\n\nexport class AlreadyCollaboratorError extends WebrpcError {\n constructor(\n name: string = \"AlreadyCollaborator\",\n code: number = 4001,\n message: string = `Already a collaborator`,\n status: number = 0,\n cause?: string\n ) {\n super(name, code, message, status, cause);\n Object.setPrototypeOf(this, AlreadyCollaboratorError.prototype);\n }\n}\n\nexport enum errors {\n WebrpcEndpoint = \"WebrpcEndpoint\",\n WebrpcRequestFailed = \"WebrpcRequestFailed\",\n WebrpcBadRoute = \"WebrpcBadRoute\",\n WebrpcBadMethod = \"WebrpcBadMethod\",\n WebrpcBadRequest = \"WebrpcBadRequest\",\n WebrpcBadResponse = \"WebrpcBadResponse\",\n WebrpcServerPanic = \"WebrpcServerPanic\",\n WebrpcInternalError = \"WebrpcInternalError\",\n WebrpcClientDisconnected = \"WebrpcClientDisconnected\",\n WebrpcStreamLost = \"WebrpcStreamLost\",\n WebrpcStreamFinished = \"WebrpcStreamFinished\",\n Unauthorized = \"Unauthorized\",\n PermissionDenied = \"PermissionDenied\",\n SessionExpired = \"SessionExpired\",\n MethodNotFound = \"MethodNotFound\",\n RequestConflict = \"RequestConflict\",\n ServiceDisabled = \"ServiceDisabled\",\n Timeout = \"Timeout\",\n InvalidArgument = \"InvalidArgument\",\n NotFound = \"NotFound\",\n UserNotFound = \"UserNotFound\",\n ProjectNotFound = \"ProjectNotFound\",\n InvalidTier = \"InvalidTier\",\n EmailTemplateExists = \"EmailTemplateExists\",\n SubscriptionLimit = \"SubscriptionLimit\",\n FeatureNotIncluded = \"FeatureNotIncluded\",\n InvalidNetwork = \"InvalidNetwork\",\n InvitationExpired = \"InvitationExpired\",\n AlreadyCollaborator = \"AlreadyCollaborator\",\n}\n\nexport enum WebrpcErrorCodes {\n WebrpcEndpoint = 0,\n WebrpcRequestFailed = -1,\n WebrpcBadRoute = -2,\n WebrpcBadMethod = -3,\n WebrpcBadRequest = -4,\n WebrpcBadResponse = -5,\n WebrpcServerPanic = -6,\n WebrpcInternalError = -7,\n WebrpcClientDisconnected = -8,\n WebrpcStreamLost = -9,\n WebrpcStreamFinished = -10,\n Unauthorized = 1000,\n PermissionDenied = 1001,\n SessionExpired = 1002,\n MethodNotFound = 1003,\n RequestConflict = 1004,\n ServiceDisabled = 1005,\n Timeout = 2000,\n InvalidArgument = 2001,\n NotFound = 3000,\n UserNotFound = 3001,\n ProjectNotFound = 3002,\n InvalidTier = 3003,\n EmailTemplateExists = 3004,\n SubscriptionLimit = 3005,\n FeatureNotIncluded = 3006,\n InvalidNetwork = 3007,\n InvitationExpired = 4000,\n AlreadyCollaborator = 4001,\n}\n\nexport const webrpcErrorByCode: { [code: number]: any } = {\n [0]: WebrpcEndpointError,\n [-1]: WebrpcRequestFailedError,\n [-2]: WebrpcBadRouteError,\n [-3]: WebrpcBadMethodError,\n [-4]: WebrpcBadRequestError,\n [-5]: WebrpcBadResponseError,\n [-6]: WebrpcServerPanicError,\n [-7]: WebrpcInternalErrorError, // Name as per original\n [-8]: WebrpcClientDisconnectedError,\n [-9]: WebrpcStreamLostError,\n [-10]: WebrpcStreamFinishedError,\n [1000]: UnauthorizedError,\n [1001]: PermissionDeniedError,\n [1002]: SessionExpiredError,\n [1003]: MethodNotFoundError,\n [1004]: RequestConflictError,\n [1005]: ServiceDisabledError,\n [2000]: TimeoutError,\n [2001]: InvalidArgumentError,\n [3000]: NotFoundError,\n [3001]: UserNotFoundError,\n [3002]: ProjectNotFoundError,\n [3003]: InvalidTierError,\n [3004]: EmailTemplateExistsError,\n [3005]: SubscriptionLimitError,\n [3006]: FeatureNotIncludedError,\n [3007]: InvalidNetworkError,\n [4000]: InvitationExpiredError,\n [4001]: AlreadyCollaboratorError,\n};\n\n//\n// Client Implementation for MarketplaceService (relevant part)\n//\nexport type Fetch = (\n input: RequestInfo,\n init?: RequestInit\n) => Promise<Response>;\n\nexport class MarketplaceService {\n protected hostname: string;\n protected fetch: Fetch;\n protected path = \"/rpc/MarketplaceService/\";\n\n constructor(hostname: string, fetch: Fetch) {\n this.hostname = hostname.replace(/\\/*$/, \"\");\n this.fetch = (input: RequestInfo, init?: RequestInit) => fetch(input, init);\n }\n\n private url(name: string): string {\n return this.hostname + this.path + name;\n }\n\n lookupMarketplace = (\n args: LookupMarketplaceArgs,\n headers?: object,\n signal?: AbortSignal\n ): Promise<LookupMarketplaceReturn> => {\n return this.fetch(\n this.url(\"LookupMarketplace\"),\n createHTTPRequest(args, headers, signal)\n ).then(\n (res) => {\n return buildResponse(res).then((_data) => {\n return {\n marketplace: <Marketplace>_data.marketplace,\n marketCollections: <Array<MarketCollection>>_data.marketCollections,\n shopCollections: <Array<ShopCollection>>_data.shopCollections,\n };\n });\n },\n (error) => {\n throw WebrpcRequestFailedError.new({\n cause: `lookupMarketplace(): ${error.message || \"\"}`,\n });\n }\n );\n };\n}\n\n//\n// Helper Functions\n//\nconst createHTTPRequest = (\n body: object = {},\n headers: object = {},\n signal: AbortSignal | null = null\n): object => {\n const reqHeaders: { [key: string]: string } = {\n ...headers,\n \"Content-Type\": \"application/json\",\n };\n reqHeaders[WebrpcHeader] = WebrpcHeaderValue;\n\n return {\n method: \"POST\",\n headers: reqHeaders,\n body: JSON.stringify(body || {}),\n signal,\n };\n};\n\nconst buildResponse = (res: Response): Promise<any> => {\n return res.text().then((text) => {\n let data;\n try {\n data = JSON.parse(text);\n } catch (error) {\n let message = \"\";\n if (error instanceof Error) {\n message = error.message;\n }\n throw WebrpcBadResponseError.new({\n status: res.status,\n cause: `JSON.parse(): ${message}: response text: ${text}`,\n });\n }\n if (!res.ok) {\n const code: number = typeof data.code === \"number\" ? data.code : 0;\n throw (webrpcErrorByCode[code] || WebrpcError).new(data);\n }\n return data;\n });\n};\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"coinbase-DOry4PXY.js","names":[],"sources":["../src/react/ui/images/marketplaces/coinbase.png"],"sourcesContent":["\"data:image/png;base64,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\""],"mappings":";uBAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"collectibles-C_H8jMGH.js","names":["apiArgs: GetTokenMetadataArgs","apiArgs: GetCountOfFilteredCollectiblesArgs","apiArgs","apiArgs: GetCountOfAllCollectiblesArgs","pageParams: Page | undefined","apiArgs: ListCollectibleActivitiesArgs","apiArgs: ListCollectiblesArgs","pageParams: Page","apiArgs: ListCollectiblesArgs"],"sources":["../src/react/queries/collectibles/balanceOfCollectible.ts","../src/react/queries/collectibles/collectible.ts","../src/react/queries/collectibles/countOfCollectables.ts","../src/react/queries/collectibles/listCollectibleActivities.ts","../src/react/queries/collectibles/listCollectibles.ts","../src/react/queries/collectibles/listCollectiblesPaginated.ts"],"sourcesContent":["import { queryOptions, skipToken } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport type { UseQueryParameters } from 'wagmi/query';\nimport type { SdkConfig } from '../../../types';\nimport { collectableKeys, getIndexerClient, LaosAPI } from '../../_internal';\n\nexport type UseBalanceOfCollectibleArgs = {\n\tcollectionAddress: Address;\n\tcollectableId: string;\n\tuserAddress: Address | undefined;\n\tchainId: number;\n\tisLaos721?: boolean;\n\tincludeMetadata?: boolean;\n\tquery?: UseQueryParameters;\n};\n\n/**\n * Fetches the balance of a specific collectible for a user\n *\n * @param args - Arguments for the API call\n * @param config - SDK configuration\n * @returns The balance data\n */\nexport async function fetchBalanceOfCollectible(\n\targs: Omit<UseBalanceOfCollectibleArgs, 'userAddress'> & {\n\t\tuserAddress: Address;\n\t},\n\tconfig: SdkConfig,\n) {\n\tif (args.isLaos721) {\n\t\tconst laosApi = new LaosAPI();\n\t\tconst response = await laosApi.getTokenBalances({\n\t\t\tchainId: args.chainId.toString(),\n\t\t\tcontractAddress: args.collectionAddress,\n\t\t\taccountAddress: args.userAddress,\n\t\t\tincludeMetadata: true,\n\t\t});\n\n\t\treturn response.balances[0] || null;\n\t}\n\n\tconst indexerClient = getIndexerClient(args.chainId, config);\n\treturn indexerClient\n\t\t.getTokenBalances({\n\t\t\taccountAddress: args.userAddress,\n\t\t\tcontractAddress: args.collectionAddress,\n\t\t\ttokenID: args.collectableId,\n\t\t\tincludeMetadata: args.includeMetadata ?? false,\n\t\t\tmetadataOptions: {\n\t\t\t\tverifiedOnly: true,\n\t\t\t\tincludeContracts: [args.collectionAddress],\n\t\t\t},\n\t\t})\n\t\t.then((res) => res.balances[0] || null);\n}\n\nexport function getBalanceOfCollectibleQueryKey(\n\targs: UseBalanceOfCollectibleArgs,\n) {\n\tconst apiArgs = {\n\t\tchainId: args.chainId,\n\t\taccountAddress: args.userAddress,\n\t\tcontractAddress: args.collectionAddress,\n\t\ttokenID: args.collectableId,\n\t\tincludeMetadata: args.includeMetadata,\n\t\tmetadataOptions: args.userAddress\n\t\t\t? {\n\t\t\t\t\tverifiedOnly: true,\n\t\t\t\t\tincludeContracts: [args.collectionAddress],\n\t\t\t\t}\n\t\t\t: undefined,\n\t\tisLaos721: args.isLaos721,\n\t};\n\n\treturn [...collectableKeys.userBalances, apiArgs] as const;\n}\n\n/**\n * Creates a tanstack query options object for the balance query\n *\n * @param args - The query arguments\n * @param config - SDK configuration\n * @returns Query options configuration\n */\nexport function balanceOfCollectibleOptions(\n\targs: UseBalanceOfCollectibleArgs,\n\tconfig: SdkConfig,\n) {\n\tconst enabled = !!args.userAddress && (args.query?.enabled ?? true);\n\treturn queryOptions({\n\t\tqueryKey: getBalanceOfCollectibleQueryKey(args),\n\t\tqueryFn: enabled\n\t\t\t? () =>\n\t\t\t\t\tfetchBalanceOfCollectible(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...args,\n\t\t\t\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: this is guaranteed by the userAddress check above\n\t\t\t\t\t\t\tuserAddress: args.userAddress!,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tconfig,\n\t\t\t\t\t)\n\t\t\t: skipToken,\n\t});\n}\n","import type { GetTokenMetadataArgs } from '@0xsequence/metadata';\nimport { queryOptions } from '@tanstack/react-query';\nimport type { SdkConfig } from '../../../types';\nimport {\n\tgetMetadataClient,\n\ttype QueryKeyArgs,\n\ttype ValuesOptional,\n} from '../../_internal';\nimport { collectableKeys } from '../../_internal/api/query-keys';\nimport type { StandardQueryOptions } from '../../types/query';\n\nexport interface FetchCollectibleParams\n\textends Omit<\n\t\tGetTokenMetadataArgs,\n\t\t'chainID' | 'contractAddress' | 'tokenIDs'\n\t> {\n\tchainId: number;\n\tcollectionAddress: string;\n\tcollectibleId: string;\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches collectible metadata from the metadata API\n */\nexport async function fetchCollectible(params: FetchCollectibleParams) {\n\tconst { collectionAddress, collectibleId, chainId, config } = params;\n\n\tconst metadataClient = getMetadataClient(config);\n\n\tconst apiArgs: GetTokenMetadataArgs = {\n\t\tcontractAddress: collectionAddress,\n\t\tchainID: String(chainId),\n\t\ttokenIDs: [collectibleId],\n\t};\n\n\tconst result = await metadataClient.getTokenMetadata(apiArgs);\n\treturn result.tokenMetadata[0];\n}\n\nexport type CollectibleQueryOptions = ValuesOptional<FetchCollectibleParams> & {\n\tquery?: StandardQueryOptions;\n};\n\nexport function getCollectibleQueryKey(params: CollectibleQueryOptions) {\n\tconst apiArgs = {\n\t\tchainID: String(params.chainId),\n\t\tcontractAddress: params.collectionAddress,\n\t\t// biome-ignore lint/style/noNonNullAssertion: Dont need to validate here\n\t\ttokenIDs: [params.collectibleId!],\n\t} satisfies QueryKeyArgs<GetTokenMetadataArgs>;\n\n\treturn [...collectableKeys.details, apiArgs] as const;\n}\n\nexport function collectibleQueryOptions(params: CollectibleQueryOptions) {\n\tconst enabled = Boolean(\n\t\tparams.collectionAddress &&\n\t\t\tparams.collectibleId &&\n\t\t\tparams.chainId &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getCollectibleQueryKey(params),\n\t\tqueryFn: () =>\n\t\t\tfetchCollectible({\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tchainId: params.chainId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tcollectionAddress: params.collectionAddress!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tcollectibleId: params.collectibleId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tconfig: params.config!,\n\t\t\t}),\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n","import { queryOptions } from '@tanstack/react-query';\nimport type { SdkConfig } from '../../../types';\nimport {\n\tgetMarketplaceClient,\n\ttype QueryKeyArgs,\n\ttype ValuesOptional,\n} from '../../_internal';\nimport type {\n\tCollectiblesFilter,\n\tGetCountOfAllCollectiblesArgs,\n\tGetCountOfFilteredCollectiblesArgs,\n\tOrderSide,\n} from '../../_internal/api/marketplace.gen';\nimport { collectableKeys } from '../../_internal/api/query-keys';\nimport type { StandardQueryOptions } from '../../types/query';\n\nexport interface FetchCountOfCollectablesParams {\n\tchainId: number;\n\tcollectionAddress: string;\n\tconfig: SdkConfig;\n\tfilter?: CollectiblesFilter;\n\tside?: OrderSide;\n}\n\n/**\n * Fetches count of collectibles from the marketplace API\n */\nexport async function fetchCountOfCollectables(\n\tparams: FetchCountOfCollectablesParams,\n) {\n\tconst { collectionAddress, chainId, config, filter, side } = params;\n\n\tconst client = getMarketplaceClient(config);\n\n\tif (filter && side) {\n\t\tconst apiArgs: GetCountOfFilteredCollectiblesArgs = {\n\t\t\tcontractAddress: collectionAddress,\n\t\t\tchainId: String(chainId),\n\t\t\tfilter,\n\t\t\tside,\n\t\t};\n\n\t\tconst result = await client.getCountOfFilteredCollectibles(apiArgs);\n\t\treturn result.count;\n\t}\n\n\tconst apiArgs: GetCountOfAllCollectiblesArgs = {\n\t\tcontractAddress: collectionAddress,\n\t\tchainId: String(chainId),\n\t};\n\n\tconst result = await client.getCountOfAllCollectibles(apiArgs);\n\treturn result.count;\n}\n\nexport type CountOfCollectablesQueryOptions =\n\tValuesOptional<FetchCountOfCollectablesParams> & {\n\t\tquery?: StandardQueryOptions;\n\t};\n\nexport function getCountOfCollectablesQueryKey(\n\tparams: CountOfCollectablesQueryOptions,\n) {\n\tif (params.filter && params.side) {\n\t\tconst apiArgs = {\n\t\t\tchainId: String(params.chainId),\n\t\t\tcontractAddress: params.collectionAddress,\n\t\t\tfilter: params.filter,\n\t\t\tside: params.side,\n\t\t} satisfies QueryKeyArgs<GetCountOfFilteredCollectiblesArgs>;\n\n\t\treturn [...collectableKeys.counts, apiArgs] as const;\n\t}\n\n\tconst apiArgs = {\n\t\tchainId: String(params.chainId),\n\t\tcontractAddress: params.collectionAddress,\n\t} satisfies QueryKeyArgs<GetCountOfAllCollectiblesArgs>;\n\n\treturn [...collectableKeys.counts, apiArgs] as const;\n}\n\nexport function countOfCollectablesQueryOptions(\n\tparams: CountOfCollectablesQueryOptions,\n) {\n\tconst enabled = Boolean(\n\t\tparams.collectionAddress &&\n\t\t\tparams.chainId &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getCountOfCollectablesQueryKey(params),\n\t\tqueryFn: () =>\n\t\t\tfetchCountOfCollectables({\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tchainId: params.chainId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tcollectionAddress: params.collectionAddress!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tconfig: params.config!,\n\t\t\t\tfilter: params.filter,\n\t\t\t\tside: params.side,\n\t\t\t}),\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n","import { queryOptions } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport type { Page, SdkConfig } from '../../../types';\nimport type {\n\tListCollectibleActivitiesArgs,\n\tListCollectibleActivitiesReturn,\n\tQueryKeyArgs,\n\tSortBy,\n\tValuesOptional,\n} from '../../_internal';\nimport { collectableKeys, getMarketplaceClient } from '../../_internal';\nimport type { StandardQueryOptions } from '../../types/query';\n\nexport interface FetchListCollectibleActivitiesParams\n\textends Omit<\n\t\tListCollectibleActivitiesArgs,\n\t\t'chainId' | 'contractAddress' | 'page'\n\t> {\n\tchainId: number;\n\tcollectionAddress: Address;\n\tpage?: number;\n\tpageSize?: number;\n\tsort?: SortBy[];\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches collectible activities from the Marketplace API\n */\nexport async function fetchListCollectibleActivities(\n\tparams: FetchListCollectibleActivitiesParams,\n): Promise<ListCollectibleActivitiesReturn> {\n\tconst {\n\t\tcollectionAddress,\n\t\tchainId,\n\t\tconfig,\n\t\tpage,\n\t\tpageSize,\n\t\tsort,\n\t\t...additionalApiParams\n\t} = params;\n\tconst marketplaceClient = getMarketplaceClient(config);\n\n\tconst pageParams: Page | undefined =\n\t\tpage || pageSize || sort\n\t\t\t? {\n\t\t\t\t\tpage: page ?? 1,\n\t\t\t\t\tpageSize: pageSize ?? 10,\n\t\t\t\t\tsort,\n\t\t\t\t}\n\t\t\t: undefined;\n\n\tconst apiArgs: ListCollectibleActivitiesArgs = {\n\t\tcontractAddress: collectionAddress,\n\t\tchainId: String(chainId),\n\t\tpage: pageParams,\n\t\t...additionalApiParams,\n\t};\n\n\treturn await marketplaceClient.listCollectibleActivities(apiArgs);\n}\n\nexport type ListCollectibleActivitiesQueryOptions =\n\tValuesOptional<FetchListCollectibleActivitiesParams> & {\n\t\tquery?: StandardQueryOptions;\n\t};\n\nexport function getListCollectibleActivitiesQueryKey(\n\tparams: ListCollectibleActivitiesQueryOptions,\n) {\n\t// TODO: Do we actually want to do the page like this?\n\tconst page =\n\t\tparams.page || params.pageSize || params.sort\n\t\t\t? {\n\t\t\t\t\tpage: params.page ?? 1,\n\t\t\t\t\tpageSize: params.pageSize ?? 10,\n\t\t\t\t\tsort: params.sort,\n\t\t\t\t}\n\t\t\t: undefined;\n\n\tconst apiArgs = {\n\t\tchainId: String(params.chainId),\n\t\tcontractAddress: params.collectionAddress,\n\t\ttokenId: params.tokenId,\n\t\tpage: page,\n\t} satisfies QueryKeyArgs<ListCollectibleActivitiesArgs>;\n\n\treturn [...collectableKeys.collectibleActivities, apiArgs] as const;\n}\n\nexport function listCollectibleActivitiesQueryOptions(\n\tparams: ListCollectibleActivitiesQueryOptions,\n) {\n\tconst enabled = Boolean(\n\t\tparams.collectionAddress &&\n\t\t\tparams.chainId &&\n\t\t\tparams.tokenId &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getListCollectibleActivitiesQueryKey(params),\n\t\tqueryFn: () =>\n\t\t\tfetchListCollectibleActivities({\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tchainId: params.chainId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tcollectionAddress: params.collectionAddress!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tconfig: params.config!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\ttokenId: params.tokenId!,\n\t\t\t\tpage: params.page,\n\t\t\t\tpageSize: params.pageSize,\n\t\t\t\tsort: params.sort,\n\t\t\t}),\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n","import { infiniteQueryOptions } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport type { Page, SdkConfig } from '../../../types';\nimport type { CardType } from '../../../types/types';\nimport { compareAddress } from '../../../utils';\nimport type {\n\tListCollectiblesArgs,\n\tListCollectiblesReturn,\n\tQueryKeyArgs,\n\tValuesOptional,\n} from '../../_internal';\nimport {\n\ttype CollectibleOrder,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n\tMetadataStatus,\n\tOrderSide,\n} from '../../_internal';\nimport type { StandardInfiniteQueryOptions } from '../../types/query';\nimport { fetchMarketplaceConfig } from '../market/marketplaceConfig';\nimport {\n\tfetchBalances,\n\ttype UseListBalancesArgs,\n} from '../tokens/listBalances';\n\nexport interface FetchListCollectiblesParams\n\textends Omit<ListCollectiblesArgs, 'chainId' | 'contractAddress'> {\n\tchainId: number;\n\tcollectionAddress: Address;\n\tisLaos721?: boolean;\n\tcardType?: CardType;\n\tconfig: SdkConfig;\n\tenabled?: boolean;\n}\n\n/**\n * Fetches a list of collectibles with pagination support from the Marketplace API\n */\nexport async function fetchListCollectibles(\n\tparams: FetchListCollectiblesParams,\n\tpage: Page,\n): Promise<ListCollectiblesReturn> {\n\tconst { collectionAddress, chainId, config, ...additionalApiParams } = params;\n\tconst marketplaceClient = getMarketplaceClient(config);\n\tconst marketplaceConfig = await fetchMarketplaceConfig({ config });\n\tconst isMarketCollection = marketplaceConfig?.market.collections.some(\n\t\t(collection) => compareAddress(collection.itemsAddress, collectionAddress),\n\t);\n\n\t// If it's not a market collection, return an empty list. those collections are not compatible with the ListCollectibles endpoint.\n\tif (params.enabled === false || !isMarketCollection) {\n\t\treturn {\n\t\t\tcollectibles: [],\n\t\t\tpage: {\n\t\t\t\tpage: 1,\n\t\t\t\tpageSize: 30,\n\t\t\t\tmore: false,\n\t\t\t},\n\t\t};\n\t}\n\n\tconst apiArgs: ListCollectiblesArgs = {\n\t\tcontractAddress: collectionAddress,\n\t\tchainId: String(chainId),\n\t\tpage: page,\n\t\t...additionalApiParams,\n\t};\n\n\tif (params.isLaos721 && params.side === OrderSide.listing) {\n\t\ttry {\n\t\t\tconst fetchBalancesArgs = {\n\t\t\t\tchainId: params.chainId,\n\t\t\t\taccountAddress: params.filter?.inAccounts?.[0] as Address,\n\t\t\t\tcontractAddress: params.collectionAddress,\n\t\t\t\tpage: page,\n\t\t\t\tincludeMetadata: true,\n\t\t\t\tisLaos721: true,\n\t\t\t} satisfies UseListBalancesArgs;\n\n\t\t\tconst balances = await fetchBalances(fetchBalancesArgs, config, page);\n\t\t\tconst collectibles: CollectibleOrder[] = balances.balances.map(\n\t\t\t\t(balance) => {\n\t\t\t\t\tif (!balance.tokenMetadata)\n\t\t\t\t\t\tthrow new Error('Token metadata not found');\n\t\t\t\t\treturn {\n\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\ttokenId: balance.tokenID ?? '',\n\t\t\t\t\t\t\tattributes: balance.tokenMetadata.attributes,\n\t\t\t\t\t\t\timage: balance.tokenMetadata.image,\n\t\t\t\t\t\t\tname: balance.tokenMetadata.name,\n\t\t\t\t\t\t\tdescription: balance.tokenMetadata.description,\n\t\t\t\t\t\t\tvideo: balance.tokenMetadata.video,\n\t\t\t\t\t\t\taudio: balance.tokenMetadata.audio,\n\t\t\t\t\t\t\tstatus: MetadataStatus.AVAILABLE,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tcollectibles: collectibles,\n\t\t\t\t//@ts-expect-error\n\t\t\t\tpage: balances.page,\n\t\t\t};\n\t\t} catch (error) {\n\t\t\t// If the request fails, ignore the error and return the collectibles from our indexer\n\t\t\tconsole.error(error);\n\t\t}\n\t}\n\n\treturn await marketplaceClient.listCollectibles(apiArgs);\n}\n\nexport type ListCollectiblesQueryOptions =\n\tValuesOptional<FetchListCollectiblesParams> & {\n\t\tquery?: StandardInfiniteQueryOptions;\n\t};\n\nexport function getListCollectiblesQueryKey(\n\tparams: ListCollectiblesQueryOptions,\n) {\n\tconst apiArgs = {\n\t\tchainId: String(params.chainId),\n\t\tcontractAddress: params.collectionAddress,\n\t\tside: params.side,\n\t\tfilter: params.filter,\n\t} satisfies QueryKeyArgs<Omit<ListCollectiblesArgs, 'page'>>;\n\n\treturn [...collectableKeys.lists, apiArgs] as const;\n}\n\nexport function listCollectiblesQueryOptions(\n\tparams: ListCollectiblesQueryOptions,\n) {\n\tconst enabled = Boolean(\n\t\tparams.collectionAddress &&\n\t\t\tparams.chainId &&\n\t\t\tparams.side &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn infiniteQueryOptions({\n\t\tqueryKey: getListCollectiblesQueryKey(params),\n\t\tqueryFn: async ({ pageParam }) => {\n\t\t\treturn fetchListCollectibles(\n\t\t\t\t{\n\t\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\t\tchainId: params.chainId!,\n\t\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\t\tcollectionAddress: params.collectionAddress!,\n\t\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\t\tconfig: params.config!,\n\t\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\t\tside: params.side!,\n\t\t\t\t\tfilter: params.filter,\n\t\t\t\t\tisLaos721: params.isLaos721,\n\t\t\t\t\tcardType: params.cardType,\n\t\t\t\t},\n\t\t\t\tpageParam,\n\t\t\t);\n\t\t},\n\t\tinitialPageParam: { page: 1, pageSize: 30 } as Page,\n\t\tgetNextPageParam: (lastPage) =>\n\t\t\tlastPage.page?.more ? lastPage.page : undefined,\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n","import { queryOptions } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport type { Page, SdkConfig } from '../../../types';\nimport type {\n\tListCollectiblesArgs,\n\tListCollectiblesReturn,\n\tQueryKeyArgs,\n\tValuesOptional,\n} from '../../_internal';\nimport { collectableKeys, getMarketplaceClient } from '../../_internal';\nimport type { StandardQueryOptions } from '../../types/query';\n\nexport interface FetchListCollectiblesPaginatedParams\n\textends Omit<ListCollectiblesArgs, 'chainId' | 'contractAddress' | 'page'> {\n\tchainId: number;\n\tcollectionAddress: Address;\n\tpage?: number;\n\tpageSize?: number;\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches a list of collectibles with pagination support from the Marketplace API\n */\nexport async function fetchListCollectiblesPaginated(\n\tparams: FetchListCollectiblesPaginatedParams,\n): Promise<ListCollectiblesReturn> {\n\tconst {\n\t\tcollectionAddress,\n\t\tchainId,\n\t\tconfig,\n\t\tpage = 1,\n\t\tpageSize = 30,\n\t\t...additionalApiParams\n\t} = params;\n\tconst marketplaceClient = getMarketplaceClient(config);\n\n\tconst pageParams: Page = {\n\t\tpage,\n\t\tpageSize,\n\t};\n\n\tconst apiArgs: ListCollectiblesArgs = {\n\t\tcontractAddress: collectionAddress,\n\t\tchainId: String(chainId),\n\t\tpage: pageParams,\n\t\t...additionalApiParams,\n\t};\n\n\treturn await marketplaceClient.listCollectibles(apiArgs);\n}\n\nexport type ListCollectiblesPaginatedQueryOptions =\n\tValuesOptional<FetchListCollectiblesPaginatedParams> & {\n\t\tquery?: StandardQueryOptions;\n\t};\n\nexport function getListCollectiblesPaginatedQueryKey(\n\tparams: ListCollectiblesPaginatedQueryOptions,\n) {\n\tconst apiArgs = {\n\t\tchainId: String(params.chainId),\n\t\tcontractAddress: params.collectionAddress,\n\t\tside: params.side,\n\t\tfilter: params.filter,\n\t\tpage: params.page\n\t\t\t? { page: params.page, pageSize: params.pageSize ?? 30 }\n\t\t\t: undefined,\n\t} satisfies QueryKeyArgs<ListCollectiblesArgs>;\n\n\treturn [...collectableKeys.lists, 'paginated', apiArgs] as const;\n}\n\nexport function listCollectiblesPaginatedQueryOptions(\n\tparams: ListCollectiblesPaginatedQueryOptions,\n) {\n\tconst enabled = Boolean(\n\t\tparams.collectionAddress &&\n\t\t\tparams.chainId &&\n\t\t\tparams.side &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getListCollectiblesPaginatedQueryKey(params),\n\t\tqueryFn: () =>\n\t\t\tfetchListCollectiblesPaginated({\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tchainId: params.chainId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tcollectionAddress: params.collectionAddress!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tconfig: params.config!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tside: params.side!,\n\t\t\t\tfilter: params.filter,\n\t\t\t\tpage: params.page,\n\t\t\t\tpageSize: params.pageSize,\n\t\t\t}),\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"collections-CKummc-R.js","names":["apiArgs: GetCollectionDetailArgs","pageParams: Page | undefined","apiArgs: ListCollectionActivitiesArgs"],"sources":["../src/react/queries/collections/collection.ts","../src/react/queries/collections/collectionBalanceDetails.ts","../src/react/queries/collections/collectionDetails.ts","../src/react/queries/collections/listCollectionActivities.ts","../src/react/queries/collections/listCollections.ts"],"sourcesContent":["import type { GetContractInfoArgs } from '@0xsequence/metadata';\nimport { queryOptions } from '@tanstack/react-query';\nimport type { SdkConfig } from '../../../types';\nimport {\n\tgetMetadataClient,\n\ttype QueryKeyArgs,\n\ttype ValuesOptional,\n} from '../../_internal';\nimport { collectionKeys } from '../../_internal/api/query-keys';\nimport type { StandardQueryOptions } from '../../types/query';\n\nexport interface FetchCollectionParams {\n\tchainId: number;\n\tcollectionAddress: string;\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches collection information from the metadata API\n */\nexport async function fetchCollection(params: FetchCollectionParams) {\n\tconst { collectionAddress, chainId, config } = params;\n\n\tconst metadataClient = getMetadataClient(config);\n\n\tconst result = await metadataClient.getContractInfo({\n\t\tchainID: chainId.toString(),\n\t\tcontractAddress: collectionAddress,\n\t});\n\n\treturn result.contractInfo;\n}\n\nexport type CollectionQueryOptions = ValuesOptional<FetchCollectionParams> & {\n\tquery?: StandardQueryOptions;\n};\n\nexport function getCollectionQueryKey(params: CollectionQueryOptions) {\n\tconst apiArgs = {\n\t\tchainID: String(params.chainId),\n\t\tcontractAddress: params.collectionAddress,\n\t} satisfies QueryKeyArgs<GetContractInfoArgs>;\n\n\treturn [...collectionKeys.detail, apiArgs] as const;\n}\n\nexport function collectionQueryOptions(params: CollectionQueryOptions) {\n\tconst enabled = Boolean(\n\t\tparams.collectionAddress &&\n\t\t\tparams.chainId &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getCollectionQueryKey(params),\n\t\tqueryFn: () =>\n\t\t\tfetchCollection({\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tchainId: params.chainId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tcollectionAddress: params.collectionAddress!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tconfig: params.config!,\n\t\t\t}),\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n","import type { GetTokenBalancesDetailsReturn } from '@0xsequence/indexer';\nimport { queryOptions } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport type { SdkConfig } from '../../../types';\nimport {\n\tbalanceQueries,\n\tgetIndexerClient,\n\ttype ValuesOptional,\n} from '../../_internal';\nimport type { StandardQueryOptions } from '../../types/query';\n\nexport interface CollectionBalanceFilter {\n\taccountAddresses: Array<Address>;\n\tcontractWhitelist?: Array<Address>;\n\tomitNativeBalances: boolean;\n}\n\nexport interface FetchCollectionBalanceDetailsParams {\n\tchainId: number;\n\tfilter: CollectionBalanceFilter;\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches detailed balance information for multiple accounts from the Indexer API\n */\nexport async function fetchCollectionBalanceDetails(\n\tparams: FetchCollectionBalanceDetailsParams,\n): Promise<GetTokenBalancesDetailsReturn> {\n\tconst { chainId, filter, config } = params;\n\n\tconst indexerClient = getIndexerClient(chainId, config);\n\n\tconst promises = filter.accountAddresses.map((accountAddress) =>\n\t\tindexerClient.getTokenBalancesDetails({\n\t\t\tfilter: {\n\t\t\t\taccountAddresses: [accountAddress],\n\t\t\t\tcontractWhitelist: filter.contractWhitelist,\n\t\t\t\tomitNativeBalances: filter.omitNativeBalances,\n\t\t\t},\n\t\t}),\n\t);\n\n\tconst responses = await Promise.all(promises);\n\tconst mergedResponse = responses.reduce<GetTokenBalancesDetailsReturn>(\n\t\t(acc, curr) => {\n\t\t\tif (!curr) return acc;\n\t\t\treturn {\n\t\t\t\tpage: curr.page,\n\t\t\t\tnativeBalances: [\n\t\t\t\t\t...(acc.nativeBalances || []),\n\t\t\t\t\t...(curr.nativeBalances || []),\n\t\t\t\t],\n\t\t\t\tbalances: [...(acc.balances || []), ...(curr.balances || [])],\n\t\t\t};\n\t\t},\n\t\t{ page: {}, nativeBalances: [], balances: [] },\n\t);\n\n\tif (!mergedResponse) {\n\t\tthrow new Error('Failed to fetch collection balance details');\n\t}\n\n\treturn mergedResponse;\n}\n\nexport type CollectionBalanceDetailsQueryOptions =\n\tValuesOptional<FetchCollectionBalanceDetailsParams> & {\n\t\tquery?: StandardQueryOptions;\n\t};\n\nexport function getCollectionBalanceDetailsQueryKey(\n\tparams: CollectionBalanceDetailsQueryOptions,\n) {\n\tconst apiArgs = {\n\t\tchainId: params.chainId!,\n\t\tfilter: params.filter!,\n\t};\n\n\treturn [...balanceQueries.collectionBalanceDetails, apiArgs] as const;\n}\n\nexport function collectionBalanceDetailsQueryOptions(\n\tparams: CollectionBalanceDetailsQueryOptions,\n) {\n\tconst enabled = Boolean(\n\t\tparams.chainId &&\n\t\t\tparams.filter?.accountAddresses?.length &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getCollectionBalanceDetailsQueryKey(params),\n\t\tqueryFn: () =>\n\t\t\tfetchCollectionBalanceDetails({\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tchainId: params.chainId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tfilter: params.filter!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tconfig: params.config!,\n\t\t\t}),\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n","import { queryOptions } from '@tanstack/react-query';\nimport type { SdkConfig } from '../../../types';\nimport {\n\tgetMarketplaceClient,\n\ttype QueryKeyArgs,\n\ttype ValuesOptional,\n} from '../../_internal';\nimport type { GetCollectionDetailArgs } from '../../_internal/api/marketplace.gen';\nimport { collectionKeys } from '../../_internal/api/query-keys';\nimport type { StandardQueryOptions } from '../../types/query';\n\nexport interface FetchCollectionDetailsParams\n\textends Omit<GetCollectionDetailArgs, 'chainId' | 'contractAddress'> {\n\tchainId: number;\n\tcollectionAddress: string;\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches collection details from the marketplace API\n */\nexport async function fetchCollectionDetails(\n\tparams: FetchCollectionDetailsParams,\n) {\n\tconst { collectionAddress, chainId, config, ...additionalApiParams } = params;\n\n\tconst marketplaceClient = getMarketplaceClient(config);\n\n\tconst apiArgs: GetCollectionDetailArgs = {\n\t\tcontractAddress: collectionAddress,\n\t\tchainId: String(chainId),\n\t\t...additionalApiParams,\n\t};\n\n\tconst result = await marketplaceClient.getCollectionDetail(apiArgs);\n\treturn result.collection;\n}\n\nexport type CollectionDetailsQueryOptions =\n\tValuesOptional<FetchCollectionDetailsParams> & {\n\t\tquery?: StandardQueryOptions;\n\t};\n\nexport function getCollectionDetailsQueryKey(\n\tparams: CollectionDetailsQueryOptions,\n) {\n\tconst apiArgs = {\n\t\tchainId: String(params.chainId),\n\t\tcontractAddress: params.collectionAddress,\n\t} satisfies QueryKeyArgs<GetCollectionDetailArgs>;\n\n\treturn [...collectionKeys.detail, apiArgs] as const;\n}\n\nexport function collectionDetailsQueryOptions(\n\tparams: CollectionDetailsQueryOptions,\n) {\n\tconst enabled = Boolean(\n\t\tparams.collectionAddress &&\n\t\t\tparams.chainId &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getCollectionDetailsQueryKey(params),\n\t\tqueryFn: () =>\n\t\t\tfetchCollectionDetails({\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tchainId: params.chainId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tcollectionAddress: params.collectionAddress!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tconfig: params.config!,\n\t\t\t}),\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n","import { queryOptions } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport type { Page, SdkConfig } from '../../../types';\nimport type {\n\tListCollectionActivitiesArgs,\n\tListCollectionActivitiesReturn,\n\tQueryKeyArgs,\n\tSortBy,\n\tValuesOptional,\n} from '../../_internal';\nimport { getMarketplaceClient } from '../../_internal';\nimport { collectionKeys } from '../../_internal/api';\nimport type { StandardQueryOptions } from '../../types/query';\n\nexport interface FetchListCollectionActivitiesParams\n\textends Omit<\n\t\tListCollectionActivitiesArgs,\n\t\t'chainId' | 'contractAddress' | 'page'\n\t> {\n\tchainId: number;\n\tcollectionAddress: Address;\n\tpage?: number;\n\tpageSize?: number;\n\tsort?: SortBy[];\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches collection activities from the Marketplace API\n */\nexport async function fetchListCollectionActivities(\n\tparams: FetchListCollectionActivitiesParams,\n): Promise<ListCollectionActivitiesReturn> {\n\tconst {\n\t\tcollectionAddress,\n\t\tchainId,\n\t\tconfig,\n\t\tpage,\n\t\tpageSize,\n\t\tsort,\n\t\t...additionalApiParams\n\t} = params;\n\tconst marketplaceClient = getMarketplaceClient(config);\n\n\tconst pageParams: Page | undefined =\n\t\tpage || pageSize || sort\n\t\t\t? {\n\t\t\t\t\tpage: page ?? 1,\n\t\t\t\t\tpageSize: pageSize ?? 10,\n\t\t\t\t\tsort,\n\t\t\t\t}\n\t\t\t: undefined;\n\n\tconst apiArgs: ListCollectionActivitiesArgs = {\n\t\tcontractAddress: collectionAddress,\n\t\tchainId: String(chainId),\n\t\tpage: pageParams,\n\t\t...additionalApiParams,\n\t};\n\n\treturn await marketplaceClient.listCollectionActivities(apiArgs);\n}\n\nexport type ListCollectionActivitiesQueryOptions =\n\tValuesOptional<FetchListCollectionActivitiesParams> & {\n\t\tquery?: StandardQueryOptions;\n\t};\n\nexport function getListCollectionActivitiesQueryKey(\n\tparams: ListCollectionActivitiesQueryOptions,\n) {\n\tconst page =\n\t\tparams.page || params.pageSize || params.sort\n\t\t\t? {\n\t\t\t\t\tpage: params.page ?? 1,\n\t\t\t\t\tpageSize: params.pageSize ?? 10,\n\t\t\t\t\tsort: params.sort,\n\t\t\t\t}\n\t\t\t: undefined;\n\n\tconst apiArgs = {\n\t\tchainId: String(params.chainId),\n\t\tcontractAddress: params.collectionAddress,\n\t\tpage: page,\n\t} satisfies QueryKeyArgs<ListCollectionActivitiesArgs>;\n\n\treturn [...collectionKeys.collectionActivities, apiArgs] as const;\n}\n\nexport function listCollectionActivitiesQueryOptions(\n\tparams: ListCollectionActivitiesQueryOptions,\n) {\n\tconst enabled = Boolean(\n\t\tparams.collectionAddress &&\n\t\t\tparams.chainId &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getListCollectionActivitiesQueryKey(params),\n\t\tqueryFn: () =>\n\t\t\tfetchListCollectionActivities({\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tchainId: params.chainId!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tcollectionAddress: params.collectionAddress!,\n\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\tconfig: params.config!,\n\t\t\t\tpage: params.page,\n\t\t\t\tpageSize: params.pageSize,\n\t\t\t\tsort: params.sort,\n\t\t\t}),\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n","import type { ContractInfo } from '@0xsequence/metadata';\nimport { queryOptions, skipToken } from '@tanstack/react-query';\nimport type { CardType, SdkConfig } from '../../../types';\nimport type {\n\tMarketCollection,\n\tMarketplaceConfig,\n\tShopCollection,\n} from '../../../types/new-marketplace-types';\nimport { compareAddress } from '../../../utils';\nimport {\n\tcollectionKeys,\n\tgetMetadataClient,\n\ttype ValuesOptional,\n} from '../../_internal';\nimport type { StandardQueryOptions } from '../../types/query';\n\nconst allCollections = (marketplaceConfig: MarketplaceConfig) => {\n\treturn [\n\t\t...marketplaceConfig.market.collections,\n\t\t...marketplaceConfig.shop.collections,\n\t];\n};\n\nexport interface FetchListCollectionsParams {\n\tcardType?: CardType;\n\tmarketplaceConfig: MarketplaceConfig;\n\tconfig: SdkConfig;\n}\n\n/**\n * Fetches collections from the metadata API with marketplace config filtering\n */\nexport async function fetchListCollections(params: FetchListCollectionsParams) {\n\tconst { cardType, marketplaceConfig, config } = params;\n\tconst metadataClient = getMetadataClient(config);\n\n\tlet collections = allCollections(marketplaceConfig);\n\n\tif (!collections?.length) {\n\t\treturn [];\n\t}\n\n\tif (cardType) {\n\t\tcollections = collections.filter(\n\t\t\t(collection) => collection.cardType === cardType,\n\t\t);\n\t}\n\n\t// Group collections by chainId\n\tconst collectionsByChain = collections.reduce<Record<string, string[]>>(\n\t\t(acc, curr) => {\n\t\t\tconst { chainId, itemsAddress } = curr;\n\t\t\tif (!acc[chainId]) {\n\t\t\t\tacc[chainId] = [];\n\t\t\t}\n\t\t\tacc[chainId].push(itemsAddress);\n\t\t\treturn acc;\n\t\t},\n\t\t{},\n\t);\n\n\t// Fetch collections for each chain\n\tconst promises = Object.entries(collectionsByChain).map(\n\t\t([chainId, addresses]) =>\n\t\t\tmetadataClient\n\t\t\t\t.getContractInfoBatch({\n\t\t\t\t\tchainID: chainId,\n\t\t\t\t\tcontractAddresses: addresses,\n\t\t\t\t})\n\t\t\t\t.then((resp) => Object.values(resp.contractInfoMap)),\n\t);\n\n\tconst settled = await Promise.allSettled(promises);\n\n\t// If all promises failed, throw the first error\n\tif (settled.every((result) => result.status === 'rejected')) {\n\t\tconst firstError = settled[0] as PromiseRejectedResult;\n\t\tthrow firstError.reason;\n\t}\n\n\tconst results = settled\n\t\t.filter(\n\t\t\t(r): r is PromiseFulfilledResult<ContractInfo[]> =>\n\t\t\t\tr.status === 'fulfilled',\n\t\t)\n\t\t.flatMap((r) => r.value);\n\n\tconst collectionsWithMetadata = collections\n\t\t.map((collection) => {\n\t\t\tconst metadata = results.find((result) =>\n\t\t\t\tcompareAddress(result.address, collection.itemsAddress),\n\t\t\t);\n\t\t\treturn { collection, metadata };\n\t\t})\n\t\t.filter(\n\t\t\t(\n\t\t\t\titem,\n\t\t\t): item is {\n\t\t\t\tcollection: MarketCollection | ShopCollection;\n\t\t\t\tmetadata: ContractInfo;\n\t\t\t} => item.metadata !== undefined,\n\t\t)\n\t\t.map(({ collection, metadata }) => ({\n\t\t\t...collection,\n\t\t\t...metadata,\n\t\t}));\n\n\treturn collectionsWithMetadata;\n}\n\nexport type ListCollectionsQueryOptions =\n\tValuesOptional<FetchListCollectionsParams> & {\n\t\tquery?: StandardQueryOptions;\n\t};\n\nexport function getListCollectionsQueryKey(\n\tparams: ListCollectionsQueryOptions,\n) {\n\tconst queryKeyParams = {\n\t\tcardType: params.cardType,\n\t\tmarketplaceConfig: params.marketplaceConfig,\n\t} as const;\n\n\treturn [...collectionKeys.list, queryKeyParams] as const;\n}\n\nexport function listCollectionsQueryOptions(\n\tparams: ListCollectionsQueryOptions,\n) {\n\tconst enabled = Boolean(\n\t\tparams.marketplaceConfig &&\n\t\t\tparams.config &&\n\t\t\t(params.query?.enabled ?? true),\n\t);\n\n\treturn queryOptions({\n\t\tqueryKey: getListCollectionsQueryKey(params),\n\t\tqueryFn: enabled\n\t\t\t? () =>\n\t\t\t\t\tfetchListCollections({\n\t\t\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\t\t\tmarketplaceConfig: params.marketplaceConfig!,\n\t\t\t\t\t\t// biome-ignore lint/style/noNonNullAssertion: The enabled check above ensures these are not undefined\n\t\t\t\t\t\tconfig: params.config!,\n\t\t\t\t\t\tcardType: params.cardType,\n\t\t\t\t\t})\n\t\t\t: skipToken,\n\t\t...params.query,\n\t\tenabled,\n\t});\n}\n\n// Keep old function for backward compatibility during migration\nexport const listCollectionsOptions = ({\n\tcardType,\n\tmarketplaceConfig,\n\tconfig,\n}: {\n\tcardType?: CardType;\n\tmarketplaceConfig: MarketplaceConfig | undefined;\n\tconfig: SdkConfig;\n}) => {\n\treturn queryOptions({\n\t\tqueryKey: [...collectionKeys.list, { cardType, marketplaceConfig, config }],\n\t\tqueryFn: marketplaceConfig\n\t\t\t? () =>\n\t\t\t\t\tfetchListCollections({\n\t\t\t\t\t\tmarketplaceConfig,\n\t\t\t\t\t\tconfig,\n\t\t\t\t\t\tcardType,\n\t\t\t\t\t})\n\t\t\t: skipToken,\n\t\tenabled: Boolean(marketplaceConfig),\n\t});\n};\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"components-CosnX7F9.js","names":["SvgBellIcon"],"sources":["../src/react/ui/components/marketplace-collectible-card/components/footer/components/FooterName.tsx","../src/react/ui/components/marketplace-collectible-card/components/footer/components/PriceDisplay.tsx","../src/react/ui/components/marketplace-collectible-card/components/footer/components/SaleDetailsPill.tsx","../src/react/ui/components/marketplace-collectible-card/components/footer/components/TokenTypeBalancePill.tsx"],"sourcesContent":["'use client';\n\nimport { cn, IconButton, Text } from '@0xsequence/design-system';\nimport { useAccount } from 'wagmi';\nimport { compareAddress } from '../../../../../../../utils/address';\nimport type { Order } from '../../../../../../_internal';\nimport SvgBellIcon from '../../../../../icons/BellIcon';\n\ninterface FooterNameProps {\n\tname: string;\n\tisShop?: boolean;\n\thighestOffer?: Order;\n\tonOfferClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n\tquantityInitial?: string;\n\tquantityRemaining?: string;\n\tbalance?: string;\n}\n\nexport const FooterName = ({\n\tname,\n\tisShop,\n\thighestOffer,\n\tonOfferClick,\n\tquantityInitial,\n\tquantityRemaining,\n\tbalance,\n}: FooterNameProps) => {\n\tconst { address: currentUserAddress } = useAccount();\n\tconst displayName = (() => {\n\t\tif (name.length > 15 && highestOffer && !isShop) {\n\t\t\treturn `${name.substring(0, 13)}...`;\n\t\t}\n\t\tif (name.length > 17 && !highestOffer && !isShop) {\n\t\t\treturn `${name.substring(0, 17)}...`;\n\t\t}\n\t\tif (name.length > 17) {\n\t\t\treturn `${name.substring(0, 17)}...`;\n\t\t}\n\t\treturn name;\n\t})();\n\n\treturn (\n\t\t<div className=\"relative flex w-full items-center justify-between\">\n\t\t\t<Text\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'overflow-hidden text-ellipsis text-left font-body font-bold text-sm text-text-100',\n\t\t\t\t\tisShop &&\n\t\t\t\t\t\t(quantityInitial === undefined ||\n\t\t\t\t\t\t\tquantityRemaining === undefined) &&\n\t\t\t\t\t\t'text-text-50',\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{displayName || 'Untitled'}\n\t\t\t</Text>\n\n\t\t\t{highestOffer &&\n\t\t\t\tonOfferClick &&\n\t\t\t\t!isShop &&\n\t\t\t\t(() => {\n\t\t\t\t\t// Check if the current user made the offer\n\t\t\t\t\tconst isOfferMadeBySelf =\n\t\t\t\t\t\tcurrentUserAddress &&\n\t\t\t\t\t\thighestOffer.createdBy &&\n\t\t\t\t\t\tcompareAddress(highestOffer.createdBy, currentUserAddress);\n\n\t\t\t\t\t// Check if user owns the token (has balance > 0)\n\t\t\t\t\tconst userOwnsToken = balance && Number(balance) > 0;\n\n\t\t\t\t\t// Can accept offer: didn't make the offer AND owns the token\n\t\t\t\t\tconst canAcceptOffer = !isOfferMadeBySelf && userOwnsToken;\n\n\t\t\t\t\t// Should show disabled styling: can't accept offer\n\t\t\t\t\tconst shouldDisable = !canAcceptOffer;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tclassName={`absolute top-0 right-0 z-10 h-[22px] w-[22px] ${shouldDisable ? 'opacity-50 hover:animate-none hover:opacity-50' : 'hover:animate-bell-ring'}`}\n\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\tif (!canAcceptOffer) {\n\t\t\t\t\t\t\t\t\t// For cases where user can't accept offer (offer maker or non-owner), allow normal wrapper behavior\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Only stop propagation and open offer modal if user can accept the offer\n\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\tonOfferClick?.(e);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonMouseEnter={(e) => {\n\t\t\t\t\t\t\t\tif (canAcceptOffer) {\n\t\t\t\t\t\t\t\t\t// Only prevent parent hover effects when user can accept offer\n\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ticon={(props) => <SvgBellIcon {...props} size=\"xs\" />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})()}\n\t\t</div>\n\t);\n};\n","'use client';\n\nimport {\n\tChevronLeftIcon,\n\tChevronRightIcon,\n\tcn,\n\tImage,\n\tText,\n} from '@0xsequence/design-system';\nimport type { Currency } from '../../../../../../_internal';\nimport { formatPriceNumber } from '../../../utils';\n\ninterface PriceDisplayProps {\n\tamount: string;\n\tcurrency: Currency;\n\tshowCurrencyIcon?: boolean;\n\tclassName?: string;\n}\n\nexport const formatPrice = (\n\tamount: string,\n\tcurrency: Currency,\n): React.ReactNode => {\n\tconst { formattedNumber, isUnderflow, isOverflow } = formatPriceNumber(\n\t\tamount,\n\t\tcurrency.decimals,\n\t);\n\tconst isFree = amount === '0';\n\n\tif (isFree) {\n\t\treturn <Text className=\"font-bold text-sm text-text-100\">Free</Text>;\n\t}\n\n\tif (isUnderflow) {\n\t\treturn (\n\t\t\t<div className=\"flex items-center\">\n\t\t\t\t<ChevronLeftIcon className=\"h-3 w-3 text-text-100\" />\n\t\t\t\t<Text className=\"font-bold text-sm text-text-100\">{`${formattedNumber} ${currency.symbol}`}</Text>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (isOverflow) {\n\t\treturn (\n\t\t\t<div className=\"flex items-center\">\n\t\t\t\t<ChevronRightIcon className=\"h-3 w-3 text-text-100\" />\n\t\t\t\t<Text className=\"font-bold text-sm text-text-100\">{`${formattedNumber} ${currency.symbol}`}</Text>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Text className=\"font-bold text-sm text-text-100\">\n\t\t\t{formattedNumber} {currency.symbol}\n\t\t</Text>\n\t);\n};\n\nexport const PriceDisplay = ({\n\tamount,\n\tcurrency,\n\tshowCurrencyIcon = true,\n\tclassName,\n}: PriceDisplayProps) => {\n\treturn (\n\t\t<div className={cn('flex items-center gap-1', className)}>\n\t\t\t{showCurrencyIcon && currency.imageUrl && (\n\t\t\t\t<Image\n\t\t\t\t\talt={currency.symbol}\n\t\t\t\t\tclassName=\"h-3 w-3\"\n\t\t\t\t\tsrc={currency.imageUrl}\n\t\t\t\t\tonError={(e) => {\n\t\t\t\t\t\te.currentTarget.style.display = 'none';\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{formatPrice(amount, currency)}\n\t\t</div>\n\t);\n};\n","'use client';\n\nimport { Text } from '@0xsequence/design-system';\nimport type { ContractType } from '../../../../../../_internal';\nimport { getSupplyStatusText } from '../../../utils';\n\ninterface SaleDetailsPillProps {\n\tquantityRemaining: string | undefined;\n\tcollectionType: ContractType;\n\tunlimitedSupply?: boolean;\n}\n\nexport const SaleDetailsPill = ({\n\tquantityRemaining,\n\tcollectionType,\n\tunlimitedSupply,\n}: SaleDetailsPillProps) => {\n\tconst supplyText = getSupplyStatusText({\n\t\tquantityRemaining,\n\t\tcollectionType,\n\t\tunlimitedSupply,\n\t});\n\n\treturn (\n\t\t<Text className=\"rounded-lg bg-background-secondary px-2 py-1 text-left font-medium text-text-80 text-xs\">\n\t\t\t{supplyText}\n\t\t</Text>\n\t);\n};\n","'use client';\n\nimport { Text } from '@0xsequence/design-system';\nimport { formatUnits } from 'viem';\nimport { ContractType } from '../../../../../../_internal';\n\ninterface TokenTypeBalancePillProps {\n\tbalance?: string;\n\ttype: ContractType;\n\tdecimals?: number;\n}\n\nexport const TokenTypeBalancePill = ({\n\tbalance,\n\ttype,\n\tdecimals,\n}: TokenTypeBalancePillProps) => {\n\tconst displayText =\n\t\ttype === ContractType.ERC1155\n\t\t\t? balance\n\t\t\t\t? `Owned: ${formatUnits(BigInt(balance), decimals ?? 0)}`\n\t\t\t\t: 'ERC-1155'\n\t\t\t: 'ERC-721';\n\n\treturn (\n\t\t<Text className=\"rounded-lg bg-background-secondary px-2 py-1 text-left font-medium text-text-80 text-xs\">\n\t\t\t{displayText}\n\t\t</Text>\n\t);\n};\n"],"mappings":";;;;;;;;;;AAkBA,MAAa,cAAc,EAC1B,MACA,QACA,cACA,cACA,iBACA,mBACA,cACsB;CACtB,MAAM,EAAE,SAAS,uBAAuB,YAAY;CACpD,MAAM,qBAAqB;AAC1B,MAAI,KAAK,SAAS,MAAM,gBAAgB,CAAC,OACxC,QAAO,GAAG,KAAK,UAAU,GAAG,GAAG,CAAC;AAEjC,MAAI,KAAK,SAAS,MAAM,CAAC,gBAAgB,CAAC,OACzC,QAAO,GAAG,KAAK,UAAU,GAAG,GAAG,CAAC;AAEjC,MAAI,KAAK,SAAS,GACjB,QAAO,GAAG,KAAK,UAAU,GAAG,GAAG,CAAC;AAEjC,SAAO;KACJ;AAEJ,QACC,qBAAC;EAAI,WAAU;aACd,oBAAC;GACA,WAAW,GACV,qFACA,WACE,oBAAoB,UACpB,sBAAsB,WACvB,eACD;aAEA,eAAe;IACV,EAEN,gBACA,gBACA,CAAC,iBACM;GAWN,MAAM,iBAAiB,EARtB,sBACA,aAAa,aACb,eAAe,aAAa,WAAW,mBAAmB,KAGrC,WAAW,OAAO,QAAQ,GAAG;AAQnD,UACC,oBAAC;IACA,WAAW,iDAJS,CAAC,iBAIuD,mDAAmD;IAC/H,MAAK;IACL,SAAQ;IACR,UAAU,MAAM;AACf,SAAI,CAAC,eAEJ;AAID,OAAE,iBAAiB;AACnB,OAAE,gBAAgB;AAClB,oBAAe,EAAE;;IAElB,eAAe,MAAM;AACpB,SAAI,eAEH,GAAE,iBAAiB;;IAGrB,OAAO,UAAU,oBAACA;KAAY,GAAI;KAAO,MAAK;MAAO;KACpD;MAEA;GACA;;;;;ACjFR,MAAa,eACZ,QACA,aACqB;CACrB,MAAM,EAAE,iBAAiB,aAAa,eAAe,kBACpD,QACA,SAAS,SACT;AAGD,KAFe,WAAW,IAGzB,QAAO,oBAAC;EAAK,WAAU;YAAkC;GAAW;AAGrE,KAAI,YACH,QACC,qBAAC;EAAI,WAAU;aACd,oBAAC,mBAAgB,WAAU,0BAA0B,EACrD,oBAAC;GAAK,WAAU;aAAmC,GAAG,gBAAgB,GAAG,SAAS;IAAgB;GAC7F;AAIR,KAAI,WACH,QACC,qBAAC;EAAI,WAAU;aACd,oBAAC,oBAAiB,WAAU,0BAA0B,EACtD,oBAAC;GAAK,WAAU;aAAmC,GAAG,gBAAgB,GAAG,SAAS;IAAgB;GAC7F;AAIR,QACC,qBAAC;EAAK,WAAU;;GACd;GAAgB;GAAE,SAAS;;GACtB;;AAIT,MAAa,gBAAgB,EAC5B,QACA,UACA,mBAAmB,MACnB,gBACwB;AACxB,QACC,qBAAC;EAAI,WAAW,GAAG,2BAA2B,UAAU;aACtD,oBAAoB,SAAS,YAC7B,oBAAC;GACA,KAAK,SAAS;GACd,WAAU;GACV,KAAK,SAAS;GACd,UAAU,MAAM;AACf,MAAE,cAAc,MAAM,UAAU;;IAEhC,EAEF,YAAY,QAAQ,SAAS;GACzB;;;;;ACjER,MAAa,mBAAmB,EAC/B,mBACA,gBACA,sBAC2B;CAC3B,MAAM,aAAa,oBAAoB;EACtC;EACA;EACA;EACA,CAAC;AAEF,QACC,oBAAC;EAAK,WAAU;YACd;GACK;;;;;ACdT,MAAa,wBAAwB,EACpC,SACA,MACA,eACgC;CAChC,MAAM,cACL,SAAS,aAAa,UACnB,UACC,UAAU,YAAY,OAAO,QAAQ,EAAE,YAAY,EAAE,KACrD,aACD;AAEJ,QACC,oBAAC;EAAK,WAAU;YACd;GACK"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"contracts-BP_0vX48.js","names":[],"sources":["../src/react/hooks/contracts/useSalesContractABI.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { Address } from 'viem';\nimport { useReadContract } from 'wagmi';\nimport {\n\tERC721_SALE_ABI_V0,\n\tERC721_SALE_ABI_V1,\n\tERC1155_SALES_CONTRACT_ABI_V0,\n\tERC1155_SALES_CONTRACT_ABI_V1,\n} from '../../../utils/abi';\nimport { ContractType } from '../../_internal';\n\nexport enum SalesContractVersion {\n\tV0 = 'v0',\n\tV1 = 'v1',\n}\n\ninterface UseSalesContractABIProps {\n\tcontractAddress: Address;\n\tcontractType: ContractType.ERC721 | ContractType.ERC1155;\n\tchainId: number;\n\tenabled?: boolean;\n}\n\ntype UseSalesContractABIResult =\n\t| {\n\t\t\tversion: null;\n\t\t\tabi: null;\n\t\t\tcontractType: null;\n\t\t\tisLoading: true;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: SalesContractVersion.V0;\n\t\t\tabi: typeof ERC721_SALE_ABI_V0;\n\t\t\tcontractType: ContractType.ERC721;\n\t\t\tisLoading: false;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: SalesContractVersion.V0;\n\t\t\tabi: typeof ERC1155_SALES_CONTRACT_ABI_V0;\n\t\t\tcontractType: ContractType.ERC1155;\n\t\t\tisLoading: false;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: SalesContractVersion.V1;\n\t\t\tabi: typeof ERC721_SALE_ABI_V1;\n\t\t\tcontractType: ContractType.ERC721;\n\t\t\tisLoading: false;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: SalesContractVersion.V1;\n\t\t\tabi: typeof ERC1155_SALES_CONTRACT_ABI_V1;\n\t\t\tcontractType: ContractType.ERC1155;\n\t\t\tisLoading: false;\n\t\t\terror: null;\n\t }\n\t| {\n\t\t\tversion: null;\n\t\t\tabi: null;\n\t\t\tcontractType: null;\n\t\t\tisLoading: false;\n\t\t\terror: Error;\n\t };\n\nexport function useSalesContractABI({\n\tcontractAddress,\n\tcontractType,\n\tchainId,\n\tenabled = true,\n}: UseSalesContractABIProps): UseSalesContractABIResult {\n\tconst functionName =\n\t\tcontractType === ContractType.ERC721 ? 'saleDetails' : 'tokenSaleDetails';\n\n\tconst {\n\t\tdata: v1Data,\n\t\tisLoading: v1Loading,\n\t\terror: v1Error,\n\t} = useReadContract({\n\t\taddress: contractAddress,\n\t\tabi:\n\t\t\tcontractType === ContractType.ERC721\n\t\t\t\t? ERC721_SALE_ABI_V1\n\t\t\t\t: ERC1155_SALES_CONTRACT_ABI_V1,\n\t\tfunctionName,\n\t\targs: contractType === ContractType.ERC1155 ? [0n] : undefined,\n\t\tchainId,\n\t\tquery: {\n\t\t\tenabled,\n\t\t\tretry: false,\n\t\t},\n\t});\n\n\t// If V1 fails, try with V0 ABI, see enabled query\n\tconst {\n\t\tdata: v0Data,\n\t\tisLoading: v0Loading,\n\t\terror: v0Error,\n\t} = useReadContract({\n\t\taddress: contractAddress,\n\t\tabi:\n\t\t\tcontractType === ContractType.ERC721\n\t\t\t\t? ERC721_SALE_ABI_V0\n\t\t\t\t: ERC1155_SALES_CONTRACT_ABI_V0,\n\t\tfunctionName,\n\t\targs: contractType === ContractType.ERC1155 ? [0n] : undefined,\n\t\tchainId,\n\t\tquery: {\n\t\t\tenabled: enabled && !!v1Error && !v1Loading, // Only try V0 if V1 failed\n\t\t\tretry: false,\n\t\t},\n\t});\n\n\treturn useMemo(() => {\n\t\tif (v1Loading || (v1Error && v0Loading)) {\n\t\t\treturn {\n\t\t\t\tversion: null,\n\t\t\t\tabi: null,\n\t\t\t\tcontractType: null,\n\t\t\t\tisLoading: true,\n\t\t\t\terror: null,\n\t\t\t};\n\t\t}\n\n\t\tif (v1Data && !v1Error) {\n\t\t\tif (contractType === ContractType.ERC721) {\n\t\t\t\treturn {\n\t\t\t\t\tversion: SalesContractVersion.V1,\n\t\t\t\t\tabi: ERC721_SALE_ABI_V1,\n\t\t\t\t\tcontractType: ContractType.ERC721,\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\terror: null,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tversion: SalesContractVersion.V1,\n\t\t\t\tabi: ERC1155_SALES_CONTRACT_ABI_V1,\n\t\t\t\tcontractType: ContractType.ERC1155,\n\t\t\t\tisLoading: false,\n\t\t\t\terror: null,\n\t\t\t};\n\t\t}\n\n\t\tif (v0Data && !v0Error) {\n\t\t\tif (contractType === ContractType.ERC721) {\n\t\t\t\treturn {\n\t\t\t\t\tversion: SalesContractVersion.V0,\n\t\t\t\t\tabi: ERC721_SALE_ABI_V0,\n\t\t\t\t\tcontractType: ContractType.ERC721,\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\terror: null,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tversion: SalesContractVersion.V0,\n\t\t\t\tabi: ERC1155_SALES_CONTRACT_ABI_V0,\n\t\t\t\tcontractType: ContractType.ERC1155,\n\t\t\t\tisLoading: false,\n\t\t\t\terror: null,\n\t\t\t};\n\t\t}\n\n\t\tconst error = v0Error || v1Error;\n\t\treturn {\n\t\t\tversion: null,\n\t\t\tabi: null,\n\t\t\tcontractType: null,\n\t\t\tisLoading: false,\n\t\t\terror: error as Error,\n\t\t};\n\t}, [v1Data, v1Error, v1Loading, v0Data, v0Error, v0Loading, contractType]);\n}\n"],"mappings":";;;;;;AAWA,IAAY,wEAAL;AACN;AACA;;;AAsDD,SAAgB,oBAAoB,EACnC,iBACA,cACA,SACA,UAAU,QAC6C;CACvD,MAAM,eACL,iBAAiB,aAAa,SAAS,gBAAgB;CAExD,MAAM,EACL,MAAM,QACN,WAAW,WACX,OAAO,YACJ,gBAAgB;EACnB,SAAS;EACT,KACC,iBAAiB,aAAa,SAC3B,qBACA;EACJ;EACA,MAAM,iBAAiB,aAAa,UAAU,CAAC,GAAG,GAAG;EACrD;EACA,OAAO;GACN;GACA,OAAO;GACP;EACD,CAAC;CAGF,MAAM,EACL,MAAM,QACN,WAAW,WACX,OAAO,YACJ,gBAAgB;EACnB,SAAS;EACT,KACC,iBAAiB,aAAa,SAC3B,qBACA;EACJ;EACA,MAAM,iBAAiB,aAAa,UAAU,CAAC,GAAG,GAAG;EACrD;EACA,OAAO;GACN,SAAS,WAAW,CAAC,CAAC,WAAW,CAAC;GAClC,OAAO;GACP;EACD,CAAC;AAEF,QAAO,cAAc;AACpB,MAAI,aAAc,WAAW,UAC5B,QAAO;GACN,SAAS;GACT,KAAK;GACL,cAAc;GACd,WAAW;GACX,OAAO;GACP;AAGF,MAAI,UAAU,CAAC,SAAS;AACvB,OAAI,iBAAiB,aAAa,OACjC,QAAO;IACN,SAAS,qBAAqB;IAC9B,KAAK;IACL,cAAc,aAAa;IAC3B,WAAW;IACX,OAAO;IACP;AAEF,UAAO;IACN,SAAS,qBAAqB;IAC9B,KAAK;IACL,cAAc,aAAa;IAC3B,WAAW;IACX,OAAO;IACP;;AAGF,MAAI,UAAU,CAAC,SAAS;AACvB,OAAI,iBAAiB,aAAa,OACjC,QAAO;IACN,SAAS,qBAAqB;IAC9B,KAAK;IACL,cAAc,aAAa;IAC3B,WAAW;IACX,OAAO;IACP;AAEF,UAAO;IACN,SAAS,qBAAqB;IAC9B,KAAK;IACL,cAAc,aAAa;IAC3B,WAAW;IACX,OAAO;IACP;;AAIF,SAAO;GACN,SAAS;GACT,KAAK;GACL,cAAc;GACd,WAAW;GACX,OANa,WAAW;GAOxB;IACC;EAAC;EAAQ;EAAS;EAAW;EAAQ;EAAS;EAAW;EAAa,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-config-CIfejoCk.js","names":["wallets: Wallet[]","rpcUrl: string"],"sources":["../src/react/_internal/consts.ts","../src/react/_internal/wagmi/get-connectors.ts","../src/react/_internal/wagmi/create-config.ts"],"sourcesContent":["export const DEFAULT_NETWORK = 137;\n","import {\n\tapple,\n\tappleWaas,\n\tcoinbaseWallet,\n\tecosystemWallet,\n\temail,\n\temailWaas,\n\tfacebook,\n\tgetConnectWallets,\n\tgoogle,\n\tgoogleWaas,\n\ttype SequenceOptions,\n\tsequence,\n\ttwitch,\n\ttype Wallet,\n\twalletConnect,\n} from '@0xsequence/connect';\nimport React, { type FunctionComponent } from 'react';\nimport type { CreateConnectorFn } from 'wagmi';\nimport type { Env, SdkConfig } from '../../../types/index';\nimport type { MarketplaceConfig } from '../../../types/new-marketplace-types';\nimport { MissingConfigError } from '../../../utils/_internal/error/transaction';\nimport { MarketplaceWalletType } from '../api/builder.gen';\nimport { DEFAULT_NETWORK } from '../consts';\n\nexport function getConnectors({\n\tmarketplaceConfig,\n\tsdkConfig,\n\twalletType,\n}: {\n\tmarketplaceConfig: MarketplaceConfig;\n\tsdkConfig: SdkConfig;\n\twalletType: MarketplaceWalletType;\n}): CreateConnectorFn[] {\n\tconst connectors = commonConnectors(marketplaceConfig, sdkConfig);\n\n\tif (walletType === MarketplaceWalletType.UNIVERSAL) {\n\t\tconnectors.push(...getUniversalWalletConfigs(sdkConfig, marketplaceConfig));\n\t} else if (walletType === MarketplaceWalletType.EMBEDDED) {\n\t\tconnectors.push(...getWaasConnectors(sdkConfig, marketplaceConfig));\n\t} else if (walletType === MarketplaceWalletType.ECOSYSTEM) {\n\t\tconnectors.push(getEcosystemConnector(marketplaceConfig, sdkConfig));\n\t} else {\n\t\tthrow new Error('Invalid wallet type');\n\t}\n\n\treturn getConnectWallets(sdkConfig.projectAccessKey, connectors);\n}\n\nfunction commonConnectors(\n\tmarketplaceConfig: MarketplaceConfig,\n\tsdkConfig: SdkConfig,\n) {\n\tconst wallets = [];\n\tconst { title: appName } = marketplaceConfig.settings;\n\tconst walletOptions = marketplaceConfig.settings.walletOptions;\n\tconst walletConnectProjectId = sdkConfig.walletConnectProjectId;\n\n\tif (walletOptions.connectors.includes('coinbase')) {\n\t\twallets.push(\n\t\t\tcoinbaseWallet({\n\t\t\t\tappName,\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (\n\t\twalletConnectProjectId &&\n\t\twalletOptions.connectors.includes('walletconnect')\n\t) {\n\t\twallets.push(\n\t\t\twalletConnect({\n\t\t\t\tprojectId: walletConnectProjectId,\n\t\t\t}),\n\t\t);\n\t}\n\n\treturn wallets;\n}\n\nfunction getUniversalWalletConfigs(\n\tconfig: SdkConfig,\n\tmarketplaceConfig: MarketplaceConfig,\n): Wallet[] {\n\tconst sequenceWalletOverrides =\n\t\tconfig._internal?.overrides?.api?.sequenceWallet;\n\tconst sequenceWalletUrl =\n\t\tsequenceWalletOverrides?.url ||\n\t\tgetSequenceWalletURL(sequenceWalletOverrides?.env || 'production');\n\tconst projectAccessKey =\n\t\tsequenceWalletOverrides?.accessKey || config.projectAccessKey;\n\n\tconst sequenceWalletOptions = {\n\t\twalletAppURL: sequenceWalletUrl,\n\t\tdefaultNetwork: DEFAULT_NETWORK,\n\t\tconnect: {\n\t\t\tprojectAccessKey,\n\t\t\tapp: marketplaceConfig.settings.title,\n\t\t\tsettings: {\n\t\t\t\t// TODO: make a separate config for this?\n\t\t\t\tbannerUrl: marketplaceConfig.market.ogImage,\n\t\t\t},\n\t\t},\n\t} satisfies SequenceOptions;\n\n\treturn [\n\t\tsequence(sequenceWalletOptions),\n\t\temail(sequenceWalletOptions),\n\t\tfacebook(sequenceWalletOptions),\n\t\tgoogle(sequenceWalletOptions),\n\t\tapple(sequenceWalletOptions),\n\t\ttwitch(sequenceWalletOptions),\n\t] as const;\n}\n\nexport function getWaasConnectors(\n\tconfig: SdkConfig,\n\tmarketplaceConfig: MarketplaceConfig,\n): Wallet[] {\n\tconst { projectAccessKey } = config;\n\n\tconst waasConfigKey =\n\t\tmarketplaceConfig.settings.walletOptions.embedded?.tenantKey;\n\n\tif (!waasConfigKey)\n\t\tthrow new MissingConfigError(\n\t\t\t'Embedded wallet config is missing, please check your access key',\n\t\t);\n\n\tconst waasOptions = marketplaceConfig.settings.walletOptions.oidcIssuers;\n\tconst googleClientId = waasOptions.google;\n\tconst appleClientId = waasOptions.apple;\n\tconst appleRedirectURI =\n\t\ttypeof window !== 'undefined'\n\t\t\t? `${window.location.origin}${window.location.pathname}`\n\t\t\t: undefined;\n\n\tconst wallets: Wallet[] = [];\n\n\tif (marketplaceConfig.settings.walletOptions.embedded?.emailEnabled) {\n\t\twallets.push(\n\t\t\temailWaas({\n\t\t\t\tprojectAccessKey,\n\t\t\t\twaasConfigKey,\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (googleClientId) {\n\t\twallets.push(\n\t\t\tgoogleWaas({\n\t\t\t\tprojectAccessKey,\n\t\t\t\tgoogleClientId,\n\t\t\t\twaasConfigKey,\n\t\t\t\tnetwork: DEFAULT_NETWORK,\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (appleClientId) {\n\t\twallets.push(\n\t\t\tappleWaas({\n\t\t\t\tprojectAccessKey,\n\t\t\t\tappleClientId,\n\t\t\t\tappleRedirectURI,\n\t\t\t\twaasConfigKey,\n\t\t\t\tnetwork: DEFAULT_NETWORK,\n\t\t\t}),\n\t\t);\n\t}\n\n\treturn wallets;\n}\n\nexport function getEcosystemConnector(\n\tmarketplaceConfig: MarketplaceConfig,\n\tsdkConfig: SdkConfig,\n): Wallet {\n\tconst ecosystemOptions = marketplaceConfig.settings.walletOptions.ecosystem;\n\tif (!ecosystemOptions) throw new MissingConfigError('ecosystem');\n\tconst { walletAppName, walletUrl, logoDarkUrl, logoLightUrl } =\n\t\tecosystemOptions;\n\n\treturn ecosystemWallet({\n\t\tprojectAccessKey: sdkConfig.projectAccessKey,\n\t\twalletUrl,\n\t\tname: walletAppName,\n\t\tdefaultNetwork: DEFAULT_NETWORK,\n\t\tlogoDark: getEcosystemLogo(logoDarkUrl, walletAppName),\n\t\tlogoLight: getEcosystemLogo(logoLightUrl, walletAppName),\n\t});\n}\n\nfunction getEcosystemLogo(\n\turl: string | undefined,\n\tname: string,\n): FunctionComponent {\n\tif (!url) return () => null;\n\tconst Logo = () =>\n\t\tReact.createElement('img', { src: url, alt: name, width: 32, height: 32 });\n\tLogo.displayName = 'EcosystemLogo';\n\treturn Logo;\n}\n\nfunction getSequenceWalletURL(env: Env) {\n\tswitch (env) {\n\t\tcase 'development':\n\t\t\treturn 'https://dev.sequence.app';\n\t\tcase 'next':\n\t\t\treturn 'https://next.sequence.app';\n\t\t// biome-ignore lint/complexity/noUselessSwitchCase: Production case kept for readability alongside other environments\n\t\tcase 'production':\n\t\tdefault:\n\t\t\treturn 'https://sequence.app';\n\t}\n}\n","import { allNetworks, findNetworkConfig } from '@0xsequence/network';\nimport type { Chain, Transport } from 'viem';\nimport { cookieStorage, createConfig, createStorage, http } from 'wagmi';\nimport type { Env, SdkConfig } from '../../../types/index';\nimport type { MarketplaceConfig } from '../../../types/new-marketplace-types';\nimport { networkToWagmiChain } from '../../../utils/networkconfigToWagmiChain';\nimport { getConnectors } from './get-connectors';\n\nexport const createWagmiConfig = (\n\tmarketplaceConfig: MarketplaceConfig,\n\tsdkConfig: SdkConfig,\n\tssr?: boolean,\n) => {\n\tconst { chains, transports } = getWagmiChainsAndTransports({\n\t\tmarketplaceConfig,\n\t\tsdkConfig,\n\t});\n\n\tconst walletType = marketplaceConfig.settings.walletOptions.walletType;\n\n\tconst connectors = getConnectors({\n\t\tmarketplaceConfig,\n\t\tsdkConfig,\n\t\twalletType,\n\t});\n\n\tconst multiInjectedProviderDiscovery =\n\t\tmarketplaceConfig.settings.walletOptions.includeEIP6963Wallets;\n\n\treturn createConfig({\n\t\tconnectors,\n\t\tchains,\n\t\tssr,\n\t\tmultiInjectedProviderDiscovery,\n\t\tstorage: ssr\n\t\t\t? createStorage({\n\t\t\t\t\tstorage: cookieStorage,\n\t\t\t\t})\n\t\t\t: undefined,\n\t\ttransports,\n\t});\n};\n\nexport function getWagmiChainsAndTransports({\n\tmarketplaceConfig,\n\tsdkConfig,\n}: {\n\tmarketplaceConfig: MarketplaceConfig;\n\tsdkConfig: SdkConfig;\n}) {\n\tconst chains = getChainConfigs(marketplaceConfig);\n\tconst nodeGatewayOverrides = sdkConfig._internal?.overrides?.api?.nodeGateway;\n\tconst nodeGatewayEnv = nodeGatewayOverrides?.env ?? 'production';\n\tconst nodeGatewayUrl = nodeGatewayOverrides?.url;\n\tconst projectAccessKey =\n\t\tnodeGatewayOverrides?.accessKey ?? sdkConfig.projectAccessKey;\n\n\tconst transports = getTransportConfigs(\n\t\tchains,\n\t\tprojectAccessKey,\n\t\tnodeGatewayEnv,\n\t\tnodeGatewayUrl,\n\t);\n\n\treturn { chains, transports };\n}\n\nfunction getChainConfigs(\n\t_marketConfig: MarketplaceConfig,\n): [Chain, ...Chain[]] {\n\tconst chains = Object.values(allNetworks).map(networkToWagmiChain);\n\n\treturn chains as [Chain, ...Chain[]];\n}\n\nfunction getTransportConfigs(\n\tchains: [Chain, ...Chain[]],\n\tprojectAccessKey: string,\n\tnodeGatewayEnv: Env | undefined,\n\tnodeGatewayUrl?: string,\n): Record<number, Transport> {\n\treturn chains.reduce(\n\t\t(acc, chain) => {\n\t\t\tconst network = findNetworkConfig(allNetworks, chain.id);\n\t\t\tif (network) {\n\t\t\t\tlet rpcUrl: string;\n\t\t\t\tif (nodeGatewayUrl) {\n\t\t\t\t\t// Use manual URL if provided\n\t\t\t\t\trpcUrl = nodeGatewayUrl;\n\t\t\t\t} else {\n\t\t\t\t\t// Use default URL with environment prefix\n\t\t\t\t\trpcUrl = network.rpcUrl;\n\t\t\t\t\tif (nodeGatewayEnv === 'development') {\n\t\t\t\t\t\trpcUrl = rpcUrl.replace('nodes.', 'dev-nodes.');\n\t\t\t\t\t}\n\t\t\t\t\tif (!network.rpcUrl.endsWith(projectAccessKey))\n\t\t\t\t\t\trpcUrl = `${rpcUrl}/${projectAccessKey}`;\n\t\t\t\t}\n\t\t\t\tacc[chain.id] = http(rpcUrl);\n\t\t\t}\n\t\t\treturn acc;\n\t\t},\n\t\t{} as Record<number, Transport>,\n\t);\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"element-ciybd_VF.js","names":[],"sources":["../src/react/ui/images/marketplaces/element.png"],"sourcesContent":["\"data:image/png;base64,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\""],"mappings":";sBAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"foundation-Bq4lRz4x.js","names":[],"sources":["../src/react/ui/images/marketplaces/foundation.png"],"sourcesContent":["\"data:image/png;base64,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\""],"mappings":";yBAAA"}
@@ -1,18 +0,0 @@
1
- import { MarketplaceConfig, MarketplaceSdkContext, WalletKind } from "./create-config-ZOB7i4ZJ.js";
2
- import * as _tanstack_react_query341 from "@tanstack/react-query";
3
-
4
- //#region src/react/hooks/config/useConfig.d.ts
5
- declare function useConfig(): MarketplaceSdkContext;
6
- //#endregion
7
- //#region src/react/hooks/config/useConnectorMetadata.d.ts
8
- declare const useConnectorMetadata: () => {
9
- isWaaS: boolean;
10
- isSequence: boolean | undefined;
11
- walletKind: WalletKind;
12
- };
13
- //#endregion
14
- //#region src/react/hooks/config/useMarketplaceConfig.d.ts
15
- declare const useMarketplaceConfig: () => _tanstack_react_query341.UseQueryResult<MarketplaceConfig, Error>;
16
- //#endregion
17
- export { useConfig, useConnectorMetadata, useMarketplaceConfig };
18
- //# sourceMappingURL=index-DNNUeZEq.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inventory-Dd7TazvZ.js","names":[],"sources":["../src/react/queries/inventory/inventory.ts"],"sourcesContent":["import type { ContractInfo, TokenBalance } from '@0xsequence/indexer';\nimport { queryOptions } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport type { Page, SdkConfig } from '../../../types';\nimport { compareAddress } from '../../../utils';\nimport {\n\ttype ContractType,\n\tgetQueryClient,\n\tMetadataStatus,\n} from '../../_internal';\nimport { tokenBalancesOptions } from '../collectibles/tokenBalances';\nimport { fetchMarketplaceConfig } from '../market/marketplaceConfig';\n\nexport interface UseInventoryArgs {\n\taccountAddress: Address;\n\tcollectionAddress: Address;\n\tchainId: number;\n\tisLaos721?: boolean;\n\tincludeNonTradable?: boolean;\n\tquery?: {\n\t\tenabled?: boolean;\n\t\tpage?: number;\n\t\tpageSize?: number;\n\t};\n}\n\ninterface GetInventoryArgs extends Omit<UseInventoryArgs, 'query'> {\n\tisLaos721: boolean;\n}\n\ninterface CollectibleWithBalance {\n\tmetadata: {\n\t\ttokenId: string;\n\t\tattributes: Array<any>;\n\t\timage?: string;\n\t\tname: string;\n\t\tdescription?: string;\n\t\tvideo?: string;\n\t\taudio?: string;\n\t\tstatus: MetadataStatus;\n\t};\n\tbalance: string;\n\tcontractInfo?: ContractInfo;\n\tcontractType: ContractType.ERC1155 | ContractType.ERC721;\n}\n\nexport interface CollectiblesResponse {\n\tcollectibles: CollectibleWithBalance[];\n\tpage: Page;\n\tisTradable: boolean;\n}\n\nfunction collectibleFromTokenBalance(\n\ttoken: TokenBalance,\n): CollectibleWithBalance {\n\treturn {\n\t\tmetadata: {\n\t\t\ttokenId: token.tokenID ?? '',\n\t\t\tattributes: token.tokenMetadata?.attributes ?? [],\n\t\t\timage: token.tokenMetadata?.image,\n\t\t\tname: token.tokenMetadata?.name ?? '',\n\t\t\tdescription: token.tokenMetadata?.description,\n\t\t\tvideo: token.tokenMetadata?.video,\n\t\t\taudio: token.tokenMetadata?.audio,\n\t\t\tstatus: MetadataStatus.AVAILABLE,\n\t\t},\n\t\tcontractInfo: token.contractInfo,\n\t\tcontractType: token.contractType as unknown as\n\t\t\t| ContractType.ERC1155\n\t\t\t| ContractType.ERC721,\n\t\tbalance: token.balance,\n\t};\n}\n\nasync function fetchIndexerTokens(\n\tchainId: number,\n\taccountAddress: Address,\n\tcollectionAddress: Address,\n\tconfig: SdkConfig,\n\tisLaos721: boolean,\n): Promise<{ collectibles: CollectibleWithBalance[] }> {\n\tconst queryClient = getQueryClient();\n\tconst balances = await queryClient.fetchQuery(\n\t\ttokenBalancesOptions(\n\t\t\t{\n\t\t\t\tcollectionAddress,\n\t\t\t\tuserAddress: accountAddress,\n\t\t\t\tchainId,\n\t\t\t\tisLaos721,\n\t\t\t\tincludeMetadata: true,\n\t\t\t},\n\t\t\tconfig,\n\t\t),\n\t);\n\n\tconst collectibles = balances.map((balance) =>\n\t\tcollectibleFromTokenBalance(balance),\n\t);\n\n\treturn {\n\t\tcollectibles,\n\t};\n}\n\nexport async function fetchInventory(\n\targs: GetInventoryArgs,\n\tconfig: SdkConfig,\n\tpage: Page,\n): Promise<CollectiblesResponse> {\n\tconst { accountAddress, collectionAddress, chainId, isLaos721 } = args;\n\tconst marketplaceConfig = await fetchMarketplaceConfig({ config });\n\n\tconst marketCollections = marketplaceConfig?.market.collections || [];\n\n\tconst isMarketCollection = marketCollections.some((collection) =>\n\t\tcompareAddress(collection.itemsAddress, collectionAddress),\n\t);\n\n\t// Determine if this collection is tradable (market collection vs shop collection)\n\tconst isTradable = isMarketCollection;\n\n\t// Fetch collectibles from indexer\n\tconst { collectibles } = await fetchIndexerTokens(\n\t\tchainId,\n\t\taccountAddress,\n\t\tcollectionAddress,\n\t\tconfig,\n\t\tisLaos721,\n\t);\n\n\treturn {\n\t\tcollectibles,\n\t\tpage: {\n\t\t\tpage: page.page,\n\t\t\tpageSize: page.pageSize,\n\t\t},\n\t\tisTradable,\n\t};\n}\n\nexport function inventoryOptions(args: UseInventoryArgs, config: SdkConfig) {\n\tconst enabledQuery = args.query?.enabled ?? true;\n\tconst enabled =\n\t\tenabledQuery && !!args.accountAddress && !!args.collectionAddress;\n\n\treturn queryOptions({\n\t\tqueryKey: [\n\t\t\t'inventory',\n\t\t\targs.accountAddress,\n\t\t\targs.collectionAddress,\n\t\t\targs.chainId,\n\t\t\targs.query?.page ?? 1,\n\t\t\targs.query?.pageSize ?? 30,\n\t\t],\n\t\tqueryFn: () =>\n\t\t\tfetchInventory(\n\t\t\t\t{\n\t\t\t\t\t...args,\n\t\t\t\t\tisLaos721: args.isLaos721 ?? false,\n\t\t\t\t},\n\t\t\t\tconfig,\n\t\t\t\t{\n\t\t\t\t\tpage: args.query?.page ?? 1,\n\t\t\t\t\tpageSize: args.query?.pageSize ?? 30,\n\t\t\t\t},\n\t\t\t),\n\t\tenabled,\n\t});\n}\n"],"mappings":";;;;;;;;AAoDA,SAAS,4BACR,OACyB;AACzB,QAAO;EACN,UAAU;GACT,SAAS,MAAM,WAAW;GAC1B,YAAY,MAAM,eAAe,cAAc,EAAE;GACjD,OAAO,MAAM,eAAe;GAC5B,MAAM,MAAM,eAAe,QAAQ;GACnC,aAAa,MAAM,eAAe;GAClC,OAAO,MAAM,eAAe;GAC5B,OAAO,MAAM,eAAe;GAC5B,QAAQ,eAAe;GACvB;EACD,cAAc,MAAM;EACpB,cAAc,MAAM;EAGpB,SAAS,MAAM;EACf;;AAGF,eAAe,mBACd,SACA,gBACA,mBACA,QACA,WACsD;AAmBtD,QAAO,EACN,eAlBgB,MADG,gBAAgB,CACD,WAClC,qBACC;EACC;EACA,aAAa;EACb;EACA;EACA,iBAAiB;EACjB,EACD,OACA,CACD,EAE6B,KAAK,YAClC,4BAA4B,QAAQ,CACpC,EAIA;;AAGF,eAAsB,eACrB,MACA,QACA,MACgC;CAChC,MAAM,EAAE,gBAAgB,mBAAmB,SAAS,cAAc;CAUlE,MAAM,eAToB,MAAM,uBAAuB,EAAE,QAAQ,CAAC,GAErB,OAAO,eAAe,EAAE,EAExB,MAAM,eAClD,eAAe,WAAW,cAAc,kBAAkB,CAC1D;CAMD,MAAM,EAAE,iBAAiB,MAAM,mBAC9B,SACA,gBACA,mBACA,QACA,UACA;AAED,QAAO;EACN;EACA,MAAM;GACL,MAAM,KAAK;GACX,UAAU,KAAK;GACf;EACD;EACA;;AAGF,SAAgB,iBAAiB,MAAwB,QAAmB;CAE3E,MAAM,WADe,KAAK,OAAO,WAAW,SAE3B,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC,KAAK;AAEjD,QAAO,aAAa;EACnB,UAAU;GACT;GACA,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK,OAAO,QAAQ;GACpB,KAAK,OAAO,YAAY;GACxB;EACD,eACC,eACC;GACC,GAAG;GACH,WAAW,KAAK,aAAa;GAC7B,EACD,QACA;GACC,MAAM,KAAK,OAAO,QAAQ;GAC1B,UAAU,KAAK,OAAO,YAAY;GAClC,CACD;EACF;EACA,CAAC"}