@0xsequence/marketplace-sdk 0.8.9 → 0.8.11

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 (196) hide show
  1. package/.changeset/fluffy-jokes-lay.md +5 -0
  2. package/.changeset/wise-bugs-boil.md +8 -0
  3. package/CHANGELOG.md +43 -0
  4. package/dist/{chunk-FMEEJFAF.js → chunk-5C6ZZ6WX.js} +1 -1
  5. package/dist/{chunk-YEGD7PWE.js → chunk-5O44EPXZ.js} +2 -2
  6. package/dist/chunk-6CTFVBKU.js +1 -0
  7. package/dist/{chunk-DWTLVJAW.js → chunk-6OPMUCGX.js} +1 -1
  8. package/dist/chunk-6OPMUCGX.js.map +1 -0
  9. package/dist/{chunk-O34GCB47.js → chunk-L6KWLCER.js} +4 -4
  10. package/dist/chunk-L6KWLCER.js.map +1 -0
  11. package/dist/{chunk-4XLXOEXQ.js → chunk-LAP2CKLN.js} +78 -4
  12. package/dist/chunk-LAP2CKLN.js.map +1 -0
  13. package/dist/{chunk-Y63BOO6M.js → chunk-LECCEZAO.js} +1 -1
  14. package/dist/{chunk-YALXP2PW.js → chunk-N7SQWS2R.js} +3 -3
  15. package/dist/{chunk-KGM2WLSP.js → chunk-OAOONM4S.js} +695 -440
  16. package/dist/chunk-OAOONM4S.js.map +1 -0
  17. package/dist/chunk-Q3ECVC4F.js +811 -0
  18. package/dist/chunk-Q3ECVC4F.js.map +1 -0
  19. package/dist/chunk-QY52UADF.js +107 -0
  20. package/dist/chunk-QY52UADF.js.map +1 -0
  21. package/dist/{chunk-I2BYHDFE.js → chunk-TNAR3XEF.js} +3898 -844
  22. package/dist/chunk-TNAR3XEF.js.map +1 -0
  23. package/dist/chunk-XABYNWXO.js +549 -0
  24. package/dist/chunk-XABYNWXO.js.map +1 -0
  25. package/dist/chunk-YB5UUF2G.js +11 -0
  26. package/dist/chunk-YB5UUF2G.js.map +1 -0
  27. package/dist/{chunk-35WWD5V6.js → chunk-YWGFI4PN.js} +88 -25
  28. package/dist/chunk-YWGFI4PN.js.map +1 -0
  29. package/dist/{create-config-DwrnzwpM.d.ts → create-config-DLMvMTkZ.d.ts} +2 -2
  30. package/dist/index.css +7 -7
  31. package/dist/index.css.map +1 -1
  32. package/dist/index.d.ts +8 -6
  33. package/dist/index.js +19 -14
  34. package/dist/{lowestListing-BQHIuvNF.d.ts → marketCurrencies-enNVYwBk.d.ts} +95 -3
  35. package/dist/{marketplace.gen-DQzWciwC.d.ts → marketplace.gen-D24veUQs.d.ts} +3 -2
  36. package/dist/marketplaceConfig-BwNAbLPw.d.ts +21 -0
  37. package/dist/new-marketplace-types-BCw19X9S.d.ts +102 -0
  38. package/dist/react/_internal/api/index.d.ts +4 -3
  39. package/dist/react/_internal/api/index.js +5 -1
  40. package/dist/react/_internal/databeat/index.css +2764 -0
  41. package/dist/react/_internal/databeat/index.css.map +1 -0
  42. package/dist/react/_internal/databeat/index.d.ts +1 -1
  43. package/dist/react/_internal/databeat/index.js +15 -14
  44. package/dist/react/_internal/index.d.ts +62 -9
  45. package/dist/react/_internal/index.js +7 -3
  46. package/dist/react/_internal/wagmi/index.d.ts +5 -6
  47. package/dist/react/_internal/wagmi/index.js +1 -1
  48. package/dist/react/hooks/index.css +2764 -0
  49. package/dist/react/hooks/index.css.map +1 -0
  50. package/dist/react/hooks/index.d.ts +74 -222
  51. package/dist/react/hooks/index.js +21 -22
  52. package/dist/react/hooks/options/index.d.ts +5 -4
  53. package/dist/react/hooks/options/index.js +9 -7
  54. package/dist/react/index.css +7 -7
  55. package/dist/react/index.css.map +1 -1
  56. package/dist/react/index.d.ts +12 -11
  57. package/dist/react/index.js +34 -37
  58. package/dist/react/queries/index.d.ts +4 -3
  59. package/dist/react/queries/index.js +19 -6
  60. package/dist/react/ssr/index.d.ts +3 -3
  61. package/dist/react/ssr/index.js +6 -5
  62. package/dist/react/ssr/index.js.map +1 -1
  63. package/dist/react/ui/components/collectible-card/index.css +7 -7
  64. package/dist/react/ui/components/collectible-card/index.css.map +1 -1
  65. package/dist/react/ui/components/collectible-card/index.d.ts +9 -6
  66. package/dist/react/ui/components/collectible-card/index.js +19 -23
  67. package/dist/react/ui/components/marketplace-logos/index.js +1 -1
  68. package/dist/react/ui/icons/index.js +9 -8
  69. package/dist/react/ui/index.css +7 -7
  70. package/dist/react/ui/index.css.map +1 -1
  71. package/dist/react/ui/index.d.ts +2 -2
  72. package/dist/react/ui/index.js +17 -21
  73. package/dist/react/ui/modals/_internal/components/actionModal/index.css +2764 -0
  74. package/dist/react/ui/modals/_internal/components/actionModal/index.css.map +1 -0
  75. package/dist/react/ui/modals/_internal/components/actionModal/index.js +15 -14
  76. package/dist/sdk-config-qorA0TgF.d.ts +165 -0
  77. package/dist/{services-BI_w8Eq4.d.ts → services-WrshxCqc.d.ts} +6 -3
  78. package/dist/types/index.d.ts +5 -4
  79. package/dist/types/index.js +7 -7
  80. package/dist/{index-DGsVBflk.d.ts → useCollection-YAdXfVO7.d.ts} +1 -2
  81. package/dist/utils/abi/index.d.ts +1 -0
  82. package/dist/utils/abi/index.js +7 -1
  83. package/dist/utils/abi/primary-sale/index.d.ts +1054 -0
  84. package/dist/utils/abi/primary-sale/index.js +9 -0
  85. package/dist/utils/index.d.ts +2 -1
  86. package/dist/utils/index.js +13 -6
  87. package/package.json +32 -32
  88. package/src/react/_internal/api/__mocks__/builder.msw.ts +157 -80
  89. package/src/react/_internal/api/builder-api.ts +2 -2
  90. package/src/react/_internal/api/builder.gen.ts +667 -112
  91. package/src/react/_internal/api/marketplace.gen.ts +1981 -1316
  92. package/src/react/_internal/api/services.ts +12 -1
  93. package/src/react/_internal/types.ts +1 -13
  94. package/src/react/_internal/wagmi/__tests__/create-config.test.ts +99 -84
  95. package/src/react/_internal/wagmi/create-config.ts +8 -4
  96. package/src/react/_internal/wagmi/get-connectors.ts +24 -19
  97. package/src/react/hooks/__tests__/__snapshots__/useListCollections.test.tsx.snap +114 -0
  98. package/src/react/hooks/__tests__/__snapshots__/useMarketplaceConfig.test.tsx.snap +85 -83
  99. package/src/react/hooks/__tests__/useFilters.test.tsx +0 -16
  100. package/src/react/hooks/__tests__/useInventory.test.tsx +16 -16
  101. package/src/react/hooks/__tests__/useListCollections.test.tsx +23 -56
  102. package/src/react/hooks/__tests__/{useCurrencies.test.tsx → useMarketCurrencies.test.tsx} +21 -15
  103. package/src/react/hooks/__tests__/useMarketplaceConfig.test.tsx +2 -59
  104. package/src/react/hooks/index.ts +3 -1
  105. package/src/react/hooks/useBalanceOfCollectible.tsx +5 -3
  106. package/src/react/hooks/useConvertPriceToUSD.tsx +1 -1
  107. package/src/react/hooks/useFilters.tsx +14 -22
  108. package/src/react/hooks/useGetTokenSuppliesMap.ts +28 -0
  109. package/src/react/hooks/useInventory.tsx +4 -3
  110. package/src/react/hooks/useList1155SaleSupplies.tsx +62 -0
  111. package/src/react/hooks/useListBalances.tsx +5 -3
  112. package/src/react/hooks/useListCollectibles.tsx +5 -3
  113. package/src/react/hooks/useListCollections.tsx +14 -76
  114. package/src/react/hooks/useListTokenMetadata.ts +19 -0
  115. package/src/react/hooks/useMarketCurrencies.tsx +8 -0
  116. package/src/react/hooks/useMarketplaceConfig.tsx +0 -2
  117. package/src/react/queries/index.ts +2 -0
  118. package/src/react/queries/inventory.ts +1 -1
  119. package/src/react/queries/listCollections.ts +118 -0
  120. package/src/react/queries/listTokenMetadata.ts +38 -0
  121. package/src/react/queries/marketCurrencies.ts +77 -0
  122. package/src/react/queries/marketplaceConfig.ts +83 -55
  123. package/src/react/ssr/__tests__/__snapshots__/create-ssr-client.test.ts.snap +85 -83
  124. package/src/react/ui/components/collectible-card/CollectibleCard.tsx +2 -2
  125. package/src/react/ui/components/collectible-card/__tests__/{CollectibleAsset.test.tsx → Media.test.tsx} +48 -14
  126. package/src/react/ui/components/collectible-card/index.ts +1 -1
  127. package/src/react/ui/components/collectible-card/media/Media.tsx +211 -0
  128. package/src/react/ui/components/collectible-card/{collectible-asset/CollectibleAssetSkeleton.tsx → media/MediaSkeleton.tsx} +2 -2
  129. package/src/react/ui/components/collectible-card/media/types.ts +18 -0
  130. package/src/react/ui/components/collectible-card/{collectible-asset → media}/utils.ts +8 -3
  131. package/src/react/ui/index.ts +1 -1
  132. package/src/react/ui/modals/BuyModal/ERC1155QuantityModal.tsx +9 -3
  133. package/src/react/ui/modals/BuyModal/hooks/__tests__/useFees.test.tsx +31 -21
  134. package/src/react/ui/modals/BuyModal/hooks/useFees.ts +3 -2
  135. package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +28 -3
  136. package/src/react/ui/modals/CreateListingModal/Modal.tsx +3 -5
  137. package/src/react/ui/modals/CreateListingModal/hooks/useCreateListing.tsx +5 -3
  138. package/src/react/ui/modals/CreateListingModal/hooks/useTransactionSteps.tsx +2 -2
  139. package/src/react/ui/modals/MakeOfferModal/Modal.tsx +2 -3
  140. package/src/react/ui/modals/MakeOfferModal/hooks/useMakeOffer.tsx +4 -3
  141. package/src/react/ui/modals/SellModal/Modal.tsx +0 -1
  142. package/src/react/ui/modals/SellModal/hooks/useTransactionSteps.tsx +2 -2
  143. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/_components/WalletAddressInput.tsx +1 -1
  144. package/src/react/ui/modals/TransferModal/_views/enterWalletAddress/index.tsx +0 -1
  145. package/src/react/ui/modals/TransferModal/index.tsx +0 -1
  146. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/__tests__/index.test.tsx +2 -2
  147. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +7 -6
  148. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/__tests__/SelectWaasFeeOptions.test.tsx +13 -7
  149. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/index.tsx +3 -5
  150. package/src/react/ui/modals/_internal/components/selectWaasFeeOptions/useWaasFeeOptionManager.tsx +5 -3
  151. package/src/react/ui/modals/_internal/components/transactionDetails/index.tsx +2 -2
  152. package/src/react/ui/modals/_internal/hooks/useSelectWaasFeeOptions.ts +2 -12
  153. package/src/types/index.ts +1 -6
  154. package/src/types/new-marketplace-types.ts +119 -0
  155. package/src/types/sdk-config.ts +19 -2
  156. package/src/types/types.ts +1 -0
  157. package/src/utils/abi/index.ts +1 -0
  158. package/src/utils/abi/primary-sale/index.ts +2 -0
  159. package/src/utils/abi/primary-sale/sequence-1155-sales-contract.ts +450 -0
  160. package/src/utils/abi/primary-sale/sequence-721-sales-contract.ts +352 -0
  161. package/src/utils/abi/token/sequence-erc1155-items.ts +454 -0
  162. package/src/utils/fetchContentType.ts +5 -1
  163. package/tsconfig.tsbuildinfo +1 -1
  164. package/dist/chunk-35WWD5V6.js.map +0 -1
  165. package/dist/chunk-4XLXOEXQ.js.map +0 -1
  166. package/dist/chunk-D7RVSZAQ.js +0 -332
  167. package/dist/chunk-D7RVSZAQ.js.map +0 -1
  168. package/dist/chunk-DWTLVJAW.js.map +0 -1
  169. package/dist/chunk-EODKQL6Y.js +0 -76
  170. package/dist/chunk-EODKQL6Y.js.map +0 -1
  171. package/dist/chunk-G3447GIP.js +0 -2880
  172. package/dist/chunk-G3447GIP.js.map +0 -1
  173. package/dist/chunk-HHYNOPPI.js +0 -53
  174. package/dist/chunk-HHYNOPPI.js.map +0 -1
  175. package/dist/chunk-I2BYHDFE.js.map +0 -1
  176. package/dist/chunk-JKCF7HEA.js +0 -1
  177. package/dist/chunk-KGM2WLSP.js.map +0 -1
  178. package/dist/chunk-MAD64DLJ.js +0 -81
  179. package/dist/chunk-MAD64DLJ.js.map +0 -1
  180. package/dist/chunk-N7BPFK46.js +0 -1
  181. package/dist/chunk-O34GCB47.js.map +0 -1
  182. package/dist/chunk-UISBTKFF.js +0 -1
  183. package/dist/chunk-UISBTKFF.js.map +0 -1
  184. package/dist/chunk-YBOFRP65.js +0 -128
  185. package/dist/chunk-YBOFRP65.js.map +0 -1
  186. package/dist/marketplaceConfig-B4Fdsmxu.d.ts +0 -17
  187. package/dist/sdk-config-txlivEKe.d.ts +0 -133
  188. package/dist/types-isjvwapz.d.ts +0 -68
  189. package/src/react/hooks/useCurrencies.tsx +0 -77
  190. package/src/react/ui/components/collectible-card/collectible-asset/CollectibleAsset.tsx +0 -174
  191. /package/dist/{chunk-FMEEJFAF.js.map → chunk-5C6ZZ6WX.js.map} +0 -0
  192. /package/dist/{chunk-YEGD7PWE.js.map → chunk-5O44EPXZ.js.map} +0 -0
  193. /package/dist/{chunk-JKCF7HEA.js.map → chunk-6CTFVBKU.js.map} +0 -0
  194. /package/dist/{chunk-Y63BOO6M.js.map → chunk-LECCEZAO.js.map} +0 -0
  195. /package/dist/{chunk-YALXP2PW.js.map → chunk-N7SQWS2R.js.map} +0 -0
  196. /package/dist/{chunk-N7BPFK46.js.map → utils/abi/primary-sale/index.js.map} +0 -0
@@ -0,0 +1,5 @@
1
+ ---
2
+ "@0xsequence/marketplace-sdk": patch
3
+ ---
4
+
5
+ Handle fee options in non-sponsored testnets
@@ -0,0 +1,8 @@
1
+ ---
2
+ "@0xsequence/marketplace-sdk": patch
3
+ ---
4
+ Refactored marketplace config to support new market and shop structure:
5
+ - Added new marketplace types and interfaces
6
+ - Updated collection references to use itemsAddress instead of address
7
+ - Renamed useCurrencies to useMarketCurrencies
8
+ - Added support for shop collections with primary sales contract address
package/CHANGELOG.md CHANGED
@@ -1,5 +1,48 @@
1
1
  # @0xsequence/marketplace-sdk
2
2
 
3
+ ## 0.8.11
4
+
5
+ ### Patch Changes
6
+
7
+ - Handle fee options of non-sponsored testnets
8
+
9
+ - Refactored marketplace configuration to support the new dual-market structure:
10
+ - Marketplace config now contains Market (P2P marketplace) and the upcoming Shop (primary sales)
11
+ - Added new marketplace types and interfaces to support the upcoming Shop/Market structure
12
+ - Updated collection references to use `itemsAddress` instead of `address` for consistency
13
+ - Renamed `useCurrencies` to `useMarketCurrencies` to indicate that it is only used for the currency related to the market
14
+
15
+
16
+ ## 0.8.10
17
+
18
+ ### Patch Changes
19
+
20
+ #### New hooks
21
+
22
+ - useList1155SaleSupplies to batch fetch supply data for the ERC1155 sales contracts
23
+ - useListTokenMetadata to list token metadata for a given set of tokens
24
+
25
+ #### New ABIs
26
+
27
+ - ERC1155 sales contract (ERC1155_SALES_CONTRACT_ABI).
28
+ - ERC721 sales contract (ERC721_SALE_ABI).
29
+ - ERC1155 Items contract (SEQUENCE_1155_ITEMS_ABI).
30
+
31
+ #### Media Component
32
+
33
+ - Renamed `CollectibleAsset` to `Media`
34
+ - Introduced a new `supply` prop to display asset supply information.
35
+ - Improved error handling for scenarios where asset data might be missing or malformed.
36
+
37
+ #### Utility Functions
38
+
39
+ - Enhanced `getContentType` utility with better error handling mechanisms.
40
+ - Updated `fetchContentType` to gracefully handle cases where the URL might be undefined.
41
+
42
+ #### Other
43
+
44
+ - Fetching Transak configs for nftCheckout
45
+
3
46
  ## 0.8.9
4
47
 
5
48
  ### Patch Changes
@@ -127,4 +127,4 @@ export {
127
127
  X2y2Logo,
128
128
  ZoraLogo
129
129
  };
130
- //# sourceMappingURL=chunk-FMEEJFAF.js.map
130
+ //# sourceMappingURL=chunk-5C6ZZ6WX.js.map
@@ -7,7 +7,7 @@ import {
7
7
  OpenSeaLogo,
8
8
  SequenceLogo,
9
9
  X2y2Logo
10
- } from "./chunk-FMEEJFAF.js";
10
+ } from "./chunk-5C6ZZ6WX.js";
11
11
 
12
12
  // src/utils/address.ts
13
13
  var truncateMiddle = (address, minPrefix = 20, minSuffix = 3) => {
@@ -204,4 +204,4 @@ export {
204
204
  networkToWagmiChain,
205
205
  cn
206
206
  };
207
- //# sourceMappingURL=chunk-YEGD7PWE.js.map
207
+ //# sourceMappingURL=chunk-5O44EPXZ.js.map
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-6CTFVBKU.js.map
@@ -39,4 +39,4 @@ export {
39
39
  AddressSchema,
40
40
  TransactionType
41
41
  };
42
- //# sourceMappingURL=chunk-DWTLVJAW.js.map
42
+ //# sourceMappingURL=chunk-6OPMUCGX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/react/_internal/get-provider.ts","../src/react/_internal/types.ts"],"sourcesContent":["export const PROVIDER_ID = 'sdk-provider';\n\nexport function getProviderEl() {\n\tif (!globalThis.document) return null;\n\treturn document.getElementById(PROVIDER_ID);\n}\n","import type { Address } from 'viem';\nimport { z } from 'zod';\nimport type { ContractType, CreateReq } from '../../types';\nimport type { MarketplaceKind } from './api';\n\nexport const QueryArgSchema = z\n\t.object({\n\t\tenabled: z.boolean().optional(),\n\t})\n\t.optional();\n\nexport type QueryArg = z.infer<typeof QueryArgSchema>;\n\nexport const CollectableIdSchema = z.string().or(z.number());\n\nexport const AddressSchema = z.string().transform((val, ctx) => {\n\tconst regex = /^0x[a-fA-F0-9]{40}$/;\n\n\tif (!regex.test(val)) {\n\t\tctx.addIssue({\n\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\tmessage: `Invalid Address ${val}`,\n\t\t});\n\t}\n\n\treturn val as Address;\n});\n\nexport type CollectionType = ContractType.ERC1155 | ContractType.ERC721;\n\ntype TransactionStep = {\n\texist: boolean;\n\tisExecuting: boolean;\n\texecute: () => Promise<void>;\n};\n\nexport type TransactionSteps = {\n\tapproval: TransactionStep;\n\ttransaction: TransactionStep;\n};\n\nexport enum TransactionType {\n\tBUY = 'BUY',\n\tSELL = 'SELL',\n\tLISTING = 'LISTING',\n\tOFFER = 'OFFER',\n\tTRANSFER = 'TRANSFER',\n\tCANCEL = 'CANCEL',\n}\n\nexport interface BuyInput {\n\torderId: string;\n\tcollectableDecimals: number;\n\tmarketplace: MarketplaceKind;\n\tquantity: string;\n}\n\nexport interface SellInput {\n\torderId: string;\n\tmarketplace: MarketplaceKind;\n\tquantity?: string;\n}\n\nexport interface ListingInput {\n\tcontractType: ContractType;\n\tlisting: CreateReq;\n}\n\nexport interface OfferInput {\n\tcontractType: ContractType;\n\toffer: CreateReq;\n}\n\nexport interface CancelInput {\n\torderId: string;\n\tmarketplace: MarketplaceKind;\n}\n"],"mappings":";AAAO,IAAM,cAAc;AAEpB,SAAS,gBAAgB;AAC/B,MAAI,CAAC,WAAW,SAAU,QAAO;AACjC,SAAO,SAAS,eAAe,WAAW;AAC3C;;;ACJA,SAAS,SAAS;AAIX,IAAM,iBAAiB,EAC5B,OAAO;AAAA,EACP,SAAS,EAAE,QAAQ,EAAE,SAAS;AAC/B,CAAC,EACA,SAAS;AAIJ,IAAM,sBAAsB,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC;AAEpD,IAAM,gBAAgB,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,QAAQ;AAC/D,QAAM,QAAQ;AAEd,MAAI,CAAC,MAAM,KAAK,GAAG,GAAG;AACrB,QAAI,SAAS;AAAA,MACZ,MAAM,EAAE,aAAa;AAAA,MACrB,SAAS,mBAAmB,GAAG;AAAA,IAChC,CAAC;AAAA,EACF;AAEA,SAAO;AACR,CAAC;AAeM,IAAK,kBAAL,kBAAKA,qBAAL;AACN,EAAAA,iBAAA,SAAM;AACN,EAAAA,iBAAA,UAAO;AACP,EAAAA,iBAAA,aAAU;AACV,EAAAA,iBAAA,WAAQ;AACR,EAAAA,iBAAA,cAAW;AACX,EAAAA,iBAAA,YAAS;AANE,SAAAA;AAAA,GAAA;","names":["TransactionType"]}
@@ -1,9 +1,9 @@
1
1
  import {
2
- API
3
- } from "./chunk-D7RVSZAQ.js";
2
+ MarketplaceService
3
+ } from "./chunk-XABYNWXO.js";
4
4
 
5
5
  // src/react/_internal/api/builder-api.ts
6
- var BuilderAPI = class extends API {
6
+ var BuilderAPI = class extends MarketplaceService {
7
7
  constructor(hostname, projectAccessKey, jwtAuth) {
8
8
  super(hostname.endsWith("/") ? hostname.slice(0, -1) : hostname, fetch);
9
9
  this.projectAccessKey = projectAccessKey;
@@ -29,4 +29,4 @@ var BuilderAPI = class extends API {
29
29
  export {
30
30
  BuilderAPI
31
31
  };
32
- //# sourceMappingURL=chunk-O34GCB47.js.map
32
+ //# sourceMappingURL=chunk-L6KWLCER.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"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":";;;;;AAEO,IAAM,aAAN,cAAyB,mBAAmB;AAAA,EAClD,YACC,UACO,kBACA,SACN;AACD,UAAM,SAAS,SAAS,GAAG,IAAI,SAAS,MAAM,GAAG,EAAE,IAAI,UAAU,KAAK;AAH/D;AACA;AAGP,SAAK,QAAQ,KAAK;AAAA,EACnB;AAAA,EAEA,SAAS,CAAC,OAAoB,SAA0C;AACvE,UAAM,UAAkC,CAAC;AAEzC,UAAM,UAAU,KAAK;AACrB,UAAM,mBAAmB,KAAK;AAE9B,QAAI,WAAW,QAAQ,SAAS,GAAG;AAClC,cAAQ,gBAAgB,UAAU,OAAO;AAAA,IAC1C;AAEA,QAAI,oBAAoB,iBAAiB,SAAS,GAAG;AACpD,cAAQ,cAAc,IAAI;AAAA,IAC3B;AAEA,UAAM,cAAc,QAAQ,CAAC;AAC7B,gBAAY,UAAU,EAAE,GAAG,MAAM,SAAS,GAAG,QAAQ;AAErD,WAAO,MAAM,OAAO,WAAW;AAAA,EAChC;AACD;","names":[]}
@@ -1,10 +1,19 @@
1
+ import {
2
+ marketplaceConfigOptions
3
+ } from "./chunk-QY52UADF.js";
4
+ import {
5
+ compareAddress
6
+ } from "./chunk-5O44EPXZ.js";
1
7
  import {
2
8
  LaosAPI,
3
9
  balanceQueries,
4
10
  collectableKeys,
11
+ currencyKeys,
5
12
  getIndexerClient,
6
- getMarketplaceClient
7
- } from "./chunk-KGM2WLSP.js";
13
+ getMarketplaceClient,
14
+ getMetadataClient,
15
+ getQueryClient
16
+ } from "./chunk-OAOONM4S.js";
8
17
 
9
18
  // src/react/queries/balanceOfCollectible.ts
10
19
  import { queryOptions, skipToken } from "@tanstack/react-query";
@@ -392,9 +401,73 @@ function lowestListingOptions(args, config) {
392
401
  });
393
402
  }
394
403
 
404
+ // src/react/queries/listTokenMetadata.ts
405
+ import { queryOptions as queryOptions5 } from "@tanstack/react-query";
406
+ var fetchTokenMetadata = async ({ chainId, contractAddress, tokenIds }, config) => {
407
+ const metadataClient = getMetadataClient(config);
408
+ const response = await metadataClient.getTokenMetadata({
409
+ chainID: chainId.toString(),
410
+ contractAddress,
411
+ tokenIDs: tokenIds
412
+ });
413
+ return response.tokenMetadata;
414
+ };
415
+ var tokenMetadataOptions = (args, config) => {
416
+ return queryOptions5({
417
+ ...args.query,
418
+ queryKey: ["listTokenMetadata", args.chainId, args.contractAddress],
419
+ queryFn: () => fetchTokenMetadata(args, config)
420
+ });
421
+ };
422
+
423
+ // src/react/queries/marketCurrencies.ts
424
+ import { queryOptions as queryOptions6 } from "@tanstack/react-query";
425
+ import { zeroAddress } from "viem";
426
+ var fetchMarketCurrencies = async (args, config) => {
427
+ const includeNativeCurrency = args.includeNativeCurrency ?? true;
428
+ const marketplaceClient = getMarketplaceClient(args.chainId, config);
429
+ let currencies = await marketplaceClient.listCurrencies().then(
430
+ (resp) => resp.currencies.map((currency) => ({
431
+ ...currency,
432
+ contractAddress: currency.contractAddress || zeroAddress
433
+ }))
434
+ );
435
+ if (args.collectionAddress) {
436
+ const queryClient = getQueryClient();
437
+ const marketplaceConfig = await queryClient.fetchQuery(
438
+ marketplaceConfigOptions(config)
439
+ );
440
+ const currenciesOptions2 = marketplaceConfig.market.collections.find(
441
+ (collection) => compareAddress(collection.itemsAddress, args.collectionAddress)
442
+ )?.currencyOptions;
443
+ if (currenciesOptions2) {
444
+ currencies = currencies.filter(
445
+ (currency) => currenciesOptions2.includes(currency.contractAddress)
446
+ );
447
+ }
448
+ }
449
+ if (!includeNativeCurrency) {
450
+ currencies = currencies.filter((currency) => !currency.nativeCurrency);
451
+ }
452
+ return currencies;
453
+ };
454
+ var currenciesOptions = (args, config) => {
455
+ return queryOptions6({
456
+ ...args.query,
457
+ queryKey: [
458
+ ...currencyKeys.lists,
459
+ args.chainId,
460
+ args.includeNativeCurrency ?? true,
461
+ args.collectionAddress
462
+ ],
463
+ queryFn: () => fetchMarketCurrencies(args, config)
464
+ });
465
+ };
466
+
395
467
  export {
396
468
  fetchBalanceOfCollectible,
397
469
  balanceOfCollectibleOptions,
470
+ currenciesOptions,
398
471
  getTokenSupplies,
399
472
  getTokenSuppliesOptions,
400
473
  fetchBalances,
@@ -406,6 +479,7 @@ export {
406
479
  fetchHighestOffer,
407
480
  highestOfferOptions,
408
481
  fetchLowestListing,
409
- lowestListingOptions
482
+ lowestListingOptions,
483
+ tokenMetadataOptions
410
484
  };
411
- //# sourceMappingURL=chunk-4XLXOEXQ.js.map
485
+ //# sourceMappingURL=chunk-LAP2CKLN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/react/queries/balanceOfCollectible.ts","../src/react/queries/getTokenSupplies.ts","../src/react/queries/inventory.ts","../src/react/queries/listCollectibles.ts","../src/react/queries/listBalances.ts","../src/react/queries/highestOffer.ts","../src/react/queries/lowestListing.ts","../src/react/queries/listTokenMetadata.ts","../src/react/queries/marketCurrencies.ts"],"sourcesContent":["import { queryOptions, skipToken } from '@tanstack/react-query';\nimport type { Hex } from 'viem';\nimport type { UseQueryParameters } from 'wagmi/query';\nimport type { SdkConfig } from '../../types';\nimport { LaosAPI, collectableKeys, getIndexerClient } from '../_internal';\n\nexport type UseBalanceOfCollectibleArgs = {\n\tcollectionAddress: Hex;\n\tcollectableId: string;\n\tuserAddress: Hex | undefined;\n\tchainId: number;\n\tisLaos721?: 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'> & { userAddress: Hex },\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\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: 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\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: [...collectableKeys.userBalances, 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 { queryOptions } from '@tanstack/react-query';\nimport type { SdkConfig } from '../../types';\n//TODO: This is not complete, there is no hook for this,\n// add it if we need it in the future\nimport { LaosAPI, getIndexerClient } from '../_internal';\n\nexport type UseGetTokenSuppliesArgs = {\n\tchainId: number;\n\tcontractAddress: string;\n\ttokenId: string;\n\tisLaos721?: boolean;\n};\n\nexport async function getTokenSupplies(\n\targs: UseGetTokenSuppliesArgs,\n\tconfig: SdkConfig,\n) {\n\tif (args.isLaos721) {\n\t\tconst laosApi = new LaosAPI();\n\t\treturn laosApi.getTokenSupplies({\n\t\t\tchainId: args.chainId.toString(),\n\t\t\tcontractAddress: args.contractAddress,\n\t\t});\n\t}\n\n\tconst indexerClient = getIndexerClient(args.chainId, config);\n\treturn await indexerClient.getTokenSupplies(args);\n}\n\nexport function getTokenSuppliesOptions(\n\targs: UseGetTokenSuppliesArgs,\n\tconfig: SdkConfig,\n) {\n\treturn queryOptions({\n\t\tqueryKey: ['getTokenSupplies', args],\n\t\tqueryFn: () => getTokenSupplies(args, config),\n\t});\n}\n","import type {\n\tContractInfo,\n\tPage as IndexerPage,\n\tTokenBalance,\n} from '@0xsequence/indexer';\nimport { infiniteQueryOptions } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport { OrderSide, type Page, type SdkConfig } from '../../types';\nimport {\n\ttype CollectibleOrder,\n\ttype ContractType,\n\tgetIndexerClient,\n} from '../_internal';\nimport { fetchCollectibles } from './listCollectibles';\n\nexport interface UseInventoryArgs {\n\taccountAddress: Address;\n\tcollectionAddress: Address;\n\tchainId: number;\n\tisLaos721?: boolean;\n\tquery?: {\n\t\tenabled?: boolean;\n\t};\n}\n\n// Maintain collection state across calls\ninterface InventoryState {\n\tseenTokenIds: Set<string>;\n\tmarketplaceFinished: boolean;\n\t// Track if we've already fetched all indexer tokens\n\tindexerTokensFetched: boolean;\n\t// Store the token balances from the indexer\n\tindexerTokenBalances: Map<string, CollectibleWithBalance>;\n}\n\n// Store state per collection\nconst stateByCollection = new Map<string, InventoryState>();\n\nconst getCollectionKey = (args: UseInventoryArgs) =>\n\t`${args.chainId}-${args.collectionAddress}-${args.accountAddress}`;\n\ninterface GetInventoryArgs extends Omit<UseInventoryArgs, 'query'> {\n\tisLaos721: boolean;\n}\n\ninterface CollectibleWithBalance extends CollectibleOrder {\n\tbalance: string;\n\tcontractInfo?: ContractInfo;\n\tcontractType: ContractType.ERC1155 | ContractType.ERC721;\n}\n\nexport interface CollectiblesResponse {\n\tcollectibles: CollectibleWithBalance[];\n\tpage: Page;\n}\n\nfunction getOrInitState(collectionKey: string): InventoryState {\n\tif (!stateByCollection.has(collectionKey)) {\n\t\tstateByCollection.set(collectionKey, {\n\t\t\tseenTokenIds: new Set<string>(),\n\t\t\tmarketplaceFinished: false,\n\t\t\tindexerTokensFetched: false,\n\t\t\tindexerTokenBalances: new Map(),\n\t\t});\n\t}\n\n\t// biome-ignore lint/style/noNonNullAssertion: guaranteed to exist, by the above init\n\treturn stateByCollection.get(collectionKey)!;\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},\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 fetchAllIndexerTokens(\n\tchainId: number,\n\taccountAddress: Address,\n\tcollectionAddress: Address,\n\tconfig: SdkConfig,\n\tstate: InventoryState,\n): Promise<void> {\n\tconst indexerClient = getIndexerClient(chainId, config);\n\n\tlet page: IndexerPage = {\n\t\tpageSize: 50,\n\t};\n\n\twhile (true) {\n\t\tconst { balances, page: nextPage } = await indexerClient.getTokenBalances({\n\t\t\taccountAddress,\n\t\t\tcontractAddress: collectionAddress,\n\t\t\tincludeMetadata: true,\n\t\t\tpage: page,\n\t\t});\n\n\t\tfor (const balance of balances) {\n\t\t\tif (balance.tokenID) {\n\t\t\t\tstate.indexerTokenBalances.set(\n\t\t\t\t\tbalance.tokenID,\n\t\t\t\t\tcollectibleFromTokenBalance(balance),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (!nextPage.more) {\n\t\t\tbreak;\n\t\t}\n\t\tpage = nextPage;\n\t}\n\n\tstate.indexerTokensFetched = true;\n}\n\n// Process indexer tokens that we haven't seen yet\nfunction processRemainingIndexerTokens(\n\tstate: InventoryState,\n\tpage: Page,\n): CollectiblesResponse {\n\tconst allTokens = Array.from(state.indexerTokenBalances.values());\n\n\t// Filter out tokens that we've already seen\n\tconst newTokens = allTokens.filter(\n\t\t(token) => !state.seenTokenIds.has(token.metadata.tokenId),\n\t);\n\n\t// Calculate pagination\n\tconst startIndex = (page.page - 1) * page.pageSize;\n\tconst endIndex = startIndex + page.pageSize;\n\tconst paginatedTokens = newTokens.slice(startIndex, endIndex);\n\n\t// Add new token IDs to the set\n\tfor (const token of paginatedTokens) {\n\t\tstate.seenTokenIds.add(token.metadata.tokenId);\n\t}\n\n\treturn {\n\t\tcollectibles: paginatedTokens,\n\t\tpage: {\n\t\t\tpage: page.page,\n\t\t\tpageSize: page.pageSize,\n\t\t\tmore: endIndex < newTokens.length,\n\t\t},\n\t};\n}\n\nfunction processMarketplaceCollectibles(\n\tcollectibles: CollectibleOrder[],\n\tstate: InventoryState,\n\tpage: Page,\n): {\n\tenrichedCollectibles: CollectibleWithBalance[];\n\tmissingTokens: CollectibleWithBalance[];\n} {\n\t// Add new token IDs to the set\n\tfor (const c of collectibles) {\n\t\tstate.seenTokenIds.add(c.metadata.tokenId);\n\t}\n\n\t// Enrich marketplace collectibles with balance data from indexer\n\tconst enrichedCollectibles = collectibles.map((c: CollectibleOrder) => {\n\t\tconst tokenId = c.metadata.tokenId;\n\t\tconst indexerData = state.indexerTokenBalances.get(tokenId);\n\n\t\treturn {\n\t\t\t...c,\n\t\t\tbalance: indexerData?.balance,\n\t\t\tcontractInfo: indexerData?.contractInfo,\n\t\t\tcontractType: indexerData?.contractType,\n\t\t} as CollectibleWithBalance;\n\t});\n\n\t// Check for missing tokens in the marketplace data\n\tconst marketplaceTokenIds = new Set(\n\t\tenrichedCollectibles.map((c) => c.metadata.tokenId),\n\t);\n\n\tconst missingTokens = Array.from(state.indexerTokenBalances.entries())\n\t\t.filter(([tokenId]) => !marketplaceTokenIds.has(tokenId))\n\t\t.map(([_, balance]) => balance)\n\t\t.slice(0, page.pageSize);\n\n\treturn { enrichedCollectibles, missingTokens };\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 collectionKey = getCollectionKey(args);\n\tconst state = getOrInitState(collectionKey);\n\n\t// On first run, fetch all pages from the indexer\n\tif (!state.indexerTokensFetched) {\n\t\tawait fetchAllIndexerTokens(\n\t\t\tchainId,\n\t\t\taccountAddress,\n\t\t\tcollectionAddress,\n\t\t\tconfig,\n\t\t\tstate,\n\t\t);\n\t}\n\n\t// If marketplace API has no more results, use the indexer data\n\tif (state.marketplaceFinished) {\n\t\treturn processRemainingIndexerTokens(state, page);\n\t}\n\n\t// Fetch collectibles from marketplace API\n\tconst collectibles = await fetchCollectibles(\n\t\t{\n\t\t\tchainId,\n\t\t\tcollectionAddress,\n\t\t\tfilter: {\n\t\t\t\tinAccounts: [accountAddress],\n\t\t\t\tincludeEmpty: true,\n\t\t\t},\n\t\t\tside: OrderSide.listing,\n\t\t\tisLaos721,\n\t\t},\n\t\tconfig,\n\t\tpage,\n\t);\n\n\t// Process the collectibles and find missing tokens\n\tconst { enrichedCollectibles, missingTokens } =\n\t\tprocessMarketplaceCollectibles(collectibles.collectibles, state, page);\n\n\t// If there are no more results from the marketplace API\n\tif (!collectibles.page?.more) {\n\t\t// Mark marketplace as finished and start using indexer data on next call\n\t\tstate.marketplaceFinished = true;\n\t\treturn {\n\t\t\tcollectibles: [...enrichedCollectibles, ...missingTokens],\n\t\t\tpage: {\n\t\t\t\tpage: collectibles.page?.page ?? page.page,\n\t\t\t\tpageSize: collectibles.page?.pageSize ?? page.pageSize,\n\t\t\t\tmore: missingTokens.length > 0,\n\t\t\t},\n\t\t};\n\t}\n\n\treturn {\n\t\tcollectibles: enrichedCollectibles,\n\t\tpage: {\n\t\t\tpage: collectibles.page?.page ?? page.page,\n\t\t\tpageSize: collectibles.page?.pageSize ?? page.pageSize,\n\t\t\tmore: Boolean(collectibles.page?.more),\n\t\t},\n\t};\n}\n\nexport function inventoryOptions(args: UseInventoryArgs, config: SdkConfig) {\n\tconst collectionKey = getCollectionKey(args);\n\tconst enabledQuery = args.query?.enabled ?? true;\n\tconst enabled =\n\t\tenabledQuery && !!args.accountAddress && !!args.collectionAddress;\n\n\treturn infiniteQueryOptions({\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],\n\t\tqueryFn: ({ pageParam }) =>\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\tpageParam,\n\t\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\tenabled,\n\t\tmeta: {\n\t\t\tonInvalidate: () => {\n\t\t\t\tstateByCollection.delete(collectionKey);\n\t\t\t},\n\t\t},\n\t});\n}\n","import { infiniteQueryOptions } from '@tanstack/react-query';\nimport type { Address, Hex } from 'viem';\nimport type { Page, SdkConfig } from '../../types';\nimport type {\n\tCollectibleOrder,\n\tCollectiblesFilter,\n\tListCollectiblesArgs,\n\tListCollectiblesReturn,\n} from '../_internal';\nimport { OrderSide, collectableKeys, getMarketplaceClient } from '../_internal';\nimport { type UseListBalancesArgs, fetchBalances } from './listBalances';\nexport type UseListCollectiblesArgs = {\n\tcollectionAddress: Hex;\n\tchainId: number;\n\tside: OrderSide;\n\tfilter?: CollectiblesFilter;\n\tisLaos721?: boolean;\n\tquery?: {\n\t\tenabled?: boolean;\n\t};\n};\n\n/**\n * Fetches a list of collectibles with pagination support\n *\n * @param args - Arguments for the API call\n * @param config - SDK configuration\n * @param page - Page parameters for pagination\n * @returns The collectibles data\n */\nexport async function fetchCollectibles(\n\targs: UseListCollectiblesArgs,\n\tconfig: SdkConfig,\n\tpage: Page,\n): Promise<ListCollectiblesReturn> {\n\tconst marketplaceClient = getMarketplaceClient(args.chainId, config);\n\tconst parsedArgs = {\n\t\t...args,\n\t\tcontractAddress: args.collectionAddress,\n\t\tpage: page,\n\t\tside: args.side,\n\t} satisfies ListCollectiblesArgs;\n\n\tif (args.isLaos721 && args.side === OrderSide.listing) {\n\t\ttry {\n\t\t\tconst fetchBalancesArgs = {\n\t\t\t\tchainId: args.chainId,\n\t\t\t\taccountAddress: args.filter?.inAccounts?.[0] as Address,\n\t\t\t\tcontractAddress: args.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},\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\treturn await marketplaceClient.listCollectibles(parsedArgs);\n}\n\n/**\n * Creates a tanstack infinite query options object for the collectibles query\n *\n * @param args - The query arguments\n * @param config - SDK configuration\n * @returns Query options configuration\n */\nexport function listCollectiblesOptions(\n\targs: UseListCollectiblesArgs,\n\tconfig: SdkConfig,\n) {\n\treturn infiniteQueryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...collectableKeys.lists, args, config],\n\t\tqueryFn: ({ pageParam }) => fetchCollectibles(args, config, pageParam),\n\t\tinitialPageParam: { page: 1, pageSize: 30 } as Page,\n\t\tgetNextPageParam: (lastPage) =>\n\t\t\tlastPage.page?.more ? lastPage.page : undefined,\n\t});\n}\n","import type { GetTokenBalancesReturn, Page } from '@0xsequence/indexer';\nimport { infiniteQueryOptions } from '@tanstack/react-query';\nimport type { Hex } from 'viem';\nimport type { SdkConfig } from '../../types';\nimport { balanceQueries, getIndexerClient } from '../_internal';\n\nexport type UseListBalancesArgs = {\n\tchainId: number;\n\taccountAddress?: Hex;\n\tcontractAddress?: Hex;\n\ttokenId?: string;\n\tincludeMetadata?: boolean;\n\tmetadataOptions?: {\n\t\tverifiedOnly?: boolean;\n\t\tunverifiedOnly?: boolean;\n\t\tincludeContracts?: Hex[];\n\t};\n\tincludeCollectionTokens?: boolean;\n\tpage?: Page;\n\tisLaos721?: boolean;\n\t//TODO: More options\n\tquery?: {\n\t\tenabled?: boolean;\n\t};\n};\n\nexport async function fetchBalances(\n\targs: UseListBalancesArgs,\n\tconfig: SdkConfig,\n\tpage: Page,\n): Promise<GetTokenBalancesReturn> {\n\tif (args.isLaos721) {\n\t\tconst response = await fetch(\n\t\t\t'https://extensions.api.laosnetwork.io/token/GetTokenBalances',\n\t\t\t{\n\t\t\t\tmethod: 'POST',\n\t\t\t\theaders: {\n\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t},\n\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\tchainId: args.chainId.toString(),\n\t\t\t\t\taccountAddress: args.accountAddress,\n\t\t\t\t\tcontractAddress: args.contractAddress,\n\t\t\t\t\tincludeMetadata: args.includeMetadata ?? true,\n\t\t\t\t\tpage: {\n\t\t\t\t\t\tsort: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolumn: 'CREATED_AT',\n\t\t\t\t\t\t\t\torder: 'DESC',\n\t\t\t\t\t\t\t},\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);\n\n\t\tif (!response.ok) {\n\t\t\tthrow new Error(`Laos API request failed with status ${response.status}`);\n\t\t}\n\n\t\t// TODO: This is pretty unsafe, we should validate the response\n\t\treturn response.json() as Promise<GetTokenBalancesReturn>;\n\t}\n\n\tconst indexerClient = getIndexerClient(args.chainId, config);\n\treturn indexerClient.getTokenBalances({\n\t\t...args,\n\t\ttokenID: args.tokenId,\n\t\tpage: page,\n\t});\n}\n\n/**\n * Creates a tanstack infinite query options object for the balances query\n *\n * @param args - The query arguments\n * @param config - SDK configuration\n * @returns Query options configuration\n */\nexport function listBalancesOptions(\n\targs: UseListBalancesArgs,\n\tconfig: SdkConfig,\n) {\n\treturn infiniteQueryOptions({\n\t\t...args.query,\n\t\tqueryKey: [...balanceQueries.lists, args, config],\n\t\tqueryFn: ({ pageParam }) => fetchBalances(args, config, pageParam),\n\t\tinitialPageParam: { page: 1, pageSize: 30 } as Page,\n\t\tgetNextPageParam: (lastPage) => lastPage.page.after,\n\t});\n}\n","import { queryOptions } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport type { SdkConfig } from '../../types';\nimport {\n\ttype GetCollectibleHighestOfferArgs,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\n\nexport interface UseHighestOfferArgs\n\textends Omit<GetCollectibleHighestOfferArgs, 'contractAddress'> {\n\tcollectionAddress: Address;\n\tchainId: number;\n\tquery?: {\n\t\tenabled?: boolean;\n\t};\n}\n\nexport async function fetchHighestOffer(\n\targs: UseHighestOfferArgs,\n\tconfig: SdkConfig,\n) {\n\tconst marketplaceClient = getMarketplaceClient(args.chainId, config);\n\n\tconst data = await marketplaceClient.getCollectibleHighestOffer({\n\t\tcontractAddress: args.collectionAddress,\n\t\t...args,\n\t});\n\n\t// let order: Order | undefined;\n\t// if (data.order) {\n\t// \torder = {\n\t// \t\t...data.order,\n\t// \t\tpriceAmount: BigInt(data.order.priceAmount),\n\t// \t\tpriceAmountNet: BigInt(data.order.priceAmountNet),\n\t// \t};\n\t// }\n\n\treturn data.order ?? null;\n}\n\n/**\n * Creates a tanstack query options object for the highest offer query\n *\n * @param args - The query arguments\n * @param config - SDK configuration\n * @returns Query options configuration\n */\nexport function highestOfferOptions(\n\targs: UseHighestOfferArgs,\n\tconfig: SdkConfig,\n) {\n\treturn queryOptions({\n\t\tenabled: args.query?.enabled ?? true,\n\t\tqueryKey: [...collectableKeys.highestOffers, args],\n\t\tqueryFn: () => fetchHighestOffer(args, config),\n\t});\n}\n","import { queryOptions } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport type { SdkConfig } from '../../types';\nimport {\n\ttype GetCollectibleLowestListingArgs,\n\ttype GetCollectibleLowestListingReturn,\n\tcollectableKeys,\n\tgetMarketplaceClient,\n} from '../_internal';\n\nexport interface UseLowestListingArgs\n\textends Omit<GetCollectibleLowestListingArgs, 'contractAddress'> {\n\tcollectionAddress: Address;\n\tchainId: number;\n\tquery?: {\n\t\tenabled?: boolean;\n\t};\n}\n\nexport async function fetchLowestListing(\n\targs: UseLowestListingArgs,\n\tconfig: SdkConfig,\n): Promise<GetCollectibleLowestListingReturn['order'] | null> {\n\tconst marketplaceClient = getMarketplaceClient(args.chainId, config);\n\n\tconst data = await marketplaceClient.getCollectibleLowestListing({\n\t\tcontractAddress: args.collectionAddress,\n\t\t...args,\n\t});\n\n\t// let order: Order | undefined;\n\t// if (data.order) {\n\t// \torder = {\n\t// \t\t...data.order,\n\t// \t\tpriceAmount: BigInt(data.order.priceAmount),\n\t// \t\tpriceAmountNet: BigInt(data.order.priceAmountNet),\n\t// \t};\n\t// }\n\n\treturn data.order || null;\n}\n\nexport function lowestListingOptions(\n\targs: UseLowestListingArgs,\n\tconfig: SdkConfig,\n) {\n\treturn queryOptions({\n\t\tenabled: args.query?.enabled ?? true,\n\t\tqueryKey: [...collectableKeys.lowestListings, args],\n\t\tqueryFn: () => fetchLowestListing(args, config),\n\t});\n}\n","import { queryOptions } from '@tanstack/react-query';\nimport type { SdkConfig } from '../../types';\nimport { getMetadataClient } from '../_internal';\n\nexport interface FetchTokenMetadataArgs {\n\tchainId: number;\n\tcontractAddress: string;\n\ttokenIds: string[];\n\tquery?: {\n\t\tenabled?: boolean;\n\t};\n}\n\nconst fetchTokenMetadata = async (\n\t{ chainId, contractAddress, tokenIds }: FetchTokenMetadataArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst metadataClient = getMetadataClient(config);\n\n\tconst response = await metadataClient.getTokenMetadata({\n\t\tchainID: chainId.toString(),\n\t\tcontractAddress: contractAddress,\n\t\ttokenIDs: tokenIds,\n\t});\n\n\treturn response.tokenMetadata;\n};\n\nexport const tokenMetadataOptions = (\n\targs: FetchTokenMetadataArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: ['listTokenMetadata', args.chainId, args.contractAddress],\n\t\tqueryFn: () => fetchTokenMetadata(args, config),\n\t});\n};\n","import { queryOptions } from '@tanstack/react-query';\nimport { type Address, zeroAddress } from 'viem';\nimport type { SdkConfig } from '../../types';\nimport { compareAddress } from '../../utils';\nimport {\n\tcurrencyKeys,\n\tgetMarketplaceClient,\n\tgetQueryClient,\n} from '../_internal';\nimport { marketplaceConfigOptions } from './marketplaceConfig';\n\ntype QueryArg = {\n\tenabled?: boolean;\n};\n\nexport interface UseMarketCurrenciesArgs {\n\tchainId: number;\n\tincludeNativeCurrency?: boolean;\n\tcollectionAddress?: Address;\n\tquery?: QueryArg;\n}\n\nconst fetchMarketCurrencies = async (\n\targs: UseMarketCurrenciesArgs,\n\tconfig: SdkConfig,\n) => {\n\tconst includeNativeCurrency = args.includeNativeCurrency ?? true;\n\tconst marketplaceClient = getMarketplaceClient(args.chainId, config);\n\n\tlet currencies = await marketplaceClient.listCurrencies().then((resp) =>\n\t\tresp.currencies.map((currency) => ({\n\t\t\t...currency,\n\t\t\tcontractAddress: currency.contractAddress || zeroAddress,\n\t\t})),\n\t);\n\n\tif (args.collectionAddress) {\n\t\tconst queryClient = getQueryClient();\n\t\tconst marketplaceConfig = await queryClient.fetchQuery(\n\t\t\tmarketplaceConfigOptions(config),\n\t\t);\n\n\t\tconst currenciesOptions = marketplaceConfig.market.collections.find(\n\t\t\t(collection) =>\n\t\t\t\tcompareAddress(collection.itemsAddress, args.collectionAddress),\n\t\t)?.currencyOptions;\n\n\t\t// Filter currencies based on collection currency options\n\t\tif (currenciesOptions) {\n\t\t\tcurrencies = currencies.filter((currency) =>\n\t\t\t\tcurrenciesOptions.includes(currency.contractAddress),\n\t\t\t);\n\t\t}\n\t}\n\n\tif (!includeNativeCurrency) {\n\t\tcurrencies = currencies.filter((currency) => !currency.nativeCurrency);\n\t}\n\n\treturn currencies;\n};\n\nexport const currenciesOptions = (\n\targs: UseMarketCurrenciesArgs,\n\tconfig: SdkConfig,\n) => {\n\treturn queryOptions({\n\t\t...args.query,\n\t\tqueryKey: [\n\t\t\t...currencyKeys.lists,\n\t\t\targs.chainId,\n\t\t\targs.includeNativeCurrency ?? true,\n\t\t\targs.collectionAddress,\n\t\t],\n\t\tqueryFn: () => fetchMarketCurrencies(args, config),\n\t});\n};\n"],"mappings":"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","names":["queryOptions","queryOptions","infiniteQueryOptions","infiniteQueryOptions","infiniteQueryOptions","infiniteQueryOptions","queryOptions","queryOptions","queryOptions","queryOptions","queryOptions","queryOptions","queryOptions","currenciesOptions","queryOptions"]}
@@ -8,4 +8,4 @@ export {
8
8
  SEQUENCE_MARKET_V2_ADDRESS,
9
9
  DEFAULT_MARKETPLACE_FEE_PERCENTAGE
10
10
  };
11
- //# sourceMappingURL=chunk-Y63BOO6M.js.map
11
+ //# sourceMappingURL=chunk-LECCEZAO.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  AddressSchema,
3
3
  QueryArgSchema
4
- } from "./chunk-DWTLVJAW.js";
4
+ } from "./chunk-6OPMUCGX.js";
5
5
  import {
6
6
  collectionKeys,
7
7
  getMetadataClient
8
- } from "./chunk-KGM2WLSP.js";
8
+ } from "./chunk-OAOONM4S.js";
9
9
 
10
10
  // src/react/hooks/options/collectionOptions.ts
11
11
  import { queryOptions } from "@tanstack/react-query";
@@ -35,4 +35,4 @@ export {
35
35
  fetchCollection,
36
36
  collectionOptions
37
37
  };
38
- //# sourceMappingURL=chunk-YALXP2PW.js.map
38
+ //# sourceMappingURL=chunk-N7SQWS2R.js.map