@0xsequence/marketplace-sdk 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/CHANGELOG.md +34 -3
  2. package/dist/{BellIcon-ByhygxBO.js → BellIcon-DMKEumAz.js} +2 -2
  3. package/dist/BellIcon-DMKEumAz.js.map +1 -0
  4. package/dist/{CartIcon-Bt3rQYGk.js → CartIcon-UyB4NYKt.js} +3 -3
  5. package/dist/CartIcon-UyB4NYKt.js.map +1 -0
  6. package/dist/CollectibleCard-z05qWzKE.d.ts +8 -0
  7. package/dist/_internal-DkS2VUn5.js.map +1 -1
  8. package/dist/abi-fa-o9gH3.js.map +1 -1
  9. package/dist/{alien_swap-DoY6XfMA.js → alien_swap-Cq8LuElo.js} +1 -1
  10. package/dist/{alien_swap-DoY6XfMA.js.map → alien_swap-Cq8LuElo.js.map} +1 -1
  11. package/dist/{api-BoO0V5aJ.js → api-GwTR0dBA.js} +8 -49
  12. package/dist/api-GwTR0dBA.js.map +1 -0
  13. package/dist/{aqua-xyz-BBDxnG14.js → aqua-xyz-0yye_c-Z.js} +1 -1
  14. package/dist/{aqua-xyz-BBDxnG14.js.map → aqua-xyz-0yye_c-Z.js.map} +1 -1
  15. package/dist/{aura-DGx2zwvF.js → aura-TaxFvTFQ.js} +1 -1
  16. package/dist/{aura-DGx2zwvF.js.map → aura-TaxFvTFQ.js.map} +1 -1
  17. package/dist/{blur-D8GKrRrq.js → blur-BupOTobO.js} +1 -1
  18. package/dist/{blur-D8GKrRrq.js.map → blur-BupOTobO.js.map} +1 -1
  19. package/dist/{builder-api-BFuZNOaN.js → builder-api-m4JAA6ee.js} +3 -3
  20. package/dist/builder-api-m4JAA6ee.js.map +1 -0
  21. package/dist/{builder.gen-B9wR2nvF.js → builder.gen--XD71cNL.js} +2 -2
  22. package/dist/builder.gen--XD71cNL.js.map +1 -0
  23. package/dist/{coinbase-DOry4PXY.js → coinbase-DTgZ4wDT.js} +1 -1
  24. package/dist/{coinbase-DOry4PXY.js.map → coinbase-DTgZ4wDT.js.map} +1 -1
  25. package/dist/{collectibles-C_H8jMGH.js → collectibles-CZ6i8sXK.js} +15 -49
  26. package/dist/collectibles-CZ6i8sXK.js.map +1 -0
  27. package/dist/{collections-CKummc-R.js → collections-5NcU-7ZR.js} +92 -10
  28. package/dist/collections-5NcU-7ZR.js.map +1 -0
  29. package/dist/{components-CosnX7F9.js → components-CY8kx2kb.js} +13 -9
  30. package/dist/components-CY8kx2kb.js.map +1 -0
  31. package/dist/{contracts-BP_0vX48.js → contracts-DRJHF89h.js} +4 -3
  32. package/dist/{contracts-BP_0vX48.js.map → contracts-DRJHF89h.js.map} +1 -1
  33. package/dist/{create-config-CIfejoCk.js → create-config-BxyfYCEk.js} +6 -5
  34. package/dist/create-config-BxyfYCEk.js.map +1 -0
  35. package/dist/{create-config-ZOB7i4ZJ.d.ts → create-config-CFBeD8CB.d.ts} +47 -60
  36. package/dist/{element-ciybd_VF.js → element-D4dDznlu.js} +1 -1
  37. package/dist/{element-ciybd_VF.js.map → element-D4dDznlu.js.map} +1 -1
  38. package/dist/{filters-V-V8Dn8f.d.ts → filters-B5niI_fX.d.ts} +7 -7
  39. package/dist/{foundation-Bq4lRz4x.js → foundation-GHZOKAzN.js} +1 -1
  40. package/dist/{foundation-Bq4lRz4x.js.map → foundation-GHZOKAzN.js.map} +1 -1
  41. package/dist/{index-BeRV-7AX.d.ts → index-8scPf0CS.d.ts} +2 -2
  42. package/dist/index-9qsplZ8r.d.ts +18 -0
  43. package/dist/{index-BZIJTQT0.d.ts → index-BIuYTMc2.d.ts} +10 -9
  44. package/dist/{index-C4MUKshG.d.ts → index-BNrz99xy.d.ts} +3 -3
  45. package/dist/{index-Bsx6XsC2.d.ts → index-BYQOPS8e.d.ts} +116 -62
  46. package/dist/{index-DUXfvhxs.d.ts → index-BkZ7SPLc.d.ts} +19 -29
  47. package/dist/{index-NlPMNcqh.d.ts → index-BnUku_aF.d.ts} +109 -114
  48. package/dist/{index-Stm5u0I0.d.ts → index-BtDAHMW_.d.ts} +9 -12
  49. package/dist/{index-BOiHR01C.d.ts → index-C-c_M_sE.d.ts} +10 -9
  50. package/dist/{index-DWt6yrIG.d.ts → index-CNIiC8Z_.d.ts} +11 -8
  51. package/dist/{index-DmudgrsN.d.ts → index-CbERNN3s.d.ts} +26 -16
  52. package/dist/{index-CxpFwGvR.d.ts → index-CsfxsN0t.d.ts} +4 -4
  53. package/dist/{index-CxA34wP1.d.ts → index-DASjaiJL.d.ts} +105 -19
  54. package/dist/{index-Bxzjy0d1.d.ts → index-DD7Vc4cE.d.ts} +2 -2
  55. package/dist/{index-DqXd1EeB.d.ts → index-DIc8OqWV.d.ts} +7 -6
  56. package/dist/{index-CnEbXm_t.d.ts → index-DVI_vggD.d.ts} +53 -12
  57. package/dist/{index-CPzvNmq9.d.ts → index-DqxQeYT2.d.ts} +39 -36
  58. package/dist/{index-CS65jqOq.d.ts → index-Dsf9FRtr.d.ts} +19 -3
  59. package/dist/{index-DFEnA6Wa.d.ts → index-DxAReMEO.d.ts} +34 -34
  60. package/dist/{index-U-zp70of.d.ts → index-UXRoZmd_.d.ts} +8 -12
  61. package/dist/{index-DwKr18CI.d.ts → index-isFvc5gd.d.ts} +2 -2
  62. package/dist/{index-BtWMBHeP.d.ts → index-j3nuJWyJ.d.ts} +13 -9
  63. package/dist/{index-C-745li7.d.ts → index-nVb7o0hc.d.ts} +2 -2
  64. package/dist/{index-D9LPlmbC.d.ts → index-pbE88Tt7.d.ts} +2 -2
  65. package/dist/index.d.ts +8 -8
  66. package/dist/index.js +9 -9
  67. package/dist/{inventory-Dd7TazvZ.js → inventory--t6Zu55O.js} +21 -18
  68. package/dist/inventory--t6Zu55O.js.map +1 -0
  69. package/dist/{listCollectiblesPaginated-Cy2_qEZA.d.ts → listCollectiblesPaginated-BlE5mSzh.d.ts} +32 -32
  70. package/dist/{listCollections-BB9FxKj2.d.ts → listCollections-DWyqFSQ3.d.ts} +143 -66
  71. package/dist/{looks-rare-6H--x3AM.js → looks-rare-2HBhMpOf.js} +1 -1
  72. package/dist/{looks-rare-6H--x3AM.js.map → looks-rare-2HBhMpOf.js.map} +1 -1
  73. package/dist/{lowestListing-Cbsi6M1K.d.ts → lowestListing-DsunDO1c.d.ts} +38 -28
  74. package/dist/{magic-eden-BoxEQ1Li.js → magic-eden-BYdTp-uk.js} +1 -1
  75. package/dist/{magic-eden-BoxEQ1Li.js.map → magic-eden-BYdTp-uk.js.map} +1 -1
  76. package/dist/{manifold-DycKsljb.js → manifold-yE0x6ZmO.js} +1 -1
  77. package/dist/{manifold-DycKsljb.js.map → manifold-yE0x6ZmO.js.map} +1 -1
  78. package/dist/{market-C3HV-awQ.js → market-DuBpFsDg.js} +27 -17
  79. package/dist/market-DuBpFsDg.js.map +1 -0
  80. package/dist/{marketCurrencies-Bpw1bIO0.d.ts → marketCurrencies-BgwmbGFk.d.ts} +20 -9
  81. package/dist/{marketCurrencies-sKrTX0og.js → marketCurrencies-Bolonndy.js} +13 -7
  82. package/dist/marketCurrencies-Bolonndy.js.map +1 -0
  83. package/dist/marketplace-NQB-sEQL.js.map +1 -1
  84. package/dist/{marketplace-logos-D4dS1Foy.js → marketplace-logos-Cz9RrtQo.js} +21 -21
  85. package/dist/marketplace-logos-Cz9RrtQo.js.map +1 -0
  86. package/dist/{marketplace.gen-ksUafDqS.js → marketplace.gen-906FrJQJ.js} +24 -5
  87. package/dist/marketplace.gen-906FrJQJ.js.map +1 -0
  88. package/dist/{marketplaceConfig-UHQMM9fq.js → marketplaceConfig-Bqjo7NYO.js} +8 -4
  89. package/dist/marketplaceConfig-Bqjo7NYO.js.map +1 -0
  90. package/dist/{mintify-Dyqyo8jQ.js → mintify-BXQx3mZB.js} +1 -1
  91. package/dist/{mintify-Dyqyo8jQ.js.map → mintify-BXQx3mZB.js.map} +1 -1
  92. package/dist/{network-DtmiMhcg.js → network-DwdZ_5-7.js} +2 -2
  93. package/dist/network-DwdZ_5-7.js.map +1 -0
  94. package/dist/{networkconfigToWagmiChain-DbUf6HiO.js → networkconfigToWagmiChain-Ct-hGq8M.js} +4 -3
  95. package/dist/networkconfigToWagmiChain-Ct-hGq8M.js.map +1 -0
  96. package/dist/{nftx-2LbFjj9Q.js → nftx-B929_3Ce.js} +1 -1
  97. package/dist/{nftx-2LbFjj9Q.js.map → nftx-B929_3Ce.js.map} +1 -1
  98. package/dist/{okx-CBEWJNsR.js → okx-sZ0-Udny.js} +1 -1
  99. package/dist/{okx-CBEWJNsR.js.map → okx-sZ0-Udny.js.map} +1 -1
  100. package/dist/{open-sea-Dxntz_PA.js → open-sea-DO9PhTrz.js} +1 -1
  101. package/dist/{open-sea-Dxntz_PA.js.map → open-sea-DO9PhTrz.js.map} +1 -1
  102. package/dist/{orders-DnFfZAXV.js → orders-DH76ym2e.js} +16 -9
  103. package/dist/orders-DH76ym2e.js.map +1 -0
  104. package/dist/primary-sale-1u4QlPdA.js.map +1 -1
  105. package/dist/{primary-sales-Dmsi6bqj.js → primary-sales-CECrqatg.js} +49 -7
  106. package/dist/primary-sales-CECrqatg.js.map +1 -0
  107. package/dist/{query-BWbCsXLY.d.ts → query-brXxOcH0.d.ts} +1 -1
  108. package/dist/{rarible-CS0SupHr.js → rarible-Ccb2hs7y.js} +1 -1
  109. package/dist/{rarible-CS0SupHr.js.map → rarible-Ccb2hs7y.js.map} +1 -1
  110. package/dist/react/_internal/api/index.d.ts +2 -2
  111. package/dist/react/_internal/api/index.js +6 -6
  112. package/dist/react/_internal/databeat/index.d.ts +1 -1
  113. package/dist/react/_internal/databeat/index.js +28 -29
  114. package/dist/react/_internal/index.d.ts +2 -2
  115. package/dist/react/_internal/index.js +8 -8
  116. package/dist/react/_internal/wagmi/index.d.ts +1 -1
  117. package/dist/react/_internal/wagmi/index.js +3 -3
  118. package/dist/react/hooks/config/index.d.ts +8 -8
  119. package/dist/react/hooks/config/index.js +28 -29
  120. package/dist/react/hooks/contracts/index.d.ts +6 -6
  121. package/dist/react/hooks/contracts/index.js +8 -8
  122. package/dist/react/hooks/data/collectibles/index.d.ts +10 -10
  123. package/dist/react/hooks/data/collectibles/index.js +28 -29
  124. package/dist/react/hooks/data/collections/index.d.ts +11 -11
  125. package/dist/react/hooks/data/collections/index.js +29 -30
  126. package/dist/react/hooks/data/index.d.ts +37 -37
  127. package/dist/react/hooks/data/index.js +29 -30
  128. package/dist/react/hooks/data/inventory/index.d.ts +36 -36
  129. package/dist/react/hooks/data/inventory/index.js +28 -29
  130. package/dist/react/hooks/data/market/index.d.ts +11 -11
  131. package/dist/react/hooks/data/market/index.js +28 -29
  132. package/dist/react/hooks/data/orders/index.d.ts +10 -10
  133. package/dist/react/hooks/data/orders/index.js +28 -29
  134. package/dist/react/hooks/data/primary-sales/index.d.ts +37 -37
  135. package/dist/react/hooks/data/primary-sales/index.js +29 -30
  136. package/dist/react/hooks/data/tokens/index.d.ts +4 -4
  137. package/dist/react/hooks/data/tokens/index.js +28 -29
  138. package/dist/react/hooks/index.d.ts +37 -37
  139. package/dist/react/hooks/index.js +29 -30
  140. package/dist/react/hooks/transactions/index.d.ts +2 -2
  141. package/dist/react/hooks/transactions/index.js +28 -29
  142. package/dist/react/hooks/ui/index.d.ts +4 -4
  143. package/dist/react/hooks/ui/index.js +28 -29
  144. package/dist/react/hooks/utils/index.d.ts +36 -36
  145. package/dist/react/hooks/utils/index.js +28 -29
  146. package/dist/react/index.d.ts +37 -37
  147. package/dist/react/index.js +29 -30
  148. package/dist/react/queries/collectibles/index.d.ts +10 -10
  149. package/dist/react/queries/collectibles/index.js +12 -13
  150. package/dist/react/queries/collections/index.d.ts +11 -11
  151. package/dist/react/queries/collections/index.js +11 -11
  152. package/dist/react/queries/index.d.ts +24 -24
  153. package/dist/react/queries/index.js +22 -23
  154. package/dist/react/queries/inventory/index.d.ts +2 -2
  155. package/dist/react/queries/inventory/index.js +12 -12
  156. package/dist/react/queries/market/index.d.ts +5 -5
  157. package/dist/react/queries/market/index.js +12 -12
  158. package/dist/react/queries/orders/index.d.ts +10 -10
  159. package/dist/react/queries/orders/index.js +8 -8
  160. package/dist/react/queries/primary-sales/index.d.ts +4 -4
  161. package/dist/react/queries/primary-sales/index.js +9 -9
  162. package/dist/react/queries/tokens/index.d.ts +4 -4
  163. package/dist/react/queries/tokens/index.js +8 -9
  164. package/dist/react/queries/utils/index.d.ts +3 -3
  165. package/dist/react/queries/utils/index.js +12 -12
  166. package/dist/react/ssr/index.d.ts +7 -7
  167. package/dist/react/ssr/index.js +8 -8
  168. package/dist/react/ssr/index.js.map +1 -1
  169. package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.d.ts +2 -2
  170. package/dist/react/ui/components/marketplace-collectible-card/components/footer/components/index.js +12 -12
  171. package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.d.ts +7 -10
  172. package/dist/react/ui/components/marketplace-collectible-card/components/footer/index.js +28 -29
  173. package/dist/react/ui/components/marketplace-collectible-card/index.d.ts +4 -4
  174. package/dist/react/ui/components/marketplace-collectible-card/index.js +28 -29
  175. package/dist/react/ui/components/marketplace-collectible-card/utils/index.d.ts +2 -2
  176. package/dist/react/ui/components/marketplace-collectible-card/utils/index.js +8 -8
  177. package/dist/react/ui/components/marketplace-logos/index.d.ts +21 -21
  178. package/dist/react/ui/components/marketplace-logos/index.js +1 -1
  179. package/dist/react/ui/icons/index.js +8 -8
  180. package/dist/react/ui/index.d.ts +4 -4
  181. package/dist/react/ui/index.js +28 -29
  182. package/dist/react/ui/modals/_internal/components/actionModal/index.d.ts +2 -2
  183. package/dist/react/ui/modals/_internal/components/actionModal/index.js +28 -29
  184. package/dist/react/utils/index.d.ts +1 -1
  185. package/dist/react/utils/index.js +6 -6
  186. package/dist/{react-DE852KeT.js → react-CBsgOdVP.js} +608 -735
  187. package/dist/react-CBsgOdVP.js.map +1 -0
  188. package/dist/{sequence-paCCener.js → sequence-CRdb1yEs.js} +1 -1
  189. package/dist/{sequence-paCCener.js.map → sequence-CRdb1yEs.js.map} +1 -1
  190. package/dist/styles/index.css +1 -1
  191. package/dist/{sudo-swap-9rH2EgfT.js → sudo-swap-BIklG2gq.js} +1 -1
  192. package/dist/{sudo-swap-9rH2EgfT.js.map → sudo-swap-BIklG2gq.js.map} +1 -1
  193. package/dist/{super-rare-DHIuWtRw.js → super-rare-h8645_5E.js} +1 -1
  194. package/dist/{super-rare-DHIuWtRw.js.map → super-rare-h8645_5E.js.map} +1 -1
  195. package/dist/token-Cv7l2ZaL.js.map +1 -1
  196. package/dist/{tokenBalances-ibDerNmM.js → tokenBalances-CouzNX4j.js} +6 -12
  197. package/dist/tokenBalances-CouzNX4j.js.map +1 -0
  198. package/dist/{tokenSupplies-Bfe8RHzI.d.ts → tokenSupplies-C3zJll0M.d.ts} +32 -39
  199. package/dist/{tokens-cGxMadd8.js → tokens-BvIRUCGG.js} +58 -27
  200. package/dist/tokens-BvIRUCGG.js.map +1 -0
  201. package/dist/transaction-DZUW5RHu.js.map +1 -1
  202. package/dist/types/index.d.ts +1 -1
  203. package/dist/types/index.js +2 -2
  204. package/dist/types-B_-cnkcP.js.map +1 -1
  205. package/dist/{types-D2TJ1dwv.d.ts → types-CMDwfhfR.d.ts} +5 -5
  206. package/dist/utils/abi/index.d.ts +4 -4
  207. package/dist/utils/abi/marketplace/index.d.ts +1 -1
  208. package/dist/utils/abi/primary-sale/index.d.ts +1 -1
  209. package/dist/utils/abi/token/index.d.ts +1 -1
  210. package/dist/utils/index.d.ts +7 -7
  211. package/dist/utils/index.js +7 -7
  212. package/dist/{utils-BfpDVibN.js → utils-9ToOvt-c.js} +50 -7
  213. package/dist/utils-9ToOvt-c.js.map +1 -0
  214. package/dist/{utils-BqxcalL2.js → utils-B6di6O-C.js} +2 -2
  215. package/dist/utils-B6di6O-C.js.map +1 -0
  216. package/dist/{utils-BCgNhBFR.js → utils-BCYTEOvy.js} +17 -7
  217. package/dist/utils-BCYTEOvy.js.map +1 -0
  218. package/dist/{waitForTransactionReceipt-DieAnV52.js → waitForTransactionReceipt-CbSeUSXe.js} +5 -4
  219. package/dist/{waitForTransactionReceipt-DieAnV52.js.map → waitForTransactionReceipt-CbSeUSXe.js.map} +1 -1
  220. package/dist/{x2y2-45WDooeh.js → x2y2-OvF__ugj.js} +1 -1
  221. package/dist/{x2y2-45WDooeh.js.map → x2y2-OvF__ugj.js.map} +1 -1
  222. package/dist/{zora-CbeBoLvQ.js → zora-DzCeu-eE.js} +1 -1
  223. package/dist/{zora-CbeBoLvQ.js.map → zora-DzCeu-eE.js.map} +1 -1
  224. package/package.json +38 -38
  225. package/src/react/_internal/api/__mocks__/marketplace.msw.ts +13 -0
  226. package/src/react/_internal/api/index.ts +0 -1
  227. package/src/react/_internal/api/marketplace.gen.ts +70 -26
  228. package/src/react/_internal/api/query-keys.ts +9 -0
  229. package/src/react/hooks/data/collectibles/useBalanceOfCollectible.tsx +0 -9
  230. package/src/react/hooks/data/collectibles/useListCollectibles.tsx +1 -16
  231. package/src/react/hooks/data/collectibles/useTokenBalances.tsx +0 -9
  232. package/src/react/hooks/data/collections/index.ts +2 -0
  233. package/src/react/hooks/data/collections/useCollectionActiveListingsCurrencies.test.tsx +112 -0
  234. package/src/react/hooks/data/collections/useCollectionActiveListingsCurrencies.tsx +74 -0
  235. package/src/react/hooks/data/collections/useCollectionActiveOffersCurrencies.test.tsx +110 -0
  236. package/src/react/hooks/data/collections/useCollectionActiveOffersCurrencies.tsx +74 -0
  237. package/src/react/hooks/data/inventory/useInventory.tsx +1 -10
  238. package/src/react/hooks/data/market/useMarketCurrencies.test.tsx +31 -2
  239. package/src/react/hooks/data/primary-sales/index.ts +1 -0
  240. package/src/react/hooks/data/primary-sales/usePrimarySaleItem.tsx +71 -0
  241. package/src/react/hooks/data/tokens/useListBalances.tsx +1 -10
  242. package/src/react/hooks/data/tokens/useTokenSupplies.ts +1 -13
  243. package/src/react/hooks/transactions/useGenerateOfferTransaction.test.tsx +2 -0
  244. package/src/react/hooks/transactions/useProcessStep.test.tsx +8 -6
  245. package/src/react/hooks/transactions/useProcessStep.ts +8 -6
  246. package/src/react/hooks/utils/useComparePrices.test.tsx +1 -1
  247. package/src/react/providers/modal-provider.tsx +2 -1
  248. package/src/react/queries/collectibles/balanceOfCollectible.ts +1 -15
  249. package/src/react/queries/collectibles/listCollectibles.ts +1 -54
  250. package/src/react/queries/collectibles/tokenBalances.ts +1 -15
  251. package/src/react/queries/collections/activeListingsCurrencies.ts +84 -0
  252. package/src/react/queries/collections/activeOffersCurrencies.ts +84 -0
  253. package/src/react/queries/collections/index.ts +2 -0
  254. package/src/react/queries/inventory/inventory.ts +2 -9
  255. package/src/react/queries/market/marketCurrencies.ts +8 -1
  256. package/src/react/queries/primary-sales/index.ts +1 -0
  257. package/src/react/queries/primary-sales/primarySaleItem.ts +80 -0
  258. package/src/react/queries/tokens/listBalances.ts +1 -21
  259. package/src/react/queries/tokens/tokenSupplies.ts +2 -31
  260. package/src/react/queries/utils/comparePrices.ts +13 -1
  261. package/src/react/ui/components/_internals/action-button/ActionButton.stories.tsx +2 -0
  262. package/src/react/ui/components/marketplace-collectible-card/components/footer/Footer.tsx +4 -18
  263. package/src/react/ui/components/marketplace-collectible-card/variants/MarketCard.tsx +2 -2
  264. package/src/react/ui/components/marketplace-collectible-card/variants/ShopCard.tsx +0 -2
  265. package/src/react/ui/modals/BuyModal/__tests__/BuyModalRouter.test.tsx +3 -0
  266. package/src/react/ui/modals/BuyModal/__tests__/Modal1155.test.tsx +1 -0
  267. package/src/react/ui/modals/BuyModal/hooks/usePaymentModalParams.ts +0 -23
  268. package/src/react/ui/modals/MakeOfferModal/Modal.tsx +22 -2
  269. package/src/react/ui/modals/MakeOfferModal/__tests__/Modal.test.tsx +2 -0
  270. package/src/react/ui/modals/MakeOfferModal/hooks/useGetTokenApproval.tsx +2 -0
  271. package/src/react/ui/modals/MakeOfferModal/hooks/useTransactionSteps.tsx +2 -0
  272. package/src/react/ui/modals/_internal/components/currencyOptionsSelect/index.tsx +15 -12
  273. package/src/react/ui/modals/_internal/components/floorPriceText/__tests__/FloorPriceText.test.tsx +2 -0
  274. package/src/react/ui/modals/_internal/components/floorPriceText/index.tsx +1 -1
  275. package/src/react/ui/modals/_internal/components/priceInput/index.tsx +148 -11
  276. package/src/react/ui/modals/_internal/components/transactionDetails/index.tsx +1 -1
  277. package/src/react/ui/modals/_internal/components/transactionStatusModal/__tests__/utils.test.ts +2 -0
  278. package/src/styles/styles.ts +1 -1
  279. package/src/utils/networkconfigToWagmiChain.ts +7 -0
  280. package/src/utils/price.ts +58 -0
  281. package/test/const.ts +2 -0
  282. package/test/server-setup.ts +0 -2
  283. package/.changeset/honest-peas-arrive.md +0 -5
  284. package/.changeset/real-tips-stick.md +0 -8
  285. package/.changeset/tall-pandas-wear.md +0 -8
  286. package/dist/BellIcon-ByhygxBO.js.map +0 -1
  287. package/dist/CartIcon-Bt3rQYGk.js.map +0 -1
  288. package/dist/CollectibleCard-CVpdgXA8.d.ts +0 -8
  289. package/dist/api-BoO0V5aJ.js.map +0 -1
  290. package/dist/builder-api-BFuZNOaN.js.map +0 -1
  291. package/dist/builder.gen-B9wR2nvF.js.map +0 -1
  292. package/dist/collectibles-C_H8jMGH.js.map +0 -1
  293. package/dist/collections-CKummc-R.js.map +0 -1
  294. package/dist/components-CosnX7F9.js.map +0 -1
  295. package/dist/create-config-CIfejoCk.js.map +0 -1
  296. package/dist/index-DNNUeZEq.d.ts +0 -18
  297. package/dist/inventory-Dd7TazvZ.js.map +0 -1
  298. package/dist/listBalances-BxpxBCvn.js +0 -57
  299. package/dist/listBalances-BxpxBCvn.js.map +0 -1
  300. package/dist/market-C3HV-awQ.js.map +0 -1
  301. package/dist/marketCurrencies-sKrTX0og.js.map +0 -1
  302. package/dist/marketplace-logos-D4dS1Foy.js.map +0 -1
  303. package/dist/marketplace.gen-ksUafDqS.js.map +0 -1
  304. package/dist/marketplaceConfig-UHQMM9fq.js.map +0 -1
  305. package/dist/network-DtmiMhcg.js.map +0 -1
  306. package/dist/networkconfigToWagmiChain-DbUf6HiO.js.map +0 -1
  307. package/dist/orders-DnFfZAXV.js.map +0 -1
  308. package/dist/primary-sales-Dmsi6bqj.js.map +0 -1
  309. package/dist/react-DE852KeT.js.map +0 -1
  310. package/dist/tokenBalances-ibDerNmM.js.map +0 -1
  311. package/dist/tokens-cGxMadd8.js.map +0 -1
  312. package/dist/utils-BCgNhBFR.js.map +0 -1
  313. package/dist/utils-BfpDVibN.js.map +0 -1
  314. package/dist/utils-BqxcalL2.js.map +0 -1
  315. package/src/react/_internal/api/__mocks__/laos.msw.ts +0 -387
  316. package/src/react/_internal/api/__tests__/laos-api.test.ts +0 -756
  317. package/src/react/_internal/api/laos-api.ts +0 -106
  318. package/src/react/hooks/data/collectibles/useBalanceOfCollectible.laos.test.tsx +0 -367
  319. package/src/react/queries/collectibles/__tests__/balanceOfCollectible.laos.test.ts +0 -123
  320. package/src/react/queries/collectibles/__tests__/tokenBalances.laos.test.ts +0 -123
  321. package/src/react/queries/inventory/__tests__/inventory.laos.test.ts +0 -499
  322. package/src/react/ui/modals/_internal/constants/opensea-currencies.ts +0 -481
  323. /package/dist/{index-6wsMChsg.d.ts → index-CCggO_hw.d.ts} +0 -0
  324. /package/dist/{index-CZUtOTjh.d.ts → index-CKefEBrI.d.ts} +0 -0
  325. /package/dist/{index-DW3njUfb.d.ts → index-DgsCqh_P.d.ts} +0 -0
  326. /package/dist/{index-DewGsFz5.d.ts → index-xpO4AQyS.d.ts} +0 -0
  327. /package/dist/{queries-KOcILNJO.js → queries-CyajGg_O.js} +0 -0
@@ -1,756 +0,0 @@
1
- import { setupServer } from 'msw/node';
2
- import { afterAll, afterEach, beforeEach, describe, expect, it } from 'vitest';
3
- import { laosHandlers } from '../__mocks__/laos.msw';
4
- import { LaosAPI } from '../laos-api';
5
-
6
- // Setup MSW server
7
- const server = setupServer(...laosHandlers);
8
-
9
- describe('LaosAPI', () => {
10
- let laosApi: LaosAPI;
11
-
12
- beforeEach(() => {
13
- laosApi = new LaosAPI();
14
- server.listen({ onUnhandledRequest: 'error' });
15
- });
16
-
17
- afterEach(() => {
18
- server.resetHandlers();
19
- });
20
-
21
- afterAll(() => {
22
- server.close();
23
- });
24
-
25
- describe('getTokenSupplies', () => {
26
- it('should fetch token supplies successfully with default parameters', async () => {
27
- const result = await laosApi.getTokenSupplies({
28
- chainId: '11155111',
29
- contractAddress: '0x1234567890123456789012345678901234567890',
30
- });
31
-
32
- expect(result).toMatchInlineSnapshot(`
33
- {
34
- "contractType": "LAOS-ERC-721",
35
- "page": {
36
- "more": false,
37
- "pageSize": 50,
38
- "sort": [
39
- {
40
- "column": "CREATED_AT",
41
- "order": "DESC",
42
- },
43
- ],
44
- },
45
- "tokenIDs": [
46
- {
47
- "chainId": 11155111,
48
- "contractInfo": {
49
- "address": "0x1234567890123456789012345678901234567890",
50
- "bytecodeHash": "0xhash123",
51
- "chainId": 11155111,
52
- "decimals": 0,
53
- "deployed": true,
54
- "extensions": {
55
- "categories": [],
56
- "description": "Test LAOS collection for testing",
57
- "link": "https://example.com",
58
- "ogImage": "https://example.com/og.png",
59
- "ogName": "LAOS Test",
60
- "originAddress": "0x1234567890123456789012345678901234567890",
61
- "originChainId": 11155111,
62
- },
63
- "logoURI": "https://example.com/logo.png",
64
- "name": "Test LAOS Collection",
65
- "source": "laos",
66
- "status": "AVAILABLE",
67
- "symbol": "TLC",
68
- "type": "LAOS-ERC-721",
69
- "updatedAt": "2023-01-01T00:00:00.000Z",
70
- },
71
- "supply": "1000",
72
- "tokenID": "1",
73
- "tokenMetadata": {
74
- "attributes": [
75
- {
76
- "trait_type": "Rarity",
77
- "value": "Common",
78
- },
79
- ],
80
- "contractAddress": "0x1234567890123456789012345678901234567890",
81
- "decimals": 0,
82
- "description": "A test token for LAOS testing",
83
- "image": "https://example.com/token1.png",
84
- "name": "Test Token 1",
85
- "properties": {},
86
- "source": "",
87
- "status": "NOT_AVAILABLE",
88
- "tokenId": "1",
89
- },
90
- },
91
- {
92
- "chainId": 11155111,
93
- "contractInfo": {
94
- "address": "0x1234567890123456789012345678901234567890",
95
- "bytecodeHash": "0xhash123",
96
- "chainId": 11155111,
97
- "decimals": 0,
98
- "deployed": true,
99
- "extensions": {
100
- "blacklist": false,
101
- "categories": [],
102
- "description": "Test LAOS collection for testing",
103
- "featureIndex": 0,
104
- "featured": false,
105
- "link": "https://example.com",
106
- "ogImage": "https://example.com/og.png",
107
- "ogName": "LAOS Test",
108
- "originAddress": "0x1234567890123456789012345678901234567890",
109
- "originChainId": 11155111,
110
- "verified": true,
111
- "verifiedBy": "system",
112
- },
113
- "logoURI": "https://example.com/logo.png",
114
- "name": "Test LAOS Collection",
115
- "source": "laos",
116
- "status": "AVAILABLE",
117
- "symbol": "TLC",
118
- "type": "LAOS-ERC-721",
119
- "updatedAt": "2023-01-01T00:00:00.000Z",
120
- },
121
- "supply": "500",
122
- "tokenID": "2",
123
- "tokenMetadata": {
124
- "attributes": [
125
- {
126
- "trait_type": "Rarity",
127
- "value": "Rare",
128
- },
129
- ],
130
- "contractAddress": "0x1234567890123456789012345678901234567890",
131
- "decimals": 0,
132
- "description": "Another test token for LAOS testing",
133
- "image": "https://example.com/token2.png",
134
- "name": "Test Token 2",
135
- "properties": {},
136
- "source": "",
137
- "status": "NOT_AVAILABLE",
138
- "tokenId": "2",
139
- },
140
- },
141
- ],
142
- }
143
- `);
144
- expect(result.tokenIDs).toHaveLength(2);
145
- expect(result.tokenIDs[0].contractInfo?.address).toBe(
146
- '0x1234567890123456789012345678901234567890',
147
- );
148
- expect(result.tokenIDs[0].supply).toBe('1000');
149
- });
150
-
151
- it('should fetch token supplies with custom includeMetadata=false', async () => {
152
- const result = await laosApi.getTokenSupplies({
153
- chainId: '11155111',
154
- contractAddress: '0x1234567890123456789012345678901234567890',
155
- includeMetadata: false,
156
- });
157
-
158
- expect(result).toMatchInlineSnapshot(`
159
- {
160
- "contractType": "LAOS-ERC-721",
161
- "page": {
162
- "more": false,
163
- "pageSize": 50,
164
- "sort": [
165
- {
166
- "column": "CREATED_AT",
167
- "order": "DESC",
168
- },
169
- ],
170
- },
171
- "tokenIDs": [
172
- {
173
- "chainId": 11155111,
174
- "contractInfo": {
175
- "address": "0x1234567890123456789012345678901234567890",
176
- "bytecodeHash": "0xhash123",
177
- "chainId": 11155111,
178
- "decimals": 0,
179
- "deployed": true,
180
- "extensions": {
181
- "categories": [],
182
- "description": "Test LAOS collection for testing",
183
- "link": "https://example.com",
184
- "ogImage": "https://example.com/og.png",
185
- "ogName": "LAOS Test",
186
- "originAddress": "0x1234567890123456789012345678901234567890",
187
- "originChainId": 11155111,
188
- },
189
- "logoURI": "https://example.com/logo.png",
190
- "name": "Test LAOS Collection",
191
- "source": "laos",
192
- "status": "AVAILABLE",
193
- "symbol": "TLC",
194
- "type": "LAOS-ERC-721",
195
- "updatedAt": "2023-01-01T00:00:00.000Z",
196
- },
197
- "supply": "1000",
198
- "tokenID": "1",
199
- "tokenMetadata": {
200
- "attributes": [
201
- {
202
- "trait_type": "Rarity",
203
- "value": "Common",
204
- },
205
- ],
206
- "contractAddress": "0x1234567890123456789012345678901234567890",
207
- "decimals": 0,
208
- "description": "A test token for LAOS testing",
209
- "image": "https://example.com/token1.png",
210
- "name": "Test Token 1",
211
- "properties": {},
212
- "source": "",
213
- "status": "NOT_AVAILABLE",
214
- "tokenId": "1",
215
- },
216
- },
217
- {
218
- "chainId": 11155111,
219
- "contractInfo": {
220
- "address": "0x1234567890123456789012345678901234567890",
221
- "bytecodeHash": "0xhash123",
222
- "chainId": 11155111,
223
- "decimals": 0,
224
- "deployed": true,
225
- "extensions": {
226
- "blacklist": false,
227
- "categories": [],
228
- "description": "Test LAOS collection for testing",
229
- "featureIndex": 0,
230
- "featured": false,
231
- "link": "https://example.com",
232
- "ogImage": "https://example.com/og.png",
233
- "ogName": "LAOS Test",
234
- "originAddress": "0x1234567890123456789012345678901234567890",
235
- "originChainId": 11155111,
236
- "verified": true,
237
- "verifiedBy": "system",
238
- },
239
- "logoURI": "https://example.com/logo.png",
240
- "name": "Test LAOS Collection",
241
- "source": "laos",
242
- "status": "AVAILABLE",
243
- "symbol": "TLC",
244
- "type": "LAOS-ERC-721",
245
- "updatedAt": "2023-01-01T00:00:00.000Z",
246
- },
247
- "supply": "500",
248
- "tokenID": "2",
249
- "tokenMetadata": {
250
- "attributes": [
251
- {
252
- "trait_type": "Rarity",
253
- "value": "Rare",
254
- },
255
- ],
256
- "contractAddress": "0x1234567890123456789012345678901234567890",
257
- "decimals": 0,
258
- "description": "Another test token for LAOS testing",
259
- "image": "https://example.com/token2.png",
260
- "name": "Test Token 2",
261
- "properties": {},
262
- "source": "",
263
- "status": "NOT_AVAILABLE",
264
- "tokenId": "2",
265
- },
266
- },
267
- ],
268
- }
269
- `);
270
- });
271
-
272
- it('should fetch token supplies with custom pagination sort order', async () => {
273
- const result = await laosApi.getTokenSupplies({
274
- chainId: '11155111',
275
- contractAddress: '0x1234567890123456789012345678901234567890',
276
- page: {
277
- sort: [
278
- {
279
- column: 'CREATED_AT',
280
- order: 'ASC',
281
- },
282
- ],
283
- },
284
- });
285
-
286
- expect(result.page.sort?.[0]?.order).toBe('ASC');
287
- // Verify tokens are in reverse order (ASC vs DESC)
288
- expect(result.tokenIDs[0].tokenID).toBe('2');
289
- expect(result.tokenIDs[1].tokenID).toBe('1');
290
- });
291
-
292
- it('should handle empty token supplies response', async () => {
293
- const result = await laosApi.getTokenSupplies({
294
- chainId: '11155111',
295
- contractAddress: '0x0000000000000000000000000000000000000003', // Special address for empty response
296
- });
297
-
298
- expect(result.tokenIDs).toHaveLength(0);
299
- expect(result.page).toBeDefined();
300
- });
301
-
302
- it('should throw error on 404 response', async () => {
303
- await expect(
304
- laosApi.getTokenSupplies({
305
- chainId: '11155111',
306
- contractAddress: '0x0000000000000000000000000000000000000000', // Special address for 404
307
- }),
308
- ).rejects.toThrow('Failed to get token supplies: Not Found');
309
- });
310
-
311
- it('should throw error on 500 response', async () => {
312
- await expect(
313
- laosApi.getTokenSupplies({
314
- chainId: '11155111',
315
- contractAddress: '0x0000000000000000000000000000000000000001', // Special address for 500
316
- }),
317
- ).rejects.toThrow('Failed to get token supplies: Internal Server Error');
318
- });
319
-
320
- it('should throw error on 400 response', async () => {
321
- await expect(
322
- laosApi.getTokenSupplies({
323
- chainId: '11155111',
324
- contractAddress: '0x0000000000000000000000000000000000000002', // Special address for 400
325
- }),
326
- ).rejects.toThrow('Failed to get token supplies: Bad Request');
327
- });
328
-
329
- it('should include correct request body parameters', async () => {
330
- // This test implicitly validates that the mock receives the correct body
331
- // by checking that custom parameters affect the response
332
- const result = await laosApi.getTokenSupplies({
333
- chainId: '11155111',
334
- contractAddress: '0x1234567890123456789012345678901234567890',
335
- includeMetadata: false,
336
- page: {
337
- sort: [
338
- {
339
- column: 'TOKEN_ID',
340
- order: 'ASC',
341
- },
342
- ],
343
- },
344
- });
345
-
346
- expect(result).toBeDefined();
347
- });
348
- });
349
-
350
- describe('getTokenBalances', () => {
351
- it('should fetch token balances successfully with default parameters', async () => {
352
- const result = await laosApi.getTokenBalances({
353
- chainId: '11155111',
354
- accountAddress: '0xuser1234567890123456789012345678901234567890',
355
- contractAddress: '0x1234567890123456789012345678901234567890',
356
- });
357
-
358
- expect(result).toMatchInlineSnapshot(`
359
- {
360
- "balances": [
361
- {
362
- "accountAddress": "0xuser1234567890123456789012345678901234567890",
363
- "balance": "5",
364
- "blockHash": "0xblock123",
365
- "blockNumber": 12345,
366
- "chainId": 11155111,
367
- "contractAddress": "0x1234567890123456789012345678901234567890",
368
- "contractInfo": {
369
- "address": "0x1234567890123456789012345678901234567890",
370
- "bytecodeHash": "0xhash123",
371
- "chainId": 11155111,
372
- "decimals": 0,
373
- "deployed": true,
374
- "extensions": {
375
- "blacklist": false,
376
- "categories": [],
377
- "description": "Test LAOS collection for testing",
378
- "featureIndex": 0,
379
- "featured": false,
380
- "link": "https://example.com",
381
- "ogImage": "https://example.com/og.png",
382
- "ogName": "LAOS Test",
383
- "originAddress": "0x1234567890123456789012345678901234567890",
384
- "originChainId": 11155111,
385
- "verified": true,
386
- "verifiedBy": "system",
387
- },
388
- "logoURI": "https://example.com/logo.png",
389
- "name": "Test LAOS Collection",
390
- "source": "laos",
391
- "status": "AVAILABLE",
392
- "symbol": "TLC",
393
- "type": "LAOS-ERC-721",
394
- "updatedAt": "2023-01-01T00:00:00.000Z",
395
- },
396
- "contractType": "LAOS-ERC-721",
397
- "isSummary": false,
398
- "tokenID": "1",
399
- "tokenMetadata": {
400
- "attributes": [
401
- {
402
- "trait_type": "Rarity",
403
- "value": "Common",
404
- },
405
- ],
406
- "contractAddress": "0x1234567890123456789012345678901234567890",
407
- "decimals": 0,
408
- "description": "A test token for LAOS testing",
409
- "image": "https://example.com/token1.png",
410
- "name": "Test Token 1",
411
- "properties": {},
412
- "source": "onchain",
413
- "status": "verified",
414
- "tokenId": "1",
415
- },
416
- "uniqueCollectibles": "1",
417
- },
418
- {
419
- "accountAddress": "0xuser1234567890123456789012345678901234567890",
420
- "balance": "2",
421
- "blockHash": "0xblock124",
422
- "blockNumber": 12346,
423
- "chainId": 11155111,
424
- "contractAddress": "0x1234567890123456789012345678901234567890",
425
- "contractInfo": {
426
- "address": "0x1234567890123456789012345678901234567890",
427
- "bytecodeHash": "0xhash123",
428
- "chainId": 11155111,
429
- "decimals": 0,
430
- "deployed": true,
431
- "extensions": {
432
- "blacklist": false,
433
- "categories": [],
434
- "description": "Test LAOS collection for testing",
435
- "featureIndex": 0,
436
- "featured": false,
437
- "link": "https://example.com",
438
- "ogImage": "https://example.com/og.png",
439
- "ogName": "LAOS Test",
440
- "originAddress": "0x1234567890123456789012345678901234567890",
441
- "originChainId": 11155111,
442
- "verified": true,
443
- "verifiedBy": "system",
444
- },
445
- "logoURI": "https://example.com/logo.png",
446
- "name": "Test LAOS Collection",
447
- "source": "laos",
448
- "status": "AVAILABLE",
449
- "symbol": "TLC",
450
- "type": "LAOS-ERC-721",
451
- "updatedAt": "2023-01-01T00:00:00.000Z",
452
- },
453
- "contractType": "LAOS-ERC-721",
454
- "isSummary": false,
455
- "tokenID": "2",
456
- "tokenMetadata": {
457
- "attributes": [
458
- {
459
- "trait_type": "Rarity",
460
- "value": "Rare",
461
- },
462
- ],
463
- "contractAddress": "0x1234567890123456789012345678901234567890",
464
- "decimals": 0,
465
- "description": "Another test token for LAOS testing",
466
- "image": "https://example.com/token2.png",
467
- "name": "Test Token 2",
468
- "properties": {},
469
- "source": "",
470
- "status": "NOT_AVAILABLE",
471
- "tokenId": "2",
472
- },
473
- "uniqueCollectibles": "1",
474
- },
475
- ],
476
- "page": {
477
- "more": false,
478
- "pageSize": 50,
479
- "sort": [
480
- {
481
- "column": "CREATED_AT",
482
- "order": "DESC",
483
- },
484
- ],
485
- },
486
- }
487
- `);
488
- expect(result.balances).toHaveLength(2);
489
- expect(result.balances[0].accountAddress).toBe(
490
- '0xuser1234567890123456789012345678901234567890',
491
- );
492
- expect(result.balances[0].balance).toBe('5');
493
- });
494
-
495
- it('should fetch token balances with custom includeMetadata=false', async () => {
496
- const result = await laosApi.getTokenBalances({
497
- chainId: '11155111',
498
- accountAddress: '0xuser1234567890123456789012345678901234567890',
499
- contractAddress: '0x1234567890123456789012345678901234567890',
500
- includeMetadata: false,
501
- });
502
-
503
- expect(result).toMatchInlineSnapshot(`
504
- {
505
- "balances": [
506
- {
507
- "accountAddress": "0xuser1234567890123456789012345678901234567890",
508
- "balance": "5",
509
- "blockHash": "0xblock123",
510
- "blockNumber": 12345,
511
- "chainId": 11155111,
512
- "contractAddress": "0x1234567890123456789012345678901234567890",
513
- "contractInfo": {
514
- "address": "0x1234567890123456789012345678901234567890",
515
- "bytecodeHash": "0xhash123",
516
- "chainId": 11155111,
517
- "decimals": 0,
518
- "deployed": true,
519
- "extensions": {
520
- "blacklist": false,
521
- "categories": [],
522
- "description": "Test LAOS collection for testing",
523
- "featureIndex": 0,
524
- "featured": false,
525
- "link": "https://example.com",
526
- "ogImage": "https://example.com/og.png",
527
- "ogName": "LAOS Test",
528
- "originAddress": "0x1234567890123456789012345678901234567890",
529
- "originChainId": 11155111,
530
- "verified": true,
531
- "verifiedBy": "system",
532
- },
533
- "logoURI": "https://example.com/logo.png",
534
- "name": "Test LAOS Collection",
535
- "source": "laos",
536
- "status": "AVAILABLE",
537
- "symbol": "TLC",
538
- "type": "LAOS-ERC-721",
539
- "updatedAt": "2023-01-01T00:00:00.000Z",
540
- },
541
- "contractType": "LAOS-ERC-721",
542
- "isSummary": false,
543
- "tokenID": "1",
544
- "tokenMetadata": {
545
- "attributes": [
546
- {
547
- "trait_type": "Rarity",
548
- "value": "Common",
549
- },
550
- ],
551
- "contractAddress": "0x1234567890123456789012345678901234567890",
552
- "decimals": 0,
553
- "description": "A test token for LAOS testing",
554
- "image": "https://example.com/token1.png",
555
- "name": "Test Token 1",
556
- "properties": {},
557
- "source": "onchain",
558
- "status": "verified",
559
- "tokenId": "1",
560
- },
561
- "uniqueCollectibles": "1",
562
- },
563
- {
564
- "accountAddress": "0xuser1234567890123456789012345678901234567890",
565
- "balance": "2",
566
- "blockHash": "0xblock124",
567
- "blockNumber": 12346,
568
- "chainId": 11155111,
569
- "contractAddress": "0x1234567890123456789012345678901234567890",
570
- "contractInfo": {
571
- "address": "0x1234567890123456789012345678901234567890",
572
- "bytecodeHash": "0xhash123",
573
- "chainId": 11155111,
574
- "decimals": 0,
575
- "deployed": true,
576
- "extensions": {
577
- "blacklist": false,
578
- "categories": [],
579
- "description": "Test LAOS collection for testing",
580
- "featureIndex": 0,
581
- "featured": false,
582
- "link": "https://example.com",
583
- "ogImage": "https://example.com/og.png",
584
- "ogName": "LAOS Test",
585
- "originAddress": "0x1234567890123456789012345678901234567890",
586
- "originChainId": 11155111,
587
- "verified": true,
588
- "verifiedBy": "system",
589
- },
590
- "logoURI": "https://example.com/logo.png",
591
- "name": "Test LAOS Collection",
592
- "source": "laos",
593
- "status": "AVAILABLE",
594
- "symbol": "TLC",
595
- "type": "LAOS-ERC-721",
596
- "updatedAt": "2023-01-01T00:00:00.000Z",
597
- },
598
- "contractType": "LAOS-ERC-721",
599
- "isSummary": false,
600
- "tokenID": "2",
601
- "tokenMetadata": {
602
- "attributes": [
603
- {
604
- "trait_type": "Rarity",
605
- "value": "Rare",
606
- },
607
- ],
608
- "contractAddress": "0x1234567890123456789012345678901234567890",
609
- "decimals": 0,
610
- "description": "Another test token for LAOS testing",
611
- "image": "https://example.com/token2.png",
612
- "name": "Test Token 2",
613
- "properties": {},
614
- "source": "",
615
- "status": "NOT_AVAILABLE",
616
- "tokenId": "2",
617
- },
618
- "uniqueCollectibles": "1",
619
- },
620
- ],
621
- "page": {
622
- "more": false,
623
- "pageSize": 50,
624
- "sort": [
625
- {
626
- "column": "CREATED_AT",
627
- "order": "DESC",
628
- },
629
- ],
630
- },
631
- }
632
- `);
633
- });
634
-
635
- it('should fetch token balances with custom pagination sort order', async () => {
636
- const result = await laosApi.getTokenBalances({
637
- chainId: '11155111',
638
- accountAddress: '0xuser1234567890123456789012345678901234567890',
639
- contractAddress: '0x1234567890123456789012345678901234567890',
640
- page: {
641
- sort: [
642
- {
643
- column: 'CREATED_AT',
644
- order: 'ASC',
645
- },
646
- ],
647
- },
648
- });
649
-
650
- expect(result.page.sort?.[0]?.order).toBe('ASC');
651
- // Verify balances are in reverse order (ASC vs DESC)
652
- expect(result.balances[0].tokenID).toBe('2');
653
- expect(result.balances[1].tokenID).toBe('1');
654
- });
655
-
656
- it('should handle empty token balances response', async () => {
657
- const result = await laosApi.getTokenBalances({
658
- chainId: '11155111',
659
- accountAddress: '0x0000000000000000000000000000000000000003', // Special address for empty response
660
- contractAddress: '0x1234567890123456789012345678901234567890',
661
- });
662
-
663
- expect(result.balances).toHaveLength(0);
664
- expect(result.page).toBeDefined();
665
- });
666
-
667
- it('should throw error on 404 response', async () => {
668
- await expect(
669
- laosApi.getTokenBalances({
670
- chainId: '11155111',
671
- accountAddress: '0x0000000000000000000000000000000000000000', // Special address for 404
672
- contractAddress: '0x1234567890123456789012345678901234567890',
673
- }),
674
- ).rejects.toThrow('Failed to get token balances: Not Found');
675
- });
676
-
677
- it('should throw error on 500 response', async () => {
678
- await expect(
679
- laosApi.getTokenBalances({
680
- chainId: '11155111',
681
- accountAddress: '0x0000000000000000000000000000000000000001', // Special address for 500
682
- contractAddress: '0x1234567890123456789012345678901234567890',
683
- }),
684
- ).rejects.toThrow('Failed to get token balances: Internal Server Error');
685
- });
686
-
687
- it('should throw error on 400 response', async () => {
688
- await expect(
689
- laosApi.getTokenBalances({
690
- chainId: '11155111',
691
- accountAddress: '0x0000000000000000000000000000000000000002', // Special address for 400
692
- contractAddress: '0x1234567890123456789012345678901234567890',
693
- }),
694
- ).rejects.toThrow('Failed to get token balances: Bad Request');
695
- });
696
-
697
- it('should include correct request body parameters', async () => {
698
- // This test implicitly validates that the mock receives the correct body
699
- // by checking that custom parameters affect the response
700
- const result = await laosApi.getTokenBalances({
701
- chainId: '11155111',
702
- accountAddress: '0xuser1234567890123456789012345678901234567890',
703
- contractAddress: '0x1234567890123456789012345678901234567890',
704
- includeMetadata: false,
705
- page: {
706
- sort: [
707
- {
708
- column: 'TOKEN_ID',
709
- order: 'ASC',
710
- },
711
- ],
712
- },
713
- });
714
-
715
- expect(result).toBeDefined();
716
- });
717
- });
718
-
719
- describe('API integration', () => {
720
- it('should handle network timeout scenarios', async () => {
721
- // Note: This would require additional MSW configuration for timeout simulation
722
- // For now, we test that the API structure supports error handling
723
- const api = new LaosAPI('https://timeout.example.com');
724
-
725
- // This will fail due to the URL not being mocked, testing error handling
726
- await expect(
727
- api.getTokenSupplies({
728
- chainId: '11155111',
729
- contractAddress: '0x1234567890123456789012345678901234567890',
730
- }),
731
- ).rejects.toThrow();
732
- });
733
-
734
- it('should maintain consistent response structure across methods', async () => {
735
- const suppliesResult = await laosApi.getTokenSupplies({
736
- chainId: '11155111',
737
- contractAddress: '0x1234567890123456789012345678901234567890',
738
- });
739
-
740
- const balancesResult = await laosApi.getTokenBalances({
741
- chainId: '11155111',
742
- accountAddress: '0xuser1234567890123456789012345678901234567890',
743
- contractAddress: '0x1234567890123456789012345678901234567890',
744
- });
745
-
746
- // Both should have consistent page structure
747
- expect(suppliesResult.page).toHaveProperty('pageSize');
748
- expect(suppliesResult.page).toHaveProperty('more');
749
- expect(suppliesResult.page).toHaveProperty('sort');
750
-
751
- expect(balancesResult.page).toHaveProperty('pageSize');
752
- expect(balancesResult.page).toHaveProperty('more');
753
- expect(balancesResult.page).toHaveProperty('sort');
754
- });
755
- });
756
- });